(C)ODE to RLM
In 1994, I was contracted by a client to provide code support for an application that tracked telephone equipment. The original developer, a fellow named Bob, or “RLM” as I came to know him, had passed away the month before I inherited his code. And while I never met Bob, I feel as if I knew him well. Now, how I came to know him? That’s the rest of the story.?
Who was RLM? Well, I can’t tell you what he looked like, how tall he was, how he spoke or any of the characteristics a casual observer would easily pick up by merely being around him. However, I can tell you he was a husband to “Anna”, father to “Son_1” and “Son_2”, owner of a dog named “Trapper”, had a dry wit, owned a boat named “Byte Me”, and was an avid, albeit frustrated, Mets and Jets fan. How did I know all this? Certainly not from speaking with co-workers who knew him. For although he worked as a contractor at my client’s company for several years, nobody really knew him or what he worked on. He was merely “that nice, old guy Bob who sat by the door and often brought his lunch to work”. But I knew better. I knew more. I had tens of thousands of lines of source code to fill in the blanks. And if you’re developer, you know you can glean much about a person from one’s code.
While many developers don’t give a rip about code readability or supportability, RLM was not one of those folks. Rather, RLM’s code not only accomplished its intended goals intelligently, methodically, and often efficiently, he revealed much about himself in his code, in his comments, and yes, the very algorithms he employed. For example, every code block he wrote contained a preamble explaining what the coming code was designed to do and why he designed it the way he had. RLM didn’t use innocuous variables like “x” or “y”, rather, he used thematic variable names that had a particular meaning so he could remember the context of the code snippet when the variable appeared in an error message or when referenced in the debugger. One of my favorites was his go to looping range, “For 1 to ByteMe”, which he would at times accompany its use with a comment like, “ByteMe is eating me alive in docking and mooring fees”, or “Anna is jealous of my girlfriend, ByteMe”. Another time he used the variable “Boomer” to help track a memory leak. No doubt a reference to Jets quarterback Boomer Esiason, who had a propensity for fumbling the football.
领英推荐
RLM loved comments. I mean REALLY loved comments. The comments were as much color commentary about RLM, his life, and moods as they were about documenting his code. And he never deleted a comment. Rather, he’d often amend and date comments so a future developer would get a sense of the methods he tried to solve a problem before finally arriving at a solution. “We’ll that didn’t work. Don’t try that method again…ever!”
There were times RLM’s code seemed the work of a perfectionist. One code block appeared to be worked and reworked at least a dozen times over the course of a month. Yet other blocks reflected the mindset of a pragmatist who based on time restraints, sometimes had to put down the hammer and move on. “That will do for now, but I’ll be back. I can do better”.?
So why am I thinking of RLM today? I picked up his code in early February of 1994 and based on the comments in one incomplete code block, it appears as if the last time he touched the code was Christmas Eve, 1993. The code block to which I’m referring was designed to parse an incoming data stream and extract equipment part numbers and next maintenance dates. Embedded in the parser was the comment, “Get Synergetix data stream sample after the holidays and complete parser. That’s a wrap for 93. Pick up here in Jan.” RLM never got a chance to pick up there in Jan. However, the folks responsible for delivering that data stream did deliver in Jan. I know because my company, Synergetix, was responsible for delivering that data. Although I didn’t know at the time who was picking up that data or what they were using it for (yay for decoupling and separation of concerns), I'm happy I do now. More importantly, I'm glad I've also come to know about a seemingly good guy, family man, and solid coder named RLM who unfortunately would still be disappointed with the Jets and Mets. RIP RLM and Merry Christmas to all.
Senior Solutions Architect | Business Process Automation | Digitalization/Transformation of Business Processes
2 年Thats a fading skill i tell you. Everyone wants to write code, few ever want to document the why, or how of what they are building, and hide under the AGILE umbrella to deliver stuff not up to scratch.
Travel Trade
2 年Peace, health, true friends, & prosperity 2022
Merry Christmas Joe, great read and a great message. RIP RLM…