bypassing dpi with zapret on linux
Jan 10, 2026step by step zapret installation to bypass isp deep packet inspection.
2025 reflections and 2026 goals
Jan 5, 2026what i learned, what i built, and what i am aiming for this year.
coding with llms for a year
Dec 28, 2025what got faster, what stayed the same, and what got harder.
my terminal setup 2025
Dec 25, 2025alacritty, zsh, tmux, and the small configs that make it work.
rust for js developers
Dec 15, 2025the mental shift from garbage collection to ownership.
building a heatmap for github contributions
Dec 10, 2025recreating the github contribution graph from scratch for my personal website.
the case for smaller containers
Dec 1, 2025building images under 50mb instead of gigabytes and why it matters.
last.fm is still goated
Nov 25, 2025why i still use last.fm in 2025 and how i added it to my site.
managing dotfiles with chezmoi
Nov 20, 2025finally a dotfiles manager that does not feel like a second job.
why i switched from neovim to zed
Nov 15, 2025giving up 5 years of modal editing for a mouse-friendly rust-based editor.
how i sync obsidian notes into vue
Oct 28, 2025wiring a tiny pipeline that turns my messy vault into clean blog-ready markdown.
shipping tiny cli tools on a weekend
Oct 26, 2025notes on building opinionated little binaries fast and keeping scope under control.
designing a terminal aesthetic without going full retro
Oct 20, 2025balancing nostalgia and usability while building the new theme for this site.
ai browsers are just chromium
Oct 19, 2025stop shipping chromium with a chatbot sidebar and calling it revolutionary. please.
welcome to my blog
Oct 17, 2025first post on this new blog. thoughts on why i'm writing and what to expect.