Giving ORMs a chance

When you have to store and retrieve data from a database, do you choose to execute SQL statements yourself or do you use an object-relational mapper (ORM) to abstract away those calls completely? My answer to that question has been "SQL, obviously" my entire career; ORMs have historically…

Help Your Database Help Itself

The database is often the only stateful portion of a service. As such, software engineers rely on it for everything that asks "what did I say about this last time?" or "can you hold this for the next time I'm here?" Modern relational databases…

The Dangers of Tutorial Code

Sometimes the worst times make us reflect in productive ways. This holiday season as I coughed up a lung and sweat through 2 shirts a night, I stared angrily at the ceiling through several nights with thousands of thoughts a minute rolling through my head. Most related to my current…

Write Your Own Shell Prompt

Efficient and effective shell usage is maybe the greatest productivity multiplier for any developer, and it all starts with an effective prompt. There are tons of resources out there on how to build your own custom prompt, and more than a few tools that promise the best of prettiest layout.…

Even Simple Wordle Solvers are Pretty Good

You're likely pretty familiar with Pareto principle, even if you don't associate it with that name. It's often referred to as the 80-20 rule and describes the phenomenon that about 80% of results come from about 20% of the work. When prioritizing software projects,…

Don't Learn a Language with TDD

Last year I decided to try and learn the Rust programming language. It's been all the rage online (for good and bad reasons) and felt like something I should try out before passing judgment on. It was going to be the first language I learned after becoming a…

Solving Wordles with Grep

Wordle [https://www.powerlanguage.co.uk/wordle/] is one of the most popular word games on the internet right now. You get 6 guesses to figure out the daily 5 letter word, and each word you enter gives you clues about what letters are in the word and where they…

Balancing Personal Projects and Work

Go to any tech blog or forum and you'll see them sprinkled around everywhere. "My little side project", "been working on something like X for a bit", "this reminds me of a small tool I built for myself once". These might be…