Scottkit is born! Only seven and a half years late!

Those of you who have been reading this blog since 2nd March 2010 — just three days after the blog was born — might remember the fourth post I ever made here: Learning a language vs. learning a culture, on my switching from Perl to Ruby. Way back then, I wrote about “ScottKit — my first non-trivial Ruby program”. Here it is!

Continue reading


React error-message of the day

This just in:

Failed context type: Invalid context `paneset` of type `Paneset` supplied to `Paneset`, expected instance of `Paneset`.

Oh, the joys of front-end development!

(My best guess: I have two slightly different version of stripes-components library that provides the <Paneset> component in my application, and somehow I’ve got hold of one from the wrong instance.)

They didn’t think it through #2: Jailbreak

The opening and title track of Thin Lizzy’s enjoyable 1976 album Jailbreak begins:

Tonight there’s gonna be a jailbreak
Somewhere in this town

I’m going to go out on a limb and guess it;’s going to be at the jail.

They just didn’t think it through.

IFComp 2017 — The Interactive Fiction Competition

I’ve been aware in a backgroundy kind of way of IFComp for a long time. It’s an annual competition for Interactive Fiction (IF), a genre of computer games that are based on text — though, within that rubric, many forms are included: not just traditional text adventures, but hypertext “games” and choose-your-own-adventure branching paths.

This year, inspired by the efforts of Jason Dyer on his excellent IF blog Renga in Blue, I am playing and judging some of the entries myself. (Anyone is allowed to judge: there are no qualifications and only a few rules.)

Continue reading

What I’ve been reading lately, part 24

Zeno and the Tortoise: How to Think Like a Philosopher — Nicholas Fearn

I’ve been keeping this book in the bathroom and reading it in short segments as circumstances dictate. You know what I’m saying. It’s a fascinating overview of the history of philosophy, told in 25 short chapters. Each is about a single philosopher (Wittgenstein alone gets two), and consists of a brief biographical sketch and an outline of his key ideas.

(I say “his” ideas, because every single philosopher discussed in the book is male. For much of the history of thought, that was the reality, and it’s right that the book reflects that. But it does seem odd that in the later chapters, influential female philosophers like Simone de Beauvoir and Elizabeth Anscombe are overlooked in favour of the likes of Jacques Derrida and even Richard Dawkins.)

Continue reading

What’s wrong with my printer? (HP CP1515n)

I have a nice printer: an HP Color Laserjet CP1515n. It printed really clean, strong colours until a few months ago, when it started displacing the magenta. Check out this portion of the Ubuntu GNU/Linux test page:

As you can see, each individual nozzle (cyan, magenta, yellow) produces a really nice, clean print. And the green composite comes out nicely, too, because the cyan and yellow nozzles are correctly aligned. But the red (= magenta + yellow) and blue (= cyan + magenta) are fuzzy, because the magenta nozzle is not correctly aligned with the other two.

Continue reading

Playing Spellbreaker (1985)

Spellbreaker is the climax of the Enchanter trilogy, preceded by Enchanter and Sorcerer. Unlike its predecessors, it is ferociously difficult — though most of the solutions feel fair, once you realise what they are.

But, boy, is it hard. With this one, I followed the maxim Cheat Early, Cheat Often, and I don’t regret it one tiny bit.I read a ton of invisiclues, and at one point resorted to a walkthough in the hope of finding the exact command I needed to get past a problem I had already solved. In the end, I wanted to experience Spellbreaker more than I wanted to beat it. And beating it would have taken months or years, if I managed at all.

Continue reading