Well, almost. While one could theoretically install Debian packages on Android phones, it is generally a bad idea to install software designed for one system onto a different system. However, the Debian package manager is excellent for keeping track of software, and it would be nice if it could be used on Android as well. iPhone users already have access to this mechanism in the form of Cydia, so why not put it on Android too?

Read on »

I noticed someone staring really hard at me halfway through anatomy lab, so I asked if she needed help. “No, no, just stay where you are,” she protested.

Classmate: Sometimes when I look at you, I undress you in my mind.
Me: Oh alright, I’ll just sit around and look pretty.
Classmate: And then I’d peel off your skin, scrape off the fat, and reflect all the muscles layer by layer until I see your skeleton.

A couple of nights ago, I chanced upon a particularly interesting image. The character appears to be from the Japanese TV anime series Gakuen Utopia Manabi Straight!, though for some reason she’s in a box labeled #inportb. So… not to be outdone, I kicked it up a notch.

Erm... yeah.

Free email providers of old appended advertisements to messages to subsidize their service. Thanks to Google’s email service, these footer ads had largely disappeared. More recently, however, there has been a resurgence of such useless footer messages corresponding to usage of mobile devices. It used to be just Apple fans letting the world know that their messages were sent using their iPod Touches or iPads or Macbook Wheels. Now we have more elaborate footers on not only emails but forum posts as well, “Sent from my Droid using Tapatalk” or even “Sent from my HTC Touch Pro2 on the Now Network from Sprint.”

Signatures were once used to express something personal about the sender or convey a useful notice. Today, abuse seems to be the norm. It’s just an observation. If you actually like these messages, just go right on sending them…

I wanted to install Windows 7 on my netbook, but I didn’t have access to a Windows environment from which I could run bootsect.exe or install Grub4Dos; so I figured I’d install Grub2 on my USB disk using Ubuntu, have Grub2 chainload Grub4Dos, and finally let Grub4Dos chainload the Windows installer. This worked for me:

  1. Prepare a fresh NTFS partition on the USB disk /dev/sdX and mount it at /mntX1, then copy all files from the Windows installer disc or image into /mntX1
  2. Install Grub2:
    cd /mntX1; sudo grub-install --no-floppy --root-directory=/mntX1 /dev/sdX; sync
  3. Download the latest Grub4Dos, and unpack grub.exe into /mntX1
  4. Create /mntX1/boot/grub/grub.cfg:
    set timeout=0
    set default=0
    menuentry “Install Windows” {
         linux16 /grub.exe --config-file=”root (hd0,0); chainloader (hd0,0)/bootmgr”
    }

I was surprised that such a complicated setup actually worked. Be sure to substitute your own values for /mntX1 and /dev/sdX. In the Grub4Dos config, (hd0,0) refers to the first partition on the boot disk; you’d need to change that if you want to boot the installer from a different partition.

So you want to experiment with the Chameleon boot manager, but you don’t have a Mac or Windows environment handy? Here’s how you could prepare a Chameleon-bootable USB key (or any other kind of disk, for that matter). Be warned that the following procedure would overwrite the target disk’s MBR, effectively wiping all data on said disk. Make sure that you do not target the wrong disk. Naturally, what you do with this information is your responsibility ;)

  1. Install hfsprogs (available in the Ubuntu repositories, if you use Ubuntu).
  2. Get the Chameleon binary package from <http://chameleon.osx86.hu/> and untar it, then navigate to the i386 directory in your terminal.
  3. Type `sudo dd if=boot0 of=/dev/sdX`, where /dev/sdX is the target disk; this is the step that cleans up the disk and loads a fresh MBR containing the stage-0 boot code.
  4. Make a new HFS+ partition (type AF) using fdisk. Let me know if you need help with this.
  5. Format the partition by doing `sudo mkfs.hfsplus /dev/sdX1`.
  6. Type `sudo dd if=boot1h of=/dev/sdX1` to install the stage-1 boot code to the bootsector of the new HFS+ partition.
  7. Now, type `sudo mount /dev/sdX1 /mnt` to mount the partition, where /mnt is your mount point of choice.
  8. Type `sudo cp boot /mnt/` to copy the final piece of Chameleon over.
  9. Unmount the partition using `sudo umount /dev/sdX1`.

Now you should have a shiny new Chameleon boot disk. I hope this helps.

A bunch of people and I were filing into an elevator at the end of the day when I heard one of them ask, “Have you seen True Blood?” “No,” said his companion.

Dude: Well in True Blood there’s this girl who has to cut up a body and get rid of it.
Companion: Okay.
Dude: Last night I dreamed that I had a backpack full of body parts.
Companion: It happens. Last night I dreamed that I killed someone.
Dude: I was all like, “ugh, all these legs and stuff, what do I do with them before someone catches me?”

While we were eying them in silence, somebody said, “Last night I made a baby.” “Why, congratulations!” was the consensus. He clarified, “No, I mean I got someone pregnant and then two hours later I had a baby. I thought, ‘whoa, what an improvement!’”

I hope it was just a case of pre-thesis-defense jitters.

I installed an early development release of Ubuntu Netbook Edition 10.10 on my new Lenovo IdeaPad S10-3t. While the interface is rather smooth, and more usable than Windows, I found the Ubuntu One feature slow and wasteful. I don’t use Ubuntu One because of its lack of cross-platform compatibility options, and it takes up a nice chunk of screen real-estate in Nautilus just to remind me that “Ubuntu One [is] disabled.” It also tends to slow down the file manager.

To remove it, I simply issued

sudo apt-get autoremove ubuntuone* python-ubuntuone* --purge

… and it stopped bothering me after I logged out and logged back in. Launchpad has a page on this as well.

I guess I smile a lot. Almost everyone whom I met and worked with this month mentioned that I almost always had the hint of a smile on my face, even when I was under a lot of stress. In hindsight, I recall being ridiculed by my elementary school classmates for my positive attitude. They bullied me for it; and even in retaliation, I did not lose my smile. I was victorious, I thought, because they could not make me frown.

My folks say that I’m a simple guy — too much so for my own good. I like to see the best in everyone. And if, God forbid, I had a reason to be upset, I didn’t see the need to actually be upset and compound the problem.

With experience, it would be increasingly difficult to maintain this attitude. I would hate to have to live with anger.

Well, not really. I started hosting on a VPS when my needs outgrew shared hosting, but I still hosted some of my experiments with 110mb. Since the new administration took over, my 110mb-hosted material mysteriously disappeared. Until today, I had assumed that the whole server was down. I guess my account was misplaced during the transition. At any rate, I won’t be creating another account there, not because I expect this to keep happening, but because of my specific needs. I still recommend 110mb Hosting to beginners for whom shared hosting should be more than enough. And I would continue helping out on the support forum, as long as I’m needed and I have the time.

I’d like to mention that it is partly because of 110mb that I had gained so much experience with Web development, and that I now know so many worthy individuals. Thanks.