41554 blogs · [ { "id": "01a08789-aa1f-7308-8dff-f5296719f545", "title": "Killing a `Cow` made my JSON formatter 42% faster", "url": "https://jacobasper.com//blog/killing-a-cow-made-my-json-formatter-42-percent-faster/", "published_at": "2026-05-05T00:00:00+00:00" }, { "id": "01a08789-aa20-7034-8d6c-8d1949f57472", "title": "How do formatters work?", "url": "https://jacobasper.com//blog/how-do-formatters-work/", "published_at": "2026-04-24T00:00:00+00:00" }, { "id": "01a08789-aa20-7034-8d6c-8d194a31e30c", "title": "LLMs don't own em dashes—I do", "url": "https://jacobasper.com//blog/llms-dont-own-em-dashes-i-do/", "published_at": "2026-01-25T00:00:00+00:00" }, { "id": "01a08789-aa20-7034-8d6c-8d194ae2ec27", "title": "How I read technical books and documentation", "url": "https://jacobasper.com//blog/how-i-read-technical-books-and-documentation/", "published_at": "2026-01-18T00:00:00+00:00" }, { "id": "01a08789-aa20-7034-8d6c-8d194b72581d", "title": "Committing to learning Go in 2026", "url": "https://jacobasper.com//blog/committing-to-learning-go-in-2026/", "published_at": "2026-01-16T00:00:00+00:00" }, { "id": "01a08789-aa20-7034-8d6c-8d194b9fb7ea", "title": "Rust's `'static` doesn't imply memory leaks", "url": "https://jacobasper.com//blog/rusts-static-doesnt-imply-memory-leaks/", "published_at": "2026-01-11T00:00:00+00:00" }, { "id": "01a08789-aa20-7034-8d6c-8d194c3c71c4", "title": "JSON WTF - Jacob Asper", "url": "https://jsonwtf.org/", "published_at": "2026-01-03T00:00:00+00:00" }, { "id": "01a08789-aa20-7034-8d6c-8d194cca2ca6", "title": "It takes 26 yottabytes of RAM to typecheck a union of Safe Integers", "url": "https://jacobasper.com//blog/it-takes-26-yottabytes-of-ram-to-typecheck-a-union-of-safe-integers/", "published_at": "2025-08-21T00:00:00+00:00" }, { "id": "01a08789-aa20-7034-8d6c-8d194ce5b9af", "title": "TypeScript Type Level Addition", "url": "https://jacobasper.com//blog/type-level-addition/", "published_at": "2025-05-17T00:00:00+00:00" }, { "id": "01a08789-aa20-7034-8d6c-8d194da41970", "title": "IIFEs — a JavaScript Idiom of Yore", "url": "https://jacobasper.com//blog/iifes-a-javascript-idiom-of-yore/", "published_at": "2025-03-13T00:00:00+00:00" }, { "id": "01a08789-aa20-7034-8d6c-8d194e1e008e", "title": "JavaScript Holes and Tolls (on performance)", "url": "https://jacobasper.com//blog/javascript-holes-and-tolls/", "published_at": "2025-02-21T00:00:00+00:00" }, { "id": "01a08789-aa20-7034-8d6c-8d194eddfac1", "title": "Upgrading to Tailwind v4", "url": "https://jacobasper.com//blog/upgrading-to-tailwind-v4/", "published_at": "2025-02-01T00:00:00+00:00" }, { "id": "01a08789-aa20-7034-8d6c-8d194fbd8885", "title": "We should replace FIFA with a bunch of roundabouts", "url": "https://jacobasper.com//blog/we-should-replace-fifa-with-a-bunch-of-roundabouts/", "published_at": "2025-01-19T00:00:00+00:00" }, { "id": "01a08789-aa20-7034-8d6c-8d195041ea04", "title": "Do It", "url": "https://jacobasper.com//blog/do-it/", "published_at": "2024-12-31T00:00:00+00:00" }, { "id": "01a08789-aa20-7034-8d6c-8d1950a0b46c", "title": "Detail Oriented? I Will Atomize Your Resume", "url": "https://jacobasper.com//blog/detail-oriented-i-will-atomize-your-resume/", "published_at": "2024-09-22T00:00:00+00:00" }, { "id": "01a08789-aa20-7034-8d6c-8d19519479bb", "title": "Variables in Rust - Rust for TypeScript Developers", "url": "https://jacobasper.com//blog/variables-in-rust/", "published_at": "2023-02-12T00:00:00+00:00" }, { "id": "01a08789-aa20-7034-8d6c-8d19520a1871", "title": "Pulling changes from forked repositories", "url": "https://jacobasper.com//blog/pulling-changes-from-forked-repositories/", "published_at": "2022-12-30T00:00:00+00:00" }, { "id": "01a08789-aa20-7034-8d6c-8d195298d798", "title": "Implement `Pick` in TypeScript", "url": "https://jacobasper.com//blog/implement-pick-in-typescript/", "published_at": "2022-12-22T00:00:00+00:00" } ] posts Claim your blog
Back to jacobasper.com
Blog · corpus.blog/blogs/jacobasper.com/posts

jacobasper.com

jacobasper.com

2026

2025

2024

2023

2022