Deep OS X Tiger Review

I can't remember the last time I got tired from reading a review but reading this extraordinarily detailed review about Tiger, the latest version of OS X being released today, did. It started off fluffy enough but went on and on, diving into the guts about details only developers would care about. Being a developer, I enjoyed every page after page.

I did cringe though when I got to the page about the extended file attributes (aka file metadata) support because it mentioned HFS+. You see, I have painful memories of implementing HFS on top of *shudder* DOS for a client long time ago (can anyone member Dayna Communications?) during my Macintosh days. Files under HFS had two parts, data fork and resource fork. DOS files don't have resource fork which means, to allow Mac users to drag and drop Mac files into DOS diskettes, I had to come up with elaborate schemes to simulate it. The product got rave reviews but I regretted having taken on the contract afterward because the experience was definitely not fun.

Anyway, Apple apparently did the same in OS X to support non-HFS volumes by saving the resource fork under files with '._' prefix. Same file is used to store extended file attributes in non-HFS+ format volumes.

I am not sure if non developers will survive through the middle part of the long review, but I definitely recommended it for developers. Having read it, I pity the pre-Tiger OS X developers. They must have felt like eskimos living on drifting icebergs. Tiger seems like solid ground, however.

Sparklines and Canvas Tag

Since I posted early last year about Edward Tufte's Sparklines, the paper was updated and some implementations have sprung up (via Sam Ruby):

I think the most important aspect of sparkline is the seamless inlining of graphics with text, so sparkline graphics should be resized automatically when the size of the surrounding text changes. I am not sure Mozilla/Safari's canvas tag can do this yet but I hope it does before the canvas tag becomes a de-facto standard.

Online Criminals Near You

With new techniques being used to shore up weaknesses of passwords, online criminals will be forced to focus more on the quality of their targets instead of quantity.

For example, some techniques protects against logins from unauthorized locations which forces the hacker to either find ways around fool the system or relocate near their victims. Since such systems are designed to make workarounds expensive if not impossible, net result is the same: online criminials will have to expend more time and resources per target.

Hardware tokens? Criminals know where they can get it from, don't they? Yup. You. It's the same for biometrics. You are the key and very few of us have bodyguards.

What all this means is that I think we'll see more personalized and/or physical attacks in the future. And we'll see more attention paid to physical security like alarms, stronger door locks and mailboxes.

Advanced Graphics in Eclipse 3.1

One great feature I overlooked in Eclipse 3.1 feature list is Java2D-like advanced graphics support (antialiased lines, curves, alpha blending, and transformation). It's implemented using Cairo Graphics on Linux/Unix and GDI+ on Windows. I don't know what they are using on OS X. Quartz backend for Cairo is being worked on so they may use that or build their own.

I don't know why they are going with GDI+ though. GDI+ is slow, buggy, lacks features, and not present in older platforms. I've heard that Longhorn graphics API won't use GDI+ so why GDI+ when they could have used Cairo's own Win32 backend or, even better, an antigrain-based backend?

Anyway, anyone know if GEF 3.1 will use the advanced graphics?

Desktop Fusion

Woo. Desktop fusion is here, minus the vision of portable fusion power generator. Instead of generating power, that is create more power than the amount put into it, it generates neutrons. Neutron guns? I'll buy one of those.

AdSearch 2.0

I recently revisited the AdSearch idea and had these thoughts to add.

Users search for ads for products and services using related categories, names, brands, or phrases.  Results can be ranked in several ways, click-through normalized over time for example.

Ads are mostly crawled in the beginning but increasing number of ads are submitted directly by advertisers.  This means more metadata can be collected from advertisers and noise can be reduced by rating advertisers.  One of the obvious uses of rich metadata is price comparison.

Advertiser rating is also reflected on result ranking so ads submitted by a well-behaved advertiser will rank higher than abusers or recently joined advertiser.  This will create a new market for advertising service companies leveraging their rating level.

A new market can be created by connecting product reviewers with merchants.  This service works liket this:

  1. Product reviewer creates a reviewer account and submits a review.
  2. Appropriate merchants are notified of the review and signs up as a provider of the reviewed product.
  3. The reviewer buys ads on AdSearch to attract potential buyers with their reviews.
  4. When the buyer gets to the review page through ads or review panels, they will see a list of merchants carrying the reviewed product and prices they are available at.
  5. Clicking on the buy button leads to either the merchant's checkout page or the AdSearch purchase service.
  6. Reviewer is rewarded with either a cut of the sales or a listing fee from merchants.

Reviewers and merchants are also rated to prevent abuse.

That's it for now.  I particularly like the way reviewers become advertisers and the way more metadata can be collected over time.

Microsoft and Washington Gay Rights Bill

My perspective on this latest hot topic is that I think companies should act only in interest of itself, the Microsoft shareholders in this case, and not anyone else, including its employees. So I think the discussion should have been about whether leaders of Microsoft made the right decision in the interest of its shareholders.

I think Microsoft's initial support of the bill was not wise. It's subsequent decision to retract support was even worse. Net result is that, instead of being a bystander, Microsoft is caught in the crossfire between smug conservatives, getting comfortable with their influence over companies like Microsoft, and liberals screaming of betrayal.

Simply stupid is what I think.


I either didn't know or forgot that Dave's birthday was near mine.  His is 8 days away. Mine is 9 days away. His is 50th. Mine is..43rd? Hmm. I thought I was 44 but I guess not.

I've been rather fuzzy about my age ever since I turned 40. I don't want to remember how old I am so I have do math to figure it out. Anyway, looks like I am 42 now. Good. I am younger than I thought. How do you forget how old you are? Just keep giving out different numbers to different people until you get confused enough. Don't worry; age confusion is sticky.

Korean age calculation being different doesn't help either. To Koreans, I am 43 already. On my birthday, I will become man-43 where man means full. In the next chinese newyear (whenver that is), I will become 44. Sheesh.

Good Music

I am enjoying Michael Buble's songs just now.  While I like most of his songs, I particularly like Feeling Good and Moondance. As crazy as it sounds, the way I enjoy music is listening to the same song over and over until my wife kicks me. That's about ten times or so depending on her mood.

Why do I listen to a same song over and over? Because I see a movie of my own making when I do that. With Feeling Good, I saw a movie about an autistic middle-aged man who spent most of his entire like listening to jazz music in his room. One day, he finds himself in a jazz club and starts mumbling to songs. His uncle asks the band to play his favorite song, Feeling Good. He starts singing, meekly at first with his face down but when the turn comes, the Feel Good part, he looks up, smiles, and then let's all go.

Too bad there aren't many movies with such uplifting moments. With vivid imagination, books are better than movies but music is even better.

Oh, yeah.  The best part of that song is:

Dragonfly out in the sun
  you know what I mean, don't you know
Butterflies all havin' fun
  you know what I mean