Google Chrome OS
I had to do a double check if it's not April 1st. Why Chrome OS? And why not Android?
Firstly, this does not sound like another Linux distro. Yes, it might run on top of a Linux kernel and borrow some UI code, but you can think of this as a web browser that runs on the bare metal. What use is such a thing? (ASUS is already doing something similar by embedding a stripped down Linux in their motherboards. It boots in a couple of seconds and lets you browse the web and check your email.)
Google makes money off people using the Internet. More than that, they especially benefit from stuff that runs on open platforms - HTML and JavaScript as opposed to Flash and Silverlight. Hence the massive investment in technologies such as GWT and Gears that enable full-blown interactive applications inside a browser using widely understood open standards. The more people publishing useful stuff on the web, the more Google stands to benefit. The more users on the web, the more Google stands to benefit.
The Chrome OS could work quite well on a stripped down netbook (even lower spec than what we call a netbook today), touch-screen tablets, or minimalist desktop computers with specs along the lines of netbooks.
Given the recent popularity of netbooks, and Microsoft starting to push Windows 7 to OEMs instead of the ancient XP, maybe Google is hoping that some of them will jump ship and give Linux a second chance. What's going to be different this time? If you don't pretend it's a full-blown computer but rather a web-only "device", it's easier to sell it to people who already have several computers in their household.
The ultra low hardware requirements mean that the machine itself should be cheaper to produce too, so once again adding to the "it's a web appliance, not a computer" selling point. Lastly, this must have been fairly easy to do from a technical standpoint. It's simply repackaging a bunch of existing code into something usable so not a hugely risky project for Google.
If some Taiwanese manufacturer jumps on board and produces anything even remotely successful based on this software, it only further entrenches the Web as an application platform. And that, I think, is exactly what Google is hoping for. It's very much the same thinking as that behind Android, just aimed at a different segment of the hardware market.
UPDATE: Further reading - coverage from around the web:
Kgalagadi Transfrontier Park
Small slide show from our recent adventures in Botswana
You can also view it large on Flickr.
Disable Aero Shake in Windows 7
Of all the new UI features, Aero Shake is arguably the most gimmicky. I find that I trigger it quite often by accident by moving a window very quickly to peek at something else behind it. If you have the same issue, How-to Geek details a registry fix on disabling Aero Shake.
Vista and file deletion
I've been running Windows Vista for about a year and a half (my desktop hasn't been reinstalled once), and find it to be great. But every once in a while I still encounter the ridiculously slow performance issue where file operations take forever - even simply browsing into a folder with Explorer. Here is an example of a folder deletion of a small source project with a bunch of Git history in it that Windows has been busy deleting for a good half an hour now:
A whole bunch of fixes were supposed to have been included in SP1 but it seems like some problems still remain
UPDATE: it's something to do with the folder being shared - and unsharing takes extremely long, while keeping the hard drive very busy. Possibly some kind of dodgy recursive file system metadata update? Deleting from the command line with "rmdir /s" solved the problem in the end.
Annotation-based dispatch for Spring ApplicationEvents
I created a little extension that allows you to dispatch Spring application context events in a clean and type-safe way to POJO beans. Instead of implementing the ApplicationListener interface, one can simply create a handler as follows:
public class EventListener {
@EventHandler
public void onAppEvent(MyCustomEvent event) {
// ...
}
}
The code is available as a zipped up Maven project or via Git:
git clone http://pavel.tcholakov.net/code/eventhandler-annotation.git/
