RSI and Software Development

Back in 2014, I started to experience repetitive stress injury (RSI) pain in my forearms and wrists. At the time, I’d moved from a hybrid “talk to people / type at a computer” type job to a job that was pretty much full-time “type at a computer.” The pain started to become pretty debilitating, and I even developed a ganglion cyst in one of my wrists. Things weren’t getting any better on their own so it was time to do something.

I’m definitely more of a “try to fix it yourself before resorting to expensive medical treatments” kind of guy, so I started doing some research, making some changes, and trying a few different things. Now, almost 10 years later, I’m completely pain-free so long as I stick to some good habits and use good tools. In the hopes that my learning will help others, here’s what helped me overcome RSI as a software developer.

DISCLAIMER: I am not a doctor, so please consult with yours before making any changes. The following is more a summary of my journey that you can hopefully use as a jumping off point for your own recovery and should not be taken as medical advice – use at your own risk.

Continue reading “RSI and Software Development”

Concerns in Ruby: Part 1: Concerning Concerns

I recently wrote a post for the Maxwell Engineering blog regarding best practices around using concerns (aka. modules or mix-ins) in Ruby. You can check out part one of the four-part series at the following link:

Concerns in Ruby: Part 1: Concerning Concerns

Enjoy!

Staying Hungry: Lessons from Josh Groban after 20 Years

In 2022, my wife and I had the privilege of seeing Josh Groban live in concert. This was actually the second of his concerts that we’ve been to, and both have been more than worth the price of admission.

What struck me as I sat there during this most-recent concert is that Josh has been doing this for over 20 years (“His self-titled debut album Josh Groban was released on November 20, 2001.” [source]), but he’s as passionate and dedicated as ever. As the concert progressed, I started asking myself, “How is this guy still so fired up after 20+ years of doing this? How has he been able to keep not only his dedication but his passion alive?”

I’m sure people could write entire books about this, but here are the observations I came away with about how to stay hungry 20+ years into your career.

Continue reading “Staying Hungry: Lessons from Josh Groban after 20 Years”

New Year’s & the Power of Mindset

In some ways, New Year’s is nothing more than a collective fantasy – we flip the page on a calendar or the date displayed by our phones now reads “Jan 1” and we all agree that this means that it’s now a “new year” and time for a “new start”. Maybe all of this is a bit arbitrary, but I don’t think that it necessarily follows that it’s unhelpful or meaningless to frame one date vs. another as “new.”

Continue reading “New Year’s & the Power of Mindset”

Rails 7: The Missing Instructions

Sadly, I had a lot of difficulty getting Rails 7 with Turbo and Stimulus up and running. The Rails docs feel like they’re missing a few steps, so I wanted to document the commands I needed to run to get Rails 7 with the hotwire.dev tooling up and running.

Continue reading “Rails 7: The Missing Instructions”

Best Practice: Code Like No One’s Watching

When writing code, it’s often easy to trigger the “freeze” response from the “fight, flight, freeze, or fawn” list of trauma responses.

“I bet I could make this SQL query more performant…”

“It feels like I could use a design pattern here…”

“This variable needs a better name…”

There are multiple issues at play here:

Continue reading “Best Practice: Code Like No One’s Watching”

The Single Best Piece of Productivity Advice I’ve Received

This advice came from a former employer who mentioned it during a team-wide productivity learning session. It’s not original to him, but it’s where I first heard it:

Continue reading “The Single Best Piece of Productivity Advice I’ve Received”

Ruby Paper Cuts

I love programming in Ruby and (especially) the Ruby on Rails framework. That said, they both have some oddities and conventions that leave me scratching my head, making me wonder what such smart people are thinking, and questioning the very nature of reality…you know, much like an episode of a Disney+ or CW show.

Continue reading “Ruby Paper Cuts”