Parsing, Not GuessingJune 14, 2025Using ASTs over regex to build a predictable, lightweight, theme-aware Markdown renderer in Go.
GADTs for Type-Level Domain LogicMay 7, 2025Using Generalized Algebraic Data Types (GADTs) in Haskell to encode domain-specific rules and state transitions.
Composable Parsers with AttoparsecMay 6, 2025Using Attoparsec in Haskell to create efficient and composable parsers for structured text data.
Implementing Non-Copyable Embedded StructsMay 6, 2025Using a noCopy marker in Go to prevent accidental copying of embedded structs, ensuring safe concurrent access to shared resources.
Tmux sessionizerMay 5, 2025Using tmux-sessionizer to manage tmux sessions efficiently, with custom modifications for a streamlined development workflow.
Scripting a self-updating Github ReadmeMay 1, 2025Automating the update of my Github profile README using Go and Github Actions to fetch blog posts and render a template.