Sean Behan
Software developer building things for the web.
I build web applications — Rails and Postgres most days, though the writing here runs through Python, PHP, JavaScript, and Swift too. I've enjoyed something about all of them. It's the same craft underneath: the decisions that age well, the ones that don't, and what I learn in between.
Writing
All posts →-
What It Took to Deploy This Site with Kamal
One config file, two accessories, and a one-line deploy script — plus the two things that nearly shipped placeholder posts to a live site.
-
Running my site through an MCP server
The admin area of this site has a second front door: a Model Context Protocol server at POST /mcp. Here is what that takes in Rails — JSON-RPC over one route, a bearer token, and twenty tools that go through the same models as the browser.
-
How to Use the Ls Command on Linux or Mac OS X to Sort Files based on Second in the Timestamp
Here is the one liner. ls -lhtTr It will output something like total 24152 -rw-rw-r-- 1 sean staff 1.0M May 4 14:31:42 2019 4c2caf52cb084ea39a6a65a0e68ee382 -rw-rw-r-- 1 sean staff 1.0M May 4...
-
Super Simple Router for React Without Any Dependencies
Here is some very simple code to render React components dynamically without using a framework or routing library. It doesn't cover pushState and URL parsing, so in that sense it isn't a routing...
-
Rails Style Params in Python and Flask
Ruby on Rails does a great job of parsing arrays in form data and populating a params hash, for quick and easy access in your controllers. For instance <input name="item[]" value="item 1"/ <input...
Selected projects
All projects →- Free Todo List A todo list with no signup, no paid tier, and an MCP server so assistants can use it too. active