Inklings: a tumblelog

Cheap Threads: Portable Multitasking in C

Cooperative threads and the like.

Using XSLT to Filter and Sort Records in the Browser

Does scale?

MySQL is just not built for large tag-systems. It just doesn’t scale. It does scale up to 1 Million items but delicious does have far more posts.

Code Is Not an Asset

JavaScript Logging

A Set of Unit Testing Rules


A free client side code syntax highlighter

Web Publishing Tip: Permalink Your Titles

Preaching to the choir! :-)

A new Firefox extension for trying out xpaths

Generic DAO pattern with JDK 5.0

Cheat Sheet Roundup - Over 30 Cheatsheets for developers

Web Application Security Reviews

The iTunes 5 Announcement From the Perspective of an Anthropomorphized Brushed Metal User Interface Theme

Laughed my pants off!

Taking the Time to Think


Cross-platform file synchoniser.

From Cbits to Qbits: Teaching computer scientists quantum mechanics

Secret Life of RNA

Using RNA to switch off genes.

Java vs. Erlang, Part II

The Six Dumbest Ideas in Computer Security



Dojo Toolkit

Plugging Haskell In

Using Haskell as an embedded extension language.

Running a Python script as a Windows service

Visitor Pattern Versus Multimethods

MacGyver for President

MacGyver’s idea of a holiday is being dropped behind enemy lines armed only with a spoon and a positive attitude.

Now, that’s a leader! :-)

What is Kool-Aid?

Kool-Aid is an inexpensive non-carbonated soft drink that comes in powder form, mixed with water and sugar. It’s a sweet colorful drink favored by children. […] To ‘Drink the Kool-Aid’ is to adopt a religion with suicidal zeal.

Ok, now I understand the phrase.

Google Blog Search

All well and fine, but how do you find entries linking to some entry on your blog? That’s the one vaguely useful thing about Technorati, no matter how utterly crap is might be otherwise.

Secure PHP

A wiki about, well, PHP security.

10 Reasons Clients Don't Care About Accessibility

Exclusive: BillG Goes To College

Oh, to not be on dialup right now…

Continuations in Jetty 6.0

Now, this is great to see. Continuations will play a big part in making web development a lot more naturalistic than it is now. All that’s needed is for people to stop being intimidated by them, and realise just how useful they are.

.htaccess Cheatsheet


Although I wasn’t able to attend, it got me thinking about ‘compulsive production’ and how it relates to my life.

Rational Trigonometry: Trigonometry without sines, cosines, and tangents.

Dr. Norman Wildberger, of the South Wales University, has redefined trigonometry without the use of sines, cosines, or tangents. In his book about Rational Trigonometry (sample PDF chapter), he explains that by replacing distance and angles with new concepts: quadrance, and spread, one can express trigonometric problems with simple algebra and fractional numbers. Is this the beginning of a new era for math?

Holy crap!


Rather cool Python webdev uberframework.

Expressiveness Matters

How a more expressive programming language can trumph a faster, yet less expressive one.

Recovering resources in the pi-calculus

The History of Delegates

Old article on from when C# appears. Goes back to when MS attempted to introduce them into Java with J++.

Evolution of a Haskell Programmer

Usable Interactivity with Remote Scripting

I refuse point blank to use AJAX as a name for Remote Scripting. Stupid name.

Experiments with Oval: A Radically Tailorable Tool for Cooperative Work

What Makes Lisp Great

A Not-to-do List

This is something I should definitely do!

Buddies, ACL's, and Capabilities


Java port of Textile


Java port of Markdown

A List Apart's New Print Styles

At last! The one thing that annoyed me about their redesign was that I could no longer print out the articles. But now I can again. Eric Meyer explains how they went about designing a printer-friendly stylesheet for the new layout.

Opera now completely free.

Yup, no ads and no registration. This is a great idea on their part: the desktop market isn’t important to them (only 3% of users register at all), it creates a lot of good will marketing, and it has the potential to shake things up even more in the browser arena, which is never a bad thing.

Why Software Sucks (and What to Do about It)

Scott Berkun's Essays

All worth reading.

The essence of Dataflow Programming by Tarmo Uustalu and Varmo Vene

Dynamic typing in OCaml

Nature and Origin of Life on Planetary Bodies

Man Fights off Five-metre Shark

R5RS (the Revised[5] Report on the Algorithmic Language Scheme)

The Scheme Programming Language

Bibliography of Scheme-related Research

Scheme is Love

The Printable CEO

A way for poor, disorganised sods like myself to get things done.

HOWTO Avoid Being Called a Bozo When Producing XML

Spiderman 3 villains to be Venom and Sandman

Venom! I’m dancing in my spidey fan pants! But no Carnage? What’s with that?

Using SAX for Proper XML Output

Interesting. It’d never have occurred to me that SAX might be as useful for generating XML as it is for parsing it.

Let It Be: Three Cheers for Apatheism

‘Apatheism’, the article states, is ‘a disinclination to care all that much about one’s own religion, and an even stronger disinclination to care about other people’s’. I didn’t have a name for it, but that’s a view I’ve tried to hold myself for a long time now, albeit I’ve waivered quite a bit!

Model/View/Presenter Design Pattern

JSEclipse: JavaScript Editor with Code Completion

Introduction to ColdSpring AOP

The Importance of Printability

Hallelujah! As someone who hates reading articles off the screen with a passion and likes to print things off, if only to save my eyes, there’s nothing I hate more that when sites don’t use print-friendly stylesheets. Or worse: when the printable version is paged! Surely when Jakob Nielsen admonished use all that users don’t like to scroll, surely the point was really that you should make them have to read as little as possible rather than having them scroll or page through a bunch of bloated writing. And if there’s one thing I hate more than sites without print-friendly stylesheets, it’s sites that make me page through articles if I want to print them off!

Ajax and Browser History

Making browser history work in the presence of remote scripting.

Dead Right

A John Holbo post from ages back here he rips into Frum’s book of the same name, showing his tendancy to appeal to some kind of rugged visceral aethetic tends to undermine the point he’s trying to get across. A great piece of writing, and worth reading regardless of your political colouring. Really! Lots of great comments from right across the spectrum, both arguing for and against what John wrote. I think the book itself might just be worth a read.

Word Complete 1.0

A component that allows you to add autocomplete in words in a HTML text area.

RIFE/Continuations, pure Java continuations for everyone

And more on the RIFE wiki explaining the use of continuation on the web.

Apache Jakarta Commons DbUtils

Gives me an excuse to toss away a lot of my DB code. :-) This implements a lot of same kinds of helper classes I’ve created myself for making JDBC a lot less painful to work with.

Apache Jakarta Commons Javaflow

Another Java continuations framework.

Apache Jakarta Commons Mapper

Most Java applications must store data to a data store whether it’s XML files or a relational database. Changes to the mapping technology should be transparent to the rest of the application allowing changes to be localized in the mapping layer. Commons Mapper is a thin abstraction layer around a project’s chosen data mapping technology. It allows the developer to vary the mapping technique behind this layer (often combining several technologies) so that the rest of the application doesn’t change.

The Unreasonable Effectiveness of Mathematics by R. W. Hamming

Structural Phylogenetics and the Reconstruction of Ancient Language History

Database per Developer and Environment

While it’s pretty easy to convince people about the efficacy of not having a single development server that everybody work on, and to instead have seperate development workstations and use source control. But doing the same with database is another matter. I guess the only way to do it is to store the schema and sample data as text files, and modify these, and rebuild the various databases whenever they’re changed during the build or when a developer checks out the updated schema/database. It’s a hard problem though, and I know a lot of people who don’t like the idea of doing that though. Maybe the problem is that the RDBMSs we have today just aren’t up to the task of being developer-friendly?

Classic Technical Lead Blunder

How to learn from your mistakes

Conventional Wisdom: Rediscovering the Social Norms That Stand between Law and Libertinism

Things Creationists (and, for that matter, Intelligent Design folk) Hate

Sorry, I can’t help myself. I know this is lapsing from Apatheism, but then again, bible literalism is something I’ve always found rather amusing, if not risable. And this is rather an entertaining read.

Designing an OO Backend

XMLHTTP notes: abort() and Mozilla bug

XMLHTTP notes: readyState and the events

Work vs. Progress

Reference Objects and Garbage Collection

Meet the man who can bring order to your universe

Time management guru David Allen has established a cult following. Devotees of his Getting Things Done manifesto claim it has the power to change lives. Ben Hammersley is a believer.

PHP on Trax

A PHP port of Ruby on Rails.


Crap! I’ve been looking for something like this for ages!

Amber-entombed spider is 20m years old

A Manchester scientist has found a 20-million year-old spider, perfectly preserved in a lump of amber.

Irreducible (Complexity) - A Formal Definition

A Basic RayCaster using the <canvas> Element

Really, really cool! Mind you, I see no reason why it needs to be so blocky.

The Three Filters: How to Listen to Users

The Principles of OOD

Essential Fonts For Designers: 300 Free Truetype Fonts You Should Have