BetterDev #176 - 6 Scary Outage Stories from CTOs and What's in a Linux executable
Better Dev #176 Nov 9, 2020
Hi everyone, Welcome to issue #176.
You’re sound asleep when the alarms go off. It’s 3 a.m. You wipe your eyes, check your phone. You know something is wrong. Very wrong. The website is down. Your application is broken. The only light in the room is coming from your computer monitor. The Gremlin in the system can be hiding anywhere, and it’s your team’s job to find it
Attempt to understand how Linux executables are organized, how they are executed, and how to make a program that takes an executable fresh off the linker and compresses it - just because we can.
To deal with synchronization, usually a set of primitives (mutexes, semaphores, monitors, and sometimes condition variables) are used to control read and write safely. It’s one of the most challenging, interesting, and (done right) fun. This book has the goal of identifying synchronization idioms and patterns that could be understood in isolation and then assembled to solve complex problems.
To measure scalability limit, a common approach is sending a bunch of GET/POST/PUT request to simulate production traffic. But this is only useful for API, with a normal webapp it becomes complicated. An alternate approach is the Utilization DRT (Disaster Recovery Test), with the goal of: Estimate the amount of headroom your service can handle in practice, Determine anomalies in behavior of your service when it’s overloaded.
The famous fast inverse square root is some mysterious code not written by programming legend John Carmack to calculate a fast approximation of 1/√x
Learn how clickjacking attacks implement visual tricks to capture users’ clicks, and how you can prevent them by applying client-side and server-side solutions
When you just want a simple mail server to receive incoming mail notification, this maybe very helpful. No fancy gsuite or zoho cuz that requires payment. A simple server would do that purpose. and it’s easier than it’s sound to receive your internal email such as devops/alert notification
There are two primary performance metrics for a task queue. Throughput is how many tasks are processed per time unit. Latency is how long a task waits in the queue before being processed. Throughput scales as you’d expect (2x workers ≈ 2x throughput) but latency is less intuitive. In this essay we will model a simple task queue and show how the latency is highly sensitive to our initial parameters.
This post contains a rough sketch of the life and death of a process on Linux. It is a first-order approximation only. A later post will refine this further and provide a more precise description, adding details about pid namespaces, obscure syscalls, and little known flags.
This part two of how to read a code. In the first post I asked how to make a change to an unknown code base with confidence. Knowing the architecture of it is a necessary but often not sufficient step. You can make changes. But I doubt it’s with confidence.
Code to read
DNS Resolver Detection. This is a combined DNS+HTTP server that shows which DNS server a computer is using.
GoA lightweight javascript timezone library. Help you learn how to deal with timezone, one of the aspect we take for granted, especially when dealing with DST
JavaScriptTools
transforms JSON into discrete assignments to make it easier to grep for what you want and see the absolute ‘path’ to it.
Suzieq is both a framework and an application using that framework, that is focused on improving the observability of your network. Help you easily answer trivial questions such as how many unique prefixes are there in your routing table, or how many MAC addresses are there in the MAC tables across the network?
A fully customizable, open-sourced Windows-based distribution focused on threat intelligence analysis and hunting designed for intel and malware analysts as well as threat hunters to get up and running quickly
A fast, interactive web-based viewer for performance profiles. An alternative viewer for FlameGraphs. Will happily display multi-megabyte profiles without crashing your browser.
You can view this issue in web browser.
If you have any suggestion/feedback, do tell me by replying to this email. I read them all.
No longer want to receive these emails? Unsubscribe
Older messages
BetterDev #173 - How we ran a Unix-like OS (Xv6), on our home-built CPU with our home-built C compiler
Monday, October 19, 2020
Better Dev #173 Oct 19, 2020 Hi everyone, Welcome to issue #173. Last week I was so busy so I had to skip that issue. We're back to normal now. I hope you like this issue. If you find this
BetterDev #172 - The Hitchhiker’s Guide to Compression& PostgreSQL at Scale: Saving Space (Basically) for Free
Monday, October 5, 2020
Better Dev #172 Oct 05, 2020 Hi everyone, Welcome to issue #172. This week, I want to introduce starship again. I linked to it in issue 119. Recently my zsh prompt is too slow. I want to have all
BetterDev #171 - How to remove the first 300 million lines from a 700 GB txt file on a system with 1 TB max disk space?
Monday, September 28, 2020
Better Dev #171 Sep 28, 2020 Hi everyone, Welcome to issue #171. How do I remove the first 300 million lines from a 700 GB txt file on a system with 1 TB max disk space? The accepted answer is boring
BetterDev #170 - What Gitlab leanred after a year on Kubernetes
Monday, September 21, 2020
Better Dev #170 Sep 21, 2020 Hi everyone, Welcome to issue #170. I have noticed many companies has reduced their head count during Covid-19. So if you are looking for a job now, or want a job soon, you
BetterDev #169 - Who will test the tests themselves and How Gitlab upgraded PostgresSQL
Monday, September 14, 2020
Better Dev #169 Sep 14, 2020 Hi everyone, Welcome to issue #169. Thank you for being a reader to my newsletter. I hope you can help spread the words out by telling your friend about this :-) Mutation
You Might Also Like
Spyglass Dispatch: The Xitter Bail Out • OpenAI Tender • Grokking Grok • Smartphone Sales • Fischer Random Chess • Scott Bessent for Treasury
Wednesday, November 27, 2024
The Xitter Bail Out • OpenAI Tender • Grokking Grok • Smartphone Sales • Fischer Random Chess • Scott Bessent for Treasury The Spyglass Dispatch is a free newsletter sent out daily on weekdays. Feel
The Long Road Home: A Story of Loss, Learning, and Renaissance - PART 4
Wednesday, November 27, 2024
Top Tech Content sent at Noon! How the world collects web data Read this email in your browser How are you, @newsletterest1? 🪐 What's happening in tech today, November 27, 2024? The HackerNoon
Top Tech Deals 🏷️ PS5 Slim, 4K TVs, 10th Gen iPad, and More!
Wednesday, November 27, 2024
The Black Friday madness is here! How-To Geek Logo November 27, 2024 Top Tech Deals: PS5 Slim, 4K TVs, 10th Gen iPad, and More! The Black Friday madness is here! Black Friday sales are here, and we
The 165+ best Black Friday deals
Wednesday, November 27, 2024
Windows Super God Mode; Bluesky starter packs; Tech gifts under $100 -- ZDNET ZDNET Tech Today - US November 27, 2024 Black Friday 2024 live blog Best Black Friday deals 2024: 165+ sales live now
⚙️ Neuralink's new trial
Wednesday, November 27, 2024
Plus: Zoom is becoming an AI-first company
Matrix Botnet Exploits IoT Devices in Widespread DDoS Botnet Campaign
Wednesday, November 27, 2024
THN Daily Updates Newsletter cover The AI Value Playbook ($35.99) FREE for a Limited Time Business leaders are challenged by the speed of AI innovation and how to navigate disruption and uncertainty.
The Sequence Chat: Why are Foundation Models so Hard to Explain and What are we Doing About it?
Wednesday, November 27, 2024
Addressing some of the interpretability challenges of foundation models and the emerging fields of mechanistic interpretability and behavioral probing. ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
Overcoming Perfectionism: How to Break Free from the Enemy of Progress
Wednesday, November 27, 2024
Discover how perfectionism hinders progress and learn practical strategies to overcome the fear of imperfection, boost productivity, and achieve your goals without getting stuck in the pursuit of
🖤 Laravel Black Friday Deals!
Wednesday, November 27, 2024
The biggest deals of the year Laravel Black Friday Deals View in browser Laravel News Editor Note: We are sending this outside the regular Sunday newsletter schedule because some of these specials end
BetterDev #271 - Memory: The Forgotten History and Why did Windows 95 setup use three operating systems?
Wednesday, November 27, 2024
Better Dev #271 Nov 26, 2024 Hi all, Welcome to thanksgiving issue of BetterDev. Hope everyone had a safe and warm thanksgiving. It's getting so cold these days. If you are in warzone such as