Issue #123
H.264 is Magic, null references - the billion dollar mistake, vim reference, why is it so hard to buy things that work well?
Posts
Imagine you want to implement a simple framing protocol. It will work on top of TCP. The protocol will be a simple sequence of messages, each message consisting of 32-bit size field in network byte order and the data. How hard it can be to implement such a simple specification?
It turns out it can take months. Most of the time will be spent on dealing with switching between concurrently opened TCP connections, on error handling and on managing the shutdown process. - #MartinSústrik #250bpm
I captured the screen of this home page and produced two files:
PNG screenshot of the Apple homepage 1015KB
5 Second 60fps H.264 video of the same Apple homepage 175KB
Eh. What? Those file sizes look switched.
No, they're right. The H.264 video, 300 frames long is 175KB. A single frame of that video in PNG is 1015KB.
It looks like we're storing 300 times the amount of data in the video. But the file size is a fifth. So H.264 would seem to be 1500x as efficient as PNG.
How is this even possible? All right, what's the trick?
- #SidBala
Null References: The Billion Dollar Mistake
Tony Hoare introduced Null references in ALGOL W back in 1965 "simply because it was so easy to implement", says Mr. Hoare. He talks about that decision considering it "my billion-dollar mistake". - #TonyHoare #infoq
Why is it so hard to buy things that work well?
This problem exists not only for support but also for products a company could buy instead of build. For example, Ben Kuhn, the CTO of Wave, has a Twitter thread about some of the issues we've run into at Wave, with a couple of followups. Ben now believes that one of the big mistakes he made as CTO was not putting much more effort into vendor selection, even when the decision appeared to be a slam dunk, and more strongly considering moving many systems to custom in-house versions sooner. Even after selecting the consensus best product in the space from the leading (as in largest and most respected) firm, and using the main offering the company has, the product often not only doesn't work but, by design, can't work. - #DanLuu
Contributing to complex projects
As a frequent open source maintainer and contributor, I’m often asked: where do you start? How do you approach a new project with the goal of making meaningful changes? How can you possibly understand the internals of a complex project? - #MitchellHashimoto
-#Brandon Rhodes
This isn’t a sustainable way to work, but you feel pulled to sacrifice in the short term, and do more of the same things you’re already doing. That uncertainty you feel about the future? That’s a series of impending failures.
You’re stuck in a trap, and thrashing won’t get you out.
You can escape the trap by stopping your current approach, and doing something new. Take a deep breath, and get ready to finally make those hard decisions. You’re going to deliberately overshoot, cutting down WIP, and then maintaining a healthy amount going forward. -#AlexTurek
Book
-#SundeepAgarwal
Video
Kernel Recipes 2017 - Perf in Netflix - Brendan Gregg
Linux perf is a crucial performance analysis tool at Netflix, and is used by a self-service GUI for generating CPU flame graphs and other reports. This sounds like an easy task, however, getting perf to work properly in VM guests running Java, Node.js, containers, and other software, has been at times a challenge. This talk summarizes Linux perf, how we use it at Netflix, the various gotchas we have encountered, and a summary of advanced features.
Fun
A short conversation with a bank
It’s Saturday, March 5th 2022 and I can’t help myself, so here’s an edited and revised version of an imaginary conversation I had earlier this week - #DanHon