“Cozy Debugging” by norsez is licensed under CC BY-NC-ND 2.0

[First published on blogspot.com in March 10, 2008, when it soared to the top of Reddit for fifteen minutes of fame. Reiterated here as prelude to a “Director’s cut” in which we dissect what happened for the benefit of new devs. -kt 3/05/2021]

This was such a weird project.

Scheduled for five days altogether. My friend from the clinical drug trial venture was also a tech recruiter who got me about half my tech jobs over the years and this one was a real throwaway.

What we had was a mid-80s start-up in the educational software game producing exactly the…

Or, How to Melt Your CPU Doing ETL With Clojure core.async

The job was simple. Come to think of it, half my work lately has been simple in the same way: ETL. Or ELT, no one cares. We need to get (extract) data from one place and load it someplace else, prolly transformed in there somewhere.

Photo by Robert Anasch on Unsplash

How did ETL become half the work we do? Moral somewhere.

Come to think of it, in this case I did not need to transform the data. I just needed to move a crap ton of shapefile data out of the Postgres database where it was being handcrafted by geodata experts into an ElasticSearch cloud…

A case study in blind dumb luck.


Almost ten years ago I wrote up a library I had developed twelve years earlier, in another post named The Cells Manifesto.

Cells and the many other dataflow aka reactive libraries are great, but developers are tone deaf to the paradigm shift. A good sign: dataflow is so different it cannot be grasped by those raised on other paradigms. And to be getter than them, it has to be different.

I do not feel bad: they are also immune to Lisp.

And Lisp is quite the analog for the dataflow paradigm: the deader…

[First published February 11, 2008 on blogspot.com.]

[We may as well get this out of the way, an explanation of my pet project Cells, the kind of thing I’ll be sitting in a rocking chair twenty years from now mumbling how the CIA stole it from me but they don’t have the latest version I have that in a floppy disk here in my shirt pocket.]

In the text that follows, [xxx] signifies a footnote named “xxx” and listed alphabetically at the end.


Cells is a mature, stable extension to CLOS[impl] allowing one to create classes whose instances can have…

First published March 8, 2008 on blogspot.com.

Someone asked how much Lisp I have really done. I am building a resume these days getting ready to look for some Lisp work, so I thought I would kill two birds with one stone and write up my experience as the architect and lead developer (out of two, for the most part) of a clinical drug trial management system.

“clinical trial capsules” by Esthr

Over a couple of years we built a system from of eighty thousand lines of Lisp, throwing away fifty thousand more along the way. We were in the classic situation described by Paul…

In May of 2020, Bill Nichols got the world talking with news of a study that proved, says he, that the 10x programmer does not exist. One neat trick I clearly liked was putting his desired research result in the story title:

“The End to the Myth of Individual Programmer Productivity”.

Wow! It must be true! Did you see the title?!

“Robert Jasper on the north face of the Eiger” by GORE-TEX Brand

Another smart move was not disclosing the researcher’s conflict of interest: they run programming classes. So the entire organization depend$ on its existence for software being something that can be taught, and on taught methods being more important than…

by transmediale

“I will not allow you to foist this convoluted scheme on the bank!”, said Sam, raising his voice.

This was fun in a lot of ways. First of all, come on, this is a bank, three or four full floors of programmers all enthralled by nothing more technical than getting through the day unfired and back on the train home to their families and here is this aging card punch nut job throwback not only noticing Someone Else’s Code but caring?!

Second, I did not make that up. Sam actually used the word “foist” without trying. I use SAT words…

And this is a success story.

Feature review.

“Hey, let’s try recording their answers.”

And so begins the customary death-by-a-thousand-cuts, house-to-house fighting, two steps forward three steps back, nail-pulling war of attrition you RMS-worshipping, oh-golly-its-free-as-in-beer millennials have created, which is why the sane gender no longer works in IT.

I digress.

Let us capture one of these slow-motion train wrecks live. I am recording this as I go, to make it real. I have started this before but never finished, crushed by the enormity of the ensuing saga. Suspect this will go the same.


We start with a great prospect…

Or, How one programmer works, after fifty years in the trenches

Below I list the things I have learned in the fifty years since I keypunched my first line of Fortran into a Hollerith card. While the maxims are phrased facetiously, and almost all are too abstract to apply directly, I promise you this: I consider them all the time while coding, and they drive my choices while I am coding.

The tl;dr good news?

Programming is easy if we do not think too much.

The trick is first to code a lot so we build the coding instinct, then…

“Frigo, Beer Pub, Shinjuku, Tokyo” by shinyai

If you know me, you know I hate meetings. But at two straight shops now I have encountered weekly “tech meetings”, where the only thing missing is pints of beer and a dart board.

Those are fine.

At our latest such chat, a young tiger asked how, in a time of encroaching uncertainty, facing the inexorable decay of entropy, us old IT farts could hope to cling to capturing broken data in our rigid SQL tables and columns.

Yeats was among us.

The falcon cannot hear the falconer;

Things fall apart; the centre cannot hold;

Mere anarchy is loosed upon…

Kenny Tilton

Developer and student of reactive systems. Lisper. Aging lion. Some assembly required.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store