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

| 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

| 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 | |||||