Archive for the 'Software' Category

XSLT Book Round-up

Saturday, June 17th, 2006

Extensible Stylesheets Language (XSL) is just about my favorite these days. Although Michael Kay’s book is pretty good, Jeni Tennison’s Beginning XSLT 2.0, From Novice to Professional is indispensable.

XSLT uses a lot of very specific terms, and using the back-of-the-book index can be a little tricky if you don’t know exactly what you’re looking for. So, for the benefit of you the Internet blog reader, I have compiled together my index margin notes.

Clip ‘n Save! Beginning XSLT 2.0 index add-on


entry page / reference
[] see predicates
data-type conversion 161
less-than see
lengths (of strings) see string-length
lengths (of sequences) see count()
messages see xsl:message
output methods 761
paths see also predicates
sequences, converting 236
stripping space see normalize-space()
today see current-date()
totals see sum
trim see normalize-space()
URL see Uniform Resource Locator

I also have read and liked O’Reilly’s older XSLT offerings, XSLT and XSLT Cookbook. I might be fonder of O’Reilly’s XSLT if I hadn’t spilled radiator fluid all over it, and subsequently worried that I was going to poison myself whenever I consulted it.

Adobe-Sun Conspiracy?

Wednesday, March 22nd, 2006

Adobe Reader & NetBeans icons, side-by-side

I just happened to have the application icons for Adobe Reader and Sun’s NetBeans side-by-side on my Dock. It occurred to me that they appear to fit together.

Coincidence?

Text Patterns

Sunday, March 12th, 2006

I wrote a short computer program to generate a tiny snapshot of the structure of a text document, and used it to make a quiz.

Comics Layout Software Released

Monday, March 6th, 2006

Tiny Balloonist Application Icon I readily concede that I’m not entirely objective on this, but Balloonist v1.0 has been released, and it is keen.

Yet Another Over-Reaching Software Development Analogy

Monday, December 5th, 2005

Software development has been compared to construction and, more recently and compellingly, gardening.

I’m here to tell you friends that as usual, everybody’s wrong. Software development is like asteroids. Specificly, Asteroids the video game.

Early on in the “life cycle” of many software projects, money is spent on a bug database. Required fields generally include a brief symptomology, version information about the afflicted software, and a log date. Less generally they include steps that might be taken to reproduce the problem, the name of the tester who found it, and a severity rating necessarily relative to that tester’s own unique temperment.

The data field I have not yet seen, but bet would be really useful is the diameter of the bug.

As anyone who has spent time piloting a crudely-triangular spaceship beyond the orbit of Mars knows, asteroids don’t magically vanish upon contact with artillery. Instead, they break apart into multiple, smaller asteroids. It’s the same with software bugs.

The amount of time remaining in the wave/project is only loosely correlated to the initial number of asteroids. A really big asteroid might exceed a kilometer in diameter. Blasting it will only serve to increase the chance of a collision. Shooting an asteroid doesn’t actually help matters until it can be completely pulverized, or, perhaps more realisticly, knocked into an orbit that sends it out of the asteroid field (and hopefully not towards any planets you are friendly with.)

By way of analogy, any reliable estimate of the time remaining to complete a software project should involve a survey of not just the number and severity of outstanding bugs, but also their diameter.

Blogfountain Month 2

Thursday, July 7th, 2005

I’m pleased to report that my custom blogging software appears to have successfully handled the month transition from June to July.

To celebrate, I added some validation, sorting, and capping functions to the stylesheet. I also threw in an optional Apache Ant script for easier builds and deployment.

My brother Michael and my friend Matt have both expressed interest in the code behind this, so I threw together a preliminary archive.

To use this yourself, you’ll need

  • An XSLT 2.0 Processor like Saxon-B 8.4 and most likely a Java virtual machine to support it.

You may want but could get by without

  • The afformentioned Apache Ant. This will also require Java.
  • An HTML authoring tool like Nvu or Dreamweaver for creating content.

I like Blogfountain because it’s easy too customize and I can keep my blog as static HTML files on my own webserver. But if you prefer to go the simpler route and don’t care where your actual content resides, you might be happier with existing blog software.

Matt tells me he written a database-ready PHP-based comments engine for his blog. I may look at grafting this onto Blogfountain. [Note: this blog has since been moved to WordPress]

Giving in to the Dark Side

Wednesday, June 1st, 2005

I couldn’t resist any longer; I have officially given in to the self-congratulatory blog craze. I will try to keep the interminable accounts of what I had for breakfast to a minimum.

I looked at several blogging solutions, but found each too intrusive. All of them required an application server, or worse still an application server that I couldn’t host myself. To my mind, a blog should be simple enough to run on a plain old web server.

So I ended up writing a short XSLT 2.0 script I call Blogfountain. I plan to post this under the GPL 2.0 license after I have worked the more obvious kinks out. Blogfountain circumvents the problem of comment spam by implementing a clever suggestion made by David Siffry: if you want to make a comment, start your own blog. Blogfountain links to a Google listing of pages that link back to it. [Note: this blog has since been moved to WordPress]