Posts from 2007

Learning Lab Podcast Launches

The learning lab at my University launched its first podcast today. I feel obliged to blog about it as Chris Hall interviewed me about the *Blackboard Quest* that I developed as a Blackboard training exercise for first year engineers. The podcast is here. The interview itself is quite quiet compared to the rest of the podcast, but then people have always said that I mumble!

powered by performancing firefox

New Literate Program Published

I have published another literate program on literateprograms.org. This one shows how the Rot13 encoding system can be implemented in Java. However, that is trivial! The real point is to document the basic use of JUnit testing and Apache Ant which are standard tools in the professional Java developer’s toolbox (in fact they make Java just about usable :-)

Within 24 hours of the first mention of my program, another literate programmer had documented the altogether more elegant implementation as a sed script. My guess is that a Groovy implementation would, if not quite as elegant, be much simpler than the Java version.

Trialling Enso

I am grateful to Dion Almaer for pointing me to a new add on for Windows called Enso Launcher which allows you to launch applications right from the keyboard. For example you just hold the Caps Lock key and type Op[tab]Ex release caps lock to open explorer. Not quite as quick as [windows]+E but not far off!. It also does stuff like spell checking any text anywhere. It also has the function I use a lot: changing upper case text to lower case text in any program or text field in programs other than Word! Cost is $20 dollars and I can see myself paying that when the 30 day trial is over.

powered by performancing firefox

Moving to Google Reader

I’m in the process of moving my Bloglines aggregation settings to Google Reader. The features that I like abou Google Reader that prompted this move are:

  • I can add multiple tags to RSS feeds

  • Reader shows you what’s new (and also what’s old) in all feeds or across tagged items: no more navigating complex folder structures

  • the list display is easier to scan when you’re busy

  • it’s easy to share feeds or individual articles

  • you can replace the traditional static blogroll with a dynamic list of hot topics (see What’s tickling my fancy at left).

If only gmail had folders too!

Fortress Intepreter

Mentioned in episode 100 of the Java Posse was a new (to me) open source language for the JVM called Fortress. Using a notation that looks literally more like mathematics than either Mathematica or Matlab, and claiming a place in the application domains that have been Fortran’s province since year dot, this looks like a language and a project that deserves further study.

Groovy snowball ready to roll

I’ve been teaching Groovy as part of one of my final year bachelor modules for about two years now. My module EG-358: Software Applications gives a sort of overview of how software engineering is applied across the range of platforms from desktop through to embedded (I cover the Enterprise in a Masters level module) and it takes in such esoteric issues as design patterns, collaborative development, agile development, IDEs, real-time, concurrency, etc.

<

p>
A focus of the module has always been around the “language level” and has argued for the adoption of the highest level language that suits the application domain. It was convenient to use Java to frame this discussion because it is was a single-language solution with a well defined abstract architecture and coverage of the range from embedded through to enterprise server. An important piece in the jigsaw, inspired by TCL-guy John K. Oosterhout’s seminal paper was scripting and scripting languages. To present the ideas and benefits of scripting, I used to have to divert study away from Java and the JVM; first to Perl, then Python. In the latter years I used JPython which, though a different language, at least ran on the JVM.

<

p>
I was very excited when Groovy was announced, because here was a language that kept the focus on Java and the JVM; was close enough to Java to avoid the necessary problem of learning a new way of working, but yet provided a route to illustrate the very-high level nature of scripting languages. I’ve stuck with it through its early versions, and on to the changes of syntax and semantics introduced by the JSR versions (jsr-5 last year I think). I even gave an example of agile web application development with Grails back in May 2006!

<

p>
So it’s great to know that finally there’s a version 1.0 out of groovy and a 0.3 of Grails with accompanying text books (see the link to Jeff Brown’s blog post for more). It’s a pity that the module itself is taking a one-year holdiday this year!

<

p>If you’re interested, I’ve tagged some of the many on-line references related to EG-358 on my del.icio.us acount.