Writing
Short technical writeups of concepts and decisions made during the development of my projects.
Designing the Controller/Dstore protocol: what broke first
A check-then-act race in the file index, and why the fix only needed to hold a lock for two lines of code.
Building a typosquat detector: how far can you get with heuristics alone
Levenshtein distance, homograph substitution, and where a scoring system built on regex and thresholds actually falls over.
Five ways to turn a packet capture into training rows
Sliding windows, event-centered windows, and why the labeling strategy mattered more than the model choice.