F.lux 螢幕調光程式

這個真的要推薦一下,F.lux 螢幕調光程式。它的原理是根據日出日落時間,把螢幕的色溫調到符合室內光的溫度,以免晚上看著過亮的螢幕影響退黑激素分泌,打亂生理時鐘。


作為 Web Developer 的胡思亂想是,說不定可以把時間 vs 色溫這個概念放進 Responsive / Adaptive web design 的概念裡?這樣的話要讀一點色彩學的書了。

Install Ubuntu with access to GRUB only

在 BIOS 被鎖住、沒有光碟機也無法從 USB 開機的情況下安裝 Ubuntu Linux 的方法。


The following method is what I work out when installing Ubuntu on a computer with following constraint:

  • BIOS is locked, so no booting from CD-ROM nor external USB drives, or
  • the CD-ROM drive itself is absent, and you don’t have a USB drive at hand.


  • Network access.
  • Target computer need to have GRUB already on board with access to it (It’s possible to install it from Windows/DOS but please have the files ready before you reboot.)
  • Access to boot partition (try recovery mode, i.e. append the word “single” after current kernel; if successful you can work directly from there)

In short, we would like to drop two files into the boot partition, and ask GRUB to boot it. After that the partition itself can be safely wipe out since files is used only in booting process.


  1. Boot the machine
  2. Grab (wget) Miniual CD and Alternative Installer CD iso images
  3. Mount each of them, i.e. mount -o loop blah.iso /tmp/iso
  4. Copy /tmp/iso/initrd.gz from mini.iso to /boot/mini
  5. Copy /tmp/iso/installer/vmlinuz from alternative.iso to /boot/mini
  6. Reboot the machine, press Esc to enter grub boot menu.
  7. Press e to edit one of the entries
  8. Press e to edit the line begin with the word “kernel”. Change the kernel to /boot/mini/vmlinuz. Remove all kernel options.
  9. Press e to edit the line begin with the word “initrd”. Change the initrd image path to /boot/mini/initrd.gz
  10. Press b to boot.
  11. You should see Minimal Installer shows up. Minimal Installer will ask you what favor of Ubuntu you would like.

Why it works?

  • We need GRUB because BIOS is locked.
  • We need vmlinuz kernel from alternative installer because GRUB cannot access iso directly and minimal iso image doesn’t comes with a kernel.
  • We need initrd.gz from minimal installer because the alternative installer one checks existance of alternative installer CD-ROM (and data integrity of it)

On the security aspect, if you don’t want people tempering with your Linux box, lock BIOS, lock GRUB boot list, remove pre-installed single user boot menu entries, and attach an actual lock on the machine case. But then you are solely responsible to remember all the passwords you have set; no one can save you (without breaking anything) if you forget the password.

That’s all. Have fun with it.

Apple MobileMe

While everyone is excited about the new iPhone 3G, or depressed because of the fact that it won’t be available in Taiwan for a year or so, what WWDC keynote really caught my attention was, instead, the new web service that would eventually replace .Mac – Apple MobileMe platform.

It’s funny to see how the software giants response the “access my personal (mail|calendar|todo…) anywhere” question. Microsoft’s answer to that is an Exchange Server with it’s special client, i.e. Outlook, on desktops and mobiles. It’s a very classical software company approach, which evolves building everything for every purpose. Google, instead, as a company providing web service, build their services on websites – wherever there is a device, there is a browser, services on browsers are indeed, accessible anywhere.

Apple’s approach is MobileMe. MobileMe works with native applications, from Outlook to Mail.app to iPhones – so it works like an Exchange Server. What’s more, MobileMe can be access via browsers anywhere – so it also works like Google Apps. Apple is bring the two worlds together under one platform – if you are willing to pay and get vendor lock-in-ed, it would “just work”, as Jobs puts it.

Of course, the two worlds is already merging, with or without Apple. Google Android will be available later this year, and Microsoft Exchange Servers are featuring web access a long time ago (with their dumb ActiveX object though). But no one had ever get this right from the start with completed features.

MobileMe is not officially started yet; no one knows whether it will really do what it claims. I am glad that all the companies are thinking like a web right now. It’s web! It’s about clients and servers, and accessability! We are at the turning point or history – in a decade or so, when we look back, we will never recognize how we handle our information today.