Silicon Speculators 
From the New York Times article on Apple’s A4 processor:
“I don’t see anything that looks that compelling,” said Linley Gwennap, a chip analyst at the Linley Group. “It doesn’t seem like something all that new, and, if it is, they are not getting far with it.”
I don’t understand how Gwennap can back up his claim. I find it hard to believe the Linley Group has any more information about the A4 than anyone else outside Apple’s hardware division. Apple is unlikely ever to release detailed specs. Wikipedia doesn’t say much more than it “runs at 1 GHz and has an integrated graphics processor.” We know Samsung manufactures it. We know Apple licensed technology from ARM. That’s about it.
What strikes me as journalistic negligence is that the Times fails to tell us the analysts they quote have no hard data on the chip, its fabrication process, or technical capabilities. The Linley Group certainly didn’t do a tear-down of an actual chip. And without seeing benchmarks or other performance metrics, how can Gwennap say he doesn’t “see anything that looks compelling”? Admittedly, an analyst with 15 years of industry experience can make some fairly educated guesses about what’s going on under the hood, but in the end it’s just speculation.
A Poem to Be Read by an Apple II Disk Drive 
[d-d-d-d-r-r-r-r]
[doot-doooot-doot-whzzzzz]
[d-d-d-d-r-r-r-r]
[dt-doooot-doot-whzzzzz]
[dt dt dt dt]
[dt dt dt dt]
[dt dt dt dt]
[dt dt dt dt]
[dt dt whzzzzzzzzzzzzzzzzzzzz dt]
[dt dt dt dt dt dt dt dt dt]
Just Start 
The problem with saying things like “Obama should motivate young people to be entrepreneurs” or “2010 should be the year of Start-Up America” is that it implies that we are incapable of doing these things on our own. It’s a cop-out. How can we expect a slow, bureaucratic entity that is prone to chronic infighting, corruption, and foot-dragging to stimulate innovation? We, the entrepreneurs, do what we do against all odds, and when we succeed it is due to our vision, agility, and follow-through—not because we were awarded a handout from Uncle Sam. Stop whining that this stuff should be easy. It’s not. We don’t create Apples and Googles and Ciscos because it’s easy.
And if it looks anything remotely like a 7” iPhone, I’ll eat my hat.
Transitivity? We Don't Need No Stinkin' Transitivity! 
I want to stop posting these. I really do.
// The setup.
class Foo {}
$array = array();
$object = new Foo();
$array > 100; // This is true.
100 > $object; // This is also true. (Wha?)
// The punchline.
$array > $object; // THIS IS FALSE!
If $array > 100 and 100 > $object, shouldn’t $array > $object? Also, doesn’t the language documenation say that when comparing an object to any other type, the object is always greater? What the fuck, PHP?
![]() |
Drawing for Understanding: As a visual thinker, whenever I get stuck on a programming project, I whip out my sketchbook. An abstract diagram—no annotations necessary—usually clears up any confusion I have over tangled object relationships. |
Fatal Error 
As a programmer, this news terrifies me: software glitches in medical linear accelerators caused the deaths of two cancer patients in New York. Unstable software controlling potentially deadly machines is an intensely hazardous mix. These accidents should be of grave concern to the entire software industry—we can be coldly unconcerned when we hear that a buffer overflow attack caused the leak of millions of passwords, but a death is always a more persuasive motivation for improved safety.
In one of the cases mentioned in the Times article, a series of computer crashes apparently failed to save the treatment files for a patient. Between software crashes, the machine operators did not realize that the instructions for the machine were not saved, leaving an aperture wide open for the full dose of radiation.
Unfortunately, this sort of accident is nothing new. Radiation therapy machines have killed people before—the Therac-25 comes to mind—and it’s frightening that the industry has still not come up with stricter safety and security requirements.
The truth is that writing software is hard. I certainly don’t envy the programmers writing software for any system where lives are on the line, but the inevitability of software bugs is a feeble excuse for faulty software. Even though arithmetic overflows and race conditions are notoriously hard to spot, we have tools to minimize them. Static analysis can identify many potential errors before the code is even run. Code written in functional languages can be proved mathematically to be correct.
Accountability, however, is the bottom line. A structural engineer who signs off on a building that collapses after construction will have a difficult time repairing his damaged reputation. If programmers faced similar consequences when lives hung in the balance, there’d be more encouragement to write safe and stable software.
The System Is Down 
Can the people file a class-action suit against the senate? Our representatives are more concerned with knifing the other party than the country’s well-being. And the minority party is using an unconstitutional tactic to get their way. That fifteen percent of the population can effectively block legislation backed by the majority of Americans is simply not democracy.
To be clear, I’m disgusted with both parties. Politics will always involve compromise, but the health care debate is bordering on farcical. The current situation has overtones of an exasperated parent calming a tantrum-throwing two-year-old. The Rebublicans have their collective fingers in their ears, stubbornly screaming “NO” while the Democrats keep making concessions in an effort to get the howling brat to stop making a scene in public. Neither strategy is politically viable in the long term.
It’s a shame the current political environment is so hostile to reason that intelligent people with sensible solutions to real problems take the only logical course of action—to stay out of politics.
Cupertino Kremlinology 
In preparation to try my hand at Apple prognostication, the standard disclaimers apply: I have no inside information, I am engaging in idle speculation, and I am fully prepared to eat my words. Okay. Let’s get started.
I’m not interested in what unreleased hardware will look like, since it’s safe to say anything designed by Apple will be simple and breathtakingly beautiful (as usual), and will solve the associated design challenges with kick-you-in-the-pants obviousness.* The interesting question I keep coming back to is whether a tablet device will run the iPhone OS, and by extension, run iPhone apps.
First of all, since the rumored tablet would presumably have more in common with an iPhone than your mom’s MacBook—multitouch screen, accelerometer—it’s safe to say it would not be running Mac OS X. Apple has already created a mobile version of OS X—the iPhone OS. Furthermore, it’s clear that Apple has designed Cocoa Touch from the beginning to have enough headroom to grow into a device with a larger screen. (Which might explain why the SDK took so long.) Evidence of this includes the UIWindow class, which exists even though iPhone applications display only one window. I bet Cocoa Touch on the tablet will allow multi-windowed applications.
I would also wager that the device would be able to run existing iPhone apps without any trouble. I’m almost positive, however, that they won’t run full screen. App developers have spent too much time optimizing their UIs so widgets are relatively finger-sized. The interfaces simply won’t scale without usability problems.
Given that size is less of a constraint in a tablet device, I expect the hardware to be powerful enough to support multitasking. This, combined with the presumption that the tablet would run iPhone apps at their native size presents an interesting UI possibility. I envision a dashboard-like layer where a limited number iPhone apps run as widgets on the tablet.

Picture this: iPhone apps launch on a translucent layer where a pair of widgets run side-by-side on the screen. A simple swipe will switch between pages of running apps that don’t fit on the first screen—just like having multiple pages open in Mobile Safari. Capping the number of simultaneously running apps is as simple as limiting the number of pages in the widget layer.
Apple would be crazy to launch a device without the momentum of the App Store behind it, and the only way hit the ground running would be to let existing iPhone apps run on a tablet. In the end though, Apple has spent far more time thinking about these problems and refining the solutions than all of the armchair product-designers and rumormongers combined. I may be wildly off predicting the app switcher, but it’s a fairly safe bet that whatever we see next Wednesday will blow us away.
* I won’t speculate on text input other than saying that I don’t expect to see Inkwell, Mac OS X’s pen input software, anywhere near this thing. Considering there’s no page dedicated to Inkwell on Apple’s website, it’s easy to guess how Jobs feels about this technology.
The Future 
First of all, I’d like to get one thing out of the way so we can move on. The title of the post has to be read (either silently, to yourself, or—preferably—out loud) in a voice like the narrator of this video. Thank you.
Alright, where was I? Oh yes.
We live in an age where my operating system can auto-detect my printer and auto-install its drivers. But a corollary of Newton’s third law states, for every advance in usability there is always an equal and opposite set of new and baffling features.
Take “high altitude correction,” for example. I had no idea that printers could suffer from hypobaropathy. Hey Samsung engineers, can’t you just throw a barometer in there and auto-tune that setting yourself?
Whatever. It was kind of cool that I could auto-enjoy my dinner last night instead of spending two hours manually downloading and installing printer drivers.
Sodium Dreams