<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Roderick Green</title>
		<link>https://roderickgreen.com/</link>
		<description>Recent content on Roderick Green</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
		
			<lastBuildDate>Fri, 28 Aug 2026 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://roderickgreen.com/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Fast poker hand evaluation via hardware synthesis and bitslicing</title>
				<link>https://roderickgreen.com/posts/fast-poker-hand-eval/</link>
				<pubDate>Fri, 28 Aug 2026 00:00:00 +0000</pubDate>
				<guid>https://roderickgreen.com/posts/fast-poker-hand-eval/</guid>
				<description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction &lt;a class=&#34;anchor&#34; href=&#34;#introduction&#34; aria-label=&#34;Link to this section&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;This is a post about writing fast software in a roundabout way. Starting from a function definition, we define and synthesize a hardware circuit that implements it. Then we optimize the circuit using hardware minimizers, and finally generate code from the minimized circuit. I started initial work on this project years ago while computing some random poker hand statistics. I got interested in what made hand evaluators fast and how to make them faster. I put it back down before making much progress. With the arrival of Claude I can pick a few of these projects back up and bring one or two to life.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
