<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Heygrady</title><description>Professional blog of Grady Kuhnline</description><link>https://heygrady.com/</link><item><title>First launch: Firebase</title><link>https://heygrady.com/posts/2017-06-30-first-launch/</link><guid isPermaLink="true">https://heygrady.com/posts/2017-06-30-first-launch/</guid><description>I relaunched my blog on Firebase Hosting. The free tier on Firebase is perfect for single page web apps, like my Gatsby blog.</description><pubDate>Fri, 30 Jun 2017 11:15:30 GMT</pubDate></item><item><title>Migrating the old site</title><link>https://heygrady.com/posts/2017-06-30-migrating-old-site/</link><guid isPermaLink="true">https://heygrady.com/posts/2017-06-30-migrating-old-site/</guid><description>I needed to move my old site to a new domain and replace it with my new blog.</description><pubDate>Fri, 30 Jun 2017 12:42:35 GMT</pubDate></item><item><title>Updating my blog to Gatsby</title><link>https://heygrady.com/posts/2017-06-30-new-blog/</link><guid isPermaLink="true">https://heygrady.com/posts/2017-06-30-new-blog/</guid><description>I updated my old Octopress blog to Gatsby. My goal was to make it easier to post new content. Gatsby is interesting because it uses a modern React workflow.</description><pubDate>Fri, 30 Jun 2017 10:58:49 GMT</pubDate></item><item><title>Automatically deploying my blog with Travis</title><link>https://heygrady.com/posts/2017-07-02-deploying-travis/</link><guid isPermaLink="true">https://heygrady.com/posts/2017-07-02-deploying-travis/</guid><description>I configured Travis to test and deploy my blog every time I push new code to my master branch on Github.</description><pubDate>Sun, 02 Jul 2017 20:48:32 GMT</pubDate></item><item><title>Enable linting: eslint</title><link>https://heygrady.com/posts/2017-07-03-enable-linting/</link><guid isPermaLink="true">https://heygrady.com/posts/2017-07-03-enable-linting/</guid><description>I implemented eslint to show linting errors in my editor while I worked on my blog.</description><pubDate>Mon, 03 Jul 2017 11:59:28 GMT</pubDate></item><item><title>Upgrading Gatsby to 1.0</title><link>https://heygrady.com/posts/2017-07-06-upgrading-gatsby/</link><guid isPermaLink="true">https://heygrady.com/posts/2017-07-06-upgrading-gatsby/</guid><description>The latest version of Gatsby was somewhat different from the pre-1.0 release. I upgraded my blog manually from the old version to the new one.</description><pubDate>Thu, 06 Jul 2017 18:00:01 GMT</pubDate></item><item><title>Starting projects</title><link>https://heygrady.com/posts/2017-07-12-starting-projects/</link><guid isPermaLink="true">https://heygrady.com/posts/2017-07-12-starting-projects/</guid><description>I found myself needing to create lots of packages. I captured my notes for getting started on a new web package and getting it ready to publish to NPM.</description><pubDate>Wed, 12 Jul 2017 18:18:31 GMT</pubDate></item><item><title>Announcing fetch-actions</title><link>https://heygrady.com/posts/2017-07-17-announcing-fetch-actions/</link><guid isPermaLink="true">https://heygrady.com/posts/2017-07-17-announcing-fetch-actions/</guid><description>I am proud to announce the initial release of fetch-actions, a functional wrapper for fetch designed for integrating a remote API with a redux application.</description><pubDate>Mon, 17 Jul 2017 11:12:18 GMT</pubDate></item><item><title>Relaunching on Astro</title><link>https://heygrady.com/posts/2022-08-29-relaunching-on-astro/</link><guid isPermaLink="true">https://heygrady.com/posts/2022-08-29-relaunching-on-astro/</guid><description>Upgrading my blog from a very outdated version of Gatsby to Astro.</description><pubDate>Mon, 29 Aug 2022 23:40:29 GMT</pubDate></item><item><title>Creating a Yarn Monorepo in 2022</title><link>https://heygrady.com/posts/2022-09-01-creating-a-yarn-monorepo-in-2022/</link><guid isPermaLink="true">https://heygrady.com/posts/2022-09-01-creating-a-yarn-monorepo-in-2022/</guid><description>Setting up a productive monorepo with modern tooling.</description><pubDate>Thu, 01 Sep 2022 06:58:32 GMT</pubDate></item><item><title>Hexagonoids: Asteroids on a Sphere</title><link>https://heygrady.com/posts/2023-07-28-hexagonoids/</link><guid isPermaLink="true">https://heygrady.com/posts/2023-07-28-hexagonoids/</guid><description>Creating a game using BabylonJS and H3 and publishing it on Vercel.</description><pubDate>Fri, 28 Jul 2023 21:29:45 GMT</pubDate></item><item><title>Evolving Neural Networks in TypeScript</title><link>https://heygrady.com/posts/2025-10-29-evolving-neural-networks-in-type-script/</link><guid isPermaLink="true">https://heygrady.com/posts/2025-10-29-evolving-neural-networks-in-type-script/</guid><description>Introducing @neat-evolution, a modular implementation of NEAT in TypeScript.</description><pubDate>Wed, 29 Oct 2025 21:45:16 GMT</pubDate></item><item><title>Evolving a Tic Tac Toe AI In Your Browser</title><link>https://heygrady.com/posts/2025-12-01-evolving-a-tic-tac-toe-ai-in-your-browser/</link><guid isPermaLink="true">https://heygrady.com/posts/2025-12-01-evolving-a-tic-tac-toe-ai-in-your-browser/</guid><description>This is an experiment, implementing @neat-evolution in a real-world web app.</description><pubDate>Mon, 01 Dec 2025 18:56:05 GMT</pubDate></item></channel></rss>