Because I've seen a bit of that and it's what makes the world go round. There's certainly a lot of bad/crazy stuff out there but wonder if the ephemeral fashions of today will stand the tests of time.
The client has started internal projects to replace it 3x over and each has been cancelled; sum total spent on the cancelled projects easily exceeds what I charged by an order of magnitude. In retrospect I didn't charge nearly enough back then! If only I could have used a SAAS model.
After you've lived through it, a decade is a very short span of time. If you don't have to think about whether or not something is going to break, you have more free cycles to think about something else that needs doing.
That was probably my first real bit of production code, it (un)fortunately replaced half a floor of people with one man, who faithfully clicked those buttons every first midnight for the next 10 years before he retired. It was then automated by the couple of South African contractors that replaced the NYC-based app development team.
The company spent about 12 years automating away almost every job except management.
If I'm not mistaken, we even gave them our code back in 2009 or 2010.
s/for now/forever
I managed to get it running on the latest security release of 7.1 with a few days of work (I had to make code changes in the framework I used that weren't supported in PHP 7 anymore). If they want future security upgrades, it's going to require a even more significant rewrite of the software because it relies on old PHP behaviours that have been removed in recent releases.
So, I completely understand why 20 year old systems would still rely on floppy disks.
Must be some cognitive blind spot.
Did autocorrect “fix” your intentional misspelling for you?
Hehe, yeah for the better or the worst ;)
The only thing that would have been good is to know in advance which ones will last that long - one was a temporary proof of concept!
It has zero comments, the code was inefficient, the variable names are things like "theThing" (it's the best I could do at the time) and "database" is just a series of text files carefully read/written to on the disk.
In some cases we had to have contingency plans for the software and data in case the company goes out of business within the coming 15 years.
Next I worked in advertisement, where clients spent similar sums as the above for cross media campaigns lasting maybe 14 days
That was quite the interesting contrast work wise :)
That said, most of my career has been in embedded systems, so this kind of lifetime isn't really unusual.
> Because I've seen a bit of that and it's what makes the world go round. There's certainly a lot of bad/crazy stuff out there but wonder if the ephemeral fashions of today will stand the tests of time.
Not many, I'd wager. I've even seem a few people argue here (IIRC) that backwards compatibility is an antipattern, which is the thing that allows systems to function on scales longer than an ephemeral fashion.
Did that a lot when I was working at a major US bank (JP Morgan). All the critical software I worked on was planned for 10-20 years in my mind. Some of the work was upgrading/rewriting ancient things that have been there for 15 years, sometimes mostly untouched. Wrote some blog posts about it.
The most remarkable legacy system I have seen : That one was 13 years old, upgraded and half rewritten with bug to bug compatibility, 99% sure it will still be there in 13 years. https://thehftguy.com/2020/07/09/the-most-remarkable-legacy-...
Retired the last Perl software in the bank, rewrote in python and made sure it works on 2.6 and 2.7 and 3.7 to cover the upcoming decade. That software was handling in the order of a trillion dollars per day, wouldn't be surprised if it's still there in 30 years. https://thehftguy.com/2020/06/26/are-banks-still-using-perl-...
I'm also curious about the work/personal split here. I have a small handful of things at home I first wrote around 10-12 years ago that I still use and tweak, but have only been working professionally for about 9 years (and have worked on things in that time I personally fully expect to hit 20-30 years).
There's a lot of infrastructure stuff that dates back 12 years, when we standardised the entire place on ubuntu (804) for linux (and got rid of solaris at the same time).
That's all fairly new though. A lot of broadcast equipment still in use store config on 3.5" floppy disks, and I saw a windows 3.1 machine still running in a branch office about 18 months ago.
What I would claim - is that people who targeted Win95 for equipment that had to last decades never bothered to understand how software ecosystem works. They just "threw it together"...
That said - the floppy disks isn't that bad, per se. I would have expected Boeing to be smart enough to expose a data loading interface, that can read something "as if it was a floppy disk"... But then I look af 737 and Boeing's failure to deliver a crew space launch vehicle - and get reminded that they only exist because US government literally props it up.
The backend of the dmd D compiler was originally developed in 1983. Of course, it's been through a lot of dramatic changes.
I had a lot of joy recently reading the Voyager 1 image decompression routines and some X11 window manager sources.
I dunno. I could easily see taking decently made hardware to the 20 year mark.
There is still Itanium hardware running on Windows Server 2008 R2 (Same Kernel as Win 7) and it's supported until at least 2025.
Safety critical and big enterprise software contracts are often written to keep the system running and updated with minimal changes and cost "Until the iron gets tired".
It’ll most likely become more and more costly, as you won’t be able to buy offline version of some complement, and keep it working on your support device for 30 years. You’ll need to build all of them yourself. And that will also most likely mean it’ll be less reliable.
Taking it to the extreme - will CPUs in 30 years be cloud connected and require my service provider to work? Would OS be? Or scheduler? Or terminal? Or dynamic linker for libraries? Or IPC framework?
How much of that stuff will companies need to build in the future themselves? It's not like software will get simpler, so they won't need it.
The point is that systems like this go through various analyses before being built. Reliance on outside services/components is one of those analyses.
Let's say that a critical component is an online service. Someone will do the analysis of what happens when that service goes away. If the outcome is that you can expect to failover to something else with acceptable degradation of performance, then the service might be used. If not, then the choice is find a more reliable service, build it yourself or do without the feature. And those last two choices will themselves be subject to another analysis.
One of the nice things about capitalism is that if there's a profitable gap in products/services, that gap will eventually be filled. All new CPUs need to cloud connected and require a service provider, but there's a big industry that can't deal with that? I guarantee that someone will corner that market and start building CPUs that don't need to be cloud connected and require a service provider. Either that, or sufficiently reliable cloud services, tailored to that market, will appear.
And this isn't only talking about software you put on the devices. Developer environment is going to degrade even more and more. It's already bad experience to develop stuff for things that need long term support, and with cloud trends, it'll only get worse, as set of tools that you could possibly use will reduce.
I guess I was thinking laptops running DOS, like the ones used to interface with the Mclaren F1 (supercar) computer.
While I'm not surprised per se (seen it enough here and in the industry), it does make me sad and worried about the industry.
This short-term thinking is starting to break everything. How many things sold today depend on some smartphone app? What is the chance that said app will be available or able to run in ten years? Thirty years? I'll bet big money on zero percent chance.
I once heard, that is the reason why many airplanes still have a "no smoking" light switch in the cockpit although it does not do anything anymore.
And pretty major pieces that get replaced with nothing breaking noticeably.
A better analogy would be like swapping the engines for electric drive props mid-flight, while other team is replacing most of the wings, but keeping the control surfaces in place.
Now, the cargo service would've been killed, and you'd have 3 mostly equivalent screens to choose from to watch movies during your flight.
Maybe I misunderstood something, but do you really need some specific, old hardware to run win 7? I thought you are going to say DOS or something older than win 98.
All in all I can’t understand how one can look at the state of the airline manufacturing in the past 50 years and decide that less regulation is needed. Except for the MAX 8, phenomenal gains in airline safety have been gained over this time period, throwing all that away so that it’s easier to upgrade some old hardware seems incredibly foolish.
Less regulation = rich founder kids gets lambos + utter destruction of society = good :thumbsup:
A better measure is passenger deaths per kilometer.
https://commons.wikimedia.org/wiki/File:Fatalities_per_reven...
It's been on a steady, large decline since the 1970s. Even with the 737 MAX crashes, it's an incredibly safe way to travel.
In the last ten years, one passenger has died on a US carrier due to an aircraft issue. (https://en.wikipedia.org/wiki/Southwest_Airlines_Flight_1380)
How does your "better" passenger-deaths-per-km measure account for these deaths? (And what is it superior to, exactly?)
1. Arguably this is the cost of regulations not being followed properly
2. This is an extra-ordinary circumstance that is costing much more than a regular plane would cost to get certified and fly (see point 1)
3. You are drastically underestimating the cost to the industry both in terms of reduced customer confidence, hull losses (~$100mil an airplane), and increased insurance premiums if we were to continue flying the Max 8.
But honestly, I'm having a really hard time understanding what your point is. Are you asserting that we should just fly the Max 8 and not worry about it? Are you asserting that airplanes aren't safer now? What are you getting at?
Pretty much any other form of transit, safety-wise.
https://en.wikipedia.org/wiki/Aviation_safety#United_States
> The number of deaths per passenger-mile on commercial airlines in the United States between 2000 and 2010 was about 0.2 deaths per 10 billion passenger-miles. For driving, the rate was 150 per 10 billion vehicle-miles for 2000 : 750 times higher per mile than for flying in a commercial airplane.
> How does your "better" passenger-deaths-per-km measure account for these deaths?
You propose a silly metric. Car accidents cost $871 billion a year. https://www.pbs.org/newshour/nation/motor-vehicle-crashes-u-...
The engine literally exploded, and they made it home via the rest of the plane OK (minus the unfortunate passenger).
In the past this would have cut hydrolics (this happened with a DC10 rear engine exploding) and then losing control. Major props to the pilots and boeing (all SW planes are 737s I believe).Airplane engines literally flying off the plane during takeoff because the airlines got to do whatever they wanted for servicing it instead of the recommended method because maintenance time.
https://en.wikipedia.org/wiki/American_Airlines_Flight_191
Boeing and Airbus and CRJ/Bombadier/NowAirbus have done a -really- friggin good job in the past 2 decades.
Why the hell would they need to upgrade something as non-essential as a floppy system? To What? Why does it matter if it works? Introducing uncertainty to a system to just make it "new" is spoken like a web dev and not like an aerospace engineer (and I'm a web dev).
In node land you get blasted if you don't stay current (because something will rely on something newer and you'll get upgrade hell'd at once instead of piecemeal).
There are no new versions of GQL that people need to upgrade to. Nor is their version of node going off LTS in 2 years.
i work for aerospace, and this is fairly typical -- albeit not floppy disk examples, but we keep a bunch of old laptops running win 7 and other examples around, hound around for them and spare parts. these machines are off the network, etc.
these systems were developed 20+ years ago and per contract the a manufacture is obligated to maintain them for the service life, so unless these are obsoleted these are to last 20-30+ years.
the costs associated of porting all tools from win 7 to a newer system and re-verifying 50K+ test cases to do a similarity analysis run into astronomical in terms of $ and months (years) of work. no one really wants to poke that bear so you have situations like these.