Saturday, January 22, 2005

If You Give a Moose a Muffin (or If You Give a CTO a Weblog) (from my Borland blog)

For those of you who have had small kids you probably know these books that tell the tales of distraction that occur if you give a mouse a cookie, or take it to a movie or alternatively give a moose a muffin, or a pig a pancake.

That is what happened to me recently. (As well as closing Q4 '04, visiting numerous customers and partners, and surviving sales kickoff '05.)

Days after my last post I was all set to write about some of the new capabilities in J2SE 5.0. One of my regular curmudgeonly complaints of “these darn kid programmers and their fancy college comp sci degrees” is that they don’t know how to write multi-threaded systems; neither clients nor servers. One of my proof points has been the lack of built-in queue data structure in the language class libraries. So I was excited to see these new features in the J2SE 5.0 release.

With keyboard in hand I was all set to write an entry on “My Favorite Data Queue”.

So the first thing I do is look at the new queue structures only to find the J2SE queue designers have gone about this very differently than I would have (proving that one man’s abstract class is another man’s instantiable). They are nice queues but my favorite one is missing “the Associative Answer Queue”.

The Associative Answer Queue was one of the first pieces of code I wrote on my trusty Symbolics LISP machine back in the mid 80’s, so maybe time to do a Java version. Since I have been using JBuilder for years I thought I would take the opportunity to download a copy of Together Architect to see what its Java modeling experience is like. I then went through the joys of downloading this (maybe the subject of a future post). While I was waiting, I poked around downloads and was wondering about the newest Together products such as the upcoming Together Designer.

I sent off an email to the team to get a look at the field trial version of Together Designer 2005 which I downloaded right after Together Architect. Once I started up Together Designer 2005 field test of course I had to go through all of the latest samples and examples, especially some of the new UML 2.0 capabilities. As I used it – I thought about its use of the underlying Eclipse platform which made me think about the Eclipse 3.0 Core platform.

After spending time on the net reviewing the latest bits in the Eclipse 3.0 core platform it got me thinking about other Borland products like StarTeam which has an exceptional embedded user interface for Eclipse. Especially the “synchronize” view for Eclipse – a really cool piece of version control UI. Which made me realize that I needed some of the marketing screenshots to include in my latest powerpoint decks because I love to highlight our combined support for the 3 leading IDE platforms; BORL, Visual Studio, and Eclipse.

One StarTeam image in MS PowerPoint led to another because I realized I only had early alpha shots of the capabilities which are now shipping with StarTeam 2005 as “Borland Search Server 2005”. In case you hadn’t heard of it, Search Server gives you search access to all of the meta-data in CaliberRM and StarTeam repositories as well as the file vault and attachment contents. With a “consumer” and “producer” SDK there is also a way to create “harvesters” for other enterprise systems such as help desk systems like Clarify. Truly neat to have sub-two-second response time on a version search without having to resort to the brutal hammer of “get lots of revisions – and then find in files”.

Which of course got me thinking about the next version of Search Server (no announced date or feature set for sure). But if the next version of search server made use of its indices and its scan phases over the content to do some interesting relationship discovery, I would be thrilled. That said, I don’t think it would be giving anything away to say that one of its prototype UIs uses scalable vector graphics (SVG). Which of course, I needed to download and install on my machine to review the latest Search Server prototype.

The SVG download of course made me think of the upcoming Avalon UI from Microsoft, which in turn had me think of checking in with to see what their latest product version is doing. Looking at the declarative user interfaces in XAML of course made me grumble and say to myself “oh yeah, all of those angle brackets and special characters are a lot easier to understand than parentheses and the “#” sign from LISP.

This turns my thoughts back to the LISP code I had written which is lying around the house ensconced in DC300XL/P cartridge tapes from the 1980’s. Actually, rather than re-implement my favorite queue from memory, I should finally get the files off of tape. Time to hit the Symbolics Online Museum and see what type of tape drive those tapes used.

While finding the tape drive at the online museum I see a reference to Symbolic’s competitor Texas Instruments and its TI Explorers. Which of course reminds me of the “E3/Explorer 3” project which was building a software emulator for the old TI hardware. Unfortunately the site seems gone. Another thought pops into my head about TI – that’s where my current CEO Dale Fuller spent time in the wayback before we knew each other. While I was a tech support guy for Symbolics, Dale was busily running some part of the TI Explorer group. Maybe that’s why he and I can usually understand each other, we have similar LISPs.

Which reminds me that Dale is paying me for more than weblogging – and that I had better get back to work. Of course, not before deciding whether to buy a shiny, re-furbished LISP machine from

I guess I’ll have to write about my favorite queue some other time.