Nathan Myhrvold, the former CTO of Microsoft, is also a bona-fide physicist. He holds physics degress from UCAL and Princeton. He even had a postdoctoral fellowship under the famous Stephen Hawking. Thus, as you might expect, his 1997 ACM keynote presentation, The Next Fifty Years of Software is full of physics and science metaphors.
It starts with Nathan's four Laws of Software:
Myhrvold goes on to describe software development as a state of Perpetual Crisis. The size and complexity of software is constantly rising, with no limit in sight. As we develop more advanced software-- and as we develop solutions to manage the ever-increasing complexity of this software-- the benefits of the new software are absorbed by the rising tide of customer expectations. Software development will never be easy; new software always has to push against the current complexity boundary if it wants to be commercially successful.
This was all written in 1997. Nearly ten years later, are his points still valid? Software is certainly still a gas. Now that we're entering the multi-core era, there is one crucial difference. Historically hardware has gotten more complex because of limitations in the ability of software to scale; now the software needs to get more complex because of limitations in the ability of hardware to scale. The burden of scaling now falls on the software.
Myhrvold then makes an interesting point about the amount of storage required to capture human diversity. If..
The individually unique part of the human Genome can be stored in ~1.2 megabytes. Thus, you fit on a 3.5" floppy disk.
In fact, the entirety of human genetic diversity for every living human being could be stored in a 3.7 terabyte drive array. And the entire genetic diversity of every living thing on earth could be stored in roughly the size of the internet circa 2001.
I'm not sure what that means, exactly, but I love the idea that I can fit myself on a 3.5" floppy disk.
On the other hand, each of our individual brains might be the size of internet.
poni on September 8, 2006 11:08 AMYeah, but you'd have to be able to find a floppy drive to read it. ;)
Kevin Dente on September 8, 2006 11:14 AMGood point, the brain has 100 billion neurons and these cannot be represented by simple 1 and 0. Also, each neuron is connected to hundreds of neighboring neurons biologically. It would be difficult to accurately model a handful of neurons given today's technology. Imagine an entire brain. And thats on a per-human basis. The idea that you fit on a floppy disk is akin to the idea that your soul fits on a 6X4 glossy photograph some journalist just took of you. Have you ever met identical twins? They may share the same genes, but they sure aren't the same person.
Also, you keep harping on how difficult it is to make software that runs well on multiple cores or how the burden is on us to make software faster. Is multi-threading really that difficult? Really? When you're making decent software, it's par for the course to use multiple threads unless you want the GUI portion of your app to freeze up while the main thread hammers on some algorithm. There are standard ways to deal with the issues it brings up.
steve on September 8, 2006 11:40 AMNathan's 3rd Law kept the PC business thriving -- large, bloated MS software requiring bigger, faster hardware.
I suppose that's one way to stimulate the job market...
Steve on September 8, 2006 11:48 AMYou fit on a diskette in the same way that me saying to you "picture Marilyn Monroe standing over a subway vent" has the entire content of what you are picturing. There is a huge substrate required for you to fit on a floppy disk :)
Ole Eichhorn on September 8, 2006 12:22 PMAbout fitting on a floppy disk, I'm not sure if that's correct even if one believes that the genome (and not the brain itself) is the only thing that one would need to store. The real issue is that, even if the individual difference between two people is only 0.25% of their genome, it's not the *same* 0.25% for every single individual. You can't just take that 1.2 megs, decompress it, and splice it into some common 1022.8 megs, because it's not actually common to everyone.
I'm surprised that a physicist would use such flimsy reasoning!
The rest is gold though. I didn't realize he was the one that said software is a gas - that, I think, will always be true.
Aaron G on September 8, 2006 1:15 PMI see what you're getting at but I think it would be better to say your genetic template would fit on a single floppy. Certainly all the things that make you an individual person would not fit on anything nearly as small. I for one feel that there are many things that go into the human condition that science has yet to quantify.
Ken on September 8, 2006 1:56 PMOnce again, this demonstrates the confusion between a creature's genetic code and the creature itself.
Is a cake the same as a recipe for a cake? Is a building the same as its blueprints?
If I download the blueprints for a building to a 3.5" floppy disk, does that mean I can take the floppy to an empty lot and start building, given unlimited supplies?
Your eye color (and mine) may be determined by your genes, but research shows that at least some of a person's characteristics can be influenced by environmental factors, such as hormones in the mother's womb.
Your genes don't know any human or computer languages, they don't have your skills, your memory, your history or your personality. In other words, your genes aren't you. They are only part of what and who you are.
Phil M on September 8, 2006 2:24 PMpffft.. 1.2mb? why waste a perfectly good 3.5"? I've got a whole drawer full of 5.25" HD's that'll do the job.
I'm saving all my 3.5's for http://apple.slashdot.org/article.pl?sid=03/04/02/0156253
Dave K on September 8, 2006 3:59 PMTo all these people saying what a bad metaphor it is - get over it! It's bloody obvious that the brain isn't like binary and that genes aren't like a computer language. The post is just a nice little rant that provides us with a chuckle before we carry on with our day...
Stop reading into things too deeply and go outside.
Kane T on September 9, 2006 11:38 PMI don't know if you heard about Pink Floyd famous song ----> Money, Mr. Waters tells ---->
Money it's a gas grap that cash with both hands and make a snatch
I think the software is also like this hit and run ....
Rani on September 10, 2006 1:20 AMIsn't the point with that comparison (as I understood it) that the computers we use today are really extremely slow and inefficent in doing just about anything.
If nature came up with a way to store the complexity of a human in a genom that takes about 1.2G of data then why the need for huge terrabyte drives and 4Ghz dual processors ??
Something is wrong here and the point is someone needs to rethink the approach to computing, I know there are some interesting stuff going on like quantum computing, neural networks and all that but nothing seem to happen with it.
I doubt we ever will have real artifical intelligence unless we can find a way to copy the multitasking of the human brain, which would mean not two way, not four way, but millions of parallell computations going on.
Hi,
good point...
The stronger the machines get, the bigger the software can become. Once, the limitation was hardware...now its usability.
You can now make an app almost unlimitedly big, but usability will kill it!
Best regards
Tam Hanna
> To all these people saying what a bad metaphor it is - get over it!
> It's bloody obvious that the brain isn't like binary and that
> genes aren't like a computer language. The post is just a nice
> little rant that provides us with a chuckle before we
> carry on with our day...
> Stop reading into things too deeply and go outside.
I didn't mean to interfere with your daily chuckle. :-) And if you aren't in the mood for some serious comments, feel free to stop reading now.
I like a daily chuckle. And looking at Nathan's slides again, I guess the floppy comment was included for its shock entertainment value.
But he's also taking it seriously because later he talks about the possibility of "uploading humans" (whatever that means) into the fantastic machines we'll have in 40-50 years.
Computer-based technology (hard and soft) will definitely make incredible things a reality in the decades ahead. I don't think anyone can predict what we'll be able to do.
But I put (strong) AI, uploading brains, etc. in the same category as warp drive and food replicators. Science fiction. (Which I like, by the way...) They may occur someday, but not within the lifetime of today's children.
Saying that just because we can store the bits required to represent our own genetic code means that we are "this close" to understanding the mysteries of life and consciousness is a gross oversimplification.
** N.B.: This comment was automatically generated by a computer program.
Phil M on September 11, 2006 10:18 AMSure, the genome fits on a floppy--just takes WinZip nine months to decompress it, which is well outside that free evaluation period.
Jerry Fritschle on September 20, 2006 1:19 PMthe seed might store some information, but your entire life as you are born, live and interact with the world, is much more :)
Greg Magarshak on December 6, 2007 2:17 AM| Content (c) 2009 Jeff Atwood. Logo image used with permission of the author. (c) 1993 Steven C. McConnell. All Rights Reserved. |