Menu
Sign In Search Podcasts Charts People & Topics Add Podcast API Blog Pricing
Podcast Image

The Changelog: Software Development, Open Source

Kaizen! Let it crash (Friends)

17 Jan 2026

Transcription

Chapter 1: What is discussed at the start of this section?

14.948 - 33.919 Jarrett

welcome to changelog and friends a weekly talk show about how good systems become bad systems thanks as always to our partners at fly to io the platform for devs who just want to ship build fast run any code fearlessly at fly to io okay let's kaizen

0

41.493 - 64.48 Unknown

Well, friends, I don't know about you, but something bothers me about GitHub Actions. I love the fact that it's there. I love the fact that it's so ubiquitous. I love the fact that agents that do my coding for me believe that my CI, CD workflow begins with drafting TOML files for GitHub Actions. That's great. It's all great. Until, yes, until your builds start moving like molasses.

0

64.46 - 80.477 Unknown

GitHub Actions is slow. It's just the way it is. That's how it works. I'm sorry, but I'm not sorry because our friends at namespace, they fix that. Yes, we use namespace.so to do all of our builds so much faster.

0

80.457 - 105.601 Unknown

namespace is like github actions but faster i mean like way faster it caches everything smartly it casts your dependencies your docker layers your build artifacts so your ci can run super fast you get shorter feedback loops happy developers because we love our time and you get fewer i'll be back after this coffee and my build finishes so That's not cool. The best part is it's drop-in.

0

105.982 - 130.093 Unknown

It works right alongside your existing GitHub Actions with almost zero config. It's a one line change. So you can speed up your builds, you can delight your team, and you can finally stop pretending that build time is focus time. It's not. Learn more, go to namespace.so. That's namespace.so, just like it sounds, like it said. Go there, check them out.

130.154 - 139.855 Unknown

We use them, we love them, and you should too. Namespace.so. How else would you learn?

140.636 - 165.371 Gerhard Lazu

Let it crash. Exactly. The best things happen when things fail. Seriously. If it's in a controlled way, right? I think that's like something which isn't said. It's implied. It has to be a controlled failure where you have the boundary and things will not blow up. I mean, they'll blow up, but like, you know, like the fireworks sort of blowing up where it's a controlled explosion.

165.832 - 187.319 Jarrett

Yeah. Right. Right. Tiny little crashes to learn from. Welcome everyone to Kaizen 22 with the incomparable Gerhard Lazu. He's here to let us know how he lets it crash. It's like that song, let it snow, let it snow, let it snow. Only you know how to replace. Hey Gerhard, how are you?

187.88 - 212.743 Gerhard Lazu

Hey Jarrett, I'm good. Thank you. Thank you. Had a great holiday. It was a great couple of weeks where I've managed to finally disconnect and It's been, I don't know, like 20 years since I had two weeks completely off. Even my holidays are only a week. So this was very different, very enjoyable and I feel so refreshed. So I'm firing on all cylinders. You unplugged and now you're plugged back in.

Chapter 2: How does GitHub Actions impact build performance?

221.936 - 231.129 Unknown

You know what I'm saying? Smell the scent. The fresh New Year's scent called 2026. Some people are going to say this is going to be the best year ever.

0

231.349 - 245.51 Jarrett

I've heard it said. What do you think? They keep saying that. I'm excited about them. They said that's about 2020. 2020, we have to admit it was off to a killer start. I mean, it was really going well. Right. Pun intended. Killer start.

0

245.53 - 246.432 Unknown

What happened in 2020?

0

246.452 - 271.337 Gerhard Lazu

It was COVID. Pun intended. Killer start. That was 2020. 2020 was the year of COVID. And everyone's like, oh, this is going to be like the best year ever. And then we had three years of misery. So I think, I think- I just want like an easygoing year. You know what I mean? Last year, 2025, 1st of January, we were building shelves. We were like redoing like studies and whatnot.

0

272.119 - 283.219 Gerhard Lazu

And the whole year was full on. Like it was like, it was nonstop. Every week there was something significant happening. And this year would like just like to, for it to be a bit more chill.

283.94 - 284.04

Yeah.

284.02 - 297.634 Gerhard Lazu

Maybe a bit more meaningful. So that's what we're thinking. But how about you, Adam? How, how is your, how, how are your holidays? My holidays were filled with barbecue and good times. Wow. Even in winter. So barbecue never stops. It does no seasons.

297.654 - 312.289 Unknown

Never stops in Texas. Actually, just to, just to shower you all with a few of my picks from my most recent barbecue adventures. If you're in Zulip, go to the general channel, look for barbecue with three bangs after it. Cause why do one bang when you can do three? Yeah.

312.269 - 336.927 Unknown

bang bang bang some recent ribs my gosh my ribs method is on point my spatchcock chicken method is on point no one is disappointed at my barbecue joint very nice looking to add some meat on this slide that's what happened in real time wow real time meat added this is like yeah this is intense

Chapter 3: What is the significance of controlled failures?

409.297 - 418.446 Adam

Okay. Yeah. Well, well, well, there's like a big story happening in the background and it is, it is, it is going to be, I think this year amazing.

0

418.466 - 430.718 Gerhard Lazu

This is, this will be the best network that I have run like in my life, but the blue and the darkness. And it's like, that was like one more Christmas tree in our house. And this was it.

0

430.698 - 453.364 Gerhard Lazu

where i would just go and tinker for a few hours in between uh christmas dinner and you know all the christmas festivities so it was nice just to spend a bit of time tinkering with hardware and i'm sure that many of you listening when it comes christmas time when things start quieting down you get like the little projects that you didn't have time for throughout the year and then you you know

0

454.745 - 463.317 Gerhard Lazu

Have some fun. So I'm wondering, did any of you do anything fun this Christmas, but nerdy fun? That's what I mean by that. Nerdy fun.

0

464.138 - 486.606 Unknown

Well, I got upset with something. And so I decided to just let it roll. You know what I'm trying to say? I got upset with the amount of RAM usage on my machine. And while I liked the application, I was like, you know what? I'm just kind of tired of having four gig. I think it was four. And that was like 1.2 gigs of RAM being used by clean my Mac.

488.25 - 511.886 Unknown

Fancy little utility application helps you tune and pay attention and stuff like that. And I decided to remake it. And that was it. So I remade it. It's called MacTuner. I know there used to be a MacTuner.com, which was, I think, a Mac magazine, I believe. But MacTuner fit. I might change it. Who knows? But for now, it's called MacTuner. It does all the things. All the things.

512.407 - 521.598 Unknown

Analyze, clean up, uninstall. And not just that fake uninstall, the real one where you get the dirty dirties out. You know what I'm saying? The dirties. All the dirties are out. Okay.

521.999 - 525.403 Adam

My mind is still on the dirty burger that you mentioned earlier. Yeah.

527.273 - 535.702 Unknown

I mean, that's about as nerdy as I can get. I mean, I made a little utility that's for me for now. Soon to be open source, though. Soon to be. It will be soon. Yeah. Very nice.

Chapter 4: What are the implications of out-of-memory crashes?

2470.841 - 2486.329 Gerhard Lazu

I give it the command to run. And it's varnish stat dash one, which will give me all the statistics from varnish at a point to point in time. So since this instance was running, I will select SJC. There you go. And it will.

0

2487.473 - 2507.645 Gerhard Lazu

give me all this data, which is like all the counters that Varnish is incrementing, is keeping track of different things, of the origins, backends, the memory pool, the disk pool, the lock counters. There's so much stuff. I'm really, really impressed how many things Varnish has. So this is what we need to do. We, because AI, right?

0

2508.206 - 2522.475 Gerhard Lazu

We're going to copy all of this and we're going to ask AI what it thinks of this. Okay. It's just too much data here. So let's be serious about it. So question to you, which is your favorite AI, Jared? Which one do you use?

0

2522.978 - 2531.63 Jarrett

Oh, I don't like any of them. I would probably start with Claude and then I would go to Grok and then I would go to ChatGPT third.

0

2531.73 - 2554.004 Gerhard Lazu

Okay. So Claude, which one, which version, which model? Opus, man. Give us the Opus. Opus. Okay. So we're looking at abacus.ai, something I've been using for a long, long time. It allows you, I'm only paying $10 per month for it. not sponsored, not affiliated in any way. It's just something that I've picked for myself and I can basically pick any model and I can just run this.

2554.205 - 2563.701 Gerhard Lazu

So I have something prepared. So I'm going to drop this. It's all the data. And we're going to read through this.

2563.681 - 2586.718 Gerhard Lazu

something that i prepared ahead of time you pre-prompted this i pre-prompted this exactly engineering this prompt for exactly the problem not really but that's a long prompt so we're going to read it and in the meantime adam will think about his favorite llm to try and i have mine so we'll try three llms to see what they say so i'll need to read the prompt now while everybody thinks

2586.698 - 2610.478 Gerhard Lazu

No, we should be using whatever LLM you should be using. You are a Varnish7 expert. You need to prepare four distinct responses and be explicit about the person that you're addressing. One, a seasoned sysadmin that has been living and breathing infrastructure for the last 20 years. Be precise, think deeply, and approach the setup from a hardware perspective. Two,

2610.458 - 2632.33 Gerhard Lazu

An Elixir application developer that embraces Erlang's let it crash concept. You need to give it straight, give it fast, and keep it relevant to their application. It's the app and the nightly backends. Assets and fees are important, but less relevant. Cloudflare R2. 3. the business person that is selling this thing. They care about costs, efficiency, and simplicity.

Chapter 5: What are the benefits of a caching layer in business applications?

2975.431 - 3006.123 Gerhard Lazu

Adam, do you recognize yourself? Or shall I continue with this? You can read it. 93% of requests never touch your servers. Massive cost savings on compute. Do you know how many requests per second the application is serving? Like maximum, by the way. What's the maximum RPS for this amazing Elixir Phoenix application for the homepage? Probably a lot. Gosh. Thousands? Tens of thousands? Maximum.

0

3006.143 - 3012.91 Gerhard Lazu

Okay. Jared? 100,000? The database connection is involved. Concurrently? Concurrently, yes. I don't know.

0

3012.93 - 3022.22 Jarrett

I'd say not very many. To our homepage? I'd be like 12. 12 requests a second. Yeah. 17. 17. I'm right in there, baby.

0

3022.66 - 3027.105 Adam

Someone knows our code. So 17 requests per second.

0

Chapter 6: How do we address the issue of excessive downloads from specific regions?

3027.085 - 3033.534 Adam

So if all these requests were hitting the application, we'd need so much compute to serve that, you know, so much caching.

0

3033.554 - 3049.538 Gerhard Lazu

Obviously we've, we've removed all the caching. Now we're joking about this because we purposefully removed all the caching from the application. Right. I remember that a couple of years back because we said, this has no place in the application. The application gets restarted. We need to store this somewhere. We need to cluster.

0

3049.958 - 3055.807 Gerhard Lazu

It was just, just really messy to handle it at that layer, which is why we introduced this.

0
0

3057.595 - 3078.861 Gerhard Lazu

Five plus days running without any issues. By the way, this is like the last deploy. So maybe by the next Kaizen, if we do no more deploys, we'll be able to see how well it handles. Zero failures on the infrastructure side. And three terabytes of data served to users. Three terabytes. So in five days, this one instance served three terabytes.

3079.803 - 3087.198 Gerhard Lazu

Without your application servers breaking a sweat, storage is getting full. So we need basically more storage. For the podcast audience.

3088.1 - 3088.861 Jarrett

Oh yeah, it's gonna be fun.

3089.864 - 3109.655 Gerhard Lazu

Imagine a really good receptionist at a busy office. This Varnish server is like having someone at the front desk who remembers everything. Out of a hundred people who walk in asking questions, 93 of them get their answers immediately from the receptionist without ever bothering the experts in the back office.

3110.457 - 3133.425 Gerhard Lazu

What's cool, it's been running for over five days straight without a coffee break or a single mistake. That sounds cruel to me, but let's go with it. It served three terabytes of data. That's like streaming about a thousand HD movies. This one instance streamed a thousand HD movies in five days. And the experts had only had to answer 7% of the questions.

Chapter 7: What challenges arise from misconfigured application settings?

3154.172 - 3156.115 Unknown

That's good fun there. Good job, Belmar.

0

3156.5 - 3163.747 Gerhard Lazu

Do we care about GPT or Gemini? We can only, we can only use one. We can only pick one. Gemini is getting some good hotness.

0

3164.508 - 3167.311 Jarrett

Let's check Gemini. We'll see how it adds up. Oh, it's still thinking.

0

3167.331 - 3191.042 Gerhard Lazu

Let's see. I think it's finished. Maybe that's, let me just close that. Did it finish? I think it did. All right. So let's go up. Slow thinking. I did like the thinking. I could have one pro as well. Show thinking, show thinking, show, slow think. I thought I said slow thinking. I was like, come on, speed up. Show thinking, there's quite a lot there. Anyway, we're not going to look into that.

0

3191.082 - 3215.781 Gerhard Lazu

So the instance has been up for 5.3 days. The MGT uptime, I like it. It's telling me which of those, that long list of counters is important. From a system perspective, the threading model is perfectly dialed in. 300 threads across two pools with a zero thread limited and zero thread queue length. The kernel is in context switching unnecessarily and we aren't starting for execution units.

Chapter 8: How can we improve the efficiency of our content delivery?

3216.462 - 3224.714 Gerhard Lazu

However, we have a critical IO and storage allocation bottleneck in the SMF. The file, I'm not sure what Steve Doerr means.

0

3225.935 - 3229.2 Adam

That's a weird one. I'm not sure Gemini knows what Steve Doerr means either.

0

3229.737 - 3259.359 Gerhard Lazu

The problem is SMF disk C fail is at 19,000 plus against only request at a 73% failure rate for disk allocations. The G space, in the G space we have only 145 megabytes while we have 48 gigabytes used. You're effectively out of contiguous blocks or hitting the ceiling of the pre-allocated file. That sounds right. Varnish is forced to fall back to SMA RAM or simply not cache large objects.

0

3260.1 - 3283.966 Gerhard Lazu

While SMA has 2.1 gigabytes free, the disk is thrashing. The hardware, if this is spinning glass, your IO8 is likely spinning. It's not. It's NVMe. So yeah, there's quite a few things there. Interesting. Is low relative, suggesting the lock contention on the shared memory log is negligible. Nice. You have a low lock contention. The bottleneck is strictly at the storage layer.

0

3283.986 - 3306.59 Gerhard Lazu

We just need basically a bigger disk. Elixir developer, let it crash proponent. I like it. Your app backend is rock solid. Well done, Jared. Varnish hasn't seen a single backend fail or an unhealthy event in five days. The let it crash philosophy is working. If the app is crashing, it's recovering so fast, Varnish doesn't even notice. I don't think it is. I think the application is good.

3306.61 - 3328.472 Gerhard Lazu

The good news is we're seeing an effective 75% hit rate. Now this is different, right? We had 93% there. So I would like to understand the discrepancy. That's another reason why you should use more than one, by the way. And then obviously double check the data. Because sometimes they give you things which aren't true. The crash concern, the disk cache is crashing.

3328.572 - 3353.65 Gerhard Lazu

Again, this is not for the application developer. I think this is for the sysadmin. In me, I think the straight talk. Your main synth is high. So we have health checks. There's a delta responses. So we have a lot of synthetic requests again. Sorry, synthetic responses. This again, like a varnish thing. The business person, efficiency or currently serving of our traffic from Varnish.

3354.191 - 3361.117 Gerhard Lazu

I think I know what's happened. I don't think it's taking into account the synthetic requests. Those should be removed from the total number of requests.

3361.357 - 3362.819 Jarrett

So you think Claude has the right number?

Comments

There are no comments yet.

Please log in to write the first comment.