Saturday, February 12, 2011

The Singularity will be in 2095

I've roughly calculated when the Singularity will occur. Someone sanity check this.

We'll use this as our definition for the Singularity: The point at which the total CPU capacity of all devices of humankind equals the CPU capacity of all the brains of humankind.

According to an article in Science, written up in Ars Technica, the world's total CPU power in 2007 equaled one second of neuron firings in one human brain.

Moore's law states that we can double the number of transistors on a chip every 18 months. Yes, at some point we will hit the limit; perhaps we'll change to optics, or qbits, but let's run with it.

There are 31,536,000 seconds each year, or a little under 2*2^24.

Based on an 18-month cycle of doublings, that puts us at 34.5 years away from total capacity equalling one brain. Figuring around 8 billion humans by the end of the century, that's a little over another 33 doublings required to equal all brains. Call it about 49.5 years. Population growth may push that out a few more months, but not much; that's on a very, very close order of magnitude (2^33 = 8.6x10^9.)

The Singularity will be in 2095.

I probably won't live that long, but my daughter has a damn good shot at it. AWESOME.

(Thanks to Stross's Accelerando for the inspiration, and Ars Technica science writer John Timmer for providing the data required for this.

Friday, August 21, 2009

Apple has publicly published their response to the FCC's questions about the App Store approval process.

It's a masterful mix of answer and evasion. But there are a few gems in there... including two separate items that together may explain the lousy app review process.

"There are more than 40 full-time trained reviewers, and at least two different reviewers study each application so that the review process is applied uniformly."

"We receive about 8,500 new applications and updates every week..."

8500 updates, each reviewed by two reviewers, means this staff has to conduct 17,000 reviews per week. The exact number of reviewers could be anywhere between 40 and infinity, but let's assume there are 45 (or they would have said "more than 50", right?).

This means each reviewer must review 378 apps per week (with a range of 414 to 347, depending if there are 41 reviewers or 49 that comprise "more than 40").

At that volume, reviewers must review 9.45 apps per hour (assuming a 40 hour work week) ... taking just 6.35 minutes each.

With so little time to review apps, it's no wonder the app store review process is horribly inconsistent, and that developers consistently report uninformative feedback -- or simply none.

Even if every single reviewer worked 80 hours per week at this thankless work, 12.6 minutes per review still is hardly enough time to do a thorough, thoughtful job.

No wonder Apple's app review process is a mess. They have a small staff doing enormous amounts of work with not nearly enough time to do it in.

Saturday, December 20, 2008

Factors affecting hard drive performance

I apologize in advance for presenting "a friend" anecdote.

There is more to drive performance than spindle speed. Areal density -- how tightly the bits are packed -- is another big factor.

Spindle speed affects how quickly the disk can get a sector of data under the drive's read/write head, and numerically, a 5400rpm drive is always going to average slower than a 7200rpm drive. That's important because sometimes the data you want is on the other side of the platter, so you might have to wait 12 or 16 milliseconds for it to get to you. A faster spindle speed decreases this wait time -- important when the data you seek is scattered around the disk.

But what if you pack the bits more tightly, fitting more megabytes into the same space on those spinning platters? Then you can read/write data on those platters more rapidly because they're whipping more data by the read/write head in the same amount of time. Your data throughput goes up, so you spend less time reading/writing. In plain terms, a single-platter 320 GB drive will push data through more quickly than a single-platter 250 GB drive of the same spindle speed. And sometimes that increase in areal density outweighs the effect of spindle speed.

Here's where the dreaded "my friend" story comes in (don't worry, it's short). He upgraded the drive in his MacBook Pro from a 7200rpm, 200 GB drive to a 5400rpm, 320 GB drive. He was expecting a performance drop, but found that thanks to increased areal density, the newer drive was much faster. And not only in benchmarks, but in actual use -- speed he could "feel" in system responsiveness.

This demonstrates that spindle speed, while important, isn't the only factor affecting overall performance.

We also should keep in mind that drives have generational improvements as well, as their designers improve electronics, firmware, manufacturing techniques and materials, etc, from year to year. A current generation drive will almost always out-perform the previous generation of same capacity, spindle speed and number of platters. And as we saw above, a current generation drive may even outperform last year's drive that has a higher spindle speed!

While Winchester-style drives have increased throughput hugely over the years, spindle speed remains a limiting factor; today's 3.5" drive's average seek time is hardly improved over the 3.5" drive of ten years ago, despite holding a thousand times as much data. Techniques such as native command queuing in newer SATA drives can re-order and optimized read/write operations to minimize this effect (and server grade SCSI drives have been doing this for a long time), but fundamentally, there isn't much getting around it. Minimizing seek time really does come down to spindle speed.

Veering slightly off topic.... I've recently had the opportunity to play with Western Digital's "VelociRaptor" 10,000rpm, 2.5" desktop drive. It's stunningly fast. It combines the advantages of high spindle speed, high areal density, and the short head seek distances inherent in small platters. This drive is pushing nearly 2/3 the data rate of my 2-disk 7200rpm RAID stripe in my Mac Pro, and *faster* access and improved overall system responsiveness. It's quite something. If we could get this sort of performance into a laptop drive, then the MacBook Pro could offer darn near the same performance of a desktop Mac!

Wednesday, October 15, 2008

DisplayPort and the new MacBooks

Here is a very, very good article on DisplayPort.

Let me highlight a few things that will help shed light on Apple's new 24" LED Cinema Display with DisplayPort:

1. DisplayPort uses a packet data architecture (like Firewire and Ethernet) which is very different from HDMI or DVI.

2. DisplayPort carries audio, video, and data, all bi-directionally.

3. DisplayPort can send a DVI-type signal for conventional displays.

4. DisplayPort is designed to handle internal as well as external connectors. It's practically custom-made for laptops, with the ability to carry commands to devices such as backlight (for brightness), status lights, etc over its data channel, without adding more wires.

It's now clear to me that DisplayPort is not just another variant of DVI. (HDMI is basically DVI + audio + a specific encryption protocol, and it's not bidirectional.) This means that it could be very challenging to make the new 24" LED Cinema Display work with older MacBooks and MacBook Pros.

Not impossible, surely -- remember the $400 DVI-to-ADC adapters sold before Apple started selling their own? -- but not a simple physical adapter like Firewire 800-to-400. And, probably not cheap either, unless someone like Apple themselves throw enough business to a manufacturer to amortize the development cost across a lot more units than most niche players can expect to sell.

(Thanks to Daring Fireball for the link.)

Tuesday, October 14, 2008

Marginal revenue maximization

Remember the Pro/Consumer Portable/Desktop 2x2 product matrix Steve Jobs introduced a decade ago to simplify Apple's confusing product offerings? It has completely fallen apart. Let's examine what you can buy today:


MacBook (Plastic): $999, entry level
MacBook (Metal): $1300, entry level + style
MacBook (Metal): $1600, entry level + style + CPU boost + disk
MacBook Air: $1800, light weight
MacBook Air SSD: $2500, light weight + high tech + less slow CPU
MacBook Pro 15": $2000, power user + Firewire
MacBook Pro 15": $2500: power user + Firewire + RAM + disk + minor CPU boost
MacBook Pro 17": $2700: power user + Firewire + big display (- slower GPU!)

Apple has hit the entire gamut of possible price points between $1000 and $2000, in roughly $200-300 increments. I think the goal here is not simplicity like in 1999, but maximizing revenue from each potential buyer.


Desktops have a similar distribution of prices, but there is less functional overlap across families:

Mac Mini: $600, entry level, BYOKDM
Mac Mini (fat): $800, entry level + disk + CPU + SuperDrive, BYOKDM
iMac 20": $1200, entry level complete system
iMac 20" (fat): $1500, entry level complete system + CPU + RAM + disk
iMac 24": $1800, deluxe complete system
iMac 24": $2100, deluxe complete system + CPU + disk + GPU
Mac Pro (CTO stripped): $2300, expandable base
Mac Pro: (standard): $2800, power user standard 8 core

Once again, they're hitting a bunch of price points, from $600 to $2800 at fairly even $200-300 increments.


Wednesday, September 17, 2008

Crossovers Chromium

Codeweavers released Crossover Chromium today, which runs Google's Chromium Browser in the Crossovers/WINE environment. They disclaim that it's not really polished yet, and was released in this state mostly to show how quickly it could be done.

I downloaded it to give it a try anyway. It took a couple of minutes to start up for the first time. Runs fine although scrolling is a bit jumpy on the iMac Core Duo I'm testing it on. Like all apps running in WINE it has a few font issues from where the original app was designed to use the commercial Windows fonts: text is displayed instead using freely available fonts, so there are display glitches such as button labels overflowing the buttons.

Crossovers Chromium screenshot

Due to the font issues, CxChromium can't really be used for proofing final web page designs because the pages won't look quite like they would in Windows -- but for functional testing it is a nice tool to have in the web developers' toolkit.

Plus, it gives a way for Mac users without VMware/Parallels/Virtualbox/etc to try out Google Chromium and find out what all the fuss is about.

Saturday, September 13, 2008

On competition and self-interest

A MacInTouch reader wrote: Apple has no obligation to faciltate competitors in any way, shape or fashion. If they reject an App Store item because it competes with them... well, why not?

Answer: Enlightened self-interest: "Enlightened self-interest is a philosophy in ethics which states that persons who act to further the interests of others (or the interests of the group or groups to which they belong), ultimately serve their own self-interest."

In other words, a healthy ecosystem of third party developers for iPhone benefits Apple. Think on this: You can walk into Target, Wal-Mart, and Best Buy, and all of them have an entire section with nothing but iPod accessories. To someone thinking about buying an MP3 player, if all else is equal, do you want to buy a Sansa that has no add-ons available, or an iPod with dozens of cases, speaker systems, car adapters, and so forth? Which one looks like a better long term choice?

Software is the same way. Remember the dark years of the mid to late 90s when one of the reasons people switched away from Mac was the lack of software. Even today, with thousands of useful applications available, you sometimes hear "there isn't much Mac software".

It's only a matter of time until Motorola, Nokia, Samsung, etc get their act together and start creating interfaces as good as iPhone. RIM is already well on its way with the new Blackberry Bold. All of these companies already have third party developer ecosystems in place and active, open and unencumbered (few NDA limits) developer networks. When Apple's competitors finally catch up -- which they will, or close enough, just like Windows did -- what will be the compelling reason to buy an iPhone? The Apple logo on the back? I don't think so.

Apple has turned the mobile phone industry on its head and dramatically raised the bar. But that doesn't assure success, and unlike digital music seven years ago, the mobile phone industry has little market growth opportunity. The only path to significant growth in this industry is winning customers from your competitors. Today, iPhone is winning customers away from RIM, Motorola, Nokia, Sony-Ericsson, etc. In the future, they will try to take those customers back with interesting, compelling products -- and part of that is availability of third party apps, from games to productivity.

It is very much in Apple's long term interest to encourage a healthy, profitable developer community for iPhone.