About the service
I am a systems programmer and work in Modula-2 — a strict language in the Pascal family, built around separately compilable modules and rigid static typing. I write firmware and low-level services where predictability matters more than trends: definition and implementation modules with clean interfaces, careful work with pointers and address types, coroutines for cooperative scheduling, and access to hardware through well-isolated abstraction layers. Usually these are microcontrollers, industrial controllers, and long-lived desktop tools that nobody planned to rewrite from scratch, so I approach every change with the understanding that the system must work for many years to come.
Much of my work is keeping old Modula-2 systems alive and comprehensible. I read code under ISO Modula-2, PIM dialects, and specific compilers like GNU Modula-2, XDS, or classic Logitech and TopSpeed, document module structure, untangle circular imports, and restore builds that stopped compiling long ago. When a complete rewrite isn't justified, I add typed interfaces, safe bindings to C libraries, and test harnesses so the code can be developed again. If migration is the right decision, I plan a phased path that preserves behavior and lets old and new parts coexist.
Because I grew up in the strict modular tradition rather than C or modern managed languages, I pay particular attention to interface contracts, compile-time checks, and memory management discipline. I can join a team that inherited a Modula-2 product and become the specialist who still understands it, or help a Pascal and Oberon workshop expand its capabilities. Name the compiler, target platform, and constraints — and I'll give you an honest assessment before touching anything.
— Systems and embedded development in Modula-2
— Definition and implementation modules with strictly typed interfaces
— Maintenance and modernization of legacy Modula-2 code
— Migration between dialects and compilers (ISO, PIM, GNU Modula-2, XDS)
— Bindings to C libraries and hardware abstraction layers
— Build recovery, documentation, and test harnesses
Much of my work is keeping old Modula-2 systems alive and comprehensible. I read code under ISO Modula-2, PIM dialects, and specific compilers like GNU Modula-2, XDS, or classic Logitech and TopSpeed, document module structure, untangle circular imports, and restore builds that stopped compiling long ago. When a complete rewrite isn't justified, I add typed interfaces, safe bindings to C libraries, and test harnesses so the code can be developed again. If migration is the right decision, I plan a phased path that preserves behavior and lets old and new parts coexist.
Because I grew up in the strict modular tradition rather than C or modern managed languages, I pay particular attention to interface contracts, compile-time checks, and memory management discipline. I can join a team that inherited a Modula-2 product and become the specialist who still understands it, or help a Pascal and Oberon workshop expand its capabilities. Name the compiler, target platform, and constraints — and I'll give you an honest assessment before touching anything.
— Systems and embedded development in Modula-2
— Definition and implementation modules with strictly typed interfaces
— Maintenance and modernization of legacy Modula-2 code
— Migration between dialects and compilers (ISO, PIM, GNU Modula-2, XDS)
— Bindings to C libraries and hardware abstraction layers
— Build recovery, documentation, and test harnesses