56,966 blogs · [ { "id": "01a087d2-a73c-7129-9656-67a7539cb353", "title": "How I Use LLMs (Aug 2026)", "url": "https://www.reillywood.com/blog/how-i-use-llms-aug-2026/", "published_at": "2026-08-23T20:39:52+00:00" }, { "id": "01a087d2-a73d-738e-b750-bf3cf8bc5f50", "title": "Recently", "url": "https://www.reillywood.com/blog/recently-jul-2026/", "published_at": "2026-07-05T14:35:42+00:00" }, { "id": "01a087d2-a73d-738e-b750-bf3cf94d2728", "title": "A Hotel Union Is Trying to Stop New Hotels in Vancouver", "url": "https://www.reillywood.com/blog/unite-here-vancouver/", "published_at": "2026-06-17T07:00:00+00:00" }, { "id": "01a087d2-a73d-738e-b750-bf3cf9af79f8", "title": "2025 Retrospective", "url": "https://www.reillywood.com/blog/year-end-2025/", "published_at": "2025-12-28T19:13:42+00:00" }, { "id": "01a087d2-a73d-738e-b750-bf3cfa6e8a3a", "title": "What's MCP good for, anyway?", "url": "https://www.reillywood.com/blog/whats-mcp-good-for/", "published_at": "2025-12-27T03:27:57+00:00" }, { "id": "01a087d2-a73d-738e-b750-bf3cfafac742", "title": "Tool Calls Are Expensive And Finite", "url": "https://www.reillywood.com/blog/tool-calls-are-expensive-and-finite/", "published_at": "2025-09-19T01:49:43+00:00" }, { "id": "01a087d2-a73d-738e-b750-bf3cfbf7a8de", "title": "APIs don't make good MCP tools", "url": "https://www.reillywood.com/blog/apis-dont-make-good-mcp-tools/", "published_at": "2025-08-06T03:15:49+00:00" }, { "id": "01a087d2-a73d-738e-b750-bf3cfc86fa7c", "title": "Land Values and Affordability", "url": "https://www.reillywood.com/blog/land-value/", "published_at": "2025-06-27T03:02:19+00:00" }, { "id": "01a087d2-a73d-738e-b750-bf3cfcce2c0c", "title": "My encounter with evil SEO", "url": "https://www.reillywood.com/blog/dmca-fun/", "published_at": "2025-06-17T02:02:33+00:00" }, { "id": "01a087d2-a73d-738e-b750-bf3cfcdb406e", "title": "Agents all the way down", "url": "https://www.reillywood.com/blog/visualization-agent/", "published_at": "2025-06-11T01:28:48+00:00" }, { "id": "01a087d2-a73d-738e-b750-bf3cfdc0a55b", "title": "Function Calling is Structured Output", "url": "https://www.reillywood.com/blog/function-calling-is-structured-output/", "published_at": "2025-03-03T00:01:49+00:00" }, { "id": "01a087d2-a73d-738e-b750-bf3cfead6714", "title": "My latest attempt at collaborative text editing", "url": "https://www.reillywood.com/blog/automerge/", "published_at": "2025-01-12T22:02:41+00:00" }, { "id": "01a087d2-a73d-738e-b750-bf3cff5d69a1", "title": "Strength Training", "url": "https://www.reillywood.com/blog/strength-training/", "published_at": "2024-12-29T18:15:45+00:00" }, { "id": "01a087d2-a73d-738e-b750-bf3cffde6bdc", "title": "Goodbye, Twitter", "url": "https://www.reillywood.com/blog/goodbye-twitter/", "published_at": "2024-11-08T04:49:18+00:00" }, { "id": "01a087d2-a73d-738e-b750-bf3d00d36ada", "title": "How I Use LLMs (Sep 2024)", "url": "https://www.reillywood.com/blog/how-i-use-llms-sep-2024/", "published_at": "2024-09-15T15:13:36+00:00" }, { "id": "01a087d2-a73d-738e-b750-bf3d013f141c", "title": "Riley Donovan contributes to white supremacist websites", "url": "https://www.reillywood.com/blog/riley-donovan/", "published_at": "2024-08-29T00:44:51+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f1512162ecb", "title": "How I use LLMs", "url": "https://www.reillywood.com/blog/how-i-use-llms/", "published_at": "2024-08-02T02:46:02+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f151271a66f", "title": "Recently", "url": "https://www.reillywood.com/blog/recently-jul-2024/", "published_at": "2024-07-03T00:57:28+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f1512fb2faf", "title": "Work Update", "url": "https://www.reillywood.com/blog/work-update/", "published_at": "2024-03-02T00:15:52+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f151324d06d", "title": "My home-cooked software", "url": "https://www.reillywood.com/blog/home-cooked-software/", "published_at": "2024-01-06T05:42:28+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f151366d1bd", "title": "Recently", "url": "https://www.reillywood.com/blog/recently-aug-2023/", "published_at": "2023-08-22T03:26:41+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f151418c7cf", "title": "New Project: Escape Artist", "url": "https://www.reillywood.com/blog/escape-artist/", "published_at": "2023-04-23T18:03:55+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f15142faa2b", "title": "Vancouver Building Age Map", "url": "https://www.reillywood.com/blog/building-age-map/", "published_at": "2023-03-26T00:15:35+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f1514512408", "title": "Recently on reillywood.com", "url": "https://www.reillywood.com/blog/recently-website-mar-2023/", "published_at": "2023-03-06T06:39:25+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f1515146ac0", "title": "Why Nushell?", "url": "https://www.reillywood.com/blog/why-nu/", "published_at": "2023-02-04T20:25:26+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f1515715c13", "title": "Why does Vancouver have 895 zoning districts?", "url": "https://www.reillywood.com/blog/cd-zones/", "published_at": "2023-01-29T10:28:09+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f1516381d96", "title": "\"Requires the decision of the Director of Planning\"", "url": "https://www.reillywood.com/blog/director-of-planning/", "published_at": "2023-01-12T00:40:25+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f1516c009f0", "title": "Windows UI in 2022", "url": "https://www.reillywood.com/blog/windows-ui-frameworks/", "published_at": "2022-11-24T16:42:46+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f1517501409", "title": "S3 buckets and custom domains", "url": "https://www.reillywood.com/blog/s3-custom-domain/", "published_at": "2022-08-02T17:06:15+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f15180e9bbb", "title": "Recent Nushell/Rust Work", "url": "https://www.reillywood.com/blog/recently-may-2022/", "published_at": "2022-05-30T02:43:53+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f15190626a1", "title": "Rust in 2022", "url": "https://www.reillywood.com/blog/rust-thoughts/", "published_at": "2022-05-07T17:29:50+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f15193800f5", "title": "How to Make Rust CI 2-3x Faster", "url": "https://www.reillywood.com/blog/rust-faster-ci/", "published_at": "2022-04-30T22:14:43+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f1519eab2c3", "title": "Recently", "url": "https://www.reillywood.com/blog/recently-mar-2022-2/", "published_at": "2022-03-25T05:01:30+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f151aab54cf", "title": "Recently", "url": "https://www.reillywood.com/blog/recently-mar-2022-1/", "published_at": "2022-03-10T17:10:25+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f151b715025", "title": "Recently", "url": "https://www.reillywood.com/blog/recently-mar-2022/", "published_at": "2022-03-03T22:33:22+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f151ba8cc67", "title": "On The Road Again...", "url": "https://www.reillywood.com/blog/on-the-road-again/", "published_at": "2022-02-25T03:35:28+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f151c6f7e6e", "title": "Building .NET CLI Apps in 2022", "url": "https://www.reillywood.com/blog/dotnet-2022/", "published_at": "2022-02-11T23:51:44+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f151cad01ae", "title": "Pretending to be a Postgres server - Part 1", "url": "https://www.reillywood.com/blog/postgres-wire/", "published_at": "2022-01-30T23:34:49+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f151d450d28", "title": "Scripting in C#", "url": "https://www.reillywood.com/blog/scriptcompiler/", "published_at": "2022-01-29T01:15:29+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f151ddf2909", "title": "Blog.exe version 0.1", "url": "https://www.reillywood.com/blog/blog-exe-0_1/", "published_at": "2022-01-14T02:47:47+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f151e401bcb", "title": ".NET Hot Reload: Where Do We Go From Here?", "url": "https://www.reillywood.com/blog/hot-reload/", "published_at": "2022-01-12T19:18:31+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f151e94d51d", "title": "Recently", "url": "https://www.reillywood.com/blog/2021-update/", "published_at": "2021-03-14T18:15:38+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f151f56c673", "title": "Wat: a tiny CLI documentation tool", "url": "https://www.reillywood.com/blog/wat/", "published_at": "2020-02-18T18:38:54+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f15202c50c3", "title": "Vancouver Mapping Cheat Sheet", "url": "https://www.reillywood.com/blog/vancouver-map/", "published_at": "2020-02-03T04:44:38+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f152099416f", "title": "Immediate Feedback in Programming", "url": "https://www.reillywood.com/blog/inventing-on-principle/", "published_at": "2019-12-30T03:01:49+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f1520b0249b", "title": "What I've been up to: Nov-Dec 2019", "url": "https://www.reillywood.com/blog/december-2019/", "published_at": "2019-12-15T19:48:48+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f1520f67fc5", "title": "Stupid Rust Tricks", "url": "https://www.reillywood.com/blog/rust-todo/", "published_at": "2019-11-18T01:09:46+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f1521deab4b", "title": "Linux .NET Development in 2019", "url": "https://www.reillywood.com/blog/dotnet-linux/", "published_at": "2019-11-05T16:51:59+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f1522d6de8f", "title": "Open-Source Projects for Learning Modern C and C++", "url": "https://www.reillywood.com/blog/c-cpp-educational-projects/", "published_at": "2019-10-20T16:52:25+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f15235e9ad0", "title": "New Project: ETL Sheets", "url": "https://www.reillywood.com/blog/etl-sheets/", "published_at": "2019-10-15T14:32:49+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f1523f70954", "title": "Managing Postgres with Pulumi and Terraform", "url": "https://www.reillywood.com/blog/pulumi-postgres/", "published_at": "2019-09-19T20:52:18+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f1524441049", "title": "Future Imperfect 2.0", "url": "https://www.reillywood.com/blog/website-rewrite/", "published_at": "2019-09-14T00:00:00+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f15250f56ad", "title": "UI components: Angular vs React", "url": "https://www.reillywood.com/blog/angular-vs-react/", "published_at": "2019-09-09T00:00:00+00:00" }, { "id": "01a087d2-a73e-71ba-9546-1f1525f0d128", "title": "Relational Database History", "url": "https://www.reillywood.com/blog/db-papers/", "published_at": "2019-09-02T23:43:23+00:00" }, { "id": "01a087d2-a73f-71cd-8b7a-9ebf4e864417", "title": "Dark Mode on the Web", "url": "https://www.reillywood.com/blog/dark-mode/", "published_at": "2019-08-20T23:08:09+00:00" }, { "id": "01a087d2-a73f-71cd-8b7a-9ebf4eb3c6dc", "title": "I'm taking a sabbatical", "url": "https://www.reillywood.com/blog/sabbatical/", "published_at": "2019-08-14T00:00:00+00:00" }, { "id": "01a087d2-a73f-71cd-8b7a-9ebf4f406774", "title": "Quick T-SQL Regression Testing", "url": "https://www.reillywood.com/blog/regression-sql/", "published_at": "2019-06-11T01:40:45+00:00" }, { "id": "01a087d2-a73f-71cd-8b7a-9ebf4fdd3944", "title": "Tailwind CSS", "url": "https://www.reillywood.com/blog/tailwind/", "published_at": "2019-02-18T15:50:59+00:00" }, { "id": "01a087d2-a73f-71cd-8b7a-9ebf50567ca6", "title": "Pulumi for Cloud Infrastructure Management", "url": "https://www.reillywood.com/blog/pulumi-basics/", "published_at": "2018-08-07T23:03:34+00:00" }, { "id": "01a087d2-a73f-71cd-8b7a-9ebf51541551", "title": "The State of Serverless", "url": "https://www.reillywood.com/blog/serverless/", "published_at": "2018-05-23T05:00:43+00:00" }, { "id": "01a087d2-a73f-71cd-8b7a-9ebf51a61ea9", "title": "At First, Everyone Hated Vancouver's West End", "url": "https://www.reillywood.com/blog/west-end/", "published_at": "2018-04-27T04:09:28+00:00" }, { "id": "01a087d2-a73f-71cd-8b7a-9ebf51ff65e2", "title": "Land Use Visualization using Angular and the Canvas element", "url": "https://www.reillywood.com/blog/visualizers/", "published_at": "2018-03-11T01:50:34+00:00" }, { "id": "01a087d2-a73f-71cd-8b7a-9ebf52666bd3", "title": "AHV Letter Builder", "url": "https://www.reillywood.com/blog/housing-projects/", "published_at": "2018-02-20T02:53:59+00:00" }, { "id": "01a087d2-a73f-71cd-8b7a-9ebf52da9d89", "title": "Japanese Apartment Hunting", "url": "https://www.reillywood.com/blog/japanese-craigslist/", "published_at": "2018-01-26T05:10:33+00:00" }, { "id": "01a087d2-a73f-71cd-8b7a-9ebf53adcbcc", "title": "Databases as file formats", "url": "https://www.reillywood.com/blog/mbtiles-format/", "published_at": "2018-01-21T15:30:31+00:00" }, { "id": "01a087d2-a73f-71cd-8b7a-9ebf547eee7e", "title": "First!", "url": "https://www.reillywood.com/blog/first-post/", "published_at": "2018-01-20T00:00:00+00:00" }, { "id": "01a087d2-a73f-71cd-8b7a-9ebf55393677", "title": "Vancouver’s rocky start with secondary suites", "url": "https://www.reillywood.com/blog/secondary-suites/", "published_at": "2017-12-03T21:35:03+00:00" }, { "id": "01a087d2-a73f-71cd-8b7a-9ebf561c43f2", "title": "What Motivated Vancouver's First Zoning Codes?", "url": "https://www.reillywood.com/blog/vancouvers-first-zoning/", "published_at": "2017-06-17T16:07:48+00:00" } ] posts Claim your blog
Back to reillywood.com
Blog · corpus.blog/blogs/reillywood.com/posts

reillywood.com

reillywood.com

2026

2025

2024

2023

2022

2021

2020

2019

2018

2017