Wednesday, April 9, 2008
Staying Young
I think one of the quintessential traits of youth is a tendency to focus on what can go right while old age focuses on what can go wrong. Sure, there are differences between individuals, some being optimists and some being pessimists. But, there is definitely a trend to become increasingly pessimistic with age. This is, of course, not unexpected. As we get older we have potentially much more to lose.
This same tendency applies to young versus old companies. Google versus Microsoft is an obvious comparison (as was Microsoft vs. IBM back in the day). Two young Turks with a few servers and an above average search engine have nothing to lose. Naturally they will eat drink and sleep what they can do to turn average into insanely great. In contrast, a ~20 yr old company that dominates the market for PC operating systems and application software has plenty to lose. A great deal of company resources must go into thoughts of protecting that turf.
Completely ignoring what can go wrong is called irresponsibility. No middle aged person or successful company can afford to focus 100% on the rosy scenarios. The question for both individuals and company leaders is "what do you want the dominant attitude to be"? The answer defines your age, your culture, your prospects for growth and ultimately the number of years you have left in this world (baring unforeseen tragedy).
I am presently working on a project where we are about to embark on some uncharted territory and it is pretty exciting. I am contractually prohibited on elaborating but I will say the following. The most frustrating aspect of working on this project is the overall dominating focus on what can go wrong. It is truly unbearable sometimes and even borders on the absurd . It should not surprise anyone that the work I am doing is for an older company.
So here is my 2 cents. You only have some many hours in a day and so many brain cells to occupy with thoughts. Be vigilant and make sure that at least 51% of your limited resources are focusing on success and improvement. You'll feel a lot younger.
Tuesday, April 8, 2008
The Law of the Excluded Middle does not apply to Programming Languages
It is not just that these statements can be true for one programmer and false for another. They can both be true to the same programmer on the same exact day. In fact, at this very moment I am compiling some C++ code and am of the opinion that C++ sucks and C++ is great. I think most programmers know what I am talking about. When a language does what you want or allows you to squeeze an extra uSec out of some code that needs said uSec squeezed it feels insanely great to have the privilege of working in that language. When a language gives you a completely cryptic page full of compiler errors before you squeeze out that uSec it really sucks.
This is really all that needs to be said to end all future language wars but like normal war, it will never stop. The average person just can't bare contradiction and this inevitably leads to conflict.
Do I contradict myself? Very well, then I contradict myself, I am large, I contain multitudes.
-- Walt Whitman.
Saturday, April 5, 2008
Encyclopedia of Integer Sequences
Thursday, April 3, 2008
An Open Letter to Jeff Bezos
Dear Jeff,
I am writing to express my utter disappointment in Amazon's apparent lack of commitment to the Kindle. I am hoping my concerns are unfounded and that Amazon will do something in the near term to demonstrate that.
Let me explain. The day the Kindle was announced, I was ecstatic. I ordered it without any hesitation whatsoever. When asked by friends what I thought about the device, I sang its praises. You can find my review on your web site here. And here is an excerpt from an email I sent to my associates.
I read and buy a lot of books. I want the latest books and I don't have time to go to the library and when I do I always pay fines for returning them late. Anyway I like to write in my books so the library is out of the question. When Amazon offered their Amazon Prime service I jumped all over that because it would save me a ton in shipping cost and I can have the book I wanted in two days.
But the Kindle for me is 2 orders of magnitude better than Amazon Prime because:
1) I can have the book instantly.
2) The book is cheaper.
3) I am seriously running out of shelf space.
4) I can't carry more than 3 physical books with me on my 1.25 hour commute from beautiful Oyster Bay
So for me Kindle is not a device it is a SERVICE (yes I know I sound like Jeff B. but it is true).
Here is what this SERVICE gives me:
1) Instant access to all the books I buy hence forth.
2) The Wall St. Journal first thing in the morning (where I live your lucky if it gets there at 9:30 AM)
3) Instant access to a book I want to buy and a discount to boot.
4) Ability to search my books.
5) Ability to add notes.
6) All of this (including my notes) backed up on Amazon.
7) I can hold the Kindle in one hand and turn the pages while simultaneously drinking coffee with other hand while standing in the subway (THIS IS HUGE)!
8) I can read the WSJ without feeling like a complete idiot because I can't figure out how to turn the giant pages without whacking the girl sitting next to me on the train (THIS IS REALLY HUGE).
However, its been 5 months now and the Kindle platform seems to be stalled. Here is what I perceive as wrong:
1) The Kindle still shows itself sold out!
I realize this does not mean your have stopped producing and shipping Kindles. But to be in a perpetually sold out state for 5 months is not good. It may seem good to some but I am suspicious. The iPod is the most successful device in terms of sales in a long time and I don't believe Apple ever listed it as sold out on their web site. No matter how many iPods were purchased, Apple was committed to manufacturing more. There is no way you will have me believe that you are selling more Kindles than iPods, so why can't you keep any in stock?
2) There are a huge number of books I still have to buy as paper.
Why are you not being more aggressive in making deals with publishers like O'Reilly. I am told by my contacts there that your terms are too difficult. Open up your wallet and allow the publishers to make a buck and the Kindle will be the one of the most successful devices of all time (despite Job's pronouncement that no one reads anymore).
3) Why no software updates?
This device is far from complete! There is so many features you left out. Here is my list. I realize not all theses feature would be money makers for Amazon but some new features would show commitment to the platform.
a) Define my own short cut keys
b) Simple PDA functions like a calendar and todo list
c) A feature to turn on and off the wireless at specific times of the day to save battery. For example, I would turn mine on in the morning to receive the WSJ and then off.
d) Email client (besides gmail).
e) Better way to organize books such as user folders, short cut links, etc.
f) A customizable home screen (RSS feeds, weather, etc.)
g) A music player worth using!
I can go on and on.
Please tell me some of these things or better ones are in the works. Please tell me you did not get me all excited about the e-book revolution for nothing! Please stop being so secretive about sales figures. Please re-kindle my enthusiasm!
Sincerely,
Sal Mangano
Tuesday, April 1, 2008
Top 10 Foolish Beliefs

Friday, March 28, 2008
Busy Beavers
My thinking at the time was that Turing pulled out a very contrived type of TM in his halting problem proof. He made the TM self referential to achieve the proof. So my thinking was that perhaps the only class of TM that could evade a halting detection algorithm was the class offered by Turing in his proof. I thought it was possible for the vast majority of other TM to be shown to halt algorithmically. My thinking went as follows:
- A TM is a deterministic device.
- If a TM goes through a sequence of states and at some point returns to a state already visited without halting then that TM will never halt. Here it is important to relaize I am including the tape in the state specification.
My "algorithm" for detecting a TM that did not halt was simply to run a TM in a simulator that at each step would save a snapshot of the entire state and compare to previous snapshots to find a duplicate. If a duplicate was found then it would declare the TM would not halt. For this to actually work the algorithm would have to set some bounds on how long it would run the simulation. I did not think this was a problem because I thought there was obviously a linear or at worst quadratic function based on the number of possible states in the input TM. And, of course, this is where I was wrong. Had I known about Busy Beavers I would not have gone down this road.
It turns out the the Busy Beaver function looks something like this for a two symbol TM:
| States | Steps |
| 1 | 1 |
| 2 | 6 |
| 3 | 38 |
| 4 | >=3,932,964 |
| 5 | >=1.9 × 10^704 |
Linear indeed!
The silver lining for me is that I learned a very important lesson (besides the one about not doubting a mathematical proof by someone of Turing's stature that withheld the scrutiny of thousands of individuals of similar stature). I learned that human intuition about the emergence of complexity from simple mechanisms is woefully poor. This lesson is repeated when we look at Cellular Automata in NKS. Its also repeated when we compute the number of possible configurations of a chessboard and compare that the estimates of the number of atoms in the known universe.
Luckily I learned my lessons while I was still quite young. Many individuals who believe themselves to be intellectuals have never learned to not always trust what they believe is intuitively reasonable. That not so bad except they use the web to infect the gullible with their intuitions. So, be careful out there! There are a lot of busy beavers with bad intuition.
