November 2005


Tim Bray upset Scoble a couple days back with a brief post questioning Microsoft’s decision to go their own way with a proprietary XML format (he calls O12X for short) instead of the more established ODF.

Scoble’s defense of O12X sounds to me like a “not-invented-here” attitude toward ODF. I know Microsoft has a lot more riding on the decision of when to support ODF. The longer they wait, the more support can build for O12X and the more they can benefit from the incompatibility. If O12X outlasts ODF, then life is easy. If ODF sticks around and takes any noticeable market share, they’ll just release an exporter that they’ve probably already built and tried out (either officially or just some coder’s side-project). There’s nothing really surprising or new here to me.
Read the rest of “O12X to ODF”…

Funny I mentioned just yesterday not to confuse Apache Foundation with the high-profile Apache HTTP Server Project. I say it’s funny because I started looking today at trying out Tomcat. Once I started surfing around the site, it occurred to me that I never had gotten to testing any of my SVG examples in Batik.

Batik, if you haven’t heard of it, is a toolkit for working with SVG in Java. So the funny part is that I kept skipping around the instructions trying to figure out what I would have to do in my httpd.conf to use this thing. While I’m sure there are lots of ways to use Batik on a server, and I still intend to, it works just fine with the JVM on any old home computer.

After I grabbed Batik 1.6, all I did with it was a simple test with the rasterizer demo application to render and slice up an SVG image, but Batik ran like a champ. It can’t crank out a PNG as fast as Adobe SVG Viewer can pop it up in a browser, but finally it’s a simple way to produce a high-quality raster image from an SVG. I’ve used ImageMagick and the Gimp for this now and then but they don’t handle SVG lighting filters at all.

SVG on the web is great, but you have to wait for end users to adopt it. With Batik, I can use SVG as a tool in the development chain for any project where I see it fit. I see this in the same way as I see XML in general being applied. There are plenty of sites out there (mine included) using XML and XML-derived languages being used out there behind the scenes. It doesn’t have to be delivered to the end user to be useful.

If you want to see how well Batik does then have a look at these demos - delivered via Java Web Start.

In which we wander around the various software stacks and find out what Rob knows and doesn’t about building web applications.

I recently moved this site (Late Night PC Service) and my travel journals (On Beaches) to a new server. I went from shared hosting to a virtual private server (VPS). So I now have a lot more horsepower at my disposal and I want to try some cool stuff.

One thing I’ve been on about recently is Eclipse and Java development. So I thought maybe I could look at developing with J2EE and what kinds of interesting things I can build. I have a lot of goals:

  • build a good framework for developing casual games
  • learn how to apply standards that I find interesting or intriguing
  • build interesting webstites
  • have some fun

This is the short list and I reserve the right to deviate whenever I feel like it.

Application development on the web can be done by hand on an as-needed ad hoc basis. That’s fine for experimenting and for building an application as a one-time event. For ongoing development and building applications that can be the foundation for the next big leap, you have to have a good set of tools. I’ve divined that this is what people are calling your application stack, your software stack, or maybe your superplatform.

If you were walking into the Web 2.0 Shopping Mall, you’d find the stores selling three major name brands of software stack. They are .Net, Java, and LAMP. I run a Linux server and only have any real experience with Apache servers (unless you count the old personal web server on Windows 98). That excludes me from the .Net product line, so I don’t find it very interesting or know very much about it. Here’s what I’ve surmised through my totally informal and accidental trip into the Web 2.0 Shopping Mall.

(this is gonna be a long one) Read the rest of “Of LAMP, Java and .Net”…

Bob, keep your hands off my coffee!

Bob Hanner gave a talk at Pop!Tech 2005 on a growing project called the Barcode of Life. I’m listening to the podcast from ITConversations. Some of the terminology is too far out of my field, but I definitely get the idea. He’s talking about cataloging all species of the world based on identifying short sequences of DNA. One eventual outcome of the project would be a device that would be capable of identifying species in real time. He makes a convincing case with some really interesting examples of uses that have already been made of their project.

Near the end, I realized he’s coming from University of Guelph, just south of Toronto. That brings up a new angle for me - I’m glad to hear that my province is funding some great stuff like this. You’ll have to listen close to get the coffee connection.

The XPointer Scheme Registry didn’t sound like that big a deal to me when I first saw this notice. But I needed something to read while watching my kid at skating (no wifi in the arena :( ). I didn’t know what I was looking at when I started reading the XPointer Framework Recommendation since I had no context other than the announcement. By the time I was done, this is what I guessed.
Read the rest of “The XPointer Registry”…

I was looking for a way to sort data in a JTable today and I very soon came upon this section in Sun’s docs. TableSorter.java is so easy to use that all I had to do was literally this:

  • press the new class button in Eclipse,
  • choose javax.swing.table.AbstractTableModel as the superclass (parent),
  • fill in TableSorter as the class name
  • click Finish
  • replace everything but the package statement at the top of the new java file with the contents of TableSorter.java

Voila. Took way longer to type this description than it did to actually do the work.
After that I changed the few lines of code as they describe. I ran it and tested it out, then I went back to figure out what I’d done. If you read the Sun documentation you’ll get a lot of what I did. I also had the GoF (Design Patterns: Elements of Reusable Object-Oriented Software) next to me though. So I looked up the Decorator Pattern.
To paraphrase (I don’t have it next to me now), the Decorator Pattern allows the developer to add functionality to a class without subclassing. Instead you write a sort of intermediary that exposes the same interface as the class you want to augment but with a couple extra features or methods.
Read the rest of “The Decorator Pattern and the JTable”…

Very insightful piece by Kurt Cagle on the long tail. Great read even if you think you’ve got the general idea of the long tail already.

Here’s an interesting statement he makes on applying standards:

What this points to then is a point that standards developers themselves should take away with them - it is not necessary for a standard to be highly technically sophisticated, and indeed this may very well work against the adoption of the standard (which will take place first within the tail, not the head). It should rather be sufficient that it can be adopted (with some effort perhaps) by tail companies. It also points out that it is generally not in the best interest of tail projects to eschew those standards, as this effectively cuts them off from intercommunication with a “majority” of the tail.

It made me think, and it’s a great way to explain why I like XML and not YAML.
Read the rest of “Considering the Long Tail and Web Standards”…

Next Page »