Who the Hell is Frank Mitchell?

This site is just for bits and pieces which I think may be of slight interest to somebody else, added whenever there's something to share.

Home
The main page, innit?
Writing
Attempts at fiction writing, for your amusement.
Game Stuff
Ideas related to pen-and-paper Role-Playing Games, with the occasional thought on boardgames, card games, or (if I shed my Luddite ways) computer games.
Software
Stuff I've written, mostly for my own edification.
Rants
Other opinions I must share.
Resume
A possibly current resume, curriculum vitae, whatever.
Links
Grab-bag of possibly interesting links.
Simpsons Avatar
For those who miss it.

Official NaNoWriMo 2006 Winner

Official NaNoWriMo 2005 Winner

Fri, 24 Feb 2006

Bookmarks

A Ruby script to collate bookmarks from Netscape/Mozilla, Opera, and IE into a single YAML database. Instead of preserving the original hierarchy, it uses folder names as "labels" attached to each URL. (I found that I had the same links filed in different ways in different bookmark files.) At some point I might write as script that converts the YAML file to Mozilla bookmarks, using a description of the canonical hierarchy of labels.

The tarball also includes a multithreaded link checker script, to verify that links still exist. I haven't gotten around to a proper installer, so if you want to use this as a module elsewhere, you'll have to copy it to the appropriate location yourself.

Download here.

[/software] permanent link

Eiffel Dependency Metrics

Ruby scripts to compute Robert Martin's dependency metrics, as described in Agile Software Development, in Eiffel code. I have a sporadic interest in Eiffel, and wondered how Martin's metrics translate into Eiffel.

Most other languages have an explicit statement stating what modules or classes a source file uses (C/C++ #include, Java/Python import, Ruby require, etc.), but Bertrand Meyer in his infinite wisdom decided that resolving class names to their definitions happens in an "Ace" file when a program is assembled. Right now the scripts don't use Ace files, and assume (hope) that names are unique and that Ace files don't rename classes. This poses problems in, for example, the GOBO libraries, which have different versions of the same class for each compiler supported.

Like the Bookmarks scripts, this program is divided into several modules, one of which is an "Eiffel scanner" which is arguably more complex than a true Eiffel parser would have been. The scripts need not only packaging but better tests, so the numbers may not be accurate.

Download here.

[/software] permanent link