Brilliant Elon Musk Does Not Understand COBOL: And Neither Do The Kids Running DOGE, They Are All Fucking Idiots
Introduction: Another Day, Another Musk Mistake
Well shit, here we go again. In what can only be described as yet another spectacular display of technical ignorance masquerading as investigative genius, Elon Musk and his team of crypto bros have managed to misinterpret basic COBOL date handling in the Social Security Administration's systems. This isn't just a small oops – it's a fundamental misunderstanding of how legacy systems work, and it's time we broke this whole mess down. Now be aware, that I (Wendy the Druid) am indeed old enough to have pushed COBOL language revisions, and have a limited understanding of how COBOL works.
The Legacy of COBOL: Why This Old Ass Language Still Runs America
Let's get one thing straight: COBOL isn't just some ancient relic we're stuck with. This language processes over $3 trillion in daily commerce, handles most of the world's ATM transactions, and runs the backbone of federal systems. According to the Federal Computing Journal's 2022 analysis, approximately 95% of ATM swipes still touch COBOL code at some point in their journey.
Why COBOL Isn't Going Anywhere
Look, we all love to shit on old technology, but COBOL has stayed around for a damn good reason. The banking sector keeps using it because it works. When's the last time you heard about a COBOL system getting hacked? Yeah, that's what I thought.
The Technical Breakdown: How COBOL Actually Handles Dates
Let's dive into some actual code, because apparently, Musk's team couldn't be bothered to do this basic research. Here's how COBOL typically handles dates:
IDENTIFICATION DIVISION.
PROGRAM-ID. DATE-HANDLER.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-BIRTH-DATE.
05 WS-BIRTH-YEAR PIC 9(4).
05 WS-BIRTH-MONTH PIC 9(2).
05 WS-BIRTH-DAY PIC 9(2).
01 WS-BASE-DATE.
05 WS-BASE-YEAR PIC 9(4) VALUE 1875.
05 WS-BASE-MONTH PIC 9(2) VALUE 05.
05 WS-BASE-DAY PIC 9(2) VALUE 20.
01 WS-DATE-DIFFERENCE PIC 9(7).
PROCEDURE DIVISION.
IF WS-BIRTH-DATE = SPACES
MOVE WS-BASE-DATE TO WS-BIRTH-DATE
END-IF.
When a date field is empty (which happens more often than you'd think in government systems), it defaults to the base date. This isn't a fucking bug – it's a feature designed to prevent system crashes when dealing with missing data.
Here's another example showing how date calculations actually work:
IDENTIFICATION DIVISION.
PROGRAM-ID. AGE-CALCULATOR.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-CURRENT-DATE.
05 WS-CURR-YEAR PIC 9(4).
05 WS-CURR-MONTH PIC 9(2).
05 WS-CURR-DAY PIC 9(2).
01 WS-AGE PIC 9(3).
PROCEDURE DIVISION.
ACCEPT WS-CURRENT-DATE FROM DATE
IF WS-BIRTH-DATE = WS-BASE-DATE
DISPLAY "WARNING: Using default date - "
"data may be incomplete"
MOVE 0 TO WS-AGE
ELSE
COMPUTE WS-AGE = WS-CURR-YEAR - WS-BIRTH-YEAR
END-IF.
Keep reading with a 7-day free trial
Subscribe to Wendy The Druid to keep reading this post and get 7 days of free access to the full post archives.