Web log changed

This should have been done for quite a while now, but I was not confident about my new page so I didn’t write anything.  I have successfully built up a new web log: reference-error.org, which will officially be my homepage from now on (I was a homepage-less man, living with the kindness of WordPress, remember? ;-) ).  The web log is built on top of Github Page, with Jekyll and Jekyll Bootstrap and all my structure and data are open as a Github repository.  I’ve made quite significant changes compared to the original Jekyll Bootstrap, including:

  • Add page template: with and without Disqus comment system.
  • Add the ability to number pages (see the global menu on my home page).
  • Fix some badly written HTML.
  • Add RSS Feed for both pages and posts.
  • Add “latest updated” to template.
  • Clean up some code in Rake file.
  • (And some minor things I can’t recall at the moment)

For all my fellows who knew me via WordPress, please follow my new home if you’re still interested :-).  Thank you for your support!  If you want to setup a Jekyll blog and need some help, feel free to contact me!

P.S. Should I move all my posts here to my new site?

Note – 2

After a while “hibernating”, today I’ve committed a bunch of code to BoGoEngine project.  Most of the new code was Long‘s work.  Though it’s a relatively big mess and unconventional, it contributes a lot to the most important function of the project: processKey.  My deepest thanks to you, buddy.

My next goals for BoGoEngine project:

  • Complete the current documentation.
  • Complete processKey.
  • Add functions for charset converting.

My next goals for other stuff:

Been suffering from broken packages in Gentoo for half a day and having just resolved it, I become to question the great virtue of Gentoo one more time.  Oh well, that’s a good trade-off after all.

Note – 1

Some random thoughts today:

  • As long as you could write (well, who doesn’t) write as much as you can.  There are so many valuable things you’re gonna get if you’re a frequent writer.
  • In Wiki, I think clean links are prefered to easy-to-type links.  Hence, CaSE-SenSItiVe is better than case-insensitive, and redirect is always a good solution otherwise (although sometimes the effort is high).

Note – 0

Three sick days plus RSI really slowed my work down.  Here are some of the things I have been thinking of:

  • Having a place to do brain-dump every moment I have something in my head, as easy and painless as possible.  My static web log requires me to have the Git repo, commit, and push every time I want to post, not a thing I want to do with my Android.  I always thought WordPress is for careful and lengthy posts; but who made me anyway?  Besides, Android has a very nice WordPress client.  So let’s go WordPress.
  • Continuing to develop PyTyle 1 (the version I have branched from the Andrew “BurntSushi” Gallant’s original one).  Xlib is horrible and badly documented, but well, I gotta cross my line and improve it after all.  Later, XCB!
  • Installing one more distro (to be exact, one Unix-like system) onto my hard drive, here are things about which I care:
    • Relatively stable.  This option is, well, … relative.  By that I mean more stable than the latest Fedora, and not easily broken after updating/upgrading,
    • Not resource-hungry and power-hungry,
    • Relatively up-to-dated.  God!  For this one I have to leave out Debian.
    • Well documented, as Arch Linux, Gentoo, Debian, and FreeBSD.
    • Having high quality and helpful community, like Arch Linux, Gentoo, and FreeBSD, …
    • Doesn’t think it’s smarter than a user, only do things it’s told to do.
    • Configuration process is not dreadful (as with Gentoo’s), ’cause this is my secondary one and I don’t want to spend too much effort configuring it right from the start.
    • Having really committed people.
    • Not likely to die :-D.
  • Following that is some of the choices: FreeBSD, Ubuntu 12.04 LTS, Mint LMDE, Zenwalk, Slackware, VectorLinux, and Calculate Linux.
  • Learning in-depth how a window manager works, with some source code for referencing: Subtle, wmii, pytyle, dwm, stiler, pywo.
  • Making my Emacs configuration transferable.  This one I have been postponing for a very long time.
  • Trying out BigBlueButton and compare with OpenMeetings.

Hah, this post got longer than I thought.

Yet another quick note

Finally have some time to write at the end of the day, or rather, the beginning of a new day.  Today was one of my most horrible days since the beginning of the year.  I’ve had very painful experience with yum, CentOS, and its GUI, not to mention the goddamn RSI!  Let me quickly sum up how CentOS became one of my hatred operating systems in a couple of hours.

My goals

I need to setup a high-availability system in active/active model using CentOS 5 (latest) for a web server (Apache2), a VoIP server (Asterisk), a database server, and a distributed storage system (DRBD) with 2 nodes.  And oh, the company which I’m supporting has a horrible Internet connection.

What happened?

I’ll explain in details what had happened in the next post.  Here are the summarizations:

  • yum download package database every time I want to do something with it.  What the heck?  When I tell you to install, just download the necessary package file and install; when I tell you to reinstall, just remove the package(s), take the RPM(s) and install them again.  I don’t need you to do something I don’t tell you to do.  The hell with you, don’t assume I’m stupid!  You folks’ll know what I felt when you come back to the old time of Linux and Internet, when we were trying to download hundreds of tarballs with a 56kbit modem.
  • Besides, I ran a x86_64 system and when I installed a package, it automatically installed both x86 and x86_64 packages!  Try it yourself with pacemaker, corosync, and drbd.
  • CentOS GUI tools break the configuration files.  Personally I hardly ever used any GUI tool to config something.  Raw config files are sometimes tiring but really honest.  Tools (especially GUI things) are just a bunch of liars.  I took me 3 hours to figure out CentOS GUI tools used by my partner broke the Apache configuration and network settings at one node, making Corosync and Pacemaker failed to manage the services.
  • Booting lasted forever when sendmail is supposed to be started at boot, and there is no network connection.  Perhaps my partner has changed some sendmail settings but I’m pretty sure it’s not related to the timeout.


Farewell CentOS!  As an IT consultant, I’m sure you have lost a lot of potentially good users and supporters.

Some quick notes about text editor

For quite some time I have been using Emacs.  From a user point of view, I do like Emacs a lot, but I’ve never completely love it.  Don’t misunderstand me about all the Lispy stuff.  Thought I do not write Common Lisp or Scheme a lot, I’m a hardcore Lisper who deeply fell in love with Clojure and had a crush on newLISP, Racket, and Shen.  What I hate about Emacs is mostly the same as what I hate about Common Lisp in general, plus some other stuff:

  • Emacs Lisp is a horrible Lisp dialect.  I can write Emacs Lisp in an acceptable style, but reading many other people’s code is a nightmare.
  • Not all Emacs Lisp functions and features are properly documented!
  • CEDET is a pride and a shame of Emacs at the same time.  Take some time to write documentation!  Take some time to stabilize your code, folks!
  • Emacs interface sucks in many ways!  And I believe that’s not gonna change any soon.
  • Growing with time, digging Emacs source code is impossible for me (again, without good documentation for developers) with little hacking time I have.

Looking at all available good free-of-charge editors these days:

  • With my needs, Vim is not as powerful/suitable as Emacs.  VimScript is terrible.
  • Sublime Text is a really nice one, but its extensibility is limited for it’s not FOSS.
  • Gedit, Geany, Kate, Nano, Acme, Ed, …  Ha ha.  But no thanks.

None of those decent guys fully suits me; hence, I’m thinking of writing a new one.  Some notes have been written.  Clojure has been chosen as the language after some comparisons with Ruby about almost all the features which make up a programmer’s editor.  At the same time, I will take time to design the editor, dig Emacs source code, put a customize (my own) Lisp dialect on of Emacs Lisp, and document all of them.

Quick notes today 2012/02/05

Some quick thoughts after hearing the news today:

  • The Vietnam government had increased the “túi ni-lon” (a type of reusable, unrecyclable and unbiodegradable plastic bag) tax to 100% to reduce the use of them but there is no good result at the moment, since they don’t propose any good alternative (in quality, convenience, and cost) to “túi ni-lon”.
  • News about the US aircraft carrier Abraham Lincoln’s heading through the Strait of Hormuz. Taking the a great peacemaker to name a war machine is morally unacceptable. And no, there is no excuse for that, there is no peace in war.

Closures in newLISP

From rickboy’s reply[1]:

Continue reading →

John McCarthy has died

Source: ycombinator[1]

mtraven[2] wrote:

“Here lies a Lisper
Uninterned from this mortal package
Yet not gc’d
While we retain pointers to his memory”

Thank you all, prof. McCarthy. May you rest in peace. Your Lisp has changed my life forever!

[1] http://news.ycombinator.com/item?id=3151233
[2] http://news.ycombinator.com/user?id=mtraven

Hanoi Coding Dojo Session 7

I intended to blog about this session yesterday but I was too deep in writing a unit testing framework for newLISP[1] and forgot all about the time :-). Well, here is a quick note about our last Coding Dojo[2] session.

Continue reading →

Random Thoughts

After some recent events, I realized that my coding skills are not as good as I thought. Crappy environment, heavily rely on tools, do not understand the language which I familiar with the most, … I’m no better than V$ coders…

Hanoi Coding Dojo Session 4

My entry @ HanoiLUG Blog (http://blog.hanoilug.org/?p=124)

Continue reading →

At the end of a week

Gnome 3 release party, HAOI updates, my Japanese…

Continue reading →

I’m back!

It’s been a while since the last day I visited my blog. I always wanted to write again but kept being lazy. Yeah, I was lazy and I feared. I feared of writing…

Continue reading →

Not it is not (really) GNOME, it is Unity

Canonical is bloody hell good!

Continue reading →


Get every new post delivered to your Inbox.

Join 119 other followers