About Me

Welcome to Shallow Brook Software!

My name is Andrew Dailey and I’m an independent programmer from Des Moines, Iowa. I have a Bachelor of Science degree in Software Engineering from Iowa State University. I have multiple years of industry experience working a variety of positions including Linux system administration, Python-based ETL, and small-scale cluster automation. Software development is one of my primary hobbies and I tend to specialize in backend / systems programming.

I am proficient in Python and C and am currently honing my skills with Go and Rust. When it comes to writing C, I’ve spent plenty of time researching and testing the most effective way to achieve simple, cross-platform application builds. Most of the Makefiles for the C projects on my GitHub reflect this work. I also enjoy graphics-related programming when I find the time: both rasterization and ray-tracing.

Additionally, I have a large amount of experience automating tasks with Ansible. From initializing and setting up new servers to to installing, configuring, and maintaining clustered applications, I’ve used Ansible to solve a wide breadth of problems. I believe that the structure of an Ansible project is the most important factor to keeping things simple, flexible, and effective. As a result, I’ve developed useful strategies for defining relationships between playbooks and roles, delegating variables, and using custom filters to implement dynamic decision-making.

Shallow Brook Software

The name of this site is an homage to the old phrase “A shallow brook babbles the loudest”. I’ve tried to find a good way to bridge a metaphor between the phrase and my development beliefs but nothing ever really comes out of it. You could maybe try and link loudness to software complexity, I guess. I just like the phrase and think it makes for a simple and memorable name. I do believe that the steadily increasing complexity of software systems is a real problem for modern projects, however.

I dislike complexity and always strive to implement the simplest possible solutions to the problems I encounter. I admire the Unix philosophy of designing minimal, modular software. Coincidentally, I’ve come to associate simple, minimal websites to focused, powerful, and refined software. My two primary examples of this are zlib and libpng. It’s a bit of a weak connection but I appreciate it nonetheless.