Author Topic: How do you preserve the IDE/toolchain over many years?  (Read 15151 times)

0 Members and 1 Guest are viewing this topic.

Offline Towger

  • Super Contributor
  • ***
  • Posts: 1645
  • Country: ie
Re: How do you preserve the IDE/toolchain over many years?
« Reply #50 on: December 07, 2017, 07:07:07 pm »
I have huge zipped files with VB3 and various associated libraries/3rd party DLLs.  Newer stuff is in VMs, I even got a Windows 2 VM working a few years ago.

Something which has been on my mind for years now is how resistant various media is to a magnetic pulse.  Every now again I backup the bare essentials to DVD, just to be sure and in recent years the cloud.  Of course basic survival after such an event may take precedence.
 

Offline technix

  • Super Contributor
  • ***
  • Posts: 3507
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: How do you preserve the IDE/toolchain over many years?
« Reply #51 on: December 07, 2017, 07:19:49 pm »
I have heard of supposed archival-grade SD and microSD cards out there that uses SLC cells for lower refresh requirement and less likelihood to fail, and a controller that can do periodical refresh on its own. Maybe those can be useful?
 

Offline Jeroen3

  • Super Contributor
  • ***
  • Posts: 4078
  • Country: nl
  • Embedded Engineer
    • jeroen3.nl
Re: How do you preserve the IDE/toolchain over many years?
« Reply #52 on: December 07, 2017, 08:44:21 pm »
Heh, just try getting IDE's online when the cloud login or license server of decades ago is unavailable.
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 19470
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: How do you preserve the IDE/toolchain over many years?
« Reply #53 on: December 07, 2017, 11:08:11 pm »
Heh, just try getting IDE's online when the cloud login or license server of decades ago is unavailable.

Just so.

That's the reason I don't use anything like that for anything that would take me more than 1 week to recreate from scratch.
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 
The following users thanked this post: Karel

Offline brucehoult

  • Super Contributor
  • ***
  • Posts: 4028
  • Country: nz
Re: How do you preserve the IDE/toolchain over many years?
« Reply #54 on: December 08, 2017, 09:57:11 am »
Keeping each project in its own VM has a certainty and simplicity.

I remember I bought Connectix virtual machines. Few months later, Microsft bought Connectix and destroyed the product, so it became unusable. Old copies of Connectix didn't run on newer versions of Windows, so I eventually lost all my VMs.

There are open source community-maintained virtual machines now, which can use your old VM images: VirtualBox if you want to run one x86 OS (version) on another at essentially full performance, or qemu to run anything on anything at typically 5 times performance slowdown -- or faster than before if you have the latest shiny i7 box and you're emulating something 15 years old.
 

Offline Karel

  • Super Contributor
  • ***
  • Posts: 2217
  • Country: 00
Re: How do you preserve the IDE/toolchain over many years?
« Reply #55 on: December 08, 2017, 12:06:04 pm »
Heh, just try getting IDE's online when the cloud login or license server of decades ago is unavailable.

Apart from the download of the software itself and maybe the purchase of a license key, which can be stored in a safe place,
if you can not install it and use it without an internet connection, then don't use it at all.
 

Offline technix

  • Super Contributor
  • ***
  • Posts: 3507
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: How do you preserve the IDE/toolchain over many years?
« Reply #56 on: December 08, 2017, 12:11:31 pm »
Keeping each project in its own VM has a certainty and simplicity.

I remember I bought Connectix virtual machines. Few months later, Microsft bought Connectix and destroyed the product, so it became unusable. Old copies of Connectix didn't run on newer versions of Windows, so I eventually lost all my VMs.

There are open source community-maintained virtual machines now, which can use your old VM images: VirtualBox if you want to run one x86 OS (version) on another at essentially full performance, or qemu to run anything on anything at typically 5 times performance slowdown -- or faster than before if you have the latest shiny i7 box and you're emulating something 15 years old.

You can make qemu faster if you run Linux as the host OS, go through the process of getting KVM up, and the guest system have the same or a subset of the host instruction set.

For example, it is actually possible to debug Cortex-M4F code at near full speed on Raspberry Pi using KVM and run the M4F code on the Cortex-A7 core, by using Linux app debugging facility and KVM.
 

Offline Kjelt

  • Super Contributor
  • ***
  • Posts: 6460
  • Country: nl
Re: How do you preserve the IDE/toolchain over many years?
« Reply #57 on: December 08, 2017, 03:01:48 pm »
if you can not install it and use it without an internet connection, then don't use it at all.
As long as we have a choice that is good advice but the trends are against us  :(
 

Offline Howardlong

  • Super Contributor
  • ***
  • Posts: 5317
  • Country: gb
Re: How do you preserve the IDE/toolchain over many years?
« Reply #58 on: December 08, 2017, 03:11:07 pm »
Heh, just try getting IDE's online when the cloud login or license server of decades ago is unavailable.

Apart from the download of the software itself and maybe the purchase of a license key, which can be stored in a safe place,
if you can not install it and use it without an internet connection, then don't use it at all.

I agree, I've just been caught by exactly this. I bought recurring annual licences for some development software I started using about six years ago, at around £500pa. I remember finding out that it phoned home about once a week when I tried to use it on a long haul flight on my way to a customer to demo something with it. Needless to say it refused to work with no internet connection. I was not best pleased, but unfortunately I'd already invested a lot of time in the product so wasn't about to switch to an alternative.

Fast forward to now, I try to do some maintenance, and I discover that that the company has withdrawn their product and the licence servers are now switched off.

I can just about deal with products that need to phone home on a one-off basis during installation, and even those that have an optional recurring maintenance component, but anything that is controlled externally, needs to phone home frequently, and might break at the whim of unforeseen external circumstances I'm afraid is too much of a risk to even contemplate now.

 

Offline brucehoult

  • Super Contributor
  • ***
  • Posts: 4028
  • Country: nz
Re: How do you preserve the IDE/toolchain over many years?
« Reply #59 on: December 08, 2017, 03:35:33 pm »
if you can not install it and use it without an internet connection, then don't use it at all.
As long as we have a choice that is good advice but the trends are against us  :(

I disagree.

More and more vendors are realising that the money is in selling hardware not selling tools, and that in-house efforts aren't going to match the quality of gcc or llvm anyway, so it's easier to leverage off them and even upstream support for proprietary CPUs into the main repository. And the same for other tools such as IDEs, debuggers, programmers.

We are now even starting to see open source tools for programming FPGAs.
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 26892
  • Country: nl
    • NCT Developments
Re: How do you preserve the IDE/toolchain over many years?
« Reply #60 on: December 08, 2017, 08:56:53 pm »
Heh, just try getting IDE's online when the cloud login or license server of decades ago is unavailable.
Apart from the download of the software itself and maybe the purchase of a license key, which can be stored in a safe place,
if you can not install it and use it without an internet connection, then don't use it at all.
I go one step further: I don't buy software for which there isn't a hack available which disables tying the software to a particular machine or piece of hardware. After all it is very likely that a company can't create the license keys needed to install it on a different PC for a very old product even if they wanted to.

BWT this thread suddenly reminds me of this. One of my customers creates electronic art and they also some have pieces in a museum. Now the curator of that museum wanted all the sourcecode and schematics to be able to have information on how the artwork works so they can preserve it (keep it going or replace the hardware/software) for generations to come.
« Last Edit: December 08, 2017, 10:03:25 pm by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline bgm

  • Supporter
  • ****
  • Posts: 56
  • Country: au
Re: How do you preserve the IDE/toolchain over many years?
« Reply #61 on: December 11, 2017, 02:26:05 am »
The problem is that after a few years the toolchain used to develop the old project won't even open on the new PC.
How do you modify/recompile a project after many years?
  • A laptop for each project?  :o
    Don't laugh, there was a dude working for the national power grid, and he had a double door heavy metal locker full of shelves, and all shelves were full of laptop bags, all nicely labeled. One laptop and its cables for each industrial equipment used in their installations. Those laptops were never updated, upgraded or connected online. TBH at first we all thought the dude was crazy, but it's the best and safest method I've seen so far, since industrial equipment tend to have a lifetime of many decades.
  • Virtual machines?
  • Docker?
  • Something else?

Ooohhhh a subject near and dear to my heart because I have been *burnt* by this *SOOOO* many times .... 

I have been tossing the around the idea of writing an article on this because this is a real ugly problem and one that I personally deal with far too regularly.  I haven't done so to date because it personally gets me so angry and irate and every time I start .. I start frothing at the mouth as it is something that I personally can do very little to change. 

That said ... lets see if I can answer in some way the crux the problem. 

There are a number of separate, but very related problems with this. 

>Physical hardware Devices
>Logical Software

Physical hardware Devices

For physical hardware devices where you need a physical hardware ... that is a bit of a challenge.  I've seen sites which use laptops kept in storage for this purpose.  I've also seen what happens when said laptops get dragged out after 10 years of non-use only to find that they no longer power up. 

For this one ... I don't have a good answer.  Biggest issue I've had to deal with to date is software which has physical security keys that require parallel port dongles.  These are a right and royal pain in the arse and a USB-Parallel converter usually doesn't cut it (unfortunately). 

If a device is to be put into storage like this, make sure it is imaged before you do so, the image is checksummed and that you periodically power the device up so that you can be assured that it is still good.  The last thing you need is to have to go racing for the laptop at a critical point only find that it doesn't work ....

This begins what we in the industry like to say is the:
Beginnings of a bad day (Tm) ....

Logical Software

Software has it's own subset of problems ...

#1.  Software OS support.  If the software you use will only run on Windows 95, Windows NT/2000/2003/XP and so on then keeping a VM of the supported OS is insanely helpful.  I deal with this with a device programmer that I have which has drivers that will *ONLY* work on XP.  Windows 7, 8 and so on simply won't allow it to work.  My options ... zip, zilch .. nada... so I'm stuck with a device programmer that can *ONLY* work with XP (vendor has long ceased to exist). 

For this particular problem, VMs are a godsend.  Whether you are using VMware (workstation, fusions, etc), Parallels, DOSBOX, etc ... you get the idea.  They can allow you to get around this particular sticking problem.  In my day job, I spend a large chunk of my time in a DOS VM that runs PALASM ... 'nuff said ... 

#2.  Time locked icensing.  Some software has time locked licenses.  PRIME offenders in this category are the PLD vendors (Altera, Lattice, Xilinx, etc) which insist on shipping their wares with LMgrd abomination.  This means that even if you keep a VM with the software (and a OS that is supported) in VM, the moment you power it on ... guess what ... you are *HOOPED*.  It won't run as the software is then locked.  In some cases you can sort of fool it by setting a VM date to a date in the past, but that is just plain clunky. 

An even *WORSE* situation is when you come in after the fact and you have no working image to start from.  Then you have to acquire the software and license ... and if you can't ... well ... to put it bluntly ... you're 100% screwed.  I have personally been on the sharp end of this stick with this one from products from both Lattice and Cypress.  I reserve a particular hatred of the MBAs who dreamt up such levels of barstardry ... no really I do.  If ever there was a reason to have the MBAs of the world (along with their legal advisers) lined against a wall and shot ... well .. this would be it. 

In all though, there really isn't a lot that you can do for this particular case. 

#3.  Data "locking" because of above.  In most cases, design files, etc can typically be preserved and/or exported.  When you have software that stores its data in a encrypted form that can't be exported or read because of the #2 above ... then that is when I totally loose it.  Unfortunately this is a particular level of EVIL that *DOES* happen ... 

Only option for this particular problem is that whenever you have a design that is pretty much "complete" ... it really should be "exported" into a common digital form (a PDF at the least) and where possible, at the very least an analog image (i.e. a printout) should be produced as well. 

A schematic printout is 100% better than *NOTHING* ... reverse engineering a control board after the fact because the files are locked up in a proprietary format because the original designer did it that way is no fun I can tell you. 

#4.  Cloud based barstardry.  When your software is both time locked and also cloud locked, you are even more screwed than the above.  In that case, if the vendor goes broke or they won't support your old tool, congrats ... you are 100% screwed and you are also screwing the poor barstard who has to come in afterwards to deal with the mess left behind. 

In regard this particular issue, I will say this up front and right to the point now, no matter who you are, or who you work for ... 

IF YOU USE A CLOUD BASED EDA TOOL FOR SOMETHING THAT IS TO BE SUPPORTED INTO THE FUTURE ...YOU ARE AN IDIOT!

For the above, just like in problem #3, keep a printout.  Scan it if you have to so that you have at least a digital copy as well (if you can't print and/or export to PDF or something else equally readable). 

Summary

So .. what *CAN* be done?  Well ... in truth .. for some things ... not really a lot.  Ultimately all of these companies only answer to the Almighty Dollar ...

If people were to stop *SPENDING* money on such organisations who product products that have biblically awful EDA software licensing constraints, then they would stop doing it. 

Ultimately using open source tools in the only real way that you could really assure yourself that your design will be maintainable into the future. 

The problem at this stage is that there is very few options though. 

In the SCHEMATIC and board LAYOUT space ... KiCAD and a few other open source products are fast becoming viable alternatives to the level of barstardry that the likes of Mentor, Altium and Autodesk would like to subject us to. 

In the PLD area though ... the pickings are a hell of a lot worse.  There really isn't far too many options if you want to take some Verilog and/or VHDL and synthesise that into silicon.  Most of the physical device vendors lock their products with either their own software, or software sub-licensed from others and in most part ... their software licensing is pretty bloody awful. 

I would be *WONDERFUL* if we could say take iVerilog and then have a synthesis module for it that allows us to target all of the various CPLDs and FPGAs on the market ... but ... that isn't going to happen in the near future.  Even for long since EOL products, the vendors aren't releasing the source code for their toolchains so basically when they EOL their chip ... you are still screwed to a greater to lesser degree. 

It would be wonderful if they "did" open source their toolchains for EOL products ... but ... they don't, and realistically, I can't see them changing unless they were forced to by legislation. 

It's a sad fact of life but typically most designers don't have to look after and support their creations in 10 years time, so they ultimately don't give a rats arse about what happens in regard to availability of the toolchain that they use when they create it in the beginning.  This is something that I would dearly *LOVE* to change in the industry. 


... and on that note ... I'll get off my high horse, put my claws away and try to calm down with a nice cup of tea ... 

/BGM
« Last Edit: December 11, 2017, 02:29:13 am by bgm »
/BGM
"Forward to the past!"
 
The following users thanked this post: digsys, Karel, nugglix

Offline digsys

  • Supporter
  • ****
  • Posts: 2209
  • Country: au
    • DIGSYS
Re: How do you preserve the IDE/toolchain over many years?
« Reply #62 on: December 11, 2017, 03:37:28 am »
Yup, pretty much agree, with similar experiences. I did fix ONE thing many years back, after falling foul of this, back when dev tools were
astronomical ... I built every PC that I supplied / maintained to customers with EXACTLY the same hardware, plus I kept several spare parts.
So I have app 3 dozen organs that I can rely on .. that fixed the hardware / re licensing XP3, win7 needing to "talk" to base issue.
(Plus I have cracks IF I ever need them). Older Win versions aren't a problem anyway.
I also ran dummy "failed to call back to base" scenarios long ago (with software) to make sure I had an escape route. I did get caught out with
Keil / SIlabs a couple yrs ago, but thankfully, a flurry of emails and forum posts got that working again. It's NOT a nice feeling.
Hello <tap> <tap> .. is this thing on?
 

Offline Sal Ammoniac

  • Super Contributor
  • ***
  • Posts: 1668
  • Country: us
Re: How do you preserve the IDE/toolchain over many years?
« Reply #63 on: December 13, 2017, 01:19:19 am »
Keeping a set of mothballed laptops isn't an awful idea, assuming that they really include everything that you need

for me it works great!

What are you going to do if, years from now, you turn on one of those mothballed laptops and it doesn't boot?

Complexity is the number-one enemy of high-quality code.
 

Offline coppice

  • Super Contributor
  • ***
  • Posts: 8637
  • Country: gb
Re: How do you preserve the IDE/toolchain over many years?
« Reply #64 on: December 13, 2017, 01:23:12 am »
Keeping a set of mothballed laptops isn't an awful idea, assuming that they really include everything that you need
for me it works great!
What are you going to do if, years from now, you turn on one of those mothballed laptops and it doesn't boot?
What do you think the ability to cry exists for?
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: How do you preserve the IDE/toolchain over many years?
« Reply #65 on: December 13, 2017, 01:30:51 am »
I have a variety of solutions. A couple of old laptops used for specific purposes, VM's under VirtualBox that I can use on any of my PCs, and I have a hot swap SATA bay on my desktop PC with a selection of hard drives I can pop in to boot a specific OS bare metal. Of course this requires that the hardware is supported under the OS, my onboard video lacks a driver for WinXP for example.

Additionally after being burned numerous times by newer versions of software that were worse than what they replaced, I tend to maintain a "If it ain't broke, don't fix it" policy and rarely upgrade anything anymore. A couple years ago I finally replaced my nearly 10 year old desktop that still ran XP and I expect I'll run my current Win7 desktop for at least 10 more years.
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: How do you preserve the IDE/toolchain over many years?
« Reply #66 on: December 13, 2017, 11:20:41 am »
What are you going to do if, years from now, you turn on one of those mothballed laptops and it doesn't boot?

Tell me a scientific reason to justify it!
« Last Edit: December 13, 2017, 07:53:48 pm by legacy »
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 19470
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: How do you preserve the IDE/toolchain over many years?
« Reply #67 on: December 13, 2017, 02:57:56 pm »
What are you going to do if, years from now, you turn on one of those mothballed laptops and it doesn't boot?
Tell me a scientific reason to justify it!

Start with ion migration, dry electrolytics, and these pretty and scary pictures.

Alternatively, just take a cursory look at the "repair" sub forum.
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline Mr. Scram

  • Super Contributor
  • ***
  • Posts: 9810
  • Country: 00
  • Display aficionado
Re: How do you preserve the IDE/toolchain over many years?
« Reply #68 on: December 14, 2017, 09:50:29 am »
Tell me a scientific reason to justify it!
Rotating parts that get stuck, for one.
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: How do you preserve the IDE/toolchain over many years?
« Reply #69 on: December 14, 2017, 12:19:32 pm »
Rotating parts that get stuck, for one.

rotating w_h_a_t? hinges ?
yes, hinges may failure, but it's not a critical failure
 

Offline Mr. Scram

  • Super Contributor
  • ***
  • Posts: 9810
  • Country: 00
  • Display aficionado
Re: How do you preserve the IDE/toolchain over many years?
« Reply #70 on: December 14, 2017, 12:58:23 pm »
rotating w_h_a_t? hinges ?
yes, hinges may failure, but it's not a critical failure
Until not very long ago, most computers came with rotating media ;)
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: How do you preserve the IDE/toolchain over many years?
« Reply #71 on: December 14, 2017, 01:24:42 pm »
Until not very long ago, most computers came with rotating media ;)

mechanical harddrives? why should they fail?
I have TONS and TONS of HDs made in 90's, and they are perfectly working!

They are CHS instead of LBA! This may be the real problem. But it's a software problem.
 

Offline Mr. Scram

  • Super Contributor
  • ***
  • Posts: 9810
  • Country: 00
  • Display aficionado
Re: How do you preserve the IDE/toolchain over many years?
« Reply #72 on: December 14, 2017, 01:27:36 pm »
mechanical harddrives? why should they fail?
I have TONS and TONS of HDs made in 90's, and they are perfectly working!

They are CHS instead of LBA! This may be the real problem. But it's a software problem.
Because the bearings get stuck. It's a not too uncommon failure, one which is obviously more likely in unused systems.
 

Offline coppice

  • Super Contributor
  • ***
  • Posts: 8637
  • Country: gb
Re: How do you preserve the IDE/toolchain over many years?
« Reply #73 on: December 14, 2017, 01:40:45 pm »
Until not very long ago, most computers came with rotating media ;)

mechanical harddrives? why should they fail?
I have TONS and TONS of HDs made in 90's, and they are perfectly working!

They are CHS instead of LBA! This may be the real problem. But it's a software problem.
You've lived a wonderfully charmed life. Most of us aren't so lucky. Most of us have experienced large numbers of hard disks randomly dying, and losing everything they contain.
 

Offline Mr. Scram

  • Super Contributor
  • ***
  • Posts: 9810
  • Country: 00
  • Display aficionado
Re: How do you preserve the IDE/toolchain over many years?
« Reply #74 on: December 14, 2017, 01:47:15 pm »
You've lived a wonderfully charmed life. Most of us aren't so lucky. Most of us have experienced large numbers of hard disks randomly dying, and losing everything they contain.
Hard disks typically are the most fragile part of a computer, and unfortunately the part that's hardest to replace without losing more than just the value of the part.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf