- Home
- >
- Software Development
- >
- The Next Y2K Is Already Here – InApps Technology 2025
The Next Y2K Is Already Here – InApps Technology is an article under the topic Software Development Many of you are most interested in today !! Today, let’s InApps.net learn The Next Y2K Is Already Here – InApps Technology in today’s post !
Key Summary
This article from InApps Technology, authored by Phu Nguyen, discusses the 2038 problem, a looming date-time bug analogous to the Y2K crisis, caused by Unix’s 32-bit signed integer time format overflowing at 03:14:07 UTC on January 19, 2038. Highlighting a real-world incident shared by developer John Feminella, the article notes a client’s nightly batch job crashing on January 19, 2018—exactly 20 years before the anticipated 2038 deadline—due to a time calculation overflow, costing $1.7 million to manually recover. The piece underscores that the 2038 problem is not a future issue but already impacting systems, urging developers to proactively update code to use 64-bit time formats. It also reflects on the Y2K bug, which was mitigated through a $100 billion effort, and contrasts its resolution with the ongoing need to address legacy code to prevent similar disruptions.
- Context:
- Author: Phu Nguyen, reflecting on the Y2K experience (New Year’s Eve 1999) and introducing the 2038 problem as a current concern.
- Source: A Twitter thread by John Feminella, highlighting a real-world 2038-related failure in 2018.
- Theme: The 2038 problem is a reminder of the risks of insufficient storage capacity in legacy systems, requiring proactive code maintenance.
- The 2038 Problem:
- Definition: Unix systems store time as a signed 32-bit integer counting seconds since 00:00:00 UTC, January 1, 1970 (Unix Epoch). The maximum value overflows at 03:14:07 UTC, January 19, 2038, causing errors in time calculations.
- Cause: Insufficient capacity in the 32-bit format, similar to Y2K’s two-digit year limitation.
- Impact: Systems relying on 32-bit time (e.g., databases, file systems, embedded devices) may misinterpret dates, leading to crashes or data corruption.
- Real-World Example:
- Incident: A client’s nightly batch job crashed on January 19, 2018, due to a 20-year future time calculation hitting the 2038 limit, initially misattributed to recent code changes.
- Cost: $1.7 million in manual recovery over two weeks, as unprocessed contributions disrupted operations.
- Lesson: The 2038 problem is already affecting systems with long-term time calculations (e.g., mortgages, scheduling).
- Y2K Comparison:
- Y2K Bug: Caused by storing years as two digits (e.g., “99” for 1999), risking misinterpretation as 1900 post-2000.
- Resolution: A $100 billion, years-long effort by developers ensured systems (e.g., phones, aviation) functioned past 2000, making Y2K seem like a “joke” to the public.
- Contrast: Y2K was proactively addressed, while 2038 issues are already occurring, highlighting the need for early action.
- Moral and Recommendations:
- Moral: Legacy code left unmaintained can lead to significant failures, as seen with both Y2K and 2038. Regular code audits are essential.
- Solution: Transition to 64-bit time formats (e.g., time_t in C) to handle dates far beyond 2038, ensuring compatibility with modern systems.
- Urgency: Feminella’s warning—“Y2038 isn’t ‘coming’. It’s already here. Fix your stuff”—emphasizes immediate action for systems with future-dated calculations.
- This Week in Programming:
- Rust Drama: The actix framework’s developer, Nikolay Kim, briefly quit open-source due to criticism over unsafe code in Rust, a language valued for memory safety. The incident highlights challenges in maintaining small, popular open-source projects.
- Rust Overview: StackOverflow explains Rust’s popularity (top-loved language for four years) for solving pain points in other languages, offering memory safety and performance.
- Unison Language: A functional language for distributed systems, Unison (in public alpha) uses immutable code identified by content, aiming for a production release in 2020.
- Python Performance: A study shows Python, when compiled with Numba, rivals Go and C++ in speed for the N-queens problem, with Julia also performing well.
- IntelliJ IDEA 2020: JetBrains plans features like Asian localization, text editor mode, Git staging, and ML-based text completion for IntelliJ IDEA, alongside a Kotlin census for community feedback.
- InApps Insight:
- InApps Technology, ranked 1st in Vietnam and 5th in Southeast Asia for app and software development, specializes in modernizing legacy systems to address issues like the 2038 problem, using C, Python, React Native, ReactJS, Node.js, Vue.js, Microsoft’s Power Platform, Azure, Power Fx (low-code), Azure Durable Functions, and GraphQL APIs (e.g., Apollo).
- Offers outsourcing services for startups and enterprises, delivering cost-effective solutions at 30% of local vendor costs, supported by Vietnam’s 430,000 software developers and 1.03 million ICT professionals.
- Relevance: Expertise in updating Unix-based systems and time-sensitive applications to prevent 2038-related failures.
- Call to Action:
- Contact InApps Technology at www.inapps.net or sales@inapps.net to modernize legacy systems or develop 2038-compliant applications.
Read more about The Next Y2K Is Already Here – InApps Technology at Wikipedia
You can find content about The Next Y2K Is Already Here – InApps Technology from the Wikipedia website
I remember the night of New Year’s Eve 1999 vividly. Well, vividly as far as those go. But there’s one part that sticks with me, as we all huddled in a friends basement wondering if planes might, indeed, just fall out of the sky.
At precisely midnight, we picked up the landline (yes, we still had those) because we’d heard that it was expected that so many people would pick up the phones to see if they still worked at the same time, that rather than the Y2K bug taking the phone system down, somehow that very act would instead. I guess if the world was going to burn, we wanted some part in it.
Well, no planes fell and the phones worked just fine and Y2K passed, to us at least, into the realm of joke and dismissive snicker. Of course, the reality is that it was a years-long effort by developers to the tune of $100 billion to make sure those planes didn’t fall out of the sky and that the infrastructure kept on keeping on.
Two decades have now passed since we cruised on by Y2K, and it’s now time to look at the next date-time related bug on the horizon — that of the 2038 problem. Much like the Y2K bug, 2038 is problematic because of “insufficient capacity of the chosen storage unit” explains the Wikipedia article on the topic. More specifically, Unix encodes time in a signed 32-bit integer time format representing the number of seconds passed since 00:00:00 UTC on Jan. 1, 1970, and times beyond 03:14:07 UTC on Jan. 19, 2038 cause an integer overflow.
Babies born today will turn 18 on January 19, 2038, the first date when time becomes unrepresentable using a standard 32-bit unsigned Unix timestamp. It’s not far off.
— Gary Bernhardt (@garybernhardt) January 19, 2020
This is suddenly a popular topic not simply because last Sunday represents 20 years until the problem hits for all Unix-based systems, but rather because it has already begun, at least according to developer John Feminella, whose Twitter thread has more than made the rounds this past week.
⏲️ As of today, we have about eighteen years to go until the Y2038 problem occurs.
But the Y2038 problem will be giving us headaches long, long before 2038 arrives.
I’d like to tell you a story about this.
— John Feminella (@jxxf) January 19, 2020
Feminella tells the tale of a client whose “nightly batch job” that had “never, ever crashed before, as far as anyone remembered or had logs for” went down last Sunday — 20 years to the day before 2038 was expected. Coincidentally, some changes had been made, so focus first went there, but soon enough the problem was isolated to the one that wasn’t supposed to hit for another couple decades.
“But by then, substantive damage had already been done because contributions hadn’t been processed that day. It cost about $1.7M to manually catch up over the next two weeks. The moral of the story is that Y2038 isn’t ‘coming’. It’s already here. Fix your stuff,” Feminella concluded.
The funny thing about the whole thing is, one moral you might conclude from that story is to not simply let code keep running forever without taking a look at it…and that’s pretty much how we ended up with the 2038 bug in the first place. The video below goes into a bit more detail…
This Week in Programming
- “Another Unsafe Sh*tstorm”: If you’ve heard the rumblings, but missed the story, DevClass has the tale of a Rust framework developer who said “I’m done with Open Source” before apparently having second thoughts. The apparent “ragequit” was used in many examples last week as further evidence for the unsustainability of smaller open source projects, but therein lies so much more in terms of story morals and examples of people behaving badly online. That sounds like a reality TV show, doesn’t it? The project in question here is actix, which was open sourced in 2017 by Microsoft engineer Nikolay Kim. At the heart of the issue is the amount of “unsafe” code used in the project, which many contend was far too much for a language built on the idea of memory safety. The article lays out the numerous back-and-forths, but the further gist of the scenario is that actix is a small but very popular open source project that can’t keep up with the demands of the community using it. In response to a heated Reddit debate (which followed previous heated debates), the project’s sole creator up and quit before deciding that “it would be unfair to just delete repos” and handed over control to a contributor.
- What Is Rust, Anyhow? Speaking of Rust, StackOverflow has an article for those of you who remain unfamiliar with the language that answers the question of what is Rust and why is it so popular? As the article notes, the language has been the most loved language for four years in a row on StackOverflow, but the fact remains that roughly 97% of survey respondents haven’t used Rust. So what is it? “The short answer,” they write, “is that Rust solves pain points present in many other languages, providing a solid step forward with a limited number of downsides.” The blog post breaks it down into different sections for different developers, whether you’re used to garbage collected, statically typed, or other systems languages. So, if Rust is something you’ve just heard of but not really looked at, this is a good place to start, to get all the ups, downs, and in-betweens.
Developer accused of unreadable code refuses to comment
— Molly Struve (@molly_struve) January 20, 2020
- A Haskell-esque Language for Distributed Systems: InfoWorld brings us the story of Unison, a functional language that touts immutable code that it says can “describe entire distributed systems with a single program.” The open source language is in a public alpha release and was “founded on the core notion that code is immutable and identified by its content,” writes InfoWorld, noting that a production release is expected later this year. The other core idea behind Unison is that it is made for building distributed systems. Now in a public alpha release, with multiple milestone alpha releases planned, Unison is due for a production release this year. If experimental, alpha languages are your cup of tea, head on over to the project website and the Unison GitHub repo to see more.
- Python’s As Fast as Go and C++? When you think of Python, your first thought may not be “blazingly fast,” but iProgrammer brings us a scholarly paper on the topic that compares Python with Go and C++, using the N-queens problem as the benchmark. While the headline says that Python is as fast as Go and C++, that statement of course should be qualified, but is nonetheless warranted. The crux comes here: “Implementing this in Python, Go and C++ quickly demonstrated that Python was slow, but included error checking that was missing from C++. To see if things could be improved, the same code was compiled using the Numba Python compiler. […] once compiled using the Numba compiler it becomes competitive with C++ and Go in terms of execution speed while still allowing for very fast prototyping.” Also of note, upstart language Julia is also found to be among the fastest, although this mention is relegated to the appendix.
Words that DO NOT appear in the Agile Manifesto & Principles:
sprint
backlog
product owner, scrum master
release train
story
story points
estimate
velocity
meeting
Jira
manager
productivity
utilizationWhat should I add to that list?
— Allen Holub (@allenholub) January 19, 2020
- IntelliJ IDE in 2020: Lastly for the week, JetBrains’ IDE IntelliJ offers a peek into its features roadmap for 2020, this time looking at some more high level features. In the year ahead, IntelliJ IDEA will include localization for Asian markets, the ability to use the IDE as a general-purpose text editor (without it annoyingly creating an empty project file each time you do), git staging support, and further text completion based on machine learning. While we’re talking about JetBrains, all you Kotlin users (or non-users — they want you too) can go ahead and fill out the 2019 Kotlin census, which will help the team behind the popular Android Java alternative work in the year ahead to make the language better for you. If that’s not enough, know that by filling out the census, you also enter a raffle for KotlinConf tickets and a Kotlin t-shirt. So, there’s that.
anyone who thinks that no-code tools will replace developers obviously wasn’t around for dreamweaver
— Katerina Borodina (@ctrlshifti) January 19, 2020
List of Keywords users find our article on Google:
intellij idea |
actix |
rust intellij |
python numba |
intellij ultimate |
jetbrains idea |
jetbrains c++ |
numba python |
hire haskell developer |
actix web |
rust datetime |
jetbrains haskell |
y2k phone case |
git в intellij idea |
intellij format code |
realm android kotlin |
raffle tickets template |
unison technologies |
what was y2k |
numba github |
rust in intellij |
github numba |
intelij rust |
reddit notion templates |
intellij idea rust |
jetbrains all in one |
intellij delete project |
intellij rust |
friends and partners wikipedia |
y2k 2022 |
intellij idea pricing |
next one technology |
jetbrains rust ide |
intellij rust ide |
hire unix developer |
intellij idea review |
wikipedia event horizon |
digital sky technologies wiki |
jetbrains for c++ |
new year’s eve wikipedia |
notion templates reddit |
jetbrains ide |
c++ jetbrains |
realm kotlin |
reddit haskell |
y2k bug 2022 |
eve online multiple alpha accounts |
intellij idea alternatives |
intellij idea vs oracle commerce |
jetbrains go |
how to delete an intellij project |
paper planes wikipedia |
rust actix-web |
intellij 2022 release date |
kotlinconf |
idea intellij |
intellij haskell |
the integer group jobs |
actix-web |
rust actix |
what is intellij idea used for |
haskell intellij |
phone case y2k |
typescript nightly |
intellij idea python |
Source: InApps.net
Let’s create the next big thing together!
Coming together is a beginning. Keeping together is progress. Working together is success.