My musings on tech and life

Quiet Evenings With the Radio


It’s not every night where I can sit and work on random projects until 1 in the morning, and it’s not every night where I can spend time talking strategy with my friends about how I’m trying to solve some home automation thing.

Tonight’s project was getting one of my older radios back up and working again. It had been relegated to a random storage bin, and I’ve finally been able to get it out of the bin, work on things, and bring it back to life. It’s not in the best shape, location, or tune, but, these are things that I can solve with time.

Read more ⟶

I need to get better at writing blog posts.


So, we’re in 2025. I’ve been taking a bit of a social media hiatus, but, I’m still around. I’ve been doing a lot of work at my local makerspace, mainly learning things that are outside of my wheelhouse – ceramics, jewelry making, and printmaking. A lot of folks have been asking for advice on how to deal with things at the makerspace and while I’ve been helping and providing guidance the best that I can, I don’t really want to make the makerspace my ‘second job,’ nor do I want to work on things before I work on things…so, we’ll see how this goes.

Read more ⟶

Field Level Security (in rails) "Done Right"


I’m a huge proponent of believing that security shouldn’t be something that’s baked in after the fact – it’s something that should be all or nothing from day one. I realize that this is probably a wild and opinionated point of view, but, let me try to explain:

When your application starts out, user account security is usually one of the things that you think of last unless you’re utilizing a framework that has some type of tenant segregation in from day one. While security is usually brought into the product at some point after the core functionality of the MVP is introduced, this is the point in the development lifecycle that can really make or break your application: make the right choice: a library that is well maintained, well documented, and well-tested, and hope that it not only has the support of the community, but, pray that it doesn’t commercialize itself later down the road breaking your core functionality…or, roll your own. Rolling your own means ensuring that you’ve got a well-built set of definitions and goals for your authorization stack and that you’ve thought of everything your application needs from day one. Realizing that it’s a step in futility, most good engineers will try to add some things to your application to allow it to ‘future-proof’ the application, basically locking himself to be the ‘forever authz guy’ or worse, detrimental to your engineering team when that engineer leaves and all of that domain knowledge of the library or gem leaves after everyone on his team has left. (Oddly specific because I’ve lived through it. Twice). How do you solve for that? In my mind, that’s getting as close to the data as you can, and building forward from there. That’s where Soter comes in. Soter’s opinionated, secure by default, and easy to implement. Soter works on the belief that all data should be graded from the moment where it’s defined in the Model – if the model hasn’t been graded, then the data is unavailable to display to the user. Grading the data is mandatory, but, granting access is optional. You could have fields that could only be available to the application, prohibited by rules in being returned as a JSON or other object, keeping those fields secure by default.

Read more ⟶

Tabs, Windows, and Buffers in Vim


I move back and forth between neovim and vscode frequently, depending on the day of the week, which way the wind is blowing, and a litany of other things including how I feel like my system is behaving, even if that is something that is completely subjective. I found myself struggling to really grasp the keystrokes required to manage my split panes, so, this post is 50% education for you, and 50% a reminder for me.

Read more ⟶

Wednesdays With Aspen


You can totally tell when I’m depressed if you’re watching closely.

Yeah. Maybe I should move more when I'm depressed....

Yes. For those who are wondering, I did hit 10k steps today.

Aspen decided that we needed to go for a long walk today. Halfway through the walk – after she had tried to chase after a fox, a skunk, and a goose – she decided that she had enough walking, and loafed on the ground.

Read more ⟶