Intel launched the Xeon 5500 series (Nehalem-EP) on March 30, 2009, in a joint announcement with HP and Dell at their respective server events. The lineup ran from the Xeon E5504 (4 cores, 2.0 GHz, $188) to the Xeon X5570 (4 cores, 2.93 GHz, 8MB L3, $1,386), manufactured on Intel’s 45nm High-K metal-gate process. Nehalem-EP supported two-socket configurations — the “EP” designation indicated dual-processor capable — with quad-channel DDR3 memory per socket (up to 144GB per socket at launch). Read more
Jan Koum and Brian Acton incorporated WhatsApp Inc. in California on February 24, 2009. Both had recently left Yahoo — Koum after nine years as an infrastructure engineer, Acton after eleven years in various engineering and product roles. They had applied to Facebook in 2009 and been rejected. Koum’s initial concept was for an app that would show a short status beside each contact in your address book — not messaging, but presence: “at the gym,” “on a call,” “battery low.” Read more
A new programming question-and-answer site called Stack Overflow has become one of the places I enjoy visiting. The idea is simple. A programmer asks a clear question. Other programmers answer it. Useful answers move upward through voting, and the discussion stays focused on solving the problem. This sounds small, but it feels different from searching through long forum threads. Read more
Microsoft released the Windows 7 public beta on January 9, 2009 at CES, with Steve Ballmer announcing it on stage. Build 7000 downloaded 2.5 million times in the first week before Microsoft throttled access. The release came less than two years after Windows Vista’s January 30, 2007 launch, making it one of the fastest major Windows release cycles, driven by the need to recover from Vista’s poor reception: Vista’s UAC (User Account Control) generated constant prompts for routine tasks, it required 2+ GB RAM to run smoothly on hardware where XP used 512 MB, and driver compatibility failures at launch had left many users unable to use printers, scanners, and peripherals. Read more
By 2008, cloud computing had moved from a curious phrase into a serious industry strategy. The idea was still surrounded by marketing language, but the underlying shift was real: companies were beginning to treat computing resources as services that could be provisioned, scaled, and billed more flexibly than traditional infrastructure. Read more
The phrase “cloud computing” is appearing more often in December 2008, and I am still not sure I like the name. The cloud usually means somebody else’s computers, located somewhere I cannot see, providing storage or processing through a network connection. Calling this a cloud does not add clarity — it is a metaphor that obscures the physical infrastructure behind the word. Read more
Google released the Android source code in 2008, shortly after the first commercial Android phone reached the market. The release mattered because Android was not presented only as a product; it was also framed as a platform that manufacturers, developers, and the wider industry could build around. Read more
Android 1.0 launched on October 22, 2008 with the T-Mobile G1 (HTC Dream) — the first commercial Android device, sold at $179 with a two-year T-Mobile contract or $399 unlocked. The hardware was built around a Qualcomm MSM7201A processor at 528 MHz with 192 MB RAM and 256 MB internal storage, a 3.17-inch 320×480 touchscreen, and a physical QWERTY keyboard that slid out from beneath the display (Android 1.0 had no virtual keyboard). The Android Market launched the same day with approximately 50 available applications, using a 70/30 revenue split (developer/Google) matching the App Store’s model. Google Maps, Gmail, YouTube, and Google Talk were preinstalled, with native Google Calendar and Contacts sync through Google’s servers. Read more
A personal website is not a very practical object. It needs time and occasional maintenance. Pages break. Links go dead. Designs become outdated. Sometimes you spend an hour on a change that almost nobody will notice. None of this is a good use of an evening, rationally speaking. Read more
Google launched Chrome in 2008 into a browser market that already seemed crowded. Internet Explorer still held enormous share, Firefox had become the favorite of many power users, and Safari was important on Apple’s platforms. Chrome’s argument was different: the browser was no longer just a document viewer. It was becoming the runtime for applications. Read more
Intel announced the X25-M (M for Mainstream) solid-state drive in August 2008, with retail availability beginning in September 2008 at $595 for 80GB and $945 for 160GB. The X25-M used 50nm multi-level cell (MLC) NAND flash manufactured by the Intel-Micron joint venture IMFT (IM Flash Technologies), with an Intel-designed proprietary controller. Specifications: sequential read 250 MB/s, sequential write 70 MB/s, and — most significantly — 35,000 random 4KB read IOPS. Contemporary 7,200 RPM hard drives delivered approximately 80–120 MB/s sequential with about 80–100 random IOPS, constrained by the physical seek time (averaging 8–12 milliseconds) required to move the read head to a new location. The SSD’s NAND flash had no moving parts; a read operation completed in microseconds rather than milliseconds, making the 35,000 IOPS figure roughly 400× better than HDD random access. Read more
Apple opened the iPhone App Store on July 10, 2008 alongside iPhone OS 2.0, launching with approximately 500 applications — roughly 200 free and 300 paid — after Apple had announced the iPhone SDK (Software Development Kit) on March 6, 2008. The announcement reversed Steve Jobs’s original iPhone software strategy: at iPhone’s launch on January 9, 2007, Jobs had said the way to deliver third-party applications on iPhone was through web apps accessed in Safari, stating “the full Safari engine is inside of iPhone, and it runs on the Objective-C run-time, so you can write amazing Web 2.0 and Ajax apps.” Developer community pressure and the commercial opportunity of a native application platform led Apple to reverse course; the SDK was announced eight months after the original iPhone launch. The iPhone OS 2.0 SDK required Xcode (Mac only) and used Objective-C with Apple’s UIKit framework — the same framework used for Apple’s own iPhone applications — giving third-party developers access to the same UI components, animation APIs, multitouch gesture recognizers, and hardware interfaces (camera, accelerometer, GPS, Bluetooth) that Apple’s own engineers used. Apple provided code signing certificates through its iPhone Developer Program ($99/year for individuals, $299/year for enterprise), and all App Store applications had to pass Apple’s review process before being listed — the first time a mobile platform had implemented systematic pre-distribution review of applications. Read more
Version control becomes important the first time a project grows large enough that “final”, “final2”, and “really-final” stop being funny file names. A proper system keeps the history of changes and allows us to return to an older version when something goes wrong. Read more
Mozilla released Firefox 3 on June 17, 2008, accompanied by a “Download Day” campaign that set a Guinness World Record for most software downloads in a single 24-hour period: 8,002,530 downloads. Firefox 3 had been in development for nearly two years since Firefox 2 shipped in October 2006 and incorporated a rebuilt Gecko 1.9 rendering engine with full compliance for CSS 2.1, SVG, and Canvas, a new Places bookmarking system storing history and bookmarks in SQLite rather than flat MRK files, and the Awesome Bar (formally the Location Bar) — an autocomplete field that searched URLs, page titles, and tags simultaneously, presenting results by frecency (a combination of frequency and recency) rather than only alphabetically. Read more
A Multi-Function Display, usually called an MFD, is one of the cockpit systems that interests me because it brings many different kinds of information onto a single screen. Instead of giving every function its own instrument, the display can change according to what the pilot needs at that moment. Read more
Microsoft released Windows XP Service Pack 3 on May 6, 2008 via Windows Update — more than six and a half years after Windows XP RTM (released to manufacturing August 24, 2001) and fifteen months after Windows Vista had launched on January 30, 2007. SP3 bundled approximately 1,174 previously released hotfixes and security patches, including every update released from Windows XP SP2 (August 10, 2004) through early 2008. Several capabilities from Vista and the Windows Server 2008 codebase were backported: Network Access Protection (NAP) client support, which allowed enterprise networks to verify the security state of connecting machines and deny access to unpatched systems; Black Hole Router Detection, improving TCP reliability on networks with Path MTU Discovery problems; and updated cryptographic components including support for later TLS cipher suites. SP3 did not include Internet Explorer 7 (available separately since October 2006) or Windows Media Player 11 (available separately since November 2006) as mandatory updates, nor did it add Vista’s visual shell features — Aero Glass, the Sidebar, or User Account Control. This was by design: SP3 was a security and reliability update for the existing XP user base, not an attempt to bridge to Vista’s feature set. The service pack weighed approximately 316 MB as a standalone download, making it one of the largest service packs Microsoft had released. Read more
Google announced App Engine on April 7, 2008, opening a preview beta limited to 10,000 developers who could apply for access. The initial release supported Python 2.5 applications running in a sandboxed runtime with specific API access: the Datastore (a schemaless distributed database built on Google’s Bigtable), Memcache (distributed caching), URLFetch (for making HTTP requests to external services), and the Users service (authenticating users via Google accounts). Applications could not open raw sockets, write to the local filesystem, or spawn threads — restrictions that forced a specific application architecture while enabling Google to run many customers on the same underlying machines without isolation failures. Read more
One of the nicest things about programming is that sometimes we can look inside the thing we use. With a textbook example, the code exists to illustrate a concept and has been cleaned and simplified for that purpose. With open-source software, the code exists to solve a real problem and carries the marks of that: old decisions left in place because changing them is risky, variable names chosen in 2003 that nobody has renamed since, workarounds for bugs in other people’s software, patches contributed by people who never met each other. Read more
Apple released the iPhone SDK on March 6, 2008, at a press event where Steve Jobs presented it alongside the announcement of the App Store. The original iPhone had launched in June 2007 with no SDK; Jobs had told developers at WWDC 2007 that the way to build iPhone applications was to create web apps in Safari, arguing that iPhone’s full Safari browser meant web apps could be “as good as any native application.” Third-party developers found this inadequate — web apps had no access to the camera, microphone, accelerometer, GPS, contacts, or phone, and had no presence on the home screen. Read more