July 14, 2008

It's no secret that I have a somewhat anti-utopian (as opposed to dystopian) view of the future (and present!) of mankind ("Oh, hello there AI. Please don't kill me!"), and on the whole, generally prefer my movies sad, and my music sadder. To that end, the first half of Wall·E really delivered.

How could you not be moved by the drab, post-human, almost post-robot Earth? Talk about being simultaneously harrowing and beautiful: the melancholic color palette, the dutiful robot carrying on with its "directives" even though there is no one left on Earth to appease, the non-dialogue, the re-packaging of consumer detritus — man's legacy — into skyscrapers, the "non-junk" saved and savored by Wall·E, and his painful-to-watch attempt at piecing together the human condition and connecting with the past that built him.

You kind of forget that Wall·E is a robot, much less a cartoon robot. Brilliant.

Ah, a perfect beginning to what could have a been a near-perfect movie, but which eventually transmogrified into something else entirely, something packaged and predictable, something happy.

I get it — everything has to work out in the end. For the kids. But, it all felt a bit manufactured and forced to me, and ultimately the ending completely belied the beginning. Or, by the grace of some cosmic, ironic redemption, the whole thing came full circle. Who knows.

Pixar's ability to consistently deliver movies — over and over and over again — that appeal to every age, is something that puts it in an untouchable class of its own; at the same time though, that versatility continually demands it sacrifice honesty for marketability, and (especially in Wall·E) vision for profit.

There is no doubt that the pre-watch hype surrounding this movie ("OMG! Greatest movie ever!!!") had a role in it not living up to my admittedly impossible expectations, but such influences notwithstanding, I still came away from it slightly underwhelmed. Don't get me wrong, I enjoyed the majority of it, but something definitely was missing.

It's a smart, emotional movie, and I will no doubt watch it again many times over; I just wish the second half was a bit more like the first, the messages not so strained, and the ending slightly less optimistic.

If I'm being completely honest, I found the similarities to Johnny 5 a teensy bit grating. After all, I'm a robot-loving child of the '80s (and, if memory serves, had the movie on both VHS and Beta) — how am I supposed to feel?  ;)

Wall-E and Darwin#

[E]ven though WALL·E is just a futuristic trash compactor (the robot equivalent of a hungry goat), he's still able to fall madly in love with Eve, a drone that looks like an iPod. Because his intelligent designers gave him the ability to express his emotions — he's got those adorable binocular eyes — they also unwittingly gave him the ability to experience his emotions. That very Darwinian idea is at the heart of WALL·E.

MS Exchange email drafts on the iPhone

July 13, 2008

The iPhone's built-in support for MS Exchange is great, and has worked for me without issue since setting it up yesterday. That said, there is one niggling nut I'd like to crack, if possible.

Let me start by saying that I'm pretty sure the problem isn't on Apple's end; I think it's just how Exchange handles the situation, though I have no real experience with Exchange and can't say for sure (please correct me if you know).

The issue is that when I save drafts of emails on a computer other than the iPhone, those drafts, while "available" on the iPhone, act like emails I've received (though they are devoid of sender information); given that copy/paste is still a pipe dream on the iPhone, the drafts are effectively useless (i.e., I can't send them!).

There is a similar issue going the other way as well; that is, when I create a new email on the iPhone, and save it as a draft, that draft never appears on any of my other Exchange-aware machines. On the iPhone, a new "drafts" folder appears in the folder list (for those counting, there are now two folders named "drafts"), but I don't think that folder talks to Exchange (i.e., it's the local-only drafts mechanism built into the iPhone Mail app).

So, the question is this: how can I get the iPhone Mail app to treat Exchange-created drafts as drafts?

The iPhone's Gaming Mettle#

The previews we’ve seen over the past few months leave no room for doubt that the iPhone is an extremely capable gaming device and that we will see some very solid titles available on launch day. Given this, we thought it a particularly good time to have a look at just what makes the iPhone thusly capable.

Weave v0.2 and tab synchronization

July 02, 2008

A couple of weeks ago I published a piece regarding the death of Google Browser Sync, and its heir presumptive, Weave, which at the time, did not yet support the feature I care most about, namely session restoration across multiple machines. Not long after pushing that piece into the ether, a few people emailed me to let me know that a tab-syncing version of Weave would be released on June 20th; though the release date slipped a bit, v0.2 was made available a few days ago, tab synchronization intact. Well, kind of.

Since the release, I've been testing the tab-syncing functionality, and unfortunately, I have to say it hasn't worked too well. There have been times when it has presented to me tabs from machine one that weren't currently open on machine two, but this behavior — the intended behavior — is sporadic at best.

The following is my attempt to sum up what I've experienced over the last couple of days (please forgive me the bullets), after which I'll describe what I think is wrong with the implementation (even assuming it worked perfectly).

  • When I quit Firefox, the browser window(s) falls away and a small "Syncing with Weave…" window appears. This never finishes; in fact, I'm not sure it transfers anything to, or receives anything from the server. I inevitably have to kill the Firefox process.
  • It seems that every other time I'm made to kill the Firefox process, Weave, upon a relaunch of the browser, has forgotten who the hell I am and I'm required to run through the entire "initial synchronization" process again.
  • After the first click, clicking on the indicator that tells me there are "unsynced" tabs generally shows me nothing but a completely blank window.
  • Of all the tabs I've had open, Weave seems to get confused by Gmail and Google Reader; it never thinks they're synced up, and consequently never stops presenting them to me as "new" (on both machines). I'm assuming this has something to do with their shifting titles/URIs.
  • Syncing sometimes takes forever and frequently stalls. Perhaps this can be attributed to the WebDAV server that we are all currently required to use (eventually, we'll be able to sync to a WebDAV server of our choice).
  • There seems to be some delay between when a new tab is opened and when it is actually synced. For example, if I open a new tab on machine one, manually sync machine one, and then manually sync machine two, machine two will not immediately show me the new tab. It may see it eventually, but it is by no means instantaneous.

I haven't yet had occasion to pore over Weave's activity log (I will this weekend), but I suspect it might shed some light on at least some of the issues I've encountered.

Implementation (and how it should be changed)

It's called tab synchronization, which, in my mind, means it should be as automated as possible. As it stands, users have to consciously look for, of all things, a yellow triangle with an exclamation point in the middle. Yeah, a hazard symbol. Huh?

Assuming you notice this little "warning" in your status bar, you then have to click on it, which will [hopefully] present to you the tabs on your other machine(s) which aren't currently open on the machine from which you're clicking. Finally, you have to read through a list of page titles and check a box next to those pages you want to open. What is worse, there is no way to select all of them at once, and presumably that's exactly what you want to do (I mean, you're syncing, right?).

In my opinion, tab synchronization should work like so:

  1. Use the browser on machine one.
  2. Use the browser on machine two.

That's it. I should never have to think about synchronization. When I open/close a tab on machine one, machine two should open/close that tab in the next sync cycle. I don't need to interact with those processes other than to set them in motion by using the browser.

To the Weave team

Thank you. Please don't confuse my comments with inappreciation or some sense of entitlement. Quite the opposite — I know how hard this stuff is, and recognize the nascency of the project. At the end of the day, I just want to see this thing reach its potential, which, I realize, goes far, far beyond tab synchronization.

No time for the singularity#

[L]et's assume that this mythology is true and, within about 25 years, computers will exceed human intelligence and rapidly bootstrap themselves to godlike status. At that point, they will aid us (or run roughshod over us) to transform the Earth into a paradise.

Here's the problem: 25 years is too late. The newest business-as-usual climate scenarios look increasingly dire. If we haven't solved our problems within the next decade, even these theoretical godlike AIs aren't going to be able to help us. Thermodynamics is thermodynamics, and no amount of godlike thinking can reverse the irreversible.

The death of gallium#

The element gallium is in very short supply and the world may well run out of it in just a few years. Indium is threatened too, says Armin Reller, a materials chemist at Germany’s University of Augsburg. He estimates that our planet’s stock of indium will last no more than another decade. All the hafnium will be gone by 2017 also, and another twenty years will see the extinction of zinc. Even copper is an endangered item, since worldwide demand for it is likely to exceed available supplies by the end of the present century.

Running out of oil, yes. We’ve all been concerned about that for many years and everyone anticipates a time when the world’s underground petroleum reserves will have been pumped dry. But oil is just an organic substance that was created by natural biological processes; we know that we have a lot of it, but we’re using it up very rapidly, no more is being created, and someday it’ll be gone. The disappearance of elements, though—that’s a different matter.


But we can’t exactly set up a reservation somewhere where the supply of gallium and hafnium can quietly replenish itself. And once the scientists have started talking about our chances of running out of copper, we know that the future is rapidly moving in on us and big changes lie ahead.

The kernel boot process#

The previous post explained how computers boot up right up to the point where the boot loader, after stuffing the kernel image into memory, is about to jump into the kernel entry point. This last post about booting takes a look at the guts of the kernel to see how an operating system starts life.

How computers boot up#

Booting is an involved, hacky, multi-stage affair — fun stuff. Here's an outline of the process.

Google learns to crawl Flash#

Google has been developing a new algorithm for indexing textual content in Flash files of all kinds, from Flash menus, buttons and banners, to self-contained Flash websites.


In the past, web designers faced challenges if they chose to develop a site in Flash because the content they included was not indexable by search engines.

Dear online stores, while this little development may make your Flash-only sites more visible to search engines, it's not going to help you push product. I can't tell you how many times I've gone to a Flash-only site, clicked around a bit, found something interesting that I wanted to share, and been unable to share it because there was no URI to that particular "page."

If a referral from me to your product requires steps similar to those found below, then consider it a lost sale because I'm not making the referral:

  1. Go to the index page.
  2. Wait until [insert description of useless animation] runs its course. Yeah, I know it's annoying, but isn't it cute!?
  3. Click the glowing red orb.
  4. Click the text in the bottom right that says "Products."
  5. Wait 30-60 seconds (depending on your Internet speed) for the slideshow to load.
  6. Rollover the slideshow and move the mouse to the right.
  7. Click the picture of the Holy Grail (it was the fourth picture when I did it the first time, but its position seems to change depending on the fullness of the moon).

UPS and the art of sorting nearly a million packages a day#

During the course of moving off the 90 aircraft they've come in on and are immediately heading back out on, each of those 800,000 to 900,000 packages [winding their way through Worldport, UPS' air-distribution facility,] are touched by human hands just twice, once at each end. [The facility] can handle as many as 416,000 packages an hour.


[Worldport] has 30,500 conveyor belts that comprise 170 total miles of belts. There are 326 different positions for unloading packages and 1,480 for loading. And there are 8,372 tilt trays sorters, each of which delivers a package into the hands of the person who will ultimately place it into the bin that will then be put onto an airplane.

Singular Simplicity#

Infatuated with statistics and seduced by the power of extrapolation, singularitarians abduct the moral imagination into a speculative no-man's-land. To be sure, they are hardly the first to spread fanciful technological prophecies, but among enthusiasts and doomsayers alike their proposition enjoys an inexplicable popularity. Perhaps the real question is how they have gotten away with it.

Read at Work#

An impressive pretend-you're-working ‘application.' Try it out.