Русский flag Русский

All Posts

Safe Find & Replace: How Not to Break Binaries

2025-12-30

When working on real projects (CDN change, migration, refactor) you often need to bulk-replace one URL with another.

At first glance the task seems trivial: sed -i 's|old|new|g' **/* — and done.

In reality that approach is Russian roulette.

A careless replacement leads to:

  • 💀 Corruption of binary files (images, pdf, archives);
  • 📉 Garbage in git history (binaries marked as changed);
  • 🚫 Inability to cleanly roll back if a backup wasn’t made.

In this note we’ll cover a production-grade algorithm: change only text, don’t touch binaries, make a targeted backup.

Kamal: a revolution in deployment, or how to escape cloud slavery

2025-12-23

Over the last ten years the web application deployment industry has evolved from FTP scripts and rsync to highly complex orchestration systems. Today developers and small teams increasingly face a difficult choice:

  • either pay a significant premium for the convenience of PaaS platforms (Heroku, Render, Fly.io),
  • or dive into the cognitive and operational complexity of Kubernetes.

Kamal offers a third way: the convenience of modern cloud services — on your own server.

Comparing database migration tools in AWS, GCP, and Yandex Cloud

2025-11-21

Moving to the cloud or changing providers is always open-heart surgery. An engineer has to solve a lot of issues: how to move terabytes of data with minimal downtime? How to convert the schema? How to set up CDC (Change Data Capture) so as not to lose a single transaction during the switch?

Each major cloud provider has its own answer. Approaches are radically different: some provide just a “pipe” for data, some — a full ETL combine, some make migration serverless and as trouble-free as possible.