GraphThe whole graph

Life

Latest4All articles

How to Get Roam-Style Bullet Navigation in ObsidianHow to replicate the click-to-zoom outliner interaction from Roam, RemNote, and Logseq in Obsidian, with two plugins and a CSS snippet for styled bullets.3 min readObsidianPKM
How I Use Obsidian as a Thinking StudioHow I configured Obsidian as a developer's personal thinking studio — vault structure, web clipper, key plugins, and the PKM ideas behind each decision.11 min readPKMObsidian
P50, P95, P99, and the Average: What Latency Numbers Actually Tell YouAverage response time hides the worst user experiences. P99 can run 100× slower than P50 on the same dataset. What P50, P95, and P99 mean, why they matter, and how to read them together.10 min readperformanceobservability
Hot Path: How to Identify and Optimize It in .NETA hot path is code that runs on every request — small inefficiencies there compound into P99 spikes users actually feel. How to find hot paths with profilers and fix them in .NET.11 min readdotnetperformance

Series2All series

seriesAsync/Await in C#8 parts

Practical patterns for writing reliable, scalable async code in C#.

seriesSOLID Principles4 parts

Code that looked fine — until it wasn't. That's where each principle begins.

Built1All projects

trace-in-timeactiveAstroTypeScriptSCSS

Reading1All reads

Grokking Algorithms

Grokking Algorithms

Aditya Y. Bhargava

An illustrated guide to algorithms and data structures — 2nd edition.

reading4/546%