Hi everyone! 👋
Welcome to issue #143. This week I’m sure everyone know of Covid-19 now. Please stay home, try
to not going out to publish as much as possible. Many companies encourages work from home, so less
comute time, more time to learn. Stay safe and hope this will get over quickly.
This week, I want to share this tip. I was always wondering how
#! work in script, how does Linux
know to invoke Bash/Python/Ruby when we write
#!/usr/bin/env ruby. Turn out, Linux use
exec() syscall to run the script.
exec() knows how to load the program to execute the script by parsing
#!. Here is the Linux FAQ of
#! and a post
The SOC2 Starting Seven
With Seven Things you can do now that will simplify SOC2 for you down the road while making your life, or at least your security posture, materially better in the immediacy.
The unexpected Google wide domain check bypass
Have you ever though of digging into Google Chrome code to find bug?
It sounds scary. Smart people work on browser engines. But at the end of day,
it is just code, and you can understand how it works.
The author found some issue by doing steps like fuzzing, a lot of debugging. If they
went to source code, they may found bug sooner.
Linux Kernel Teaching
This is a collection of lectures and labs Linux kernel topics. The lectures focus on theoretical and Linux kernel exploration.
You will learn about system call, interrupt, and Symmetric Multi-Processing
EOF is not a character
I was reading Computer Systems: A Programmer’s Perspective the other day and in the chapter on Unix I/O the authors mention that there is no explicit “EOF character” at the end of a file.
A Tiny, Static, Full-Text Search Engine using Rust and WebAssembly
a basic search module that you can add to a static website. It’s very lightweight (50kB-100kB gzipped) and should work with Hugo, Zola, and Jekyll.
The Kernel Change That May Be Slowing Down Your App
A kernel “bug fix” that happened at the end of last year may be killing the performance of your Kubernetes- or Mesos-hosted applications.
If you run on K8s or Mesos, or another platform that uses the Linux CFS CPU limits, you are almost certainly getting affected by this issue.
Memory Bandwidth Napkin Math
Imagine you have a contiguous array of one billion 32-bit integers in memory. That’s 4 gigabytes. How long will it take to iterate that array and sum the values? How many bytes of contiguous data can a CPU read from RAM per second? How many bytes of random access? How well can it be parallelized
Database basics: writing a SQL database from scratch in Go
In this series we’ll write a rudimentary database from scratch in Go.
We will build a parser, a in-memory engine to query/insert data.
Interesting see how we can build a simple SQL engine in such as small amount of code.
Even if you don’t write Go, it is still worth your read to see how the parser is implemented.
Subtransactions and performance in postgresql
subtransactions allow you to roll back part of the work done in a transaction. You start a subtransaction inside a transaction with the standard SQL statement. Then
SAVEPOINT to name it and be able to rollback back o that point.
A blog port from Google, presents two examples of employee scheduling problems, and show how to solve them using the CP-SAT solver.
Code to read
A fast cd command that learns your habits. hyperfine reports that zoxide runs 10-20x faster than z.lua, which, in turn, runs 3x faster than z.
Reading through the guided code will help you learn about how most compilers work from end to end.
A small, lightweight and extensible DynDNS server written with Ruby and Rack
Python class that downsamples images to pixel art.
Arkanoid game in Go using Ebiten game engine with ECS.
a text search engine able to run on large-scale collections of documents. It allows researchers to experiment with state-of-the-art techniques, allowing an ideal environment for rapid development.
An open source trusted cloud native registry project that stores, signs, and scans content
Take potentially dangerous PDFs, office documents, or images and convert them to a safe PDF
Yet another cross-platform graphical process/system monitor.
an extension to mask or replace personally identifiable information (PII) or commercially sensitive data from a PostgreSQL database
A modern IRC server (daemon/ircd). Bleeding-edge IRCv3 support, suitable for use as an IRCv3 reference implementation
TCP/UDP scanner to find open or closed ports
a policy-driven snapshot management tool for ZFS filesystems. When combined with the Linux KVM hypervisor, you can use it to make your systems functionally immortal.
Another tools on this zfs backup is znapzend and zrepl
That's it for this round, have a great day! If you like this newsletter, please tell the world, or
tweet about this