Virginia Creeper

Virginia creeper growing up the trunk of a dead tree (we should really take this down: I don’t think it’s close enough to hit anything if it falls, but still…). Sometimes people mistake this climbing vine for poison ivy, but it has whorls of five leaves instead of three. If you know both plants, there are other differences: poison ivy leaves usually have that oily sheen, often a reddish undertone, and the leaf shapes are different. But the number of leaves is the easy one.

Our property slopes down from north to south: it’s bounded on the north edge by a road and then three fields run down to the top of the pond. The fields are divided by hedgerows growing along runoff ditches, and this tree stands just inside one of those hedgerows.

A tree trunk perhaps a foot in diameter is festooned with glossy green leaves. The vine they're growing on is almost invisible against the bark. The whole background is a dense thicket of leaves, with a fallen dead branch from the tree leaning up into the brush.


Slitherlink is one of my favorite logic puzzles: I like how the rules are simple but they generate fairly complex deductions; deductions that you can learn to recognize visually. With Sudoku I spent about 20 minutes enumerating the possible classes of deductions and then was kind of bored with it: “this is the kind of problem that computers are for.” (which is fine: Sudoku is obviously hugely popular. Just not my jam.) But with Slitherlink I was still discovering new patterns to look for several years in.

But I’ve never seen an implementation that I really loved. I mostly play Loopy from Simon Tatham’s portable puzzle collection because it supports non-square grids and generates as many puzzles as I feel like playing. But the UI isn’t great. And most learning resources assume a square grid and give you lots of rules for particular clue combinations (like the Wikipedia page linked above) instead of starting with the “simple” topological principles that I think are cool and then showing how to find the specific deductions as corollaries of those.

Dunno. I think it’s more interesting to say that any point is either on the curve (in which case it has two edges filled in: one coming in and one going out) or that two simple closed curves intersect in an even number of places (if you cross into the island, you must cross out again) than to simply point out that two squares with a 3 clue touching at a corner must have particular edges filled in. I’d rather generalize that to two cells touching at a corner, each of which has only one missing side… because then you can apply it in many more situations.

Anyway. I’ve always thought it would be cool to implement a version that introduces Slitherlink as lovingly and carefully as Hexcells does for its Minesweeper/Picross combo. But I keep running up against the amount of graph processing logic you need to even start implementing the thing: following edges through an arbitrary graph, searching for loops, and so on. One of these years…