10 Things Postgres Could Improve – Part 1
Release after release we keep hearing about the good part of Postgres, but what is the bad parts? Knowing the bad parts help a lot otherwise you only know about it when you already get into that situation.
Part 2 is release as well.
Performance/Avoid SQLite In Your Next Firefox Feature
This is an 2014 document of FireFox project to advise their engineer to avoid SQLite, they explain the downside of SQLite at that time, which may not right in 2020.
However, I found many things still ring true such as the IO pattern. I recently have to debug a small SQLite database with heavy disk IO due to its fsync in default rollback-journal mode
Reading files the hard way
But what is a file, really? And what does reading a file entail, exactly? See how it’s done in Node, C, Rust, Strace, x86 asm, look to disk layouts, ext4
The Definitive Guide to Linux System Calls
If you ever use
chmod, or even doing any file read, or
mkdir, you are making system calls. System calls are how a progrm enters the kernel to perform some tasks. This guide teachs us User programs, the kernel, and CPU privilege levels, Interrupts(kind of like event that is generated by hardware or software), then how we can craft system calls using assembly. A very low-level guide but I found it’s very helpful and easy to follow to know more about our computer.
A Timeline of Slack's Tech Stack Evolution
Lots of interesting info on Slack tech stack: from their languages, cloud provider, how they monitor performance, logging and track security. Basically a summarize of their evolutions and many links to each section: search index, monitoring with Icinga, Grafana, Sharding database with Vitess.
A Methodology for Penetration Testing Docker Systems(PDF)
A 81 pages research discusses Docker from a security perspective and looks at how a penetration tester should assess the security of systems that use Docker. Docker internal, data persistences, networking, docker socket, protection mechanisms, attack vector.
Leader Election in Distributed Systems
Leader election is the simple idea of giving one thing (a process, host, thread, object, or human) in a distributed system some special powers. This post is in AWS Builder’s Library on How Amazon elects a leader. What they do when that process failed.
Jepsen analysis of Redis Raft 1b3fbf6
Jepsen analyses distributed systems and report their finding. This one focus on Raft implement of Redis.
The conclustion is this: users who want fault-tolerance and not lost updates need something stronger than existing Redis replication systems.
They found data loss on failover, split-brand and lost updates, Stale Reads in Healthy Clusters…
TeamCity UI: how do we test it
front-end testing, or end to end testing or UI testing is the most expensive test, but they are the one that give you the most confident because it’s what your end user see, not testing a particular code and skip certain thing, UI test tend to run through whole stack. In this article, we will provide an overview of UI testing used in TeamCity for their React app.
Code to read
a SSH Agent that allow users to authenticate to UNIX/Linux SSH servers using the Secure Enclave
a Ruby implementation of an EBNF and BNF parser and parser generator.
GameBoyColor emulator written in golang.
a high quality, visual, open source tool to create, design, and edit database files compatible with SQLite.
Live iOS Notifications in the Simulator
an app for storing and managing SSH keys in the Secure Enclave.
a simple, reliable backup and restore solution that can seamlessly scale up to the largest databases and workloads by utilizing algorithms that are optimized for database-specific requirements
cleans up (deletes) Kubernetes resources on (1) a configured TTL (time to live) or (2) a configured expiry date (absolute timestamp).
Firefox send cli client. Quickly share file up to 1GB right from terminal anonymously.
list aws resource, using a syntax similar to
ls. Support over 200 types of resources across 76 different AWS services. Super useful for thing like get DNS of RDS or ip address of vm
That's it for this round, have a great day! If you like this newsletter, please tell the world, or
tweet about this