W3C has formed the Web APIs Working Group, as a part of the Rich Web Client Activity for client-side Web Application development. Some interesting to me deliverables are the following:

  • An API specification for HTTP functionality.

    This generally means standardizing and hopefully improving the XMLHttpRequest interface. The current interface is very limited, imperfect, and yet not widely implemented.

  • An API specification for persistent storage on the client.

    Cookie is an opaque piece of data held by an intermediary. Cookies are small, maximum 4kB od data per cookie including an opaque string. So of course, retrieving and caching data for rich web clients is currently very difficult and limited. This way it is also impossible for a Web application to work offline. This has to be changed.

  • An API specification for drag and drop.

    Rich web clients must provide robust, interactive user interfaces. Drag and drop is a common mechanism used on desktops everywhere. Implementing it in Web application is nowadays tricky and requires a master knowledge of JavaScript, DOM, and CSS.

Other interesting areas:

  • An API specification for a client interface (the Window object).
  • The DOM Level 3 Events specification (in coordination with a future DOM IG/WG).
  • An API specification for timed events.
  • API specifications for other network communication methods.
  • The DOM Level 3 XPath specification (in coordination with the DOM IG/WG).
  • An API specification for monitoring the progress of resources as they are downloaded.
  • An API specification for file upload.
[image]

Better late than never, tonight I saw Wu Jian Dao at the local movie theater and I think this movie is a masterpiece. This psychological thriller tells the story about a mole in the police and an undercover cop in Triads. Both working this way for a period of years. After a while, it becomes obvious to both sides that the mole is between them. The deadly game begins, where each man has to eliminate the other. There is no martial arts in this movie, instead we study the complex characters and difficult choices they face -- each is haunted by his past and confused about his own identity. This movie has an excellent plot, it's filmed well with good acting by Tony Leung and Andy Lau. I highly recommend it. 10/10.

Photo Gallery

New keyboard shortcuts depending on context: n -- next photo, p -- previous photo, u -- up one level, t -- top (gallery index). Happy browsing.

[photo]

...

Fun with new hardware, no fun with recent linux kernels

After buying new hardware, I of course decided to start using it immediately. First of all, I repartitioned the disk and installed Fedora Core 4. The installation process went smoothly, except that the 915GM Express chipset was not fully detected by X11R6.8.2. By default, only VESA video was available, so using for instance MPlayer was a pain. Fortunately, this chipset is backward compatible and choosing i810 is the solution. There is also no problem with 1280x800 display. Next, I configured all my daily programs and copied all stuff from the old disk (by using CD-R and 256MB USB flash drive). After successful FC4 installation, I upgraded several packages, including the Linux kernel from 2.6.11 to 2.6.12 (and a few days later to 2.6.13). And then the disk performance decreased drastically. This is quite interesting because with 2.6.12 my hard drive is being seen as a SCSI device (/dev/sda) and with 2.6.13 as /dev/hda. This slight difference wouldn't matter if in the latter case my buffered disk read was not 2 MB/sec! With 2.6.12 the result is ~30 MB/sec. I'm not sure, but I think this should be a little bit more. dmesg shows:

Linux 2.6.12:

Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ide0: I/O resource 0x1F0-0x1F7 not free.
ide0: ports already in use, skipping probe
Probing IDE interface ide1...
hdc: MATSHITADVD-RAM UJ-831S, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
hdc: ATAPI 24X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache
Uniform CD-ROM driver Revision: 3.20
SCSI subsystem initialized
libata version 1.11 loaded.
ata_piix version 1.03
ata: 0x170 IDE port busy
ata1: SATA max UDMA/133 cmd 0x1F0 ctl 0x3F6 bmdma 0x18B0 irq 14
ata1: dev 0 cfg 49:0f00 82:746b 83:7fe9 84:6023 85:f469 86:3c49 87:6023 88:203f
ata1: dev 0 ATA, max UDMA/100, 117210240 sectors: lba48
ata1: dev 0 configured for UDMA/100
scsi0 : ata_piix
Vendor: ATA Model: HTS541060G9AT00 Rev: MB3W
Type: Direct-Access ANSI SCSI revision: 05
SCSI device sda: 117210240 512-byte hdwr sectors (60012 MB)
SCSI device sda: drive cache: write back
SCSI device sda: 117210240 512-byte hdwr sectors (60012 MB)
SCSI device sda: drive cache: write back
sda: sda1 sda2 sda3 sda4 < sda5 >
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0

Linux 2.6.13:

Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
Probing IDE interface ide0...
hda: HTS541060G9AT00, ATA DISK drive
Probing IDE interface ide1...
hdc: MATSHITADVD-RAM UJ-831S, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: max request size: 1024KiB
hda: 117210240 sectors (60011 MB) w/7539KiB Cache, CHS=16383/255/63
hda: cache flushes supported
hda: hda1 hda2 hda3 hda4 < hda5 >
hdc: ATAPI 24X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache
Uniform CD-ROM driver Revision: 3.20
SCSI subsystem initialized
libata version 1.12 loaded.
ata_piix version 1.04
ata: 0x1f0 IDE port busy
ata: 0x170 IDE port busy
ata_piix: probe of 0000:00:1f.2 failed with error -16

weird...

Obviously, I had no doubt to not use 2.6.13 or any later until this is fixed. The rest seems to be okay. USB 2.0 works very nice with my camera and flash drive, also an Intel PRO/Wireless 2200BG has been successfully detected (with the firmware from ipw2200). I haven't used it in practice, but NetworkManager Applet is able to detect some local private wireless networks, so I guess it's okay. Uhm, and I don't see where or how can I suspend-to-disk or suspend-to-RAM my system. I look forward to seeing this features.

...

[photo]

...

Today's interesting read: When to Leave That First Tech Job.

Part V

Tai Vo's China Photo Gallery, Randurian' HK Roads Photo Gallery, Jimmy Koo's Hong Kong Photo Gallery, Tom Jackson's Hong Kong 70s & 80s Photo Gallery, Ross' Hong Kong Photo Gallery, gchong2426's China 2004 Photo Gallery, Howard Sheard's Hong Kong Photo Gallery, William Bina's China Photo Gallery, Ted Ch's Hong Kong Photo Gallery, Eddie Cheung's Photo Gallery, hclphoto's Central, Hong Kong Photo Gallery, Jongky Kurniawan's Guilin - Yangshuo Photo Gallery.

Wow, Bob, It Was Huge!

[image] I think, Live 8 is now concerned as the greatest show on Earth ever. 10 concerts, 150 artists, a million spectators, 2 billion viewers, and 1 message: To get those 8 men, in that 1 room, to stop 30,000 children dying every single day of extreme poverty. Now let's wait for the Final Push! Read What to do (even if you can't make it to Edinburgh in person). Visit www.makepovertyhistory.org.

Pink Floyd's Reunion

[image] Yesterday was a unique day :). Not only because of Live 8, but also because it was the day of Pink Floyd's reunion. It was their first concert together in over 24 years. They played Breathe, Money, Wish You Were Here, and Comfortably Numb. It was great! Unfortunately, I couldn't be there in person to see this amazing event, but I watched it on TV, and even took some photos! Check out my special gallery.

There is a theory, called Six degrees of separation, that anyone on the planet can be connected to any other person on the planet through a chain of acquaintances that has no more than five intermediaries. Based on this theory, there is a party game, Six Degrees of Kevin Bacon, which requires a group of players to connect any film actor to Kevin Bacon in as few links as possible. I have noticed that a more general Six Degrees of ..., has recently become very popular at the Internet Movie Database. I once even participated in this game. Finally, check out the Oracle.

[image] I recently discovered The Friend of a Friend (FOAF) project, which is based on the idea of creating a machine-readable social networks. Thus, using FOAF RDF, one can describe oneself, things one does, creates, people one knows, etc. I like this idea, so I have decided to create my own FOAF file and make it publicly available.

[image]

Tonight I went to see the long-awaited Revenge of the Sith and I am really pleased with this final episode of the story. Now I finally know how Supreme Chancellor Palpatine became the Emperor, why he looks as he looks, how Anakin became Darth Vader, how the crumbling Republic became the first Galactic Empire, and many other plots. Of course the visual effects were really stunning, absolutely first-class. For me, this is a great movie. Thank you George for creating the Star Wars Galaxy, a great entertainment.