— Personal Journal
Epona's Tech & Life
Page 02
In 2025, I bought a house in Japan, switched tech stacks, got promoted to Engineering Manager, and adjusted my writing rhythm. This year was full of decisions, and every decision meant giving something up. This is my year-end review and my thoughts on 2026.
A few simple Raycast setups that have stuck in my daily workflow: smart text snippets, hyper key app toggles, quick terminal shortcuts, and clipboard history.
"Want to give being a Manager a shot next half?" The CTO's casual remark after lunch opened a new chapter in my career. I was criticized the last time I was a Team Leader—can I do better this time? This post captures the preparations, worries, and expectations on the eve of the transition.
Notes on deploying a Rails app with Kamal for the first time: proxy conflicts with Caddy, Cloudflare forward_headers, and debugging Docker volume mounting errors.
While refactoring a project that I migrated from Phoenix to Rails, I realized that a lot of messy code isn't poorly written—it's poorly thought out. Instead of writing and revising as you go, it's better to think one step ahead before you start. As that famous line from JoJo goes: the detour is the shortest shortcut.
A look at PostgreSQL 18's release from a Rails developer's perspective: ActiveRecord compatibility patches and built-in native uuidv7() support.
I recently switched from Claude to ChatGPT—here’s why, and what I’ve learned along the way.
Why I initially dismissed Tailwind CSS as inline styles revisited, and what changed my mind after using it in real-world Rails and Phoenix projects.
How to use Claude Code hooks to automatically run code formatting and linting commands (like mix format or prettier) whenever files are modified.
My experience using Claude Code with the Tidewave MCP server to refactor a Phoenix LiveView project to DaisyUI, and what worked well versus the real limitations.