Author Image

Michael Chen 的技術文件

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

Cover image

Netbooks failed to thrive because people tried to put every heavyweight applications into a relatively lightweight client. With the flourish of Web-based applications, a web browser becomes a lightweight operating system. Chromebooks show us a possible model of a thin client. It’s workable out-of-box, virus and malware-free, zero-configured, always updated, and, mostly important, affordable. Initially, geting everything from the cloud seem impossible, but, after some evaluation, you may find this 繼續閱讀

Cover image

Structure and Interpretation of of Computer Program (SICP) is a classic textbook in computer science. It was formerly used in the introductory programming class of Massachusetts Institute of Technology (MIT) and other schools. Scheme, one of the main dialect of Lisp, was chosen as the language in this book. If you want to “enjoy” this classy book, just a few simple steps are needed. Install Scheme on OS X There 繼續閱讀

Cover image

When you built a blog from Jekyll, a beautiful, mobile-responsive theme passed as well. However, if you want to utilize a third party web front framework like Bootstrap, the built-in CSS file became potential sources of CSS conflict and delayed page loading. Starting a Jekyll blog from blank theme seems daunting, but, with the help of Bootstrap, the process becomes agreeable and enjoyable. Before starting our next awesome blog, let’s 繼續閱讀

Cover image

Test-driven developememnt (TDD) is a software development process. In this process, you write automated tests for expected functions; then, you write minimal code that satisfy these tests; finally, you refactor your code to meet your need (and still suffice your tests. Initially, developing in TDD way needs to write some extra code as tests; however, bugs can be reduced by fulfilling these tests during coding process. To simplifiy your testing 繼續閱讀

Cover image

JavaScript is the vital part of modern interactive web. However, JavaScript is not easy; it mixes the features of several languages. Some good, some bad. The syntax is Java-esque but the underlying concepts is totally different from Java. CoffeeScript is a mini-language that compiles into JavaScript. It brings an elegant Python or Ruby-like syntactic sugar for JavaScript and helps you to avoid some JavaScript pitfalls. Here is an example of 繼續閱讀

Cover image

Emacs has a built-in html-mode for HTML files. It is common that HTML files comes with other lauguages like CSS, JavaScript, PHP and so on. The built-in html-mode cannot handle these non-HTML parts well. For example, the indent of these parts in html-mode doesn’t work well. If you need an alternative major-mode for HTML, you can consider web-mode. web-mode.el is an Emacs major-mode for editing web templates; it supports many 繼續閱讀

Cover image

I bought a new Kindle. When I tried to read some PDF files on Kindle, I found that the font size was too small to read. If you need to read PDF files on some small size devices like 4-inch smartphones or 6-inch e-book readers, you can optimize these PDF files for these gadgets with k2pdfopt. k2pdfopt is a command-line utility to optimize PDF/DJVU files for mobile e-readers and smartphones. 繼續閱讀

Cover image

Unix is like carpenters' toolkits; you need to learn them before you really enjoy them. Self-help learning is rewarding and amusing, which also applies to the learning of Unix. Basically, there are three levels of sources to learn Unix: Books about Unix (or Linux). Online webpages, blogs, forums or other web resources System manuals. The list is roughly ordered by the degree of difficulty. We’ll explain these sources one by 繼續閱讀

Cover image

I was assigned by my professor to download some RNA sequences data to my own computer for backup purpose, because the original data server will clean these data. These data are dozens gigabytes in size, but the connection speed of the network in my house is not fast. Therefore, I chose lftp to speed up the downloading rate by parallel downloading. lftp is a sophisticated ftp/http client and a file 繼續閱讀

Cover image

Sometimes there are no available desktop or laptop running Unix or Linux, but we miss these utilities on Unix. Thanks the efforts of numerous communities and companies; the utilities of Unix are ported to Windows in different projects. We’ll introduce some of them. Cygwin Cygwin is a large collection of GNU and open source tools and a simulated POSIX layer on Windows. You may think Cygwin a self-contained mini Unix 繼續閱讀