41554 blogs · [ { "id": "01a0878f-ed99-7022-a1b2-014554258e0c", "title": "The 80% Problem: The Last 20% Is Where the Engineer Used to Live", "url": "https://www.jonathanbeard.io/blog/2026/06/27/the-80-percent-problem.html", "published_at": "2026-06-27T00:00:00+00:00" }, { "id": "01a0878f-ed99-7022-a1b2-01455472b09d", "title": "AI Is the Ultimate Leaky Abstraction", "url": "https://www.jonathanbeard.io/blog/2026/06/20/ai-the-ultimate-leaky-abstraction.html", "published_at": "2026-06-20T00:00:00+00:00" }, { "id": "01a0878f-ed99-7022-a1b2-014554f5c0f5", "title": "Why More Cores Stopped Saving Us", "url": "https://www.jonathanbeard.io/blog/2026/06/19/more-cores-stopped-saving-us.html", "published_at": "2026-06-19T00:00:00+00:00" }, { "id": "01a0878f-ed99-7022-a1b2-0145551ec32e", "title": "An Abstraction Is Lossless Only If It's Context-Free", "url": "https://www.jonathanbeard.io/blog/2026/06/13/lossless-abstractions.html", "published_at": "2026-06-13T00:00:00+00:00" }, { "id": "01a0878f-ed99-7022-a1b2-01455551d1ef", "title": "Every Abstraction Is a Debt You Haven't Been Billed For Yet", "url": "https://www.jonathanbeard.io/blog/2026/06/12/abstraction-debt.html", "published_at": "2026-06-12T00:00:00+00:00" }, { "id": "01a0878f-ed99-7022-a1b2-01455635a5f6", "title": "I Bought a Camera for a Photo Booth. Now I Photograph Llamas.", "url": "https://www.jonathanbeard.io/blog/2026/06/11/vintage-glass-and-llamas.html", "published_at": "2026-06-11T00:00:00+00:00" }, { "id": "01a0878f-ed99-7022-a1b2-0145567377d5", "title": "I Spent Years on How Machines Coordinate. Then I Started Thinking About Us.", "url": "https://www.jonathanbeard.io/blog/2026/06/10/machines-then-us.html", "published_at": "2026-06-10T00:00:00+00:00" }, { "id": "01a0878f-ed99-7022-a1b2-0145570acfd5", "title": "Managing Parallel, Part 4: The Machine Underneath", "url": "https://www.jonathanbeard.io/blog/2026/06/06/managing-parallelism-part-4.html", "published_at": "2026-06-06T09:05:00+00:00" }, { "id": "01a0878f-ed99-7022-a1b2-014557199f34", "title": "Cross-Platform Home Storage: NFS, SMB, and the UID Trap", "url": "https://www.jonathanbeard.io/blog/2026/06/06/cross-platform-home-storage-nfs-smb.html", "published_at": "2026-06-06T09:03:00+00:00" }, { "id": "01a0878f-ed99-7022-a1b2-014557fd9018", "title": "Managing Parallel, Part 3: When Parallel Goes Wrong", "url": "https://www.jonathanbeard.io/blog/2026/06/06/managing-parallelism-part-3.html", "published_at": "2026-06-06T09:00:00+00:00" }, { "id": "01a0878f-ed99-7022-a1b2-014558300a55", "title": "Managing Parallel, Part 2: To thread or not to thread", "url": "https://www.jonathanbeard.io/blog/2017/08/14/managing-parallelism-part-2.html", "published_at": "2017-08-14T00:00:00+00:00" }, { "id": "01a0878f-ed99-7022-a1b2-014559169d3b", "title": "Using C++ Functions and Objects from C", "url": "https://www.jonathanbeard.io/blog/2016/11/20/using-cpp-from-c.html", "published_at": "2016-11-20T00:00:00+00:00" }, { "id": "01a0878f-ed99-7022-a1b2-014559e80461", "title": "Managing Parallel, Part 1: Queueing, Work, Oh My!", "url": "https://www.jonathanbeard.io/blog/2016/09/04/managing-parallelism.html", "published_at": "2016-09-04T00:00:00+00:00" }, { "id": "01a0878f-ed99-7022-a1b2-01455a41cc74", "title": "C++ Template Functions Based On Type Size Substitution Failure", "url": "https://www.jonathanbeard.io/blog/2016/04/01/template-type-sizing.html", "published_at": "2016-04-01T00:00:00+00:00" }, { "id": "01a0878f-ed99-7022-a1b2-01455ac28989", "title": "Hosting pages with GitHub, and More", "url": "https://www.jonathanbeard.io/blog/2015/12/08/github-pages-and-more.html", "published_at": "2015-12-08T00:00:00+00:00" }, { "id": "01a0878f-ed99-7022-a1b2-01455b2e6515", "title": "Secure Language", "url": "https://www.jonathanbeard.io/blog/2015/10/27/secure-language.html", "published_at": "2015-10-27T00:00:00+00:00" }, { "id": "01a0878f-ed99-7022-a1b2-01455bb364bf", "title": "Data Wrangling", "url": "https://www.jonathanbeard.io/blog/2015/10/22/data-wrangling.html", "published_at": "2015-10-22T00:00:00+00:00" }, { "id": "01a0878f-ed99-7022-a1b2-01455c99576d", "title": "A short intro to stream processing", "url": "https://www.jonathanbeard.io/blog/2015/09/19/streaming-and-dataflow.html", "published_at": "2015-09-19T00:00:00+00:00" }, { "id": "01a0878f-ed99-7022-a1b2-01455cfec8fd", "title": "Do We Need More Programming Languages", "url": "https://www.jonathanbeard.io/blog/2015/09/15/do-we-need-more-programming-languages.html", "published_at": "2015-09-15T00:00:00+00:00" }, { "id": "01a0878f-ed99-7022-a1b2-01455d796e90", "title": "C to Java Inter-Process Communication Examples", "url": "https://www.jonathanbeard.io/blog/2015/08/30/c-to-java-ipc.html", "published_at": "2015-08-30T00:00:00+00:00" }, { "id": "01a0878f-ed99-7022-a1b2-01455e075e56", "title": "Flex and Bison in C++, a short example", "url": "https://www.jonathanbeard.io/blog/2015/08/30/flex-bison-cpp.html", "published_at": "2015-08-30T00:00:00+00:00" }, { "id": "01a0878f-ed99-7022-a1b2-01455e8dab1e", "title": "All About System Timing", "url": "https://www.jonathanbeard.io/blog/2015/01/07/system-timing.html", "published_at": "2015-01-07T00:00:00+00:00" } ] posts Claim your blog
Back to jonathanbeard.io
Blog · corpus.blog/blogs/jonathanbeard.io/posts

jonathanbeard.io

jonathanbeard.io

2026

2017

2016

2015