Language Selection

English French German Italian Portuguese Spanish

Preparing for Y2038 (Already?!)

Filed under
Linux

It somehow doesn't seem that long ago, but nineteen years ago during Y2K I spent my New Year's Eve in the Akamai Network Operations center, waiting to respond to anything that might go awry as the clock struck midnight in key time zones such as Greenwich and Boston. As of January 9, 2019, we are roughly half-way from Y2K to "Y2038", the next large time epoch roll-over event. In 2038 on January 19th the "Unix Epoch Time" will exceed the size of a signed 32-bit integer "time_t" value (231-1), or roughly 2.1 billion seconds since the epoch of 00:00:00 on January 1, 1970. We have somewhat more time to deal with the systems that will break nineteen years from now. However, as we get closer there will be increasing impacts on software working with future dates.

Shortly after Y2K we made jokes about "next up, Y2038!" but back then it felt an eternity in the future and likely to be someone else's problem. Now that we're halfway there, and we have already reached the point where Y2038 issues can cause software failures, it is a good opportunity to start planning for Y2038. For example, software may already be having issues working with 20-year certificate lifetimes or 20-year mortgages, and the frequency of these issues will only increase as we get closer to Y2038. At Akamai we are already running strategically-targeted internal planning and testing for Y2038, and it seems likely that the scope of this work will continue to grow over the next 19 years as this important effort increases in urgency.

Very little went wrong on January 1, 2000 for us (short of some Javascript on an Akamai marketing site displaying "1900" as the current date!), but one thing that gets missed is that the limited global impact that evening was due to two factors: 1) the amount of advanced preparation that was done; 2) many "Y2K problems" actually occurred years in advance rather than during the roll-over itself. Leap seconds are in some ways scarier than date-format issues in that they are harder to test for and much less of the impact happens in advance. There is a risk that the lack of impacts of Y2K may cause organizations and technologists to under-prepare for Y2038. It is also harder to explain "Y2038" to lay people than Y2K, potentially making it harder to prioritize and focus advanced work. The large number of embedded Internet of Things (IoT) devices becoming ubiquitous in our environment also makes the likely risk and potential impact considerably higher for Y2038 than it was for Y2K.

Read more

More in Tux Machines

Programming: Sanjog Sigdel's Work on LibreOffice and Python Picks

  • The Document Foundation/LibreOffice Community Member Monday: Sanjog Sigdel

    I’m currently a Graduate Student pursuing my MTech. in IT degree here in Kathmandu University, Dhulikhel, Nepal. Besides that, I am also a part-time instructor in a private college near the University: NIST College Banepa. I love knowing how new technologies work and also love exploring new places. Unitil now I have traveled almost 30 districts of Nepal via trekking, project monitoring and tours. I’ve been using Linux-based operating systems (mainly Ubuntu) since 2012. And I am also a FOSS activist/volunteer. I teach my students to use open source software and most of them are using Linux, LibreOffice, and Python programming in the Nano text editor :-)

  • Debugging Python Applications with the PDB Module

    In this tutorial, we are going to learn how to use Python's PDB module for debugging Python applications. Debugging refers to the process of removing software and hardware errors from a software application. PDB stands for "Python Debugger", and is a built-in interactive source code debugger with a wide range of features, like pausing a program, viewing variable values at specific instances, changing those values, etc. In this article, we will be covering the most commonly used functionalities of the PDB module.

  • Mike Driscoll: PyDev of the Week: Paul Ganssle

    This week we welcome Paul Ganssle (@pganssle) as our PyDev of the Week. Paul is the maintainer of the dateutil package and also a maintainer of the setuptools project. You can catch up with Paul on his website or check out some of his talks. Let’s take a few moments to get to know Paul better!

  • Image Process Plugin 1.2.0 for Pelican Released

    Image Process is a plugin for Pelican, a static site generator written in Python. Image Process let you automate the processing of images based on their class attribute. Use this plugin to minimize the overall page weight and to save you a trip to Gimp or Photoshop each time you include an image in your post. Image Process is used by this blog’s theme to resize the source images so they are the correct size for thumbnails on the main index page and the larger size they are displayed at on top of the articles.

  • Top 7 Compelling Reasons to Hire Ukrainian Developers

    Many people consider offshore development. They seek quality for a lower cost and look where to hire developers. Customers search online, read reviews, or ask for referrals to find the software development team that best fits their goals. Ukraine has become one of the top locations where customers across Europe, Asia, and North America go for developers to build their products from scratch.

  • How to Find and Hire a Python/Django Development Company

    Even though there are about 22 million developers in the world (according to a Nexten.io study), good Python/Django developers aren’t easy to find and can be quite expensive. But there are many job marketplaces for software development companies and individual Python developers. Where you can find profiles of software development companies and their projects, reviews and ratings from current and former clients.

Android Leftovers

Technical vision for Qt for Python

Exposing a huge framework such as Qt to another language is not an easy task and this was the main reason for the slow porting from the old PySide version in Qt 4 to Qt 5. Many developers hours were spent in adapting to new Qt 5 APIs, and more importantly, the binding generator tool such that everything can be handled properly. Now with Qt 6 things will be different, because the development of Qt for Python is progressing side-by-side to the C++ and QML stories in Qt 6. Hopefully, there will be a lot fewer surprises this time around. In fact, this effect can be seen with current 5.x releases, PySide2 is available almost at the same time as the Qt release, having in some cases a few days delays. Since the official release in Qt 5.12.0, the downloads of Qt for Python has been increasing day-by-day, which translates on the community adopting and enjoying the project. Read more Also: Qt 6 Will Bring Improvements To The Toolkit's Python Support

Red Hat: New PHP Builds, End-to-End Encryption for Kubernetes Applications, Interns

  • PHP version 7.2.22RC1 and 7.3.9RC1

    Release Candidate versions are available in testing repository for Fedora and Enterprise Linux (RHEL / CentOS) to allow more people to test them. They are available as Software Collections, for a parallel installation, perfect solution for such tests (for x86_64 only), and also as base packages. RPM of PHP version 7.3.9RC1 are available as SCL in remi-test repository and as base packages in the remi-test repository for Fedora 30 or remi-php73-test repository for Fedora 28-29 and Enterprise Linux. RPM of PHP version 7.2.22RC1 are available as SCL in remi-test repository and as base packages in the remi-test repository for Fedora 28-29 or remi-php72-test repository for Enterprise Linux.

  • Self-Serviced, End-to-End Encryption for Kubernetes Applications, Part 2: a Practical Example

    In part one of this series, we saw three approaches to fully automate the provisioning of certificates and create end-to-end encryption. Based on feedback from the community suggesting the post was a bit too theoretical and not immediately actionable, this article will illustrate a practical example. You can see a recording of the demo here.

  • The Tiger that interned at Red Hat

    From the start, Tiger just had the right idea about looking for a college. Instead of reading US World News’ rankings, basing his decisions on sports teams, or even aiming for the Ivy Leagues, Tiger set out to make his college search a data driven effort. He asked himself, first, where he wanted to work. For him, that was an almost typical answer for an aspiring young technology student: Google, Facebook, Red Hat and other big name tech firms. [...] Tiger's real name is Passawit Kaovilai, and he's now entering his third year at NC State. He said that many people in his native Thailand have nicknames, and that his translates well into any language, and is understood immediately. He was also born in the year of the tiger, so the name is a natural fit. Here at Red Hat, Tiger has taken on the duties of a technical marketing intern. That means he's been diving into Red Hat OpenShift 4 to help create documentation and learning tools for users in the field. That also means contributing to open source projects, and getting his handle out there on GitHub, however modestly.