A list of the most recently updated pages.
| Jul 8, 2026 | » | System Design Practice: Metric Monitoring System
5 min; updated Jul 9, 2026
Functional Requirements
Scale: 500K servers, 5M metrics per second, ~1GB/s raw ingestion. ... |
| Aug 1, 1997 | » | [ToDo] Design Patterns: Elements of Reusable Object-Oriented Software
1 min; updated Jul 8, 2026
Design Pattern Catalog
Design Patterns: Elements of Reusable Object-Oriented Software.
Erich Gamma; Richard Helm; Ralph Johnson; John Vlissides.
|
| Jul 4, 2026 | » | High Performance Networking in Chrome
7 min; updated Jul 5, 2026
Performance in ContextThe execution of a web browser primarily involves three tasks: fetching resources, page layout and rendering, and JavaScript execution. That said, optimizing the last two tasks won’t do much good if the browser is blocked on the network, waiting for resources to arrive. Of the top 100K, the median page on desktop requests 97 resources weighing 2,954KB in total, and makes 16 TCP connections . While the underlying transport (TCP) is optimized for large, streaming downloads, most network transfers in the browser are short and bursty. ... |
| May 19, 2020 | » | Chrome vs. Everybody
3 min; updated Jul 4, 2026
![]() Stability, Testing and the Multi-Process ArchitectureIn a single-threaded browser, devs use asynchronous APIs - which may sometimes hold the browser up. Instead of multiple threads, Chromium chose multiple processes: isolation, independent crashes, better asymptotic memory management, identifying expensive sites, etc. ... |
| Jan 19, 2026 | » | The Performance of Open Source Applications
2 min; updated Jul 4, 2026
The Architecture of Open Source Applications.
The Performance of Open Source Applications.
Tavish Armstrong.
✅ High Performance Networking in Chrome. Many of the sites we use today are not just web pages, they are applications. How do we make the fastest browser? Notes . From SocialCalc to EtherCalc. EtherCalc is an online spreadsheet system optimized towards simultaneous editing, using SocialCalc as its in-browser spreadsheet engine. ... |
| Apr 18, 2020 | » | Miscellaneous Topics
1 min; updated Jul 4, 2026
Personalizing Your ShellPut all of your scripts in the Managing |
| May 25, 2026 | » | The New Gods (2024)
7 min; updated Jul 4, 2026
ConflictMAXWELL LORD. What he failed to understand, my friend, is that it is human
nature. To find things that are better than us – godly, wondrous divine things
– and drag them down and pull them apart. Until there isn’t very much godly or
divine about them at all. THE CHRONICLER. Having foreseen his imminent capture and inevitable end,
Parzurem had already fractured his mind into two arguments, given shape and
structure by each other’s existence… moder and paeter. The moder pyxis found
itself drawn by the gravitational fallout of the sundering of Urgrund,
eventually falling into the orbit of Galactica, which would later come to be
known as New Genesis. But the paeter pyxis drifted through an eternity, driven
by Parzurem’s search for peace and ponderance, before finding its way to an
infant planet in a far corner of the cosmos where it would be undisturbed for a
brief age. |
| Jul 2, 2026 | » | Uri Tupka and the Gods
4 min; updated Jul 2, 2026
BISHOP 1. Your damned letter to the Emperor – |
| Dec 24, 2024 | » | Using LLMs to Enhance My Capabilities
8 min; updated Jun 13, 2026
Sample Use CasesLLMs are increasingly here to stay despite the reservations . How can I use them to enhance my capabilities? Look out for the Gell-Man amnesia effect. You prompt the LLM on some subject you know well. You read the response and see the LLM has absolutely no understanding of either the facts or the issues. In any case, you read with exasperation or amusement the multiple errors in the response, and then ask it about something else, and read the response as if it’s more accurate than the baloney you just read. ... |
| Oct 4, 2021 | » | Journal Reviews on Fairness
8 min; updated Jun 7, 2026
MetaInstead of changing the data or learners in multiple ways and then see if fairness improves, postulate that the root causes of bias are the prior decisions that generated the training data. These affect (a) what data was selected, and (b) the labels assigned to the examples. They propose the \(\text{Fair-SMOTE}\) (Fair Synthetic Minority Over Sampling Technique) algorithm which (1) removes biased labels (via situation testing: if the model’s prediction for a data point changes once all of the data points' protected attributes are flipped, then that label is biased and the data point is discarded), and (2) rebalances internal distributions such that based on a protected attribute, examples are equal in both positive and negative classes. The method is just as effective in reducing bias as prior approaches, and its models achieve higher recall and F1 performance. Furthermore, \(\text{Fair-SMOTE}\) can simultaneously reduce bias for more than one protected attribute. ... |
| Aug 18, 2022 | » | Binary Search
2 min; updated Jun 6, 2026
Binary Search on a Non-Decreasing \(f: \mathbb{R} \to \mathbb{R}\)Given a number \(L\) and a non-decreasing function \(f: \mathbb{R} \to \mathbb{R}\), find the greatest \(x\) such that \(f(x) \le L\). To start, there are two numbers \(lo\) and \(hi\), such that \(f(lo) \le L < f(hi)\). AlgorithmIn my attempt at writing |
| Jun 6, 2026 | » | Greedy Algorithms
2 min; updated Jun 6, 2026
Sample ProblemYou are given two integer arrays:
Assign cookies such that as many children as possible are satisfied. Each child can receive at most one cookie, and each cookie can be given to only one child. A Greedy Algorithm |
| Jun 7, 2026 | » | AsyncIO in Python
3 min; updated Jun 7, 2026
The Event LoopThe event loop contains a collection of jobs to be run. Some jobs are added
by application code, and others indirectly by |
| Nov 27, 2024 | » | Consistent Hashing
6 min; updated Jun 6, 2026
The term “consistent hashing” makes me think of hashing without randomization. Why isn’t every hash consistent by definition? For example, a map implementation would need consistent hashing lest it’s inaccurate when searching for stored values. Or is consistent hashing a tradeoff between collision-resistance and speed? Web CachingWeb caching was the original motivation for consistent hashing. With a web cache, if a browser requests a URL that is not in the cache, the page is downloaded from the server, and the result is sent to both the browser and the cache. On a second request, the page is served from the cache without contacting the server. ... |
| Jun 6, 2026 | » | Sharding
1 min; updated Jun 6, 2026
NotesSharding comes up when a single database won’t work (e.g., hit storage limits, write throughput limits, or read throughput limits) and you need to split your data across multiple independent servers. For a user-centric social media app, sharding by |
| Jun 6, 2026 | » | Networking Essentials
2 min; updated Jun 6, 2026
NotesAt a basic level, understand how services talk to each other and what happens when those connections fail or get slow. For 90% of the use cases, default to HTTP over TCP. WebSockets and Server-Sent Events (SSE) come up when you need real-time updates. SSE is unidirectional - the client makes an initial HTTP request to open the connection, and the server pushes data down that connection. WebSockets handle bidirectional communication where both sides send messages freely. ... |
| Jun 6, 2026 | » | Database Indexing
1 min; updated Jun 6, 2026
NotesIndexes make database queries fast. Most relational databases use B-trees, which support exact lookups (find user with email X) and range queries (find all orders between date A and date B). Hash indexes are faster for exact matches but can’t do range queries. There are external systems that go beyond what the primary DB provider has. Elasticsearch is the go-to for full-text search. PostGIS in Postgres is popular for geospatial queries. Such extensions typically sync from your primary DB and so the search index will lag slightly behind. However, the increased functionality is usually worth it. ... |
| Jun 6, 2026 | » | Data Modeling
1 min; updated Jun 6, 2026
NotesChoosing what data to store and how to structure it directly affects performance, scalability, and maintenance. Relational databases are useful when you have structured data with clear relationships and need strong consistency (transaction-based actions, enforcing foreign key constraints). NoSQL databases shine for flexible schemas or when you need to scale horizontally across many servers without complex joins. Normalization refers to splitting data across tables to avoid duplication, e.g.,
you have a |
| Jun 6, 2026 | » | CAP Theorem
1 min; updated Jun 6, 2026
NotesThe CAP theorem states that you can only have 2 of 3 properties at once:
In practice, network partitions are unavoidable in distributed system. Choosing consistency means some nodes will refuse to serve requests rather than return potentially stale data. Choosing availability means different nodes might temporarily have different data. ... |
| Jun 6, 2026 | » | Caching
2 min; updated Jun 6, 2026
NotesFor read-heavy applications, storing frequently accessed data in fast memory (e.g., Redis) allows you to skip the DB entirely for some reads. A cache hit on Redis takes ~1ms compared to 20-50ms for a typical DB query, and this speedup is impactful in the order of millions of requests. Caching requires a solution for invalidating stale data, e.g., user updates their profile in the DB. Strategies include invalidating the cache immediately after writes, using short TTLs, etc. ... |

At the very least, Chrome is worth studying. Something worked out. I’m biased, I only plan to deeply explore Chromium-based browsers and Firefox.