Mitchell Hanberg's Blog
Using Agenix with devShells
Compiling C with Zig
Using Agenix with Home Manager
Getting Started with Agenix
Code BEAM America 2025
I've Joined the Official Elixir LSP Team
Validate and Transform Your Data with Schematic
Pet Peeves
Create Your Own Neovim Distribution
Modern Format on Save in Neovim
Ergonomic Remote Development
OTP Process Abstractions with proc_lib
Credo Language Server and the birth of elixir-tools
Introducing lazyasdf: An Elixir-based TUI for the asdf version manager
The Comprehensive Guide to Elixir's List Comprehension
How EEx Turns Your Template Into HTML
How I Handle Static Assets in my Phoenix apps
How to Set Up Neovim for Elixir Development
Announcing Temple v0.6!
Temple, AST, and Protocols
How to Deploy a Phoenix App to Gigalixir in 20 Minutes
Better Terminal Git Diffs
CI/CD with Phoenix, GitHub Actions, and Gigalixir
Setting up my new computer
Introducing Temple: An elegant HTML library for Elixir and Phoenix
Implementing link following with OAuth
Tools I use for mobile web development
Experiment in the REPL
Tips for Reading More
Creating Responsive Popovers with Popper.js
Conducting Good Retrospectives
Reducers: Exploring State Management in React (Part 2)
How to use Elixir LS with Vim
Announcing PlanetEx: an open source blog aggregator written in Elixir
Elixir in Action: Book Review
How to Subscribe to SharePoint RSS Feeds Without NTLM Authentication
Metaprogramming Elixir: Book Review
Container Components: Exploring State Management in React (Part I)
Building with Elm at SEP:Makes
Integrate and Deploy React with Phoenix
Version Your Dotfiles for Great Good
Implementing API Authentication with Guardian in Phoenix
Scheduling Cron Jobs on Heroku with Ruby on Rails
Encoding Ecto Validation Errors in Phoenix 1.3
Installing Erlang and Elixir with asdf
Habits of Successful Projects
First Dive into Development for VR
Leaving Your Legacy
If You Don't Have Anything Valuable To Say... Say It Anyways