Sunday, May 31, 2009

Drag me to Hell: Okay, let's get this over with.

So I just arrived home after seeing "Drag me to Hell" at the AMC16 in Woodland Hills. What did I think?

Sam Rami got up on his hind legs and pitched one hell of a nasty 185 mile-per-hour beanball right between my eyes, that's what I think. The movie is very well made. It is well written. It steals from some of the best old horror film classics of the 1930s and 1940s. It is well edited. The effects are numerous and photo-realistic. Many of the shots are brilliantly conceived. The editing is excellent. The musical score is good. In short, the technicals are all extremely strong. It is destined to become a classic among those who like horror movies. It is probably the best horror film since Quarantine. This was Sam Rami's attempt to out-do the Exorcist. He was trying to make the scariest movie of all time, but he was trying to do it with a lot of skill and dexterity... in his own style.

Did I enjoy it? Fuck no. Did I find it entertaining? Once or twice. Would I want to repeat the process? Fuck no. Would I recommend it to anyone? Only if you live for this kinda shit. Would I like to show this to my mom? That would have a certain sick comedy value to it. If I had kids 10 or under would I let them see this? Absolutely fucking not! No, fuck no!

First, let me express my shock and dismay that this movie has been given a PG-13 rating. This movie is far more intense, twisted, sadistic and hyper-nasty than a lot of NC17 movies that I have seen. Rami socks it too you right between the eyes at 185 miles per hour... with great sadistic joy. It is also loud; loud enough to damage your hearing in several places. It is far, far, far beyond gross. It is hyper-nasty. Yet, because there are no nipples, no breasts, no ass-shots, no sex, no use of the S word or the F word, no illegal drugs, no tobacco to speak of, they gave this flick a PG-13. Don't take your kids. I pity the 7 year old who sees this flick. He will be brain damaged for life. I have seen hardcore pornography that is far sweeter, nicer, cleaner, more loving, more positive, and with better Christian family values than this movie. A lot of this stuff is over-the-damn-top.

What the hell happened at the Motion Picture Association of America, INC? How the fuck did this one get through with a PG-13? Who fumbled the football? Which Ref blew this call? Somebody aught to look into this egregious error.

Even if you are old enough to gut this one out without damage, it just isn't enjoyable. This one goes down the drain just because it is too damn sadistic to be enjoyed. I got the feeling that a real sicko sadist was at the controls of the camera, trying to torture me. He was trying to entertain himself by trying making me squirm. As the PBS documentary "Torturing Democracy" will teach you, the worst form of torment is to watch some undeserving soul subjected to torture for no good reason. This was Rami's strategy for making you squirm. That I do not appreciate.

On Friday, the Los Angeles Daily News ran an article in which the pitch line said "Sami Rami comes off as such a nice guy. Who knew he was a sadist?" I did not expect that to be the ultimate take-home point of this film, but indeed, that is the ultimate take home point of "Drag me to Hell".

Ultimately I can't recommend this film. In short "Drag me to Hell" is the 2009 equivalent of "Borat" back in 2006. Very critically praised, to hyper-nasty to wear-well with time.

Finally, it should be noted that UP won the box office contest this weekend. It was a landslide. Drag me to Hell finished in third place. UP hauled in over $68 million. Drag me to Hell hauled down $16.6. That is basically a 4 to 1 victory. Call it 28-7 in football terms.

I suspected this would be the result as I made my third failed attempt to see Up at the IMAX in 3d this morning at 9:30am. It was already sold out. So was the 12:00pm showing. Wow... The people have really jumped on Up! Also, Drag me to Hell also has far fewer screens and a far lower per-theater average. Something to be greatful for, I am sure.

I will see Up in the next few hours and report back to you here.

Saturday, May 30, 2009

My company has a large software project that is failing right now

Yep, that's right. The project is about 3 years old. This development project was launched about 1 year before I joined the firm. I was assigned to work on it very briefly (meaning two months) during which time the two men working on the system were trying to close it out. This was last year. I rarely had anything to do during that time. My plate was empty during those two months. I think I wrote 3 classes for them. That was the end of my contribution to this project.

I know something about this project, but not everything. I think I know enough to comment intelligently about just what went wrong. So what are the characteristics of this project?

  1. The project was started by a (then) 51 year old programmer with 3 years of VB experience (at Microsoft). I shall call him Agent 51.
  2. This programmer executed a midlife career change from medical nurse (or maybe an orderly) to VB programmer approximately 6 years ago
  3. The project is written in VB.NET 8.0
  4. Option Strict Off, Option Explicit Off, Option Compare Text.
  5. It is a classic WinForm application (not WPF).
  6. It is just CRUD forms over database tables.
  7. Forms are bound directly to the tables for the most part.
  8. Interactive searches are accomplished via stored procedures.
  9. It does make use of the Microsoft Enterprise Data block.
  10. There are very few classes in the project.
  11. There is no inheritance from abstract classes.
  12. There is not one original Interface declaration or implementation in the code.
  13. There is no Dependency Injection. How can we have DI? There are very few classes.
  14. Parameter passing is never done by abstract class or interface type.
  15. There are lots of global variables in several global BAS files.
  16. There are lots of global functions in several global module files.
  17. The application's actions are stitched together and coordinated by these global, mutable flags.
  18. When compiled, the compiler issues many warnings that not all function code paths return values.
  19. Most of the important business logic is tucked into event handlers.
  20. There are side effects in all of the event handlers
  21. Event handlers can be 100 lines or longer
  22. There is no IoC.
  23. There is no test project, no NUnit, no Microsoft Test, no MBUnit. We do not have automatic testability
  24. There was no source code control for the first two years on the project
  25. The two programmers working on the system frequently collided, stepping on each others changes.
  26. Code collisions were unintentional. One man was working on one bug, another was working on another. This strongly implies a lack of modularity and isolation. This also implies problems with global flags in the global bas files.
  27. We have no formal QA system. There is no QA department. There is no QA officer who is responsible for testing and validation.
  28. This was a skyscraper project without blue-print. The objective was to build the "Everything" application, but they didn't do much design up-front. The notion was that this was a simple project. All Agent 51 needs to do is make some CRUD forms.
  29. There are two main managers in charge of the two major departments who will use this app, if it is ever finished. Neither manager wants this application to launch. It is difficult to determine whether they are afraid of the potential efficiency gains and subsequent layoffs this app will create, or whether they have no confidence in the original programmer who started this project. It may be some of both
  30. These two main managers are basically sabotaging the launch of this application by issuing endless demands for extension prior to launch. They constantly say "X is vital. We cannot launch version 1.0 of this app with X." The X function changes each week.

The two managers may not know it, but their strategy for defeating the launch of the app is utterly perfect. No matter how good an architecture is, you can't beat an ever-expanding spec. If San Francisco moves 1 mile away from Oakland every week, the Bay Bridge can never be completed. Worse still, this app is an example of everything that has always been wrong with common Visual Basic 'architecture' since day number 1 of its launch. Give such a brittle and tightly coupled application architecture, you cannot extend this app without breaking it in critical ways. Each time the X function is added, new bugs emerge all over the place. This is pretty much a consequence of global shared mutable state flags, used to coordinate the action of every WinForm in the system. It is also a consequence of trying to add more code to those long nasty event handlers. The insertion point for code is frequently the breakage point.

So right about now, every man woman and child with a CS degree is laughing their collective ass off. In short, all of the industry's worst software practices have been rolled into one failed project. This project has taken 3 years to collapse. Every half-arsed approach to cheap software development has been utilized here. We have recapitulated the finding that cheap software is very expensive.

I would say that a minimum of $450,000 has been wasted on this project. The formerly 51 year old dude (now 54) has been paid about 95,000 per year to do this project. The more senior (but younger) programmer, probably gets more, but he has only been working on the system for about 1 year. The rest of the org has put some effort into the project, but not much. They would resent this comment, but they have no clue how much effort companies like Transamerica, Wellpoint Pharmacy Management, and 21st Century Insurance (firms I have worked for) put into their custom software projects. All hands are on deck. Organizational effort is extreme. Non-Software managers have their work cutout for them. If they don't deliver good accurate test results, they get sacked. My firm's managers believe they have been working hard on this app. Not true. They have not.

Probably the most amazing aspect of this project is the old fellow originally assigned to do this project. Agent 51 has told me about his history as a programmer. It is clear that he got his big break in programmer from Microsoft itself. Microsoft was working hard on the OLAP and business intelligence components of Microsoft SQL Server at the time they selected Agent 51 for a test group. A team of Russian programmers were responsible for doing these mighty extensions to the SQL Server Engine. Microsoft needed to create developer tools for OLAP/Analysis Services/Data Cubes that any Visual Basic programmer could use. To accomplish this mission they needed a test group of developers who were given assignments to write simple and moderate business apps with Visual Basic using experimental prototypes of client tools developed by the VB Language team. Agent 51 was a member of the test group. Agent 51 was a Guinea Pig for the VB Language Team. If Agent 51 could develop a client app with a proposed client tool, the VB Language team knew they had a potentially useful component. They tested their new ideas for client tools on Agent 51, and about 20 other guys like him.

Eventually, Microsoft finished their client tools project for OLAP, and Agent 51 was given his walking papers. Still, Agent 51 was able to honestly write on his resume that he had 3 years of professional Visual Basic consulting experience for Microsoft in Redmond Washington. Furthermore, he could honestly write that he worked on the VB Team's client tools for Multi-Dimensional OLAP. That looks pretty fucking impressive to managers like ours. We are pretty damn close to being an OLAP-only firm. 90% of what we do for money is pure OLAP. The bosses thought they were acquiring a pretty good man in Agent 51. Naturally, they didn't give him an OLAP job, they gave him a CRUD forms project. What's the difference anyway?

Agent 51 has asked me for help on this projects many times. Often times my recommendations fall on deaf ears.

I have told him many times that you cannot rope together an application with global variables. With the most disturbed and disconcerted look on his face, he has asked me how the hell you can write an application any other way. This is a sincere question, backed by real confusion. Agent 51 does not know how else it might be done.

I have told Agent 51 many times that he needs to set Option Explicit On, Option Strict On, and Option Compare Binary. He stresses severely when I tell him this, and he replies "It's too late to do that now. You have no idea how much code I will break if I do that. I can't do that now." The real issue is that Agent 51 does not understand binary data types. He will have to type cast in certain situations, especially to Marshall across to the SQL Server type system, and he does not know how to do that. Automatic Data coercion is his life-line. He can't loose that.

I have told Agent 51 many times that you cannot write entire business operations into a single event handler. Rather, you write a set of objects that collaborate to get the job done. These objects do not look to global flags for data and facts regarding what they are supposed to do. Rather, theses objects have constructors which accept and require the specific params they need to accomplish their function. They store these params in immutable ReadOnly form. You sum up the final business transaction in one class that takes a minimal number of params. You make an instance of this class in an event handler, and then you dispose of the object. Doing it this way makes the business objects are both testable and reusable. Agent 51 is completely lost when I tell him this. He also looks irritated and vexed. The expression on his face seems to say "You are trying to change everything about the way I program. I don't need to do that. I can program just fine."

Well, if that is the case, then why are you asking me for help? Why is this project 3 years late? Why are you having difficulty adding functions without breaking the system?

Recently, Agent 51 got a side assignment to fix a problem with another piece of software. He was stumped by one mystery in the code he could not figure out. He called me over to help him. It turns out he did not understand what an Interface was. I tried to explain to him what an interface was. He looked utterly confused. "Why do you keep using the term interface? This is just a weird empty piece of code! This isn't a user interface".

I asked him to get up an let me drive. I tacked the IReturnValues interface onto the object he had to write. I implemented the single method IReturnValues.ReturnValues() as List(Of String, Object) and passed all values from the object to the calling function as a generic dictionary of key string and Value object. The code compiled and ran fine. Agent 51 had no idea what I did. He said repeatedly "I don't understand that? Why did they do that? It doesn't need to be like that! That isn't the way you do things in VB."

Scott Hanselman likes to quote Quentin Tarantino who once wrote "He who is least likely to make declarative statements is least likely to be called a fool in retrospect."

Unfortunately, in terms of normative statistics, I think Agent 51 is right. You don't normal use interfaces that pass generic dictionaries in VB. Tragically, that isn't the way VB programmers do things.

I think Agent 51 is going to get fired soon. The $450K loss on this failed project is going to be hung on his head. The other guy working on the project is safe. He is arguably the most senior guy in the shop, and he has delivered the goods on many occasions in the past.

If everybody on the team stood up for him, Agent 51 might survive. It will never happen. As it appears to me now, none of the 7 guys on our team are going to defend him. Why? Some folks should not be programmers. At this particular company, our programmers tend to be a good and merciful lot. If he were teachable and coach-able, most of the guys would defend Agent 51. This is not the case. Agent 51 isn't coach-able. Worse still, Agent 51 wants to hold all of us back. Agent 51 wants everybody to program at his level. He wants us to work at the pace of the slowest learner. If you do anything even moderately sophisticated his comment is "This is so fucked up! It doesn't have to be this complex. This is not the way a good VB app is written."

God forbid that you should write anything in C#. Then he feels intensely personally threatened.

This piece has gone fairly long. Tomorrow, I will write a development plan that will explain how I would go about the process of starting a new fresh project such that the mission can be accomplished.

Friday, May 29, 2009

So we have two killer movies to see in the theater this weekened

All week long I have been monitoring A very interesting phenomenon has been in progress there all week. Specifically, two of the highest rated movies of the year were setting in the blocks for launch today... Highest rated by professional movie critics, that is. We'll see how the crowd likes them.

Specifically, I speaking of Pixar's new movie UP and Sam Rami's new movie Drag Me to Hell. It is no surprise that Pixar is getting this kind of reception. Sometimes I think that all the great artists and story tellers have clustered in one spot in this historical epoch. That is Pixar headquarters in Oakland/Emeryville. I wonder if these guys ever go to the Blackhole to watch a Raider game? Seems like a damn unlikely place for the greatest art studio of this epoch. On the other hand, I am astounded by Sam Rami's critical reception.

By a score of 87-2 Pixar's new movie is scoring a killer 98% on the T-Meter. Although this is a 3d comedy, they say this is actually Pixar's most serious subject ever. It is based on a Dutch proverb which say that "We grow old far too soon, and wise far too late." It is unbelievable that this movie is outscoring both The Incredibles and Wall-e

Much more surprising than this is the score Sam Rami is hauling down with his new horror movie called "Drag me to Hell". By a score of 69-4 this flick tallies a massive 95%, and is tied with Star Trek for the #2 score of the year. Un-goddamn-believable. I don't remember the last time I saw a horror movie score this kind of critical praise. The Descent only got 85%. 28 Days Later only scored 88%

Gotta see them both!

My greatest concern is that Pixar is going to suffer another unexpected spoiler-launch this year.

Last year Wall-e went head-to-head with Wanted, a movie that nobody expected to do as well as it did. Wanted damn near split the box-office with Wall-e, despite that fact that it was absolute crap on film. I am talking about bullshit rubbish of the most obnoxious and pompous variety. It was a Frankenhooker movie that stole it's first 20 minutes from the Fight Club, the next 20 minutes from The Matrix, the next half-hour from Star Wars. It crapped out in the final quarter. A Frankenhooker is movie that stitches together dead body parts from successful classic movies. You can identify the original owner's body parts clearly. The surgical stitches are visible and ugly. The result is bad laughs... if you are lucky. Wanted had one nude scene with Angelina Jolie, perhaps the most overrated Heroin Skeezer in the history of film, and therefore it made tons of money. I was completely horrified. The poor taste of the American public is often astounding. Lamentably, the critical press mostly went along with the bandwagon.

The consequence of this was Wall-E had a much smaller box office than it should have had. Fuck Slumdog Millionaire. Wall-E was the best movie of 2008. It should have won Best Picture at every event. It also should have made a lot more money.

2009 is just like Deja Vu all over again. Everybody knew Sam Rami was making a horror film. Nobody cared until recently. Everybody thought this would be a very small recreational project for Sam. He's just taking a break between Spider-Man movies, that's all. Now he has stunned the critics, and we are going to see a stamped at the box office.

You see, horror movies are big business. Good, bad, or indifferent, they almost always make money. The lowest risk investment you can make in Hollywood is to invest in a cheap horror movie. LIONSGATE has almost achieved major studio status by producing a ton of these movies. When you get a preferred director with a reputation with the people, and combine that with massive critical praise, all teens will head to the theater.

Why does this happen? It is a documented fact that horror movies make the best date flicks. If your a teen guy, and you are trying hard to fuck your teen girl for the first time, take her to a horror movie. She'll pop wide-open. She will need the comfort of a strong male presence during the most intense sequences. She will bury her nose in your armpit for the very first time. There, she will acquire a fairly good dose of your pheromones. Don't use too much soap on your pits, and don't put on any deodorant. It will obfuscate the scent she needs to acquire. If she gets a shot of those pheromones, her hypothalamus will light up visibly on a CT scan. Neuro-Endocrinologists have proven this beyond a shadow of a doubt. This is the moment when she discovers that she loves you, and can't live without you. She needs your comfort. She's going to start fantasizing about having children with you. She has been chemically activated and turned on.

Another interesting theory is that death seems to stimulate the female reproductive instincts. Men kill each other. Women have to replace them quickly. The tribe would die out quickly otherwise. This seems to be a deep unconscious genetic biological motive that we do not perceive or comprehend at the rational level. Still, it is real and powerful and effective.

A lot of guys score after horror films.

So what is the consequence of all this? It is likely that Pixar is going to be severely challenged at the box office again in 2009. It is conceivable that UP might even loose this #1 spot this week. If that happens it will be the first time in recent history that Pixar has failed to acquire this spot on launch week.

Although I am glad that we have two good prospects for this weekend, I grimace at the thought of a superior art work loosing the box office to a teenage fuck-fest horror movie. I regret that a movie which promises to be Pixar's greatest achievement yet may be spoiled by teen sperm-pressure, and a misinterpretation of the current banking real estate market.

Monday, May 25, 2009

They say Nostalgia means the "The pain of an old war wound"

Our English usage is best defined as "longing for something that has been lost" as in your youth.

Speaking of lost, The SciFi channel is doing a marathon of The Land of the Lost all day today. The purpose is to promote the new movie starring Will Ferrell, a dude I don't find funny at all. This is a clear-cut in-house promo job. Universal NBC owns the SciFi channel. NBC owns the original TV show. Universal produced this new movie. Ergo they are enlisting the aid of a wholly owned member of the corporate family to do the promo job.

I watched the show when I was a kid. I was about 7 years old when the show first appeared in the year 1974. We didn't have a lot of good choices back in those days, so we watched it a lot. We all grimaced at the cheesy visual effects, the lousy cross-bows the Sleestack shot, the claymation dinosaurs, but it was a lot of fun. All kids loved dinosaurs. There was enough SciFi mystery in the show to keep us smarter kids active. Eventually, as the series grew and expanded we loved it.

So, here I sit watching an episode called "The Stranger". This was the episode which introduced us to Enoch the Altrusian. Enoch was a being from the ancient past of the Land of the Lost. He was an ancestor of the Sleestack, living in his own post-apocalyptic hell.

Guess who wrote this key episode? A dude named Walter Koenig. You know him better as the original Ensign Pavel Chekhov of the U.S.S. Enterprise. Yep, that's right Chekhov wrote (arguably) the most important script in the history of "The Land of the Lost". Enoch was probably the most important figure on the show. He was the key expository figure who knew the questions and the answers. He made sense out of everything. Now guess what? That was the only episode of "The Land of the Lost" that Walter Koenig ever wrote.

Other members of the Star Trek mafia like David Gerrold (the creator of the Tribbles) and D.C. Fontana (who did a bunch of episodes of classic Trek) were active writers on the show. They were free to play on this series, so they eventually wound up developing a rather beefy SciFi universe. It took time, and it came by degrees, but eventually these two created a pretty rich canvas. This is what the Classic Star Trek mafia did for money in the immediate aftermath of the cancelation of the series. This is how they survived, and it was good.

Still, it is hard to watch after all these years. Wesley Eure and Kathy Coleman are such devastating over-actors that it is almost brutal to watch the film. Another thing: Wesley's attitude too often stinks of the message "Hey, I am the hot young bisexual guy on the show! You aught to be sexually aroused when you see me." This, I did not notice when I was a 7 year old kid. I was too innocent.

Still, the show became wildly successful on the re-run circuit. The powers that be were astounded that re-runs of the 3 season Saturday morning kid show were outperforming "Good Morning America" and other morning TV magazines on the major networks. This is when they attempted the deadly 1991 remake that went 13 episodes before death. I never watched that. It looked terrible. Folks told me it was a wacko-ass comedy. It didn't work at all.

This brings us forward to the Will Ferrel movie that is about to be released. I remember grimacing in pain when I discovered they were going to make a "Land of the Lost" movie. I remember expressing my shock when I discovered it was going to be a comedy. Didn't they already try that notion? Didn't it go down in flames? Wasn't that a catastrophic massacre that ruined careers and lives? Does anybody remember Timothy Bottoms?

I remember hurling in disgust when I discovered that this was going to be another Will Ferrell vehicle. I fucking hate that guy. Of all the non-funny guys ever to make it big Hollywood, Ferrell must rank very close to the top of the list. If he isn't #1, he is the #1 contender. If you ask me he is responsible for more of the comedy catastrophes of the past 10 years than anybody else. Nothing but titty, potty, penie, squatty, farty, shity jokes here folks. He's dumb as hell, ergo he speaks to many. The fact that this approach produces a consistent 15% internal rate of studio return constitutes a serious warning about the quality of the human gene pool.

Still... with that said... there is a little something winsome about those commercials for the new movie. I am pretty well sure it is going to be a stinker. Nevertheless, I do believe these bastards are going to trick me into buying a ticket. The joke is on me, and they will laugh all the way to the bank. Still, I think I am going to give this one a chance, out of pure nostalgia. It will be the pain of an old war wound, I am sure.

The druggies 'n junkies will buy some weed, MDMA, and crack; they will smoke out; they will walk into the theater high as a kite; they will laugh because they are fucked up; they will walk out saluting Will Ferrell as a comedy genius. Nope, he just connects with the stoners. You laugh because you are fucked up, not because Ferrell is funny.

Still, watching the series this morning is pure nostalgia. I am remembering my childhood vividly right now. That isn't easy for a guy who is 42 going hard on 43. A lot of lost and forgotten memories of elementary school are coming back to me.

Sunday, May 24, 2009

Star Trek Reboot

So by now everybody has seen the new Star Trek movie by J.J. Abrams. I blogged earlier about my giant skepticism. I saw it on opening Saturday at the Archlight in Sherman Oaks. I saw it again on the IMAX at the AMC16 in Woodland Hills. On Friday, I saw it a 3rd time with my brother Ben at the Pacific 21 in Winetka.

So what did I think about it? Well, I pretty well love it. You may have surmise that from the fact that I saw this movie 3 times in the theater. I staggered out of the Archlight in an overjoyed state of shock. I was amazed that J.J. brought it off. He did the impossible. Pretty astounding.

Lema {
I should note in passing that I recently discovered that J.J. Abrams is a Modo brother of mine. Brad Peebler of Luxology recently boasted on the Modo Modcast that J.J. Abrams is in the sales database. By all evidence, it appeared to be a personal purchase of Modo. strictly for his use.

Some key points to consider about this movie:
  1. For the first time in it's 42 year history, Trek is competitive with the other major science fiction movies in terms of visual effects. Trek has always had effects, yet Trek has never attempted to compete with Star Wars or Bladerunner or any other major work of Science Fiction/Fantasy. ILM boasted that they placed 60 minutes of visual effects shots in the final cut of Star Trek. Fully 1/2 of the movie consists of visual effects shots. They are dandy.
  2. A lot of the visual effects shots are highly reminiscent of cover art found on the 10,000 Star Trek novels that have been published since pros and fans started cranking these books out. The shots especially resemble covers done during the 1970s. Somebody did a study of Star Trek fan-art before planning these shots. That is pretty damn good politics and wise artwork. Some of that stuff was amazing. They were pretty thrilling shots for my imagination when I was a kid. They are amazing now.
  3. The new crew is good, but not entirely convincing. They got it done this time. However, they need to get better at it and more comfortable in their roles. I think they will be more confident after this glorious reception the critics and fans have given them. There are some problems here, but it is mostly good news.
There are some problems with the new Trek. As good and entertaining as this movie is it is not a perfect movie. The greatest single problem is a substantial loss of scientific realism, something that Trek eventually became famous for. Trek had its wild moments where some art-school screenwriter let a dastardly physical impossibility fly, or dropped piece of scientific nonsense in the middle of an important scene somewhere. However, especially in the latter times, Trek had a crew of Caltec, UCLA and MIT Chemists, Physicists, engineers and biologists consulting on the screenplays. These Ph.D. holding experts caught and eliminated the most ghastly errors art folks were inclined to make. They also beefed up the script in ways screenwriters could not have.

Spoiler Alert!

So what are these problems?
  1. How did Scotty wind up in charge of the Engineering section? Star Fleet in the habit of promoting invading Star Fleet offers from Delta Vega to Chief of Engineering? Who died? Did they tell us who died? When did Kirk or Spock say 'You are in charge of engineering'. I don't recall this moment.
  2. Delta Vega was not in the Vulcan star system. In the episode (#1) "Where No Man has Gone Before" we learn that Delta Vega is the most distant Federation outpost, near the galactic barrier at the "End of the Milky Way". Yet in this Trek Delta Vega must be a part of the Vulcan star system. Spock could not observe the destruction of Vulcan with his naked eye to the sky unless Delta Vega were a very close neighbor of Vulcan.
  3. If Delta Vega were that close to Vulcan, don't you think Montgomery Scott would have noticed a small quantum singularity appearing in his solar system? Do you think he might have noted that a near by planet... a famous planet... an important Federation planet... had been destroyed? Do you think he would have been so oblivious to everything but foot when Kirk and Spock show up?
  4. When the final plan to destroy Nero's ship is being hatched on the bridge of the Enterprise, a lot of dialog and logical steps are missing. The plan is not stated well at all. The scene is to brief and too fast. We needed a mission impossible style meeting to form up the game plan. We did not get it. The final attack feels half-assed, and seat-of-the-pants.
  5. Spock Kamikaze's the Jellyfish into the Romulan mining ship. This dumps the full load of Red Matter on Nero's ship. Why should we believe that the ship would survive this for couple of minutes of dialog? Why does the Enterpise need to shoot at the Romulan ship? They would all be dead as fucking in hell in no time flat as a consequence of the crushing gravity all around them.
  6. A Super Nova is too small to threaten an entire galaxy. According to, one Supernova occurs approximately ever 50 years in our Milky Way. We have not been destroyed in the past couple billion years, so these little bangs just don't do that much to disturb the 'hood. A Supernova destroys the local star system. If our sun were to go Supernova, God forbid, nothing in our system would survive. Everything out to the Kuiper Belt would be destroyed. A massive explosion would hurl all the active plasma off our sun's dead core at something pretty close to the speed of light. The Earth would be gone very quickly. Perhapse 10 or 15 minutes after the Nova began. 2 hours later, nothing would be left of our system. However, our closest neighbor Alpha Centauri would be largely unaffected by the event. Something like 4.37 years later, the Supernova would be visible from this vantage point. When a Super Nova strikes you don't have time to make plans, hash out agreements, launch a plan to thwart the Nova by dropping a quantum singularity in there. When a Super Nova strikes, any planet in its way is gone... very quickly. If Romulus is in the path of a Super Nova, Romulus is dead... very quickly
  7. I question the whole scene where Kirk exposes the fact that Spock is "emotionally compromised". No military ship allows a mutinous officer to confront the Captain in that manner. This is very questionable. The crew doesn't usually allow the Captain to strangle a mutinous officer on the bridge. Order would have been restored.
So my best advice to J.J. is the following:
  1. Make sure the new crew is working on their ensemble chemistry. The Classic Trek was all about the ensemble chemistry between the big 3 (particularly Kirk and Spock) and the supporting 4.
  2. Get a crew of scientific consultants to work with you on the next script. I could have fixed all of those screenplay problems myself in a day or so of work. A great crew of consultants would have added some really special sauce to the movie.

Saturday, May 23, 2009

You HDTV is just a TV without Blu-Ray

It's funny... I went to Fry's this morning to buy a portable hard disk. My pal Joe bought my iMac, so I need to off-load some stuff. I don't have any disks formatted in Fat32. Networking Windows 7 and Mac OS 10.5 is a bitch.

So I went to Fry's. There at the front-entrance is a big booth and sales campaign stating "Your HDTV is just a TV without Blu-Ray". That's a good campaign! I like it. I totally agree with that statement, and it is very well said.

It bothers me to no end when I go into one of these restaurants that have just invested in a nice new shinny HDTV and see a distorted squashed SD signal on that screen. This just happened last night at Poquito Mas. There we were, watching Cleveland and Orlando play basketball on a brand new 1080p 55inch Vizio. The players were squashed and picture was pixelated. What a shame!

Most of you folks don't seem to know or understand that you don't get the goods out of an HDTV unless you change your signal. You don't seem to understand that DVD contains only 216,000 pixels per frame in 16x9 letterbox mode. You don't seem to understand that Blu-Ray contains 2,073,600 pixels in that same 16x9 mode. That is a 960% increase in resolution. You don't seem to understand that there is a difference between a 622% to 960% increase in resolution 100% of the time. Conversely, the DVD contains only 10.4% of the resolution of a Blu-Ray. This is a massive differential. If you can't tell the difference, you are vision impaired. Go get lasik.

It should be noted that Blu-Ray has been custom tailored to perfectly match your 1080p HDTV. Displaying 216,000 pixels on a screen designed to display 2,073,600 pixels sucks. Ergo DVD on a HDTV sucks, period. What about upscaling? I have the best upscaling DVD player in the world. It is the Playstation-3. This is par for the course. They best upscaling DVD players are always Blu-Ray players. As the proud owner of the best upscaling DVD player in the entire world, I can tell you I would rather see the Blu-Ray every single time. DVD is a last resort.

HD-DVD players can do this trick also, but they have been surpassed of late. They ceased advancement more than a year ago.

It should be noted that the audio difference Blu-Ray and DVD is quantum. DVD does audio on the basis of 16 bit integer sampling. That's pretty good. It is CD quality. Blu-Ray can do 24 bit integer sampling. How big is that difference? It is the difference between 65,535 and 16,777,216. If you make $65,535 bucks a year, you're doing okay. If you make $16,777,216 per year, you are one rich bastard. A lot of studios, particularly LionsGate, do 24 bit almost exclusively these days. DTS-HD Master Audio is awesome.

So what the hell is the objection? Why the hell would anyone dis this concept? Why would you reject a vastly superior product?

I find that there are two answers. One comes from the lower class. The other comes from the upper middle class.

The lower class rejects this technology claiming they can't see or hear the difference, but this is nothing but sour grapes. The reality is that they cannot afford a $300 device. Most still haven't bought an HDTV in the first place. Getting a 5.1 surround with HDMI is out of the question. DVD's just became affordable two years ago when they hit the $99 point. Some members of the lower class had to pay that off in three monthly installments. I don't intend to insult you if you make a total household income of $40,000 and have 3 kids to raise. That is a tough budget assignment. You have my sympathy. However, you should be honest. You know Blu-Ray destroys DVD... if you have ever seen it.

Some members of the upper middle class reject Blu-Ray claiming this is a crass attempt by Hollywood to re-sell you all of the same movies you have already purchased before. I understand this complaint. I too feel that there is a bit of truth to this complaint. I did buy some of my favorite movies on DVD. I have replaced some of them (Road Warrior, Bladerunner, Dark City, The Thing, Being There, etc.) with nice new shiny Blu-Rays. I am passing along the DVDs to friends and family as I replace them. Still there is no question that the Blu-Ray utterly crushes the life out of the DVD. Dark City never enjoyed a good release before Blu-Ray. Bladerunner also had some moderate to poor releases. This new Blu-Ray is astounding. I am not bitter or upset about getting vastly better copies of my favorite movie. On the contrary, I am delighted. It is irrational to be otherwise.

However, one key point should be noted: I never went hog wild for DVD. It took me a long time to sign on with DVD. DVD did nothing to replace the TV recording function of the VHS. This was a huge missing feature. I did not feel that rentals warranted a $500 initial investment. PS2 eventually got me into the clan, but not for several years. Also, I fully understood that DVD was just a transitional format. DVD is not HD and never has been. We were already talking about an HD revolution in 2001. I knew there would be something better soon.

It astounds me to see how many upper-middle class gentlemen with good graduate degrees, great jobs ($200K plus) and a good investment portfolio absolutely missed these key points. They went hog wild for DVD and bought as many as 2,000 movies in this format. I don't understand that investment at all. Why did you do that? Did you not know that HD was coming? Did you not know that DVD was just plain-old NTSC standard definition? Did you not know that a much larger container and more powerful device would be necessary to push 2 million pixels and quantum audio improvements? Why did you run after DVD like that?

Naturally, if you bought 2,000 DVD movies at around $12 per pop (average over time) you spent about $24,000 USD. You won't appreciate the fact that this investment is now obsolete and vastly better copies can be had. It makes you feel stupid. It makes you feel like you have been had.

I don't know what to tell you. You fucked up. Blu-Ray is still the best there is. Everybody aught to have one.

One of my best old bosses recently sent me an eMail asking the following question: "So have you heard about the coming Super HD revolution? What are you going to do with all those Blu-Rays when the Super HD Blu appears on the market?"

He was trying to get me to see it his way. He bought 3,000+ DVDs. His catalog is posted online. He likes to boast about it.

Yes indeed, there is something on the wind right now. Super HD is indeed on the way, but I don't want to get my hopes up just yet. I would love to see 8 megapixel screens. I would love to shoot 8 megapixel videos. I would love to buy a Super HD Blu. I can't wait. Unfortunately, I think Hollywood may disappoint me.

Thursday, May 21, 2009

The Difference between F# and Scala

Recently, a friend of mine (Jason Yi) got interested the new Object-Functional paradigm shift. He got interested for much the same reasons that I got interested in it.

Both of independently came to the conclusion that mutli-threading in our conventional objection oriented languages is a bitch. Even in languages which are considered easier to program in (such as C#, Java and VB) the things you have to go through to setup a multi-threaded app are fairly painful. It will break the normal approach to VB coding. In a multi-threaded app, nothing kills you faster than shared, global, mutable state. The next thing that kills you is uncontrolled side-effects all over the place.

There are veteran C/C++ programmers who will tell you never to purse more than a 2 thread model in any of your programs. You should have one foreground interface thread, which keeps the user interface responsive and reporting to the user. You have one background worker thread which invisibly does all the processing work. The two synch periodically. The end user is notified when the job is done. This is how SQL Management Studio does business when you process SQL statements. Anything beyond this basic parallel model is risky. Its just too complicated to manage well, or so they say.

Unfortunately for these experts, Jason and I know that this 2 thread model is not going to cut it in the future. Many others have come to the same conclusion. Intel and AMD are going parallel in a major way. Everybody is going to walk that path with them. Quadcore is now ubiquitous and cheap. We even have quadcore laptops. Consumers and businesses are going to want software which exploits this power. They are not going to continue to accept slow running serial-chain single-threaded software that does not exploit the power of their nice processors. Mutli-threaded programmers will first enjoy competitive advantage. Eventually, they will obtain competitive exclusion. This won't happen over night, but it is in progress. We will get there.

This means a lot of your rank-in-file business programmers will be leaving the field soon. I see many failing to adapt now. I foresee most of these programmers never adapting. People are always leaving the programmer ranks for other careers. The fallout rate in programming is rather astounding. That rate increases massively when major technological shifts occur. That rate is going to accelerate in the years to come. As this process runs along, VB may become the new FoxPro.

So why get into Object Functional languages? Because it is easier to multi-thread these languages. Functional, higher order languages are naturally stateless. They heavily emphasize immutability of data within any scope. Once you set an identifier to a value, it cannot be changed. Side-effects must be tightly controlled in monads. For these reasons, NASA has little problem taking a 40,000KLOC program written in OCAML and smushing it across a cluster of 1,024 processors. Erlang is probably the most heavily clustered language in the history of the industry. It is a pure example of the functional paradigm. If you follow the natural rules of the road in these languages, you will windup with a naturally thread-safe app that does not require extensive mutexes and locking mechanisms. You can do a hell of a lot more than 2 threads worth in these languages, but you must accept the natural schema of these languages. You cannot fight the natural order of the language.

So which language do we choose? Do we use a pure language like Haskell, Miranda, ML, or Erlang? No. We would be absolutely fucking lost without our objects. We need OOPs, or all our patterns break. We need an impure Functional language which gives us the goods whilst still allowing us access to the goods of the Java JEE and the .NET BCL. This is a natural requirement and we have to have it.

So what impure choices give us Java JEE and .NET BCL? Well, there are two. F# is offered by Microsoft and will be a part of the Visual Studio 2010 package, which just went Beta. Scala is offered by the open source movement and the Swiss ETH. Martin Odersky is the big man on this project. It gives full access to the JEE. Supposedly, there is also a .NET version of Scala.

Now for the title track: What is the difference between F# and Scala?

F# is basically OCAML. F# is OCAML which has been ever-so-slightly adjusted such that it will fully support all of the intrinsic types and categories of the .NET framework. Some .NET elements (such as delegates) have no meaning or usefulness in a higher-ordered world of OCAML. If you want to pass a function pointer, there is no need for the machinery of a delegate. Just pass the function to another function. However, F# needs delegates so that it can smoothly interop with code written C# and VB.

OCAML is the Object-Oriented version of CAML, and it showed up for the first time in 1996. CAML (Categorical Abstract Machine Language) is the French version of ML, and it first appeared in 1985. ML is a Scottish invention which first appeared in 1973. ML stands for Metalanguage. The objective is to write down mathematics in a rather straight-forward way. That is the absolute idea.

F# is a language with a strong family legacy that rolls back to 1973. It is not really a new thing at all. It is just OCAML ported to run on .NET. This is good news and bad news. It means you have a pretty good formal spec. It means that you have a smattering of highly experienced users. It means that you have a bunch of free-floating source code on the web. It means that there are non-new, and well-done learning resources. See an OCAML example. Copy and paste it into Visual Studio. Run it. Watch it fly. It means that that one big Wallstreet hedge fund that uses OCAML can now move to Visual Studio. Don't laugh. That was a very serious reason for selecting OCAML. This long history has some negatives associated with it also. F# is a language which inherits some ponderous baggage.

OCAML does support some object orientation, but it all began with ML, which is not even slightly OOPish. I am not thrilled by the level of OOPs support in OCAML. OCAML is a lot more functional than Object Oriented. It is a lot more functional than imperative. It is not far from pure. For this reason, F# is more functional than OOPish. It is more functional than imperative. F# ain't that far from pure either. While far better looking than something hideous like Erlang, OCAML and F# are far from an easy syntax to pickup if you are C# or Java programmer. You won't have an easy outing if you go that route.

On the other hand, Scala is a truly new language. Scala begins with body frame of classic OOPS language, and brings the full-house of functional stunts into that OOPS housing. Don't think that Scala lacks functional powers. It has everything functional. Martin Odersky declared that his purpose was to find the perfect fusion of OOPS and high-ordered Functional programming. I think he did one hell of a job. Odersky had a second objective in mind. Ordersky wanted to create the successor language to Java. Scala compiles to Byte Code and can use any jar of Byte Code directly. Don't think for one second that this means that Scala inherited a lot of ponderous family baggage from Java. Rather, the objective was to drop all ponderous baggage, and get a fresh start from Greenfields.

Scala has influences, but it has no family baggage. It does not look much like Java, but it has Java influences all over the place. It lives in the Java VM, after all. Although you can use Java Jars, I seriously doubt Java can use Scala Jars, unless the public interface point is very carefully crafted.

There is another dimension which has to be considered, and that is Intended Scope.

Having studied F# to some extent, and read the many blogs about it written by MS Research, I think it is clear that Microsoft is offering F# as a DLL language. By that I mean they have little intention of advocating WPF, WinForm, WebForm, SilverLight or MVC clients written entirely F# code. Of course, it is entirely possible to do so... if you know how to write all the code--by hand--from scratch. Do not expect Visual Studio tools to help you in this endevour. I believe Microsoft envisions a limited career path for F# as a language you write advanced DLLs in. Perhaps DLLS that parallel process gigabytes of Data in short order.

A guy might even infer that Microsoft envisions a division of labor in which an art designer makes XAML code in something like Adobe Illustrator... er... Expression Blend. This process determins what the beast looks like. Then a C# programmer writes a skinny controller class that handles events by invoking F# code (with parameters) stored in an F# assembly. This F# code performs hardcore processing of computationally intensive OLAP, and does so in a multi-parallel fashion. The C# programmer catches the return results from this F# assembly call, and updates the fancy interface designed by the artist. M-V-C. View in XAML done by an artist. Controller in C# done by a line-of-business developer. Model done in F# by some hardcore math-geeks.

On the other hand, I do not believe Scala has a pre-defined, task-limited scope. I think that the creators of Scala would like you to use this language in any and all contexts. No limits on scope are intended. Already, David Pollack has whipped out a cool Web Framework called Lift. I hear a lot of interest in doing JavaFX inteface work with Scala. Of course, you can use it to write JAR files which parallel process gigabytes of Data for a Java front end... if you are good.

F# cannot (at this stage) serve as a general-purpose replacement to C# and VB. You may want it too, but I don't believe it will go there or do that. I personally would never want to code WPF app in F#.

Scala can and will serve as a general purpose replacement for any language you use. It will go there, and it will do that. I do want to code websites and rich WinForms (JavaFX) apps in this code.

In view of all these things, I made a decision that I didn't like F# and I did like Scala. I believe Scala represents a new advancement of the state of the art in programming languages. F# does not. It is a port of an older language that has been around since 1996.

There is another thing to be said for the persuasive powers of the two men behind these languages. Don Syme is the front man for F#. With apologies to Don, he strikes me as the purest of math-department geeks. Not quite the sort of guy I would trust or follow... or so it seems. On the other hand, Odersky strikes me as a language genius from the richest tree of language geniuses. His family tree leads back to Niklaus Wirth, from whom all good things come. Odersky hails from the ETH in Zurich, which is Wirth's department. Wirth sat on Odersky's Ph.D. committee. Ergo he is a student of Wirth's. Ergo, he is just exactly the sort of guy needed to bring about this kind of revolutionary change.

Tuesday, May 19, 2009

The NFL's Greatest Myth: Joe Montana is the greatest QB in NFL history

It just ain't so. We would not even entertain the notion if it had not been for that masterful myth-maker Steve Sabol. He was the guy who first advocated the notion that Joe was the greatest in history.

This policy was set for crass materialist gold-digging reasons. It behooves the NFL (financially) to claim that the greatest X in history is playing on the field right now. This is how you promote an entertainment spectacle. This is especially true in the case of the Quarterback position. You sell a lot replica Jerseys, a lot of tee shirts, and license a lot of film footage for the greatest Quarterback in history... who ever that is. We should remember that in 1993, the year Steve Sabol started this bullshit, Joe was still playing. He was headed for Kansas City, to be specific. You can sell a lot of #16 49er Jerseys and a lot of #19 Chief Jerseys by advocating this notion.

Don't under-estimate the power of the profit motive in the fine art of bullshit weaving.

Certain wimploid QBs with weak-ass arms--like Pat Hayden--joined in the chorus very quickly. Pat is a former Ram, so I claim family rights to bitch slap him for joining in with this foolishness.

I was one the guys acting as if the tribal gods had been offended. I wasn't the only one. I was in very good company. In his 1993 Hall of Fame acceptance speech, Dan Fouts took a hard shot at the "Joe is the Greatest" camp by declaring that the only reason he was being inducted into the Hall of Fame was his good fortune to learn at the feet of the greatest QB in the history of the game, Johnny Unitas. Unitas was the starter in San Diego in when Dan Fouts was drafted. Fouts was taught the craft by Unitas. That was a political speech. It was delivered with a curl of the lip and a snarl in the voice. The statement was intentionally pointed. It occurred at the very moment that the Joe band waggon was starting to roll. Dan Fouts was throwing his shoes at Pat Hayden and Steve Sabol... on camera... in front of a national audience... at the Hall of Fame.

I loved every frickin' second of it. I couldn't have agreed with Dan Fouts more. Dan Fouts knows a thing or two about quarterbacking. You aught to pay him some heed. Johnny Unitas remains the greatest Quarterback in NFL history. Let's leave it that way.

Pat Hayden reacted to that speech a couple of times. He was a color man for ESPN Sunday Night football in those days. Believe me, he was defensive about Fouts. He knew Fouts had, cryptically, told him to sit down and shutup. He tried to defend his position on Montana with most of the common arguments made today, but he was nervous. Fouts had a lot more clout that Hayden.

I once made this argument for an old timer who remembered Unitas well. The old timer was a resident of Concord California, and a big 49er fan. He had a few moral problems declaring that Hoe... excuse me, Joe, was the best of all time. After a few moments of consideration he asked:

"Well you at least have to admit that Joe is the greatest of the Super Bowl era, right?"

"Nope, Johnny Unitas played in Super Bowl III and V. The Colts won V against Dallas. Unitas played in the Super Bowl era."

"Oh yeah... I forgot that. well, you have to admit that he is the greatest QB in recent history?"

"Nope, the truth be told, Joe isn't even the greatest QB in 49er history, much less recent history. The guy who replaced him--Steve Young-- was better than he was in every respect."

The old man looked conflicted. He felt like the tribal gods had been offended, but at the very same time, this dedicated 49er fan knew why a serious man could think this thought. Joe had a weak arm. Steve had a strong arm. Joe was mobile. Steve Young was a threat to run the distance of the field for a touchdown. He did that much more than once. Joe threw a lot of TD passes to Jerry Rice. Young threw 30 more TDs to Jerry than Joe did. That is a literal figure. Joe was clutch, but he needed to be clutch. Steve was clutch when he had to be, but he usually got his work done by the 3rd quarter. Steve didn't need a lot of comebacks. Joe once threw 5 touchdown passes in a Super Bowl. Steve threw 6. Joe retired with the highest lifetime QB efficiency rating ever recorded (92.3). Steve retired later on with an even higher passer rating. Steve Young still has the highest lifetime efficiency rating ever recorded by a retired career quarterback (96.8). Joe is in the Hall of Fame. Steve is in the Hall of Fame. I watched Joe & Steve run the same offense with most of the same players. That offense was far more explosive and dynamic under Steve than it was under Joe.

It should be noted in passing that Kurt Warner has a lifetime efficiency rating of 93.8. He's shooting right through the middle of those two. If he finishes well, who knows...

There are good and valid reasons why the NFL's Top 10 rated Joe & Jerry as the #3 passing combo of all time. There are better reasons why they rated Steve & Jerry as the #2 ranked passing combo of all time. Jerry was the same lethal Jerry. Steve was just better than Joe. That is the difference between #2 and #3.

The old timer from Concord California chewed it over a for a few and he said:

"Yeah, but Joe won 4 Super Bowls and Steve only won 1 Super Bowl."

"Nope. Joe never won a single Super Bowl. Steve never won a single Super Bowl. Joe was part of four 49er teams that won the Super Bowl. Steve was part of three 49er teams that won the Super Bowl. No Quarterback ever won a Super Bowl."

Nothing pisses me off more than this false notion that quarterbacks win Super Bowls. You need a complete offensive, defensive and special teams package to win the Super Bowl. You need some good luck too. It takes at least 40 good men to win a Super Bowl.... and a couple of good bounces... and a couple of bad calls.

So who is the greatest Quarterback of the past 30 or so years?

There are a few candidates, and it is hard to choose between them because it is hard to compare. If I had to call it, I would name three candidates in no particular order.
1. John Elway
2. Steve Young
3. Dan Marino

In terms of pure passing skills, nobody compares to Marino. Marino could hit a golf tee on the sidelines from 65 yards away 9 out of 10 tries. Nobody had more control or accuracy than Marino. He also had incredible vision. He didn't miss open receivers down field. He did a good job of picking the most open receiver when his three guy gave him several options. It is a pure crime that Dan Marino doesn't get mentioned more often when we discuse the greatest QB of all time. There aught to be a congressional investigation. He was incredible. He was the greatest pure-passer I ever saw.

You know why they don't mention Dan...? It's this goddamn fucking stupid shit about Quarterbacks winning Super Bowls. You know how I feel about that already. That doctrine is a completely FUBAR doctrine.

Steve Young and John Elway are almost left handed and right handed mirror images of each other. Amazing athletes. Incredible mobility, but Young was better. Great arm strength and accuracy, but Elway was better. Great in 2 minute situations, but Elway was better. They both ran Shanahan's West Coast, but I think Steve Young ran it better. Elway did a hell of job, though.

In terms of the complete package of passing skills, mobility, running for yardage, 2 minute comebacks, efficiency, Young and Elway have to outrank guys like Marino and Fouts. Marino and Fouts were pure pocket passers. Either Elway or Young is the greatest QB of the recent era.

What about the young fellows like Tom Brady and Peyton Manning? Let's not comment on them. Their careers are not finished. They have plenty ahead of them. Let's see how they finish.

What about Brett Farve? Don't go there. Way, way, way too many interceptions.

For those who still want to claim that Joe is the greatest. I strongly recommend you watch three NFL films which are factual and not mythological. Watch the NFL's Greatest Games 1981 NFC championship and 1983 NFC championship. You will see things from Joe you never though could happen. You will see highly erratic performances where he turned over the football 4 times in one and several more in the other. Further, watch the "America's Game" 1988 49ers. You will see that Roger Craig was the man on that team, and the 49ers were trying to replace Montana with Young. An unvarnished look at those films will damage your doctrinaire view of Montana.

Monday, May 18, 2009

The NFL's Top 10 myths

As I said before I love the Top 10 series.  I usually agree with most of the list.  I may feel this guy or that thing is a bit over or under-rated, but I agree with the list as a whole.  The experts interviewed are usually frank about the controveries, so disagreements & arguments are covered well.

Never, never, never in my life have a I so vehemently diagreed with a program as I did with the Top 10 Myths.  That list was mostly bullshit.  The top two (2) so-called myths were absolute and complete bullshit.  They were controversial points on film.  The experts interviewed for the program vehemently disputed these points.  Some were for it.  Some were against it.

For the purpose of this Blog entry, I want to focus on the #1 so-called myth:  The Prevent Defense prevents you from winning.  This saying has been an axiom for years now.  Just about all NFL fans feel this way.  Most veteran defenders feel this way also.  How in fucking hell did Sabol and company managed to identify this great hueristic truth as a myth?

I want to clarify exactly why this is not a myth.  I also want to explore why this may have been a case of unqualified confusion.

What is the Prevent Defense?

The PD is a special defensive package and strategy that some head coaches and defensive coordinaters have favored through time.  When you get a big lead, say 14 to 17 points, you change your defensive formation and objectives.  
1. You rush 3 men.  
2. You drop 8 men into pass coverage
3. The 8 men in coverage play a soft-zone.
4. You make sure two of those 8 men and super-deep.  All the way back in the end-zone, perhaps.
5. You try to guard the sidelines and prevent ball carriers from getting out of bounds.
6. You never allow a deep pass.
7. You concede 6, 7 or 8 yard gains in the middle of the field.
8. You hit hard and tackle immediately.
9. You force the enemy to creep down field with the clock running
10. You inflict punishment, and try to create a turn-over.

This is the strategy of the Prevent Defense.  Conceptually, it all seems very sound.  Although it had been seen before, it was deployed massively in the aftermath of the 1978 rules changes.  Those rule changes created an offensive explosion, especially in Pittsburg, Dallas, and San Diego.  Even the Rams began to throw the ball deep in 1980 with Vince Ferragamo.  Before this we were a ground chuck offense.

In those days, teams were deathly afraid of the bomb, especially at the end of the game.  The bomb in the 4th quarter was feared because it could quickly bring you back from a sizable deficit.  Let's not forget how the Rams were defeated by the Steelers in 4th quarter of Super Bowl XIV.  Two big 60-prevent-slot-hook-and-goes to John Stallworth won the game for the Steelers.  Stallworth should have been the MVP.

Ergo, the prevent defense was praised in the late 1970s and early 1980s as a very wise, sound and conservative defensive package for the deep 4th quarter.  Typically, teams with a lead would play this package in the last 5 to 7 minutes of the game... if they had a good lead.

But history takes its turns.  A funny little thing happened in 1981 which shot the prevent defense to fucking hell, and some rationalist/anti-empircal fans and coaches still haven't noticed it to this day.  That funny little thing was called the 49er West Coast Offense.

I have found that most people don't understand the West Coast Offense at all.  It is completely misunderstood and mischaracterized by almost everyone as a high-flying and high-scoring offense.  Well... it may be efficient and high scoring (sometimes) but high-flying it ain't.  Especially not in the begining of time when Bill Walsh invented it and Joe Montana was running it.

The West Coast Offense is a piece of pure trickeration.  The objective is to fake the pass on almost every play.  Most of the time, you send two recievers deep to the endzone.  The QB looks deep.  The defense reads the QB and reacts.  The QB checks down to a running back (like Roger Craig, Tom Rathman, Edger Bennett, Dorsey Levens or Michael Westbrook).  The pass covers 4 to 8 total yards in the air.  The running back makes the catch at the line of scrimmage near the sideline.  It looks more like a latteral than a pass, even though it is a forward pass.  The running back runs through a stretched defensive field.  The back can almost always get 4 to 8 yards on such a play.  You use the short pass just like a long hand-off.  You use the short passing game just like the run.  Every play is a delayed hand off.  Every play is a draw.  Every play is a screen pass.  There were three questions to be answered by Walsh in this experiment.  Can the short pass completely replace the running attack?  Can we control the ball and march to a score consistently this way?  Can the short pass setup the long pass?

Basically, Walsh and Montana were able to answer Yes, Yes, and Maybe to those three questions.  It was a revolutionary offense for the mad-bomber era.  The 49ers controlled the ball by passing.  You couldn't sack Joe because he didn't hold the ball long.  He wanted to go short anyhow.  You didn't bother to stop the sort pass, because you wanted to prevent the bomb.  Nobody seemed to notice that Joe had no notion at all of going deep. The deep pattern was just there for deception.  25 yards was a deep pass for Joe Montana.  The 49ers beat up a defense making them run back in coverage and run forward to tackle the running back.  They kept their defense off the field too.  Everything worked.

There was another thing that nobody noticed:  The West Coast Offense utterly destroys the Prevent Defense.  The West Coast Offense is absolutely designed to take that which the Prevent Defense was absolutely designed to concede.  Therefore you put fullness against emptiness.  You telligraph a fastball to a fastball hitter.  It is like a penis penetrating a vagina.  The two were made for each other.  The Prevent Defense is pure pussy for the West Coast Offense.  The stupiest fucking thing any coach could ever attempt to do is run a Prevent Defense against the West Coast Offense for the last 7 minutes of the game.  That is enough time for 2 touchdowns.

But wait, isn't the goal to make the offense complete passes in the center of the field?  Don't we guard the sidelines?  You just fucking try it against these guys!  You just try to keep Craig and Rathman in-bounds when they catch the ball near the sidelines and know they have to get out of bounds to stop the clock.  For the Prevent theorists, life a beautiful theory, ruined by an ugly fact.  The fact of the matter is that very few teams had the sort of linebackers and corners you need to power-slam these kinds of athletes immediately in this situation (remember we're in the prevent).  The Giants and the Bears were two such teams in the 1980s.  The Cowboys were such a team in 1990s.

I don't know how many times my Rams lost to the 49ers in the 1980s when we had a lead on them with 4 or 5 minutes to go.  It happened at least 6 or 7 times.  It happened specifically because Coach John Robinson was a major advocate of the Prevent Defense (it worked at USC, didn't it?) and he loved to run it in the last 5 to 7 minutes of the game.  The Rams might be leading 19-13 with 4 minutes left.  We were willing to concede a field goal, but we didn't want to give up the 7. The 49ers were frustrated.  We bottled Joe all game long.  Then suddenly, after 56 minutes of frustration, Joe gets hot.  He completes everything he throws to Craig, Francis, Franks, Jones, and Rice.  The prevent defense concedes 4 to 8 yards every play.  With horses like Roger Craig, Tom Rathman, and Jerry Rice, they stretch that figure to 12 or 13 yards per play.  They score with 21 seconds left.  We can't comeback running the football with Eric Dickerson.  The situation was too pressure-packed for Jim Everett.  It goes down in the record books as another 2 minute drive for Joe Cool.  

Nope!  Not true!  John Robinson just served up some pure pussy to Bill Walsh.  Bill enjoyed it well.  The West Coast Offense utterly destroys the Prevent Defense.

We Ram-fans weren't the only ones victemized by this stupidity.  The 1983 Redskins almost lost the NFC championship to the 49ers in a very similar fashion.  After inflicting a defensive thumping on Montana through 3 quarters, they thought he was dead.  They went to the Prevent, and Joe got really hot.  They were lucky they profitted from some dastardly-bad calls against the 49ers.  They were lucky Rigg-o could run out the clock for them.  The Diesel won that game.  There were many, many other cases like this.

This is when the chorus began to rise from fans and coaches alike.  This is when we began to chant "The Prevent Defense only prevents you from winning." This only got louder as guys like Wyche, Holmgren, Shanahan, Green, and Gruden started coaching.  I'll tell you now:  All these guys loved it when Marty Schottenheimer ran the Prevent.  This why Marty Schottenheimer never won a single playoff game... except for the two Joe Montana QB'd for him in Kansas City.

Let's face the facts folks:  Nobody plays the West Coast as Walsh once did.  That scheme has evolved out of necessity.  The old methodology doesn't work now.  Defensive Coordinators now know they have to stop the creeping death.  They know they have to challange the short passing game.  They are certain it is leathal if left untreated.  Still, the West Coast is a part of every single one of the 32 offensive playbooks in the NFL now.  Every team has adopted the most successful aspects of this gameplan.  Almost every team uses it (at least a little) each and every Sunday.

If the DC goes to a Prevent, the enemy OC is happy to reply with the West Coast.  The West Coast dominates the Prevent.  Every single year we see several games where some stupid DC tried to go to the Prevent way to early.  In reply, the enemy OC quickly deploys the West Coast.  The result is a come-from-behind victory for the team that profitted from the stupidity of the Prevent. 

This is why we still say the Prevent Defense only prevents you from winning.  The so-called myth is not a myth, and I don't give a fuck if my favorite coach Dick Vermeil takes the other side.  I will remind you that Super Bowl XXXIV was closer than it had to be, and we weren't exactly playing a pure prevent.

There is only one situation where you should ever play the Prevent.  This is in the final 15 seconds of the game when you have a lead greater than 3 points.  Never, never, never use it any sooner than this.

Steve Sabol of NFL films had a conversion experiance about three years ago

I am a huge fan of NFL Films.  I grew up on them.  They taught me the structure and strategy of the game.  I owe a debt of gratitude to Steve Sabol for this.  However, Mr. Sabol has pissed me off many times.  It is kind of a love-hate thing.


The early portion of the man's career (late 1970s to the late 1990s) basically focused on mythologizing NFL history (both players and teams).  His myths are full of men of destiny who rarely or never failed.  Invincible juggernauts who could not be defeated.  Men who could snatch victory from the jaws of defeat despite major orthopedic injury, etc.  These are all miracle stories of a sort.  They are close cousins to tales of feeding thousands with 7 loaves and 5 fishes, or walking on water.  We love a good Paul Bunyon, Perseus, Samson, Hercules, Beowulf story, and so we sit transfixed and listen.

The interesting thing is Steve has been experiencing a change of religion in the past 3 to 5 years.  It would be hard for me to put my finger on the exact moment when his conversion happened.  Two different series of programs have manifested a fundamental shift in his goals and purposes.  The first is the "America's Game" documentary series.  The second is "The NFL's Top 10" series.

Both of these are hard documentary series.  Both of these try to do the most objective job possible of ranking important events and teams and players and facts about NFL history.  The focus is about who, what, where, when, why and how.  Myth makers are sitting on the bench.  Smart players who lived through it all are asked to be brutally honest about tough subjects.  Ugly flies in the mythological ointment are exposed.  Controversial subjects are argued well by many sides.  Some youngsters are shocked by what they see.  

This is especially true with the "America's Game" documentary series.  There are many youngsters who cannot remember the Steelers or the 49ers first hand.  They never saw them play during their classic eras.  I remember it first hand.  What these youngsters see of the Steelers and 49ers often shocks their minds.  They can't believe the real Terry Bradshaw was on the bubble for several years.  They can't believe the 49ers wanted to replace Joe Montana in 1988.  Their eyes bug out of the skulls when they see this.  I know.  I have dis-infected several true believers by showing them these documentaries on DVR.  Their reactions have been funny to watch.

This series plays like a Mea Culpa from Steve Sabol.  It is as if he feels he must correct the distortions of NFL history he created in his earlier life.

I love both of these new series.  The older I get, the more NFL history I know.  It is hard for me to believe that I have seen and understood every Super Bowl since XIV.  I saw a portion of XIII, but I didn't really understand what I was looking at.  I was just 12 years old.  I have watched (closely) every season since 1980.  I know this history first hand.  I lived through much of it.  I remember it well.  For this reason, the myth making thing has become very tired and very transparently false in many cases.  Lately, many myths, particularly those surrounding the Raiders and 49ers, have irked me a great deal.  For those who do not know, I grew up in Fresno California during the 1980s.  Believe me, I saw the Raiders and 49ers every week.  There was no NFL Prime Ticket or Super Fan in those days.  You watched what NBC and CBS showed you.  NBC showed the Raiders.  CBS showed the 49ers.  I know them well.  You can fool some of the people most of the time, but you can't fool me.

Thursday, May 14, 2009

So AMD gained share on Intel this past quarter?

AMD saw it's share of total CPU shipments increase to 22.3%.  AMD gained 4.6%.  Intel lost 4.7%.  Ergo AMD gained directly from Intel's lost.  You can read about it here.

When you read the analysis one thing becomes absolutely clear:  This is a famine story.  This is a story of global recession, shrinking budgets, and less discretionary income.  AMD won share because AMD is cheaper.  The entire Phenom II platform is cheaper than the entire Core 2 Quad and Core i7 platform.  People are spending less money on new computers, ergo they buy AMD.

Truth be told, Phenom II is more than fast enough for all of today's games and all of today's conventional software.  If you are a developer and want to download a copy of Netbeans 6.7, Maven2 and Scala 2.8, a Phenom II will work just fine.  It will run Glassfish and MySQL at the same time without worries.  You will enjoy crisp performance.  Visual Studio & Microsoft SQL Server are a piece of cake.  Not to worry.  You do killer gaming?  No problem.  Just make sure you have a good GPU also.

But Phenom II cannot hold a candle to Core i7.  I know.  I have one.  After very careful evaluation of the full spectrum of benchmark info, I came to the conclusion that Phenom II is almost a peer of Core 2 Quad.  I already owned a Core 2 Quad.  I had owned this Core 2 Quad for almost 2 years when I sold it.  Since Phenom II was almost competitive with my 2 year old machine, it constituted no upgrade for me.  Further, Phenom II--just like Core 2 Quad--delivers about 64% of the processing power of a Core i7 {when you compare Mhz for Mhz, core for core, watt for watt}.  Core i7 is more than 50% faster than these two.

Who cares?  Well, truth be told, there is one thing in the world that is still preposterously CPU intensive.  That is 3d Visual Effects and HD composition.  If you make HD movies, and like overlaying some 3d spice, you will bring any rig to its knees in no time.  No matter how much CPU you get, it is never enough.  No 3d or HD rendering process runs in real time on any machine.  None of these software pacakges are interactive.  The CPU is the bottleneck in the process.  The user is not the bottleneck in the process.  The computer does not wait for the user.  The user waits for the computer.

I love 3d arts.  I am not a good artist, but this is my hobby and love it.  I use Modo and Vue 7 and ZBrush.  Each of these systems wants a lot of RAM and lot of CPU.  The more the better.  This is why I chose Core i7.

Industrial Lights & Magic (George Lucas's firm) used to have a render farm they called The Death Star Render Cluster.  This was a huge server farm, packed out with 600 to 800 server blades.  Each blade sported 2 Opteron processors {back in the day}.  Each of those Opterons had 1, 2 or 4 cores.  They went through several generations of blades quickly.  Just about all the visual shots in all of your favorite visual effects movies over the past 8 years were rendered on this cluster.  The CPUs did all the work.  GPUs from Nvidia and ATI did nothing vis-a-vis rendering.

You might ask why did they choose AMD?  At the risk of quoting Sarek of Vulcan, at the time it was the logical thing to do.  People don't remember anymore, but for three years between 2004 and 2006, AMD ruled the world.  In the middle of that span, AMD brought out a processor called the Athlon 64 X2.  I was the first in line to buy the 4400.  I had it a day before the official release and linked it with a Geforce 7800.  In May of 2005, this was the finest platform any guy could want.  It consumed 89 watts tops, vis-a-vis 125 watts.  That made a big difference to your heat production, heat sink, and noise levels.  In terms of horse power, it utterly devestating Intel's single core 32 bit approach.

This was a major inflection point in the history of computing.  It was like the ENIAC, it was like the Dec VAX, it was like Apple II, it was like the IBM PC, it was like Mac, it was like the Amiga.  It changed the entire course and flow of history.  Before Athlon 64 X2, we had a single processor core on a chip.  It was 32 bit...  for the most part.  Intel's objective was to increase raw frequency of clock cycles.  This increased single threaded execution speed.  Suddenly in May of 2005, we had two cores, and they were both 64 bit.  It offered a far better experianced for a highly-multitasking OS like Windows XP.  This chip is now the pattern for everything in the industry.  It broke the entire flow and direction of Intel's corporate road map, and it forced them to go in a different direction.  

In the summer of 2005 Intel fell so far behind AMD {technologically speaking} most of us could not see the bottom.  Nobody wanted to buy Intel.  So powerful was this demand-force that even the most recalcitrant vendor in the world (Dell) was forced to introduce AMD systems.  Some were wondering if AMD would become the major supplier of x86 chips and lay a Zilog whupping on Intel.  Intel was in crisis.  The Pentium 4 had failed.  Worse still, the central strategy of the Intel corporation had failed.  AMD had handed them their ass.  There is no other way to describe it.

It took more than a year of devastation and shame to kick out of the hole, but in the fall of 2006 Intel delivered the greatest counter punch in the history of the computer industry.  It was a haymaker TKO.  They called it the Core 2 Duo.  It was so powerful, it sunk AMD's ship.  It was an overnight sensation.  Intel could righteously claim that Core 2 Duo was the best processor for every application.  There was no benchmark it didn't win.  The average margin of victory was 27%.   Worst of all, it consumed a meager 65 watts tops.  AMD's finest were at that level, but they were much slower.  Intel won every server and every laptop design contest in every major manufacturer.  We got the finest desktops and latpops we had ever owned.

Since then, AMD has been in a downward spiral.  AMD merged with ATI, which most of us considered a mistake.  They got completely obsessed with 'true quadcore' when meant sticking 4 cores on a single piece of silicone.  This was of little consiquence to the end user, and proved to be a first-class red-herring.  Intel just popped two Core 2 Duos into a single processor package and had instant Quad Core.  AMD stayed in their own personal wild-goose chase for more than a year and introduced Phenom I at the end of it.  This was a processor that was not competitive in wattage or processing power with the best Intel offered.  People got fired.  AMD trugged on.

Many of us were depressed about AMD's plight.  A lot of us liked AMD better than Intel, but the objective among us understood AMD was not competitive.  It wasn't that Intel was anti-competitive.  Rather, AMD failed to compete.  AMD did not answered the bell.  AMD has not counter-punched.

Nothing has really changed since then.  We are into the 3rd year of total domination by Intel.  Intel crushes everybody in terms of performance.  There is no competitor on the horizon for Core i7.  We only wait to see what Intel will do next.  Right now nobody is strong enough to carry the weight of Intel's jockstrap.

There is a faint hope that Sony, IBM and Toshiba can deliver a dual-core 64 bit Cell which runs at 7GHz.  There have been rumors about this for some time.  There is a hope that the Sony Playstation can be extended into a full-blown general purpose platform with this 7GHz processor.  But this is just hope against hope.  Everything is X86 and AMD64 now.  Even the Java platform is very centered up on x86 and AMD64.  This is the absolute point of focus where the entire platform is best-tested and most robust.

Until quantum computing arrives, it is x86 and AMD64 all the way down to the turtles.  When quantum computing arrives, I have a sinking feeling we will use it to run x86 and AMD64 code in emmulator mode.  

In view of all this, you can understand why I was surprised to read that AMD gained share against Intel.  I am happy about this.  It means AMD won't die soon.  I am glad.  However, technologically speaking, it is surprising.  The reason is famine, global recession, liquidy crisis, credit crunch, and de-leveraging.  People want to play less.  People want to buy in cash.  Intel is a bit pricy for this.  AMD can hit the budget point.