Personal blog powered by a passion for technology.
· 4 min read

Closing the Feedback Loop Changes Everything

I refactored some components in our internal admin panel last week. The code looked fine. Tests passed. I shipped it. Then someone opened it on a phone. Half the layout was broken. This is the oldest …

Read more →
· 3 min read · opentelemetrygcpobservability

Google Cloud Finally Gets Native OpenTelemetry Ingestion

I got an email from Google this morning about a new OTLP endpoint. Buried in the usual “no action required” corporate-speak was something I’ve been waiting for: …

Read more →
· 4 min read

How I Use AI to Automate Daily Planning with Obsidian

I’ve tried GTD, bullet journals, Notion, Roam, and probably a dozen apps I’ve already forgotten. They all failed for me. Not because they’re bad tools, but because I’d always …

Read more →
· 2 min read

Less Distraction, More Focus

In case you think the environment full of distraction and context switching introduces such negative effects as reduction of ability to stay focused on a single task for long enough, you’re not …

Read more →
· 1 min read

RunDeck Set Admin Password

RunDeck is an excellent tool from PagerDuty to automate certain tasks. Suprisingly, resetting default admin user password in a docker container isn’t easy. Default username is admin and the …

Read more →
· 2 min read

Upgrading Rails to 8.1 and fixing incompatible gems

You probably faced similar error. Could not find compatible versions Because every version of paranoia depends on activerecord >= 6, < 8.1 and rails >= 8.1.0 depends on activerecord = 8.1.0, …

Read more →
· 2 min read

Rails Suppressor Pattern

While grokking through Rails source code, one pattern caught my eye, namely Suppressor. Here is the full listing, and as you could spot, it’s quite concise. But, I spent some time trying to …

Read more →
· 1 min read

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 →
· 2 min read

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 →
· 2 min read

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 →