<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://dcaustin33.github.io/</id><title>Derek Austin</title><subtitle>A minimal, responsive and feature-rich Jekyll theme for technical writing.</subtitle> <updated>2026-04-05T16:39:59-04:00</updated> <author> <name>Derek Austin</name> <uri>https://dcaustin33.github.io/</uri> </author><link rel="self" type="application/atom+xml" href="https://dcaustin33.github.io/feed.xml"/><link rel="alternate" type="text/html" hreflang="en" href="https://dcaustin33.github.io/"/> <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator> <rights> © 2026 Derek Austin </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>Poker RL: Building with GRPO</title><link href="https://dcaustin33.github.io/posts/poker-rl-building-with-grpo/" rel="alternate" type="text/html" title="Poker RL: Building with GRPO" /><published>2025-12-02T00:00:00-05:00</published> <updated>2026-03-17T19:34:49-04:00</updated> <id>https://dcaustin33.github.io/posts/poker-rl-building-with-grpo/</id> <content type="text/html" src="https://dcaustin33.github.io/posts/poker-rl-building-with-grpo/" /> <author> <name>Derek Austin</name> </author> <category term="Machine Learning" /> <category term="Reinforcement Learning" /> <summary>I wanted to see if I could take a small language model and teach it to play poker using reinforcement learning with verifiable rewards (RLVR). The idea is pretty simple: poker gives you a clear reward signal (you either win or lose chips), so why not let a model play thousands of hands and learn from the outcomes? I started by fine-tuning on high-quality poker datasets (PokerBench and Pluribus...</summary> </entry> <entry><title>The AI Research Deep Dive: An Agentic Podcast Pipeline</title><link href="https://dcaustin33.github.io/posts/ai-research-deep-dive-podcast/" rel="alternate" type="text/html" title="The AI Research Deep Dive: An Agentic Podcast Pipeline" /><published>2025-07-15T00:00:00-04:00</published> <updated>2025-07-15T00:00:00-04:00</updated> <id>https://dcaustin33.github.io/posts/ai-research-deep-dive-podcast/</id> <content type="text/html" src="https://dcaustin33.github.io/posts/ai-research-deep-dive-podcast/" /> <author> <name>Derek Austin</name> </author> <category term="Machine Learning" /> <category term="Agents" /> <summary>I read a decent amount of AI/ ML papers and wanted a way to consume on my way to work. I found that tools like NotebookLM that generate podcast-style audio tend to stay surface-level and I wanted something deeper. I wanted something that actually digs into the methodology, validates the results against the claimed contributions, and calls out limitations. So I built an agentic pipeline that tak...</summary> </entry> <entry><title>Zero-Shot Player Tracking in Tennis with Kalman Filtering</title><link href="https://dcaustin33.github.io/posts/zero-shot-player-tracking-tennis-kalman-filtering/" rel="alternate" type="text/html" title="Zero-Shot Player Tracking in Tennis with Kalman Filtering" /><published>2025-01-19T00:00:00-05:00</published> <updated>2026-03-17T19:34:49-04:00</updated> <id>https://dcaustin33.github.io/posts/zero-shot-player-tracking-tennis-kalman-filtering/</id> <content type="text/html" src="https://dcaustin33.github.io/posts/zero-shot-player-tracking-tennis-kalman-filtering/" /> <author> <name>Derek Austin</name> </author> <category term="Computer Vision" /> <category term="Tracking" /> <summary>I wanted to see if I could track tennis players from broadcast footage without labeling a single frame. Most sports tracking projects start with collecting labeled data and training a YOLO model, but GroundingDINO lets you skip all that by prompting an object detector with plain text like “a tennis player.” I paired it with a Kalman filter to smooth out the noisy detections and tested it on pub...</summary> </entry> <entry><title>A Python Engineer's Introduction to 3D Gaussian Splatting (Part 3)</title><link href="https://dcaustin33.github.io/posts/python-engineers-intro-to-3d-gaussian-splatting-part-3/" rel="alternate" type="text/html" title="A Python Engineer&amp;apos;s Introduction to 3D Gaussian Splatting (Part 3)" /><published>2024-07-18T00:00:00-04:00</published> <updated>2026-03-22T10:29:16-04:00</updated> <id>https://dcaustin33.github.io/posts/python-engineers-intro-to-3d-gaussian-splatting-part-3/</id> <content type="text/html" src="https://dcaustin33.github.io/posts/python-engineers-intro-to-3d-gaussian-splatting-part-3/" /> <author> <name>Derek Austin</name> </author> <category term="Computer Vision" /> <category term="3D Rendering" /> <summary>This is the final part of the series where we actually render an image. Part 1 covered projecting 3D points to 2D, Part 2 covered the Gaussian math and covariance projection. Now we take all of that and put pixels on screen. The rendering logic is honestly the simplest part of the whole pipeline. For each pixel, we iterate through splats in depth order and accumulate color until the pixel is s...</summary> </entry> <entry><title>GRAD-SUM: Scalable Automatic Prompt Engineering</title><link href="https://dcaustin33.github.io/posts/grad-sum-automatic-prompt-engineering/" rel="alternate" type="text/html" title="GRAD-SUM: Scalable Automatic Prompt Engineering" /><published>2024-07-12T00:00:00-04:00</published> <updated>2024-07-12T00:00:00-04:00</updated> <id>https://dcaustin33.github.io/posts/grad-sum-automatic-prompt-engineering/</id> <content type="text/html" src="https://dcaustin33.github.io/posts/grad-sum-automatic-prompt-engineering/" /> <author> <name>Derek Austin</name> </author> <category term="Machine Learning" /> <category term="NLP" /> <summary>Prompt engineering is a tedious and frankly annoying task: write a prompt, check the output, tweak the wording, and repeat without ever being confident it’ll generalize to thousands of situations. Existing methods for automating this are either tied to specific tasks with known answers or are too expensive to run in practice. I was primary author on this paper where we built GRAD-SUM to tackle ...</summary> </entry> </feed>
