Tech Notes

Tech tips and new discoveries

Why Databases Reach for B+ Trees

Why B+ trees became the default on-disk index structure for relational databases, and where they do not work well.

DatabasesPostgreSQLPerformance
Reading PostgreSQL Execution Plans with EXPLAIN ANALYZE

How I read EXPLAIN ANALYZE output in PostgreSQL: node types, bad row estimates, and how to use the plan to fix a query.

PostgreSQLDatabasesPerformance
8tickers - A small screener for undervalued stocks

Notes on 8tickers.com, a free stock and crypto screener I built to find undervalued companies.

ProjectFinance
Hardening an OpenWrt Router: SSH, LuCI, RPCD, and the Kernel

Five OpenWrt hardening steps: SSH keys only, forcing HTTPS on LuCI, regenerating the TLS cert, separating LuCI login from the system password, and tightening sysctl.

LinuxHomelabNetworking
How V8 Takes Out the Trash: A Practical Look at JavaScript Garbage Collection

How V8 manages memory: generational GC, scavenging, mark-sweep, and what it means for the code you write.

JavaScriptNode.js
PostgreSQL Scales Further Than Most Think — Here is How to Push It

How to get more out of a single PostgreSQL instance before you move to a distributed database or a rewrite.

PostgreSQLDatabaseLinux
Next →