Friday, October 12, 2007

TV typewriter, A TV and a Typewriter

TV typewriter, A TV and a Typewriter

From the historic stories which shows ingenuity and loyalty of a hacker is this one:

One poor MIT hacker had a motorbike accident and broke his leg. He stayed in hospital for a while. During this period two of his friends brought him a terminal and a modem to use his computer from the hospital.

When they went to the hospital they were stopped by the guard saying that it’s not permitted to bring terminals to the hospital, permitted things are: tape players, TVs, typewriters, radios … while computer terminals are not allowed.

They didn’t give up and came the next day and a guard stopped them again and asked them what are they carrying. They answered a TV typewriter. When the guard investigated the devices, they showed him that each character typed on the typewriter appears on the TV -terminal- instead of paper. Finally the guard said “A TV is all right, a typewriter is all right ... okay, take it on in!"

TV typewriters are real! But not that stated in the story. They are video terminals which display typed characters on a TV and they are connected to a keyboard. Low cost designs were available from 1973, invented by Don Lancaster and published in TV Typewriter Cookbook.

Tuesday, December 26, 2006

Microsoft Shares Your Pain

1% of bugs caused 50% of all incredible system errors.

Microsoft's error reporting system has reduced about 80% of system –as they say- errors which encouraged them to make a new way of error reporting.

Microsoft has evolved a new way of customer feedback system. The idea is that Microsoft knows how pain customers suffer when a failure happens in any of their systems. So, Microsoft's employees must share pain with customers.

Thus, WSYP project or We Share Your Pain. WSYP was developed by Microsoft team in United Kingdom. This project claims that Microsoft can discover which programmer who wrote the piece of code which is responsible for this failure. Then, cause him a physical pain. This is done by a special Aeron chair. So, instead of seeing a message of Send Error Report Don't Send the user will see a message of Share Pain Don't Share. Then the customer will happily choose one of the 3 options for punishing this programmer. And see a live video of the programmer sharing pain with him.

Option 1: Micro-Stun option

Electric shocks are generated through the chair arm sleeves.

Option 2: Micro-Impact option

The back of the chair releases back and thrusts forward into the person sitting, into the chair.

Option 3: Micro-Jab option

Watch it in the video.

There is also an ejection option to eject the programmers who have commutative serious bugs out of Microsoft.

Share and Don't Share message box.

Live video so that customers see the programmer cause their system to fail being punished with the selected option.

Micro stun in action

Ejection mechanism after serious errors

The video and the presentation can be found at:

http://www.microsoft.com/uk/technet/itsshowtime/sessionh.aspx?videoid=9999

A very interesting video

It's interesting to see how Microsoft feels customers' pains.
I have the video it's about 20MB




Microsoft believes that this system will reduce system errors massively.

And I think by know you don't care about being employed at Microsoft.

Friday, December 8, 2006

The first bug

The first bug


Do you what's the first bug or where did the term "Bug" come from?


In 1945 and during the world war II Grace Murray Hopper and a team at the Harvard University were working on Mark II Aiken Relay Calculator.

This primitive computer was facing problems and matters were getting worth till they discovered the problem. It was a moth! A 2-inch moth was trapped at relay #70. The team used ordinary tweezers to remove that moth.

This photo is the log file left by the team.

Last line in this photo: First actual case of bug being found.


They said that they had “debugged” the machine. Thus they used “bug” to describe their problem.


Grace Murray Hopper (1906-1992) was an admiral at the American navy forces. The term “Bug” cannot be related to Grace Hopper because it was used before she used it. She made it popular. So this case didn’t introduce this term. “Bugs” was used during World War II to describe problems in radars. It was also during Thomas Edison's life to mean an industrial defect.


In days of telegraphy tapers need to send dots and dashes of Morse code. And there were the newer, semi-automatic keyers that would send a string of dots automatically. These semi-automatic keyers were called "bugs". These semi-automatic keyers require skilled operators. Or if you are not experienced you would send garbled Morse code.

Bugs and quotes:

  • Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it? (Brian Kernighan)

  • When you say: "I wrote a program that crashed Windows", people just stare at you blankly and say: "Hey, I got those with the system -- for free." (Linus Torvalds)

  • Every program starts off with bugs. Many programs end up with bugs as well. There are two corollaries to this: first, you must test all your programs straight away. And second, there's no point in losing your temper every time they don't work.

  • There are no significant bugs in our released software that any significant number of users want fixed. (Bill Gates) have you any comment??

  • The only man who never makes mistakes is the man who never does anything. (Theodore Roosevelt)

  • Of all my programming bugs, 80% are syntax errors. Of the remaining 20%, 80% are trivial logical errors. Of the remaining 4%, 80% are pointer errors. And the remaining 0.8% are hard. (Marc Donner)

  • Sometimes it pays to stay in bed in Monday, rather than spending the rest of the week debugging Monday's code. (Dan Salomon)

So do you know where “Bugs” originated from?
I don’t know.

But it seems that Grace Murray Hopper case is the first actual bug found.



Monday, October 2, 2006

How to hunt an elephant ?

I wasn't planning to make a series of how to do things but it was a nice coincidence to get this interesting article from Byte magazine.

How to place the right person in the right place?

This is done by:

Sending him to Africa hunting for an elephant and observing his behavior.

Computer scientists:

Use the following algorithm:

1. Go to Africa.

2. Start at the Cape of Good Hope.
/* A rocky headland on the Atlantic coast of South Africa */

3. Work northward in an orderly manner, traversing the continent alternately east and west until you get to Cairo,

4. During each traverse pass,

      • Catch each animal seen.

      • Compare each animal caught to a known elephant.

      • Stop when a match is detected.

This algorithm is used to describe a test data that is designed to ensure that an algorithm is working properly.

Now I will leave you with other various jobs.

"Taken from Byte magazine September 1989"

Professional programmers: Know that this algorithm may not terminate so; they place an elephant in Cairo first then apply this algorithm.

MS-DOS support people: will not bother to hunt elephants in the first place, because everyone knows that you can’t fit an elephant into 640K -memory barrier-.

Mainframe operating system designers: will all hunt the same elephant, and all claim credit for the kill on the grounds that each was working on a virtual elephant.

Software salespeople: ship the first thing they catch and write up an invoice for an elephant.

Hardware salespeople: catch rabbits, paint them grey, and sell them as desktop “elephants.”

Engineers: hunt elephants by catching grey animals at random and stopping when any one of them weighs within +/- 15 percent of any previously observed elephant.

Economists: don’t hunt elephants, but they believe that if elephants are paid enough then they will hunt themselves.

Statisticians: hunt the first animal they see N times and call it an elephant.

Politicians: don’t hunt elephants; they will share the elephants that you catch with the people who voted for them.

Database administrators do not need to go out and capture elephants when they can retrieve them simply with an ad hoc query: SELECT * FROM AFRICAN_CRITTERS 2 WHERE CRITTER_TYPE = 'TERRESTRIAL' 3 AND SIZE = 'LARGE' 4 AND COLOR = 'GRAY' 5 AND TRUNK = 'YES' 6 AND ODOR IS NOT NULL;

Systems integration engineers are not so concerned with hunting elephants as with creating a seamless interface between the elephants and their environment.

For other jobs:

http://homepage.eircom.net/~nobyrne/elephant.htm