# ondelva > Small web tools built out of need, and notes on the tools I picked to build them. Free to use right now, with nothing to install. ## Tools - [Hot Deal Sheet](https://ondelva.com/tools/hotdealsheet): Hot deals from Korean communities, collected every few minutes and normalized into one clean, sortable sheet. - [QR Code Generator](https://ondelva.com/tools/qr-code): Turn a link, Wi-Fi login, or contact card into a QR code without the data ever leaving your browser. - [Fasting Tracker](https://ondelva.com/tools/fasting-tracker): A fasting notebook that tracks weight, blood pressure, heart rate and blood sugar, and says when a reading falls outside the usual range. - [Snip](https://ondelva.com/tools/snip): Paste a long URL, get a short snipp.cc link back, with a key that lets you take it down later. - [PDF Merger](https://ondelva.com/tools/merge-pdf): Join several PDFs into one file. The pages are copied in the tab in front of you, so nothing is uploaded. - [PDF to PNG Converter](https://ondelva.com/tools/pdf-to-png): Turn the pages of a PDF into PNG images. The pages are drawn in the tab in front of you, so nothing is uploaded. - [PDF Page Organizer](https://ondelva.com/tools/pdf-pages): Delete, rotate, reorder and extract pages from one PDF. The file is rewritten in the tab in front of you, so nothing is uploaded. - [Image to PDF Converter](https://ondelva.com/tools/image-to-pdf): Turn photos and screenshots into one PDF. The pages are built in the tab in front of you, so nothing is uploaded. ## Blog - [Cloudflare Free Plan Rate Limiting Cannot Guard 1,000 KV Writes a Day](https://ondelva.com/blog/2026/08/cloudflare-free-plan-rate-limiting-daily-quota): The Workers free plan allows 1,000 KV writes a day, shared by everyone. The rate limiting binding let 82 percent of a burst through, WAF rate limiting rules on a free zone are stuck at a 10 second window, and neither can express a daily cap. A per address Durable Object can. - [URL Shorteners 2026: What the Free Plans Let You Do Without an Account](https://ondelva.com/blog/2026/08/url-shortener-free-plans-2026-without-an-account): Six shorteners, side by side, on the things that decide a free link: whether you have to sign up, how many links you get, whether you can pick the ending, whether you can take one down afterwards, and whether anything is counted. Two of the six will not let you delete a link you made. - [Ten Milliseconds of CPU: I Broke the Cron by Making It Run More Often](https://ondelva.com/blog/2026/08/workers-free-tier-10ms-cpu-limit): The Workers free plan gives each invocation 10 ms of CPU, and an isolate tolerates going over as long as you do not do it often. I changed a cron from every ten minutes to every minute and it died an hour later. Then the profiler disagreed with all three of my guesses. - [Django 4.2 Is Past End of Life: The 5.2 LTS Upgrade](https://ondelva.com/blog/2026/08/django-4-2-end-of-life-upgrade-5-2-lts-guide-2026): Django 4.2 lost security support on 7 April 2026. On 4 August the security team patched four issues in 5.2 and 6.0 and nothing older, so the gap stopped being hypothetical. 5.2 LTS is the target, and the Python floor is where the time goes. - [Structured Outputs in 2026: OpenAI vs Claude vs Gemini](https://ondelva.com/blog/2026/08/structured-outputs-2026-json-schema-openai-claude-gemini): Schema-constrained decoding is real on all three providers now, and the parameter you reach for is different on each. What each one guarantees, and what it still cannot. - [Browser Use vs Stagehand vs Skyvern: Browser Agents 2026](https://ondelva.com/blog/2026/08/best-open-source-browser-agent-frameworks-2026-browser-use-vs-stagehand-vs-skyvern): One architectural choice, read the DOM or look at a screenshot, explains the cost, the failure modes, and which of these three you should be running. - [Headless CMS 2026: Both Free On-Ramps Closed This Summer](https://ondelva.com/blog/2026/08/headless-cms-2026-contentful-vs-sanity-vs-strapi-vs-payload): Strapi deletes every remaining free Cloud project on 1 September, and its cheapest paid tier still sleeps when idle and takes no backups. Payload Cloud stopped accepting new deployments after the Figma acquisition. What is left is a self-hosting decision wearing a comparison table. - [Debian 11 Dies on 31 August, and It Is Hiding in Your Base Images](https://ondelva.com/blog/2026/08/debian-11-bullseye-end-of-life-august-2026-docker-migration-playbook): The people this deadline catches are not Debian admins. They run python:3.9-slim and have never once thought about what is underneath it. Nine days to find out. - [Search Pricing in 2026: Four Vendors, Four Different Units](https://ondelva.com/blog/2026/07/algolia-vs-meilisearch-vs-typesense-vs-elasticsearch-2026-search-pricing): Algolia counts requests and records, Typesense counts RAM-hours, Meilisearch will count either, and Elastic switched to VCU-hours. Off the published rates, a $129.60 Typesense box equals Algolia at 269,000 searches a month. - [Postman Alternatives: Every Free Tier Withholds a Different Thing](https://ondelva.com/blog/2026/07/postman-alternatives-2026-bruno-vs-insomnia-vs-hoppscotch): Bruno's free tier cannot use a private Git repository, which is the entire point of Bruno. Insomnia's free Git Sync stops at three users. Hoppscotch withholds the least and runs in a browser. What each one costs once the free tier stops fitting. - [EWS Retirement: The Value That Keeps It On Is Null, Not True](https://ondelva.com/blog/2026/07/exchange-web-services-ews-retirement-microsoft-graph-migration-guide-2026): From 1 October, EWSEnabled=True with an empty allow list blocks every EWS call in the tenant, and Null is the value that keeps EWS running. The end-of-August date is not a registration with Microsoft, and the kiosk block quietly moved to October. - [SharePoint 2016 and 2019: No ESU, and No Staying Put](https://ondelva.com/blog/2026/07/sharepoint-2016-2019-end-of-support-july-2026-spse-vs-sharepoint-online): Support ended 14 July 2026, the same day as SQL Server 2016. SQL Server sells you three more years by the core-hour. SharePoint sells you nothing, and Subscription Edition is not staying put: it is a new farm, a database attach, and a license that exists only while Software Assurance does. - [React, Vue, Svelte, Solid: The Clock Is on the Meta-Framework](https://ondelva.com/blog/2026/07/svelte-vs-react-vs-vue-vs-solid-2026): None of the four publishes an end-of-life date. The layer you actually deploy does, and the two policies could not be further apart: Next.js gives a major two years of maintenance, Nuxt gives six months after the next one ships. Nuxt 3 ended three weeks ago. - [Secret Scanning 2026: The Default Tool Stopped Shipping](https://ondelva.com/blog/2026/07/secret-scanning-2026-gitleaks-betterleaks-trufflehog-github-secret-protection-gitguardian): Gitleaks has 28,909 stars and its last release was five months ago, because its author put a warning in the README and moved to a fork with 1,757. Meanwhile the layer that actually prevents a leak is the one most teams skip, and only one of the four layers is prevention at all. - [Content API for Shopping Is Off: Merchant API v1, After the Fact](https://ondelva.com/blog/2026/07/content-api-for-shopping-shutdown-august-2026-merchant-api-v1-migration): Google sunset Content API for Shopping on 18 August 2026. The hostname still answers and the discovery document still updates, so a 200 proves nothing. What is left is extended access, a registration step that fails by returning an empty list, and prices in micros. - [npm v12 Blocks Install Scripts: The Allowlist Migration](https://ondelva.com/blog/2026/07/npm-v12-install-scripts-blocked-allowlist-migration-playbook): Three defaults flipped in npm 12 and the failure mode is silent, not loud. Here is what breaks, how the approve-scripts allowlist works, and why npm still ships its cooldown turned off while pnpm turns it on. - [Your Assistants Threads Do Not Survive 26 August](https://ondelva.com/blog/2026/07/openai-assistants-api-shutdown-august-2026-responses-conversations-migration): One part of this migration has a deadline you cannot move, and it is not the code. Thread contents stop being reachable through the API the moment the endpoints go. The rewrite can slip a month. The export gets one chance. - [Oracle JDK 21 Free Updates End: The Deadline Is a Patch Date](https://ondelva.com/blog/2026/07/oracle-java-21-free-updates-end-september-2026-cost-decision): Updates to Oracle JDK 21 released after September 2026 move to the paid license, and Oracle ships JDK updates quarterly. The next quarterly update is 20 October 2026. Same bytecode from Temurin or Corretto gets patched for three to five more years, free. - [MCP 2026-07-28: The Server Can No Longer Speak First](https://ondelva.com/blog/2026/07/mcp-2026-07-28-stateless-spec-migration-server-authors): Sessions, ping, server-initiated requests, resumable streams, and the GET endpoint all went in one release. Roots, Sampling, and Logging are deprecated on top. Every removal moves initiative from the server to the client, and that is the migration. - [Zapier vs Make vs n8n 2026: The AI-Agent Pricing Trap](https://ondelva.com/blog/2026/07/zapier-vs-make-vs-n8n-2026-ai-agent-pricing-per-task-vs-per-execution): Zapier bills per task, Make per credit, n8n per execution. The same five-step workflow costs wildly different amounts depending on which word your invoice uses. - [Managed Database Pricing: The Instance Rate Decides the Least](https://ondelva.com/blog/2026/07/managed-database-pricing-2026-rds-aurora-cloud-sql-azure-sql-hidden-costs): Four providers meter four different things, and each one hides the pain somewhere else: a per-request I/O charge, a storage tier you cannot shrink, an HA checkbox that doubles the bill, a size you configured once and now pay for forever. - [AGENTS.md vs CLAUDE.md vs Cursor Rules: Writing One in 2026](https://ondelva.com/blog/2026/07/agents-md-vs-claude-md-cursor-rules-how-to-write-2026): Which tool reads which file, how to feed all of them from one source, and the size budget that decides whether the agent actually follows your rules. - [GitHub Models Is Gone, and the Error Message Says Otherwise](https://ondelva.com/blog/2026/07/github-models-retired-july-2026-migration-azure-foundry-openrouter-self-host): The endpoint returns 410 Gone with a body that calls it a temporary brownout. Trust the status code. Then work out what you actually lost, because the thing you are replacing cost zero and every replacement does not. - [Postgres 18: Async I/O, uuidv7, and Whether It Helps You](https://ondelva.com/blog/2026/07/postgresql-18-upgrade-async-io-uuidv7-should-you-upgrade-2026): Postgres 14 stops getting fixes on 12 November, 19 arrives in September, and 18 is the version to land on. What actually changed in the storage layer, and how to tell in advance whether you will feel any of it. - [.NET 8 and 9 End of Support: The .NET 10 Migration](https://ondelva.com/blog/2026/07/dotnet-8-9-end-of-support-november-2026-net-10-migration-playbook): Both versions stop getting patches on 10 November 2026, so staying on the LTS bought you nothing. What actually breaks is mostly .NET 9's doing, and the obsolete-API warnings you have been scrolling past are still warnings. - [Python 3.10 End of Life: The October 2026 Upgrade Playbook](https://ondelva.com/blog/2026/07/python-3-10-end-of-life-october-2026-upgrade-playbook): Security patches stop on 31 October 2026, but Ubuntu 22.04 stays supported until April 2027 and Lambda keeps accepting updates until March. Four deadlines that do not line up, and the two that actually bite. - [Mesh VPN Pricing in 2026: Your Bill Is a Device-to-User Ratio](https://ondelva.com/blog/2026/07/mesh-vpn-pricing-2026-tailscale-vs-netbird-vs-zerotier-vs-twingate-vs-netmaker): Tailscale charges per seat, ZeroTier per device, NetBird per active user against a machine allowance, Twingate per person who can request access. The cheapest one flips as your infrastructure grows, and nothing about the products changes. - [Feature Flags 2026: LaunchDarkly Stopped Charging for Seats](https://ondelva.com/blog/2026/07/feature-flag-platforms-2026-launchdarkly-vs-flagsmith-vs-unleash-vs-posthog-vs-growthbook): LaunchDarkly now bills per server-side SDK connection and per client MAU with unlimited seats, which turns the old advice about moving evaluation server-side upside down. Unleash relicensed to AGPL in May and its open-source Edge dies on 31 December. - [Bitbucket App Passwords Are Gone: Three Usernames, One Token](https://ondelva.com/blog/2026/07/bitbucket-app-passwords-removed-july-2026-api-token-migration-playbook): App passwords were removed on 28 July 2026. The migration is a thirty-minute swap per system, except for the part nobody documents in one place: which username goes with which credential. There are three answers and picking the wrong one returns 401 with a perfectly good token. - [CDN Pricing in 2026: The Rate Card Is Not the Unit](https://ondelva.com/blog/2026/07/cdn-pricing-2026-cloudfront-vs-cloudflare-vs-fastly-vs-bunny-vs-akamai): Five providers, three volumes, list prices read off the vendors' own price files. The gap between the cheapest and the most expensive at 50 TB is 18x, and almost none of it comes from the per-GB number. - [Ubuntu 25.10 Is Obsolete and apt Still Reports Success](https://ondelva.com/blog/2026/07/ubuntu-25-10-end-of-life-upgrade-26-04-lts-playbook-2026): Launchpad marks 25.10 Obsolete, but the repositories are still on archive.ubuntu.com, frozen since July. So apt update succeeds, unattended-upgrades logs a clean run, and nothing on the machine tells you patches stopped. - [Next.js 16 Hydration Errors: One Rule, Seven Causes, and Two Myths](https://ondelva.com/blog/2026/07/nextjs-16-hydration-errors-react-19-causes-fixes-2026): React 19 did not turn hydration warnings into errors. They were always errors. What changed is that you now get one message with a diff instead of five without one, which makes the bug findable. - [Best LLM Observability Tools in 2026: Langfuse vs LangSmith vs Braintrust vs Arize Phoenix vs Helicone](https://ondelva.com/blog/2026/07/best-llm-observability-eval-tools-2026-langfuse-vs-langsmith-vs-braintrust-vs-arize-phoenix-vs-helicone): The category split into three different jobs, and each tool bills for a different thing. Which one is cheapest depends entirely on the shape of your team and your traffic. - [Splunk 9.3 Is Past End of Support: Which 10.x to Land On](https://ondelva.com/blog/2026/07/splunk-enterprise-9-3-end-of-support-july-2026-upgrade-10-0-playbook): 9.3 went out on 24 July 2026 and 9.4 follows on 16 December, so the stepping-stone plan is gone. Splunk sells 24 months from a minor's release date, which makes the version you pick a purchase of months. The walls are the CPU, the certificates, and the forwarders. - [ELT Pricing in 2026: The Unit Decides Which Data Is Expensive](https://ondelva.com/blog/2026/07/fivetran-vs-airbyte-vs-stitch-vs-meltano-vs-estuary-elt-pricing-2026): Fivetran counts rows that changed and does not charge for the initial load. Estuary counts gigabytes and charges per connector instance in both directions. Airbyte stopped publishing its rate entirely. Five tools, five units, and the one that fits depends on how your biggest table churns. - [containerd 1.7 End of Support: Migrating Kubernetes Nodes to 2.x](https://ondelva.com/blog/2026/07/containerd-1-7-end-of-support-migrate-containerd-2-kubernetes-2026): Security support for containerd 1.7 stops on 1 September 2026. Go to 2.3 rather than 2.0, convert your registry config before you touch the binary, and let the 1.7 deprecation warnings write your checklist. - [RDS MySQL 8.0 Is on the Meter. MariaDB Has No Meter to Get On.](https://ondelva.com/blog/2026/07/rds-mysql-8-0-end-of-support-2026-extended-support-cost-upgrade-8-4): Extended Support for RDS MySQL 8.0 started billing on 1 August 2026 at $0.10 per vCPU-hour, standbys included. RDS for MariaDB was never eligible, which makes 31 December a harder deadline than any invoice. - [Self-Hosted Status Pages: Check the Commit Log First](https://ondelva.com/blog/2026/06/self-hosted-status-page-uptime-monitoring-2026-uptime-kuma-vs-gatus-vs-statping-ng-vs-openstatus): One of these four has shipped nothing in fourteen months. Another closed multi-region monitoring as not planned. A third dropped its Cloudflare requirement and is now a docker compose file. The comparison tables have not caught up. - [SQL Server 2016 Is Past End of Life: Read the ESU Meter](https://ondelva.com/blog/2026/06/sql-server-2016-end-of-life-july-2026-upgrade-azure-esu-cost-decision-guide): Support ended 14 July 2026 and Extended Security Updates run to 17 July 2029. The escalating 75/150/300 percent table everyone quotes is not what the Azure meter charges, and waiting to subscribe does not save you a dollar. - [Passkeys in Production: Two Fields Say Who Needs a Second One](https://ondelva.com/blog/2026/06/passkeys-in-production-2026-webauthn-implementation-playbook-rp-id-account-recovery-windows-hello): Your registration response already tells you whether the passkey the user just made will survive their next laptop. credentialDeviceType and credentialBackedUp turn the blanket advice to register two devices into a prompt for the people who actually need it. - [The Azure DevOps Issuer Is Deprecated: Find Yours Before 2027](https://ondelva.com/blog/2026/06/azure-devops-issuer-retirement-2026-entra-issuer-migration-playbook): Deprecation started 1 July 2026 and the issuer dies 1 July 2027. Nothing breaks in between, which is the problem. The issuer is not a documented field on the service connection, so finding every affected one means grepping the raw REST response. - [Transactional Email 2026: SES Changed What Happens by Default](https://ondelva.com/blog/2026/06/best-transactional-email-api-2026-resend-vs-sendgrid-vs-postmark-vs-ses-vs-mailgun): Amazon SES is the $0.10 per thousand everyone quotes. From 21 July 2026, new accounts start on a plan that charges $0.16, and the cheap number is something you opt into. Meanwhile the break-even against a managed provider is roughly ten times higher than the usual advice says. - [TypeScript 7 Shipped Without the API Your Tools Use](https://ondelva.com/blog/2026/06/typescript-7-go-native-compiler-tsgo-migration-2026): TypeScript 7.0 went GA on 8 July 2026 and type-checks VS Code in 10.6 seconds instead of 125.7. It also ships no compiler API until 7.1, and typescript-eslint's peer range still stops at 6.x. The upgrade is an install-both, not a swap. - [Lambda vs Containers: The Break-Even Is 46% Duty Cycle, Not 15%](https://ondelva.com/blog/2026/06/aws-lambda-vs-containers-cost-break-even-2026-lambda-managed-instances): Run the two rate cards against each other and Lambda costs 2.15 times Fargate for the same CPU and memory, so it stays cheaper until the function is busy nearly half the time. Lambda Managed Instances lands within 1% of Fargate, which is not where the announcement pointed. - [Node 20 Is Past End of Life: Two Platforms, Two Clocks](https://ondelva.com/blog/2026/06/github-actions-node-20-deprecation-migrate-node-24-2026): Node 20 stopped getting patches on 30 April 2026. GitHub Actions forced every action onto Node 24 seven weeks later. AWS Lambda pushed its enforcement out to March 2027. Neither date is the one that was announced last year. - [Free-Threaded Python 3.14: What Actually Decides If You Get Parallelism](https://ondelva.com/blog/2026/06/python-3-14-free-threaded-gil-removal-production-ready-2026): I ran the same threaded workload on 3.14 and 3.14t on a 10-core laptop: 1.00x versus 3.53x on four threads. The interesting part is the two things that silently take that away, and neither of them is Python. - [AI SRE Agents 2026: Five Products, Five Different Meters](https://ondelva.com/blog/2026/06/ai-sre-agents-2026-aws-devops-agent-vs-datadog-bits-vs-pagerduty-vs-incident-io-vs-resolve-ai): One bills agent-seconds, one bills AI credits at roughly 6.5 per investigation, two bill seats, and one will not tell you. The word agent got stretched across five product shapes, and the meter is the fastest way to work out which one you are looking at. - [Best AI for Excel & Google Sheets in 2026: Claude vs Copilot vs ChatGPT vs Julius vs Gemini](https://ondelva.com/blog/2026/06/best-ai-for-excel-google-sheets-2026-claude-vs-copilot-vs-chatgpt-vs-julius-vs-gemini): Formula correctness, messy-data cleaning, and what leaves your tenant. Which spreadsheet AI to reach for depends mostly on where your data already lives. - [Agent Memory in 2026: Four Tools, Four Different Meters](https://ondelva.com/blog/2026/06/ai-agent-memory-2026-mem0-vs-zep-vs-letta-vs-cognee): Mem0 bills add and retrieval requests, Zep bills credits, Letta bills active agents and seconds of tool execution, Cognee bills tokens ingested. All four are Apache-2.0, so the meter matters more than the feature list. - [Postgres Connection Pooling in 2026: PgBouncer vs PgCat vs Supavisor vs RDS Proxy vs Pgpool-II](https://ondelva.com/blog/2026/06/postgresql-connection-pooling-pgbouncer-vs-pgcat-vs-supavisor-vs-rds-proxy-vs-pgpool-2026): Picking a Postgres pooler is mostly picking a pooling mode and living with what it breaks. Five options, what each one is actually for, and the setting that stopped being a footgun. - [Amazon Linux 2 Is Past End of Life: The AL2023 Migration in Practice](https://ondelva.com/blog/2026/06/amazon-linux-2-end-of-life-al2023-migration-2026): AL2 stopped getting security updates on 30 June 2026. The upgrade is not a version bump, it is a different distribution, and these are the specific pieces that break. - [Terraform: Error Acquiring the State Lock, and the Config That Silently Takes No Lock](https://ondelva.com/blog/2026/06/fix-terraform-error-acquiring-state-lock-force-unlock-s3-lockfile): How to read the lock block before you break it, when to clear a DynamoDB record by hand, and the migration to S3-native locking that has one combination which locks nothing and warns about nothing. - [Spring Boot 3.5 Is Past End of Life: What the 4.0 Migration Actually Breaks](https://ondelva.com/blog/2026/06/spring-boot-3-5-end-of-life-spring-boot-4-migration-what-breaks-2026): The last open source 3.5 release shipped in June and nothing has followed it. Here is the real list of what changes on the way to 4.x, in the order it will bite you. - [Cloud GPU Pricing in 2026: What an H100 Hour Actually Costs](https://ondelva.com/blog/2026/06/cloud-gpu-pricing-2026-runpod-lambda-coreweave-vast-vs-aws-gcp-azure): Per-GPU hourly rates off the vendor pages, and the thing the rate sheet gives away: the cheap-to-expensive order is not the same on Blackwell as it is on Hopper. - [HCP Terraform's Free Tier Ended in March. Now Read the Meter](https://ondelva.com/blog/2026/06/hcp-terraform-free-tier-eol-migration-spacelift-scalr-env0-atlantis-opentofu-2026): You are already on the enhanced Free tier, and the question is what happens at 500 resources. The alternatives repriced hard since March, and one of them now starts at $20,000 a year. - [Two of the Three Secure Boot Certificates Already Expired. The Third Is 19 October.](https://ondelva.com/blog/2026/06/secure-boot-certificate-expiration-2026-playbook-windows-linux-vms-ci): Nothing bricked in June, because UEFI checks whether a certificate is in the database, not whether it is still valid. What expiry actually took away is the ability to sign, and the Windows boot manager is the last one holding. - [What Coding Agents Actually Charge You in 2026](https://ondelva.com/blog/2026/06/terminal-coding-agents-grok-build-vs-claude-code-vs-codex-cli-vs-gemini-cli-2026): Claude Code, Codex, Copilot, Cursor, Gemini CLI, and Grok Build meter your work in four incompatible ways. The meter, not the model, is what decides your bill. - [Kubernetes 1.35 and cgroup v1: What Broke, and What Did Not](https://ondelva.com/blog/2026/06/kubernetes-1-35-cgroup-v1-removed-migration-playbook-2026): The kubelet stopped starting on cgroup v1 in 1.35, and one line of config still turns that off. The code is not gone, no removal release has been named, and the deadline that actually costs you money is somewhere else. - [Valkey vs DragonflyDB vs Redis in 2026, and Whether You Need Any of Them](https://ondelva.com/blog/2026/05/valkey-vs-dragonflydb-vs-redis-2026): The license fight that started the fork has quietly changed again. Here is where the three engines actually differ, and why a lot of Redis deployments are a cache, a queue, and a channel that Postgres already handles. - [Agent Frameworks in 2026: LangGraph, CrewAI, Agents SDK, Pydantic AI, Mastra](https://ondelva.com/blog/2026/05/ai-agent-frameworks-langgraph-crewai-openai-agents-pydantic-mastra-2026): They have converged on the same loop, so the choice is about the shape of orchestration you want and whether the project is still where its vendor invests. One popular answer has already been superseded. - [Self-Hosted Observability in 2026: What You Save and What You Pay Instead](https://ondelva.com/blog/2026/05/self-hosted-opentelemetry-signoz-grafana-lgtm-openobserve-uptrace-2026): Datadog bills per host, Grafana and SigNoz bill per GB, Sentry bills per event. Running it yourself replaces all three with storage and your own time, and the license fine print decides whether you can. - [Ingress-NGINX Is Archived: Reading the CVE Log Before You Migrate](https://ondelva.com/blog/2026/05/ingress-nginx-retired-migration-traefik-envoy-gateway-kong-2026): The repository was archived on 23 March 2026 with a CVE published the same day as its final release. Seven landed in the ten weeks before that, all the same shape, and that shape is exactly what makes the migration hard. - [Commitment Discounts in 2026: Read the Exclusion List First](https://ondelva.com/blog/2026/05/aws-savings-plans-vs-reserved-instances-vs-spot-2026): Savings Plans, Reserved Instances, and Spot all advertise a percentage. The number that decides your bill is the list of things the discount never touches, and both AWS and Azure moved that line this year. - [Docker Exit Code 137 (OOMKilled): Causes and Real Fixes](https://ondelva.com/blog/2026/05/fix-docker-exit-code-137-oomkilled-container-killed): 137 is 128 plus SIGKILL, and raising the memory limit is the right fix for exactly one of the four things that send it. Two commands tell you which one you have. - [Best AI Code Security Tools in 2026: Snyk vs Semgrep vs Endor Labs vs Socket vs Aikido vs GitHub Advanced Security](https://ondelva.com/blog/2026/05/best-ai-code-security-tools-2026-snyk-semgrep-endor-labs-socket-aikido): Agents ship vulnerabilities faster than anyone can review them. SAST, SCA, and package firewalls compared, plus why the hallucinated dependency is the door people leave open. - [uv vs Poetry vs pip vs PDM: Python Package Managers in 2026](https://ondelva.com/blog/2026/05/uv-vs-poetry-vs-pip-vs-pdm-python-package-manager-2026): I timed the same 59-package install four ways: pip takes 15 seconds warm, uv takes half a second. Plus what the OpenAI acquisition actually changes, and the lockfile standard nobody mentions. - [Fix CORS Errors: Where the Wildcard Stops Being a Wildcard](https://ondelva.com/blog/2026/05/fix-cors-error-nextjs-express-fastapi-django): The server already ran your handler. What is left is a permission header, and the star you pasted into it means four different things depending on the request. Next.js, Express, FastAPI and Django defaults compared, plus the failure no header can fix. - [Postgres Backup Tools in 2026: Read the Release Log First](https://ondelva.com/blog/2026/05/postgresql-backup-tools-wal-g-barman-pgbackrest-pg-probackup-2026): pgBackRest nearly lost its maintainer in April and is shipping again. The scare pointed at the two questions worth asking about any of these four tools: who keeps it alive, and who computes the incremental. - [Neon vs PlanetScale vs Turso vs Supabase vs Firebase in 2026](https://ondelva.com/blog/2026/05/neon-vs-planetscale-vs-turso-vs-supabase-serverless-postgres-2026): Four of these are not the same product, and the free tiers fail in four different ways. What each one actually charges for, and which shape of application each one fits. - [Best AI Image Generators 2026: Midjourney, Flux, Ideogram](https://ondelva.com/blog/2026/05/best-ai-image-generators-2026-midjourney-flux-ideogram-recraft-firefly): There is no single winner left. A use-case-first look at Midjourney, FLUX.2, Ideogram, Recraft, Nano Banana Pro, and Firefly, with the licensing terms that decide it for most companies. - [Kong vs Apigee vs Tyk vs APISIX vs KrakenD in 2026](https://ondelva.com/blog/2026/05/kong-vs-apigee-vs-tyk-vs-apisix-vs-krakend-2026): Kong's open source gateway stopped at 3.9 while Enterprise shipped 3.15, and Konnect charges ten times what Apigee does per million requests. Both facts reorder the shortlist. - [Best AI Meeting Note Takers 2026: Granola vs Fathom vs Otter](https://ondelva.com/blog/2026/05/best-ai-meeting-note-takers-2026-granola-fathom-otter-fireflies): Bot or no bot is the first decision, not a vibes question. Granola, Fathom, Otter, and Fireflies compared on coverage model, CRM sync, compliance, and real cost at 5, 25, and 100 seats. - [Object Storage in 2026: R2 vs S3 vs B2 vs Wasabi vs Tigris](https://ondelva.com/blog/2026/05/cloudflare-r2-vs-s3-vs-backblaze-vs-wasabi-vs-tigris-2026): Store a terabyte, serve five, and S3 bills $464 while R2 bills $15. The egress line is the whole comparison, and two of the cheap options have fine print that undoes it. - [AI Agent Payment Protocols 2026: x402, MPP, AgentCore](https://ondelva.com/blog/2026/05/ai-agent-payment-protocols-2026-x402-mpp-agentcore-visa-mastercard): These protocols are not competing for the same job. Authorization, checkout, and settlement are three different layers, and knowing which one you are shopping for settles most of the argument. - [Best AI Search APIs for Agents 2026: Tavily vs Exa vs Serper](https://ondelva.com/blog/2026/05/best-ai-search-apis-2026-tavily-exa-serper-firecrawl): Four different products wear the same label. Which one you need depends on whether you want URLs, passages, or clean text, and the bill is decided by how many pages you fetch, not how many searches you run. - [Kafka Alternatives in 2026: AutoMQ, WarpStream, Redpanda, NATS](https://ondelva.com/blog/2026/05/kafka-alternatives-automq-warpstream-redpanda-nats-2026): Three replicas on EBS plus cross-AZ traffic is where a Kafka bill actually goes, and at AWS list rates that line is sixteen times what the same data costs on S3. Diskless is now everyone's answer, including Kafka's. - [Best AI Voice Agent Platforms 2026: Vapi vs Retell vs Bland](https://ondelva.com/blog/2026/05/ai-voice-agent-platforms-2026-vapi-retell-bland-synthflow-elevenlabs-deepgram): Voice finally works because the pipeline collapsed. What each platform actually charges per minute once the model passthrough is counted, and the three things that decide whether your agent feels broken. - [Stripe Managed Payments vs Paddle vs Lemon Squeezy in 2026](https://ondelva.com/blog/2026/05/stripe-managed-payments-vs-paddle-vs-lemon-squeezy-2026): Stripe now sells the merchant of record product it also owns a competitor to. Verified rates for six options, and the revenue level where paying the surcharge starts making sense. - [Opsgenie Is Turned Off in April 2027, and One Clock Is Floating](https://ondelva.com/blog/2026/05/opsgenie-shutdown-migration-pagerduty-incident-io-grafana-2026): Two of the three dates are fixed and public. The one that catches teams is the 120-day window that starts the day you migrate, and it only applies if you take Atlassian's own exit. - [Snowflake vs Databricks vs BigQuery vs Redshift: Read the Meter](https://ondelva.com/blog/2026/05/snowflake-vs-databricks-vs-bigquery-vs-redshift-2026): The four warehouses have converged on features and not on billing units. Warehouse-seconds, bytes scanned, slot-hours, DBUs, and RPU-hours do not convert, and the minimum charge on a short query varies by a factor of sixty. - [Cloud Cost Tools in 2026: What They Attribute, and What They Can Change](https://ondelva.com/blog/2026/05/cloudzero-vs-vantage-vs-infracost-vs-nops-2026): Cost Explorer says EC2 went up. Every tool in this category exists to answer the next question, and they answer it at four different layers, against numbers that are not always what you paid. - [Hyperscaler Agent Platforms in 2026: Bedrock AgentCore vs Agent 365 vs Gemini Enterprise](https://ondelva.com/blog/2026/05/hyperscaler-agent-platforms-2026-gemini-enterprise-vs-bedrock-agentcore-vs-azure-foundry): AWS bills your agents by the vCPU second. Microsoft and Google bill by the person. That single difference decides more about your bill than any model choice. - [AI Data Analyst Tools in 2026: Notebooks, Warehouse Agents, and BI Search](https://ondelva.com/blog/2026/05/ai-data-analyst-platforms-2026-hex-julius-cortex-genie-thoughtspot): Three different products get sold under the same phrase, and the one that decides whether any of them works is a semantic model you probably have not written. - [Durable Execution Pricing: Three Count Steps, One Counts Seconds](https://ondelva.com/blog/2026/05/trigger-dev-vs-inngest-vs-temporal-2026): Inngest, Temporal and now Lambda all bill per step, and a five-step run costs six of whatever they count. Trigger.dev bills compute-seconds instead. Same workload, four rate cards, and one of them cannot be filled in from public prices. - [Railway vs Render vs Fly.io vs Koyeb: PaaS Pricing 2026](https://ondelva.com/blog/2026/05/railway-vs-render-vs-fly-vs-koyeb-2026): What a small always-on app actually costs on each, and the specific line item on each platform that turns a $10 bill into a $200 one. - [AI Inference Providers 2026: Honest Comparison Guide](https://ondelva.com/blog/2026/05/ai-inference-providers-2026-groq-cerebras-together-fireworks-baseten): Custom silicon against GPU platforms, and the question that settles it: what is your user doing while the tokens stream? Speed is worth paying for in exactly two of the four common workloads. - [Drizzle vs Prisma vs Kysely: Choosing a TypeScript ORM in 2026](https://ondelva.com/blog/2026/05/drizzle-vs-prisma-vs-kysely-2026): Prisma 7 dropped its Rust engine and Drizzle joined PlanetScale, which killed both of the easy reasons to pick a side. What is left is a question about how much SQL you want to write. - [pgvector vs Pinecone vs Qdrant vs Weaviate: The WHERE Clause Decides](https://ondelva.com/blog/2026/05/pgvector-vs-pinecone-vs-qdrant-vs-weaviate-2026): Nobody picks a vector store on unfiltered QPS, because nobody runs unfiltered queries. What separates these four is what happens when you add a tenant filter, and which version you are pinned to. - [Linear vs Jira vs Asana in 2026: Price the Exit, Not the Seat](https://ondelva.com/blog/2026/05/linear-vs-jira-vs-asana-2026): The seat prices are close enough that they should not decide this. Jira Data Center is being retired, Atlassian bills your peak headcount each month, and the MCP gap that looked like Linear's moat a year ago closed on all three. - [AI Code Review in 2026: CodeRabbit vs Greptile vs What You Already Pay For](https://ondelva.com/blog/2026/04/ai-code-review-tools-2026-coderabbit-vs-greptile): These tools bill per seat or per review, and that choice decides whether you review every pull request. The harder number is how many comments your team ignores before it stops reading them. - [Cloudflare Containers vs Fargate vs Fly: The Meter You Cannot Turn Off](https://ondelva.com/blog/2026/04/cloudflare-containers-vs-fargate-vs-flyio): At half an hour of work a day, all three container meters land within seven cents of each other. What separates them is whatever has to stay awake to receive the request: $5 for a Worker, cents for a stopped Fly machine, $16.43 a month for a load balancer before the container starts. - [Best LLM Gateway 2026: Portkey, OpenRouter, LiteLLM](https://ondelva.com/blog/2026/04/llm-gateway-portkey-vs-openrouter-vs-litellm-vs-cloudflare-vs-kong): Five gateways took most of the production traffic this year. Routing, cost, and governance compared, plus the honest ops bill behind the cheap option. - [Vault vs Doppler vs Infisical: Count Your Machines First](https://ondelva.com/blog/2026/04/hashicorp-vault-vs-doppler-vs-infisical-2026): Twelve engineers and forty CI identities run about $252 a month on one of these and about $5,800 on another. The unit printed on the invoice is most of the comparison. The rest is which directory the audit log lives in. - [Backstage vs Port vs Cortex: Only One Publishes a Price](https://ondelva.com/blog/2026/04/backstage-vs-port-vs-cortex-2026): Port lists $30 and $40 a seat and caps entities and automation runs on top, and its own two tables disagree about the run limit. Cortex and Spotify publish nothing. The free option ships a minor release every month and backports security fixes for six. - [MCP Servers for DevOps: The Install Line Is the Security Boundary](https://ondelva.com/blog/2026/04/best-mcp-servers-devops-setup-guide): Setup guides tell you to run npx -y @anthropic-ai/github-mcp-server. That package does not exist. The useful part of an MCP setup is not the list of servers, it is how you resolve which artifact is really the vendor's. - [Node vs Deno vs Bun: Pick the Support Window, Not the Benchmark](https://ondelva.com/blog/2026/04/deno-vs-bun-vs-nodejs-javascript-runtime-comparison): Node publishes end-of-life dates four years out. Deno maintains one LTS line at a time and has already left a two-month gap between two of them. Bun's security policy lists one supported version: 1.x. - [Workers vs Lambda vs Vercel: The Ranking Flips on One Question](https://ondelva.com/blog/2026/04/cloudflare-workers-vs-aws-lambda-vs-vercel-functions): Cloudflare bills CPU time, Lambda bills wall-clock, and Vercel splits the difference by pausing CPU billing during I/O while memory keeps running. At 100M requests the cheapest and the most expensive swap places depending on whether your function waits or computes. - [OrbStack vs Podman Desktop vs Rancher Desktop in 2026](https://ondelva.com/blog/2026/04/orbstack-vs-podman-desktop-vs-rancher-desktop): Docker Desktop's license threshold is the reason most teams start looking. Here is what the three usual replacements actually cost you in compatibility, security posture, and money. - [GitHub Actions Pricing in 2026, and What the Other Three Meter](https://ondelva.com/blog/2026/04/github-actions-pricing-2026): Hosted runners got cheaper in January and the per-job rounding rule still quietly costs you more than any of it. And before you price a move to GitLab, CircleCI, or Buildkite: none of the four bill the same unit. - [Beyond Kubernetes: 5 Simpler Alternatives for Small Teams](https://ondelva.com/blog/2026/04/kubernetes-alternatives-small-teams-2026): Kubernetes is extraordinary engineering and wildly overbuilt for most teams under fifteen engineers. Five things that are genuinely production-grade and stop one rung earlier. - [AWS DevOps Agent and Security Agent: Read the Second Meter](https://ondelva.com/blog/2026/04/aws-frontier-agents-devops-security): Both bill by the second, both look cheap, and neither price is the whole bill. The agent-second rate covers the agent; the observability calls it makes to do its job are billed at their own rates, and the support credits that offset the first do not touch the second. - [Tailscale vs Cloudflare Tunnel vs ngrok in 2026](https://ondelva.com/blog/2026/04/tailscale-vs-cloudflare-tunnel-vs-ngrok-2026): These three get compared as if they do the same job. They don't, and the architecture diagram explains every difference in price, latency, and who can read your traffic. - [Playwright vs Cypress: Count the Majors, Then Read the Meter](https://ondelva.com/blog/2026/04/playwright-vs-cypress): Playwright has been on 1.x since 2020. Cypress has shipped eight majors since 2021, and each one stopped getting releases within weeks of the next. The paid meter is not what most comparisons say it is either. - [Google Gemma 4: Run It Locally and Build Your First AI Agent](https://ondelva.com/blog/2026/04/google-gemma-4-local-setup-ai-agent): Picking a Gemma 4 size for the hardware you already own, getting it running under Ollama, and wiring native function calling into a small agent loop. - [Terraform, OpenTofu, Pulumi: The Fork Is in the Registry](https://ondelva.com/blog/2026/04/terraform-vs-pulumi-vs-opentofu): The BUSL has an expiry date printed in it, four years per version, and IBM is the licensor. The split that actually changes what you can build is which registry your source address resolves to, and 3,198 provider names sit on only one side of it. ## Developer resources - [openapi.json](https://ondelva.com/openapi.json): OpenAPI 3.1 description of every public endpoint. - [sitemap.xml](https://ondelva.com/sitemap.xml): Every indexed URL. - [rss.xml](https://ondelva.com/rss.xml): Full post feed, RSS 2.0. - [search-index.json](https://ondelva.com/search-index.json): Every post and tool as JSON, body text included. - [Developer resources](https://ondelva.com/developers): The same list as a page, with the Accept negotiation rules. Every page listed above is also published as Markdown at its own path with `.md` appended: /tools/qr-code.md, /blog/2026/08/example.md, /index.md for the front page. That route needs no headers and is the one to reach for. The front page and the tool pages additionally answer `Accept: text/markdown`, carrying `Vary: Accept, Accept-Encoding`. Blog and archive pages are served as static files and do not negotiate, so ask those for `.md` directly. About and Privacy are written as HTML and have no Markdown variant. ## Elsewhere - [Korean blog](https://blog.ondelva.com): Korean-language writing on a wider range of subjects.