The Bob Procedure – The Daily WTF

Date:

Share:

Joe recently worked on a financial system for processing loans. Like many such applications, it started its life many, many years ago. It began as an Oracle Forms application in the 90s. By the late 2000s, Oracle was trying to push people away from forms into their newer tools, like Oracle ApEx (Application Express), but this had the result of pushing people out of Oracle’s ecosystem and onto their own web stacks.

The application Joe was working on was exactly that. Now, no one was going to migrate off of an Oracle database, especially because 90% of their business logic was wired together out of PL/SQL packages. But they did start using Java for developing their UI, and then at some other point, started using Liquibase for helping them maintain and manage their schema.

The thing about a three decade old application is that it often collects a lot of kruft. For example, this procedure:

CREATE OR REPLACE PROCEDURE BOB(p_str IN VARCHAR2) 
AS 
BEGIN 
   dbms_output.put_line(p_str);
END;

Bob here is just a wrapper around a basic print statement. Presumably, the original developer- I’m gonna go out on a limb and guess that dev was also named Bob- wanted a convenient debugging function while tracking down an error, and threw this into the codebase.

As WTFs go, the function isn’t that interesting. But you know what is interesting? Its legacy. This procedure is older than any source control history the company has, which means it’s been in the codebase for at least twenty years, but probably much longer. Nothing invokes it. It’s survived a migration into SVN then into Git, countless database upgrades, a few (unfortunate) disaster recovery events, and still sits there, waiting to help Bob debug a problem in the database.

Joe writes:

I still don’t know who Bob is. Nobody knew who Bob was when I asked around. But Bob, if you’re still out there, just know that you are now cemented into a part of the software that hundreds of companies used to manage loans.

[Advertisement] Plan Your .NET 9 Migration with Confidence
Your journey to .NET 9 is more than just one decision.Avoid migration migraines with the advice in this free guide. Download Free Guide Now!

Source link

Subscribe to our magazine

━ more like this

Stop monitoring systems; start monitoring outcomes

When millions of conversations flow through your platform daily, reliability isn’t just a technical metric – it’s the foundation of customer trust. At Intercom, where...

33 Of The Best New Shopbop Arrivals For October 2025

As a fashion editor, I've become the go-to person in my friend group for shopping recommendations. Recently, one of my best friends told me...

Nordstrom Anniversary Sale 2025 Preview

The Nordstrom Anniversary Sale 2025 starts now for Icon Card Members! The sale runs from July 8th through August 3rd. Nordstrom Cardmembers shop the...

660: It’s All Chicken Salad

Pre-show: Marco’s “Vacation” results Goose Goose @ Richmond Allianz Ampitheater, 3 October 2025 Allianz Ampitheater Chicken Salad Chick Nugs.net ZZQ Suggestions from Casey, in no particular order: Hungersite Give it Time How it Ends Dripfield Follow-up: ATP...