An Elegant Method for Solving the Rubik's Cube
June 8, 2022I 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 morePure X11 Logic in Haskell
July 22, 2016X11 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