When I was sophomore in high school I got my first computer, a Commodore 64. It had a laughable amount of processing power by today's standards, but as my first computer that wasn't really an issue. Here I had a machine that would do what I told it, constantly, 24-7. After learning basic programming, I figured out an algorithm to brute force prime number calculations and set it to work. I'd watch it race through the early numbers 1 2 3 5 7 11 13 17 23 29 31 37 ... 41 ......43 ......... 47 ........... and then slowly be brought to its knees.
About 5 years later I bought my second computer, a very nice 286 (12 MHz with "zero wait state"). Probably within the first day I had it crunching prime numbers. There's something satisfying about telling a computer to go do something and then watching it work furiously on that task. I remember being in college and instead of shutting it down at the end of the night , I would run the prime numbers program (say, starting at 1,000,000) and see what it had found in the morning.
Another 5-6 years and another computer ... but by then it was 1993 and the internet was starting to crash through the doors. But in due time the internet and brute force mathematics would combine in a new way.
In 1997 the distributed.net organization (just a bunch of computer nerds) started to think seriously about distributed computing. Their idea was to take a very very large task, split it up into digestable pieces, assign those pieces to many computers (using the internet), and then watch the results come in. The very very large task they were tackling was codebreaking.
Important and sensitive data, such as in finance transactions or military communications, is encrypted using encryption algorithms. The distributed.net guys were trying to make the point that computers had gotten so fast that the old encryption algorithms were quickly becoming worthless. What good is a password if your computer can figure it out in 30 seconds?
Looking at d.net's own history page I think I got involved in summer 1997. At that point they had started a serious attack on the RC5 algorithm, again just to show how quickly it could be broken. A few thousand people, myself included, ran software on their computers that basically crunched numbers while the computers were idle. Like a screensaver, it just kicked in when you weren't using the computer. I definitely remember being involved in this by the summer of 1997, because I remember showing it to an engineer in Saudi Arabia, and I was there in June 1997.
As the months wore on, the project got more popular, got more participants, got more press, and eventually they partnered with the EFF and cracked a 3DES message in 22 hours, putting the nail in the coffin of the U.S. government's venerable Data Encryption Standard and paving the way for wider acceptance of the Advanced Encryption Standard. D.net moved on to the search for Golomb rulers, Mersenne primes,and other mathematical endeavors, but I lost interest.
By that time the nerd news vine was chattering about the upcoming SETI@home effort. Berkeley scientists were going to take radio noise collected from space and see if anything interesting could be heard in that noise. They had received seed funding from The Planetary Society and Paramount Pictures, who were about to release the movie treatment of Carl Sagan's Contact (the one with Jodie Foster). In which, by the way, prime numbers feature prominently!
And so, much like with my more recent Tesla obsession, in early 1999 I began regularly checking for word about the software release. Every day I'd check the SETI@home website to see if they'd released their software to the public yet. And so it was one day, as I was having lunch in my office, that I idly went to the SETI@home website to check on it, and they had publicly launched their software that morning!
Within minutes I had it running and was starting to benchmark the speed of my computer. It was sobering to see what a massive task each SETI@home work unit entailed. I watched the percent-complete number tick up from 0.000%, 0.001%, 0.002% ... Gulp. This was going to take a looooong time.
And so the search was on for other computers to run it on. I ran a small tech demo room that had a couple terribly under-utilized Sun workstations, and within days (perhaps hours) I had them running the software too.
That was May 17th 1999, ten years ago today.
The guys at SETI@home (and they remain a very small team) are this week celebrating their decade of work. Despite their towering profile in the nerd community, they have minimal funding and it has been a constant struggle for them to keep up with the demand, especially as computers have gotten faster and faster and have placed more demands on the infrastructure they maintain to keep handing out chunks of radio noise. Recently they released software (called CUDA) that takes advantage of the graphics processor in your computer. Pretty much every computer today ships with a extremely fast graphics engine, designed for the purpose of rendering fancy 3D graphics on your screen, but which only a small percentage of people actually use The SETI@home guys are figuring out how to tap into that wasted computing power.
So this Thursday I will be watching as the SETI@home guys celebrate their 10 years of work, and look forward to their reports and presentations on their progress:
- SETI@home website
- anniversary background info
- May 21st 2009 program agenda
- May 21st 2009 program streamed online
And, of course, I wait for the day that they find little green men!