Tech Ed 2007 Not In New Orleans: I Wish They’d Reconsider

This has been around for a month, but I wanted to lament that Microsoft has cancelled their plans to hold next year’s major conferences in New Orleans. New Orleans is one of my favorite cities (and is a great place to get really drunk hold a conference) and certainly needs the business. Apparently, the airlines have not restored capacity to service the city, raising a nasty Catch-22 when it comes to the city hosting major events.

Practical OCaml

My very favorite technical book of last year was Peter Seibel’s Practical Common Lisp. APress has recently released Practical OCaml by Joshua Smith. OCaml is the language implemented by F# (I don’t know if F# is super- or sub-set — perhaps the book will clarify).

I doubt that lightning will strike twice, but if Smith’s book is half as good as Seibel’s I look forward to reading it.

Y2K: What Went Right?

I’ve been writing an article about software brittleness and found myself asking a question I can’t answer: Why was there so little software chaos in January 2000? There really were hundreds of millions if not billions of lines of COBOL that were at least potentially vulnerable to the rollover bug, those systems really were spread out across a huge variety of industries, including sectors like business and insurance. I’ve never heard a post-mortem of Y2K that claimed that pre-Y2K remediation efforts were so heroic and wide-spread that the problem was just plain “caught in the nick of time.”

In the years prior to 2000, I can at least claim that I cautioned against the most dire warnings. In essays in Software Development and in a letter-to-the-editor in response to a Newsweek editorial, I pointed out that the oft-quoted estimate of $600M seemed to originate from the worst-case scenario of a single analyst’s report, that most PC-based software was written in languages not vulnerable to the problem, and that while errors would certainly crop up (wrong!), many systems would tolerate the computer’s belief that the year was 1900. But… I didn’t expect the utter lack of effects.

It’s a puzzlement.

Extraordinary Claim: British Boffins Crack Lottery

Supposedly, a group of scentists and academics in Britain have, on an investment of $8700, used a mathematical approach to win a $13M jackpot. (Source: A Statistical Approach for Winning Lottery — Group Wins $13M!)

Momentarily assuming that there’s no “rake” and that the lottery pays $1 in prizes for each $1 in gambling, that’s “only” ~1500:1 odds. Not likely, but stranger things happen every day.

But, of course, the problem with any kind of approach to the lottery (or, for that matter, stock picking), is that there is a rake. In the case of the lottery, the state takes a large percentage of the income. In the case of stocks, trading costs and the speed of execution have destroyed many a trading “system” (it’s surprisingly easy to create a statistical model that works, if execution is instantaneous and free).

The scant details seem to describe a technique for covering all numbers in order to increase the amount of payout when those numbers hit (as opposed to, say, the numbers 1-12 and 1-30, which are used by people betting birthdays and anniversaries). I find it highly doubtful that any such technique could beat the rake in a professionally-run, large-scale lottery. If there is a technique, I hope the newly rich academics publish their mathematical techniques, because it will probably necessitate rewriting the textbooks of probability!

Oh, and this gives me an excuse to blog a long-held opinion of mine: it’s perfectly rational to buy a ticket for a lottery. What’s contemptibly irrational is buying two or more.

The Departed: Just a Fun Ride or Tightly Plotted? (Spoilers)

We went to see The Departed last night. I’m trying to figure out if I should try to figure it out or if, like “Snakes on a Plane,” verisimilitude was not it’s highest goal.

First, though, I have to say how gratifying it is to hear actual Boston accents (Matt Damon and Mark Wahlberg). What you hear 99% of the time from actors is this weird Hollywood concept of what a Boston accent sounds like; it’s vanishingly rare to hear an actual accent. Damon, in particular, can sound like he never trained himself out of it.

Okay, spoilers hereafter…




My biggest question is simple: What was the basis of Costello’s relationship with the FBI?

If he was protected by primarily honest Feds, then they must have been getting something out of it. But Costello only gave them underlings and people “who were going down anyway.” The movie definitely made it seem that Costello was the top of the food chain, so the idea of him being a resource to get to another level of criminal doesn’t really make sense dramatically. If, in fact, that was the idea, the Chinese chip smuggler situation would have gone down differently: if that was all a charade perpetrated by Costello and Ellerby (Alex Baldwin), either the Chinese would get away scot-free but compromised (not get busted at the border “with lightbulbs or something”) or they would have been picked up that night in a way that let Costello escape (by the Coast Guard, say).

So the hypothesis that Costello was working for the Feds seems weak.

If Costello was protected by primarily corrupt Feds, then he was never in real danger from Ellerby. In fact, I think this would necessarily imply that Ellerby / Baldwin was corrupt. Ellerby was in charge post-Queenan. If Ellerby was corrupt, Costello would not have been ambushed at the drug raid.

So the hypothesis that the Feds were working for Costello seems weak.

The plot points came fast and furious in the movie, so I may very well have missed something. Thoughts?

I’ll offer 3:1 that Scorsese finally gets his “Best Director” Academy Award.

God, I Hate Classpaths

I have to wire up a ColdFusion to an Axis Web Service. I’ve spent the past 3 hours trying to figure out freaking classpath issues: something about a ClassCastException from a org.apache.commons.logging.LogFactory. I’m giving up for the day. Stupid freaking classpaths.

Blog theme

Incidentally, my normal blog CSS screwed up the rendering in IE7 and Firefox. Since I have not yet updated my dasBlog installation to the latest, I’ve decided to switch to this staid theme until I upgrade and can do some browser compatibility testing.

LISP for the XBox360?

Patrick Logan says that some Schemers have put a Scheme on the Nintendo DS. Naturally, my first thought was “Hmmm… I wonder if I could do that with XNA?” (Or, more generally, if one could write a self-contained interpreter / compiler that would run on the XBox360). You could certainly do a clunky, self-contained interpreter but the real goal would be something running at chip-level or at least CLR-level. Generating the appropriate bytes is certainly well within the capabilities of the hardware (are you kidding?), but the really, really hard thing would be convincing XNA to start executing your generated bytes as instructions. At the assembly-language or C/C++ level, of course, it’s trivial to command the machine to “execute these bytes as instructions,” but (one of) the major security-oriented points of managed environments is that such plasticity is forbidden. I suspect that XNA has pretty tight walls around the sandbox to prevent you getting around this limitation, as once you allow this capability, security guarantees become much, much harder. (Not impossible, though, in the case of managed code, since you can still run security checks at load-time — whether the bytes were generated ten months or ten microseconds ago is irrelevant.)

Computer Gaming World Archive: Inspiration for XNA Programming?

Computer Gaming World has posted online their first 100 issues, going back to 1981. The first issue has a great essay by Chris Crawford about how computer-based wargames will be different than boardgames. Not surprisingly, he’s pretty much spot-on with his analysis.

I also enjoyed it because it’s a great indication of what a true hobbyist-driven market might look like. Today’s hardware is, of course, vast orders of magnitude more powerful but the amount of programming effort available to a single hobbyist is still the same. Looking at “what could be achieved” in those days helps one imagine what could be achieved today.

Another thing that really gave me a pang was the page layout that, with its line drawings and inflexibility, reminded me of magazines like Dragon and Microcornucopia.

Cow Paths and Coding

The always insightful Peter Coffee has a good new column that offers a couple contrarian observations. To the generally positive buzz over Cisco’s new virtual meeting system (HD screens, lighting, surround-sound), Peter makes the skewering concession “If face-to-face meetings were considered the high point of organizational productivity, I’d endorse the idea of throwing bandwidth and hardware at the task of migrating that process to cyberspace.” Touche.

Coffee frames the article with a discussion of “paved cow paths” which are (apocryphally, one suspects) how Boston’s notorious street layout evolved. This comes right up to the edge of software development heresy: paving grass-worn paths is one of the cliches of explaining “patterns;” incrementalism is a watchword of the agile movement; and, for that matter, Boston rules, ok?

Coffee’s long had an enterprise-level perspective on development and although he holds his fire in this column, I suspect that he may be gearing up for an assault on the common wisdom.