Erik Naggum, 10 Years On

Posted on June 17, 2019 by Jack Kelly
Tags: lisp, programming, culture

Life is hard, and then you die.

Source: Erik Naggum - USENET Signature

Ten years ago today (according to Wikipedia and this blog comment; other sources say 2009-06-20, which seems to be incorrect), Erik Naggum died. He is one of fifteen people enshrined in’s Hotel Genius, and was one of the more controversial figures on USENET and comp.lang.lisp in particular. His writing was often incandescent - a mixture of intelligent thought, stunning eloquence, and searing flames. That flaming made him controversial, even before his death. I recall reading his writing when I was in university and fascinated by lisp, but I never knew him. Even so, I’m a bit sad that only ten years past his death, his impact on the internet seems largely confined to a couple of RFCs and a snarkive on Wikiquote.


Lovecraft's Lemma

Posted on May 27, 2019 by Jack Kelly
Tags: logic, fun

A few weeks back, some of us were working on a colleague’s chess problem. We’d made it partway to the solution, but had become stuck and started asking for hints. He told us that we’d already worked out every piece of information necessary to find the solution, and I pointed out that it is quite possible for a human to know p, q and p ∧ q ⟹ r without concluding r. We’ve since simplified this result and called it “Lovecraft’s Lemma”:

Lemma (Lovecraft’s Lemma): A human mind can believe p and p ⟹ q without necessarily believing q.

The name was chosen for two reasons: alliterative appeal, and this quote from The Call of Cthulhu:

The most merciful thing in the world, I think, is the inability of the human mind to correlate all its contents.

Learning to Raycast in Haskell

Posted on March 3, 2019 by Jack Kelly
Tags: coding

I built a raycaster in Haskell using codeworld-api over the weekend, and put the code up on Raycasting is not a particularly impressive technique these days: John Carmack did it 17 years ago in a cave! With a box of scraps! with texture mapping, while wrangling the IBM VGA, and while getting acceptable performance out of an 80386. (Aside: the Wolfenstein 3D Black Book is a fantastic read.)

Despite being obsolete, raycasting is a fun first step. I mostly followed F. Permadi’s tutorial from 1996, which does a pretty good job of deriving the maths, not just hitting you with walls of C. I was struggling to get the actual ray casting to work right, and eventually found the Algorithm of Amanatides and Woo. This post is about reaching that success, and reflecting on the thought processes that got me there.


Fun with Flags

Posted on November 17, 2013 by Jack Kelly
Tags: windeward_bound

Windeward Bound still carries a full set of signalling flags and while they do see some use, we don’t send often complicated messages with them because we have things like VHF radio. But when the tall ship festivals were on, we thought there might be other sailors out there who’d be able to read the flags. Since we didn’t need to send serious messages with them, we wound up sending joke messages in the traditional manner: bible references.


Hobart to Melbourne to Hobart

Posted on October 25, 2013 by Jack Kelly
Tags: windeward_bound

At the end of September we voyaged to Melbourne to meet the incoming fleet that would carry on to Sydney for the International Fleet Review. Melbourne took the opportunity to have a tall ship festival in Williamstown, which was an excellent but intense few days.

All Posts
Copyright © 2019 Jack Kelly
Site generated by Hakyll (source)