Despite the fact that the Linux Kernel is mostly written in C, it makes broad use of some techniques from the field of object-oriented programming. Essentially, method dispatch and data inheritance are what we need. Part 1(this article) focus on method dispatch. Part 2 focus on data inheritance.
Charming to read. I’m sure you will feel been there done that to those 2 tales of threat models in this article. We explore how pairing our existing knowledge and experience with a few simple questions can help us build better systems and keep them safe.
This post is written to highlight Haiku OS. However, they are general rule. And they are really good rule. It read more like GUI design rule. But at the end of the day, our software are all about serving a need to end-user through some user interface.
A very well analysis on how Apple design their CDN. How iOS devices discover and download updates, how download requests are mapped to CDNs, and the architecture of Apple’s content cache infrastructure. It’s just 7 pages to skim.
More and more get on microservice trend, while it solve certain problems, it comes with its own issue. Before you decide to split apart your app, there are a number of tactics you can use to scale it majestically. Spend a significant amount of time trying to solve your existing problems before making big changes.
Default setting of a databse cannot fit everyone. Depend on what kind of query and access pattern we need to tune our db. However, diving into vast amount of postgres doc to find what we want isn’t easy. This article summarize some settings and strategy to tune the db.
Traditional databases usually server read/write from a single node so natually provide sequential ordering guarantees. Distributed system like MongoDB must coordinate and order related events across all of its nodes, and limit how fast certain operations can complete to do so. MongoDB 3.6 passed Jepsent test, verify that MongoDB 3.6.4’s sharded clusters offer comparable safety to non-sharded deployments.
There are no silver bullets to web performance. Simple static pages benefit from being server-rendered with minimal JavaScript. Libraries can provide great value for complex pages when used with care.
masscan can scan entire internet within 6 minutes. it contains its own network stack. Masscan will not using laptop’s IP address, it has its own network stack and its own IP address, eve the IP is “wrong”. How routing work since the IP address is invalid?
TLS 1.3 was finally released. Previous version has few attack vectors one has to aware to address when deploying TLS such as CRIME, BREACH, DROWN…A must-read if you want to deploy TLS the right way.
A quick guide to create a color pallet so your personal website doesn’t look like crap.
Catching bugs can involve lots of effort. This book addresses this problem by automating software testing, specifically by generating tests automatically. You will learn about fuzzing, basically generate random input to funcion to try break thing and measure how much code are actually executed during test
Tries are an unloved data structure for building key-value stores and indexes, after search trees (like B-trees and red-black trees) and hash tables. In this paper, the authors show how to reduce the memory cost of a regular radix trie by adapting the data structure used for each node to the number of children that it needs to store.
WebAssembly maybe another way for us to deo front-end dev. This series build the base of an incredibly simple frontend framework written in Go that compiles into WebAssembly. I think some similar effort are made with Rust too. If you know some good links, please share so I can include in next issue.
Just another color library, but it really fun to read code that work with color. How do we convert hex to rgb? How to compute color differences?
JavaScriptOpen Source Language Design in Rust and Node.js(47mins)
You will learn to design and implementation database management system
Open source password manager, support mobile, brower, desktop
Streams logs from all containers of all matched pods
Bulk port forwarding Kubernetes services for local development
Open Source Tool For PostgreSQL Database Management
A rule based tunnel in Go
A tool to do sanity check for container. It spins up container and assert condition like HTTP request, installed packages, file existence.
C/C++ debugging tool for Linux, replacing — well, enhancing — gdb
command line json processing tool
BetterDev Link
Every Monday