41554 blogs · [ { "id": "01a08728-9834-71f2-a1df-aab399b7c56a", "title": "Don't Take the Black Pill (Text Adaptation)", "url": "https://andrewkelley.me/post/dont-take-black-pill.html", "published_at": "2026-07-31T17:59:33+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab39a214ebd", "title": "My Thoughts on the Bun Rust Rewrite", "url": "https://andrewkelley.me/post/my-thoughts-bun-rust-rewrite.html", "published_at": "2026-07-09T04:56:58+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab39b186ac2", "title": "Zig's New Async I/O (Text Version)", "url": "https://andrewkelley.me/post/zig-new-async-io-text-version.html", "published_at": "2025-10-29T18:44:33+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab39b6e8cd4", "title": "An Open Letter to Everyone I've Butted Heads With", "url": "https://andrewkelley.me/post/open-letter-everyone-butted-heads.html", "published_at": "2025-08-29T05:52:28+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab39b776b61", "title": "Renting is for Suckers", "url": "https://andrewkelley.me/post/renting-is-for-suckers.html", "published_at": "2025-07-24T19:04:14+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab39c2631a3", "title": "OpenZFS Bug Ported to Zig", "url": "https://andrewkelley.me/post/openzfs-bug-ported-zig.html", "published_at": "2025-07-14T18:31:28+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab39cc5d5bc", "title": "Zig's New CLI Progress Bar Explained", "url": "https://andrewkelley.me/post/zig-new-cli-progress-bar-explained.html", "published_at": "2024-05-30T03:27:38+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab39cceed1b", "title": "Redis Renamed to Redict", "url": "https://andrewkelley.me/post/redis-renamed-to-redict.html", "published_at": "2024-03-22T20:32:03+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab39d6e1f28", "title": "Why We Can't Have Nice Software", "url": "https://andrewkelley.me/post/why-we-cant-have-nice-software.html", "published_at": "2024-02-04T23:11:21+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab39d9f518f", "title": "The Techno-Optimist Manifesto", "url": "https://andrewkelley.me/post/the-techno-optimist-manifesto.html", "published_at": "2023-10-17T20:14:51+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab39da2d1ed", "title": "So Long, Twitter and Reddit", "url": "https://andrewkelley.me/post/goodbye-twitter-reddit.html", "published_at": "2023-08-23T22:05:07+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab39e2a272e", "title": "`zig cc`: a Powerful Drop-In Replacement for GCC/Clang", "url": "https://andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-gcc-clang.html", "published_at": "2020-03-24T14:39:47+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab39e3a8357", "title": "Why I'm donating $150/month (10% of my income) to the musl libc project", "url": "https://andrewkelley.me/post/why-donating-to-musl-libc-project.html", "published_at": "2019-06-24T20:15:06+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab39ef7bc8e", "title": "Using Zig to Provide Stack Traces on Kernel Panic for a Bare Bones Operating System", "url": "https://andrewkelley.me/post/zig-stack-traces-kernel-panic-bare-bones-os.html", "published_at": "2018-12-04T18:02:47+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab39f5b5a46", "title": "String Matching based on Compile Time Perfect Hashing in Zig", "url": "https://andrewkelley.me/post/string-matching-comptime-perfect-hashing-zig.html", "published_at": "2018-09-15T16:06:33+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab39fe2da39", "title": "I Quit My Cushy Job at OkCupid to Live on Donations to Zig", "url": "https://andrewkelley.me/post/full-time-zig.html", "published_at": "2018-06-07T14:20:30+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab3a06a7926", "title": "Zig: January 2018 in Review", "url": "https://andrewkelley.me/post/zig-january-2018-in-review.html", "published_at": "2018-02-11T06:54:50+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab3a0b81e51", "title": "Unsafe Zig is Safer Than Unsafe Rust", "url": "https://andrewkelley.me/post/unsafe-zig-safer-than-unsafe-rust.html", "published_at": "2018-01-24T20:17:36+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab3a16dec1c", "title": "Zig: December 2017 in Review", "url": "https://andrewkelley.me/post/zig-december-2017-in-review.html", "published_at": "2018-01-03T07:23:11+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab3a1ba502e", "title": "A Better Way to Implement Bit Fields", "url": "https://andrewkelley.me/post/a-better-way-to-implement-bit-fields.html", "published_at": "2017-02-17T00:43:53+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab3a2322400", "title": "Zig: Already More Knowable Than C", "url": "https://andrewkelley.me/post/zig-already-more-knowable-than-c.html", "published_at": "2017-02-14T04:49:59+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab3a28b5084", "title": "Zig Programming Language Blurs the Line Between Compile-Time and Run-Time", "url": "https://andrewkelley.me/post/zig-programming-language-blurs-line-compile-time-run-time.html", "published_at": "2017-01-30T08:19:59+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab3a2fe4bbe", "title": "Troubleshooting a Zig Regression with apitrace", "url": "https://andrewkelley.me/post/troubleshooting-zig-regression-apitrace.html", "published_at": "2017-01-17T23:25:58+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab3a300b383", "title": "Introduction to the Zig Programming Language", "url": "https://andrewkelley.me/post/intro-to-zig.html", "published_at": "2016-02-08T16:07:35+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab3a332b14a", "title": "Turn Your Raspberry Pi into a Music Player Server", "url": "https://andrewkelley.me/post/raspberry-pi-music-player-server.html", "published_at": "2014-06-20T00:58:08+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab3a41d3493", "title": "Laptop Review - Bonobo Extreme", "url": "https://andrewkelley.me/post/laptop-review-bonobo-extreme.html", "published_at": "2014-06-12T23:25:14+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab3a492a10d", "title": "My Quest to Build the Ultimate Music Player", "url": "https://andrewkelley.me/post/quest-build-ultimate-music-player.html", "published_at": "2014-04-22T17:39:04+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab3a4a8812f", "title": "Do Not Use bodyParser with Express.js", "url": "https://andrewkelley.me/post/do-not-use-bodyparser-with-express-js.html", "published_at": "2013-09-06T22:37:07+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab3a4caf858", "title": "JavaScript Callbacks are Pretty Okay", "url": "https://andrewkelley.me/post/js-callback-organization.html", "published_at": "2013-08-17T04:41:14+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab3a5bd2fa8", "title": "I am not a \"JavaScript Developer\".", "url": "https://andrewkelley.me/post/not-a-js-developer.html", "published_at": "2013-08-14T15:29:13+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab3a6129f75", "title": "7dRTS Game Reviews", "url": "https://andrewkelley.me/post/7drts-game-reviews.html", "published_at": "2013-07-30T09:54:32+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab3a6a6c830", "title": "Pillagers! 7dRTS Game Development Journal", "url": "https://andrewkelley.me/post/pillagers-7drts-game-dev-journal.html", "published_at": "2013-07-23T10:09:53+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab3a78592bb", "title": "Private Methods in JavaScript", "url": "https://andrewkelley.me/post/js-private-methods.html", "published_at": "2013-07-17T02:20:54+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab3a7d2702e", "title": "Spot the Fail", "url": "https://andrewkelley.me/post/spot-the-fail.html", "published_at": "2013-07-10T21:47:20+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab3a7fa5cbe", "title": "Statically Recompiling NES Games into Native Executables with LLVM and Go", "url": "https://andrewkelley.me/post/jamulator.html", "published_at": "2013-06-07T08:48:00+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab3a8e94633", "title": "Rapid Development Email Templates with Node.js", "url": "https://andrewkelley.me/post/swig-email-templates.html", "published_at": "2013-01-30T12:00:00+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab3a9358dc4", "title": "How to be Successful at PyWeek", "url": "https://andrewkelley.me/post/pyweek-success.html", "published_at": "2011-08-07T12:00:00+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab3aa07e306", "title": "John Muir Trail from the Perspective of Andrew Kelley", "url": "https://andrewkelley.me/post/jmt.html", "published_at": "2011-08-04T12:00:00+00:00" }, { "id": "01a08728-9834-71f2-a1df-aab3aac286ad", "title": "Lemming - PyWeek #12 Game Development Journal", "url": "https://andrewkelley.me/post/lemming-pyweek-12.html", "published_at": "2011-04-02T12:00:00+00:00" } ] posts Claim your blog
Back to Andrew Kelley
Blog · corpus.blog/blogs/andrewkelley.me/posts

Andrew Kelley

andrewkelley.me

2026

2025

2024

2023

2020

2019

2018

2017

2016

2014

2013

2011