Skip to content →

Category archive for: Uncategorized

Fixing paredit in the clojure REPL

By default, paredit in the Clojure slime-repl doesn’t properly handle literal vectors and maps. This little snippet of elisp seems to fix it. (defun fix-paredit-repl () (interactive) (local-set-key "{" ‘paredit-open-curly) (local-set-key "}" ‘paredit-close-curly) (modify-syntax-entry ?\{ "(}") (modify-syntax-entry ?\} "){") (modify-syntax-entry…

Embedding fonts into an existing PDF file (via an ugly hack)

Many academic conferences require that you submit PDF files with all fonts properly embedded. Making sure this happens for your LaTeX document using pdflatex is not difficult. However, some programs used to create figures don’t have an option to embed…

Simple multiplayer, HTML game timer

I made a simple game timer to learn jQuery, and keep our house’s Settlers of Catan games moving. It runs great in a mobile browser, allows arbitrary numbers of players, and has a couple configurable timing settings. Both the source…

New Arduino library for controlling HL1606-based RGB LED strips

I’ve posted a new library at Github for controlling HL1606-based RGB LED strips, along with some details on where they can be purchased and how they can be set up. I’ll post examples later, once I get some cool patterns…

The hardest eight-puzzle instances take 31 moves to solve

I’m sure this information is available elsewhere, but I couldn’t find it with a quick google search — the two hardest 8-puzzle instances are: 8 6 7 2 5 4 3 . 1   6 4 7 8 5 .…