Having read any number of reddits and substacks, I'm convinced this is not due to some "default setting" for a date field.![]()
![]()
![]()
In the latest electrifying development that will also probably not shock you, DOGE —for the last week slogging through the SSA’s septic systems of archaic paper and antique Cobol software — is beginning to report that the OIG canaries in the SSA mineshaft were, if anything, woefully underreporting the problem.
Yesterday, apparent DOGE mouthpiece Elon Musk posted a simple database count of active Social Security Numbers by age range. The dumbfounding chart was a political hydrogen bomb, and it speaks for itself:
![]()
For one thing, IF that were true - there'd be a HUGE cluster around the 150 exactly date - and there's not. For another - COBOL doesn't have a "date" data type - just character. Which means, if you leave it blank - it's blank. If you put in all zeroes, it has all zeroes. Some other languages - Java, Python, SAS - DO have date data types, and nulls translate to January 1, 1970. Moreover - COBOL was invented here - why would we set a default setting to some event in FRANCE where they standardized the meter? And not January 1 but some date in the middle of the year?
No - this is a case of a meme that got wings from people repeating it. It's NOT because COBOL is old and has a dumb default. I KNEW this wasn't the case, but I haven't coded in COBOL since Y2K. People are repeating this, and they don't know COBOL - and idiotic to call others dumbasses about a language they don't know, either. People subtracted 150 years from today's year (BTW - Elon has also said other years) and manufactured some BS about 1875.
HOWEVER - it IS possible that local systems have made policy about how data is recorded. This wouldn't be a failing of COBOL - but of the Social Secuirty Administration. Once Y2K hit, lots of systems still using COBOL had to adapt for recording dates. But at that point, 1875 would have been 125 years in the past - there's simply no logical reason whatsoever to use THAT as a base date.
Even if you try to include early beneficiaries of SS, it still doesn't work. You have to have 40 quarters of work and the program came out in 1935 (although back then, it was in years, and the first checks came out in 1940). The first recipient was actually born in 1874. However, Ida Mae Fuller died fifty years ago.
My opinion? You cannot have an OLD birthdate going back 180-200+ years, no matter how you analyze it. This is data corruption. This is not a failure to retire old numbers. This is EXTREMELY BAD maintenance of data. People can mock how Elon put the drama out there - but there's no way around it - data is poorly managed. VERY poorly.
Here's a good page where the matter is discussed --

Did missing/corrupt dates in COBOL default to 1875-05-20?
There is a claim circulating, e.g. here on Mastodon: [...] in COBOL, if a date is missing [or "corrupt"] the program defaults to 1875 [...] The claim is sometimes "enhanced" by