https://dev.to/mdchaney/cobol-dates-may-20-1875-and-disinformation-5ggh
- There is no “date” data type in COBOL. Dates are stored however the programmer wants, but usually numeric character strings
- There’s no “default” date, even if there were such a data type
- Even if there were a default, 1875 would be a bizarre choice
That (obviously) doesn’t mean Elon Musk is right. It just means that this explanation of it being some magical COBOL epoch value is wrong. What’s more likely is that the Social Security database is very old and has a lot of iffy data in it.
My guess is that it contains everybody who has ever had a social security record, including all the duplicates, all the typos, and everything else. At some point there were probably hundreds of thousands of records that were transcribed from paper into a computer, and it was considered safer to keep the iffy data and make a plan to deal with it later, vs. remove someone from the database who should legitimately be there.
I would also imagine that the systems that take the records out of the DB probably have filters in place that remove the (known) bad records before they’re used.
There is no “date” data type in COBOL, but there is in DB2, where the data would be saved, unless they are on an older VSE OS and data is still saved in VSAM files. Many still use 12/31/39 as a default max date even though OS/400 systems can handle up to year 9999 now (we still use 12/31/39 in testing where I work). It could be someone arbitrarily started using 1875, and others copied that.
But but it’s BREAKING! With a red light emoji!
tbf it’s only embarrassing if you’re capable of embarrassment.
LMAO watch the US be saved by an inability of Muskys frat bois to understand COBOL
2016-2020 was the age of too stupid to break everything. Now we’re staring down the barrel of “The files are in the computer?” But the entire US government is the computer.
More likely they nuke it due to that lack of understanding.
I dont even program and i could’ve told them it was probably a placeholder or default value lol “durrrrrr lot of people in this database were born at the exact same time on the same day in the same year that predates electronic databases, gotta be fraud!!1!1!11”
Also predates social security. It’s the long con for sure.
They’d probably just delete the Cobol code since “nobody would use that old stuff anyway”.
Yeah that’s not the defense you think it is.
Could you elaborate on why?
You shouldn’t be using cobol in 2025
Good luck getting musk to pay to update the programs that most of the government uses.
These programs were written in COBOL, and they have had no reason to upgrade things that are still working.
Yeah having incorrect info isn’t a reason to fix it, your right
You have to be one of Musk’s adolescent DOGE cronies
You know most people support this. Trump has a positive approval rating. You guys are in the minority
That has no meaningful relation to whether they are competent or not.
How much is Daddy Elon paying you for this sad psyop attempt? Because he should probably be paying you less
This is the part everyone is missing. Real life is messy and sloppy and incomplete. Real life has bad data. All the time, especially when you’re trying to match 100 year old records. Not handling bad data s a problem of inexperience, regardless what technology you use. Announcing it as fraud, is just being an ignorant asshole.
That being said, if Musk is willing to put out the billions of dollars it would cost to modernize, that would be great! But it still has to handle bad data. Maybe musk could add hundreds of millions to the budget to hire enough people to manually confirm all the data from before the records were digitized. Good luck with that
If you want actual proof of this, look at your medical records. And I say this as a healthcare worker. All kinds of nonsense ends up in the chart for a myriad of reasons.
Lolololol tell that to literally every major bank, I’m sure they’ll get right on it just for you.
There are tons of IT systems in the government that have been running the same programming for 30+ years but if it isn’t broke it doesn’t get touched.
Source: Use mainframe emulators often to perform routine tasks in government HR systems.
Yeah that doesn’t make it ok
The code may be old but the hardware gets updated. I don’t know if they’re using modern tools but the language also gets updated.
It alll comes down to budget: who wants to spend the money to modernize stuff that still works? Iss Musk willing to invest in that?
Just in case you didn’t know, the code is old, but the hardware still gets updates. And when it comes to batch transactions and network speed, mainframes still do the job reliably well. Plus, they are not easy to hack, because few understand them, not to mention the decades of security updates.
Ok great, still didn’t make it ok
Mainframe does what it does very well, and that makes it okay.
so the huge legacy codebase should be ported to…
and who’s gonna do that? You?
This hasn’t been done because no one can do it. It’s because the government sucks at this stuff
It hasn’t been done because that’s a great works project that’s on a scale you’re woefully ignorant to (this is an assumption on my part based on what I can grok of you based on your comments here).
I assure you there is a bevy of skilled developers who would love to modernize the systems they work on but the cost and level of effort is beyond what is politically viable.
If you changed your perspective from “it’s awful and bad and always will be” to “it’s awful and bad and we can make it better, how can I help” things will improve for everyone.
I didn’t say it wasn’t big
Mate, from reading the comments of this no-brains, he or she doesn’t doesn’t even know how to program in a professional capacity, much less have even the slightest clue of the scope of such a project.
That one is literally a mindless Trump/Elon fan wading into waters way, WAY, WAY beyond his depth.
I guarantee you that there are no governments, banks, or businesses older than 15 years that aren’t running some old ass code that’s not getting replaced any time soon.
Again that doesn’t make it ok
Code is not a physical thing that spoils with age.
All that backs that sentence of yours is your uninformed opinion.
The terrifying answer is that script kiddies will end up porting it to JavaScript and Electron and host it on AWS.
I wanted to write JavaScript first but decided against it :D
They would have to spend on new systems instead of giving tax breaks to corporate welfare queens and the landed gentry.
Money isn’t the issue
Elaborate as to what the specific issue is, please.
Goober, they’re gonna need to spend money on resources migrating away from it.
Yeah, great. Is DOGE going to fix any of that?
Probably
deleted by creator
Yes, it is defending cobol. Otherwise it would say this is bad and needs to be fixed
deleted by creator
That’s a delusional answer.
How
The only possible way DOGE would eliminate that code is if the agency doesn’t exist anymore.
What an incredibly boring troll you are.
…not. probably not. That’s what you meant to say. Right? Right!!!
No
Well don’t worry. You’re allowed to change your mind at any point in time once you realize the mistakes you’ve made regarding the trust and belief you’ve put in these people.
Are you actually Elon Musk trying to gaslight all of us?
No
How much experience do you have in this? Talk is cheap
You guys love the appeal to authority fallacy. You don’t need to be an expert to know you shouldn’t still be using programs written in cobol.
If relying on any knowledge is bad, then why should we believe what you say? That’s an appeal to authority
I didn’t say any knowledge. I’m saying if you reject what someone says only because they don’t have some arbitrary experience that you require. That’s an appeal to authority
Why should anyone listen to what you have to say? Can you give a reason without an appeal to authority?
Eejit…
i don’t know shit from a sandwich and I know COBOL is old shit
now your hezlth records sare commodity
In before Musk says “You think the government uses COBOL?!”
I don’t think the government uses COBOL. I know the government uses COBOL.
It doesn’t matter what I think or know, the government uses COBOL.
He would dismiss COBOL and try to prove that he is a super cool geek with a deep knowledge of DnD and gaming culture. So more like:
“COBOL? Such a language doesn’t even exist unless you think Kobolds are real! Hahaha”
Not only do many important government systems ultimately rely on or make heavy use of COBOL…
So do many older private companies.
Like banks. Account balances, transactions.
Its actually quite a serious problem that basically nobody who needs to take seriously actually does.
Basically no one is taught COBOL anymore, but a huge amount of code that undergirds much of what we consider ‘modernity’ is written in COBOL, and all the older folks that actually know COBOL are retiring.
We’re gonna hit a point where the COBOL parts of a system to be altered or maintained, and … there just isn’t anyone who actually knows how to do it.
My understanding is that even if you learn COBOL, you’d struggle to understand legacy systems since they have their quirks from a bygone era
That is absolutely true as well… though this may be just a personal anecdote, it seems to me that the few COBOL coders I once knew would be amongst the most likely to keep a solid documentation of their own systems.
The problem with that though, is that their bosses are almost always too stupid to ask them for such documentation before they leave/retire, or to bother to preserve it when the exiting COBOL programmer gives it to them, because coding is magic to them, and you’re either a good magician that can do the thing, or you’re not.
Upper management / C Suite seems to never understand why the term software engineer was/is used.
Yeah, I’ve been tempted to try this route, but you’re really pigeonholing yourself. Even if there’s always wrk, I can’t imagine only working with cobol the rest of my career.
Even worse, the places still using this are very heavy in process, with many undocumented dependencies among many undocumented workflows and business processes. Modernizing COBOL is not a coding problem: it’s a mammoth project management, coordination, and paperwork project that also has a little bit of coding. And its not like you can write clean code, you need to write essentially the same tangled mess of accumulated changes over decades because there’s no way of knowing everything that might break
I hereby nominate you to be the new head of the SSA.
You get it, exactly.
COBOL itself is a fairly minor part of the problem, the real problem is the retiring COBOL coders are the only ones with enough institutional knowledge, broad and specific, to keep the engine from grenading and fucking wheels from coming off the car when it hits a bad enough pothole.
But management and C Suite are apparently homo superior, fully confident that none of that really matters, they’ll just keep throwing money at it until its fixed, and failing that, laying off everyone, who care in the end, they get a golden parachute when it all burns, everyone else can FOAD.
Jay Kuo is wirth worth following. I know people dislike substack, but a lot decent people publish there. Jay Kuo I’d good at breaking down the legal aspects of the mess we are seeing now
I’ll wait until it get reposted on a platform that isn’t doing revenue sharing with Nazis. You know, like myLemmy instance.
I share this sentiment, and I admit I am not entirly aware of the Substack situation tbh. The issue is that these people, often very good journalists need a platform that generates revenue for them. I am not American, but find that people like Kuo, Jennifer Rubin, Robert Reich and Joyce Vance give valuable insights on American politics, and “sound bites” that can be share. But they need lir financial support to do this.
I keep hearing that gen Z is actually pretty shit with understanding things outside GUIs.
And now I’m watching it actively destroy my country.
Less of a generational problem, more of an educational one. Selfish, badly educated grifters that got pushed into high offices can be of any age. Musk also didn’t recognize SQL when he looked at it, which is arguably even more funny.
More of a late gen z, gen alpha thing.
I’m gen z, I use Vim, and I voted for Kamala. Guess all those VS Code kids voted Trump.
How dare you question the wisdom of Big Balls and his peers
Dangerous like an epileptic deer with 15 pairs of scissors taped to its head and body
I get this feeling too, but then again can we blame them? With all the locked down tech these days you really have to get out of your way to learn. And in most cases it works well enough. Whereas people growing up between lets say the 1970-2000s had to muck around with their tech to get it to work. Thus learning the intricacies while using it.
1875 has never been an epoch anywhere, on any system. 1970 has. 1900 has. 0000 has. But 1875? No, it hasn’t. And no where in the cobol spec does 1875 appear.
This is just propaganda. He already does enough wrong, you guys lying about it just makes everything else you say suspect.
Why is your profile picture a lemming? Nowhere in the rust spec does it say that a lemming should be the default picture. This is just propaganda.
“You guys are wrong about the epoch in COBOL and it’s really making me believe this ketamine fueled Nazi, shame on you” lol you’re ridiculous
Why not focus on the Nazi bit? Instead of lying about the 1875 bit? Are you lying about him being a Nazi?
Am I lying? No, I don’t know anything about COBOL and haven’t said anything about it either.
I thought truth mattered right?
…right?
I was intrigued by this article as 1865 isn’t any epoch I’ve heard about and I didn’t think COBOL really had a concept of an epoch (an epoch matters when you’re counting milliseconds from zero, COBOL stores date/time info differently). I’ve been searching this morning and can only find the Wikipedia page mentioning that date - which is weird for an ISO standard that is 99% about date formatting.
Yeah I’ve only heard of the 1970 epoch too, I didn’t realise different languages had different epochs honestly! Interesting stuff. I’ve never worked with COBOL but my old boss was learning it a few years ago, it’s used a lot in banking right?
That epoch is a Unix thing. It may not apply to systems not related to Unix.
It’s used in mainframes mostly. I don’t know COBOL well but I’ve worked with COBOL systems in the past. I didn’t think it even has a “date type” (at least in older systems? maybe it was added at some point?). They just store dates as 8 digits (6 back in the day which led to infamous “y2k” problems). That’s why I didn’t think they had an epoch. In more modern systems a date is typically “the number of milliseconds since the epoch”. For Linux that’s 01/01/1970. Either way this explanation for Musk’s error is pretty sus. I’m sure he’s misunderstanding something (he didn’t think the US government used SQL ffs) though.
Edit: It’s possible this particular team used that date as some sort of special value. That would be pretty common in older programming styles. But it doesn’t seem like it’s any sort of “standard.”
Nowhere in the cobol spec because cobol doesn’t even have a date type. It’s more of a legacy solution to a nearly 100 year old problem.
Apparently ISO 8601:2004 doesn’t exist?
That doesn’t mention 1875. Wikipedia was edited two days ago to add that in, it doesn’t appear in the original standard at all.
Wikipedia was edited two days ago to add that in
Not true, I picked a random revision of the Wikipedia article from October 2022, and it already had the part about 1875:
ISO 8601:2004 fixes a reference calendar date to the Gregorian calendar of 20 May 1875 as the date the Convention du Mètre (Metre Convention) was signed in Paris (the explicit reference date was removed in ISO 8601-1:2019).
https://en.wikipedia.org/w/index.php?title=ISO_8601&oldid=1118165613
I’m pretty sure this has been in the Wikipedia article for even longer, considering that it dates back to 2001. I’m just too lazy to go through the entire history and check when it was added. But definitely not 2 days ago.
Edit: I also just googled “ISO 8601 2004”, found this PDF: https://dotat.at/tmp/ISO_8601-2004_E.pdf
Under 3.2.1 “The Gregorian calendar” it says:
The Gregorian calendar has a reference point that assigns 20 May 1875 to the calendar day that the “Convention du Mètre” was signed in Paris.
The Wikipedia article is correct, this wasn’t added 2 days ago, and I don’t know why you’re spreading misinformation.
Another edit: A brief look at your profile explains everything…
The actual payment system stops payments automatically at age 115 and requires manual verification to restart. The database that is being reported is not even a report of who is getting paid.
This is just dramatic, public evidence of the arrogance and incompetence of DOGE from down to his racist younglings.
For a while, I thought they would at least be good at technology. This episode shows that even that is not true.
How he chose this elite group of chuckleheads is an eyebrow raiser. Other than racism, they seem to have no credentials at all. I mean, on brand for this administration I guess.
115 sounds too late imo, payments should need manual verification way earlier
Too bad he let go of all the employees that would be responsible for that manual verification.
If that’s what you want they should be staffing up instead of firing.
Absolutely, DOGE is obviously committing crimes doing what they are doing
They’re going to need lots more people going around talking to old people because you don’t want to rely on public records
There are other verification procedures in place as well. This is something like a failsafe.
Found the link to the SSA page describing the policy which took effect in 2015.
They dont care they want to take all the ss money its that simple
learn Cobol you uneducated teenagers
SUBTRACT DATE FROM YEAR GIVING AGE.
Jesus fucking christ the interns who have neither seen nor heard of COBOL have also not encountered the concept of a sentinel value used as a fallback/default.
Cant wait till 2038!
Date time types have long since been based on a 64 bit number , at least in Linux. However the old 32 bit date time types are still there so older programs won’t break, and probably on emdpbedded systems.p. So it comes down to the apps: how many old apps or old embedded systems will still be around?
How many cobol systems are still around in 2025. If it works, don’t fix it. And I have a feeling a lot of things will need fixing in 2038 lol
It will be interesting to see that play out. The thing is the 238 prboem spas long been solved just like the y2k problem was.
The Linux datetime types were moved to 64 bit values long ago, so this problem is thousands of years out. The old 32 bit values was a limitation of older systems not handling larger values, but almost all hardware today is either 64 bit or has hardware support for 64 bit data. You mainly have some older embedded systems
But the legacy 32 bit APIs are still there so it doesn’t break backward compatibility. You have huge ecosystems of software that still use these APIs and may still handle datelines as 32bit. There’s no way to find them all, much less make sure they’ve been updated.
Just like y2k, 2038 will have been a long solved issue, that may still exist due to ancient or poorly written applications. All you can do is a huge effort of trying everything to find any remaining issues before they cause problems. I’m optimistic because y2k was a problem cased by every application handling their own dates, whereas for 2038 its cause was in an underlying data type that has long since been fixed. Surely all applications will have been rebuilt to the new API in that 20 year or so period, right? Right?
I expect governments to set up own time servers and reset it to 1970 before upgrading their old Win XP machines.
These are the same interns that are pushing code in production, right?
What do you expect? most of the guys in “DOGE” weren’t even alive on 9/11 I’m a bit surprised that they still have something in COBOL, maintenance probably costs o fortune, good luck finding young COBOL devs
Is being a COBOL dev something that can get you jobs?
I’m pretty good at FORTRAN and would love that kind of “you have invaluable skills so we can’t get rid of you for being queer” gig.
I’m ready to learn COBOL. I will take up the torch. If you know good places to start, let me know. Last time I looked into it it seems way more involved than running stuff like Python, Java, and C.
I see, you want that that Lamorghini, well if you really want udemy is always a good start. Personally the difficult part for me when learning a new programing language is not resources, it’s the motivation to keep do it and I usually need a real project to work on. (10 years + dev)
Usually you find on github “awesome-XYZ” repos (ex: awesome python, awesome c, awesome go), but for cobol, most of the projects are dead
https://github.com/loveOSS/awesome-cobol?tab=readme-ov-file#email
















