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 newsletter is useful, don’t forgot to tell your friend :-).
In this post, I’m going to talk about my undergraduate days in 2015, our four months of building a home-built CPU of a home-built RISC ISA, building a home-built C toolchain, and porting Xv6, a Unix-like OS, to that CPU.
This is a classic paper originally published in Communications of the ACM, 1974 by Dennis M. Ritchie and Ken Thompson
A lot of the challenges come from the way we work around physical-layer limitations. Put poetically, physics gives us lots of little obstacles we have to work around in order to talk at 5 billion transfers per second (5GT/s). It’s not trivial to get the same bias voltages – and common grounds – across a long motherboard or down a cable – and when you’re operating at really high frequencies, you’re a lot more sensitive to changes in your operating environment
Another good one is Google Interview Questions Deconstructed: The Knight’s Dialer
Describe the DEFLATE algorithm that GZIP implements and depends on. The DEFLATE algorithm uses a combination of LZ77, Huffman codes and run-length-encoding; this article describes each in detail by walking through an example and developing source code to implement the algorithm. My aim is to implement readable rather than efficient or extensible code. I’ll focus here on unzipping, rather than zipping, but by the end of the article, the zipping process should be clear.
Database is the heart. Knowing how to monitor, operate, what metrics to look for are important
One common challenge with Postgres for those of you who manage busy Postgres databases, and those of you who foresee being in that situation, is that Postgres does not handle large numbers of connections particularly well. While it is possible to have a few thousand established connections without running into problems, there are some real and hard-to-avoid problems.
Finding logic bugs is an important part of building a reliable Database Management System (DBMS). But sometimes the most obvious approach doesn’t work. You can’t just query several databases and compare the results. You need a more sophisticated bug-hunting approach. In this video, Manuel, a postdoctoral fellow at ETH Zurich, describes the techniques that have made him and his colleague, Professor Zhendong Su, TiDB’s #1 bug hunters. They’ve found over 50 TiDB bugs, and when you factor in their work with other popular DBMSs, they’ve found over 400.
Distributed systems are tricky. Multiple unreliable machines are running in parallel, sending messages to each other across network links with arbitrary delays. How can we be confident these systems do what we want despite this chaos?
The consensus problem is a fundamental problem in multi-agent systems which requires a group of processes (or agents) to reliably and timely agree on a single data value. Although extensively discussed in the context of distributed computing it’s not exclusive to this field, also being present in our society in a variety of situations such as in democratic elections, the legislative process, jury trial proceedings, and so forth.
A super tiny Javascript library to make DOM elements draggable and movable. ~500 bytes and no dependencies.
JavascriptState-of-the-art natural language processing for Ruby: Sentiment analysis, Question answering, Named-entity recognition
RubyThe fun, functional and stateful way to build terminal apps. A Go framework based on The Elm Architecture.
GoA PostgreSQL extension for automatic bloat cleanup
A New project from HashiCoprp. It provides a secure way to access hosts and critical systems without having to manage credentials or expose your network, and is entirely open source.
multi user screen sharing via browser.
The Modern Stack for Web Real-Time Communication
a collection of reusable low-level visualization components. visx combines the power of d3 to generate your visualization with the benefits of react for updating the DOM.
an HTTP toolkit for security research. It aims to become an open source alternative to commercial software like Burp Suite Pro, with powerful features tailored to the needs of the infosec and bug bounty community.
Container and system event tracing using eBPF
Investigate Google Accounts with emails.
BetterDev Link
Every Monday