About
I'm Nat Bennett, and this is my website.
Briefly: Software engineer, writer, Extreme Programmer, photographer, katamari-damacy ball of hobbies, people-loving introvert, Havanese caretaker, James C. Scott anarchist, seeker after "the quality without a name," Californian, Minnesotan, Coast Guard brat.
The main thing to do here is sign up for my newsletters
- Simpler Machines β weekly β software + meaning + whatever I got really into this week
- Mere Being β monthly β writing + art + food + (sometimes) sports
- Good Rectangles β photographs
I also make software. Right now I spend most of my time working on an application called StoryTime, a project management tool for small teams. I write a monthly newsletter about developing it.
The main thing that makes StoryTime complicated is that it enables real-time collaboration: Multiple people editing the same data structures simultaneously. It uses Elixir and Phoenix LiveView which makes solving this problem easier than most stacks but there's still some nuance to doing this correctly. If you have an application that requires real-time collaboration I would love to compare notesβ e-mail me at nat at this website.
Non-Linear Garden
My partner and I run a consulting company together. Here are the main things we're good at giving advice about, and have been paid to give advice about:
- Building and updating complicated applications that run somewhere that doesn't have the internet. Usually this involves an "appliance" and updates involve sending someone with a USB stick to plug into the appliance.
- Running software on old versions of Linuxβ generally because it's the only one that's been certified as usable wherever you've got that internet-less appliance running.
- How to manage Python dependencies, especially in the above situation, without tearing your hair out.
- Getting teams to self-organize successfully.
- Pairing, and especially getting yourself out of situations where the pairing feels kind of painful because one of the people you're pairing with doesn't seem fully engaged.
- Replacing parts of systems, while they're running, often under time pressure.
- Evaluating whether Concourse is a good fit for your workload, and teaching you enough about it to be dangerous.