Askari and Java prototyping

The two most useful things I've found about my Rhino wrapper Askari are:

  • it gives me the easiest way I've found to quickly load, interpret and transform XML data
  • it allows me to use Java libraries without compiling Java code

Recently, I came across a nice example which allowed me to exploit both benefits. I wanted to be able to extract data from a series of web pages, but which unfortunately were being presented in HTML format rather than XHTMl.

Finding scarcity in the digital economy

I keep losing my references to all these great articles about how the world has changed as a result of the Internet and the rise of digital distribution.

This is a link dump so I don't forget the two best ones (yet) again:
Clay Shirky - Newspapers and Thinking the Unthinkable
The Grand Unified Theory on the Economics of Free

Tornado - the web services server?

Hmm -- this is really interesting.

Ten days ago, Facebook open-sourced the Tornado web server.

Written in Python, this is an open-source version of the implementation of the FriendFeed realtime API. Tornado is designed to handle large number of simultaneous connections and to easily allow the implementation of REST-style interfaces using GET or POST.

Quote of the week

Dude, Bernie Madoff stole FIFTY BILLION DOLLARS. In a PONZI SCHEME. Which is the criminal equivalent of convincing people you are going to fly to the moon in a refridgerator box. The single, unpleasant truth is that most people, particularly criminals, are NOT complex. They are shallow, greedy sons of bitches to whom we attribute genius planning or complex motivations in order to preserve a false sense of order in our universe.
-- John Rogers

@font-face

With the release of Firefox 3.5, all major browsers now support a version of @font-face font embedding.

The odd man out (surprise surprise!) is Internet Explorer, which only supports the EOT format, as compared to Gecko and WebKit-based browsers that support TTF and OTF formats.

However, this is not the big barrier remaining. It is fairly trivial to convert TTF to EOT. The bigger problem is that most fonts are not licensed to use on the web -- even free ones.

Fonts, fonts, fonts

Well, I've just learnt more about fonts than I ever really wanted to.

The issue was that the Australian Standard for legibility on a computer screen specifies certain minimum heights, but "height" for a font can mean many different things. For example:

  • ascent (or cap height or H-height) = from the base line to the top of the highest flat-topped capital letter in the font (such as an 'H')
  • descent = from the base line to the bottom of a letter with a descender (such as a 'y')

EU antitrust finding against Intel

The EU's antitrust ruling against Intel is making lots of waves in the blogosphere at the moment.

Nigel Dessau from AMD has made a series of thoughtful posts on the issue.

Project Management Applications

This list of 14 project management applications is worth a look, if only because it provides a number of very different options for interaction, rather than the countless cookie-cutter versions of task lists that exist.

System sequence diagrams

One of the more common requirements for the modern IT department is to customize an commercial off-the-shelf, or COTS, software package to fulfil a complex business requirement.

However, in these situations it is rare for the COTS package to stand alone. Typically it will be a central "hub" for multiple actors to interact (eg your typical HR package) and/or will integrate with other business systems, such as a central authentication directory, a custom data entry point etc.

Collaboration & workplace interruptions

Recently I have been thinking a lot about the impact of collaborative tools on workplace interruptions.

In the old days of computers, PCs could only work on one task at a time. This naturally discouraged task switching, since there was a cost of setting up and quitting the application. Instead, people completed the task they were on before moving on to the next one.

Syndicate content