// writing
Notes from the build
Essays on enterprise software, legacy integration, and the side projects I make mostly as an excuse to learn something the hard way.
The thing that should already exist
The OutSystems Forge has a connector for almost everything — except COBOL. So every mainframe integration on the platform gets hand-rolled from byte offsets typed into a config file. Copybook parsing is a solved problem everywhere else — so I built it where it was missing, and proved it against a real compiler.
What's actually inside a copybook
PIC clauses, implied decimals, packed decimal, binary COMP, EBCDIC, signs, OCCURS and REDEFINES — the anatomy of a byte layout, and why a human counting characters gets it wrong.
Let the real files find the bugs
Fail loudly, never silently miscompute. How one genuine 1990s mainframe extract exposed four gaps that every synthetic test had missed.
Trust, but verify
How do you trust a parser whose whole job is byte offsets? Prove it three independent ways that don't quote each other — a real compiler, a third party's published values, and a human's hand-transcription.
I didn't write a line of the C#
The honest division of labour: I set the problem, the scope, and the real-data checks; an AI wrote the .NET engine under my direction. What each side actually brought.
The last mile is a Windows GUI
The engine is done and portable — but shipping it as a Forge component runs into proprietary, Windows-only tools you can't automate, plus the O11-versus-ODC question.