2009-01-30

A quick follow-up to Do/Docky

Magic Lamp & Docky

If you just started using Do with Docky, maybe there are two or three small things you want to know:

  1. Adjust the dock size and zoom ratio precisely.

    This can be done using gconf-editor a.k.a “Configuration Editor”. Go to apps/gnome-do/Docky/Utiliteis/DockPreferences, on the right side, you can find IconSize and ZoomPercent. I like to have 48 for the former, which is the smallest size that allows summon mode to have 2 lines. And I use 1.5 for the latter cause default 2.0 feels just too huge to me ;)

  2. If you have encountered this issue with Remember The Milk plugin I coded, there is already a quick fix but it is too late to get it included in the final release. Though you can find the DLL file with the fix here if you really need it: http://dl.getdropbox.com/u/110544/do-plugins/RTM.dll. Overwrite the file ~/.local/share/gnome-do/plugins-0.8.0/addins/Do.RememberTheMilk.1.0/RTM.dll with the new one.

  3. Now that you have the dock, you may miss the “Genie” effect for minimizing windows like how windows are minimized in Mac OS X. Since “Genie” is protected by patent, Compiz decides to disable the option to set “max wave size” of its “Magic Lamp” effect to 0 so that you can not mimic the “Genie” effect with it. While I use to recompile the whole compiz package to get around this limitation, there is easier way to do this if you know how to search in Google. Just in case you need a HEX editor, Emacs’s hexl-mode can actually handle it pretty well.

2009-01-29

Do 0.8: Rock out with your dock out

Docky

Today is a big day for all Do users and developers, cause 0.8 a.k.a “Rock Out With Your Dock Out (ROWYDO)” is finally released!

As some of you have already known from the alpha/beta testing, the biggest highlight of this release is this awesome new UI — “Docky”. Docky is another interface for Do, yet it introduces an entirely new way to use Do. It preserves all Do’s original functionalities and keyboard-based interaction philosophy while it provides a smooth dock with parabolic effect which introduces mouse-based interaction to Do and makes it very enjoyable to play with your most frequently used applications, directories etc. You can find more information about Docky here at this wiki page.

The new Do also has a lot of improvements over the previous version. Many bugs have been fixed and a new architecture has been applied, which make Do more stable, consume less memory and have the potential to be cross-platform in the future.

There are certainly also improvements to plugins and many more new plugins become available. Twitter plugin has been renamed to “Microblogging”, with the new ability to post to Identi.ca; Remember the Milk and Ping.FM plugins are also included as communicty plugins in this release :). You probably would be surprised while looking through the list of all these useful plugins — almost 70 of them :).

If you want to find more more about this release, please check out David, Jason, Alex, Cimi, Kalle or Michael's blogs. To start using the new Do, add Do’s PPA to your software package repositories, and update/install “gnome-do” and “gnome-do-plugins” . If you don't use Ubuntu, check out the download page for more specific information for your distribution. You can also compile it yourself from the source code according to the installation guide. If you encounter any problem while using Do, please report it via the bug track at Launchpad (while if it’s a plugin bug, you should file it here instead), or discuss it with other Do user and Do developers at the IRC channel (irc.freenode.net, #gnome-do).

For all these awesomeness, I want to thank everyone who has contributed to and supported this project, especially our core developers! David, Jason, Alex, you guys really make Do one of the best apps in my system and an essential program to my every day use! I’m also very happy to contribute some code to Do, it just feels so right to do something useful to an app that brings so much convenience to my life.

2009-01-28

Manually Make an External Disk Bootable Using GRUB

Yesterday I was facing a corrupt Linux system which needs a re-installation. I didn’t have the right to modify the boot order stored in the BIOS and the only thing boots before internal hard drive is the USB device. I had an external hard disk handy but I was surprised that the USB start-up disk creation tool in Ubuntu didn’t recognize my disk — does it only support flash memory devices? I then decided to manually make the USB hard disk bootable and boot it into Ubuntu’s hard disk installation kernel. Since it took me some effort to get to the preferable result from Google, I put the steps here in case anyone including myself needs it in the future.

Prerequisite: A running Linux system to format the external disk, transfer files and setup GRUB. I use my Ubuntu laptop here.

  1. Create a partition on the external disk

    The size should be enough to contain an Ubuntu alternative installation images plus GRUB files and kernel images, 800 MB would be a safe guess. (If you want to install any other distribution e.g. Fedora, the size should be adjusted to be capable of storing the CD/DVD image size of that distribution). The format I used was ext3, I think any file system that GRUB supports and the installation kernel can search the CD/DVD image from should be OK. To create the partition, I used GParted, while you can use any of the partition tool that fits your taste. After creating the partition, you should know the device id of it (e.g. /dev/sdb1) and mount it to you system if it is not automatically mounted.

  2. Setup the directory structure and copy necessary files

    • First copy the alternative installation image onto the newly created partition.

    • Then create a boot folder containing a grub folder. You can use command mkdir -p /boot/grub to do it in one pass. If there is any problem performing write operation in the partition, change the owner of the mount point of this partition to yourself. (sudo chown -R user:user /media/<mount point of the partition>)

    • Now you can copy all GRUB files to /boot/grub from /usr/lib/grub/i386-pc/ of your running Ubuntu system. You can also create a menu.lst file here which makes it automatically boot the installation kernel files, but it is not necessary as you can simply issue the 4 lines of commands after booted into the GRUB console. (see the last paragraph of this post)

    • Last files to copy are the kernel images, normally vmlinuz and initrd.gz. They can be downloaded from Ubuntu’s repo at http://archive.ubuntu.com/ubuntu/dists/intrepid/main/installer-i386/current/images/hd-media/ and should be put into /boot/. The release and the platform string should be changed according to the target system.

  3. Setup GRUB

    • Enter the GRUB console as root.

      $ sudo grub
        
    • Change root to your new partition. (e.g. /dev/sdb1)

      grub> root (hd1,1)
        
    • Setup GRUB. This will look for the essential files in the partition and write proper data into the MBR of your external disk to make it bootable.

      grub> setup (hd1)
        
    • You should see some output of a successful installation and now it’s time to quit from the GRUB console and start installing a new system using this external hard disk.

      grub> quit
        

When the target PC starts with the external disk plugged, it will boot into the GRUB console, you can then use root, kernel, initrd and boot command to find and boot the kernel image files. Following is how I used the commands in details. Please be aware of the possibility that the hard disk order is not the same as on you other system. You might need some “heuristic” to get to the right partition. (TAB rocks!)

root (hd0,1) <ENTER>
kernel /boot/vmlinuz <ENTER>
initrd /boot/initrd.gz <ENTER>
boot