<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Aaron J Epel</title><description>The personal website of Aaron J Epel</description><link>https://www.ajepel.com/</link><item><title>Counting chickens before they hatch</title><link>https://www.ajepel.com/blog/counting_chickens/</link><guid isPermaLink="true">https://www.ajepel.com/blog/counting_chickens/</guid><description>I took much longer than I expected to post part 3 of my MLflow series. Why?</description><pubDate>Thu, 26 Jun 2025 00:00:00 GMT</pubDate></item><item><title>Book reaction: How Big Things Get Done</title><link>https://www.ajepel.com/blog/how_big_things_get_done/</link><guid isPermaLink="true">https://www.ajepel.com/blog/how_big_things_get_done/</guid><description>My reaction to Bent Flyvbjerg and Dan Gardner&apos;s account of what influences the outcome of all sorts of projects, and what lessons I took away from it.</description><pubDate>Wed, 28 May 2025 00:00:00 GMT</pubDate></item><item><title>The start of something new</title><link>https://www.ajepel.com/blog/new_site/</link><guid isPermaLink="true">https://www.ajepel.com/blog/new_site/</guid><description>My first post here - why I&apos;m finally setting up a personal website.</description><pubDate>Tue, 13 May 2025 00:00:00 GMT</pubDate></item><item><title>Building a Large Language Model from scratch, part 1</title><link>https://www.ajepel.com/blog/llm_from_scratch_part_1/</link><guid isPermaLink="true">https://www.ajepel.com/blog/llm_from_scratch_part_1/</guid><description>Tackling Sebastian Raschka&apos;s hands-on guide to how GPT-like large language models actually work.</description><pubDate>Tue, 29 Jul 2025 00:00:00 GMT</pubDate></item><item><title>Building a Large Language Model from scratch, part 2</title><link>https://www.ajepel.com/blog/llm_from_scratch_part_2/</link><guid isPermaLink="true">https://www.ajepel.com/blog/llm_from_scratch_part_2/</guid><description>Diving deeper into Sebastian Rauschka&apos;s unpacking of the self-attention mechanism, step by step.</description><pubDate>Wed, 30 Jul 2025 00:00:00 GMT</pubDate></item><item><title>Building a Large Language Model from scratch, part 4</title><link>https://www.ajepel.com/blog/llm_from_scratch_part_4/</link><guid isPermaLink="true">https://www.ajepel.com/blog/llm_from_scratch_part_4/</guid><description>Let&apos;s actually train the foundational GPT model from Rauschka&apos;s how-to guide.</description><pubDate>Tue, 05 Aug 2025 00:00:00 GMT</pubDate></item><item><title>Building a Large Language Model from scratch, part 3</title><link>https://www.ajepel.com/blog/llm_from_scratch_part_3/</link><guid isPermaLink="true">https://www.ajepel.com/blog/llm_from_scratch_part_3/</guid><description>Putting the GPT architecture together in a continued walkthrough of Rauschka&apos;s how-to book.</description><pubDate>Thu, 31 Jul 2025 00:00:00 GMT</pubDate></item><item><title>Building a Large Language Model from scratch, part 5</title><link>https://www.ajepel.com/blog/llm_from_scratch_part_5/</link><guid isPermaLink="true">https://www.ajepel.com/blog/llm_from_scratch_part_5/</guid><description>Fine-tuning the LLM for specific tasks, in a final look at Rauschka&apos;s guide to the inner workings of a GPT.</description><pubDate>Wed, 06 Aug 2025 00:00:00 GMT</pubDate></item><item><title>Habeas: fun with secret court orders and web services</title><link>https://www.ajepel.com/blog/habeas/</link><guid isPermaLink="true">https://www.ajepel.com/blog/habeas/</guid><description>Building a prototype service for secret court order accountability, partly as a refresher on Flask.</description><pubDate>Wed, 09 Jul 2025 00:00:00 GMT</pubDate></item><item><title>Reflections on setting up a personal site</title><link>https://www.ajepel.com/blog/new_site_retro/</link><guid isPermaLink="true">https://www.ajepel.com/blog/new_site_retro/</guid><description>How did it go? Pretty smoothly - and I learned a lot, especially from where I encountered friction!</description><pubDate>Mon, 19 May 2025 00:00:00 GMT</pubDate></item><item><title>Let&apos;s explore MLflow, part 2: the demo problem</title><link>https://www.ajepel.com/blog/mlflow_part_2/</link><guid isPermaLink="true">https://www.ajepel.com/blog/mlflow_part_2/</guid><description>How easy is it to get started with MLflow locally? In the second part in a series, I define the demo project for testing.</description><pubDate>Fri, 06 Jun 2025 00:00:00 GMT</pubDate></item><item><title>Let&apos;s explore MLflow, part 1: initial setup</title><link>https://www.ajepel.com/blog/mlflow_part_1/</link><guid isPermaLink="true">https://www.ajepel.com/blog/mlflow_part_1/</guid><description>How easy is it to get started with MLflow locally? The first part in a series where I walk through the docs and use it for a demo project.</description><pubDate>Fri, 30 May 2025 00:00:00 GMT</pubDate></item><item><title>Self-hosting Matrix: the quickstart</title><link>https://www.ajepel.com/blog/self_hosting_matrix/</link><guid isPermaLink="true">https://www.ajepel.com/blog/self_hosting_matrix/</guid><description>I wanted to set up a small social media service for friends and family. How hard could it be?</description><pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Let&apos;s explore MLflow, part 3: applying MLflow</title><link>https://www.ajepel.com/blog/mlflow_part_3/</link><guid isPermaLink="true">https://www.ajepel.com/blog/mlflow_part_3/</guid><description>The full, end-to-end demo of a forecasting experimental workflow using MLFlow.</description><pubDate>Wed, 25 Jun 2025 00:00:00 GMT</pubDate></item></channel></rss>