Bytes and Bikes

This is Steve Oxleyโ€™s website. Welcome!

I’m currently working on Nudgsicle.

Go to About to learn more about me. The latest posts from my microblog are listed below.

Microblog feed

I’m not a food blogger. I’m not into baking. But now that I have been diagnosed with celiac disease, I have figured out how to make (actually good) gluten-free bread at home, and if you’re like me, you might want to save some money and do it, too. Here’s the recipe: https://www.stevenoxley.com/blog/2025/03/27/go-to-gluten-free-bread/.

Mar 27, 2025 7:07 am

In Release It! chapter 3, Nygard makes distinctions between faults, errors, and failures:

“Triggering a fault opens the crack. Faults become errors, and errors provoke failures.. That’s how the cracks propagate.”

What do you think of these distinctions and this terminology for system failures?

#ReleaseItBookClub #ReleaseItBookClubChapter3

In the past, I have used these terms interchangeably. I suppose I mostly refer to errors. It may be handy to have more precise terms to describe these stages of failure.

Mar 26, 2025 6:44 am

Nygard states that “the major dangers to your system’s longevity are memory leaks and data growth.” Can you think of other major dangers to system longevity?

#ReleaseItBookClub #ReleaseItBookClubChapter3

I have the advantage of reading ahead - there’s a whole chapter on stability antipatterns - but I think it’s interesting that this statement focuses on data issues. I suppose compute-related failures are more obvious and visible: if you accidentally wrote code that contains an infinite loop or is otherwise inefficient it will be more readily caught in testing.

Mar 25, 2025 6:36 am

In chapter 3 of Release It! Nygard refers to James R. Chiles’s “analogy between a complex system on the verge of failure and a steel plate with a microscopic crack in the metal. Under stress, that crack can begin to propagate faster…[until] the metal breaks explosively.”

In software systems, the equivalent of an explosive break and the “crack” that caused it is called a “failure mode.” Does this analogy and definition resonate with you?

#ReleaseItBookClub #ReleaseItBookClubChapter3

There are a couple of aspects of this analogy that ring true to me. First of all, defects in the system are often such small things. In my experience, it’s not unusual to spend a whole day looking for the cause of a problem and fix it by modifying one line of code. Very similar to a microscopic crack. Second, when a system is under stress, even small things can tip the system over the edge. Killing it: bringing it down with a bang - or perhaps more of a whimper.

Mar 24, 2025 7:09 am

Nudgsicle is coming along - slowly but surely. It’s amazing to me how much of a slog it is - even for someone like me who has integrated OAuth, OpenID Connect, etc. - to build authentication for an application. Even with services like Amazon Cognito.

Fun fact: did you know that “Sign in with Slack” and “Add to Slack” are two different things that shall not be combined?

Mar 24, 2025 6:28 am

How to fail as an indie hacker: a listicle.

  1. Never ship anything.
Mar 19, 2025 6:44 am

Chapter 3 of Release It! has some interesting definitions that I hadn’t considered as deeply before. Nygard notes that the following two terms come from mechanical engineering.

Impulse is a “rapid shock to the system.”

Stress is “a force applied to the system over an extended period.”

What do you think of these terms? Have you felt the need to differentiate between these two types of load in your work?

#ReleaseItBookClub #ReleaseItBookClubChapter3

In my own work, I think I generally summarize the issue and the type of load is implied. For example, “When these jobs are all scheduled at 12pm it causes the load to spike and the database can’t handle it.” I suppose that would be an impulse; it may be handy to use this term in the future. “The jobs scheduled at 12pm are an impulse that the database cannot handle.”

Mar 17, 2025 8:02 pm

Chapter 2 of Release It! is a case study of an incident that occurred which brought down an airline’s entire check-in system. It took three hours to recover, and was caused by leaking connections from a database connection pool. Nygard’s conclusion from the case study is that perhaps this issue could have been caught with more testing, but even so it’s impossible to catch every such defect. And therefore you have to prepare your application to survive such issues. Do you see any problems with this conclusion?

At face value, I think it makes sense. However, it seems a bit bleak. If I cannot catch every defect, how am I supposed to trust that my code to survive unforeseen defects will be robust? It seems worth a try, I admit. And hopefully it will become more clear as I continue through the book.

#ReleaseItBookClub #ReleaseItBookClubChapter2

Mar 11, 2025 8:56 pm

As part of my work on Nudgsicle, I’ve created a pretty neat development environment where I can work locally with a similar architecture to the production environment, which includes Lambda, an S3 website, etc. One of the main pieces that makes it work is a little AWS Lambda Function URL emulating dev server that I wrote. You can see the code in this gist. Let me know what you think!

Feb 25, 2025 9:44 pm

Does your company have a traditional QA team? If so, what percentage of defects do you think they catch?

We don’t have a QA team at Seeq. In chapter 1 of Release It! Michael Nygard talks about how some engineers develop code for the QA team to verify rather than for the customer to use or to work well in production. I think that I have been guilty of that - especially some of the work I did at Groupon comes to mind. At Seeq, the bigger temptation is to write software for the support team to manage and keep running.

#ReleaseItBookClub #ReleaseItBookClubChapter1

Feb 25, 2025 9:39 pm

What’s the hairiest or most expensive production bug you’ve had to fix?

#ReleaseItBookClub #ReleaseItBookClubChapter1

Feb 17, 2025 5:00 pm

I think no one is reading this book with me. I miss you all. ๐Ÿฅน You can just assume from now on the replies to these posts are me answering my own discussion questions ๐Ÿคฃ. Or you can respond without reading the book. Maybe someone will pick it up sometime and follow the breadcrumbs.

#ReleaseItBookClub

Feb 17, 2025 4:53 pm

The preface of Release It! states, “If anybody has to go home for the day because your software stops working then this book is for you.” Do you work on something with that level of criticality? What do you work on that might be helped by the advice in this book?

#ReleaseItBookClubPreface #ReleaseItBookClub

Discuss on:

Feb 6, 2025 9:24 pm

What are you hoping to learn from Release It!? What are you hoping to get out of the book club?

#ReleaseItBookClubPreface #ReleaseItBookClub

I wasn’t sure what to expect from this book. Based on the title, I thought it would be about Continuous Delivery, deployment strategies, etc. Maybe it will touch on those topics, but it seems to be much more focused on the design of robust software in production. So now I am hoping that this book will help me espouse these principles of robustness in my own work and throughout my company. Similarly, for the book club I’m looking forward to hearing everyone’s thoughts and experiences on the content of the book to see how it could be applied in different contexts, and hopefully receive some inspiration for applying it in my context.

Discuss on:

Feb 3, 2025 6:41 am

#ReleaseItBookClub starts next week! You can obtain your copy (use discount code stevenoxley at pragprog.com) and start reading. I’ll start posting discussion questions next week using tag #ReleaseItBookClub and tag pattern #ReleaseItBookClubChapterN so you can read and discuss at your own pace. See you there!

Jan 31, 2025 7:10 am

I have news! You can use the discount code stevenoxley to get a 40% discount on Release It! Second Edition by Michael T. Nygard - making it that much easier to join the async book club that I’m starting here in February.

Jan 9, 2025 4:35 pm

I’m starting an async book club for the book Release It! Second Edition by Michael T. Nygard and you’re invited to join! You can sign up here to register your interest and (hopefully) get a discount on the book: https://forms.gle/kti3xFYD7cMjEBYk9. Or go ahead and buy the book now (I already have mine). I plan to start reading and posting discussion questions at the beginning of February. I’m looking forward to it, and feel free to spread the word - all are welcome!

The book Release It! Second Edition by Michael T. Nygard on a wooden table
Jan 8, 2025 12:55 pm

Behold, my tea advent calendar! I have some catching up to do.

A large cardstock poster board with 25 slots to hold Pukka brand tea packets - all of which are full.
Dec 11, 2024 8:28 pm

More hamstring flexibility progress! I’ve been able to touch my toes for weeks now, and last night I was able to touch the floor with my knees locked. I’ve never done that before ๐Ÿ™€

A before picture on the left trying to touch my toes and being about 5 inches away. An after picture on the right of me stretching and touching my toes!
Dec 11, 2024 4:25 pm

Nudgsicle pre-orders are now available ๐Ÿ˜ (also ๐Ÿคฃ, also ๐Ÿ™). https://www.nudgsicle.com/

Nov 12, 2024 11:48 pm