I was likely targeted by DPRK in a sophisticated developer malware campaign

On May 25th, 2026, I received a remote smart-contract-security recruiting email from “Olivia Ben” at “Pulsynk.” It asked me to clone a GitLab repository called rekt-db and open it in VS Code or Cursor. The repository turned out to contain a hidden folder-open task, a malicious extension installer, and native wallet/credential-stealing binaries for macOS and Linux.

Goodbye Travel Agents, Hello AI Agents

I’m writing this on the Shinkansen heading to Osaka, halfway through a solo 10-day trip across Japan that I planned almost entirely with AI agents. This post isn’t about how AI can write a generic itinerary — anything can do that now. It’s about the small, weirdly clever ways agents earned their keep on this trip: rewriting the itinerary in place so my own trip viewer would render the day correctly, cross-referencing Reddit, YouTube transcripts, and official sources on its own to validate each leg, optimizing a 7-hour layover down to the minute, and replanning the afternoon when check-in finished early.

Tailscale + Traefik + Private CA: A Hybrid Approach to Homelab Networking

I run a hybrid networking setup that combines Tailscale (a mesh VPN), Traefik (a cloud-native reverse proxy), and a private CA powered by OpenBao (an open-source secret management and PKI solution forked from HashiCorp Vault). In this post, I’ll explain why I chose this architecture and how the pieces fit together.

I'm a Happy engineer now

I’m now officially a Happy engineer! In this post, I’ll explain what Happy is, why I decided to self-host it, and how my setup works. I’ll also share practical details about my LLM provider strategy, workspace configuration, and the lessons I learned along the way. Happy is becoming more than just a tool—it’s evolving into my primary development environment. With MCP tool integration and remote development capabilities, I rarely need a traditional IDE setup anymore.

postmarketOS-powered Kubernetes cluster

Having a few Raspberry Pi 4s at my disposal, I found myself somewhat dissatisfied with their processing capabilities and power management features. This led me to explore alternative solutions, particularly given the collection of old smartphones gathering dust in my drawer. These devices, while outdated for daily use, still pack considerable computing power. In this article, I’ll walk through how I transformed these old smartphones into a functional Kubernetes cluster using postmarketOS, giving them a second life as computing nodes.