Archive for June, 2006

I am such a rotten user of software

Friday, June 30th, 2006

Confession time – I love to write software (in an appropriately expressive language).

But I hate to use it.

I suspect what makes me good at writing software – reducing problems to their essential elements and producing minimally sufficient solutions – makes me a an uninspired user of software. I don’t care for the details and don’t go digging into all the features. I have a task, I want to accomplish it, the rest is distraction. I suspect this is why I think the last tolerable version of MS Word was v3.2 for the Macintosh.

Which brings me to what set this post off. I’ve just figured out that comments are moderated on this blog software and I haven’t been checking for them. So they haven’t been showing up. I suspect this is disappointing for commenters. So I have approved the backlog and promise to approve more regularly from here on out.

Greetings from Gnomedex

Friday, June 30th, 2006

Arrived last night and checked in, spoke with a few people, had a beer, and then headed out to the boat to hang out with the family. Sail over was beautiful but the wind died about sunset (as always) and we had to fire up the motor to finish the trip. About 2.5 hours.

This morning I arrived for coffee/muffins at 7:40 only to learn that the conference start has been pushed back an hour. Bummer. Also found my macbook battery dead – double bummer.

The good news is my macbook reports that the battery will be charged before the conference starts.

Time to review the bag of schwag.

The bag itself is the typical canvas “shopping bag” with sponsor printing all over it.
Inside are various sample products and goodies including a Vista beta CD and veritable boat anchor of a book listing Vista software. It seems MS is a big sponsor. I’ll spare you the item by item list of discount coupons.

Coolest items:
Laser pointer/remote mouse – courtesy of MS.
Superball with LED’s in the middle that light up with bounced.

Also, the T-shirt design ROCKS.

Gnomedex is imminent

Wednesday, June 28th, 2006

And I am psyched. Should be lots of fun. I’ll be staying at Bell Harbor Marina aboard my sailing yacht Aurora on B-Dock. It’ll be the one with the hammock on the foredeck.

I’m still looking for the killer startup idea and ideal partner(s). Perhaps I’ll stumble onto something there. If you are going to Gnomedex and want to talk about doing something cool, find me. Look for the loudest Hawaiian shirt you can find.

Stupid WordPress RSS links

Wednesday, June 28th, 2006

I can’t help wondering YTF the RSS feed links on this WordPress blog (and others I’ve seen) prepend ‘feed:’ to the actual feed url.  What sick trickery is this?  The links don’t work and this is most annoying.  Hey WordPress!  Fix your thing!

Who writes this crap anyway?

Switchers

Tuesday, June 27th, 2006

Mark Pilgrim is going off about how he’s moving away from the Mac OSX and onto Ubuntu because he’s unhappy with the amount of work involved in data preservation.  Tim Bray is also discussing this.
That’s all well and good, but this isn’t remotely related to the Mac itself.  It is a universal problem.

I did a lot of song writing in the ’80s and have a lot of original music as sequences that were built using an Ensoniq ESQ-1 keyboard/sequencer and dumped as MIDI sysex data to a Mirage sampler and saved on floppy disk.

I still have the Mirage (although its getting more and more “quirky”) and the ESQ-1 and I’m “converting” the data by actually loading it into my old synth stack and “playing” it while having Digital Performer “record” the data stream in slaved sync mode.

This is the original source material.  I used to have versions of this material in Studio Vision format.  However, while I was off exploring the world and had my stuff mothballed, Gibson bought Studio Vision and promptly killed it.  Macs moved to Mac OS X from MacOS, and Studio Vision is copy protected (like all music production software apart from Garage Band).  So the Studio Vision versions were lost.

The Digital Performer file formats are proprietary too.  If you want to maintain total data fidelity, you have to archive the program, the OS, and the original machine.  Otherwise, its all lossy conversions again.  Switching to Ubuntu won’t mitigate this.

Java Swing returns

Tuesday, June 20th, 2006

Sun presented all day yesterday at work. I attended the session on desktop Java. So far as I can tell, the key changes are better windows integration (don’t care), an effort to get vendors to preload the JRE on both windows and linux, and a wizzy new demo app that makes heavy use of J2D to look a bit like a Mac OS X widget with lots of translucency, fades, throbs, and visual effects lifted right off of OS X.

I will say that the demo app was pretty, but having written swing and J2D in the past, I know how much work went into that app and I shudder at the level of effort it would take the average developer to replicate it. Most of the UI elements are not in the standard Swing package and are custom widgets making use of Java 2D graphics. Those that are swing widgets have been subclassed and had their rendering code replaced with some fancy hollywood quality graphics.

The NetBeans GUI builder (Matisse I think) was also shown. It looks so-so and it uses code generation which naturally makes it nearly useless.

The Q&A was also rather brutal with one attendee asking “why does it take 10 pages of code to replicate what I can do in six lines of HTML?” Their answer – they are working on a new app framework to hide the complexity of the Swing framework. Hello? Why isn’t the first framework simpler? Abstracting a framework behind a framework is excessive. No wonder the thing crawls at times.

My question/comment was to suggest that they bail on code generation and focus on the real pain point. Intelligent default sizes for widgets. For example, I constructed a standard outlook-style browser with a vertical split pane that has a scrolling list on the left and content area on the right. If there are no items in the list, it initially displays at something like 4 pixels wide. If I populate it with items first, it displays at a reasonable initial size.

So, under what circumstances does Sun imagine I might want a 4-pixel wide list? If I did want one that narrow, what are the odds that I’d want it to expand to 100 pixels when I added data? I’d say that Swing remains a nightmare framework of poorly chosen defaults, code generation gui builders, and ugly rendering. It can be improved with Java 2D rendering, but at that point, you might as well write all your own widgets as its not that hard to do raw mouse/keyboard event tracking.
Once again, Sun spends vast amounts of time, energy, and cash gazing at their navels instead of simply adopting proven solutions.