Welcome to My Portfolio
Hello, I’m Sunil Murthy Software Engineer with 8+ years of experience in enterprise software development, device management, and distributed systems. Currently working on client device management ...
Hello, I’m Sunil Murthy Software Engineer with 8+ years of experience in enterprise software development, device management, and distributed systems. Currently working on client device management ...
The intermediate article covered the object model, refs, the index, and how merge and rebase work at a high level. This goes further — into the details that matter when you’re debugging performance...
Most git tutorials teach you the commands — commit, branch, merge, rebase. This post goes a level deeper into how git actually stores and tracks your code. Understanding the internals turns git fro...
This is the keybinding reference I wish I had when I started using Emacs seriously. It covers the built-in defaults, the package bindings I actually use daily, and the muscle memory that makes Emac...
TLA+ has a small number of data structures — sets, functions, sequences, and records — but they compose into surprisingly expressive models. If you’ve read the introductory article and seen the bas...
The introductory article covered the fundamentals — state machines, PlusCal syntax, invariants, and basic model checking. This picks up where that left off. We’ll get into refinement mappings, spec...
Unit tests check that your code does the right thing for specific inputs you thought of. Property-based tests check that your code does the right thing for hundreds or thousands of inputs the compu...
Every module on a YubiKey has its own PIN, its own retry limit, and its own consequences when you get it wrong too many times. Some lock you out of a single function. Others wipe the entire module....
TLA+ is a formal specification language for designing and verifying concurrent and distributed systems. PlusCal is an algorithm language that compiles to TLA+, giving you a more familiar imperative...
You know what the kernel does. You know what GNOME does. But how does a framebuffer in kernel memory become pixels managed by Mutter? How does a USB interrupt from your keyboard become a keypress i...