56,966 blogs · [ { "id": "01a08c62-5168-70ea-8096-ef21fa81acfa", "title": "How Antithesis Found and Explained a Bombadil Race Condition", "url": "https://wickstrom.tech/2026-08-07-bombadil-race-condition-antithesis.html", "published_at": "2026-08-06T22:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef21fb65cdc8", "title": "Coding on Paper", "url": "https://wickstrom.tech/2026-05-16-coding-on-paper.html", "published_at": "2026-05-15T22:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef21fb709ee8", "title": "Catching Typos on My Website with Browser Testing", "url": "https://wickstrom.tech/2026-05-13-catching-typos-website-browser-testing.html", "published_at": "2026-05-12T22:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef21fc2ce236", "title": "The Bombadil Terminal Experiment", "url": "https://wickstrom.tech/2026-04-30-bombadil-terminal-experiment.html", "published_at": "2026-04-29T22:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef21fcea309e", "title": "There and Back Again: From Quickstrom to Bombadil", "url": "https://wickstrom.tech/2026-01-28-there-and-back-again-from-quickstrom-to-bombadil.html", "published_at": "2026-01-27T23:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef21fd5411dc", "title": "Computer Says No: Error Reporting for LTL", "url": "https://wickstrom.tech/2025-11-01-error-reporting-linear-temporal-logic.html", "published_at": "2025-10-31T23:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef21fdf172ef", "title": "Programming in the Sun: A Year with the Daylight Computer", "url": "https://wickstrom.tech/2025-10-10-programming-in-the-sun-a-year-with-the-daylight-computer.html", "published_at": "2025-10-09T22:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef21fdf826df", "title": "Finding Bugs in a Coding Agent with Lightweight DST", "url": "https://wickstrom.tech/2025-08-28-findings-bugs-coding-agent-lightweight-dst.html", "published_at": "2025-08-27T22:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef21feda82c5", "title": "Machine: Learning; Human: Unlearning;", "url": "https://wickstrom.tech/2025-02-11-machine-learning-human-unlearning.html", "published_at": "2025-02-10T23:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef21ff070bb1", "title": "How I Built \"The Monospace Web\"", "url": "https://wickstrom.tech/2024-09-26-how-i-built-the-monospace-web.html", "published_at": "2024-09-25T22:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef21ff874397", "title": "A Flexible Minimalist Neovim for 2024", "url": "https://wickstrom.tech/2024-08-12-a-flexible-minimalist-neovim.html", "published_at": "2024-08-11T22:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef2200060a0a", "title": "Statically Typed Functional Programming with Python 3.12", "url": "https://wickstrom.tech/2024-05-23-statically-typed-functional-programming-python-312.html", "published_at": "2024-05-22T22:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef22005ef66d", "title": "Specifying State Machines with Temporal Logic", "url": "https://wickstrom.tech/2021-05-03-specifying-state-machines-with-temporal-logic.html", "published_at": "2021-05-04T22:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef2201398695", "title": "The First Winter: Clearing Weeds and Planting Trees", "url": "https://wickstrom.tech/2021-03-01-first-winter-clearing-weeds-planting-trees.html", "published_at": "2021-02-25T23:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef22016a46a7", "title": "Introducing Quickstrom: High-confidence browser testing", "url": "https://wickstrom.tech/2020-08-27-introducing-quickstrom-high-confidence-browser-testing.html", "published_at": "2020-08-26T22:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef2201b81b3b", "title": "The TodoMVC Showdown: Testing with WebCheck", "url": "https://wickstrom.tech/2020-07-02-the-todomvc-showdown-testing-with-webcheck.html", "published_at": "2020-07-01T22:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef2201e31788", "title": "Time Travelling and Fixing Bugs with Property-Based Testing", "url": "https://wickstrom.tech/2019-11-17-time-travelling-and-fixing-bugs-with-property-based-testing.html", "published_at": "2019-11-16T23:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef2201e9c78e", "title": "Property-Based Testing in a Screencast Editor, Case Study 3: Integration Testing", "url": "https://wickstrom.tech/2019-06-02-property-based-testing-in-a-screencast-editor-case-study-3.html", "published_at": "2019-06-01T22:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef2202af8524", "title": "Property-Based Testing in a Screencast Editor, Case Study 2: Video Scene Classification", "url": "https://wickstrom.tech/2019-04-17-property-based-testing-in-a-screencast-editor-case-study-2.html", "published_at": "2019-04-16T22:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef2202fee44d", "title": "Property-Based Testing in a Screencast Editor, Case Study 1: Timeline Flattening", "url": "https://wickstrom.tech/2019-03-24-property-based-testing-in-a-screencast-editor-case-study-1.html", "published_at": "2019-03-23T23:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef2203ef1d1f", "title": "Property-Based Testing in a Screencast Editor: Introduction", "url": "https://wickstrom.tech/2019-03-02-property-based-testing-in-a-screencast-editor-introduction.html", "published_at": "2019-03-01T23:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef220453dd2f", "title": "Why I'm No Longer Taking Donations", "url": "https://wickstrom.tech/2018-12-29-why-im-no-longer-taking-donations.html", "published_at": "2018-12-28T23:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef22053bcf62", "title": "Writing a Screencast Video Editor in Haskell", "url": "https://wickstrom.tech/2018-10-26-writing-a-screencast-video-editor-in-haskell.html", "published_at": "2018-10-25T22:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef22055024f7", "title": "Declarative GTK+ Programming with Haskell", "url": "https://wickstrom.tech/2018-09-04-declarative-gtk-programming-with-haskell.html", "published_at": "2018-09-03T22:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef2205accf7c", "title": "Finite-State Machines, Part 2: Explicit Typed State Transitions", "url": "https://wickstrom.tech/2017-11-19-finite-state-machines-part-2.html", "published_at": "2017-11-18T23:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef2206a36f57", "title": "Finite-State Machines, Part 1: Modeling with Haskell Data Types", "url": "https://wickstrom.tech/2017-11-10-finite-state-machines-part-1-modeling-with-haskell.html", "published_at": "2017-11-09T23:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef2206b7f903", "title": "Motor: Finite-State Machines in Haskell", "url": "https://wickstrom.tech/2017-10-27-motor-finite-state-machines-haskell.html", "published_at": "2017-10-26T22:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef2206d4333b", "title": "Automating the Build of your Technical Presentation", "url": "https://wickstrom.tech/2017-09-24-automating-the-build-of-your-technical-presentation.html", "published_at": "2017-09-23T22:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef2207b38b2c", "title": "Tagless Final Encoding of a Test Language", "url": "https://wickstrom.tech/2017-06-05-tagless-final-encoding-of-a-test-language.html", "published_at": "2017-06-04T22:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef22086f6c25", "title": "Hyper: Elegant Weapons for a More Civilized Page", "url": "https://wickstrom.tech/2017-01-06-hyper-elegant-weapons-for-a-more-civilized-page.html", "published_at": "2017-01-05T23:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef2208a39b7c", "title": "Taking a Step Back from Oden", "url": "https://wickstrom.tech/2016-10-10-taking-a-step-back-from-oden.html", "published_at": "2016-10-09T22:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef22093336d4", "title": "Custom Formatting in HTML and LaTeX Code Listings using Pandoc", "url": "https://wickstrom.tech/2016-07-10-custom-formatting-in-html-and-latex-code-listings-using-pandoc.html", "published_at": "2016-07-09T22:00:00+00:00" }, { "id": "01a08c62-5168-70ea-8096-ef2209c2f061", "title": "Paramount Color Scheme for Vim", "url": "https://wickstrom.tech/2016-05-15-paramount-color-scheme-for-vim.html", "published_at": "2016-05-14T22:00:00+00:00" } ] posts Claim your blog
Back to Oskar Wickström
Blog · corpus.blog/blogs/wickstrom.tech/posts

Oskar Wickström

wickstrom.tech

2026

2025

2024

2021

2020

2019

2018

2017

2016