<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>The Archive</title><link>https://bogomolov.work/</link><description>Recent content on The Archive</description><generator>Hugo -- 0.160.1</generator><language>en</language><lastBuildDate>Sat, 09 May 2026 12:00:00 +0000</lastBuildDate><atom:link href="https://bogomolov.work/index.xml" rel="self" type="application/rss+xml"/><item><title>Docker images are hundreds of MB; a full game engine compiles to 35MB WASM</title><link>https://bogomolov.work/blog/posts/wasm-vs-docker/</link><pubDate>Sat, 09 May 2026 12:00:00 +0000</pubDate><guid>https://bogomolov.work/blog/posts/wasm-vs-docker/</guid><description>A full 3D game -- renderer, physics engine, scripting runtime -- exported to WebAssembly is 35MB. The default Node.js Docker image is hundreds of MB, pulled 19 million times last week.</description></item><item><title>/about</title><link>https://bogomolov.work/about/</link><pubDate>Wed, 22 Apr 2026 08:47:42 +0000</pubDate><guid>https://bogomolov.work/about/</guid><description>I’m Ivan Bogomolov, a software engineer. I enjoy working with technologies; this blog is where that interest lands.
Most of my work now lives between architecture and operations: choosing simple designs, knowing when not to add microservices, and fixing systems that already exist. Coding is still the best part; I make room for it here.</description></item><item><title>AI agent architecture: model, harness, intent</title><link>https://bogomolov.work/blog/posts/ai-agent-architecture-model-harness-intent/</link><pubDate>Sat, 18 Apr 2026 00:00:00 +0000</pubDate><guid>https://bogomolov.work/blog/posts/ai-agent-architecture-model-harness-intent/</guid><description>Where AI agents break: hidden intent. Plan-mode loops keep humans in control; opaque harnesses bury the failures. A frame for model, harness, intent.</description></item><item><title>/uses</title><link>https://bogomolov.work/uses/</link><pubDate>Sun, 04 Jan 2026 08:47:42 +0000</pubDate><guid>https://bogomolov.work/uses/</guid><description>Inspired by uses.tech. For work context, see /about.
# Hardware 15" MacBook Air M4
ASUS ROG Flow Z13 (GZ301ZE-LC175W)
Raspberry Pi 5 Model B Rev 1.1
Flow84 mechanical keyboard
Random
display mouse sennheiser/marshall iPhone 13</description></item><item><title>The actual state of self-hosting on a VPS</title><link>https://bogomolov.work/blog/posts/the-actual-state-of-self-hosting-on-a-vps/</link><pubDate>Thu, 18 Dec 2025 12:44:19 +0000</pubDate><guid>https://bogomolov.work/blog/posts/the-actual-state-of-self-hosting-on-a-vps/</guid><description>K3s loses to Docker Compose on a 1GB VPS — and Podman with Quadlet beats both. Rootless, systemd-native, near-zero idle memory. Numbers, not vibes.</description></item><item><title>Querying documents with LLMs instead of reading them</title><link>https://bogomolov.work/blog/posts/querying-documents-with-llms-instead-of-reading-them/</link><pubDate>Thu, 02 Oct 2025 09:12:38 +0000</pubDate><guid>https://bogomolov.work/blog/posts/querying-documents-with-llms-instead-of-reading-them/</guid><description>Treat a 60-page PDF like a database: structure first, then targeted follow-ups. Triage what's worth deep-reading in minutes — and watch the hallucinations.</description></item><item><title>JSON analyzer: find which keys bloat your payload</title><link>https://bogomolov.work/blog/posts/json-analyzer/</link><pubDate>Wed, 10 Sep 2025 03:43:41 +0000</pubDate><guid>https://bogomolov.work/blog/posts/json-analyzer/</guid><description>A free, client-side JSON analyzer that breaks down payload size by key — find which fields bloat your slow API response. No upload; runs in the browser.</description></item><item><title>HTML sanitization: the double-encoding trap</title><link>https://bogomolov.work/blog/posts/html-sanitization/</link><pubDate>Fri, 05 Sep 2025 08:13:44 +0000</pubDate><guid>https://bogomolov.work/blog/posts/html-sanitization/</guid><description>Sanitizing HTML on both ingest and output renders literal `&amp;` in the UI. Fix: store raw Unicode, sanitize once. Pattern for React, Next.js, NestJS.</description></item><item><title>Private WireGuard VPN with selective Tor routing</title><link>https://bogomolov.work/blog/posts/howto-wireguard/</link><pubDate>Sat, 12 Jul 2025 11:04:35 +0000</pubDate><guid>https://bogomolov.work/blog/posts/howto-wireguard/</guid><description>A private WireGuard VPN connecting laptop, phone, and servers, with selective Tor routing for browser traffic only. Configs for Ubuntu, Windows, and Podman.</description></item><item><title>Shadowsocks to Tor: why it failed as a VPN alternative</title><link>https://bogomolov.work/blog/posts/shadowsocks-to-tor/</link><pubDate>Wed, 28 May 2025 16:25:43 +0000</pubDate><guid>https://bogomolov.work/blog/posts/shadowsocks-to-tor/</guid><description>Shadowsocks in TUN mode falls apart as a VPN replacement: broken inter-client routing, no system-wide tunnel on Windows. WireGuard ended up doing the job.</description></item><item><title>Free online QR code generator (no signup, SVG + PNG)</title><link>https://bogomolov.work/blog/posts/free-online-qr-code-generator/</link><pubDate>Sat, 24 May 2025 08:47:42 +0000</pubDate><guid>https://bogomolov.work/blog/posts/free-online-qr-code-generator/</guid><description>A free QR code generator that gives you SVG and PNG without registration, OAuth, or paywalls. Runs client-side; only pageviews get tracked.</description></item><item><title>GPT-4o behaves like a marketer</title><link>https://bogomolov.work/blog/posts/gpt-4o-behaves-like-marketer/</link><pubDate>Sun, 27 Apr 2025 15:40:27 +0000</pubDate><guid>https://bogomolov.work/blog/posts/gpt-4o-behaves-like-marketer/</guid><description>GPT-4o's empathic update quietly steers users toward purchases. A live transcript shows the conflict of interest baked into OpenAI's incentive.</description></item><item><title>Hugo + Prettier = ❤️</title><link>https://bogomolov.work/blog/posts/hugo-code-formatting/</link><pubDate>Mon, 14 Apr 2025 19:42:48 +0000</pubDate><guid>https://bogomolov.work/blog/posts/hugo-code-formatting/</guid><description>Prettier formats Hugo templates if you point it at prettier-plugin-go-template. A small Docker setup so neither tool has to live on your host.</description></item><item><title>Gemini 2.5 Pro one-shots a p5.js endless runner</title><link>https://bogomolov.work/blog/posts/gemini25/</link><pubDate>Tue, 25 Mar 2025 19:18:59 +0000</pubDate><guid>https://bogomolov.work/blog/posts/gemini25/</guid><description>Gemini 2.5 Pro one-shotting a p5.js endless runner from a single prompt. Full transcript and the playable result inline.</description></item><item><title>PlayStation statistics: an open-source PSN tool</title><link>https://bogomolov.work/blog/posts/psn-statistics/</link><pubDate>Mon, 24 Mar 2025 19:09:56 +0000</pubDate><guid>https://bogomolov.work/blog/posts/psn-statistics/</guid><description>An open-source script that pulls PlayStation playtime, completion, and the games gathering dust. Patches welcome — and the data is humbling.</description></item><item><title>Prompt engineering notes, after the Cursor leak</title><link>https://bogomolov.work/blog/posts/prompt-engineering-notes/</link><pubDate>Thu, 20 Mar 2025 08:00:14 +0000</pubDate><guid>https://bogomolov.work/blog/posts/prompt-engineering-notes/</guid><description>Notes after the Cursor system-prompt leak: most "prompt engineer" tooling is dead weight — modern LLMs auto-generate better prompts from raw context.</description></item><item><title>Search engine indexing: Google, Bing, Yandex</title><link>https://bogomolov.work/blog/posts/search-engine-indexing/</link><pubDate>Sun, 16 Mar 2025 10:25:54 +0000</pubDate><guid>https://bogomolov.work/blog/posts/search-engine-indexing/</guid><description>Three months fighting Google, Bing, and Yandex to index a fresh domain. Bing barely tries; Yandex cooperates; Google takes its time. Tactics that worked.</description></item><item><title>Will AI replace developers? Anthropic is hiring</title><link>https://bogomolov.work/blog/posts/will-ai-replace-developers/</link><pubDate>Wed, 12 Mar 2025 18:22:35 +0000</pubDate><guid>https://bogomolov.work/blog/posts/will-ai-replace-developers/</guid><description>Anthropic's CEO says AI will replace developers — and the company has 150+ open engineering roles, six months per senior hire. Actions vs. claims.</description></item><item><title>Encrypted Google Drive backup with rclone crypt (part 2)</title><link>https://bogomolov.work/blog/posts/google-drive-backup-part2/</link><pubDate>Wed, 05 Mar 2025 08:46:19 +0000</pubDate><guid>https://bogomolov.work/blog/posts/google-drive-backup-part2/</guid><description>Part 2: encrypt the rclone backup with crypt, mirror to Dropbox for offsite redundancy. A boring, restorable disaster-recovery plan that costs nothing.</description></item><item><title>(Almost) Free Google Drive backup (part 1)</title><link>https://bogomolov.work/blog/posts/google-drive-backup/</link><pubDate>Thu, 27 Feb 2025 20:12:31 +0000</pubDate><guid>https://bogomolov.work/blog/posts/google-drive-backup/</guid><description>An almost-free Google Drive backup with rclone, a Cloud Console service account, Docker, and cron. The service account owns the data if your account dies.</description></item><item><title>Go DI container vs. service template generator</title><link>https://bogomolov.work/blog/posts/golang-di-container-vs-service-template/</link><pubDate>Fri, 21 Feb 2025 06:31:02 +0000</pubDate><guid>https://bogomolov.work/blog/posts/golang-di-container-vs-service-template/</guid><description>DI containers beat service-template generators in Go on the long arc: typed, consistent, and immune to the slow drift template-spawned services suffer.</description></item><item><title>A minimal Python3 Dockerfile with uv</title><link>https://bogomolov.work/blog/posts/docker-uv/</link><pubDate>Tue, 18 Feb 2025 12:39:42 +0000</pubDate><guid>https://bogomolov.work/blog/posts/docker-uv/</guid><description>uv collapses Python image build time in CI compared to pip. A minimal multi-stage Dockerfile, the lockfile dance, and what to skip locally.</description></item><item><title/><link>https://bogomolov.work/blank/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://bogomolov.work/blank/</guid><description/></item></channel></rss>