Hi everyone, Welcome to issue #159. If you like this newsletter, please help forward this email to a friend, tweet, or shout from a rooftop. It goes a long way :-).
When writing services that accept TCP connections, we tend to think of our work as starting from the point where our service accepts a new client connection and finishing when we complete the request and close the socket. For services at scale, operations can happen at such a high rate that some of the default resource limits of the Linux kernel can break this abstraction and start causing impact to incoming connections outside of that connection lifecycle. This post focuses on some standard resource limitations that exist before the client socket is handed to the application.
Explain how IPTables, Chains and Rules work together.
Dig into container. Docker image are just tar file with some meta data. A container needs at least: network stack, file system, processes. So how can we re-create that, using simple bash commands?
In The Pragmatic Programmer, Andrew Hunt and David Thomas introduced the DRY (Don’t Repeat Yourself) principle But then Sandi Metz came along and said: Duplication is far cheaper than the wrong abstraction. So what should we do
B-Tree index is the default index. But you know we have no one size fit all data structure for fast look up. What if we just want an exact match? Well, a hash index might faster there.
I have been reviewing more JS code recently and saw this a lot. Here, Ben Nadel shows why they aren’t needed and when they are needed(In a comment though).
A guide to setup SSH authentication with certificates instead of pub key. Why? Certificate allow you to set expiration date, centralization control and revoke easily. With normal public key, once got in, users can added their own key and do whatever they want.
teaches how to use the command-line utility jq to filter and parse complex JSON files into flat CSV files. If you need a play ground for jq, check out jqplay.
The author wants it to be the best book in this field. It’s free to read online right now on Manning so check it out(You have to register for a free account to read though). It has 11 chapters so far. Learning about cryptography definetely help you along the way to understand thing like TLS, PGP etc
As its name suggest, a Distributed SQL database, written for learning purpose: ACID, Raft-based, Pluggable storage engine with B+tree and log-structured backends and moreRust
Scale database reads to replicas in RailsRuby
a Bash testing framework, can be used to test scripts that contain dangerous commands like rm -rf /. No surprises, no pain.Bash
a powerful and efficient open-source access control library for Golang projects. It provides support for enforcing authorization based on various access control modelsGo
a Python library for rich text and beautiful formatting in the terminal.Python
RFC 4180 compliant CSV parsing and encoding. parses 2x times as fast as an unparallelized stream implementation 🚀Elixir
And since you are there, give a quick read of A plain english introduction to CAP Theorem too
side-by-side, character-level git unified diffs in the terminal.
Basically an improve version of diff with color. Make it easier to notice the diff in terminal
a Kafka CLI tool built in Go which gives you everything you need to manage, query Kafka, consume and publish message right from CLI without messaging with Java, bash script of Kafka cli tools.
Give a pid, plot memory usage of process, constantly get sample data to generate plot images.
a tool for running SQL queries on git repositories. It implements SQLite virtual tables and uses go-git. It’s meant for ad-hoc querying of git repositories on disk through a common interface (SQL), as an alternative to patching together various shell commands.
a server side, no-cookie, drop-in and privacy focused tracking solution for Go. Read the accompanied doc
A site to help you quickly see various cache header effect. Super useful when you setting these response header to pass to upstream server like Cloudflare, Fastly etc.
a web-based platform for website owners to log, visualize and analyze user behaviors like mouse trace data.
Better Dev Link