Inklings: a tumblelog

Productivity of static vs. dynamic languages

Also see The Local Change/Local Effect Principle and Domino Changes in Static Typing, both referenced in the post.

Signs of Art

There’s a never ending battle going on in your software development team right now. It’s the battle between the Organic Engineers and the Mechanical Engineers.

Agile Project Management is everybody's job

Bloom Filters: The Maths


Cultural Mores

Martyn Turner Cartoon from the Irish Times on the Hypocracy of the DUP's Position on IRA Decommissioning


Reading Smalltalk for Java Programmers

Cleared up a few issues I had with reading it!

The Joy of Smalltalk

If ColdFusion Frameworks Were Airlines


BitKeeper Eats Itself

Design Principles Behind Smalltalk

Fighting Urban Legends about Garbage Collection

esr Implodes Spectacularly! Again.

And it’s a beautiful thing. :-) Also, read this comment on the entry that Tim mentioned (see ‘via’).

OpenBSD: Improved (in security terms, that is) Memory Allocation

OpenBSD to start using mmap() at randomised locations in the virtual address space with guard pages to implement malloc() to prevent buffer overruns and underruns. Nifty!

Scientists Finding Out What Losing Sleep Does to a Body

The Sensitivity Problem

Bob Martin compares Test Driven Development to Double-Entry Bookkeeping to explain why testing isn’t just a good idea, but an ethical obligation for developers.

Linux is Not Windows (and nor should it be, or try to be)

Now, if only more people understood this.

Java object serialization for Ajax

Zipper-based file server/OS

Really must read and try to understand this.

Oracle buys Innobase. MySQL between rock and hard place?

Oh dear.

The Three Rules of Test-Driven Development

Americans: Too fat for the iPod Nano


A Dozen Ways To Sustain Irrational Technology Selections


TaskSwitchXP Pro 2.0

A Win2K/WinXP task switcher that doesn’t suck as much as the regular one. Pity I’m stuck using Win98 right now. :-(


A short story by SFX contributer David Langford about an image capable to crashing your brain.

On RSS and the coming wave of content theft

Agnula Libre Music

A library of freely distributable music.

The Value of Privacy

XOXO 1.0: Extensible Open XHTML Outlines

Announcing Ruby Code & Style

Open Source SQLite Delphi Components

A Simple Delphi Wrapper for SQLite 3

SQLite Quick: Delphi Classes for SQLite

SQLite Spy

Graphical interface for SQLite databases.

Object Orientation Tips

The Lobby Bar Lives!

The Half-Moon won’t quite be the same–not as intimate–but this is good news! One reason at least to regret leaving Cork.

Abyss Web Server

A nice, solid, and rather small Windows webserver. Even runs on this ancient Win98 box, and setting up PHP on it’s trivial.

The Other Side of Design

An interesting side-effect of this definition is that the quality of a design is context sensitive. […] Most people, when they think of design, think of predictive design. […] There’s another side to design, though, one that experienced designers use every day. We just don’t talk about it much. What is it? Reflective design. […] Up until now, the conversation has been about up-front design versus evolutionary design. I’d like to eliminate that false dichotomy. Let’s put predictive design and reflective design on the table together.

And Keith Ray is saying similar things on his blog too.

The Blind Men and the Elephant by John Godfrey Saxe

Merlin's (10 + 2) * 5 Procrastination Hack

It’s a great way of getting through things, but I can’t see it’d how work well for a developer.

Charming Python: Scaling a new PEAK

Python Enterprise Application Kit’s new generic functions and predicative dispatch features enhance rapid app development.

What I take from this is that generic functions are essentially the same thing as multimethods, but I’m still not sure. Answers on a postcard…

Weblog Usability: The Top Ten Design Mistakes

Jakob makes baby Jesus cry! ;-)

Object Reorientation: Generic Functions

Yup, I think I get it now.

CRM114: The Controllable Regex Mutilator

A spam filter that uses Markovian filtering rather than Bayesian filtering, and gives better results than Bayesian filters.

20 Best License-Free Quality Fonts

XSLT for the Rest of the Web


A really small Bittorrent client.

Rails ActiveRecord vs anything ColdFusion

aka “ActiveRecord, and why it kills anything ColdFusion has or could have with the Right Framework”.

Monads in Perl

Arrows: A General Interface to Computation

Does Visual Studio Rot the Mind? by Charles Petzold

Yup, that Charles Petzold.

What Is Ruby on Rails

In search of the One True Layout

AJAX: How to Handle Bookmarks and Back Buttons

Oh, how I despise that acronym! Not a bad article though.

Io Guide