Hi everyone, Welcome to issue #167. Let’s get straight to our links this time
This book was created by WebRTC implementers to share their hard-earned knowledge with the world. WebRTC for the curious is an Open Source book written for those that are always looking for more. This book doesn’t settle for abstraction.
Leaders at Adobe, Airbnb, Kong, and PubNub talk API design, documentation, and development.
Dig into lower level knowledge of networks: protocols, mesh networks, route tables and more. Basically it helps to level up your network knowledge if you have done web development for a long time and want to know more about network.
In many PostgreSQL databases, you never have to think or worry about tuning autovacuum. It runs automatically in the background and cleans up without getting in your way. But sometimes the default configuration is not good enough, and you have to tune autovacuum to make it work properly. This article presents some typical problem scenarios and describes what to do in these cases. I encounters a lot of vacuuming issue when making many data deletions.
This article demonstrates how specially crafted but ordinary gzip archives can be used as a database like storage. The ideal is to sort the source files then gzip. When everything is combined, the complete search system takes less than 0.3 seconds to search in the 1TB of compressed data. It also introduces a Python package and explains how it works, but the idea is sound and we can implement it in any language.
A common strategy to make any system super-performant is Caching. Eventually the cache memory grows and we need to evict data to reclaim memory. Two algorithms to pick what to evict is LFU and LRU. In this essay, we take a look at Constant Time LFU implementation based on the paper An O(1) algorithm for implementing the LFU cache eviction scheme by Prof. Ketan Shah, Anirban Mitra and Dhruv Matani, where instead of using a min-heap, it uses a combination of doubly-linked lists and hash table to gain a running time complexity of O(1) for all the three core operations.
Thoughts on design/implementation of a log pipeline system which aims to be simple and cheap. To quote the author: You can probably find, somewhere, something similar to each of the components I’m going to talk about, but you probably can’t find a single solution that combines it all with good performance and super-low latency for a reasonable price.
Get started with WebAssembly through a simple hands-on tutorial that assumes only general knowledge in web development. The only tools you’ll need to get a taste of Wasm through runnable code examples are a code editor, any modern browser, and a Docker container with toolchains for C and Rust that comes with the article.
true and false are built-in shell function, but apparently, we have true
and false
as binary executable files in /usr/bin
. Their jobs are just to exit with code 0
or 1
. So the billion dollar question: why they are big?
Facebook built Shard Manager as a generic platform that facilitates efficient development and operation of reliable sharded applications, instead of each app/team manage their own way of sharding.
Monads are being used all the time to deal with nil or error. But it’s hard to explain them. It’s easy to say this or that is monads but to ELI5 is a hard job. This is another attempt. Ruby safe navigator &.
or Rust’s ?
or examples of Monads. Another old read on Monad is You Could Have Invented Monads! (And Maybe You Already Have.), written by a 3 times Oscar winner.
This installs a trigger and type which allow you to use YouTube-like short IDs (e.g. 1TNhBqYo-6Q) as Postgres Primary Keys. Just like the YouTube IDs, SHORTKEY IDs are fixed length and URL-safe
SQLA cross platform package to do curses-like operations, plus higher level APIs and widgets to create text UIs and ASCII art animations
Pythona microblogging server software that can federate (= exchange messages with) other servers that support ActivityPub(Mastodon for example)
ElixirFastest JS implemenation of Levenshtein distance. Measure the difference between two strings.
JavaScripta friendly and easy-to-approach Kafka consumer framework. It allows you to write small applications that process messages stored in Kafka topics while optionally integrating with your Rails model
Rubya tool for helping migrate code to TypeScript. It takes a JavaScript, or a partial TypeScript, project in and gives a compiling TypeScript project out.
an email server support send and receive message via SMTP, IMAP. It aims to replaces Postfix, Dovecot, OpenDKIM, OpenSPF, OpenDMARC and more with one daemon with uniform configuration and minimal maintenance cost.
Spreadsheet Calculator Improvised – An ncurses spreadsheet program for terminal
Get cost hourly and monthly estimates for a Terraform project. It also support github action and an companion post
fast, realistic local development for Kubernetes microservices
BetterDev Link
Every Monday