Microsoft’s EU Fine Is 1 Weeks Revenue

Forbes discusses deterring the rich: In Finland, a man who made 7 million euros per year was given a traffic ticket for 170,000 euros. The expected 487,000,000 euro fine to be levied on Microsoft, while a whopping sum to you and me, works out to the same ratio: 1 week’s pay.

That reminds me of a story: the first time I met Bill Gates was when Microsoft was just about to launch their first C++ compiler. More importantly, they were locked in a very dramatic battle with Borland for the hearts and minds of developers (a battle every bit as heartfelt as the current Windows/Linux battle). I knew that the next day (literally) Microsoft was going to announce their C++ compiler, and it was going to look terrible beside Borland’s just-that-day unveiled 2nd or 3rd generation compiler, which had a Windows IDE.

Microsoft had won the Jolt for Windows or Visual Basic 1.0 or whatever, and I was going up to his suite to give the award. I had it all worked out: I’d hand him the award, blah blah blah, and then I’d detail exactly what Borland was doing right and Microsoft was doing wrong in the C++ IDE arena, and then I’d ask him for $1,000,000. I’d done the math and worked out that this would be like someone giving a thoughtful critique of my magazine (Computer Language) and our hated rivals (Dr. Dobb’s Journal) and then asking me for $1.25. Proportionally, it seemed very reasonable.

Anyway, I get into the elevator and who’s there but Gates himself? So I say “Jolt Award, blah blah blah,” and hand it to him. Okay, this is the thing: I think the Jolt Award is the best-designed award on Earth — a can of Jolt Cola embedded in a block of lucite. He looks down at it and I have never seen such a look of utter and unremitting disdain. It was like I’d just handed him a two-pound lump of steaming dog crap. He hands the award, without looking, to someone in his entourage, glances up at the elevator lights, and finally looks at me.

“Yeah. Great.” He says, leaving absolutely no room for “Which is all well and good for Visual Basic but Bill, I gotta’ tell ya, Borland’s kicking your ass in the C++ compiler arena and here’s why…”

The elevator ride ends in silence. We get to his floor and the door opens to an immaculately dressed PR handler. “Hi, Bill! Oh and I see you’ve met Larry!” She chirps happily.

“Yeah,” Says Gates, brushing by me. “He gave me an award.”

Michael Flanakin Reacted Tonbsp Of My SDTimes Article Onnbspthenb

Michael Flanakin reacted to  of my SDTimes article on the (relative) failure of dynamic languages within .NET with an interesting proposal: Perhaps every namespace could have a default “utility” class that hides OO complexity. There’s even a tiny bit of a precedent in that .NET attributes named SomeAttribute are exposed as Some (with the …Attribute part of the name hidden away). Similarly, static methods within MyNamespaceUtil would be accessible within MyNamespace without requiring a type-reference.

Hmmm…. As a guy who likes not only object-orientation but strong-typing it’s hard for me to assess the attractiveness of this suggestion to the power-users / sysadmins / hackers (in the good sense!) who find the BCL too much of a burden. My thoroughly subjective reaction is that I don’t like naming conventions with semantic meanings (and, yes, that means I’ve never really liked “getX” and “setX”). Thoughts?

In A Comment On A Previous Post Alex Peake Warns That In Searching

In a comment on a previous post, Alex Peake warns that in searching for what Jaron Lanier calls “biomimetic” programming metaphors, “we must be careful not to fall into the trap of early flight pioneers – that of trying to emulate birds (too closely) in order to build a flying machine. Flapping wings was NOT the algorithm. ”

Point taken. The solution hardly lies in creating a two-stranded, base-4 genotype that’s transcribed into an intermediate form, which in turn create self-assembling components from a small number of basic building blocks, etc….

What I’m much more interested in is finding powerful abstractions, and whether they disguise the fact that one is programming or not is, to me, irrelevant. Look at the spreadsheet as the great example: whether you label a spreadsheet as a programming language or not, it is one, an immensely powerful one that is better for many, many purposes than the text-based ones that are mostly associated with the word “programming language.”

A programming tool / language for evolutionary computation would have built-in constructs for parallelizing runs of populations, monitoring the increase in fitness over time, monitoring the entropy of the genome, choosing among selection strategies, and would have tools for facilitating the encoding strategy (the key and decidedly non-trivial task).

Alex advocates sticking to a particular domain, and that may be wise. But on the other hand, surely most digital “tools for building tools” would do well to keep the door open to complete programmatic control?

Virtual PC 2004 No Help Solving 64-Bit OS Woes

In my continuing quest to install XP-64 on my Athlon laptop, I just tried Virtual PC 2004. I get the message “Attempting to load an X86-64 operating system, however this CPU is not compatible with X86-64 mode.” which is misleading at best. There aren’t any obvious settings I can change. Anyone know if there’s some obscure command-line switch I’m supposed to use?

Meanwhile, I know that my old VMWare Workstation version doesn’t support 64-bit OSs, so that’s out, too.

Programming Stinks

As much as I love writing code, I realized long ago that it’s really the act of bending my computer to my will that I really love. Programming’s just the only way to really do that. After a few decades, you’d have thought we’d have come up with something better. Our industry’s pioneers agree that programming is holding us back, but don’t really know what we’ll use to replace it. Ideas? via [Marquee de Sells: Chris’s insight outlet]

For all that Jaron Lanier was the huckster for the egregious over-hyping of “virtual reality” in the early 90s, he’s on to something by saying that the extreme specificity needed for software components to interact is a bottleneck. In nature, there are some species (rats, humans, weeds) that are very adaptable — we prefer conditions like X, but we can adapt to things that aren’t too radically different from X. There are other species (corals, rainforest flowers) that are very highly tuned to specific conditions, but can’t adapt.
 
Right now, our only choice is software that’s like the latter. I can conceive of software that’s more like the former: if you have an automated  suite of tests, it’s conceivable to create software that explores a solution space broader than what a programmer could. For instance, we now have ample spam/ham concordances. A genetic algorithm generating regular expressions might very well be a fruitful avenue for exploration. The programmer writing the genetic program wouldn’t be responsible for writing and evolving the spam-detecting program, the programmer would be writing the program that writes the programs, one of which solves the problem. (Does that make sense?)
 
There is no “programming language” to help the human programmer write the genetic program (“Beginners All-purpose Genetic Engineering Language”?). Whether there are enough problems that are amenable to computer search and optimization and whether there are appropriate evolutionary abstractions that can be composed in the average programmer’s mind, I dunno’.

$100K TabletPC Programming Contest!

Are you part of an ISV that’s been thinking about creating a new product for the Tablet PC or enabling ink in your Tablet PC application? Then check Incremental Blogger]

Holy Inkstain! Okay, I entered my Outlook plug-in that gives you ink email without using Word in the previous $15K powertoy contest, but $100K for an ink-enabled application? That’s worth serious time. Dang — the contest is too short to win with a “Hey, kids, let’s put on a show,” application (too bad, I’ve got two viable apps that just need slicker implementation than I can afford to develop on my own). Anyone need an experienced ink programmer to put them over the top in winning the prize?