Author Image

Michael Chen 的技術文件

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

Cover image

Both Ubuntu and Linux Mint are popular desktop Linux distros. They are famous for their simplicity and serviceability. Debian is their common ancestor. Besides, according to DistroWatch.com, there are more than 100 Debian derivated Linux distributions, serving various purposes. Debian is notable for its stability and reliability, suitable for a server or workstation. However, is Debian itself appropiate for desktop use? Hardware Compatibility The hardware compatibility of Linux has improved 繼續閱讀

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

Sinatra provides different perspective and workflow to Web development with a tiny and elegent domain specific language for HTTP(s) actions. Although no strict MVC pattern enforced, Sinatra supports many template languages for its dynamic views. Among these template languages, Haml and Slim are popular choices because their succinct Ruby-like syntaxes. However, I prefer ERB over other newer template languages like Haml or Slim because the syntax of ERB follows original 繼續閱讀

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

Recently, I saw a interesting post on StackOverflow, which compares the difference among sed, AWK, Perl, Python. I decided to learn the “old tricks”. Then, I tried some simple tasks in AWK, Perl, Ruby, and Python. Why Ruby among these? Although Ruby is not a standard tool in a tranditional Unix toolbox, Ruby becomes more popular among these years and Ruby is sometimes viewed as the unadvertised successor of Perl 繼續閱讀

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 繼續閱讀