Recent Posts

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.

Replace occurrence of string in files under directory tree

This Python recipe “ASPN : Python Cookbook : Replace occurrence of string in files under directory tree” has a comment that reminded me of the power of Perl.

I am updating my slides for a lecture course that uses rst2s5 (a utility that uses Docutils/reStructuredText to generate S5 slides). When I wrote the original slides for last year’s course, rst2s5 was still in the Docutils Sandbox. It has now been promoted into the official Docutils distribution but some changes have been made. One of these was that
the directive

.. handout::

has been changed to

.. class:: handout

so I had a need for to make a search/replace in every file in a collection.

I know that there is a recipe for this in my copy of the Perl Cookbook (but I didn’t have a copy of that to hand), so I looked it up on the Python Cookbook. And there (in the comments to the above link) I found the Perl recipe:

find . -name '*.txt' -print | xargs perl -pi
-e 's/.. handout::/.. class:: handout/'

Now that’s simple … and it worked!

Must be Some Kind of Record

Talk about information overload! I currently have 1675 unread items on my main blog roll in Bloglines. I just exported the OPML file of my subscriptions and imported it into Flock’s RSS aggregator but as I’m sure that this only shows a few days worth, I’ll feel guilty forever unless I go through the list on Bloglines. I have to say Flock’s RSS reader is lovely to look at and very slick. If it also stored the subscriptions (and reading history) on the web as Bloglines does, it’d be a definite candidate to replace Bloglines. Maybe Bloglines and Flock will come to a similar arrangement to that in place for Flickr, del.icio.us and blogger. technorati tags:blogging, bloglines, flock, rss, aggregation, browser

Blogged with Flock

Free Basecamp Clone in PHP5 and MySQL

As reported today on TechCrunch Serbian developer Ilija Studen has released a free clone of the popular project management service Basecamp. Studen’s product is called ActiveCollab. It differs from Basecamp (a hosted web application for which, if you have more than one project or a team larger than 2, you pay a monthly subscription to use) in that the product is free and open source. It is also a PHP5/MySQL application that indiduals, small companies, and even, presumably, Universities can download and install on their own web server. Not sure what code quality and community support is or will be like, but certainly one to watch I think.

Blogged with Flock

Mother's Day

 Spent a nice weekend in Hedon with with my mom Sheila and her partner Terry (Pictured). This entry is really an excuse to use Picassa which I’ve just installed along with the Google Desktop Package. Picassa has the best UI for photo album work that I’ve seen and it also produces great CDs for exchange with friends. An it’s free! Posted by Picasa