56,966 blogs · [ { "id": "01a08761-9900-73f0-84b6-bd707ac3c89d", "title": "A Quine in Haskell", "url": "https://codehakase.com/shorts/a-quine-in-haskell/", "published_at": "2026-06-18T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd707b2e39ac", "title": "The Database Is a Cache", "url": "https://codehakase.com/blog/the-database-is-a-cache/", "published_at": "2026-03-03T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd707b7963c1", "title": "Bounded Execution for AI Coding Agents", "url": "https://codehakase.com/blog/bounded-execution-for-ai-coding-agents/", "published_at": "2026-01-09T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd707b7a1fbb", "title": "Idiomatic Haskell Refactors", "url": "https://codehakase.com/blog/idiomatic-haskell-refactors/", "published_at": "2025-10-19T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd707bcf1968", "title": "Parsing, Not Guessing", "url": "https://codehakase.com/shorts/parsing-not-guessing/", "published_at": "2025-06-14T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd707cb6c7b4", "title": "import \"reflect\"", "url": "https://codehakase.com/shorts/import-reflect/", "published_at": "2025-06-10T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd707d9113cf", "title": "Maps Don't Shrink in Go", "url": "https://codehakase.com/blog/maps-dont-shrink-in-go/", "published_at": "2025-05-27T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd707de08bf3", "title": "TTYs", "url": "https://codehakase.com/shorts/ttys/", "published_at": "2025-05-13T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd707e5c7c76", "title": "GADTs for Type-Level Domain Logic", "url": "https://codehakase.com/shorts/gadts-for-type-level-domain-logic/", "published_at": "2025-05-07T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd707f2a0d82", "title": "Composable Parsers with Attoparsec", "url": "https://codehakase.com/shorts/composable-parsers-with-attoparsec/", "published_at": "2025-05-06T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd707fe52b72", "title": "Implementing Non-Copyable Embedded Structs", "url": "https://codehakase.com/shorts/implementing-non-copyable-embedded-structs/", "published_at": "2025-05-06T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd70808f5d65", "title": "Tmux sessionizer", "url": "https://codehakase.com/shorts/tmux-sessionizer/", "published_at": "2025-05-05T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd70812deaab", "title": "Scripting a self-updating Github Readme", "url": "https://codehakase.com/shorts/scripting-a-self-updating-github-readme/", "published_at": "2025-05-01T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd7081a4df09", "title": "Notes on building a coding agent", "url": "https://codehakase.com/blog/notes-on-building-a-coding-agent/", "published_at": "2025-04-25T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd708265674f", "title": "Functors: Identity, Composition, and fmap", "url": "https://codehakase.com/blog/functors-identity-composition-and-fmap/", "published_at": "2025-03-26T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd70829dcaac", "title": "Largest product in a series", "url": "https://codehakase.com/blog/largest-product-in-a-series/", "published_at": "2025-02-07T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd70835554b1", "title": "Working with JSON in Go", "url": "https://codehakase.com/blog/working-with-json-in-go/", "published_at": "2021-05-03T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd7083e7b9f8", "title": "Enum Stringer Interface optimisation in Go", "url": "https://codehakase.com/blog/enum-stringer-interface-optimisation-in-go/", "published_at": "2021-04-08T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd7084991582", "title": "Line Numbers In Vim", "url": "https://codehakase.com/blog/line-numbers-in-vim/", "published_at": "2020-02-07T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd7084aaf041", "title": "What I Use", "url": "https://codehakase.com/blog/what-i-use/", "published_at": "2020-01-10T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd70850b569a", "title": "Building Small Containers for Kubernetes", "url": "https://codehakase.com/blog/building-small-containers-for-kubernetes/", "published_at": "2018-12-01T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd708567a14a", "title": "Building a Web App With Go, Gin and React", "url": "https://codehakase.com/blog/building-a-web-app-with-go-gin-and-react/", "published_at": "2018-04-20T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd70858b5bf8", "title": "The CouchDB Replicator Database - An Overview", "url": "https://codehakase.com/blog/the-couchdb-replicator-database-an-overview/", "published_at": "2018-04-19T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd7085c38786", "title": "Here's What's New In Go 1.10", "url": "https://codehakase.com/blog/heres-whats-new-in-go-1.10/", "published_at": "2018-03-06T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd7085ff2309", "title": "React Native vs Ionic - A Quick Comparison", "url": "https://codehakase.com/blog/react-native-vs-ionic-a-quick-comparison/", "published_at": "2017-12-05T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd708675ab8b", "title": "Getting Started with Go - Variables", "url": "https://codehakase.com/blog/getting-started-with-go-variables/", "published_at": "2017-11-19T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd708768294a", "title": "Golang - Getting Started, The Practical Dev", "url": "https://codehakase.com/blog/golang-getting-started-the-practical-dev/", "published_at": "2017-11-18T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd708807dd84", "title": "Terminal for Beginners!", "url": "https://codehakase.com/blog/terminal-for-beginners/", "published_at": "2017-10-28T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd70885c0fcc", "title": "How I Learned Golang", "url": "https://codehakase.com/blog/how-i-learned-golang/", "published_at": "2017-09-02T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd7088ac63c8", "title": "JavaScript Async/Await 101", "url": "https://codehakase.com/blog/javascript-async/await-101/", "published_at": "2017-08-12T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd70898a4131", "title": "for...in vs for...of Loops in JavaScript", "url": "https://codehakase.com/blog/for...in-vs-for...of-loops-in-javascript/", "published_at": "2017-06-19T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd708a4a5c1f", "title": "Build your first RESTful API with Node.js", "url": "https://codehakase.com/blog/build-your-first-restful-api-with-node.js/", "published_at": "2017-06-13T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd708a5d23e9", "title": "Making hakasebot - Twitter Bots 101", "url": "https://codehakase.com/blog/making-hakasebot-twitter-bots-101/", "published_at": "2017-05-30T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd708ac52d4c", "title": "JavaScript Objects 101", "url": "https://codehakase.com/blog/javascript-objects-101/", "published_at": "2017-05-25T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd708b8630e8", "title": "Introduction to JavaScript Promises", "url": "https://codehakase.com/blog/introduction-to-javascript-promises/", "published_at": "2017-05-21T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd708c4f7d06", "title": "Object-Oriented PHP - An Easy Approach", "url": "https://codehakase.com/blog/object-oriented-php-an-easy-approach/", "published_at": "2017-05-17T00:00:00+00:00" }, { "id": "01a08761-9900-73f0-84b6-bd708cf91fdb", "title": "Introducing Adonis Js", "url": "https://codehakase.com/blog/introducing-adonis-js/", "published_at": "2017-05-09T00:00:00+00:00" } ] posts Claim your blog
Back to codehakase.com
Blog · corpus.blog/blogs/codehakase.com/posts

codehakase.com

codehakase.com

2026

2025

13 May 2025

2021

2020

2018

2017