Author Image

Michael Chen 的技術文件

程式設計、開放原始碼軟體、技術雜談

Cover image

Coherent PDF Tools is a command line PDF tool for Windows, Mac and Unix. It is free for non-commercial use. I wanted to remove all bookmarks in the PDF file and re-edit them and Coherent PDF Tools can remove all bookmarks in single command. After some try, it simply worked. Here I introduce how to edit bookmarks with Coherent PDF Tools. This tutorial was tested on OS X 10.9. Coherent 繼續閱讀

Cover image

JavaScript is a popular web language initially implemented on Netscape Navigator and later adapted on virtually all browsers. Since a JavaScript engine is a part of a browser, we had to embed JavaScript file in a HTML page, to load the script from the browser, and to use function like prompt() or alert() to receive from and response to developers. Nevertheless, with Node.js, we can program in JavaScript like in 繼續閱讀

Cover image

If we want to convert comma- or space-seperated text files to Excel ones, we have to open Excel and do manual conversion. Is there automatic way to do batch conversion? Of course, you can do batch conversion without opening Excel with Data::Table::Excel. Data::Table::Excel is a Perl module to convert between Data::Table objects and Excel (xls/xlsx) files. Data::Table reads CSV, SQL database and Excel files and converts them to CSV, HTML 繼續閱讀

Cover image

For GUI mac software, AppCleaner is an easy way to safely and cleanly uninstall it on Mac. However, there is no easy method to uninstall PKG packages on Mac. I have written a small script to uninstall PKG packages on my homebin repo. You can easily download it with curl or wget. $ curl https://raw.githubusercontent.com/cwchen123/homebin/master/removepkg > removepkg $ chmod +x removepkg $ mkdir /usr/local/bin $ mv removepkg /usr/local/bin The script 繼續閱讀

Cover image

Although some system package managers on Linux or Unix provides Ruby gems as package, you still want to gem to install updated or specific gems sometimes. One popular way is using RVM, a command-line tool which allow you to manage multiple Ruby environment. Nevertheless, if you do not need multiple Ruby versions in one system, you may also choose to install Ruby gems to local directories like home directory. By 繼續閱讀

Cover image

Some people might prefer keyboard strokes over mouse clicks. Some people may miss convenient Emacs-style keybindings. Although we cannot do everything in Emacs, we can surf the Net in Emacs fashion with KeySnail. KeySnail is a Firefox extension for Emacs-stype keybindings. With KeySnail, you can scroll web pages down and up with Ctrl-v and Meta-v and edit text like using Emacs. There are some plugins for KeySnail to enhence its 繼續閱讀

Cover image

Pastebin.com is a website where you can store and share text or code for a certain period of time. Pastebin support syntax highlight for a variety of programming language. However, it is sometimes tedious to open the website and copy-paste your code. PastebinCL is a small command line utility help you to paste text to Pastebin directly from terminal. Before compiling PastebinCL, you have to sign up a Pastebin account 繼續閱讀

Cover image

If you need to develop Python 3 application in Pygame on Mac, you should have noticed that there is no official installer of Pygame for Python 3 on Mac. However, you can still install Pygame for Python 3, just via Pygame repository. If you do not want bother the details, you may use my modified Pygame formula for Homebrew to install Pygame. Remember to install HEAD version or Python 3 繼續閱讀

Cover image

Beneath the pretty user interface, OS X is also an Unix. However, OS X lacks a system package manager like APT for Debian and Ubuntu, YUM for Fedora and CentOS and ports for FreeBSD; this situations makes installing source-based software inconvenient. Thanks to Homebrew, OS X has its own package manager now. Since Homebrew build and installs software from source, we need a C/C++ compiler here. Get GCC compiler and 繼續閱讀