Russell Duhon's Software Development Writings

Traditional sporadic software developer blogging. I'm currently looking for a new position, hire me. I am also available for consulting on software design and development, increasing developer productivity on small development teams, and reducing friction between development teams and business teams.

Blog

Introducing pgdmn: DMN in the database

I made an open source PostgreSQL extension for executing business rules in PostgreSQL. Have business teams own and audit business rules, then execute them directly in your database without needing to translate them into code first.

Beautiful SQL Templates in PostgreSQL with PL/Rust and minijinja

Going directly from SQL to structured text like HTML is really useful if you want to use frameworks like HTMX alongside backends like PostgREST, but databases don't have great text-formatting capabilities. Luckily, now that PL/Rust is available, Rust template frameworks like minijinja are available in PostgreSQL. This post shows how to use minijinja to return HTML directly from PostgreSQL.

Testing Algorithms for Data Structures: Binary Tree in Python

What makes a satisfying test for in-place traversal of a binary tree? Using a Python example based on a common interview live coding question, see how Hypothesis can greatly increase confidence in code dealing with fundamental data structures.

Why is WebAssembly interesting?

What are the strategically interesting things that WebAssembly makes feasible? Oh, and what does it have to do with Python?

Quick Tip for Static Perseus Websites

Using main_export and the right CLI commands for static Perseus.

Writing a Static Site with Rust and Perseus

The basics of defining pages, making templates, and filling them with data, all using Rust that gets turned into WebAssembly.

Property-based Testing from Scratch (in Python)

Writing a property-based test with no framework to understand how they work, and how they're useful for general application programming.

Muddled (Property-based) Tests

Writing really really good tests for a real world data transformation problem.

Messily Thinking Pythonically

I attempt to narrate my thought process solving a data transformation problem.