Writing
Blog
Notes on macOS, disk cleanup, dev workflow — things I actually built and wanted to share.
-
iPhone Fold vs Samsung Z Fold 7 — Apple's first fold against Samsung's seventh
One is a rookie carrying 14 years of iPad luggage. The other is a 7-generation veteran. I've used the Z Fold 7 for almost a year and the iPhone Fold for two weeks — here's the category-by-category comparison, and a decision tree for which to buy.
-
One month with the MacBook Air M5 as my main dev machine — is a fanless laptop enough for full-stack freelance?
I sold my MacBook Pro 14 M3 and bought a MacBook Air M5. The reason sounds backwards: because I moved my 16-container stack to a VPS, my local machine no longer needs to be a beast. One month in — here's when the Air is enough, when it throttles, and why a powerful dev machine is becoming overkill.
-
iPhone Fold after two weeks — Apple's first fold, seen through a Z Fold 7 owner's eyes
Apple finally made a folding phone. I've been on a Z Fold 7 for almost a year, so I picked up the iPhone Fold with one clear question: if Apple is 7 years late, did they do it better? After two weeks — here's what Apple got right, what they got wrong, and why the software is the real story.
-
Solo Leveling season 2 — can a power fantasy have any depth?
Solo Leveling season 2 (A-1 Pictures, Winter 2026) wrapped. Animation is top-tier, fight choreography is clean, Hiroyuki Sawano's OST still slaps. But after 13 episodes I keep asking the same question: can a power fantasy actually be 'great,' or is it forever just 22 minutes of dopamine a week?
-
Six months on a $500 phone (Pixel 9a) — what flagship actually buys you
I traded my Pixel 10 Pro for a Pixel 9a six months ago — not because of money, but out of curiosity. Camera 90% of the flagship, screen 70%, performance 95%, battery 110%. Here's the honest verdict after 6 months, and the 5 things flagships actually give you for the extra $500.
-
Dandadan Season 2 — the best action-comedy anime of 2026, and why this combo is almost impossible to land
Dandadan S2 (Spring 2026, Science SARU) is 7 episodes in. Pacing tighter than S1, animation a step up, still unmistakably Tatsu Yukinobu's humor. This is the piece I wrote after sampling every Spring 2026 anime — and the reason a great action-comedy is one of the hardest combos in the medium.
-
I moved my VPS from Hetzner (Germany) to Vultr (Singapore) — 280ms latency gone overnight
Hetzner CPX31 (4 vCPU AMD EPYC, 8GB) in Falkenstein is fast and dirt cheap — but 280ms RTT to Vietnam pushed TTFB to 1.2s. Moved to Vultr High Frequency AMD Singapore: $20 more per month, 60ms RTT, TTFB 280ms. Real benchmark + when region beats CPU price.
-
Logitech MX Master 4 after 6 months — the mouse that knows which workspace I'm in
I've been daily-driving the MX Master 4 (launched Sept 2025) since November. 6 months in — 3 things Logitech got right (Actions Ring, haptic feedback, USB-C at last) and 2 they still got wrong. Review for devs writing code 8 hours a day, not a 10-minute unbox.
-
Sakamoto Days anime — how TMS dropped the ball on a great manga
Sakamoto Days (TMS Entertainment, 2025-2026, 2 cours) is one of the most disappointing adaptations in the last two years. Yuto Suzuki's manga is a masterclass in pacing fight choreography against comedy. The anime cut 40% of what made it work — and here's exactly how.
-
10 anime openings I rewatch while coding — and why anime music is its own genre
After 7 years coding with music, I realised anime OPs have something ambient music doesn't: 90 seconds of buildup + climax + outro — full emotional arc in under 2 minutes. Here are the 10 OPs I've looped through 2025-2026 and why anime music fits coding strangely well.
-
iPhone 17 → Pixel 10 Pro as a developer — 3 things I lost, 2 I gained
I went from iPhone 12 Pro all the way to iPhone 17, then jumped to Pixel 10 Pro in early 2026. 3 months as daily driver: Termux + ADB + open file system is real, but losing iMessage / AirDrop with the MacBook hurt more than I expected. Honest verdict.
-
I ran Zed instead of VS Code for 4 months — here's why I went back
Zed opens projects 3x faster, multibuffer is a refactor superpower, and the AI panel doesn't lag the editor. But the extension ecosystem is thin, remote dev is weak, and the debugger is patchy. Honest take after using Zed as my daily driver for 4 months.
-
git pull + docker compose up -d but nothing changed? — 5 traps that cost me 30 minutes each
SSH into VPS, git pull, docker compose up -d... and the new code still isn't live. Here are the 5 culprits I've burned real time on — plus a 60-second checklist to catch which one is biting you.
-
Frieren season 2 — even as a manga reader, Madhouse keeps catching me off-guard
I've read Sōsō no Frieren through chapter 130. I know every plot beat. I still haven't skipped an episode of season 2. Here are 3 things Madhouse does better than the manga — and why Frieren is the counter-example to my JJK / Chainsaw Man worries.
-
I self-host analytics with SQLite + Astro middleware — and GA4 is never coming back
One .db file, 200 lines of TypeScript, no client-side JS, no cookie banner. Here's how I count visitors for this portfolio — and when this setup is NOT enough.
-
Why I tell developers to buy a MacBook over Windows — after 8 years on both
macOS is Unix. The server you deploy to is Linux. The match between your laptop and your servers is the real reason developers pick Mac — not Apple aesthetics. Here are 6 practical reasons.
-
Z Fold 7 after 10 months — review by a developer who got addicted to a foldable
I bought a Galaxy Z Fold 7 in July 2025. Still using it. Here's what 10 months of real use taught me — and whether a $2000 phone is worth it for a developer.
-
Chainsaw Man season 2 is announced — and I'm hyped and terrified at the same time
MAPPA confirmed Chainsaw Man season 2 'Assassins Arc' at Jump Festa 2026. Here's what I want, and here's why I'm still nervous.
-
3 production bugs I shipped over time zones — and the 4 rules I now live by
Server in UTC, app in local time, database doesn't know what to store. Three times I burned real hours on time-zone bugs and the rules I keep ever since.
-
JJK is over in the manga — and I'm still waiting for MAPPA to animate Higuruma vs Sukuna
Jujutsu Kaisen ended at chapter 271. The Gojo vs Sukuna fight is already legend. But it's the Higuruma + Yuji vs Sukuna fight I'm most desperate to see animated.
-
Cron works locally, fails on the server — 6 reasons I've hit a hundred times
Missing PATH, different $HOME, silent logs, time-zone drift. Here's the 6-step checklist I run every time a cron job 'runs but doesn't run'.
-
~/.ssh/config: 10 lines that saved me a million keystrokes
After 8 years of SSHing into dozens of servers across many clients, here's the ~/.ssh/config setup I wish I knew on day one — aliases, ProxyJump, ControlMaster, and the speed tricks.
-
Your 256 GB MacBook is full? Here are the 7 places your GB actually went
Disk full even though you barely installed anything? These are the 7 real culprits on macOS and how to find them with Terminal — no CleanMyMac required.
-
Mac says 'Storage Almost Full' but you're only using 200 of 512 GB — what's 'purgeable'?
APFS snapshots, Time Machine local, iCloud cache — what 'purgeable space' on macOS actually is, why it doesn't self-clean, and how to force it.
-
I reclaimed 47 GB by deleting old node_modules — script + pitfalls
A 3-year-old dev machine can hold 50–100 GB of dead node_modules. Here's how to find and remove them safely, plus the target/, .venv, Pods/ folders you probably forgot.