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 amIn Release It! chapter 3, Nygard makes distinctions between faults, errors, and failures:
- Fault: “A condition that creates an incorrect internal state in your software.”
- Error: “Visibly incorrect behavior.”
- Failure: “An unresponsive system.”
“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 amNygard 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 amIn 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 amNudgsicle 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 amChapter 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 pmChapter 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 pmAs 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 pmDoes 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 pmWhat’s the hairiest or most expensive production bug you’ve had to fix?
#ReleaseItBookClub #ReleaseItBookClubChapter1
Feb 17, 2025 5:00 pmI 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.
Feb 17, 2025 4:53 pmThe 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 pmWhat 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 amI 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.
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!

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 ๐

Nudgsicle pre-orders are now available ๐ (also ๐คฃ, also ๐). https://www.nudgsicle.com/
Nov 12, 2024 11:48 pm