<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>John&#39;s Codes</title>
    <link>https://johns.codes/blog</link>
    <description>My ramblings on programming</description>
    <language>en-us</language>
    <managingEditor>johnreillymurray@gmail.com (John Murray)</managingEditor>
    <webMaster>johnreillymurray@gmail.com (John Murray)</webMaster>
    <lastBuildDate>Fri, 03 Apr 2026 00:00:00 GMT</lastBuildDate>
    <atom:link href="https://johns.codes/feed.xml" rel="self" type="application/rss+xml"/>
    
  <item>
    <guid>https://johns.codes/blog/making-a-type-checker-lsp-for-nix</guid>
    <title>Making a Type Checker/LSP for Nix</title>
    <link>https://johns.codes/blog/making-a-type-checker-lsp-for-nix</link>
    <description>Building a TypeScript-style type checker and LSP for Nix with algebraic subtyping and negation types</description>
    <pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate>
    <author>johnreillymurray@gmail.com (John Murray)</author>
    <category>nix</category><category>types</category>
  </item>
  <item>
    <guid>https://johns.codes/blog/aoc2024/nix/part02</guid>
    <title>Advent Of Code 2024 in Nix - Days 04-06</title>
    <link>https://johns.codes/blog/aoc2024/nix/part02</link>
    <description>trying to do advent of code in &quot;pure&quot; nix eval</description>
    <pubDate>Mon, 09 Dec 2024 04:27:04 GMT</pubDate>
    <author>johnreillymurray@gmail.com (John Murray)</author>
    <category>nix</category><category>advent-of-code</category>
  </item>
  <item>
    <guid>https://johns.codes/blog/aoc2024/nix/part01</guid>
    <title>Advent Of Code 2024 in Nix - Days 01-03</title>
    <link>https://johns.codes/blog/aoc2024/nix/part01</link>
    <description>trying to do advent of code in &quot;pure&quot; nix eval</description>
    <pubDate>Thu, 05 Dec 2024 14:11:26 GMT</pubDate>
    <author>johnreillymurray@gmail.com (John Murray)</author>
    <category>nix</category><category>advent-of-code</category>
  </item>
  <item>
    <guid>https://johns.codes/blog/making-a-chess-engine-in-zig</guid>
    <title>Making a Chess Engine in Zig</title>
    <link>https://johns.codes/blog/making-a-chess-engine-in-zig</link>
    <description>Learning zig by making a chess engine</description>
    <pubDate>Sun, 18 Aug 2024 21:17:20 GMT</pubDate>
    <author>johnreillymurray@gmail.com (John Murray)</author>
    <category>zig</category><category>chess</category><category>nix</category>
  </item>
  <item>
    <guid>https://johns.codes/blog/efficient-nix-derivations-with-file-sets</guid>
    <title>Efficient Nix Derivations with File Sets</title>
    <link>https://johns.codes/blog/efficient-nix-derivations-with-file-sets</link>
    <description>Using nix&#39;s new file set API to make efficient derivations</description>
    <pubDate>Sat, 02 Dec 2023 21:22:44 GMT</pubDate>
    <author>johnreillymurray@gmail.com (John Murray)</author>
    <category>nix</category><category>nix-pkgs</category><category>roc</category>
  </item>
  <item>
    <guid>https://johns.codes/blog/organizing-system-configs-with-nixos</guid>
    <title>Organizing system configs with NixOS</title>
    <link>https://johns.codes/blog/organizing-system-configs-with-nixos</link>
    <description>How I organize and manage my system and user configs with NixOS and homemanager</description>
    <pubDate>Mon, 09 Oct 2023 07:14:19 GMT</pubDate>
    <author>johnreillymurray@gmail.com (John Murray)</author>
    <category>NixOS</category><category>nix</category><category>guide</category><category>dotfiles</category>
  </item>
  <item>
    <guid>https://johns.codes/blog/exposing-a-rust-library-to-node-with-napirs</guid>
    <title>Exposing a Rust Library to Node with Napi-rs</title>
    <link>https://johns.codes/blog/exposing-a-rust-library-to-node-with-napirs</link>
    <description>Short guide/exploration on making native node addons with rust</description>
    <pubDate>Mon, 01 May 2023 17:21:59 GMT</pubDate>
    <author>johnreillymurray@gmail.com (John Murray)</author>
    <category>rust</category><category>node</category><category>typescript</category>
  </item>
  <item>
    <guid>https://johns.codes/blog/build-a-db/part03</guid>
    <title>Building a Simple DB in Rust - Part 3 - Less Basic Execution</title>
    <link>https://johns.codes/blog/build-a-db/part03</link>
    <description>Cleaning up existing execution logic</description>
    <pubDate>Tue, 04 Apr 2023 00:01:55 GMT</pubDate>
    <author>johnreillymurray@gmail.com (John Murray)</author>
    <category>rust</category><category>database</category><category>repl</category>
  </item>
  <item>
    <guid>https://johns.codes/blog/build-a-db/part02</guid>
    <title>Building a Simple DB in Rust - Part 2 - Basic Execution</title>
    <link>https://johns.codes/blog/build-a-db/part02</link>
    <description>Building a basic database in rust</description>
    <pubDate>Mon, 23 Jan 2023 14:01:22 GMT</pubDate>
    <author>johnreillymurray@gmail.com (John Murray)</author>
    <category>rust</category><category>database</category>
  </item>
  <item>
    <guid>https://johns.codes/blog/build-a-db/part01</guid>
    <title>Building a Simple DB in Rust - Part 1 - Parsing</title>
    <link>https://johns.codes/blog/build-a-db/part01</link>
    <description>building a basic database in rust</description>
    <pubDate>Mon, 02 Jan 2023 05:19:22 GMT</pubDate>
    <author>johnreillymurray@gmail.com (John Murray)</author>
    <category>rust</category><category>database</category><category>parsing</category>
  </item>
  <item>
    <guid>https://johns.codes/blog/building-typescript-node-apps-with-nix</guid>
    <title>Building Typescript Node Apps With Nix</title>
    <link>https://johns.codes/blog/building-typescript-node-apps-with-nix</link>
    <description>Trying some different nix builders for typescript node apps</description>
    <pubDate>Tue, 06 Sep 2022 23:57:55 GMT</pubDate>
    <author>johnreillymurray@gmail.com (John Murray)</author>
    <category>nix</category><category>typescript</category><category>node</category>
  </item>
  <item>
    <guid>https://johns.codes/blog/updating-a-package-in-nixpkgs</guid>
    <title>Making a PR to Nixpkgs</title>
    <link>https://johns.codes/blog/updating-a-package-in-nixpkgs</link>
    <description>My rough ramblings on how to contribute a small pr to Nixpkgs</description>
    <pubDate>Tue, 02 Aug 2022 03:43:05 GMT</pubDate>
    <author>johnreillymurray@gmail.com (John Murray)</author>
    <category>nix</category><category>rust</category>
  </item>
  <item>
    <guid>https://johns.codes/blog/type-safe-groupby-in-typescript</guid>
    <title>Type Safe GroupBy In TypeScript</title>
    <link>https://johns.codes/blog/type-safe-groupby-in-typescript</link>
    <description>Create a better groupBy function that only allows valid keys to be grouped on</description>
    <pubDate>Wed, 25 May 2022 00:00:00 GMT</pubDate>
    <author>johnreillymurray@gmail.com (John Murray)</author>
    <category>typescript</category><category>types</category><category>code</category><category>guide</category>
  </item>
  <item>
    <guid>https://johns.codes/blog/rust-enviorment-and-docker-build-with-nix-flakes</guid>
    <title>Rust Environment and Docker Build with Nix Flakes</title>
    <link>https://johns.codes/blog/rust-enviorment-and-docker-build-with-nix-flakes</link>
    <description>Reproducible dev environments and builds with Nix</description>
    <pubDate>Thu, 19 May 2022 00:00:00 GMT</pubDate>
    <author>johnreillymurray@gmail.com (John Murray)</author>
    <category>rust</category><category>nix</category><category>docker</category>
  </item>
  <item>
    <guid>https://johns.codes/blog/intermediate-typescript-generics-and-mapped-types</guid>
    <title>Intermediate Typescript: Generics and Mapped Types</title>
    <link>https://johns.codes/blog/intermediate-typescript-generics-and-mapped-types</link>
    <description>Useful applications of generics and mapped types</description>
    <pubDate>Mon, 31 Jan 2022 00:00:00 GMT</pubDate>
    <author>johnreillymurray@gmail.com (John Murray)</author>
    <category>Typescript</category><category>code</category><category>types</category><category>guide</category>
  </item>
  <item>
    <guid>https://johns.codes/blog/intermediate-typescript</guid>
    <title>Intermediate Typescript: Literals and Unions</title>
    <link>https://johns.codes/blog/intermediate-typescript</link>
    <description>Typescript patterns I have found to make your life easier in a big codebase</description>
    <pubDate>Tue, 25 Jan 2022 00:00:00 GMT</pubDate>
    <author>johnreillymurray@gmail.com (John Murray)</author>
    <category>Typescript</category><category>code</category><category>types</category><category>guide</category>
  </item>
  </channel>
</rss>