Saturday, October 9, 2010

Facebook - The Wild Safari


Here is another round of funny names on Facebook. This time it's people who name themselves after Heavenly creatures in the great wilderness. There are enough of'em to populate a whole rain forest. Cute, don't you think?

Again, I don't guarantee that these names will still exist on Facebook by the time you visit.

The Axolotls - Wu, Zulfadhli
The Baboons - See, Wu
The Cheetahs - Hsieh, Keng, Leung, Woods (Tiger's sis?)
The Chiwawas - Kum, Lau, Sahattaya, Wawa, Yap
The Emus - Wong, Yip
The Hyenas - Kim, Lee, Oh, Pik, Tan
The Jackals - Chang, Kiat, Lin, Lim, Tang, Wu, etc ...
The Racoons - Kae, Peng, Pla, Wang, Yim
The Weasels - Kei, Wong
The Wombats - Chen, Yudi

Thursday, August 19, 2010

Thüringer Mett, or German sushi


Mettwurst is the German version of Salami. It's pork, chopped up, cured, smoked, or at least spiced. Unlike Salami, mettwurst is often very soft, sometimes so soft you can spread it with a knife, usually on a toast or a bun.

Then there is Thüringer Mett. It's special because it is essentially raw ground pork lightly seasoned with salt and pepper. It is eaten with bread, and some people like to add a little bit of onion, more for the taste than for the disinfection. We call it German Sushi, and one of our uncles calls it Feuerwehr Marmalade, or fireman's jam.

Quite obviously, if you don't want to get sick from eating Thüringer Mett, you'd have to make sure it's very fresh. Shops often have only a limited supply, and you are expected to consume all of it on the day of the sale. Those with iron stomach may be able to tolerate day-olds, but not much longer than that. If you happen to have some left over, they make excellent meatballs or meat sauce.

I greeted the infamous Mett with the same skepticism as sushi. Well, not that much. When the butcher assured us that it's okay to eat it the way it was, we got 1/2 lb and a few breakfast rolls with it. At first bite, I could taste the pepper. There wasn't so much texture because it is just that, raw pork. But it tasted better than wild salmon sashimi. So, all I can say is, don't be afraid.

Sometimes, at weddings, birthdays, or Sunday brunch, you'll see Thüringer Mett being served on a buffet. You can tell it's the Thüringer, because the Mett on the platter shapes like a pig, with decorations of the eyes and the nostrils, just like the picture. While I have not the pleasure of seeing one live (or dead ...) I still don't think it's a good idea to go near one of these things. Chances are, while it looks good, it's not all that fresh. Imagine you're the 101st guest to dip your spoon on this otherwise fine Mett. It's not the meat I am worried about, it's the Heavenly creatures that made this pig their home, during the first 100 visits.

Sunday, August 15, 2010

Solving Debian (Squeeze) netinst problems with the Lenovo U350


My prayers have been answered. After spending 18 months with the M912 as my main computer, I finally received a Lenovo U350. It's got a bigger keyboard and a bigger screen. I know 13" ain't much nowadays, but it made a helluva difference for me. Now I can do a lot of stuff that I wanted to do ... more effectively and with pleasure.

Since it only comes with an 1.6 GHz ULV (ultra low voltage) processor, I thought I could squeeze an extra bit of processing power out of it by replacing the stock OS, Windows 7, with Debian Linux. Besides, I wanted to run Linux on this thing, goddammit. As I mentioned before, new laptops these days don't come with a DVD-writer, so your installation choice is pretty much limited to netinst with a USB stick. I mentioned this part in an earlier post (here is the link to my blog entry again), and it went smoothly.

BUT, as lucky as I am, there are two problems with the U350 that have to do with the Ethernet and wireless drivers. You won't be able to connect to the net during installation, which pretty much defeats the purpose of netinst. If you have access to a big enough USB stick, you can try to boot the installation from the actual DVD images (you only need the first one, I have been told) in lieu of the netinst iso image. But, if you're like me, stuck with a 512 Mb stick, then you will have to be a little more creative. Places like Linux Laptop Wiki gave me some ideas, and they seemed to have solved the problem, but they didn't really explain in detail how. So ... here it is.

I am assuming that you are installing Debian through a LAN or a wireless network and you have direct access to the hub. As I said before, during the netinst install you will have no network access whatsoever. The most you could do is to install the base system. So ignore all that warning and error messages about you not connecting to the net and let it install the base system for you. Then install your favorite boot loader (e.g., GRUB) and restart. We will first deal with the LAN issue, then we deal with the wireless issue. After that, you will be free to do whatever you need to do. I am assuming that you are doing all these as root.

Getting your LAN to work

The problem with the U350 Ethernet card (Broadcom Netlink BCM57780) has been reported in Debian bug report 553024. There are two drivers, tg3 and broadcom, that have to be loaded in a specific order. The good news is, both drivers are installed on the base system. The bad news is, they are loaded in the wrong order. But another good news is, you can explicitly tell Debian which one to load first.

1. First blacklist the tg3 so that it does not get loaded during boot. Edit the file /etc/modprobe.d/blacklist.conf and add the following line at the end of the file and save:

blacklist tg3

2. Back to the prompt, and update initramfs with the following command:

update-initramfs -u

You will get some warnings about "Possible missing firmware" from your newly blacklisted driver. You don't have to sweat over it.

3. Load the broadcom and tg3 drivers, in this order, so that the Ethernet card gets picked up. You can do this by adding the following 3 lines in the file /etc/modprobe.d/tg3.conf:

install tg3
/sbin/modprobe boradcom
/sbin/modprobe --ignore-install tg3

4. Add the Ethernet interface (eth0) in the file /etc/network/interfaces. I am assuming that you are using DHCP:

allow hotplug eth0
iface eth0 inet dhcp

5. Hook up your U350 to the LAN (yes, you will need an Ethernet cable). Bring up eth0 with the following command:

ifup eth0

If the system appears to have problem picking up the interface (it did happen for my very first attempt, even though it's not supposed to), you can reboot the computer. You can ping some known places like www.debian.org and it should work.

6. Now, you probably want to update your package source listings. So add the following lines to your /etc/apt/sources.list. First comment out (not remove) the existing lines so that you will not be asked to insert your netinst USB stick everytime you update the package listing. Then add the destination for your favorite repository. Here is my sources.list:

#deb cdrom:[Debian GNU/Linux testing _Squeeze_ - Official Snapshot i386 NETINST Binary-1 20100725-09:20]/ squeeze main

deb http://ftp.de.debian.org/debian squeeze main contrib non-free
deb-src http://ftp.de.debian.org/debian squeeze main contrib non-free

deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main

deb http://www.debian-multimedia.org squeeze main
deb-src http://www.debian-multimedia.org squeeze main

Run apt-update followed by apt-upgrade to update your base system. You will get warning messaging about PGP errors. Right now these problem won't affect what you are about to do. But we will deal with them afterwards.

Getting your wireless card to work

There are two problems with the Debian wireless install on the U350. First is that the Debian wireless install only allows WEP as your security protocal, when most wireless networks out there are already using the WPA protocol, which is more secure. So even if Debian netinst picks up your wireless card, you won't be able to install from it.

The next problem is the on-board Intel 5100 AGN wireless card, which comes with its proprietary firmware. The standard Debian installation, naturally, does not come with the firmware because of it. You have to pick it up yourself on the non-free section of the repository. So while the driver (iwlagn) is loaded, you have to pick up two other packages.

1. With your now-working LAN connection, pick up the packages wpasuplicant and the firmware from the Debian repository:

apt-get install wpasupplicant firmware-iwlwifi

2. Bring down your Ethnernet connection with the command ifdown eth0

3. Reedit the file /etc/network/interfaces. This time, comment out the lines with eth0. Then add your wireless network interface (wlan0):

auto wlan0
iface wlan0 inet dhcp
wpa-ssid [YOUR WLAN ID]
wpa-psk [YOUR PASSPHRASE]

You should know what the WLAN ID and the passphrase. They are usually written on the back on your wireless router. If not, I hope someone else knows, or knows where it is hidden.

4. Bring up the wlan0 interface with the command ifup wlan0. It might take a few attempts depending on how good your wireless connection is.

Congratulations, you now have a working wireless connection on your U350. You can now install your favorite Desktop manager, web browser, and MP3 player (not Amarok 2, I hope).



Getting rid of PGP errors

To get rid of your "PGP error" warnings with apt-update. This happens with the security and multimedia repositories. For the multimedia stuff, all you have to do is to install apt-get install multimedia-keyring.

For the security repository, you will have to jot down the PGP key that came out of the apt-get update warning message. Then issue the following commands to add that to your PGP keyring:

gpg --keyserver pgpkeys.mit.edu --recv-key [PGP KEY]
gpg -a --export [PGP KEY] | apt-key add -

The warning messages should go away the next time you update your package repository.

How do you know what hardware are on your computer

The command lspci will spit out all of your PCI devices that are on your computer. The important stuff of us, obviously, would be the sound cards and network cards, which are usually listed at the end.

What about running Windows in Debian?

Yes, since I don't think I will ever get the hang of OpenOffice.org in the foreseeable future, I will stick with XP for my daily MS needs. I Virtualbox'd it, and Powerpoint runs very smoothly. If you install the Guest Additions, you can even do funky things like dynamic screen resolution and shared folders (with the Debian host). So I guess I can do everything on this computer afterall.

Saturday, August 14, 2010

Facebook - The Asian Round Table


Here is a list of Asians who are named after the Knights of the Round Table and Co. But I don't guarantee the existence of these profiles:

Galahad Wu
Gawain Wong
Guinevere Chang
Lancelot Lie
Merlin Ang (post-op)
Parcival Han (Lance and Percy are in fact buddies)
Tristan Chan
Uther Lin

I guess Asians are more obsessed with the Arthurian Legends than the Brits themselves.

Cat food economics - the "daily feeding cost"


There is a no-brainer. We have a 7 kg half Maine Coon, and he eats a lot. So we definitely don't want to break the bank by giving him really fancy things like "a melange of plucked pheasant, yak calf, and goji seeds". On the other hand, if we feed him "random road kill with eleven herbs and spices" everyday, he might end up looking like the picture.

Now, here is something to think about. Pet food manufacturers do try their best to "optimize" per unit cost by adding fillers in their products, like ash, raw fat, starch and ... you guessed it ... air. Chances are, if you feed your feline friend craps-R-us, he'd come back asking for more, more often. Another thing to consider, unlike dogs, cats are very picky eaters. They will not appreciate a meal only 35 different types of natural fibers. After all, cats aren't vegans. What I am saying is that if you leave a full can of food open, your cat won't eat it all right away.

Notice that, for most cat foods, there is always a "recommended daily intake" on the label. While, in our experience this amount, will be more than enough for our 7-kg cat, it is fairly representative. So here is a formula you can use to gauge both your spending and your pussy's well being, and that is to calculate the cost to feed your cat per day:

Daily cost = Unit cost x Recommended daily intake.

This will work if the recommended daily intake is measured in the amount contained in the unit (e.g., 2/3 of a can each day). If they tell you the actual weight (e.g., 200 g for a 400 g unit), then you will have to change the formula a little bit:

Deily cost = Unit cost x (Recommended daily intake / Unit weight).

To test out my theory, I surveyed a few brands from PetSmart, and the daily cost to feed our cat with each of them, based on the published recommended daily intake. Some good, some not so good. You'll be the judge:






Name
Unit price
Rec. intake
Cost
Whiskas Choice
0.33$ / 85 g pouch
8 pouches
2.64$
Blue Buffalo Select
1.09$ / 3 oz. can
4 cans
4.36$
Authority Indoor Formula
0.79$ / 6 oz. can
2 cans
1.58$

From this example alone, it can be seen that Authority gives you the lower per day cost. If you compare the ingredients, you will also find that Authority contains the least amount of crap. So this very crude analysis illustrates how this "daily feeding cost" idea would actually help you choose the best product for you and your cat.

My list is, of course, far from complete. I encourage you to try this out, and you can tell me what your per diem cost it is to feed your beloved four-legged companion.

Also, if you can tell me how to draw an HTML table on Blogger without skipping so many lines, that would also be great.

Sunday, August 8, 2010

Setting up a Debian install USB stick from Windows


I know, I am a dinosaur. I am still stuck with Debian when everybody has switched to Ubuntu. What can I say? I just like the way it installs. I have complete control over what goes on and not. My favorite is to install the base system and pick and choose the rest for myself.

The way I used to do it ... 1) floppy disk (yes, I still do that) or 2) netinst CD. Then you do the usual and hook up the network, and everything else installs like a charm. Now floppy disk are so legacy no one wants to have anything to do with them, but I am still very much into netinsts. Downloading all the DVDs just takes way too much time, and I am not very patient.

Here is the problem. A lot of new(er) laptops and netbooks don't come with an internal CD or DVD reader/writer anymore. And at this age, if you want to install something, you can just mount the iso or dmg or just unzip the archive. So for me this doesn't justify carrying an external CD-ROM. So I started looking for ways to run my Debian netinst with a USB stick.

Here is another problem. I only have a Windows machine (read my post on my Gigabyte M912). You read instructions on making a netinst USB stick and you will quickly realize they assume that you are doing this from a linux box. There isn't much consolidated information on doing this from Windows, as if they don't want you to do it from Windows. Why, is it because people think it is too easy?

But while we contemplate on this, I need to get a netinst USB stick pronto.
This seemingly easy procedure took me over a week to figure out, but here it is.

What you need

1. A USB stick with at least 512 Mb of storage. It's not hard to find one these days.

2. A utility called Syslinux. You can download it here. Pick the .zip file with the highest version.

3. A machine that runs Windows (I used XP, but I am sure Vista and 7 will do just fine).

I am also assuming that you know your way around the command prompt in Windows. Here is a basic tutorial you can refer to if you don't know anything, or if you need a refresher. I assure you it's not hard to learn. Just be careful when you are erasing something. There is no recycling bin to store erased items in the command prompt so they are effectively gone.

What you do

1. Fire up the Command prompt, make a directory (folder) in a very convenient spot for your command prompt. For example, c:\bootusb. (and I will be using that throughout). You don't have to do that, but it keeps everything nicely organized. Putting it in c:\ also makes it easier to access from the command prompt.

2. Unzip the contents of the Syslinux .zip file in something like c:\bootusb\syslinux. Preserve the directory structure.

3. Download the USB installer from Debian. I choose squeeze (testing) ... you can find the files here. The files that you should pick up ... boot.img.gz, initrd.gz, and vmlinuz. Don't worry about the subdirectories.

4. Now pickup the netinst image here. Pick up the one that ends with "-netinst.iso". It should be about 200 Mb, so it may take some time if you have a slow connection.

5. Keep these files in a single directory (e.g., c:\bootusb\system). We will need them later.

6. Now, format your USB stick. If the stick has a low capacity (e.g., 512 Mb), you can use the FAT16 file system. Otherwise, use the FAT32 file system. Make sure you backed up anything you need from the stick before formatting.

In the next steps we are going to use Syslinux to make your usb stick bootable, and then copy the installation files.

1. Go the the command prompt, and go to the directory containing Syslinux (e.g., c:\bootusb\syslinux). Go to the win32 directory.

2. Assuming that your USB stick is in the F: drive, type the following command: syslinux -ma f:. This installs the bootloader in the USB stick.

3. Copy all the netinst system files (i.e., all the files from the c:\bootusb\system directory) to the root directory of the USB stick.

4. On the root directory of the USB stick, create a file called syslinux.cfg. This file will give you the boot options, and tells the computer what file to boot up. Copy and paste the code below:

DEFAULT linux
Label linux
Boot Installation
KERNEL vmlinuz
APPEND ro root=/dev/sda1 initrd=initrd.gz

Now you should have a netinst USB stick for my (and perhaps your) favorite operating system. I think this will also work with other Linux distributions, so I encourage you to try them out.

To test your system, set up the BIOS of your computer so that the USB stick is first in the boot order. Save the BIOS settings and watch it run. Just don't do the actual installation, though.

Friday, August 6, 2010

A word of warning for organic food lovers ...


I was at my neighborhood produce store today, and a supplier was unloading some fruits. This is what they said, paraphrased below ...

Shopkeeper : This stuff is fresh.

Supplier : Yeah. You know, we are shipping the rest of it to [an up-scale grocery chain store] at the end of the street.

Shopkeeper : Why would they want your stuff? I thought those snobs only deal with [non-foreign, organic, fair-trade] suppliers.

Supplier : Guess what? They are just going to sell them as "organic" and charge three times more than you!

Shopkeeper : Ha, then I should bottle some tap water and tell them it's organic. Those stupid people will buy anything in droves the moment they see the word "organic" written on it.

Then they both laughed.