More freedom in doing things


I heard lots of opinions from both Mac lovers and haters before I bought my macbook pro. It made me struggle for a while to leverage the pros and cons. But it finally turned out neither of them was completely right. I love my mbp very much, but the reason is not the good looking, but the flexibility interacting with unix programs and great ease using homebrew for almost all dependent packages. Besides, if I was not forced using Windows OS again in my internship, I would not notice how ugly and inconvenient it is.

The same process happened once again when I met latex. The final result was that I fell in love with it, and found out no one gave me a comprehensive description about it before.

LaTeX is more about higher-level accessing Tex for formating and typesetting. That is it. The focus for writing, the ease of math formulas, and even the licensing advantage over MS are all derivatives from others personal experiences. Actually, the basic intention gives it the most attractive feature. First of all, setting up a general framework, then maybe another subset of framework. The framework is at will, but everything fell into it must follow the specific rules. Then, beyond the framework, or within the framework, everything is also at will. One can freely design all specifications, and if needed, one can also overwrite the general rules set by the framework. On the one hand, the environment setting let author get rid of all trivial concerns. On the other hand, in every place, one can regain the control of everything. LaTeX is not only for writing, it is for programming.

Then, several days ago, I was trying to transfer my blog from Blogger to Jekyll. It is a static site generator that takes Markdown blog posts and onverts them into html files. The benefits are attractive: the website can be hosted by almost any server; the whole blog can easily be version controlled, since no php or MySQL needed, it requires less maintainance. During playing with it, I have the same kind of feeling again. I might easily mess everything up while on the other hand I have fully control of every element in the page.

Of course, there are some other things that I tried and failed to like. C++ might be an example… =P Anyway, my point is, regardless what other people say, you will never know what a thing really is unless you actually do it. There is one ultimate goal for a given project, and at least one suitable path to get there. Just do it. Then in retrospect, we will know if it is a better option, and will perform better the next time.