Skip to Content

about blog contact

Hi! I’m Daniel.

photo of daniel

I live in Kansas City where I help run a small Christian church, raise three boys with my awesome wife, and write software for Divvy (acquired by

I run a lot of self-hosted software here at home on some machines that sit on an unnecessarily large server rack in my basement. I love building keyboards, too. I heavily customize my workflow and you can see how I set everything up with Nix if you like (or even my old dotfiles).

Occasionally, I post articles here.

Latest Blog Posts (RSS)

Learn Flakes the Fun Way
Posted on Jul 8 2024

This post is a Flake-based rewrite of Learn Nix the Fun Way on I really enjoyed the content of the post and wanted to write it as a Nix user who is just using and prefers Flakes. It does add a few extra steps and complexity, but I think it’s still valuable and perhaps reveals a bit more about Nix and why it’s pretty fantastic. I also include a few neat things that are more Flake-specific at the end.

But yes, it’s basically plagiarism.

Fetching Go Modules via `goproxy` Inside VPN
Posted on Feb 29 2024

I think I finally setup the holy grail of universally being able to fetch-by-proxy go modules through a firewall using

Things I Use
Posted on Jul 6 2023

I saw a post recently on ye ole fediverse that asked developers if they have a “uses” page and I was inspired to create mine. I wrote up just about everything I use on a weekly basis.

You can read about all the things I use here!

iex and dbg/1 without pry prompts
Posted on Jun 22 2023

I love iex -S mix ... but I usually don’t like when dbg asks me to pry. Just show me my data! Well, today I learned about iex --no-pry:

Teaching TypeScript to Help You with Events (Generically)
Posted on Jan 18 2022

I wanted my custom event system to have all the nice typed goodness and it took me a lot of brain-twisting and a couple of meetings to finally rubber duck it out. Now, I will share my hard-won knowledge with you!

Using Ecto Reflection for Simple Admin CRUD Forms in Elixir's Phoenix
Posted on Mar 28 2019

If you’re working on a Phoenix project, you probably realized the client might want to view (or even – gasp – edit!) their data in a pretty raw form. Frameworks like Django provide this out of the box. Phoenix, however, leaves this up to you!

Elm: Forms, Fields, and Abstractions
Posted on Mar 20 2019

If you’re using Elm, you’re probably dealing with forms and fields. You’re also probably wanting to do functional programming “right” and compose smaller functions together. Hopefully this helps!

Mirroring Gitea to Other Repository Management Services (GitHub, GitLab, etc.)
Posted on Mar 13 2019

I have a Gitea instance I self-host at home. I keep most of my repositories there, but I recognize that most other developers and potential employers will want to see my work on GitHub.

Weechat & Matrix Encryption Guide
Posted on Mar 7 2019

There’s a new-fangled Python WeeChat plugin that supports end-to-end encryption. This guide will walk you through what is currently a semi-annoying setup, as the entire project is still under heavy development.