41554 blogs · [ { "id": "01a08755-af26-7250-8e42-93a5aeb48ce1", "title": "A File Can Replace Your Tile Server: The Engineering Behind PMTiles", "url": "https://blog.victorbona.dev/blog/a-file-can-replace-your-tile-server", "published_at": "2026-09-08T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cadc3d40f", "title": "Designing Data Pipelines That Stay Within a Memory Budget", "url": "https://blog.victorbona.dev/blog/data-pipelines-within-a-memory-budget", "published_at": "2026-09-08T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cae75ecf5", "title": "Fast Spatial Queries Without Losing Correctness", "url": "https://blog.victorbona.dev/blog/fast-spatial-queries-without-losing-correctness", "published_at": "2026-09-08T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6caeb475e6", "title": "Stop Reading the Whole Dataset: GeoParquet, Spatial Locality, and Query Pruning", "url": "https://blog.victorbona.dev/blog/geoparquet-spatial-locality-and-query-pruning", "published_at": "2026-09-08T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6caed35800", "title": "Status Is a Distributed System", "url": "https://blog.victorbona.dev/blog/status-is-a-distributed-system", "published_at": "2026-06-16T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6caee0366d", "title": "A PaaS Is a Reconciliation Loop With a Bill Attached", "url": "https://blog.victorbona.dev/blog/a-paas-is-a-reconciliation-loop-with-a-bill-attached", "published_at": "2026-06-09T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6caee0e556", "title": "Durable Execution: You're Already Building It, Badly", "url": "https://blog.victorbona.dev/blog/durable-execution-youre-already-building-it-badly", "published_at": "2026-06-09T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cafcfe484", "title": "Harness Engineering: AI Agents Are Easy, Production Is Not", "url": "https://blog.victorbona.dev/blog/harness-engineering-ai-agents-are-easy-production-is-not", "published_at": "2026-06-09T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cb066f6e3", "title": "Backups Are Not Snapshots", "url": "https://blog.victorbona.dev/blog/backups-are-not-snapshots", "published_at": "2026-06-07T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cb0711abc", "title": "Building Guara Cloud Like a Product, Not a Kubernetes Dashboard", "url": "https://blog.victorbona.dev/blog/building-guara-cloud-like-a-product-not-a-kubernetes-dashboard", "published_at": "2026-06-07T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cb117b185", "title": "Debugging Kubernetes Storage Incidents Without Lying to Yourself", "url": "https://blog.victorbona.dev/blog/debugging-kubernetes-storage-incidents-without-lying-to-yourself", "published_at": "2026-06-07T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cb181fbb7", "title": "A farewell to Deel", "url": "https://blog.victorbona.dev/blog/a-farewell-to-deel", "published_at": "2026-02-20T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cb18d84bc", "title": "Why I Decided to Go Baremetal", "url": "https://blog.victorbona.dev/blog/why-i-decided-to-go-baremetal", "published_at": "2026-01-20T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cb2111312", "title": "I built my own SQL IDE", "url": "https://blog.victorbona.dev/blog/i-built-my-own-sql-ide", "published_at": "2025-12-05T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cb2ee2d05", "title": "What I run on my homelab 2", "url": "https://blog.victorbona.dev/blog/what-I-run-on-my-homelab-2", "published_at": "2025-11-27T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cb3d247ce", "title": "Quintile: A Framework for Structured Collaborative AI Agents", "url": "https://blog.victorbona.dev/blog/quntile-a-framework-for-structured-collaborative-ai-agents", "published_at": "2025-10-20T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cb4c09476", "title": "The Hidden Cost of Abstractions: Why Clean Code Isn’t Always Good Code", "url": "https://blog.victorbona.dev/blog/the-hidden-cost-of-abstractions-why-clean-code-isnt-always-good-code", "published_at": "2025-10-20T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cb4f70cea", "title": "The Novelization Dilemma: The Gap Between Codebase Abstractions and Domain Knowledge on the AI era", "url": "https://blog.victorbona.dev/blog/novelization-dilemma-the-gap-between-codebase-abstractions-and-domain-knowledge", "published_at": "2025-05-30T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cb59e1d62", "title": "Quickly Start Your New SaaS With This Template", "url": "https://blog.victorbona.dev/blog/quickly_start_your_new_saas_with_this_template", "published_at": "2025-03-24T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cb5f2e43f", "title": "How to Properly Set Up Your SaaS in the Age of Vibe Coding", "url": "https://blog.victorbona.dev/blog/how-to-properly-set-up-your-saas-in-the-age-of-vibe-coding", "published_at": "2025-03-19T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cb6aa7352", "title": "TypeScript Goes Go", "url": "https://blog.victorbona.dev/blog/typeScript-goes-go", "published_at": "2025-03-12T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cb72dafa4", "title": "Understanding Software Scalability: Key Factors and Strategies", "url": "https://blog.victorbona.dev/blog/understanding-software-scalability-key-factors-and-strategies", "published_at": "2025-03-02T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cb743487f", "title": "Blockchain Fundamentals and Integrated Node Service", "url": "https://blog.victorbona.dev/blog/blockchain-fundamentals-and-integrated-node-service", "published_at": "2025-02-25T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cb78a9a00", "title": "The Art of Writing Clean Code: Practical Tips for Everyday Developers", "url": "https://blog.victorbona.dev/blog/the-art-of-writing-clean-code-practical-tips-for-everyday-developers", "published_at": "2025-02-19T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cb7a9e5ed", "title": "How I Built Threadrize", "url": "https://blog.victorbona.dev/blog/how_i_built_threadrize", "published_at": "2025-02-05T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cb813a827", "title": "Understanding Concurrency and Multithreading in Modern Software", "url": "https://blog.victorbona.dev/blog/understanding-concurrency-and-multithreading-in-modern-software", "published_at": "2025-02-04T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cb86bbc58", "title": "AI in Software Development: Enhancing Productivity and Innovation", "url": "https://blog.victorbona.dev/blog/ai-in-software-development-enhancing-productivity-and-innovation", "published_at": "2025-01-30T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cb900e236", "title": "The Future of AI in Software Development: Trends and Predictions", "url": "https://blog.victorbona.dev/blog/the-future-of-AI-in-software-development-trends-and-predictions", "published_at": "2025-01-27T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cb987b226", "title": "Over-Engineering: The enemy of good software", "url": "https://blog.victorbona.dev/blog/over-engineering-the-enemy-of-good-software", "published_at": "2025-01-20T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cb9eaffef", "title": "What I run on my homelab", "url": "https://blog.victorbona.dev/blog/what-i-run-on-my-homelab", "published_at": "2025-01-09T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cbadbbb23", "title": "Microservices in a nutshell: Good, Bad, and Ugly parts", "url": "https://blog.victorbona.dev/blog/microservices-made-easy-good-bad-and-ugly-parts", "published_at": "2025-01-08T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cbb8c90d7", "title": "What I Wish I Knew About APIs When I Started Coding", "url": "https://blog.victorbona.dev/blog/what-i-wish-i-knew-about-apis-when-i-started-coding", "published_at": "2025-01-04T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cbbb6c153", "title": "Avoiding Common Mistakes in API Rate Limiting", "url": "https://blog.victorbona.dev/blog/avoiding-common-mistakes-in-API-rate-limiting", "published_at": "2024-12-20T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cbbd2fcb0", "title": "7 Node.js Optimization Tips to Instantly Improve Performance", "url": "https://blog.victorbona.dev/blog/7-nodejs-optimization-tips-to-instantly-improve-performance", "published_at": "2024-12-18T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cbbe33a01", "title": "Understanding the Node.js V8 Engine: A Beginner's Guide", "url": "https://blog.victorbona.dev/blog/node-v8-engine-basics", "published_at": "2024-12-12T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cbc0845ec", "title": "The DRY Principle: Writing Maintainable Code by Avoiding Repetition", "url": "https://blog.victorbona.dev/blog/the-dry-principle", "published_at": "2024-12-11T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cbccf21d1", "title": "A Warm Welcome to My Tech Corner!", "url": "https://blog.victorbona.dev/blog/welcome", "published_at": "2024-12-07T00:00:00+00:00" }, { "id": "01a08755-af28-7220-b49a-fb6cbcd37666", "title": "Create a Simple Search Engine with Python and Math", "url": "https://blog.victorbona.dev/blog/create-a-simple-search-engine-with-python-and-math", "published_at": "2021-05-21T00:00:00+00:00" } ] posts Claim your blog
Back to blog.victorbona.dev
Blog · corpus.blog/blogs/blog.victorbona.dev/posts

blog.victorbona.dev

blog.victorbona.dev

2026

2025

2024

2021