Blog

Articles on Rails, React, production AI, and the terminal habits I keep coming back to.

Teaching NeetoBugWatch to disagree

The AI code reviewer I run approved most pull requests without a word. Rebuilding it as a panel of arguing reviewers fixed that, and the fix was mostly about where I spent the caution.

AILLMNeetoBugWatchcode review

Teaching NeetoCal to answer questions

Notes from building an AI assistant that reads your calendar, and why the model behind it never touches the database.

AILLMNeetoCalproduct engineering

Making NeetoCal feel fast

Notes from a year of chasing timeouts on a calendar product that handles millions of records.

How does ReactJS batch multiple updates to a state?

Breaking down how ReactJS handles multiple updates to a particular state

Why hooks cannot be invoked conditionally in ReactJS?

A simple explanation on why we have to follow certain rules when invoking hooks in ReactJS

JavaScript Bundling ELI5

A brief recollection about my understanding of bundlers and modules in the JavaScript ecosystem

Rails 8 introduces a built-in rate limiting API

How Rails 8 introduces a native rate limiting API to manage request flow without external gems like rack-attack

Ruby 3 supports transforming hash keys using a hash argument

Transform hash keys with simple hash arguments in Ruby 3, eliminating verbose blocks.

Rails 6.1 raises an error for impossible camelcase inflections

How impossible camelcase inflections cause routing errors and how to fix them with custom inflection rules

Improved CLI tools for terminal users

Few of the powerful CLI tools that improve terminal productivity including fzf, hyperfine, etc