Category Archives: Technology

IBM, you have betrayed me three times

My IBM X40 notebook is having problems again, this time is the USB subsystem. No matter what USB devices I plug into the computer, they are not detected.

First was the harddisk, and then it was the battery, now it is USB. I’m fed up with all the problems I met with this notebook computer. If the quality of IBM notebooks has become so low, I wonder Lenovo won’t be any better.

Ripping FLAC on Mac OS X

I always want to listen to my music on my iAudio M3 portable player at the highest fidelity, so OGG Vorbis (.ogg) is already not enough to me. I’m slowing migrating my collection of music to FLAC. On Linux this task is trivial, because I just have to change the encoder setting in jack (the name of the text-based frontend that I use) from oggenc to flac. But ripping CDs on Mac OS X is new to me. After some searching and testing, I stick with MARS.

There are other encoders like xACT and jRpper, but they all require some setup like installing the backend encoders separately. MARS is straightforward and easy to use, and can encode to OGG or FLAC files. Most importantly, MARS can query FreeDB and tags your songs automatically. The drawback is MARS inherits the same encoding problem like any other ripping softwares that make use of FreeDB. If the names of your songs are all in English, you’ll be fine, but if you have to rip Chinese and Japanese CDs like me, then all you get is some strange characters, because there is no encoding information in FreeDB records, they can be in Big5, GB2312 or whatever encoding. Moreover, until CDDB protocol level 6, only ASCII and ISO-8859-1 are supported. So unless your client is compliant with level 6, you will always get rubbish. At the end, I have to copy the song names manually from iTunes to MARS. Yes, iTunes get it right.

QR code for blog entries

You may have noticed that besides each blog entry’s title there is now a QR code image. QR code is a new type of data representation which supersedes the prevalent 1-D barcode that we find in our everyday life, for example on food labels and some magazines. One of the major advantages of the QR code is that it can store much more information than the 1-D barcode. After given birth by a Japanese company more than 10 years ago, its usage is now very common in Japan. My QR code implementation is for hackish value only. Luckily I find that after a long time I can still code in PHP. It’s fun to see how it works by encoding the title, publishing time and most importantly the entry’s URL in one tiny image, and then see it being decoded by a decoder. If you find that the image is too small, you can right click on the image to view it in full size.