Mitigate Connection Leaks in Production via Proxies
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.
Root Cause Analysis For Reliability: A Case Study
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.
Scaling Datastores at Slack with Vitess
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 journey towards microservices and more: 'We actually have our own version of Ruby that we maintain'
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
Linked lists, pointer tricks and good taste
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
The perils of file typing
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.
Mastering UNIX pipes, Part 1
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.
PostGIS Trajectory: Space plus Time
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
Code to read
A library that makes it easier to create beautiful console applications.
acts like pbcopy/pbpaste but for multiple devices. It lets you share data across devices like you copy and paste.
fast and flexible HTTP router. as fast as httprouter but with relaxed routing rules.
Integrate Ruby with your Rust application. Or integrate Rust with your Ruby application. This project allows you to do either with relative ease.
a 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.
The Art of Code - Dylan Beattie
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
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
a Comprehensive Network Measurement Tool for TCP, UDP & ICMP.
That's it for this round, have a great day! If you like this newsletter, please tell the world, or
tweet about this