BetterDev #173 - How we ran a Unix-like OS (Xv6), on our home-built CPU with our home-built C compiler
Better Dev #173 Oct 19, 2020
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.
Code to read
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.
GoTools
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.
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.
You can view this issue in web browser.
If you have any suggestion/feedback, do tell me by replying to this email. I read them all.
No longer want to receive these emails? Unsubscribe
Older messages
BetterDev #172 - The Hitchhiker’s Guide to Compression& PostgreSQL at Scale: Saving Space (Basically) for Free
Monday, October 5, 2020
Better Dev #172 Oct 05, 2020 Hi everyone, Welcome to issue #172. This week, I want to introduce starship again. I linked to it in issue 119. Recently my zsh prompt is too slow. I want to have all
BetterDev #171 - How to remove the first 300 million lines from a 700 GB txt file on a system with 1 TB max disk space?
Monday, September 28, 2020
Better Dev #171 Sep 28, 2020 Hi everyone, Welcome to issue #171. How do I remove the first 300 million lines from a 700 GB txt file on a system with 1 TB max disk space? The accepted answer is boring
BetterDev #170 - What Gitlab leanred after a year on Kubernetes
Monday, September 21, 2020
Better Dev #170 Sep 21, 2020 Hi everyone, Welcome to issue #170. I have noticed many companies has reduced their head count during Covid-19. So if you are looking for a job now, or want a job soon, you
BetterDev #169 - Who will test the tests themselves and How Gitlab upgraded PostgresSQL
Monday, September 14, 2020
Better Dev #169 Sep 14, 2020 Hi everyone, Welcome to issue #169. Thank you for being a reader to my newsletter. I hope you can help spread the words out by telling your friend about this :-) Mutation
BetterDev #168 - The Life of a Data Byte: Be kind and rewind and Things I Learnt from a Senior Software Enginee
Monday, September 7, 2020
Better Dev #168 Sep 07, 2020 Hi everyone, Welcome to issue #168. Let's get straight to our links this time The Life of a Data Byte: Be kind and rewind A byte of data has been stored in a number of
You Might Also Like
Spyglass Dispatch: The Xitter Bail Out • OpenAI Tender • Grokking Grok • Smartphone Sales • Fischer Random Chess • Scott Bessent for Treasury
Wednesday, November 27, 2024
The Xitter Bail Out • OpenAI Tender • Grokking Grok • Smartphone Sales • Fischer Random Chess • Scott Bessent for Treasury The Spyglass Dispatch is a free newsletter sent out daily on weekdays. Feel
The Long Road Home: A Story of Loss, Learning, and Renaissance - PART 4
Wednesday, November 27, 2024
Top Tech Content sent at Noon! How the world collects web data Read this email in your browser How are you, @newsletterest1? 🪐 What's happening in tech today, November 27, 2024? The HackerNoon
Top Tech Deals 🏷️ PS5 Slim, 4K TVs, 10th Gen iPad, and More!
Wednesday, November 27, 2024
The Black Friday madness is here! How-To Geek Logo November 27, 2024 Top Tech Deals: PS5 Slim, 4K TVs, 10th Gen iPad, and More! The Black Friday madness is here! Black Friday sales are here, and we
The 165+ best Black Friday deals
Wednesday, November 27, 2024
Windows Super God Mode; Bluesky starter packs; Tech gifts under $100 -- ZDNET ZDNET Tech Today - US November 27, 2024 Black Friday 2024 live blog Best Black Friday deals 2024: 165+ sales live now
⚙️ Neuralink's new trial
Wednesday, November 27, 2024
Plus: Zoom is becoming an AI-first company
Matrix Botnet Exploits IoT Devices in Widespread DDoS Botnet Campaign
Wednesday, November 27, 2024
THN Daily Updates Newsletter cover The AI Value Playbook ($35.99) FREE for a Limited Time Business leaders are challenged by the speed of AI innovation and how to navigate disruption and uncertainty.
The Sequence Chat: Why are Foundation Models so Hard to Explain and What are we Doing About it?
Wednesday, November 27, 2024
Addressing some of the interpretability challenges of foundation models and the emerging fields of mechanistic interpretability and behavioral probing. ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
Overcoming Perfectionism: How to Break Free from the Enemy of Progress
Wednesday, November 27, 2024
Discover how perfectionism hinders progress and learn practical strategies to overcome the fear of imperfection, boost productivity, and achieve your goals without getting stuck in the pursuit of
🖤 Laravel Black Friday Deals!
Wednesday, November 27, 2024
The biggest deals of the year Laravel Black Friday Deals View in browser Laravel News Editor Note: We are sending this outside the regular Sunday newsletter schedule because some of these specials end
BetterDev #271 - Memory: The Forgotten History and Why did Windows 95 setup use three operating systems?
Wednesday, November 27, 2024
Better Dev #271 Nov 26, 2024 Hi all, Welcome to thanksgiving issue of BetterDev. Hope everyone had a safe and warm thanksgiving. It's getting so cold these days. If you are in warzone such as