Where is the memory going? Memory waste under Linux(PDF)
The original Linux 1.0 kernel ran fine on a PC with 4MB memory. Of that the kernel used a small fraction. Later versions weren’t as modest in memory requirements. The paper has an overview of the various memory allocators in Linux and describes some of their problems.
Teaching a cheap ethernet switch new tricks
Ethernet rules everything around us, a large proportion of our systems communicate to each other with ethernet somewhere in the line. And the fast pace race to the bottom for embedded systems means that almost all network equipment is smart to some degree these days
Performance speed limits
Sometimes you just want to know how fast your code can go, without benchmarking it. Sometimes you have benchmarked it and want to know how close you are to the maximum speed. Often you just need to know what the current limiting factor is, to guide your optimization decisions.
From design patterns to category theory
How do you design good abstractions? By using abstractions that already exist. Not only can a good abstraction shield you from having to understand all the details in a big system, but if you are familiar with the abstraction, you may be able to quickly get up to speed. But how do you create one?
PingCAP training courses
This is a series of training courses about writing distributed systems in Go and Rust. It is maintained by PingCAP for training and/or evaluating students, new employees, and new contributors to TiDB and TiKV. As such, the courses focus on subjects relevant to those projects. They are though appropriate for all Go and Rust programmers — they do not require any knowledge of or interest in either TiDB or TiKV
Green Threads Explained in 200 Lines of Rust
Green threads, userland threads, goroutines or fibers, they have many names but for simplicity’s sake I’ll refer to them all as green threads from now on.
In this article we explore how they work by implementing a very simple example where we create our own green threads in 200 lines of Rust code.
We’ll be explaining everything along the way so our main focus here is to understand them and learn how they work by using simple, but working example.
It’s fine if you are curios and don’t know Rust, it’s just 200 lines anyway.
Breaking the physical limits of fonts
The challenge: in the fewest resources possible, render meaningful text.
1) How small can a font really go?
2) How many bytes of memory would you need (to store it and run it?)
3) How much code would it take to express it?
Relearn CSS layout
If you are a front-end dev probably you know this well but if you are a backend dev dabble into CSS for your side project,
then this is a great overview on how to better harness the built-in algorithms that power browsers and CSS
Code to read
Rust port of Lucene
High performance datastore for time series and tick data
an authentication and account management framework for Rack applications(not Rails specific but any Rack)
Node.js global keyboard and mouse listener use C binding
a fast web crawling & scraping framework with 1000 rps
An analytics platform that makes easy to create custom analytics services
Kubernetes Native Policy Management allow you to decide what to do with k8s resources
Build and run tiny vms from Dockerfiles. Small and sleek.
An open source object storage server with Amazon S3 compatible API
That's it for this round, have a great day! If you like this newsletter, please tell the world, or
tweet about this