54,302 blogs · [ { "id": "01a0877b-e97b-72a4-a23a-7b98f1a63cc9", "title": "Design by Contract and effects are essential for LLM-generated code", "url": "https://gavinray97.github.io/blog/design-by-contract-and-effects-for-llms", "published_at": "2026-08-02T00:00:00+00:00" }, { "id": "01a0877b-e97b-72a4-a23a-7b98f22cd8b5", "title": "Building from Zero After Addiction, Prison, and a Felony", "url": "https://gavinray97.github.io/blog/building-from-zero-after-addiction-prison-felony", "published_at": "2026-06-07T00:00:00+00:00" }, { "id": "01a0877b-e97b-72a4-a23a-7b98f2f3ba21", "title": "The Race to Become the Context Layer for Agents", "url": "https://gavinray97.github.io/blog/the-race-for-universal-context-layer", "published_at": "2026-05-05T00:00:00+00:00" }, { "id": "01a0877b-e97b-72a4-a23a-7b98f34bebfd", "title": "Bypassing noexec with memfd_create(2)", "url": "https://gavinray97.github.io/blog/memfd-create-noexec", "published_at": "2026-03-01T00:00:00+00:00" }, { "id": "01a0877b-e97b-72a4-a23a-7b98f40965c4", "title": "Disposable Software: When generating code costs less than finding it", "url": "https://gavinray97.github.io/blog/llm-build-cheaper-than-searching", "published_at": "2026-02-28T00:00:00+00:00" }, { "id": "01a0877b-e97b-72a4-a23a-7b98f4b13f3e", "title": "The Absurdity of the term \"AI Engineer\"", "url": "https://gavinray97.github.io/blog/absurdity-of-ai-engineer-title", "published_at": "2026-02-22T00:00:00+00:00" }, { "id": "01a0877b-e97b-72a4-a23a-7b98f4cc2029", "title": "Experimenting with SQL:2023 Property-Graph Queries in Postgres 18", "url": "https://gavinray97.github.io/blog/postgres-sql-property-graphs", "published_at": "2025-07-19T00:00:00+00:00" }, { "id": "01a0877b-e97b-72a4-a23a-7b98f5bb05fd", "title": "Psychedelics as Tools: Reflections After 20+ Compounds and a Decade of Experiments", "url": "https://gavinray97.github.io/blog/perspectives-on-psychedelic-use", "published_at": "2025-07-12T00:00:00+00:00" }, { "id": "01a0877b-e97b-72a4-a23a-7b98f65fdf76", "title": "AI SQL Generation: Overcoming dialect-specific syntax errors", "url": "https://gavinray97.github.io/blog/overcoming-dialect-sql-generation-limits", "published_at": "2025-05-17T00:00:00+00:00" }, { "id": "01a0877b-e97b-72a4-a23a-7b98f6e5eb62", "title": "What good are Record Patterns in Java? An example based on Spark's Catalyst Optimizer and it's Tree Rewriting Rules", "url": "https://gavinray97.github.io/blog/what-good-are-record-patterns", "published_at": "2023-02-04T00:00:00+00:00" }, { "id": "01a0877b-e97b-72a4-a23a-7b98f71a021a", "title": "Building a PostgreSQL Wire Protocol Server using Vanilla, Modern Java 21", "url": "https://gavinray97.github.io/blog/postgres-wire-protocol-jdk-21", "published_at": "2023-01-16T00:00:00+00:00" }, { "id": "01a0877b-e97b-72a4-a23a-7b98f73ce3a8", "title": "Adding Design-by-Contract [[invariant]] conditions to C++, via a GCC plugin", "url": "https://gavinray97.github.io/blog/adding-invariant-to-cpp-design-by-contract", "published_at": "2022-12-31T00:00:00+00:00" }, { "id": "01a0877b-e97b-72a4-a23a-7b98f7d1988c", "title": "A Day Without a Copilot: Reflections on Copilot-Driven Development", "url": "https://gavinray97.github.io/blog/a-day-without-a-copilot", "published_at": "2022-12-05T00:00:00+00:00" }, { "id": "01a0877b-e97b-72a4-a23a-7b98f87c2449", "title": "Building a high-performance database buffer pool in Zig using io_uring's new fixed-buffer mode", "url": "https://gavinray97.github.io/blog/io-uring-fixed-bufferpool-zig", "published_at": "2022-10-14T00:00:00+00:00" }, { "id": "01a0877b-e97b-72a4-a23a-7b98f93e1687", "title": "Panama: Not-so-Foreign Memory. Using MemorySegment as a high-performance ByteBuffer replacement.", "url": "https://gavinray97.github.io/blog/panama-not-so-foreign-memory", "published_at": "2022-09-03T00:00:00+00:00" }, { "id": "01a0877b-e97b-72a4-a23a-7b98f9a9d401", "title": "Building a Query Expression Language in Kotlin, plus dynamic SQL Generation using jOOQ", "url": "https://gavinray97.github.io/blog/building-query-expression-lang-kotlin-sql-jooq", "published_at": "2022-03-19T00:00:00+00:00" } ] posts Claim your blog
Back to Blog - Gavin Ray
Blog · corpus.blog/blogs/gavinray97.github.io/posts

Blog - Gavin Ray

gavinray97.github.io

2026

2025

2023

2022