grack.com

Blog

Google Web Accelerator

I tried out the Google Web Accelerator today - it’s an interesting product that likely is helping Google as much as those that install it.  I’ve seen a number of people discussing how Google can use it to silently spider the web.  Interestingly, a packet trace discovers that data flows upward from the user’s computer to Google’s servers - likely sending the data back to Google’s cache.

I wonder if this is similar to the “rsync HTTP cache” idea that was floated a while back.  It used a form of delta compression - possibly what this Google Accelerator product does.

Being the Linux geek that I am, I tried it out through Wine on my Fedora Core 3 box.  It turns out that Wine was missing an implementation of StgCreateStorageEx and StgOpenStorageEx.  After a quick implementation (and a post to wine-patches), I have the cache file creating correctly.  With this patch it runs for a bit and dies soon after.  I think it might have something to do with Wine’s winsock (but I haven’t looked closer).

Professional Practice Exam

I wrote the Professional Practice exam for APEGGA on Monday.  It’s not terribly difficult, but it certainly requires you to do the reading they’ve given you.  I’ll get my results in about six weeks.

Mozilla and the Canvas Tag

Looks like the <canvas> tag has landed on the Mozilla trunk.  More info available in bug 288714.

Brendan Eich sums it up pretty nicely in the bug comments:

We are turning canvas on – it’s already on by now.  Get over it.  Nothing in a relatively new spec is set in concrete, but that does not prevent useful work from being built on it.  This is how the Internet protocols, and then the web, were built.  Welcome back to incremental innovation.  The lull of six years of monopoly-induced stagnation is over.

The cool thing about <canvas> is that you can use it to draw any image you want client-side based on various graphics primitives.  It’s not structured markup like SVG, but rather a blank sheet that you draw on.  This should help with any application previously requiring server-side modules - they can now render images in fast client-side Javascript rather than slow server-side callbacks.

It’s supported by Apple’s Safari and will be by the next Firefox released from the trunk (1.1 or 2.0, depending on if they have branched or not).  No word yet on whether IE7 will support it, but I’m guessing the answer is no for a couple of years at least.

Canvas Tag - What it Means

The new <canvas> tag might be useful in building a smoother and more functional Google Maps implementation than Google currently has. 

Instead of pasting images together and scrolling them as necessary, you could blit them to the canvas at the appropriate location using drawImage().  Drawing routes on top of the map would be a simple transparent line drawing operation.

You could also write tile-based games that ran in a web browser without plugins.  Think nethack or Freeciv implementations.

Too Busy For Words

Well - that about sums it up!