Articles
Things written for various purposes.
Featured Articles
Haskell: Sourced Recursion Schemes
Up through the recursiverse
Haskell: Indexed Recursion Schemes
Finding your way back after a recursive descent into madness
Introducing: ParserKit
A parser-combinator library.
Blogs
Haskell: Sourced Recursion Schemes
Up through the recursiverse
Haskell: Indexed Recursion Schemes
Finding your way back after a recursive descent into madness
Haskell: Birecursion Schemes
Or: Recursion Schemes 2: Here We Go Again
Haskell: The Free Boolean Cube
An exploration of things beyond Free and Cofree.
ParserKit: Writing a JSON parser
Create a parser for reading JSON files.
ParserKit: Writing a math expression parser
Create a parser for performing simple math calculations.
ParserKit: Writing a CSV parser
Create a parser for reading CSV files.
ParserKit: Quickstart
Get started parsing quickly.
Introducing: ParserKit
A parser-combinator library.
Swift Functors
Exploring the functor hierarchy in Swift for great good.
SwiftUI: Pull-to-Refresh
Part of a series of blogs about Swift.
Swift: Task + DispatchTimeInterval
Improving Task.sleep for everyone.
Web page bloat
A rant about (the lack of) slim web pages.
42 milliseconds
An essay about relativity and its practical effects upon distributed computing.
Turing vs Lambda - Boolean Logic Circuits
A short essay about Turing completeness and implementing it in 3 different ways.
Post-digital computing
An essay about about the future of computing, what lies toward the horizon, and how to find out what is beyond.
Filesystem Skeumorphisms
A rant about the inadequacies of mixing UI and logic.
Source control in your app
A discussion about applying source-control techniques to application and server state.
Something is wrong in computing
An essay about the unstable state of computing, and how we might avoid the dangers lying therein.
How-to
How to set up an gitserver and website in 2022
A complete and thorough guide to setting up a push-to-deploy gitserver and website on Ubuntu using SSH, git, and NGINX. It covers all of the essentials, including how to set up basic security.
Parsing JSON in 38 lines of Haskell
We build a tiny javascript object notation parser, while still remaining RFC compliant and without losing readability.
Writing a Lambda Calculus interpreter in Haskell
We write a rather small lambda calculus expression parser, evaluator, and repl in Haskell.
Writing a Parser Combinator Library in Haskell
We write our own stripped-down version of the popular parsec library.