All Posts
-
I Feel Unsafe
November 15th, 2024
-
Is it c? Or is it с?
July 16th, 2024
-
Kill on the Cover Letter, but Not Like That
February 2nd, 2024
-
Stubbing I/O in Yesod
November 5th, 2023
-
Haskell Pattern: Design for Qualified Imports
August 17th, 2023
-
Yesod Forms, Newtypes, and Smart Constructors
June 14th, 2023
-
Derived Instances Can Break Smart Constructors, Too
June 9th, 2023
-
Please Don't Kill Me, Google Maps
April 23rd, 2023
-
Make Your Types Smaller
December 31st, 2022
-
Make Your Database Tables Smaller
December 28th, 2022
-
At Least Assert Your Serialisation Roundtrips
December 10th, 2022
-
We Deserve Better Than BEM
August 24th, 2022
-
Static Asset Hashing in Hakyll
August 18th, 2022
-
Solving a Maths Riddle with Bad Haskell
May 3rd, 2022
-
Fast Counting with PostgreSQL and Haskell
December 24th, 2021
-
Why We Don't Do Daily Stand-Ups at Supercede
August 30th, 2021
-
20% Time at Supercede
June 23rd, 2021
-
How I Write Elm Applications
November 7th, 2020
-
Why I Love Monday Mornings
May 22nd, 2020
-
How I Work From Anywhere in the World
February 2nd, 2020
-
Rewriting Routes in Yesod
January 22nd, 2020
-
Bleep. Bloop. I Am Approving Your Transaction.
October 5th, 2019
-
On Technical Debt
October 4th, 2019
-
Implementing a Content Security Policy in Yesod
September 21st, 2019
-
Tracing User Requests in Yesod
July 9th, 2019
-
Rich Hickey Doesn't Know Types
April 9th, 2019
-
You Think CSS-in-JS is Bad?
January 30th, 2019
-
Hello World in Haskell
January 27th, 2019
-
Keeping CSS Simple
January 12th, 2019
-
Silence, At Last
December 14th, 2018
-
Yesod is a Minimal Web Framework
December 13th, 2018
-
How Many Levels Of JavaScript Are You On?
February 1st, 2017
-
The Knowledge Is A Scam
January 30th, 2017
-
Showing The Weather In Tmux
September 23rd, 2016
-
Git Is Your Single Point Of Truth
August 19th, 2016
-
JavaScript Is Not Expressive
May 28th, 2016
-
Working In The Dark
March 6th, 2016
-
Deploying A Haskell Web Service With Nix
February 1st, 2016
-
The Case Against Dynamic Typing
January 26th, 2016
-
Code Review Done Right
November 24th, 2015
-
My Uncomplicated Git Workflow
November 12th, 2015
-
The World's Most Boring Build System
November 11th, 2015
-
Visualising Code Growth with Git and D3.js
October 25th, 2015
-
Using Git to Manage Todos
October 19th, 2015
-
How I Write Invoices in Vim
September 5th, 2015
-
How I Find and Replace in Vim
September 2nd, 2015
-
Automatic Quality Assurance with Git Hooks
June 22nd, 2015
-
Moving to the Beginning of the Line
May 26th, 2015
-
Shell Script Static Analysis in Vim
May 17th, 2015
-
Free Internet on Trains
May 7th, 2015
-
Working with Whitespace
December 21st, 2014
-
Folding Paragraphs in Vim
October 29th, 2014
-
Red, Green, WTF?
May 8th, 2014
-
Spirograph
December 9th, 2013
-
Arcify
August 8th, 2013
-
The Setup
July 2nd, 2013