Happenings

Pipes, The Bible And Nexus

This edition of random links will be much terser than usual, because I lost the first draft and don’t have time to redo it. Doh.

  • Nexus – A great idea for screen scraping partial content RSS feeds, but the description makes it sound slightly naive.
  • Introduction to FOAF – A fairly comprehensive introduction to FOAF, for anyone who doesn’t know what it is.
  • Pipes – A good tutorial on command line piping, for computer users of all levels.
  • Hot Links – Didn’t pay much attention to it the first time I saw it, but I have rediscovered it as a fantastic link hub.
  • Find In Firebird – Always forget the key that does this. A great shortcut.
  • 213 Thinks Skippy Can No Longer Do – .. In The US Army. Hilarious.
  • Thesaurus Protocol – A protocol for accessing thesauri over HTTP.
  • Crowd Simulation Framework – A framework for simulating crowds in Java. Handy for displaying large scale emergent behaviour.
  • Optimising Firebird – Seen most of these before, but a useful resource nonetheless.
  • Things To Not Test – Political correctness gone mad.
  • XML Is Not OO – Sound reasons why XML should not be shoehorned into OO design.
  • I Despise You And Your So-Called Taste – Funny and scathing remarks about your favourite band, or album.

That’s all. The coming week will be post-lite, but stay tuned.

Java 1.5

Yesterday, the first beta of the long-awaited Java 1.5 finally went public. Sporting a large number of new features and classes, this new version will make every Java programmers life easier.

Firstly, there are the new types and constructs.

The new enumerated types have been in demand for a while, and work similarly to the typical C/C++ idiom. In terms of Java, they are being compared to public inner classes; encapsulated but accessible.

Auto-boxing takes away some of the hassle of casting primitive types to their respective wrapper classes. It should automatically create a reference, r, to the primitive, p, such that r.value() == p. Not a huge change, but it will help cut code.

Much bigger is the enhanced for loop. As part of the introduction of Generics – the new method to allow operations of objects of varying types safely – the new for loop will provide cleaner iteration over any Iterable class (pertinently, anything in the Collections framework). Instead of explicitly creating iterators and updating at each stage, a pseudo foreach syntax will be used. Example: for (String s : c). This will take each String S in c (most likely a collection), and perform the loop operations on each one. Very clean, very nice.

There are also some interesting new classes, both extending the old and starting from scratch.

The Collections framework has been updated in several areas. Queue provides an interface for holding Objects before processing. This has been implemented by, among several others, the PriorityQueue and SynchronousQueue classes. A more extensive list of the changes to Collections is available.

Other changes include:

  • Scanner class – a method for parsing primitives and Strings using regexes.
  • Removal of RMIC – No more need to compile RMI stub classes explicitly.
  • Improvements to garbage collection – It was a little lacking before.
  • The Concurrency Framework – Aiming to do for concurrent applications what the Collections framework did for data structures; providing a simple, consistent way of doing concurrency.
  • Improved XML handling – Supporting both SAX and DOM parsing.
  • Making JFrame.add() equivalent to JFrame.getContentPane().add() – a small, but simple enhancement.
  • Networking Enhancements – Improved support for various standards (including IPv6) and a minimal set of mandatory protocol handlers.

All in all, Java programming just got a lot simpler.

Elephant

Although it has been billed as a shockingly brutal retelling of the Columbine massacre, a must-see, Gus Van Sant’s Elephant is turgid and dull.

Lasting little more than an hour, it seems to last forever. Following the kids around the corner is supposed to bring the audience closer to them, but in reality it just makes us care less about these uninteristing, one-dimensional portrayals of stereotypical school life.

The killers implied motivations (playing games, nazism, and being gay) are picked from the usual list of pop culture bogeymen, and never justified (not that they can be). Their acting is also atrocious. They don’t seem interested in it at all.

This film had no redeemable qualities. Avoid.

Invalid Id Values

Without realising it, for the last few days my XHTML has been invalid. While in pursuit of markup perfection, that will not stand.

The problem was that a blog entries title began with a number. That’s ok. However, those titles are used as ID values on the headers for that entry. ID values aren’t allowed to begin with numbers – I have no idea why, but that’s how it is.

The fix: prepend an X to the title.

The moral: just because an XML parser (my browser) didn’t notice the error, doesn’t mean that it’s valid XHTML. Validate, validate, validate.

Scrabble, Helicopters And Copyright

Time for some random links:

  • Drop ShadowsCSS drop shadows in most browsers (not IE).
  • Cellular Automata – A constantly evolving header graphic, depicting flowers reacting to weather and interacting with each other.
  • SScrable – A (slightly flawed) single-player scrabble game. Fantastic (and I hate scrabble). Via Submit Response.
  • Crazy Game – The most insanely difficult but compulsive game of all time.
  • When Word To XML Conversions Get Nasty – An article on converting nasty word docs to XML; a rather large project on its own.
  • Ontology, Taxonomy, And Vocabularies – The differences explained.
  • PHP mag – A decent resource for PHP related tutorials.
  • 10 Myths Of Copyright – Some of the more pervasive copyright myths put to rest.
  • How To Write Good – “There are many more writing hints I could share with you, but suddenly I am run over by a truck.” Genius.
  • Helicopter game – Great one button game. Fly a helicopter through a tunnel.
  • Definition Lists Explained – A clear article on the usage of definition lists, with some interesting ideas on how to style them.
  • CSS Pencils – Making images of pencils entirely from CSS. I remember seeing something like this except with images from KnightRider.

That’s all for another few days.