Thursday, August 28, 2008

Web Widjets

So here's a good idea that's not quite right in terms of it's implementation. Sites like widgetbox (www.widgetbox.com) offer some rather cool add-ons for your blog site. In theory all you need to do is click a few times, and voila, you have a widget in your blog. This is a two part operation. The providing site generates some javascript and/or HTML and the receiving site (your blog) pastes that piece of script into place. An interface between the two helps to automate the process. Or so it seems. I tried several times to get a countdown widget from widgetbox (and from Krista's blog: http://kristalcs855.blogspot.com/) with no success. What I get is an empty box with the rather sad title of "No widget found". I'm sure this is yet another case where despite nearly 40 years of programming in various languages, I just don’t get the concept. I'm usually trying too hard to understand how it works rather than how one might use it. None the less, I don’t have a working widget and I don’t know why. As I have done in the past, I right-click the page and take a look at the source. This is, of course, the source generated by the server which is often not the 'source' code but rather the intermediate result of a load of code on the server and an HTML page template of some kind. In other words, without knowing the intent of the original author, I don’t get any real clues as to why it doesn't work. If I were to ask Kristal, I'm sure she'd say "It worked fine for me". Oh to be the chosen one. But sadly, that is not my lot. I dutifully register, click the buttons and fail - almost every time.
So based on my experience (not yours, mine) I have to say that although the idea is pretty cool and although it seems to work for the chosen ones, it doesn't work for me and I suspect for many others too. And for those of us for whom it does not work, we have no real way to find out why not. And this is a problem because in the brave new world of Web N.0 (where N is a number in a monotonically increasing series) there will be many widgets and all the cool people will have them on their blogs and on their phones and even tattooed into their skin, but I will be left with a pale grey rounded rectangle containing the words "No widjet found".
To add insult to the programming injury, the failed widget includes a button: "Get Widget" so that you too can have a failed widget. Or perhaps not. Perhaps you will click the button under my failed widget and it will work for you. Please let me know if it does so I can order a bigger supply of anti-depression meds next time around.

Nigel
(without a widjet to my name)

Saturday, August 23, 2008

the listening computer

Work started in the early 50's at Bell Laboratories to develop machines which could recognize elements of human speech [1]. Since then there has been great interest in developing systems which can process natural language. Today we find these systems in use primarily in telephone help systems where a computer and a voice recognition and synthesis engine is used to answer questions. The ability of these systems is still very limited and in most cases they are used to recognize just a few words and numbers. The words must be spoken clearly and such systems are often confused by different accents.
Several companies have produced speech recognition systems as commercial products. The author's personal experience with offerings from IBM and Microsoft is that even after considerable training, these tools are poor at best and the resulting manuscript resulting from a dictation session requires so much editing that the overall effort is more than would be required to type it in directly. For those of us who cannot touch type and who are prone to spelling errors and other character reversal mistakes, a good speech to text interface would be a great help. For people with physical disabilities, a good voice interface to a computer could make dramatic changes in quality of life.
The primary driving force for computers that can understand natural language is probably to reduce costs in call centers associated with large businesses. If computers can understand spoken language accurately and this technology can be combined with Artificial Intelligence then we have the potential for really useful support systems which could be far more effective than a poorly trained human reading from a script.
Combining the recognition of human speech with AI systems is being pursued for several research projects notable Project Halo which is funded by Paul Allen's Vulcan Ventures [2]. Project Halo's goal is to produce a "Digital Aristotle" - a teaching tool capable of answering scientific questions. Halo has produced some good results with text input - demonstrating the AI part of the program. In subsequent phases the intent is to include natural language processing and to develop the knowledge base using scientific personnel rather than knowledge base engineers.


[1] "Automatic Speech Recognition – A Brief History of the Technology Development, http://www.ece.ucsb.edu/Faculty/Rabiner/ece259/Reprints/354_LALI-ASRHistory-final-10-8.pdf."
[2] http://www.projecthalo.com/.

the speaking computer

There have been numerous attempts at providing computers with some kind of voice interface. The first step was to provide voice output with text-to-speech engines. IBM pioneered this work in the early 60's. Their work inspired Arthur C. Clarke to include a segment where HAL sings a song in the movie 2001 [1]. The initial offerings were effective but sounded poor. Notable users of this technology include Stephen Hawking and even the rock band Pink Floyd [2]. The most common application was probably in computer games because it provided an advantage. If a game developer wanted to provide vocal instructions to the user, the only way to do that before text-to-speech engines arrived was to record someone speaking the text and play it back at runtime. This approach is still used in foreign language learning applications [3]. By compressing the text as much as possible to limit dynamic range, re-sampling at very low sampling rates and only using the least number of bits possible to encode the data, it was possible to pack a reasonable amount of speech onto a CD. An audio CD can normally hold about 70 minutes of stereo music. By compressing the content even modestly using 8-bit mono at 11 kHz sampling rate, a CD can hold nearly 19 hours of audio. By using less bits per sample, that number can be increased quite a bit more. But consider what happens when we have a text-to-speech engine available. Now we can put 700 MB of text onto the CD and have the text-to-speech engine read it. We trade off the space needed for the code, of course, but in practice it's not much code and we get an awful lot of speech in exchange.
Continuing work on modeling the human vocal system has resulted in modern text-to-speech engines which are not only quite realistic but also capable of presenting in different accents with a clear distinction between male and female voices. The National Oceanic and Atmospheric Administration (NOAA) uses text-to-speech engines to read the weather forecasts on the NOAA weather radio channels [4]. Many companies use similar engines in their telephone support systems to read a list of menu items which the user can choose from by pressing one of the number keys on the telephone pad [5]. More recently, some of these systems have added the ability to recognize spoken language.


[1] http://en.wikipedia.org/wiki/Speech_synthesis.
[2] http://www.ted.com/index.php/talks/stephen_hawking_asks_big_questions_about_the_universe.html.
[3] "Computer Games for Partially Sighted and Blind Children, http://www.tpb.se/barnens_tpb/spel/projekt/report.html."
[4] http://www.nws.noaa.gov/nwr/VIPstatus.htm.
[5] http://www.nortel.com/products/04/ivr/collateral/nn103943.pdf.

Friday, August 22, 2008

The Making of the Atomic Bomb – A review

I recently finished reading Richard Rhodes' "The Making of the Atomic Bomb". This book provides an excellent history of atomic physics and the people involved from the first attempts to determine the structure of the atom to the dropping of the bombs on Hiroshima and Nagasaki. The text is an interesting mixture of personal stories, politics, history, chemistry and physics. Most of the chapters start with something about one or more of the physicists and end with progress towards the first bomb tests. If you are an engineer or scientist, this is a great read.

Chapter 19, "Tongues of Fire" describes the bombing of Hiroshima in great detail and includes a lot of personal stories taken from interviews of the survivors. If you have any doubt whatsoever that atomic weapons are terrible tools of mass destruction, just read this chapter. The justification for dropping the two bombs on Japan was weak at best and we see government at its worst when it comes to making decisions during war time.

One of the things I found fascinating was that as the physics evolved through better theory and experimental confirmation, plans to make bombs developed quickly down to an almost exact timetable. Once the knowledge had been obtained as to how to create enough Uranium 235 and Plutonium it became a matter of money and manpower. The US government spent huge amounts of money building reactors to make Plutonium and plants to extract U235 and Plutonium in enough quantities to make the first bombs. It is the sheer scale of the endeavor that is so amazing. Uranium was refined using multiple techniques including cyclotrons which separated the isotopes literally atom by atom building up very very small amounts. The number and size of the cyclotrons that were built is hard to imagine. There was not enough Copper in the US to make the windings of the magnets so silver was borrowed from the mint instead. It's hard to imagine a project of this scale today.

This book is worth reading for its history alone but it's especially worth reading as a reminder of what we can do if we want it badly enough and what the consequences of those kinds of actions can be.

Saturday, August 16, 2008

Technology's Promise - Chapter 4

The more I re-read the chapters of Halal's book, the less I like it. I was reviewing Chapter 4 again when I came upon this comment: "Turner Entertainment is using holography to store 1.6 terabytes of movies and video".

This caused me to make several comments. First of all several terabytes of anything is pretty small potatoes these days. Both HP and EMC have mid-range storage systems in the multi-terabyte range and some of HP's customers have over a hundred of these systems and that's just to store relatively small bits of information such as shopping accounts and junk mail. When we look at the storage required for (say) an on-demand video system we come up with pretty big numbers. We can do a back of an envelope calculation. Let's say a DVD holds about 5 GB and that's about what we need for one movie. According to IMDB.com there are about 700,000 movies in existence today in one form or another. If we made DVDs from all of them we'd need 700,000 DVDs (duh) or about 3,500,000 GB of storage. That's 3,500 terabytes - or about 2,000 times as much as Halal says Turner is storing with holography.

In a Computerworld article in 2005 (http://www.computerworld.com/hardwaretopics/storage/story/0,10801,106288,00.html) Turner was apparently considering using holographic storage - although none of the articles I read described the technology in any detail. This move was apparently to get away from magnetic disk storage. But why would you do that unless you only want to archive the movies? Using a medium that does not have random access (CDs and DVDs are essentially serial devices) means you cannot easily stream movies to multiple users where each user is at a different place in the movie - and this is exactly what we need for on-demand movie watching. Magnetic disk storage is cheap and capacities continue to increase every year making it cheaper and cheaper to store data on them. High speed (10K RPM) fibre-channel SCSI disks that form the core of modern storage systems are also very reliable. When you add a redundant controller system with a few GB of cache memory you have a very cheap (relatively speaking) way to store petabytes or even exabytes of data and still have very fast random access.

So the thing I really dislike about Halal's statement is that it's a throw-away catch phrase intended to establish some sort of "wow that's cool" feeling in the reader - but only if the reader is ignorant of the current state of technology. This is the essence of selling snake oil.

Nigel

Thursday, August 14, 2008

Notes on Gordon Moore

Since I posted a piece about Gordon Moore's transistor density prediction a while ago I have been wondering if Moore had real insight or just came up with a lucky guess. I don’t think it's really possible to answer that question but I did think that I could dig into his background a bit.

Moore rates his own spot on Wikipedia: http://en.wikipedia.org/wiki/Gordon_Moore
His educational background is in chemistry and physics - a good combination for someone interested in semiconductors. It's interesting that his career turned more into management than engineering. Most engineers don’t make that leap successfully.

He made his prediction in April 1965 which is 11 years after he got his PhD from Caltech. He had spent the entire time in the semiconductor industry in various key roles that led to the creation of both Fairchild Semiconductor and Intel. From these facts alone we might conclude that Moore had some pretty good insight into what semiconductors would sell well. Moore wrote a short piece about his own experience in becoming a manager of a new business: http://nobelprize.org/nobel_prizes/physics/articles/moore/index.html which is well worth reading because Moore is quite frank about how some of the business developments were more accidents than planned events. His focus had been as part of a small lab (at Fairchild). It just ended up as a very big company (Intel) partly because they were on the very forefront of integrated circuit (IC) development and partly because there was a great demand for what ICs had to offer. Moore describes how they tried different technologies at Intel, hoping to exploit one or all of them. Eventually one technology of the three resulted in a real product - the Intel 4004 microprocessor. This was a major step forward in the industry. Intel sold directly. They didn't use distributors as they had at Fairchild. Moore and his colleagues had learned a good lesson there and this helped Intel to be more profitable. The rest of the microprocessor story is history.

I rate Moore highly on a lot of different fronts. He's obviously a bright guy and had a good education. He learned well from past mistakes and kept an open mind along the way. These are traits that a lot more managers could do with. He also tried to keep things simple, by limiting bureaucracy and giving his engineers simple ways to get things done. A lot of this is common sense from some perspective but not all that many people seem to be able to keep their common sense when they are running a very large organization.

So does any of this help us to know if Moore had some innate ability to predict the future of the semiconductor diffusion industry? I don’t think so. I think Moore was vectoring from the current state of affairs and riding the top of a big wave. He was looking optimistically at the future from a happy vantage point. In the end, I think he got lucky. There was so much drive to build denser semiconductors because of the emerging markets that the chances are we'd have made Moore's curve or better. It is still a bit surprising that the curve is still valid today. Few things grow with that much stability. As my friend Jason observed recently, people were busting their butts to make sure the industry followed Moore's Law.
Nigel

Saturday, August 9, 2008

Web 2.0 - Busy Signal

I thought I'd post a quick verbal blog on Gabcast about Jason's defense yesterday but the GabCast number is busy. Perhaps they are "expecting unusually high call volume" as seems common when I call India for tech support for something made in China that I bought in the US.

Nigel

Jason Defends

August 8, 2008 - Jason successfully defended his DCS research. Way to go Jason.

I took a couple of picture with my cell phone which are posted on FlickR: http://www.flickr.com/photos/28718989@N06/

Nigel

Thursday, August 7, 2008

SpaceX Problems

SpaceX failed to get its Falcon 1 rocket to orbit on August 2nd. The problem was apparently due to a small timing error during separation of the second stage from the first stage of an otherwise successful launch. At least that's what SpaceX is saying. Before this launch I had been following along with SpaceX's activities via their email feeds of happy PR stuff. I decided to watch the launch live as they were offering a web feed.

Sadly the web feed was very intermittent and it was almost impossible to hear what was being said. It was still cool to see the rocket on its pad on the tiny island which is part of Kwajelein atoll. Approximate coordinates are 9 degrees N, 167.5 East. the US has a pretty big presence on this tiny chain of islands. We did a lot of bomb testing there back when we wanted to see just how big a bang we could make. A scan around the area with Google Earth shows some of the craters.

I have varying views of SpaceX's progress. On the one had, I very much like the idea that one person (Elon Musk) can shell out some of their own money and start a space program. That is definitely very cool. On the other hand, it takes more than money and enthusiasm to build complex systems. SpaceX seems to have some excellent people and no doubt some of them came from NASA or Boeing or other companies that have active space programs. But what this team does not have is collective experience. They are a new team and teams take time to figure out how to work well, how to ask the right questions without offending anyone. If you read Gene Kranz's excellent book "Failure is not an Option" you can get a feel for how complex the Apollo program was and the incredible level of detail required to plan for every conceivable failure mode. Despite the qualifications of Musk's team, I just don’t think they are working at level of detail.

SpaceX's PR talks a lot about using fewer people and more automation to make the operation cheaper. I think that also translates to less people asking what can go wrong, and if you don’t ask those questions you end up convinced you're got it all covered. So far SpaceX has tried three launches and none have been successful. In the grand scheme of space flight they are pretty much on square one and to expect more from them is perhaps unfair. But the reality is that their customers will expect more than some crappy web video and a nice bang as the vehicle is detonated by the range safety officer a few minutes after lift off. Customers will expect to get vehicles into orbit.

It was a little sad that part of the cargo on this mission was a collection of human ashes including those of James Doohan - Scotty from Star Trek. Instead of a final resting place in space, Scotty is now part of the general debris that floats all over the Pacific Ocean. He's now part of the food chain. I'll say no more about that.

Overall I am hopeful that SpaceX will succeed because we need more people like Mr. Musk to be a bit adventurous and have a go.

Working with Second Life

As part of one of our other courses I tried to create a robot in Second Life. My own goals were to:

  • Get a feel for SL and how it compared to my other 3D programming experience
  • See how hard the SL scripting language was to learn
  • Try to make some sort of animated mechanical robot with an articulated arm

The process that I followed is documented in my journal files here: http://www.nadtec.to/doc/prog/slprog.htm where you can also find a zip file that contains the scripts I wrote in various stages of their evolution.




The work took me quite a long time and I found a great deal of it quite frustrating because the SL engine and its scripting language did not conform to my view of the 3D world. My previous experience was with more traditional 3D environments in which you are required to build a list of vertices and faces that describe an object and then render that object with shading, texture maps and so on according to a lighting scheme and a few other rules. You can read more about my earlier experience here: http://www.nadtec.to/books/graphics/default.htm.

The results of my work are not that impressive. The robot looks like a trashcan with one candy stick arm and a block of wood for the other. The movement of the robot and its arms and the way that the robot interacts with the avatars it encounters in SL is hardly realistic. Limitations in the SL primitive model and enforced delays in instructions in the scripting language resulted in animation that is fascinating to watch but obviously not what was intended. As the robot's left arm moves it becomes disconnected and the two parts of he arm move independently. They end up in the right place but the movement is awful.

So is SL a bad environment to develop 3D objects? No, not at all. SL has many very advanced features to offer such as gravitational mechanics, the concepts of buoyancy and flotation and, my personal favorite, the ability to make objects that sway with the wind. In fact it turns out that with a little practice you can make trees that bend with the wind, hair that flows as you move, boats that sail and much more.

So why could I not build a simple robot arm? Too stupid? Didn’t read the right blogs (there was little official documentation)? Not enough caffeine? No, the problem was simply that SL offers a rich set of capabilities packaged up in a way that makes those 'tricks' easy to do but does not expose the normal set of 3D primitives used to make them work. So we can make wavy hair in a few minutes but we can't make a linked set of kinematic objects.

It might be unfair to call them 'tricks'. In reality it probably took a great deal of effort to make the physics work - and it works very well indeed. The real problem is that my goals didn’t align with the set of users expected to be programming in SL and that's a problem we are starting to see a lot. Even with something like word processing we are starting to see that cool stuff like flowing text around an image in columns is trivial but detailed control of heading styles and numbering schemes is not. Professional writers struggle with Microsoft's Word 2007 because it makes it hard to get at the low level primitives but easy to do the hard stuff - and its showing off the hard stuff that attracts people to the products.

If you get an expert in SL to demo object creation to you, you'll be hooked in about 15 minutes. It's totally amazing to watch objects stretch, twist and evolve into lamps, chairs, tables, working doors, bunny rabbits and more. With a bit more effort you can apply fantastic texture maps and most fabulous of all bump maps. This isn't the place to describe bump maps but let me just say that by applying an 'image' as a bump map to a cube, you can turn it into a sofa. The 'pixels' in the bump map don’t describe colors but rather spatial displacements to apply to the object on which the bump map is overlaid.

SL is not an environment in which to model complex behavior. It's environment with which you can interact and which is visually rich which helps to make the experience deeper and more compelling. This is to say nothing of the fact that this is also a massively scalable, distributed system which supports millions of users. If we look into the architecture a bit more, we can start to understand why the cool stuff is easy and the small stuff is hard to expose.

To make SL work, it requires that the client computers do a great deal of the work. The servers used to implement the islands are more or less just databases that describe what objects are present, what the attributes of each object are and where they are located. Given that information you desktop PC can create an image of that 'world' from where your avatar is standing and let you see it. As you move about, the set of objects that are in your filed of view changes and the server needs to send you mode information but this information is quite small and does not need a lot of network bandwidth.

If I make myself some wavy hair, that's just one object with a set of properties. The server only needs to tell my PC where the hair is and how it behaves; the PC renders it and implements all the physics. My robot and its arm are just a collection of objects to the server which dutifully sends the details to the PC, but there is no real way for the server to send the details of the behavior I would like to my PC because the scripts need to run on the server so that all the connected clients see the same changes in position and orientation - and send that information our for rendering. The reason that scripts include forced timing delays between object movement commands is so that one script cannot saturate the system by requiring tens of thousands of update commands to be pushed to all the connected clients watching the scene.

So now I have figured out why I can’t make a cool robot. If I want to make it work better I need to either get a job with Linden Labs and build the kinematics into the client or perhaps work for one of the open-source teams currently developing alternative environments that work the same way.

So if you are a programmer, don’t expect too much from SL. Try to put on your artistic hat instead of your engineering hat and enjoy the environment for what it can do and try not to whine about the features that aren't there yet.

Tuesday, August 5, 2008

Flooding

We had some flooding again today thanks to the fact that Colorado's 12" of rain a year often arrives in one afternoon. Video here: http://www.nadtec.to/dcs/CS855/Flooding.wmv

Sunday, August 3, 2008

Successful Predictions - Moore's Law

Gordon Moore, co-founder of Intel drew a graph in 1965 predicting that transistor density on fabricated ICs would double about every two years.





Source: http://www.intel.com/technology/mooreslaw/

His prediction was based on observations of the technology used in semiconductor fabrication which was still in its early years. Moore's prediction has stood the test of time quite well. The graph on Wikipedia shows that in fact the number has doubled in fact about every two years. http://en.wikipedia.org/wiki/Moore

How did Moore get this right? First of all, it's quite doubtful that he was looking very far into the future at the time and simply projected past rates of increase based on his experience in the indusrty. In the early 60's a lot of advancement was going on in the semiconductor industry and there was huge competition fueling it. Most of the new developments were well known - secrets in terms of semiconductor dimensions were impossible to keep - you simply cut the top off your competitor's device and put it under a microscope. There you could measure the dimensions of the device geometry. If the device was sliced and stained you could also measure the amount of diffusion down into the semiconductor too. So the results of any companies work were there to see and the physics and machinery required to create the diffusion masks were all well known - expensive but well known. Since there was so much money involved, it was reasonable that steady development would continue and Moore had a pretty good chance of being right for at least a few years.

It could have come out quite differently. There have been few major changes in the way semiconductor masking is done. Mostly it's been evolution with contributions from many areas of science and engineering, ranging from mechanical to optical to chemical. If we'd had one of those stunning breakthroughs that happen very so often Moore could have massively understated the case. Imagine that instead of taking a decade for the engineering and science to evolve, someone just had a thought one day and skipped forward ten years. If that had happened there would be no curve - just one big step.
So from some point of view, Moore got lucky because engineering didn’t advance very fast.

If we look at other areas of science and engineering we can see massive increases over time. The first atomic bomb called Trinity was exploded in 1945. The yield was 19 kilotons. In 1961, just 16 years later a 50,000 kiloton bomb was detonated by the Russians - that's more than 2,600 times as powerful as the first one. If we'd doubled bomb power ever two years it would have been only 256 times as powerful. So by that standard the semiconductor industry has done very poorly. Of course, it's a grossly unfair comparison but it illustrates the math.

So will Moore's law continue on its current trend? There are possibly two major factors: heat dissipation in the device and the need for higher transistor densities. To take the second factor first, the need seems likely to grow since computing power is like garage space or vehicle horsepower, the more we have, the more we seem to want. The heat factor is a real problem though. As the frequency of operation goes up so does heat generation caused by leakage in the devices. Leakage gets worse as the device dimensions get smaller because of tunneling effects. At very small sizes the device needs to be viewed from a quantum point of view. Barriers are not solid - they are walls with probability distributions and the probability of electrons crossing the walls goes up as the walls get thinner. This is a gross oversimplification but the fact is that as the devices get smaller, leakage increases and with it heat generation. The overall problem with the heat is how to get rid of it. If we start making 3D devices the heat problem will get much worse because we will be reducing the surface area to volume ratio and the devices in the inner most parts will need to dissipate heat by conduction through the outer devices - this is one reason why we may find it hard to make 3D devices of any real size. Changes in semiconductor technology may help but I am not hopeful. Not so long ago it was predicted that gallium-arsenide (and other III-V) mixes would quickly replace Silicon because III-V devices are much faster. We see GaAs used in LEDs and some other applications but Silicon still rules today. So a clear speed advantage didn't produce a winner. I suspect we'll see Silicon technology continue to develop for a while but device geometries can’t shrink much more without some new advance.

Instead of increasing chip density we can use more chips. The trend towards parallel computing is really just getting started. We stand more chance of building really powerful computers if we can develop better ways to write parallel programs. If we get to be even moderately good at that we may not need higher density devices at all and Moore's curve will flatten out not because of limited technology but because technology took a left turn. Time will tell.




Never Give Up - A New Prediction

Yesterday SpaceX (wwww.spacex.com) launched the third of its Falcon1 rockets. The launch went OK but there seems to have been a problem with stage separation and the vehicle did not reach orbit.
In a comment on SpaceX's web site, Elon Musk CEO and CTO of SpaceX said: "There should be absolutely zero question that SpaceX will prevail in reaching orbit and demonstrating reliable space transport. For my part, I will never give up and I mean never."
Those are pretty strong words when taken in the context of such an expensive project funded largely by Musk's own money.
I admire Musk's goals for SpaceX and wish him the best of luck.

Saturday, August 2, 2008

SpaceX Launch today

SpaceX (www.spacex.com) has a launch today. Live video feed from their web site. This is the commercial future. And it may be the only space future the US has. SpaceX has been contracted by NASA to do resupply missions to the International Space Erector Set.

The Fortune Sellers by William A. Sherden

If you are interested in knowing what the future has in store for you, you should read this book. You should read it before you listen to tomorrow's weather forecast. You should definitely read it before buying that stock your broker is offering and you should most definitely read it before listening to what any consultant might have to say about the future of your business. The bottom line is that with the exception of predicting the tides, the motion of the planets and the weather a few days into the future, all other predictions made by man or machine are mostly less accurate than pure chance.

That's right, the stock graphs you look at are not an indicator of what the stock is going to do any more than the tea leaves in your morning cuppa can predict the weather. Sherden presents very compelling evidence that the great majority of predictions are worthless. Even the weather predictions are not that good. The weather you are going to get tomorrow is best judged by what happened on that day in the last few years. If you predict tomorrow's weather based on that concept, you'll be as accurate as the government forecasts and probably better.

When it's time to figure out what the future in golf ball manufacturing is going to look like for the next five years, Sheriden points out that all such predictions have a terrible track record. Sure, some folks get it right but if you look at the statistics, it's just chance. There are something like 100,000 people involved in the stock market, with a lot of them making predictions on exactly the same information - including insider information. Some of them are bound to get it right. When they do, they make a big noise.

One of the most interesting facts is that a lot of the people who produce stock investment letters are making their money from the letters, not the stocks. They really have no better idea than you do of what GE's stock will do next week. But by selling you a subscription at $500 per year, they can make a killing.

The first two thirds of the book is excellent reading. I found that the last chapter or two were a bit tedious. He'd made all the important points with excellent examples earlier in the book.