Auditing Legacy Code Before Deciding on a Rewrite
Rewriting an old system is tempting and almost always costs more than expected. How to examine legacy code in a structured way so the decision rests on evidence rather than irritation.
I'm currently open to new projects and opportunities. Let's discuss your ideas!
Get in TouchMemuat...
Notes, tutorials, and lessons from building things on the web.
Rewriting an old system is tempting and almost always costs more than expected. How to examine legacy code in a structured way so the decision rests on evidence rather than irritation.
In Indonesia, email often goes unread while WhatsApp is almost always opened. Notes on choosing a gateway, queueing delivery, handling invalid numbers, and not turning into spam.
The redirect page after checkout is not proof of payment. Notes on treating the webhook as the source of truth, handling duplicate deliveries, and preparing for the webhook that never arrives.
A realistic road map into DevOps: the foundations you actually use day to day, a sensible order to learn them in, and the things beginners tend to skip.
A Docker walkthrough covering installation, the image and container model, writing an efficient Dockerfile, and running multi-service applications with Docker Compose.
Assembling a REST API worth shipping: project structure, input validation, centralised error handling, JWT authentication, and the security details that usually get missed.
What a recruiter really looks at in the first thirty seconds, how to write project case studies that convince, and the mistakes that make a developer portfolio work against its owner.
Understanding the two most-used hooks and their traps: stale closures, dishonest dependency arrays, race conditions while fetching, and when you should not reach for useEffect at all.
Assembling an automated pipeline from tests through deployment with GitHub Actions, covering caching, matrix builds, least-privilege tokens, and the traps that make pipelines brittle.
No articles in this category.