Chrome Command Palette in Dev Tools
I was today years old when I learned about Cmd + Shift + p command palette in Google Chrome. Why you might need it? To enable dark mode emulation!
Read more →Adding PDF previews to ActionText with ActiveStorage
Rails is a great framework, once you stop thinking in Java patterns and embraice DHH way of writing web apps. Interestingly, Basecamp uses exactly the same ActiveStorage implementation, but shows …
Read more →Stop writing data migrations
As many of us, I was writing data migrations as a part of database schema migrations. Why that’s a bad practice, and what’s the better way to do this. Your data migration typically comes …
Read more →Vanilla Rails is Enough
Argh, some things I should have learned earlier! One of these is this brilliant blog post Vanilla Rails is plenty couldn’t have bigger influence on me. Believe me or not, I wrote Rails wrong …
Read more →Get GitHub Teams CLI Snippet
GitHub CLI is a nice way to query GitHub API locally gh api orgs/<org>/teams | jq '.[] | {name,slug}'
Read more →How to Save 60-90% of LLM Tokens with rtk Proxy
If you use Claude Code (or any LLM coding agent), you’re burning tokens on noise. Every git status, every ls, every test run sends the full unfiltered output into your context window. Most of it …
Read more →Claude Code Worktree Workflow: Parallel AI Coding with Two Shell Functions
I work on multiple Jira tickets in parallel. Context switching used to mean stashing, branching, losing my train of thought. Two shell functions fixed that. The idea Git worktrees give you isolated …
Read more →Travel Time and Date in Rails Console
Usage include ActiveSupport::Testing::TimeHelpers travel_to 2.days.ago
Read more →Legacy Rails project and modern Assets Pipeline
One of the projects I’ve started a long-long time ago still powers the business. It was quite a journey starting from Rails 2, than Rails 3 and so on up until currently Rails 7 with plans to …
Read more →Hosting for Static Assets
I lived on GitHub Pages for static hosting for a long time. For example, this blog been hosted as https://mprokopov.github.io for years, just with the custom domain https://prokopov.me But last week I …
Read more →