That klein bottle of software that I ranted about yesterday? Yes, well I’ve tied the thing up with a gordian knot, dropped it into a little leather bag and filled the rest of the space with lead shot. Now I’m off and using my new blackjack.
I ended up just using the existing bizarre critter as it stood and invoking what I needed from within it. Took quite a while, but I finally made my breakthrough and have the relevant pieces working. Now its just optimizing in the POM to do various tidbits a little differently or more efficiently.
I’d still love to have the whole thing wrapped up as a separate Maven plugin, but that just looks like it isn’t going to happen any time soon – not unless I want to completely redo the whole doclet extension thing from scratch. So it goes. At least its working now and I’m moving past that roadblock.
I spent the vast majority of the day surrounding by code printouts, a notebook with scrawls and notes, and a laptop only to find the one true example of a software klien bottle. You know – one of those rare examples of software that is built from two projects that have dependencies on each other? Although I’d love to say it’s hard to do, it’s unfortunately all to easy. Build up one project, store the results somewhere. Build the second project, reference the results of the first while building, invert the process and repeat. Sort of a vile jacobs ladder where you can’t actually build either project independently anymore. Blech!
And all this to develop a maven 2 plugin, which is proving far more troublesome than I’d hoped. At its core this is all about some code generation – doclet stuff. I’ve never done anything like that in the java world, and so today includes a few brushes with XDoclet and comparing it to the original concept of extending javadoc from Java 1.3 (which is how this klein-bottle-software code works). Talk about a complete PITA. Generating a plain java-based maven plugin isn’t bad at all – a little hard to find docs on, but relatively straightfoward.
I finally bagged on dissecting the klein bottle and tried to wrap this all up into a maven ANT based mojo. That only resulted in a completely undecipherable Null Pointer Exception when I attempted to use it from a project. It’s the ant based plugins which are starting to (in my opinion) really annoy the snot out of me – if only because of the utterly useless error message from Maven. By the way, ‘mvn -e -X’ is your friend.
I spent a few minutes seeing if I could drive the javadoc plugin into doing what I needed – but I didn’t see any easy mechanism to get it to bind to an earlier part of the build lifecycle. Which it kinda needs to be, since it’s generating sources. No luck there.
So now I’m at asking the mailing list for help debuging the mojo and looking at just slapping some Ant tasks directly into the POM file for this project. I really wanted to do this as a plugin, but unless I want to go learn all about XDoclet I think I may be SOL.
Doc Gardner says I’m healing up well and the stitches are out of the finger. It’s amazing how much pain can get packed into such a small area. It’s still pretty sore, so I’m being careful with it. No dandelion pulling for now (although we need it!)
It seems a little cooler today – at least right now. WUnderground says it’s supposed to get into the 70′s today, which would be a refresher. These past two days have been really difficult with the heat. And yeah – I know I could buy an air conditioner unit, but that just seems wrong.
In other startup news, I spotted an article in the PI about Comcast purchasing thePlatform. The quotes in the article, well, smell fishy to me. Like there’s a backstory that nobody is really saying there. Its sort of interesting that their site doesn’t have anything on it about the purchase… Makes you wonder.
The launch of DabbleDB was yesterday, but hats off none the less to the DabbleDB crew. I saw them last year at MindCamp (with Gus) and really enjoyed poking around the site and tools. Filemaker for the web is sort of too limited a moniker, I think – it’s clearly more and growing – but it does give a sense of the flexibility that you can have right off the bat.
I’m becoming quite the little handy man with virtual servers at the moment. Seems every time I’m turning around, there’s a service that is a potentially good fit for one of these. And with the lightweight linux virtual servers taking relatively little memory and CPU, the choice of adding a service on to an existing box vs. making its own server is getting harder to make.
Ironically, the downside to all this is account administration. I don’t have a good general solution at hand to enable authentication from external sources, and I haven’t yet really dug into what it would take to enable external authentication for some services from an external NT or Active Directory domain.
I also decided to head agressively into VMWare (as opposed to Microsoft’s Virtual Server 2005 R2). Microsoft’s product is decent, but like many MS products, it’s a lot about lockin. There’s a lot more flexibility with VMWare’s product line, and VMWare is doing the “right thing”. I just converted a MS Virtual Server machine to a VMWare machine – one that was already in a domain too. I figured it was a long shot – it would probably bust with some ethernet mac address changing. But it worked – beautifully. The only downside is that when I installed the VMWare tools, I lost the ability to find the cursor in the screen. I just uninstalled that (thank god for keyboard shortcuts) and moved on.
While I’ve heard Parallels Desktop is quite a fine product, VMWare has impressed me enough over the years that I’m holding out for something from them. Gus has a theory that we’ll see something cool at WWDC pertaining to this. God, that’d be nice. So there’s my Apple rumor for the year, eh?
Oh – and I totally know why EMC bought up VMWare. Good lord do you go through disk space fast!
I’m actually not a big LISP guy – I tend to be one of those people annoyed by the lisp’ers all complaining that they had all the (*^(*^ of whatever current language is popular 20 years ago. But the interview at IT Conversations on Practical Common Lisp was really interesting. Peter Siebel wrote a book on LISP, which spurred the interview, and seems to have a very level headed view of the language and how you can take advantage of the various tools and pieces.
Nathan, Leah, Karen and I took in a little lunch at Goldberg’s deli over in Factoria today – you know, air conditioning and all that. We had a great time with Jaki, our server, and gave her a really nice recommendation card.
Well, she liked it so much that she gave us a recommendation card back! And what’s the fun of that if you can’t share it:
I didn’t cut the grass (which desperately needs it), but i did pull some mutant dandelions (also known as cat’s ear or false dandelions). Those suckers are really invasive, and worse – they crowd out all the surrounding vegetation (aka grass) if you leave them alone. There’s a few verges around here that are nothing but cat’s ear – and if you pulled them all, they’d be nothing but dirt poked with holes.
The only downside is that it was a little hard on the hand, and I started bleeding a bit from my stitches. I took that as a sign that perhaps I was screwing up, and stopped. Seemed like a good excuse to water the garden and such, so I switched to that for a while.
You know, it’s getting downright hot in Seattle – I think it was hitting 80 out there today. It’s about 5pm, which is near our “peak heat” time for summer days and the house is still reasonably cool inside (74), so I’m feeling pretty good about it all. The patio flagstones were getting pretty hot on the bare feet though. Fortunately, I had a hose… (none of that watering can stuff for me!)
Karen gets back in about 3 hours, which means she’s probably in flight now. It’ll be nice to have her back in town.
the neighbors are demolitioning something in their backyard. Which is something like 15 feet from my (open) bedroom window. They started at 8am.
I was up too late last night for this. Blech. I moved to the couch, but the hammered is echoing through everything around here, so I guess I’m up for the day. Maybe it’s time for a coffee and a cinamon roll at Grand Central Bakery or something.
Er, make that 7am – the neighbor let me know I’d managed to sleep through the first hour of that stuff. Oh – and they’re reroofing the house. Looks like they’re going pretty fast though.