Inklings: a tumblelog

Tiny C Compiler

Heard about this on the Langsmiths list. I’m sure I’ve heard about it before though. It’s a small, fast optimising C compiler. It has the preprocessor, assembler and linker all built-in, and can even act as a C interpreter. Well worth a look.

Ninja and Zombie


A great HCI comic. Whodathunkit? :-)

Mocks, Stubs, Dependency Injection, andâEUR¦ XMLHttpRequest

Podcast: Mock Objects and Unit Testing

Podcast: Testing and JUnit

RTÉ Radio 1 Begins Podcasting

Silent Bob

Silent Bob records all incoming music, streaming or otherwise, from the soundcard. When the user decides to record and pushes the button, no problem Silent-Bob has already started the recording 2 minutes earlier! Never miss the begining!

I’ve said for a long time that something like this, though I was thinking of a more hardware-based solution, could get past all of the nonsense we’re threatened with these days. Nifty!

MenTaLguy Explains Monads in Ruby

Now there can be absolutely no excuses for not understanding them!

It's Another World

A tribute to the second best game ever written, the best, of course, being Élite. :-)

Keeping a Genre Alive

WSJ on Interactive Fiction.

Free WiFi Spots in Galway

Could come in very useful.

Dojo Rich WYSIWYG Editor

A WYSIWYG that sucks less.

Developer Notes for prototype.js

Prototype is almost great. Pity it messes with Object though.

Mail Chauvinism: The Magicians, the Snark and the Camel

A look into the early days of email, how it could have turned out much worse, and how it holds some lessons for what’s going on today.

A Generic Ostream Iterator

Christopher Diggins actually posts something interesting and useful! Wonders will never cease!

Please use .ToString() responsibly

Reminds me of Ned Batchelder’s article on stringification.

Data Retention Is No Solution

The European ministers of Justice and the European Commission want to keep all telephone and internet traffic data of all 450 million Europeans. If you are concerned about this plan, please sign the petition.

You know it’s right!

Turing's Cathedral

Winsock Programmer's FAQ: The Lame List

1001 idiotic things people do with sockets (especially on Windows) and how to avoid them.

SDF Public Access Unix System

Ooh! I had an account on this back in ‘98. I must see if it still works some time.

Tutorial on Good Lisp Programming Style (ps)


Free file hosting. Useful if you can’t FTP to a server and need to get a file to somebody without emailing it as an attachment. Or something.

The Transterpreter

Hurray! I played around with Occam in my Realtime System classes in college. It’s pretty cool.

ColdFusion Open-Source Project List

FusionWiki isn’t quite good enough yet to be noted here, but here’s hoping…

Donald Knuth: Musings and More @ Stanford Center for Professional Development

Videos of his lectures.

Reading Impartially

The Jane Fonda Myth

There’s some great comments. Oh, and read the linked-to book review.


A JavaScript library for attaching behaviour to DOM elements in a manner similar to how CSS attaches styles to elements.

How to use SQL Server Express (where's the UI?)

After using MSDE and the MSSQL client tools for so long, MSSQL Express just feels so primitive!

Can we fix the software development process with innovative management?

How to Fund a Startup

Paul Graham reveals his secret sauce. :-) Having little or no business sense, I doubt I’ll ever be in a position to put this to good use.

Ragel State Machine Compiler

Interesting lexer/parser. Not much use to me right now, but you never know.

The Web as It Was Meant to Be Used

A sane look at all the Web 2.0 nonsense.

Microsoft Gets TDD Completely Wrong

James Shore on those rather awful and misguided TDD guidelines MSFT came out with recently. And there are similar criticisms from others.

Bypass VSTS and get yourself a "Poor Man's IntelliJ"

How there’s plenty of tools out there to suppliment VS.NET as it is to give you the same kind of support, if not better, without needing to upgrade.

Top 12 Ruby on Rails Tutorials

Bak2Basics: Know thy indexes

How the various kinds of indexes work in MSSQL.

Failing Tests Meaningfully: TDD Process and The Karate Kid

And read the related post Microsoft Takes It on the Chin over TDD and Debunking Microsoft’s Guidelines for TDD.


This WTF should form a lemma in any argument for why your private/protected variables should be marked in some manner.

God's Debris, a novella by Scott Adams

Yes, that Scott Adams. Synopsis:

Imagine that you meet a very old man who–you eventually realize–knows literally everything. Imagine that he explains for you the great mysteries of life–quantum physics, evolution, God, gravity, light, psychic phenomenon, and probability–in a way so simple, so novel, and so compelling that it all fits together and makes perfect sense. What does it feel like to suddenly understand everything? God’s Debris isn’t the final answer to the Big Questions. But it might be the most compelling vision of reality you will ever read. The thought experiment is this: Try to figure out what’s wrong with the old man’s explanation of reality. Share the book with your smart friends then discuss it later while enjoying a beverage.

InMemoryDatabase (Martin Fowler)

Hurray! I was looking for the URL for Prevayler.

Software Apprenticeship

When I was at college, I came to similar conclusions after seeing the way many of those in my course struggled with the practical aspects of development. We should drop the pretence of being “engineers” or “scientists”, admit that we’re really craftsmen and artisans, and train people appropriately.

NHibernate Quickstart Guide

NHibernate FAQ

Using NHibernate with ASP.NET

Using NHibernate with VS.NET

NHibernate Tutorial

NHibernate: Working with XML fields

Test-Driven Development in .NET

Nice wee article covering NUnit.



AHAH: Asychronous HTML and HTTP

“AJAX” without the useless hooplah.

Free Smalltalk Books

Continuous Integration


Database abstraction library for PHP. Might use this. Also, ADOdb Lite.

Demoing Software for Fun & Profit

RFC 3339: Date and Time on the Internet: Timestamps

Dueling Simplicities

Jon Udell compares the vision of Google Base with Microsoft’s Simple Sharing Extensions (SSE) vision.

Ordering Code Construction Tasks

Improving Your Handwriting

Set Your Priorities

I think every commercial developer, be they working on shrinkwrap or bespoke, will nod their heads reading this.

Introduction to ASN.1

Model-Glue .NET

CVS and Subversion: Combined Tutorial

Firefox Tab Sidebar Extension

Does Effective TDD Require OOP?