Six ProcScript surprises from 60 Uniface services
Over the last two rounds of the series Building a customer app in Uniface 10 , the app grew by about 60 service operations: pipelines, owners, conta…
Tech news from the best sources
Over the last two rounds of the series Building a customer app in Uniface 10 , the app grew by about 60 service operations: pipelines, owners, conta…
I still write .bat files in 2026. I also refuse to build an identity around them. That distinction— legacy glue vs personality —is the retrospective…
Uniface is one of those tools you rarely read about, but that still runs a surprising amount of business software. I work with it regularly, and I w…
I maintain an ERP that runs a footwear factory. It is a Delphi VCL desktop application: 488 units, roughly 160,000 lines of Object Pascal, sitting o…
I wanted to know whether AI can understand legacy code. Not compile it. Understand it. The problem: real legacy systems don't come with an answer ke…
I want to make money with AI. Ideally, easy money. To put it more precisely: I want to hand as much as possible to AI, and do as little as possible…
The biggest refactor failures come from big steps. A 200-line function turns into a rewrite. The rewrite ships with a regression. The fix is to make…
Refactoring at enterprise scale is a different discipline from refactoring in an IDE. Renaming a method across one service is a right-click; retirin…
TL;DR: AI should not help us rewrite legacy systems faster, it should help us understand them better, modernize them safely, and design stronger arc…
Every engineer has met a cursed codebase. The file nobody edits without a small prayer. The function with a comment that says "DO NOT TOUCH" and no…
Lately I keep getting asked about legacy replacements. It's become one of the more common conversations I have, and the framing is almost always the…
Every bank, insurer, and government system running on a mainframe today is sitting on COBOL that nobody wants to touch and nobody can afford to leav…
Many companies still run production, warehousing, orders and invoicing on a business system that has been going for twenty years or more on an AS/40…
How I turned the pain of inheriting legacy systems into an open-source framework that produces structured diagnostics — tested on real production co…
Have you ever been at a situation where you have been recently hired to maintain a legacy project, an important project at your company, but the pre…
Why race‑condition crashes only appear under specific timing, vanish under debugging, and produce different stack traces on every run. Race‑conditio…
Before modernizing legacy systems with AI, assess your verification capacity. Migration requires testing, observability, human judgment, and methodo…
I was diagnosed with stage 3 cancer. Surgery is scheduled for December 31st. Last day of 2020. Fitting. I'm not going to use this space for medical…
You've inherited a system that nobody wants to touch. It's ten years old. There are class files with three thousand lines. The naming convention cha…
In the overview article Crash Patterns Overview: A Practical, Symptom‑First Guide to Debugging C++ Crashes , we introduced the two‑layer crash model…
What went up cannot all come down (for museum display).
This guide walks through a legacy pattern built around std::auto_ptr , something still found in many older C++ codebases. The pattern usually involv…
Anthropic's new Mythos Preview surfaced a 27-year-old vulnerability in OpenBSD — the most-audited operating system in commercial software — and gene…