## Link https://youtu.be/TgmA48fILq8?si=lIc23JemM5mQNusS ## Clips ### It's impossible to read every chapter of Beautiful Code and believe all of it is beautiful start = 1:07 end = 1:48 ### Software is fundamentally different from everything else humans have made, when we explain it through analogies, the analogies are never quite enough start = 2:22 end = 4:23 ### Jeff Bonwick start = 4:23 end = 5:40 ### We can't see software, so we inevitably reason about it incorrectly, it's not engineering start = 5:40 end = 6:25 ### How do we "see" our software? Generally we modify it in order to see it, and that's a huge problem for being able to reason about it in production start = 6:25 end = 7:58 ### What we want to be able to do is to walk up to a system running in production, and dynamically change the .text section of the running binary in a way that will emit data, and then we need to be able to change it back all while the process is running, this is the equivalent of vision for software systems, without this we can't see them at all start = 8:26 end = 10:04 ### List every point in the system that we know how to instrument start = 10:15 end = 11:34 ### Failures cascade, and you generally want this debug data on the worst day of your life, when all the failures are happening at once start = 16:13 end = 17:03 ### The top effect - Debugging tools talking about themselves because they're running while they're running start = 18:17 end = 19:20 ### Top goes around to every process and asks it a question, we wanted to get away from that methodology in DTrace start = 19:20 end = 19:52 ### Trash Applet what are you doing, improvised example with DTrace start = 21:04 end = 25:32 ### The stories of mmaping anonymous memory, pixmaps in the X server, and the stock ticker applet that slowed down an entire server because two lines needed to be hoisted out of a for loop start = 36:40 end = 56:40