Use dbab under Ubuntu 14.04 Trusty

Documenting the steps I use to install/configure dbab under Ubuntu 14.04 Trusty. All in all, nothing unusual as before, as long as you don’t touch the new feature in the /etc/network/interfaces and ignore the /etc/network/interfaces.d directory. I only notice the new feature now (until Ubuntu 14.04), and was curious to give it a try. But it turns out to be a dead-end detour. Details at Setup static IP under Ubuntu 14.04 Trusty.

Now back to the steps I use…

Continue reading

The words reverse problem

I was looking for some interesting data structure problems to reveal if the candidate lacks the systematic thinking on the fundamental programming concepts, but I haven’t found one so far, because the tree related problems are over-exploited, and graph or dynamic programming are mostly too complicated to finish in a short time. My last post could be one, but I have never seen anyone else but me solving it via utilizing proper data structure.

While kept looking for such interesting problems, I came upon another one that is at least simple enough to be finished in a short time. Here is its formal definition.

Continue reading

Data Structures + Algorithms = Programs

Over the course of my programming life, I had come to the conclusion again and again that a good data structure is the key for a good program. So many times, I found that a sub-optimal or total-cumbersome program can be (dramatically) simplified by choosing the correct data structure.

Choosing the correct data structure is the most important part of the programming steps, because your algorithm will go along with your data structure. Yet, this has been overlooked by many people, which is especially true to those who turn to programming half way during their life, who lack the systematic training on the fundamental programming concepts.

What’s interesting is that, I found those people who believe that they are good programmers, and who are not afraid to show off their programming skills on the Internet, some of them still don’t understand the importance of designing a proper data structure in the first place.

Continue reading

Emacs Etc Fstab Mode

Today I decided to take advantage of the new /etc/fstab.d/ directory, so I re-factored my big /etc/fstab file into three separated files under /etc/fstab.d/:

  1. The must-have entries
  2. The needed entries that will be mounted when system boot up, and
  3. The optional entries that will NOT be mounted when system first boot up

However, when I try to edit those split-out files under /etc/fstab.d/, I noticed that the nice Emacs font-locking (keyword colouring) is gone. That’s uncomfortable, and it took me a while to figure out how to get it back.

Continue reading

Dual Boot Windows 8 UEFI with Ubuntu

This is about making it possible to dual boot Windows 8 UEFI with Ubuntu. There are lots of such blogs/posts on the Internet already, so why another one? The reason is mainly two folds:

  • Many of them aren’t clear whether their Windows 8 is booted with UEFI or not.
  • And most importantly, there are also lots of posts/questions that their systems are toasted, after trying.

I kind of like to know all the “dangers” before jumping into the water. So I “looked”, before I leaped. Now I’d like to share out what I’ve “looked” so far, so as to make the next person’s life a bit easier, if s/he wants to dual boot Windows 8 UEFI with Ubuntu as well.

My findings are posted at, or, if you don’t want to click on shortened urls.