Out of the frying pan...
MP 116: ...and into the fire, as the saying goes.
Note: I think this post was published yesterday, but not sent as an email to anyone. If you received this twice as an email, I apologize. Mostly Python just passed 5,000 subscribers, which required an update to my Ghost subscription. I believe that caused the newsletter to not go out yesterday.
There's a chapter of The Hobbit that's titled Out of the Frying-Pan into the Fire. It's the part where the travelers have escaped from the goblins, only to find themselves treed by wolves. I read The Hobbit in middle school, and that phrase has echoed in my mind ever since when things seem to go from bad to worse, or just plain bad to bad.
Last week I wrote about spending the weekend in the ICU recovering from a serious medical event. I had two days to recover after leaving the hospital. Then we got hit by a tropical storm, followed immediately by the remnants of hurricane Helene. The initial storm brought all the rivers to a flood stage, and all the rain from the hurricane fell on top of those flooded rivers and saturated mountains. Whole towns have disappeared.
We were lucky. Our house (a rental) was spared, and we just lost power and water. But nowhere in western North Carolina was truly spared. There are trees down all over our neighborhood, and on the way out as well. We only had a path out to the main road as quickly as we did because a fire truck got caught on our road early on by downed trees in the front, and snapped telephone poles behind it. Another truck was sent to cut that first one out, which gave us a way out as well.
We spent a couple days holed up at home, and then packed up enough to head to my in-laws' house in South Carolina. Needless to say, I'm not getting much technical work done this week. We are grateful to have the opportunity to escape the area for a bit; we'll head back later this week when power is restored, and when gas is available locally. If you're curious to see a bit more about the last few days, I wrote a brief Mastodon thread about what we saw in our neighborhood.
I wanted to share a few of the passing thoughts I've had related to programming over the last couple weeks. These aren't forced thoughts just to tie this post to programming somehow. These are thoughts that come in the natural course of living through difficult times for a bit.
I've always loved the incredible variety of things that people can do with programming skills. Name an aspect of life, and I'm curious about what people build to make that part of life better. Last week in the hospital, I kept looking at all the devices that were used to keep me alive, and monitor my ongoing health and the health of others. Many of us reassure ourselves that no one is going to die if we create a bug in our codebase. But there are people who work in areas where reliability and correctness is a matter of life and death. I'm really appreciative of the people willing to dive into work of that complexity, and that criticality.
I've also spent a lot of time thinking about the work that goes into managing electrical grids, and public resources. We had power longer than we expected through the initial phases of the storm, and it's coming back to many areas faster than expected. I'm old enough to remember when an outage in one part of town meant most of the town lost power. These days outages seem much more localized, and some utilities are really good at tracking outages and estimating fixes with a surprising degree of timeliness and reliability. Again, hats off to those who develop this kind of software and firmware. There's a lot riding on that code, and it's amazing to see the difference it makes in people's lives.
One of the questions people ask me most regularly is some variation of this: "I don't have any ideas for a side project. What should I build?" Most people can't design a medical device in their bedroom, but you can play around with the concepts. If you have a smartphone or smartwatch, download all your health data and write some code that explores that data. I have a draft post that I'll publish shortly about using smartwatch data to document a specific heart condition. If you like the idea of electrical grids, consider a project that models a resource, models users of that resource, and models delivery of that resource. That's a bit vague; if you like the idea but aren't sure how to get started, leave a comment and I'll articulate this challenge a bit more.
The bigger point is, it's easy to notice the software that makes our lives worse. Mobile ads are terrible, addictive apps are hurting children and adults, and online gambling is a scourge. But there are also endless examples of codebases that have made our lives more enjoyable, and made many of our lives possible. If you've started to develop programming skills but aren't sure where to apply them, look around and notice all the ways programming helps make the things you need and the things you enjoy possible. See if you can find a project that relates to those areas. Consider reaching out to someone who works in that area, and ask about the codebases and technical resources they use on a regular basis.
If you work in one of these areas, thank you for being willing to take on that responsibility. Fingers crossed, we'll get back to simple Python posts next week.