The (Web) Reading Ruler
A browser userscript for saving and restoring a custom reading ruler across pages.
Engineer / storyteller / recovering hustler
I write about systems that scale, pauses that heal, and the strange little tools that make life on the internet feel more humane.
Career breaks, identity, spirituality, humor, small-town roots, and the work of becoming whole again.
Read Life EngineeringData structures, system design, interview patterns, and the mental models behind reliable software.
Read Engineering Agentic SystemsTool authority, harnesses, replay, approval, policy, and the distributed failure modes behind production agents.
Read Agentic Systems Projects & NotesScripts, business concepts, product thinking, and practical artifacts from the workshop.
Read ProjectsFeatured
A browser userscript for saving and restoring a custom reading ruler across pages.
A candid, funny, deeply Indian essay about quitting a high-paying job to recover health and meaning.
Why AI-assisted development moves senior responsibility toward framing, review, and integration.
A 33-part engineering series on distributed systems, agentic systems, harness engineering, and production harness agents.
A review format that tests assumptions, failure modes, and operating ownership instead of style.
Why durable AI products are built around eval loops, not model launch announcements.
Why safe retries depend on product semantics, user-visible effects, and organizational ownership.
A practical operating model for attention, energy, writing, relationships, and technical leverage.
A field guide to turning vague technical anxiety into decisions, owners, and reversible next steps.
Scalability, load balancing, sharding, caching, and other system design fundamentals.
Archive
Life
A candid, funny, deeply Indian essay about quitting a high-paying job to recover health and meaning.
How to keep ambition useful by adding constraints, feedback, and explicit tradeoffs.
A systems model for burnout that treats recovery as capacity planning, not weakness.
Why reliability, clarity, and low-surprise behavior compound into senior leadership trust.
Why senior engineers must trade cleverness for systems that make other people sharper.
How engineers develop judgment by studying consequences, constraints, and user pain.
A fictionalized self-portrait about ambition, pause, spirituality, and finding a richer melody.
A practical operating model for attention, energy, writing, relationships, and technical leverage.
A quiet opening prayer to mark the beginning of the blog.
A clear-eyed model of power, trust, incentives, and responsibility in engineering organizations.
How writing turns vague opinions into inspectable engineering decisions.
Engineering
Why AI-assisted development moves senior responsibility toward framing, review, and integration.
How narrow tools, explicit contracts, and small write scopes make agents safer and more useful.
How to review machine-generated changes for subtle correctness, security, and maintainability risks.
A practical way to separate durable constraints from implementation details before design hardens.
A review format that tests assumptions, failure modes, and operating ownership instead of style.
How compatibility survives when teams plan contracts, migrations, and deprecation paths together.
A review method for designing APIs from lifecycle, failure, and ownership before endpoint shape.
Why queues, caches, eval stores, audit logs, and boring controls beat magic in production AI.
A taxonomy for separating data truth, pipeline behavior, model symptoms, and product expectations.
Notes from Parin's archive.
A conflict model for keeping senior technical disagreement attached to evidence and risk.
Why predictable recovery paths matter more than clever steady-state architecture.
Why durable AI products are built around eval loops, not model launch announcements.
The hidden consistency, cleanup, and ownership risks inside flag-driven delivery.
How feedback design determines whether AI systems improve, stagnate, or quietly drift.
How to reset architecture, morale, and delivery after the product direction moves.
How to support founder urgency while protecting the system from avoidable damage.
A principal-engineer checklist for deciding when a service boundary is worth its operational tax.
Signals for hiring engineers who can own ambiguous systems without needing stable ground.
Why safe retries depend on product semantics, user-visible effects, and organizational ownership.
How to make incident reviews produce prioritization changes instead of better-formatted regret.
Why senior influence comes from pre-wiring context, risks, and tradeoffs before rooms fill up.
A practical Java data-structures refresher for interview prep and daily problem solving.
A practical model for converting performance goals into owned budgets across a request path.
Why AI user experience depends on cost, waiting, uncertainty, and visible recovery paths.
A compressed map of interview problem patterns: windows, pointers, graphs, dynamic programming, and more.
LeetCode patterns paired with representative problems and descriptions.
A communication model for translating engineering risk into business choices without theater.
The migration risks that show up in ownership, sequencing, and rollback design long before implementation.
A systems view of model behavior, data pipelines, fallbacks, product semantics, and human review.
A review rubric for AI-generated code that focuses on intent, contracts, failure modes, and tests.
Why dashboards only become useful when somebody owns the question they are supposed to answer.
Notes from Parin's archive.
How internal platforms drift from leverage engines into approval queues, and how to pull them back.
A field guide to turning vague technical anxiety into decisions, owners, and reversible next steps.
How to refuse unsafe work while preserving momentum, trust, and options.
How principal-level evidence accumulates through durable decisions, not last-minute brag documents.
Why context design, verification, decomposition, and ownership matter more than clever prompts.
How to reason about async workflows by ownership, ordering, failure semantics, and reconciliation.
A framing for turning invisible reliability labor into risk reduction leaders can evaluate.
A startup operating model for separating existential fires from noisy but survivable ones.
Scalability, load balancing, sharding, caching, and other system design fundamentals.
A sharper way to discuss debt when the real issue is changing strategy, incentives, or ownership.
The difference between healthy urgency and speed used to hide poor choices.
Agentic Systems
A 33-part engineering series on distributed systems, agentic systems, harness engineering, and production harness agents.
Adversary agents should create hostile fixtures and boundary tests, not become theatrical opponents in production workflows.
A concrete lifecycle for turning uncertain agent intent into bounded, verified effects.
A decision-centered observability model for debugging agent behavior after real side effects.
A practical argument for storing task state, approvals, actions, and verification outside the conversation window.
Why useful agent autonomy starts by separating observation from mutation.
The hard state in distributed systems is not failure, but not knowing whether the effect already happened.
Auditor agents review decision traces against policy and state, producing evidence-backed findings instead of vague confidence.
Backpressure is where a system tells the truth about what it can accept, delay, prioritize, or refuse.
Blast-radius agents decompose risky agent work into reviewable units without deciding the organization's appetite for risk.
Why agent reliability depends on knowing where context came from, when it was captured, and what it is allowed to justify.
Separating control plane and data plane behavior keeps management failures from casually breaking committed work.
Timeouts protect individual calls; deadlines protect the whole promise the system made.
Agent harnesses should inject ordinary tool and state failures so teams can verify behavior before production does it for them.
Agent tests should preserve required behavior instead of freezing exact prose that can pass while actions regress.
Agent quality should be judged by the state it leaves behind, because fluent explanations can hide unsafe actions.
Agent harnesses earn trust by controlling the world around the model, not by asking the model to explain itself.
Agent harnesses need explicit overreach checks because the most dangerous failures often look like extra helpfulness.
How to make human approval precise enough to govern agent actions instead of decorating them.
Idempotency works when it preserves a decision across retries, crashes, and uncertain outcomes.
A lease only says who probably owns work right now; fencing is what stops stale owners from writing after they lose it.
Why agent systems should keep policy enforcement outside the model even when the model helps interpret intent.
A queue can preserve work and decouple timing, but it does not make processing correct by itself.
A system is not correct because it accepted a command; it becomes correct when it can compare intent with reality and repair the gap.
The most valuable agent regression cases come from real failures converted into replayable behavior contracts.
Replay agents reconstruct failed runs from durable traces so engineers can debug causes instead of arguing from summaries.
Replay turns production failures from arguments about logs into experiments against recorded inputs, decisions, and effects.
Replay turns failed agent runs into inspectable infrastructure events instead of arguments about prompts.
A serious saga design treats compensation as forward recovery, not a pretend undo button.
How explicit stop conditions keep agent systems from turning uncertainty into expanding side effects.
Safe agent systems need tested refusal paths, because declining action is a production behavior with side effects.
A practical model for designing agent tools around authority, scope, and side effects.
A production frame for treating agent plans as tentative while tool effects stay real.
Watcher agents are read-only harness components that notice unsafe drift and propose interventions without taking ownership of the work.
Projects & Notes
A browser userscript for saving and restoring a custom reading ruler across pages.
A practical loop for using coding agents without outsourcing engineering judgment.
A unit-economics lens for token cost, latency, quality, and human review in AI products.
How lightweight decision records create memory, alignment, and better reversibility.
How revenue, margin, cost, and risk make technical prioritization sharper.
Business metrics for engineers who want their technical decisions to connect to the P&L.