Archive for the ‘tools’ Category

The TestDriven.NET Quickstart: Not So Quick

Sunday, November 11th, 2007

So I’ve started playing with TestDriven.NET, a Visual Studio Add-In that lets you run NUnit by right-clicking and choosing Run Test(s).

There’s a Quickstart page to get you up and running, but some details were omitted:

  1. Your project needs a reference to nunit.framework.dll, probably located in
    C:\\Program Files\\TestDriven.NET 2.0\\NUnit\\2.4
  2. Add this to the top of your file:
    using NUnit.Framework;

    If you want to use the nifty Assert.That(foo, Is.Not.EqualTo(bar)) syntax, also add

    using NUnit.Framework.SyntaxHelpers;

If you don’t do that, when you try to Run Test(s) you’ll get

The type or namespace name 'Test' could not be found
 (are you missing a using directive or an assembly reference?)
The type or namespace name 'TestFixture' could not be found
 (are you missing a using directive or an assembly reference?)

Some of you are thinking “Well, duh,” and in general I’d agree, but the QuickStart really ought to mention it. Since all it says is to right-click and run the tests, I initially thought something had gone wrong during the installation.

Bonus Linkage for Nifty Syntax: Troy DeMonbreun’s Learn the new NUnit 2.4 Constraint-Based Assert Model, is a handy quick-reference.


Monday, July 18th, 2005

SSH dictionary attacks got you down?

DenyHosts parses the SSH log, tracks attempts, and automatically updates /etc/hosts.deny.

(You are using TCP Wrappers, aren’t you?)

RenderMan-compatible Renderers

Sunday, May 29th, 2005

RSS Readers

Wednesday, February 9th, 2005

I refer to RSS in the syllabi for my classes, and mentioned it on the first day of class, but a student asked about it, so here’s my 30-second explanation:

RSS is an XML format that allows you to “subscribe” to a web site, getting updates as they are posted. The format is supported by the “Live Bookmarks” feature of the Mozilla Firefox browser and by the Thunderbird e-mail client.

There are also a number of specialized RSS Readers. Click here for a list, or try searching Google for RSS.

If you’re looking for a recommendation, I’ve used each of the following at various points:

I don’t read too many blogs regularly these days (too busy prepping lectures and assigning homework), but the last time I did, I used an RSS reader that ran as a cron job and e-mailed me updates. I wrote it myself. (Although, of course, I stole liberally from rss2email and rawdog.) E-mail me if you’d like to play with the code.

Once you’ve gotten yourself a newsreader, try to subscribing to one or more RSS feeds:

Don’t go crazy with the update-checking — every half hour is more than
enough. In the meantime, happy news-reading!

Cream for Vim

Saturday, June 21st, 2003

Cream is a plugin/configuration thingy for Vim that vastly improves its functionality. Better menus, color themes, a better status bar, show/hide invisible characters, word-wrap (yay, no more !!fmt), a file browser, a spell checker, and more.

By default, Cream even does away with the much-maligned modal interface:to insert text, just start typing. I assume this is good for Windows and Mac weenies who can’t handle the usual vi command set. (Tip for UNIX users: “Cream Lite” mode reverts to the normal vi command set while keeping the neat extras.)

Jini configuration hell

Friday, May 3rd, 2002

Since its introduction, pundits have wondered why Jini has failed to catch on like other Java technologies. Having recently tried to take the plunge into JavaSpaces, I believe I can answer that question.

Put simply, Jini is too hard to configure. I consider myself fairly intelligent, and I have a lot of Java experience and a fair amount of Solaris experience. Nevertheless, it took me over a week of wasted evenings trying to run the Ray Tracer example included with the Jini distribution. Running this example requires no less than 6 processes to be running, 4 of which require commands spanning multiple lines to start.

You can see the fruits of my labor, a shell script that starts everything running. For everyday use, I’ve broken it into 5 different shell scripts:,,,, and one for the application (e.g., or

I haven’t even started writing my own programs, this is just to run the example. Folks, developers are going to be slow to adopt Jini until this get easier.

A tip for Google API experimenters

Friday, April 12th, 2002

Check out Jython and use the Java API docs. Not only is Python a nicer language, but you can leave out the “get” and “set”. Place googleapi.jar in your jre/lib/ext directory and try the following:

engine =
engine.key = '00000000000000000000000'
engine.queryString = 'google api'
answer = engine.doSearch()
for result in answer.resultElements:
    print result.URL

(Replace 000… with your key)

Much nicer.

Google API

Friday, April 12th, 2002

Get ready, here comes some amazing stuff: Google has released an API for their search engine, so that you can write programs that make queries without pretending to be a web browser and screen-scraping the results.

Dave Winer and others are already hard at work on brand new applications. Rael Dornfest has already written an article with a demo.

More practically, this means that I’ll probably be working on my own “Google toolbar” for Linux.

The Anal Retentive Time Tracking System

Tuesday, March 19th, 2002

After a little detective work with Google, I finally managed to track down the latest version of artts.

Weblogging with vi

Tuesday, March 5th, 2002

Finally, a weblogging system simple enough for a UNIX guy: Blosxom by Rael Dornfest of O’Reilly and Associates is a 30-line CGI script for publishing weblogs from plain text files.