An Elegant Method for Solving the Rubik's Cube

2022, Jun 8

I present a new method based on the idea of reducing the cube to states which can be solved with increasingly limited sets of turns. This method has the interesting property of ending with intuitive blockbuilding.

read more

Pure X11 Logic in Haskell

2016, Jul 22

X11 programming in Haskell has traditionally been done using the X11 package. Many of these bindings were written by hand and, due to their reliance on FFI, are susceptible to some threading issues. xhb, a newer package, provides low-level bindings to X11 based on the same XML as xcb. I present a new set of libraries which serve as layers of abstraction over the low-level xhb bindings. These libraries encapsulate interaction with the X server in a monad transformer, enabling the expression of pure X logic.

read more