[sdiy] a provoking question about time

brianw brianw at audiobanshee.com
Mon Jun 27 06:24:29 CEST 2022

I have source code repositories that go back decades with NeXTstep, Mac OS, and various firmware projects. cvs repo goes back to 1991, and subversion goes back almost as far.

That said, firmware for dedicated hardware is rarely portable to new platforms. A lot of synthesizer hardware is so specific that you couldn't run the firmware unless you also recreated all of the hardware.

For that reason, I also have schematics, PCB layouts, design documents and notes archived in revision control as well.

It's not enough to back up after things are done: I really rely on having revision control so I can get out of trouble with firmware changes cause things to stop working. It's great to be able to say, "Well, it was working two days ago," and be able to extract all of the source as it existed on a specific date.

Personally, I try to stay away from firmware based on any OS. However, I've written plenty of NeXTstep and Mac OS programs that rely on an OS.

I learned that you sometimes need intermediate versions of tools - even if you never used them! With old NeXTstep software, and old Mac OS software, sometimes I'd need to load files in an old version of Project Builder or Xcode, just so the tool would offer to convert the file to a newer format ... only then could I port the converted files to a new OS. This is the Project Builder GUI design files in NeXT and Apple software. I have so many old computers running old OS releases with old tools. Some day they won't boot, and I'll lose some old code.

Just last year, though, I ported a NeXTstep program to macOS by extracting old C source from cvs and making a few changes.


On Jun 26, 2022, at 2:16 PM, Jay Schwichtenberg wrote:
> Really wasn't thinking about building the firmware. More about the hardware to program the device, but that is a good point.
> If you do this in real life you archive all the software used, including the OS. You're a fucking idiot if you don't. That was one of the first things I was programmed to do when I started doing this type of work. Some places I've worked you pull the hard drive and archive it too. Even so you still might not have the HW to run all the software on. Hopefully at least there will be a compiler, linker and programmer that can build and burn the code.
> Jay S.
> On 6/26/2022 1:53 PM, mskala at ansuz.sooke.bc.ca wrote:
>> On Sun, 26 Jun 2022, Jay Schwichtenberg via Synth-diy wrote:
>>> If you are doing a critical system or secure system you will have to go above
>>> and beyond to deal with those issues.
>>> Question to ask also is the technology to update the firmware going to exist
>>> in 20 years and I'm including USB in that statement?
>> If you're serious about designing for a multi-decade lifetime, then you
>> release the source code and when necessary someone can port it to whatever
>> platform is current in the future.

More information about the Synth-diy mailing list