Skip to content

Link Colors

Jakob Nielson just commented that visited and un-visited links should be different colors. OK, fine, that should be a given. What about links that are a different color to an off-site page?

ShareClip

I just found a really cool free program called ShareClip. It shares text from your clipboard with one other computer, in very near real time. It works on Mac OS X, Windows, and Linux. I will find this very handy as I continue moving from Windows to the Mac at home. ShareClip.

Site changes: April 16, 2004

Finishing touches of new design, tons of small content updates and fixes. New sections include the blog, Photo galleries, and domain registration page.

Distributed Computing

Distributed Computing is merely splitting a complex process (an algorithm) into parts that can be shared by several different computers.

An Easy Example

A (not too realistic) example would be if you were asked to add up all the integers from one (1) to a thousand (1,000). You could get out a calculator or a big sheet of paper and start adding up the numbers. 1 + 2 + 3 + 4 + 5 + 6 + etc. Eventually you would ask someone to help you. Maybe get them to start adding from 900 to 1,000. 900 + 901 + 902 + 903 +904 + etc. And then they get someone else to take care of adding the numbers from 800 to 899. And so on until eventually you’ve got several dozen people adding up a range of numbers.

When each person finishes their range, they send them back to one person who keeps track of what work has been done. Once all the ranges are done, each total is added together to get the grand total of the original range. Tada! You’re finished! This process would work for any range of numbers that needs to be added.

But wait, some bright soul notices a pattern in the range of numbers. Instead of going through the trouble of adding everything you can just do a few math tricks. The formula would be (low of range + high of range) x (number in range / 2) or (1 + 1,000) x (1,000 / 2) = 1,001 times 500 = 500,500 (five hundred thousand, five hundred). This improvement (or optimization) to the algorithm will help us in the future if a similar problem occurs.

A Real World Example

The movie industry uses computer animations for movies, such as Toy Story. Instead of having just one computer working to create the thousands of graphics required for the movie, dozens of computers were used to render hundreds of graphics each.

A More Realistic Example

A Mersenne Prime Number is a special form of a prime number. A Mersenne Prime is a prime number expressed in the form 2P-1, where P is a prime number. There are currently only 40 known Mersenne primes. A special mathematical test can be done to see if a number is a Mersenne Prime. This highly optimized test takes up to several weeks on a fast Pentium computer. This effort is called the Great Internet Mersenne Prime Search, known as GIMPS.

If you wanted to look for a Mersenne prime, you could do research in mathematical text books, or on the Internet, learn how to program, and then write your own program to run the test. Or you could join in with thousnds of people working with the GIMPS effort. You would be assigned a range of numbers to test on your computer. My computer is testing a prime number for Mersenne primeness. Is 23,624,139-1 a prime number?

I don’t know but I will know in about two weeks.

I don’t have to do anything, because my computer is doing all the work. The program runs in the background at the same time as all of my other programs. I can check my e-mail, surf the web, write papers for class, program, play games, and I don’t see any effect on the speed of my computer while it is testing for prime numbers.

In fact, the program will automatically even ask for numbers to test when it is completed testing my range. It knows when it is almost finished and will check with the main PrimeNet server and get the next range to test. But if it does find a prime, you get the credit for the work. Is that cool or what? You gain your place in history as the discoverer of a Mersenne Prime number!

A Non-Mathematical Example

So, mathematics doesn’t cut it for you. How about trying to win cash?

RSA Laboratories has decided to give a prize of $10,000 to whomever decrypts a secret message that they’ve put on their web page. They have even said what the first few words of the message are, and have even said what formula they have used to encrypt the message. No problem, right?

Wrong! There are only 18,446,744,073,710,000,000 different possibilities of what the key is that will decrypt the original message. Think of it like this:

I have a password on my computer so that no one can read my e-mail. But because you know that my program only allows passwords to be a letter of the alphabet, there are only 26 different passwords that I could use. If my program were improved to allow two letters, there would be 262, or 676 different possibilities. You could try those in a couple of hours probably.

So a group of programmers felt that they could search all of the possible keys for this encrypted message. They have created a non-profit research organization to break the code and get the money. The name of the organization is Distributed Computing Technologies.

There are thousands of people running the software to try and break the code. The program sits in the background and communicates over the Internet to get a range of keys to test. Eventually, every single key will be tested, and the message will be decrypted. If your computer is the one that finds the magic key, say hello to your share of the $10,000, which would be $1,000.

But it is going to take forever to test that many different possible keys!

True, the current estimate is that it will take about 25 years to solve the puzzle. But the RSA Laboratories had an earlier contest that also had a $10,000 prize. The number of keys for that contest was much smaller. When the contest first started, it was estimated that it would take 75 years to find the key. But people recruited friends to run the program. And the program was optimized nearly every month. Distributed Computing Technologies found that key in only 250 days.

The key to the problem of a long time to finish a task in distributed computing is to get more and more computers working on the problem. The programmers could spend a lot of time tweaking their programs, or every person that is involved in the effort could try to get just one more computer involved.

So what’s the Big Deal?

The big deal is that anyone with a computer can participate in either or both of these efforts. And you can help too.

If you’re interested in helping, go to one of these pages and download the software. Each of these efforts has a mailing list to offer support and discussion about the issues involved.

Still, not impressed? Look a few years into the future. More than likely all computers will be connected to the Internet. All the time. Never turned off. They might as well be doing something useful while you are at work. Or asleep. Or eating. What if Steven Spielberg wants to create super-colossal graphics for Jurassic Park XII? Instead of buying several dozen computers to render the graphics, he could buy time from you to render some of the frames on your computer.

Your computer runs a special graphic program that reads a data file from the main server. Your computer takes a couple of days to render the image. And then sends the final image back to the server. And Steve Spielberg’s server automatically transfers a couple of dollars into your checking account for every image you create. You may even get credit in the movie’s screen credits. And you didn’t have to do a thing but install some software.

Until we get to the point of getting reimbursed for helping in these efforts, we will be helping figure out the logistics of the process. Have you ever tried to coordinate over 12,000 people using over 20,000 computers to solve a math problem? And then tried to reimburse them? What we are doing today will help future programmers, administrators, and network designers.

Other Distributed Computing Tasks

There are many other distributed computing tasks that you could participate in, but they aren’t as user-friendly as GIMPS or the RSA Laboratories challenge. Most deal with number crunching, but one other unique project is SETI, the Search for Extra Terrestrial Intelligence. This will allow you to download actual radio transmisions from the mega-radio telescopes and search for messages from aliens. If this interests you, you can get more information at the SETI web page.

Usage Statistics for PlanetMike.com: 2003

Usage summary for PlanetMike.com

Summary by Month
Month Daily Avg Monthly Totals
Hits Files Pages Visits Sites KBytes Visits Pages Files Hits
Dec 2003 4,045 3,616 2,125 784 13,620 588,798 24,327 65,896 112,097 125,415
Nov 2003 3,081 2,727 1,447 661 9,460 448,786 19,837 43,412 81,817 92,440
Oct 2003 3,138 2,755 1,516 600 9,063 495,728 18,615 47,025 85,422 97,303
Sep 2003 3,048 2,728 1,605 545 6,894 544,215 16,376 48,166 81,854 91,462
Aug 2003 2,405 2,185 1,155 428 5,621 348,040 13,296 35,829 67,758 74,577
Jul 2003 2,222 2,046 1,142 475 6,077 368,322 14,755 35,431 63,440 68,882
Jun 2003 2,120 1,942 1,091 449 5,987 302,965 13,479 32,749 58,265 63,621
May 2003 2,150 1,957 1,079 488 7,259 299,599 15,151 33,478 60,697 66,651
Apr 2003 2,322 2,076 1,171 485 7,937 315,849 14,574 35,138 62,295 69,675
Mar 2003 2,673 2,359 1,279 590 9,457 351,256 18,292 39,654 73,150 82,867
Feb 2003 2,655 2,407 1,364 612 8,050 334,208 17,137 38,192 67,408 74,355
Jan 2003 2,469 2,180 1,236 557 7,642 340,685 17,293 38,319 67,590 76,539
Totals 4,738,451 203,132 493,289 881,793 983,787

Introduction to Cryptography

Cryptography is the process of scrambling information so that it can only be read by those people who know how to unscramble the data.

For example, you can make a rule that you will shift all letters in the alphabet by three letters. So the letter “A” is represented by “D”, “B” is represented by “E”, and so on. So the sentence “Mike Clark is a great guy.” would be shown (or encrypted) as “Njlf Dmbsl jt b hsfbu hvz.”

Original Alphabet: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Encrypted Alphabet: BCDEFGHIJKLMNOPQRSTUVWXYZA

You could also randomly assign letters to represent other letters. Then to figure out the original message (or decrypt) , instead of trying all 25 alphabetic shifts, you would need to have the original matchings. The major problem with this type of encryption is the English language has many sequences of letters that are more common than others. For example, “e” is the most common vowel, while “t” is the most common consonant. If an encrypted message has lots of “uif” sequences, that word may be “the.” This is how you can solve cryptograms in the newspaper. Look at how frequently letters appear, and then “guess” the most common letter is actually an “e.” If you have several three-letter words ending in “e,” maybe that word is actually “the.” Then fill in the “t” and “h” letters to see if any other words appear. It’s just like playing Wheel of Fortune.

Over time, mathematicians have come up with more difficult algorithms (or formulas) to hide the original message. An easy way to do this is to remove spaces between words. “NjlfD mbslj tbhsf buhvz.” is harder to figure out than “Njlf Dmbsl jt b hsfbu hvz.” You can also remove capitalization to make it harder to figure out. “njlfd mbslj tbhsf buhvz.” is even harder because you can’t assume there are two names at the begining of the phrase.

There are hundreds of different encryption algorithms.

Site changes: December 6, 2003

Started converting pages over to the new design. (Editor: wow, moving pages from static html to shtml, and now again into a database.)

Site changes: November 30, 2003

Validated new site design to XHTML 1.0 transitional, wth valid style sheets.

Site changes: November 25, 2003

Started site redesign.

Usage Statistics for PlanetMike.com: 2002

Usage summary for PlanetMike.com

Summary by Month
Month Daily Avg Monthly Totals
Hits Files Pages Visits Sites KBytes Visits Pages Files Hits
Dec 2002 2,316 2,070 1,181 549 8,279 353,346 17,046 36,630 64,194 71,817
Nov 2002 2,276 2,022 1,165 518 6,698 320,790 15,567 34,976 60,685 68,303
Oct 2002 2,050 1,784 1,024 471 6,315 296,744 14,627 31,774 55,332 63,561
Sep 2002 1,893 1,502 986 387 4,747 259,788 11,636 29,583 45,065 56,803
Aug 2002 1,728 1,410 902 367 3,729 204,450 9,909 24,362 38,075 46,660
Jul 2002 1,140 1,037 571 228 4,798 132,705 7,098 17,716 32,158 35,343
Jun 2002 1,257 1,103 622 234 5,151 131,303 7,031 18,684 33,112 37,732
May 2002 1,217 1,047 525 220 4,888 131,751 6,828 16,298 32,457 37,749
Apr 2002 1,157 1,075 537 223 4,235 131,115 6,708 16,125 32,265 34,719
Mar 2002 1,066 960 494 201 3,706 115,511 6,240 15,327 29,761 33,054
Feb 2002 978 873 462 159 3,100 97,977 4,469 12,942 24,458 27,406
Jan 2002 894 836 431 140 2,649 104,735 4,343 13,378 25,918 27,733
Totals 2,280,215 111,502 267,795 473,480 540,880