| 1 | { |
| 2 | "posts": { |
| 3 | "src/content/post/spring-website-updates.mdx": { |
| 4 | "contentHash": "4b01a2e0242b9871f6e24636fe5709b3d087cf8e0ed19a49a2a6a99ed234aff6", |
| 5 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mkgvv37nsk2q", |
| 6 | "lastPublished": "2026-05-15T02:49:35.237Z", |
| 7 | "slug": "spring-website-updates" |
| 8 | }, |
| 9 | "src/content/post/building-personal-software-in-rust.mdx": { |
| 10 | "contentHash": "c82d099cf754dbfb0483d49ca5101e9089d86e88ced72128c8b8002a1fd245c5", |
| 11 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mjvh4pgklc2q", |
| 12 | "lastPublished": "2026-04-19T04:00:00.000Z", |
| 13 | "slug": "building-personal-software-in-rust" |
| 14 | }, |
| 15 | "src/content/post/indexing-standard-site.mdx": { |
| 16 | "contentHash": "965ec45ab4d5c04707bea03f2e46030b62d533010c5f10a0a684784501a2c0c0", |
| 17 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mji5ysxzfi2h", |
| 18 | "lastPublished": "2026-04-14T04:00:00.000Z", |
| 19 | "slug": "indexing-standard-site" |
| 20 | }, |
| 21 | "src/content/post/returning-to-neovim.mdx": { |
| 22 | "contentHash": "ec1b41fc347faea124c432c3aa0fec4e62893c9ad4c831be65a7393025a78699", |
| 23 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mh5mi4ngdd2h", |
| 24 | "lastPublished": "2026-03-16T04:00:00.000Z", |
| 25 | "slug": "returning-to-neovim" |
| 26 | }, |
| 27 | "src/content/post/back-to-basic.mdx": { |
| 28 | "contentHash": "6a92872196e984818644e247dfcedc637629c676115dfd8f9d94a83249399dd2", |
| 29 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mggpic7sdd2h", |
| 30 | "lastPublished": "2026-03-06T05:00:00.000Z", |
| 31 | "slug": "back-to-basic" |
| 32 | }, |
| 33 | "src/content/post/programmers-on-the-verge-of-extinction.mdx": { |
| 34 | "contentHash": "5e3228a5e64439ee60c5c050dac8eb92e61e436e18b0971ce403294e530186a3", |
| 35 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mfv2rjkplk2h", |
| 36 | "lastPublished": "2026-02-27T05:00:00.000Z", |
| 37 | "slug": "programmers-on-the-verge-of-extinction" |
| 38 | }, |
| 39 | "src/content/post/my-developer-journey.md": { |
| 40 | "contentHash": "49bace7b3b4c147edb9c05631652d0b39e3a8ba6bc6886988094f49e53793d04", |
| 41 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mdzvusmkjn2v", |
| 42 | "lastPublished": "2023-02-28T05:00:00.000Z", |
| 43 | "slug": "my-developer-journey" |
| 44 | }, |
| 45 | "src/content/post/48-hours-disconnected.mdx": { |
| 46 | "contentHash": "68439789addacc60f56c5537833a7a7af3603c7b31eb94a67e498556c60c3152", |
| 47 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mdzvusirgn2v", |
| 48 | "lastPublished": "2023-05-02T04:00:00.000Z", |
| 49 | "slug": "48-hours-disconnected" |
| 50 | }, |
| 51 | "src/content/post/why-i-learned-vim.mdx": { |
| 52 | "contentHash": "2cca56786780765264aee6b88b0b1fb6e5a527b64413b39f99170426907800c0", |
| 53 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mdzvurxbuf2v", |
| 54 | "lastPublished": "2024-01-05T05:00:00.000Z", |
| 55 | "slug": "why-i-learned-vim" |
| 56 | }, |
| 57 | "src/content/post/a-terminal-based-workflow.mdx": { |
| 58 | "contentHash": "af3f1e81963bd79bb457ef1f39279ac1296b4b1023864985d6ff6cc03b20e701", |
| 59 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mdzvurvdef2v", |
| 60 | "lastPublished": "2024-03-06T05:00:00.000Z", |
| 61 | "slug": "a-terminal-based-workflow" |
| 62 | }, |
| 63 | "src/content/post/leaving-neovim-for-zed.mdx": { |
| 64 | "contentHash": "3a3137e43bca53d25fe6776d6a7dc7981183818ff2ca64196973d4d45cde7a23", |
| 65 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mdzvurqlyn2v", |
| 66 | "lastPublished": "2024-08-16T04:00:00.000Z", |
| 67 | "slug": "leaving-neovim-for-zed" |
| 68 | }, |
| 69 | "src/content/post/building-a-guestbook-with-pglite-clerk-and-pinata.mdx": { |
| 70 | "contentHash": "5c4f20fe4803399413736294f15f2becc7499fa1ecbc95dc016d0f203f8f2c6e", |
| 71 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mdzvurhwnn2v", |
| 72 | "lastPublished": "2024-09-24T04:00:00.000Z", |
| 73 | "slug": "building-a-guestbook-with-pglite-clerk-and-pinata" |
| 74 | }, |
| 75 | "src/content/post/why-you-should-learn-jq-in-2024.mdx": { |
| 76 | "contentHash": "0e9b26031a628883754700efda0a7dec48a72fd2519f2949e4e98881864da00c", |
| 77 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mdzvurdwpv2v", |
| 78 | "lastPublished": "2024-10-12T04:00:00.000Z", |
| 79 | "slug": "why-you-should-learn-jq-in-2024" |
| 80 | }, |
| 81 | "src/content/post/vibe-coding-and-kodak-cameras.mdx": { |
| 82 | "contentHash": "43986b7c0b1501efb6f9e9a2e7af560fe6ff6d3ac232f0be79bd3256b0d5b3eb", |
| 83 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mdzvur3ysv2v", |
| 84 | "lastPublished": "2025-03-30T04:00:00.000Z", |
| 85 | "slug": "vibe-coding-and-kodak-cameras" |
| 86 | }, |
| 87 | "src/content/post/learning-rust-with-ai.mdx": { |
| 88 | "contentHash": "b0a73bd8748391d7c158aa7553263d00e9aba7292f6f2f331fab5b7b21c97eca", |
| 89 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mdzvuqzawf2v", |
| 90 | "lastPublished": "2025-07-11T04:00:00.000Z", |
| 91 | "slug": "learning-rust-with-ai" |
| 92 | }, |
| 93 | "src/content/post/the-meaning-of-life.mdx": { |
| 94 | "contentHash": "e21ec45efa25aaf09fcdafb2cd445cd36cd0fd46ca9779f04db315122aa7a937", |
| 95 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mdzvuqqzav2v", |
| 96 | "lastPublished": "2025-08-15T04:00:00.000Z", |
| 97 | "slug": "the-meaning-of-life" |
| 98 | }, |
| 99 | "src/content/post/turning-natspec-into-markdown-ui.mdx": { |
| 100 | "contentHash": "10de6adbe00094335735ae5feea4ecce54dda53b7d7296cf6d3cadc244731a2a", |
| 101 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mdzvuqmxen2v", |
| 102 | "lastPublished": "2025-08-31T04:00:00.000Z", |
| 103 | "slug": "turning-natspec-into-markdown-ui" |
| 104 | }, |
| 105 | "src/content/post/resurrect-the-old-web.mdx": { |
| 106 | "contentHash": "bf9d3913e7e19884675b125e96d9ead8fde5c14084b10252e5e6ac034b8c0d00", |
| 107 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mdzvuqbfav2v", |
| 108 | "lastPublished": "2026-05-15T02:49:36.334Z", |
| 109 | "slug": "resurrect-the-old-web" |
| 110 | }, |
| 111 | "src/content/post/when-ai-gives-the-ick.mdx": { |
| 112 | "contentHash": "6c8cec72f93d9cc10c98c8741fdd7a1b5c8a40f79f2ac5821f6a0e636267ec7c", |
| 113 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mdzvuq2x752v", |
| 114 | "lastPublished": "2026-06-01T12:28:34.949Z", |
| 115 | "slug": "when-ai-gives-the-ick" |
| 116 | }, |
| 117 | "src/content/post/programming-bowls.mdx": { |
| 118 | "contentHash": "3390a2dde7b324f62b325db04fa187a01a21cf635dc2283e6a89e2bb72afc9ef", |
| 119 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mdzvuposjn2v", |
| 120 | "lastPublished": "2025-10-16T04:00:00.000Z", |
| 121 | "slug": "programming-bowls" |
| 122 | }, |
| 123 | "src/content/post/concerning-omarchy-and-distro-philosophy.mdx": { |
| 124 | "contentHash": "8c597d97e15b3a503fd0d77a7789c76599c2f537b7e1be6a29627ee3b7af8c55", |
| 125 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mdzvupkguv2v", |
| 126 | "lastPublished": "2025-11-09T05:00:00.000Z", |
| 127 | "slug": "concerning-omarchy-and-distro-philosophy" |
| 128 | }, |
| 129 | "src/content/post/introducing-alcove.mdx": { |
| 130 | "contentHash": "27c4cca04508c69748c0e908db586f2fb411187ef5f2f22a0a7efd10c3252f77", |
| 131 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mdzvupi6mf2v", |
| 132 | "lastPublished": "2026-05-15T02:49:36.179Z", |
| 133 | "slug": "introducing-alcove" |
| 134 | }, |
| 135 | "src/content/post/how-gemini-gives-me-hope.mdx": { |
| 136 | "contentHash": "61a7207305c9e88a1f4da8f36bedfeb474852a1de3913f8f0d427f68cd1ab1ed", |
| 137 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mdzvupdcef2v", |
| 138 | "lastPublished": "2025-12-18T05:00:00.000Z", |
| 139 | "slug": "how-gemini-gives-me-hope" |
| 140 | }, |
| 141 | "src/content/post/2026-site-plans.mdx": { |
| 142 | "contentHash": "eab873c37ecc554a2e86edb1d1a7f8b1c59bd734079063ed85b7e0359eb64019", |
| 143 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mdzvup73lv2v", |
| 144 | "lastPublished": "2026-05-15T02:49:35.989Z", |
| 145 | "slug": "2026-site-plans" |
| 146 | }, |
| 147 | "src/content/post/using-atproto-for-posse.mdx": { |
| 148 | "contentHash": "bd866cc1c898e340ac492536e32ab1828d6f134ca8e4088ac8abd51d6b226e8a", |
| 149 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mdzvup2mzf2v", |
| 150 | "lastPublished": "2026-05-15T02:49:35.787Z", |
| 151 | "slug": "using-atproto-for-posse" |
| 152 | }, |
| 153 | "src/content/post/standard-site-the-publishing-gateway.mdx": { |
| 154 | "contentHash": "728dba6e10b855e233f29fdd8450cb81209c469889c29eba4c36481bb74fa224", |
| 155 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mdzvuovxm52v", |
| 156 | "lastPublished": "2026-05-15T02:49:35.607Z", |
| 157 | "slug": "standard-site-the-publishing-gateway" |
| 158 | }, |
| 159 | "src/content/post/atproto-starter.mdx": { |
| 160 | "contentHash": "a9503d1d76f357a0c8b7892949aaf2f76fec168ff3091f4c7996651be4ef80d4", |
| 161 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mcxxqjgspk26", |
| 162 | "lastPublished": "2026-01-21T05:00:00.000Z", |
| 163 | "slug": "atproto-starter" |
| 164 | }, |
| 165 | "src/content/post/introducing-sequoia.mdx": { |
| 166 | "contentHash": "82e9846c8d729674e3089d35d1d7a0169a9691a67d19485c83a91af633aa77ce", |
| 167 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mdzvuohmmn2v", |
| 168 | "lastPublished": "2026-05-15T02:49:35.401Z", |
| 169 | "slug": "introducing-sequoia" |
| 170 | }, |
| 171 | "src/content/post/wisdom-from-a-clear-pen.mdx": { |
| 172 | "contentHash": "f59c764f7110d22fc2dea4cac29de32adc9c886e523d2ababa5d3755d7a22b40", |
| 173 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3ml5jocdgdc2q", |
| 174 | "lastPublished": "2026-05-15T02:49:35.066Z", |
| 175 | "slug": "wisdom-from-a-clear-pen" |
| 176 | }, |
| 177 | "src/content/post/feeds.mdx": { |
| 178 | "contentHash": "827ebf0b0eabe6cb7d4f302f232dca2d0a65ff5abbb08c17765c0a34dbe6e429", |
| 179 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mlud3oypqs2q", |
| 180 | "lastPublished": "2026-05-15T02:49:34.555Z", |
| 181 | "slug": "feeds" |
| 182 | }, |
| 183 | "src/content/post/how-to-hate-ai.mdx": { |
| 184 | "contentHash": "797ad69f1c2ada30e0d4e4ea0621326ee91fb6af7f94651a91f5aa967a78e61f", |
| 185 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mmk4tz57tk2q", |
| 186 | "lastPublished": "2026-05-23T18:56:28.526Z", |
| 187 | "slug": "how-to-hate-ai" |
| 188 | }, |
| 189 | "src/content/post/api-calls-in-ios-shortcuts.mdx": { |
| 190 | "contentHash": "27c1dd88f40d25f3b717389708b44691e4cf777dfd6c5eec958a9538c961b102", |
| 191 | "atUri": "at://did:plc:ia2zdnhjaokf5lazhxrmj6eu/site.standard.document/3mna3eogq3c2y", |
| 192 | "lastPublished": "2026-06-01T12:28:34.548Z", |
| 193 | "slug": "api-calls-in-ios-shortcuts" |
| 194 | } |
| 195 | } |
| 196 | } |