Archive for September 2005

And by “simple” we mean “spaghetti-like”

My new clients have responded to our shockingly complex architecture by specifying, get this, the names of the source code files we are to deliver. So, apparently if we can’t negotiate this away, our class structure will be memorialized in the specification contract! Oh, Lordy. Why does the phrase “sunk cost fallacy” come to mind?

LINQ: The Compiler Does Not Generate SQL!

Already I’m seeing people falling into the interface vs. implementation mistake with LINQ. Because I think LINQ is a big deal, I’m going to put up a LINQ Wiki RSN, but I had to post this because it got under my skin so: The compiler does not translate your query into SQL! The compiler translates your query into an expression tree that is resolved by an appropriate implementation of LINQ. In other words, DLINQ will resolve the query into native SQL and use all the appropriate database indices and execution plan optimization and so forth, XLINQ will resolve the query appropriately for its new document object model, and LINQ will resolve it for native objects (I think in naming they made a mistake — Microsoft should make it clearer that the “native object” implementation is just Yet Another Implementation of the interface).

I am looking forward to different implementations of the interface, perhaps with constraint-programming or fuzzy logic implementations. As to other database vendors, whether Oracle will implement DLINQ efficiently is a business, not technical, question. As for MySQL, that, too, I would imagine that the Open Source community will rise to the opportunity!

 

Expression bluetooth keyboard not compatible with Tablet PC

Grrr… Despite the assurances of the salesmen at the PDC, the “Expression bluetooth keyboard” is not compatible with the Tablet PC. So now I have a portable keyboard that only works with my cellphone. Like that’s an important feature. Anyone know of a decent note-taker / outliner for the Smartphone?

PDC final thought: Nice t-shirt

For all my concern about the session depths, I will say this: the PDC05 t-shirt is made from a very nice cotton.

And by “architecture,” we mean “big ball of mud”

Sigh. I’m just ramping up on a project. Client sez all the right things: “best practices,” “do the right thing,” etc. We develop an architectural proposal; they sign off on it. We develop our first prototype, they say “Whoa, nelly! What’s with all them thar interfaces and patterns and whatnot? Couldn’t you just… you know… simplify things?” It drives me crazy: this idea that fewer classes (or, what they really mean, fewer source code files) means “easy to understand.” I’m not talking about “you ain’t gonna’ need it,” either – I’m talking about people complaining about separating interfaces from implementation. Why are all the good clients taken?

Hardcore enough for casey

casey chesnut, who does things like integrate machine vision into videogames and writes neural nets that defeat CAPTCHAs, says that the PDC was the best conference he’s ever been to, so I guess I’m in the minority in thinking that it wasn’t hardcore enough.

Today’s Fun Comparison: Katrina : H5N1 :: Bad : ?

If “hurricane flooding New Orleans” is “utterly predictable disaster with shocking lack of preparation, especially regarding the poor,” then how do we feel about the news that bird flu is breaking out in Jakarta’s main zoo?

Geek Acres Home Coffee Roast: Well, That’s Nasty

A little more than a year ago, I moved to the Kona side of the Big Island of Hawaii and moved into a house that, among other things, has coffee plants growing like weeds. I was too late to the game to do anything last year, but for the past year, I’ve been pruning and tending in hopes of getting enough beans to take care of Christmas and birthdays. (Actually, if I actually got the plants producing anything like commercial yields, I’d be coffee self-sufficient, but I don’t think I have any chance of realizing that.)

So I picked the very first cherries of the season in late August, separated the pulp from the bean by hand, dried them on the lanai, and hand-peeled away the “parchment” (a fingernail-hardness shell) from the actual, khaki-green bean that is roasted. Experimenting with various milling techniques (rolling pins, etc.) in a so-far-vain attempt to discover something even remotely practical, I ended up with enough green coffee for 1 pot (after, probably, 4 hours of accumulated labor).

Well, I couldn’t resist that, so I did my first roast yesterday, using the oven. This morning, with the full moon setting over the predawn Pacific, we ground and brewed the first pot.

The worst coffee I’ve ever had came from a shop-floor dispenser at an electronics manufacturer in Cambridge, Massachusetts, in November of 1984. The taste was so bad that the moment is imprinted in my memory as indelibly as the memory of the first time I got my nose broken. The dispenser over there, the administrative trailer to my left, the poorly-lit racks of components stretching to left and right, and that taste, combining as it did staleness, acidity, styrofoam, and (I think) toluene…

The coffee this morning wasn’t that bad. But I suspect I’ll remember it for awhile.

PDC Vista Installation troubles

First, I tried in a VPC. That didn’t work because it wouldn’t accept the activation code.

Second, I used PartitionMagic to add a new 20GB partitition on my boot drive. Still wouldn’t accept the activation code. Solved: Realized that I was trying to install PDC disk 1 instead of PDC disk 5. Disk 1 is the public beta of Vista , but at least my copy of “The Details” gives the same activation key for both ? in other words, the activation key only works for the Disk 5 PDC build, not the Disk 1 public beta build.

  So, began to install PDC build on my new partition, but the “Choose where to install” dialog refused to recognize my boot drive as a valid place; only my data drive. Rebooted into XP, and BootMagic wouldn’t recognize my data drive as a valid place to install a new OS, only my boot drive. So I put a new partition on my data drive and figured I’d figure it out later.

Installed the PDC Vista build on the new partition in my data drive (which apparently is seen by Vista as the valid boot drive). Install went okay. When the system boots, I see the Microsoft boot manager, giving me a choice between Vista and XP. Choosing Vista gives me a classic DOS prompt saying that HAL.DLL is corrupt or missing. Booting into XP brings me back into my normal system and in fact I can see that my Vista install (on drive E: or somesuch) doesn’t have a HAL.DLL at all. Copying the XP HAL.DLL to my Vista \Windows\System32 doesn’t help.

I actually suspect that the Vista boot is not going to the Vista drive at all, that some weird combination of cables and boot managers has screwed things up. Now my debate is whether I should:

  1. Swap cables and see if I boot off my data drive, or
  2. Try to install under VPC, or
  3. Delete the partitions and wait ’til next year

PDC05: You call that hardcore?

I loved the first day of PDC, felt a little antsy by the second, and by the time my flight climbed into the early-morning smog of LA yesterday, I was positively muddled. Speaking in a darkened room to a crowd of strangers is the most inefficient means of communication imaginable, but it used to be that conferences were the only place to learn topics that were insufficient in and of themselves to justify a book and too complex or too esoteric to earn a spot in one of the handful of trade magazines. Now, though, blogging and screencasts have thoroughly risen to the challenge of delivering introductory discussions as well as “tips and tricks.” By the third day of the PDC I was attending 300-level classes and furiously thinking “Go on! Go on! Get to the hard stuff!”

 

In particular, I couldn’t find sessions that gave me insight into LINQ or Workflow which, along with Atlas, were the major technologies introduced at the conference. Did I see LINQ and Workflow? Yes. Did I see more in the sessions than I saw in the keynotes? Barely. I saw the equivalent of “Hello, World” over and over and in almost every case, I noted sleight-of-hand ? a declaration of great capacity bolstered by a demo that, in fact, was without the slightest complexity. I come away from PDC05 feeling that I’m ready to download and install these technologies, but I don’t feel that I have a competitive advantage over developers who chose not to attend the PDC05. I don’t feel that I can go to customers and advise them on these technologies in a way that justifies charging them for that advice. Do the technologies look cool? Sure. Do I have a personal feeling on their worth? Sure. Do I come away from PDC05 knowing where are the corners and sweetspots of the technologies? Absolutely not, despite that type of knowledge being one of the few things that justify the time and expense of traveling to a conference.

 

These issues and this criticism of the conference structure is not peculiar to the PDC. “Conference sessions” are to the Internet Age what buggy-whips were to the Automotive Age. I just wished that I realized that prior to fastening my seatbelt for the flight home.