Applying the scientific method to software engineering
How researching existing solutions, testing assumptions, and arguing from evidence can improve the way we implement solutions at work.
Writing
How researching existing solutions, testing assumptions, and arguing from evidence can improve the way we implement solutions at work.
A practical introduction to dynamic programming, memoization, and bottom-up tables, with Go examples from my Advent of Code solutions.
How I organised my Advent of Code solutions in Go, with a shared runner, input processors, cached inputs, and reusable helpers.
Moving the behaviour of an ESP32 watering system from YAML packages into an ESPHome component, and what still needs work.
My article on using Kotlin Flow and coroutines to listen to the Hacker News Server-Sent Events stream.
A practical introduction to Big-O, time and space complexity, and prefix sums using Ruby examples.
A solution to the Genomic Range Query problem, covering how DNA prefix sums can be used to answer multiple queries efficiently.