BetterDev #179 - Mitigate Connection Leaks in Production via Proxies
Better Dev #179 Dec 07, 2020
Hi everyone, Welcome to issue #179. Let’s sit back and enjoy some story about how company dealing with scale and their incident.
Every socket connection in Unix/Linux systems is represented by a file. Files opened by a process are represented by file descriptors - integer numbers that are used in I/O syscalls like read/write. it’s easy to deploy a bug that leaks connections, causes the system to run out of file descriptors, and prevent new connections. It’s difficult to solve this problem in a truly general sense due to the various code paths that may have connection leaks. However, if we’re looking to solve only for internal service communication, we control internal RPC frameworks and deployments, and we can make it simple to debug these failures, catch them before full production rollout, and possibly eliminate them.
Wikipedia defines Root Cause Analysis (RCA) as “a method of problem-solving used for identifying the root causes of faults or problems.” Essentially, root cause analysis means to dive deeper into an issue to find what caused a non-conformance. What’s important to understand here is that Root Cause Analysis does not mean just looking at superficial causes of a problem. Rather, it means finding the highest-level cause- the thing that started a chain of cause-effect reactions and ultimately led to the issue at hand.
Slack serves 2.3 million QPS at peak. 2M of those queries are reads and 300K are writes. Median query latency is 2 ms, and p99 query latency is 11 ms. This shareds detail how they evaluate Vitess and migrate to it at their scale. They are 99% on track of migrating to Vitess at this point
GitHub’s architecture is deeply rooted in Ruby on Rails,” said Ma, adding that “a monolithic architecture got us pretty far,” including multiple code deploys every day and high scale, “serving over a billion API calls daily.” Now they are migrating to microservices, why? Because they acquires so many companies with different tech stacks from Python, Node, C#, and merge sister team from Microsoft. In other words, it isn’t a scalability issue but more about collaboration across teams
A large scale incident of Kinesis in US-East-1 last week. They hit a limit of OS thread, they lack of alerting on OS thread limit to know the root cause earlier. Check out DataDog incident on Infrastructure connectivity issue impacting multiple systems too
In a 2016 TED interview (14:10) Linus Torvalds speaks about what he considers good taste in coding. As an example, he presents two implementations of item removal in singly linked lists (reproduced below). In order to remove the first item from a list, one of the implementations requires a special case, the other one does not. Linus, obviously, prefers the latter
Suppose you double-click on a file on your computer. You’re doing this so you can open the file and work with it. But does your operating system know what that means? How does it know what to open the file in? Let’s look at some solutions that have been proposed over the years to solving this issue.
A pipe is a first-in-first-out interprocess communication channel. This is frequently observed in UNIX shell constructs that utilize the | operator. In this artcile, we look at the pipes from C API perspective.
An experiment on using Postgres and PostGIS as the main workhorse for data over space and time. This post outlines examples of how to use these new PostGIS trajectory tricks with OpenStreetMap data for path findinng
There are currently ~2.5 billion Android devices — consisting of ~1,300 discrete brands and ~24,000 unique device models. I’m exploring tapping into this latent resource pool to make automated testing affordable & unlock a more comprehensive configuration coverage.
Code to read
Algorithms and data structures implemented in JavaScript with explanations and links to further readings
JavaScriptacts like pbcopy/pbpaste but for multiple devices. It lets you share data across devices like you copy and paste.
GoIntegrate Ruby with your Rust application. Or integrate Rust with your Ruby application. This project allows you to do either with relative ease.
RustRubya way of addressing elements within a JSON object. Similar to xpath of yore, JsonPath lets you traverse a json object and manipulate or access it.
RubyVideo
But what about the code that only exists because somebody wanted to write it? Code created just to make people smile, laugh, maybe even dance? Maybe even code that does nothing at all, created just to see if it was possible
Tools
Command-line program to download image-galleries and -collections from several image hosting sites
a high performance, composable and extendable data-processing pipeline for the big data era. Read the companion tutorial at getbaker.io
a high-level driver directly based on DevTools Protocol. It’s designed for web automation and scraping. It performs better than Puppeteer or Playwright
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 #178 - Going Bark: A Furry’s Guide to End-to-End Encryption and Implementing Curve25519/X25519
Monday, November 23, 2020
Better Dev #178 Nov 23, 2020 Hi everyone, Welcome to issue #178. Let's go straight to our links this week. Going Bark: A Furry's Guide to End-to-End Encryption Explaining how to encrypt and
BetterDev #177 - Does Apple really log every app you run? A technical look
Tuesday, November 17, 2020
Better Dev #177 Nov 16, 2020 Hi everyone, Welcome to issue #177. Does Apple really log every app you run? A technical look Apple's launch of macOS Big Sur was almost immediately followed by server
BetterDev #176 - 6 Scary Outage Stories from CTOs and What's in a Linux executable
Monday, November 9, 2020
Better Dev #176 Nov 9, 2020 Hi everyone, Welcome to issue #176. 6 Scary Outage Stories from CTOs You're sound asleep when the alarms go off. It's 3 am You wipe your eyes, check your phone. You
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
You Might Also Like
Import AI 399: 1,000 samples to make a reasoning model; DeepSeek proliferation; Apple's self-driving car simulator
Friday, February 14, 2025
What came before the golem? ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
Defining Your Paranoia Level: Navigating Change Without the Overkill
Friday, February 14, 2025
We've all been there: trying to learn something new, only to find our old habits holding us back. We discussed today how our gut feelings about solving problems can sometimes be our own worst enemy
5 ways AI can help with taxes 🪄
Friday, February 14, 2025
Remotely control an iPhone; 💸 50+ early Presidents' Day deals -- ZDNET ZDNET Tech Today - US February 10, 2025 5 ways AI can help you with your taxes (and what not to use it for) 5 ways AI can help
Recurring Automations + Secret Updates
Friday, February 14, 2025
Smarter automations, better templates, and hidden updates to explore 👀 ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
The First Provable AI-Proof Game: Introducing Butterfly Wings 4
Friday, February 14, 2025
Top Tech Content sent at Noon! Boost Your Article on HackerNoon for $159.99! Read this email in your browser How are you, @newsletterest1? undefined The Market Today #01 Instagram (Meta) 714.52 -0.32%
GCP Newsletter #437
Friday, February 14, 2025
Welcome to issue #437 February 10th, 2025 News BigQuery Cloud Marketplace Official Blog Partners BigQuery datasets now available on Google Cloud Marketplace - Google Cloud Marketplace now offers
Charted | The 1%'s Share of U.S. Wealth Over Time (1989-2024) 💰
Friday, February 14, 2025
Discover how the share of US wealth held by the top 1% has evolved from 1989 to 2024 in this infographic. View Online | Subscribe | Download Our App Download our app to see thousands of new charts from
The Great Social Media Diaspora & Tapestry is here
Friday, February 14, 2025
Apple introduces new app called 'Apple Invites', The Iconfactory launches Tapestry, beyond the traditional portfolio, and more in this week's issue of Creativerly. Creativerly The Great
Daily Coding Problem: Problem #1689 [Medium]
Friday, February 14, 2025
Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Google. Given a linked list, sort it in O(n log n) time and constant space. For example,
📧 Stop Conflating CQRS and MediatR
Friday, February 14, 2025
Stop Conflating CQRS and MediatR Read on: my website / Read time: 4 minutes The .NET Weekly is brought to you by: Step right up to the Generative AI Use Cases Repository! See how MongoDB powers your