The Dangers of Not Upgrading

  • Comments posted to this topic are about the item The Dangers of Not Upgrading

  • Back in 2014 one of the talks at QCon was a talk from someone at NASA.  They said they had two problems that kept them up at night.

    One was how they were going to provide power for all the computing they needed without getting brownouts.  They had pushback on their proposal to run their own Nuclear power supply.

    The other was the number of scientists whose lifetime work was done using ancient software.  As they explained it, this wasn't the sort of stuff you could hire a contractor for a few weeks/months to carry out the upgrade.  It was the lifetimes work of Nobel prize worthy maths/physics that perhaps 10 people on the planet stand a chance of understanding.

    I think the problem with portability of past work is one where we know where we want to get to, we just wouldn't start from here!  It feels to me as if we need an intermediary format to which software has to be capable of exporting its information.  A software vendor could write a utility to move from the intermediary format to their latest and greatest software but the utility should be separate from their main software.  This would create a market for intermediary to software 'x' plugins.  I'm thinking of the old MAME (Multiple Arcade Machine Emulator) software that started off as a personal project to run PacMan and ended up running thousands of old cabinet arcade machines.

    Backwards compatibility of software can be painful and lead to software bloat and tech debt.  By separating out the migration process the new software can be unhampered by the past.

  • This reminds me of the error message I always thought would be fun to put in GPS software upgrades which would say "You can't get there from here".

    Rick
    Disaster Recovery = Backup ( Backup ( Your Backup ) )

  • This is a huge topic to me!! I work in a large state government department, with hundreds of applications all written in old, out of support versions of .NET Framework, PHP, etc. And lots of SQL Server and MySQL databases many of which are also no longer supported. I've advocated for years that we need to upgrade to newer versions of .NET, PHP, SQL Server, or MySQL, but that tends to fall on deaf ears. Neither my fellow developers nor managers want to reduce our technical debt. They want to go on to the next project, but still use those out-of-date frameworks. I fear it will take a data breach before people finally realize that relying on 15+ year old technology isn't going to cut it.

    Kindest Regards, Rod Connect with me on LinkedIn.

  • David.Poole wrote:

    Back in 2014 one of the talks at QCon was a talk from someone at NASA.  They said they had two problems that kept them up at night.

    ...

    I think the problem with portability of past work is one where we know where we want to get to, we just wouldn't start from here!  It feels to me as if we need an intermediary format to which software has to be capable of exporting its information.  A software vendor could write a utility to move from the intermediary format to their latest and greatest software but the utility should be separate from their main software. ...

    I think exporting to common formats (CSV, JSON, etc.) is critical for all sorts of software. Esp medical software, especially as so many companies should use compatible formats, but they often don't quite work that well.

  • Sometimes we are in a quandary regarding how, if at all, to work our way out of upgrade situations.  Right now I'm having an issue with one upgrade and have another than is not economically feasible.   We had two old retired XP machines in our home office.

    The first is the machine that contains the accounting data for my wife's last business venture she sold years ago.  Her files and the application are on this desktop.  Although I'm pretty sure we are beyond the federal requirement for tax records, I still don't want to destroy her records.  If I were to upgrade the machine or move the files, I would face the issue of needing to upgrade the OS, and then the accounting software, if even possible, and then converting the data, again if possible.  And of course, the hardware could be an issue with the newer software versions.  Plus the licensing of the OS and the application.  So this machine sits in the closet in our office taking space, just in case.

    The second issue is another XP desktop that I am trying to upgrade to Win 8.1 to repurpose for our digital picture system.  The upgrade to Win 8.1 went well, and so far all seems to work OK.  All except mapping drives to it from our Win 10 and Win 11 machines all on our local network.  The new Win 8.1 version handles it mapping TO our NAS drives with the existing users and privileges, but other systems, Win 10 and Win 11, for some reason can't map drives to this machine.  I've spent a bit of time on this but haven't figured it out yet.

    Of course, the most likely thing is that I'M to old for the upgrade...

    Rick
    Disaster Recovery = Backup ( Backup ( Your Backup ) )

  • Many of our CICD pipelines build our apps into Docker containers and runs a vulnerability scan on the resulting image.  This is a pre-requisite before making the image available for use.  It is frightening how today's healthy security scan can be tomorrow's critical vulnerability.

    For the purpose of data portability we need something that captures data types too.  JSON does not do this natively but json-schema.org describes a structure which can be nested with a comprehensive range of data types and properties that can be used to express column constraints up to a point.

    Something like Apache Parquet, Hudi, Iceberg or Delta Lake offers highly compressed data with inbuilt schema.  They can also handle nested structures.  At present, although the formats have nested support not everything that can read these files is set up to support reading nested structures.  For example, the Parquet reader plug-in available for the JetBrains IDEs can only read Parquet files representing tabular data.

  • @david.Poole, I didn't know you could do security scans of Docker imagines! Very interesting. I'm starting to get into playing around with Docker, so I'll keep this in mind.

    • This reply was modified 6 months, 1 week ago by  Rod at work. Reason: Correct the mention

    Kindest Regards, Rod Connect with me on LinkedIn.

  • @skeleton56

    you could try to clone the xp to a vhd-file that can be mounted by hyper-v https://learn.microsoft.com/en-us/sysinternals/downloads/disk2vhd

    for win 8.1, probably has to do with SMB v1 being disabled for security reasons. Especially with older NAS

     

  • Rod at work wrote:

    @David.Poole, I didn't know you could do security scans of Docker imagines! Very interesting. I'm starting to get into playing around with Docker, so I'll keep this in mind.

    All CI/CD pipelines should have security scans. We do them for lots of our software at Redgate and the docker images we release.

  • Hey Steve, this thread has become really pertinent this week. I work for a large state government department in my state. One of my coworkers has supported two large divisions for 10+ years. I've mentioned before that most of my coworkers and our managers all tend to never want to upgrade anything we write. Well, those two divisions and my coworker, are going to form a new state department in a few months. (I don't know why; I'm guessing its politics.) At our team meeting yesterday, my coworker talked about all of the software he's written over the 10+ years he's supported those two divisions. I was shocked to learn that, besides many of them written using .NET Framework 4.0, he's even written some in .NET Framework 2!! That was released back in October 2005!!! 19 years ago!! He's had plenty of time to upgrade the .NET Framework that software is reliant on, but his resistance to not upgrade the underlying .NET Framework is typical. I'm guessing that at some point he'll have to insist on keeping some old OS, like Windows XP or older around, just so the software will run. If he hasn't had to do so already. Yes, the new department could probably install a VM or container on the user's machine, then install the app within that, but our users aren't savvy enough to know how to work with such a thing, so I'm sure they'll just keep some old machines around with an old Windows OS, just so those old apps can run, since my colleague is unwilling to upgrade the underlining .NET Framework.

    • This reply was modified 6 months, 1 week ago by  Rod at work. Reason: Needed to correct some details

    Kindest Regards, Rod Connect with me on LinkedIn.

  • Rod at work wrote:

    Hey Steve, this thread has become really pertinent this week. I work for a large state government department in my state. One of my coworkers has supported two large divisions for 10+ years. I've mentioned before that most of my coworkers and our managers all tend to never want to upgrade anything we write. Well, those two divisions and my coworker, are going to form a new state department in a few months. (I don't know why; I'm guessing its politics.) At our team meeting yesterday, my coworker talked about all of the software he's written over the 10+ years he's supported those two divisions. I was shocked to learn that, besides many of them written using .NET Framework 4.0, he's even written some in .NET Framework 2!! That was released back in October 2005!!! 19 years ago!! He's had plenty of time to upgrade the .NET Framework that software is reliant on, but his resistance to not upgrade the underlying .NET Framework is typical. I'm guessing that at some point he'll have to insist on keeping some old OS, like Windows XP or older around, just so the software will run. If he hasn't had to do so already. Yes, the new department could probably install a VM or container on the user's machine, then install the app within that, but our users aren't savvy enough to know how to work with such a thing, so I'm sure they'll just keep some old machines around with an old Windows OS, just so those old apps can run, since my colleague is unwilling to upgrade the underlining .NET Framework.

    That's crazy. I get it, but it's a bad idea.

Viewing 12 posts - 1 through 11 (of 11 total)

You must be logged in to reply to this topic. Login to reply