A certain nuclear power plant had a Windows NT 4.0 machine running as late as 2007. The reason is interesting.
The machine's purpose was to report status of the control rods that mitigate nuclear reactions. Basically, "are the rods inserted, and if so, how many / how far?". I want to emphasize that this was reporting only, NOT control.
The original software was written back in the 80's, when the plant was originally commissioned, for AmigaOS. Of course, it's hard to buy Amigas anymore, and the original one died long ago (nobody remembers when).
So in the mid '90s, the utility purchased an AmigaOS emulator that ran on Windows NT 4.0, which was current at the time. The emulator (IIRC) was developed by a firm in the UK. The firm went out of business sometime in the late '90s. The control rod monitoring software ran under this emulator on top of NT4.
Windows NT 4.0 was the last OS to allow the emulation software direct access to the physical hardware that produced the status signal. Later versions of Windows abstracted the hardware access away, and the monitoring software broke. Because the emulation company had gone belly up, there was no way to fix the incompatibility.
So the utility had a choice: get new hardware/software certified (by NRC?), or keep doing what they were doing with the software (and hardware) that they had. They chose the latter.
So this is how, in 2007, during a tour of the facility, I stumbled across a Pentium 1 system running an AmigaOS emulator on Windows NT 4.0 that was responsible for displaying the status of the control rods of a nuclear power plant.
Spare hardware for this setup was purchased off of eBay and stocked on an adjacent shelf.
To me the funny part of this story is that they used to show you this warning as part of the EULA when installing Windows NT 4, which I remember joking about:
NOTE ON JAVA SUPPORT. THE PRODUCT MAY CONTAIN SUPPORT FOR PROGRAMS WRITTEN IN JAVA. JAVA TECHNOLOGY IS NOT FAULT TOLERANT AND IS NOT DESIGNED, MANUFACTURED, OR INTENDED FOR USE OR RESALE AS ONLINE CONTROL EQUIPMENT IN HAZARDOUS ENVIRONMENTS REQUIRING FAIL-SAFE PERFORMANCE, SUCH AS IN THE OPERATION OF NUCLEAR FACILITIES, AIRCRAFT NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL, DIRECT LIFE SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH THE FAILURE OF JAVA TECHNOLOGY COULD LEAD DIRECTLY TO DEATH, PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE. Sun Microsystems, Inc. has contractually obligated Microsoft to make this disclaimer.
Also:
The machine's purpose was to report status of the control rods that mitigate nuclear reactions. Basically, "are the rods inserted, and if so, how many / how far?". I want to emphasize that this was reporting only, NOT control.
It would take a whole lot more context to make this somehow comforting. :D
> It would take a whole lot more context to make this somehow comforting. :D
This is this fascinating 6 part documentary about the Chernobyl incident explaining how it was caused by bad control rods. But the main point is that control rods prevent the facility from going boom, so be glad it’s not the AmigaOS emulator on a NT machine handling it.
LOL at “Chernobyl accident was caused by bad control rods”. This seems to imply other control mechanisms worked, when in fact plant engineers could not even monitor the plant operations. They had malfunctioning Geiger counters. Also - plant engineers had no idea how much water was flowing through the nuclear core cooler. Monitors for the temperature of before mentioned water did not exist even on a whiteboard.
A friend works for an airline as a flight simulator tech. Their entire software stack, including the compiler and OS, is FAA-certified.
Then their ancient Honeywell(?) mainframes reached end-of-life they scouted for compatible hardware, of which there was none. The cost of certifying new software, plus the time involved, was astronomical. So, after consulting with the FAA, they paid a hardware company to clone the ancient mainframes in modern silicon. The FAA signed off on it, and they had all-new computers - much smaller than the originals - running the old stack.
There's a mechanical tank simulator at the Swiss Military Museum that was built in the 1970s and used for actual service before being retired and becoming a museum piece:
The simulator has a simulated cockpit for the user, which controls an armature with a camera attached that is piloted around a miniature battlefield environment and provides a video feed to the cockpit. A "foot" on the armature senses terrain elevation changes, which are then supplied as movement feedback to the simulated tank cockpit. All of this was controlled by a 1970s mainframe, for which replacement parts were unavailable so it was replaced, in the museum exhibit, with a Raspberry Pi.
Custom chips aren't as expensive as you think. About a few million dollars for the design and a hundred thousand chips, way out of reach for a hobbyist, but accessible to large enough companies. Just because it's opaque to us software people doesn't mean it's not a real industry you can buy things from.
Situation: Software-1 on Platform-1, both certified.
Time-evolution: P1 is deprecated, replaced by uncertified P2, but S1 remains certified.. just nowhere certified to run yet.
Solution: There's another software S2 which originally vouched for P1, itself still certified, which can still be used to certify P2.
Counterfactual?: If S1 were deprecated in favor of new S3.. there'd be no plan to certify it!
The problem: None of this actually makes any sense! But we're trying to fake due diligence. Everyone knows the hardware/platforms kinda need to be certified with respect to each other anyway, but if we did it that way it would all be even more expensive an time-consuming.
Doesn't seem crazy to me. Which one do you suppose needs more proof of correctness: a cake recipe, or the oven you bake the cake in? The recipe has to be correct or the cake won't work, but the oven just has to hold a temperature.
Ovens vary greatly. There is no consistency in how even the heat is in the space, the airflow through the space, how much and how fast the temperature varies around the set temperature, etc. These things all do affect how things bake up and often people have to tweak recipes for their specific oven.
In a case where something is safety critical the computer is super important as very subtle errors could cause catastrophic consequences. This is why you get into things like running software on 3+ computers concurrently depending on how fail-safe something has to be.
When Xerox established PARC, they asked the assembled scientists what computer they wanted. The majority view was a DEC PDP-10 KA10, with the BBN memory management unit that let it run Tenex (the ancestor of DEC TOPS-20). Xerox couldn't really buy a competitor's mainframe, so they built MAXC (maximum access computer), which was a complete emulation of the Tenex machines.
>MAXC (maximum access computer), which was a complete emulation of the Tenex machines.
Compuserve also had a software dependency on the PDP-10 and Decsystem 20, and when those machines were no longer available they bought a company making clones so they could continue to manufacture them for themselves. The company they bought, Microsolutions, was Mark Cuban's first startup.
making clones of mainframes (IBM's) had been a big area of intellectual property litigation, but also facing monopolization investigations, IBM had to allow them. They were referred to as "plug compatibles".
The clone hardware manufacturer was Systems Concepts. Microsolutions was a software play -- I think they had something to do with trying to port 1022/1032.
IBM released the PC XT/370[1], built around a pair of 68000s and an 8087 with custom microcode to emulate System/370 instructions, in 1983.
It's not hard to imagine a similar system fabricated around an open or licensed processor core today being well within the budget of a major airline today.
Software emulation would no doubt be less expensive, but there could have been regulatory reasons for building plug-compatible hardware.
It could be an FPGA. Given enough gates, and the know-how to program them, you can make an FPGA emulate anything. Speed and efficiency could be better or worse, but if you're targeting old hardware, better is likely.
I mean...there's some precedent. The XKL TOAD ("Ten On A Desk") implements the PDP-10 instruction set, and will happily run TOPS-10/TOPS-20. LCM had one doing just that.
It's tempting to write a PDP-10 emulator for the Atari ST called TOAST.
FWIW I'm developing "tiny-titan", a stand-in for Cambridge's Titan mainframe that talks to Heinz Lemke's 1972 PIXIE program over an emulated version of Neil Wiseman's PDP-7 <=> Titan link. It doesn't emulate Titan itself, just the conversation PIXIE had with it, so the unmodified 1972 PDP-7 code dials home and uploads its drawings.
>Titan was the prototype of the Atlas 2 computer developed by Ferranti and the University of Cambridge Mathematical Laboratory in Cambridge, England. It was designed starting in 1963, and in operation from 1964 to 1973.
Thanks! I'm in the process of bailing from Medium, and I'm moving my stuff to a reimplemention of HyperTIES, the hypermedia browser I developed for NeWS in 1987-1990 at the University of Maryland Human Computer Interaction Lab, and I'm dogfooding it to publish all my other stuff:
Here's a part of the demo I was giving at EduCom in October 1988 at the Sun booth on the trade show floor, across from the NeXT booth, where Steve Jobs and Bill Joy came by. Because he had shaved his beard, I didn't realize it was Bill Joy when I was showing him a demo of his head popping up! He took it pretty well though, better than Jobs.
Meh, old architectures are relatively simple and you can get 95% of those via fpga softcores (some freely available, some paid) and run them on fpga. The rest can be implemented by a proper ee team.
https://en.wikipedia.org/wiki/GE-600_series from the 36-bit era which turned out to be a sweet-spot for Lisp; also "famous" for running Multics (old joke flipped: "which was many of whatever unix is one of")
GE sold it's division to Honeywell, and from there to Group Bull (French) and then to NEC (Japan)
Also immortalized as the name of the "gecos" field in the UNIX passwd(5) file, described in the v7 man page[1] as "GCOS job number, box number, optional GCOS user-id" (GCOS = GECOS after the Honeywell acquisition).
Hardware is more amenable to static analysis than running programs which may receive an arbitrary number of inputs and express an arbitrary number of possible intermediate states.
I am interested in how firmware is treated, since perhaps in the case of these old machines it's small enough to be analyzable or at least cloned bit-for-bit.
Having worked on nuclear plants (as a reactor operator) around that time this doesn't surprise me in the least.
Thats far more advanced than the systems I worked with, one of which reported rod position via resistance measurement on a brushed cylinder (one for angular and one for depth).
Cleaning and calibrating those was a constant maintenance item every time the reactor was shut down.
>So this is how, in 2007, during a tour of the facility, I stumbled across a Pentium 1 system running an AmigaOS emulator on Windows NT 4.0 that was responsible for displaying the status of the control rods of a nuclear power plant.
Vernor Vinge's A Deepness in the Sky depicts a human society thousands of years in the future, in which pretty much all software has already been written; it's just a matter of finding it. So programmer-archaeologists search archives and run code on emulators in emulators in emulators as far back as needed. <https://web.archive.org/web/20231114211656/http://www.gareth...>
(Heck, recently I migrated a VM to its third hypervisor. It began as a physical machine a quarter century ago.)
This is a great post. How does someone write software that needs to run for ~50 years where the hardware will need to be replaced with non-equivalent, newer hardware? If I were facing this issue today, I might start with an OS that has excellent emulation. Example: Can I run 32-bit MS Windows 95 via emulation on a variety of current 64-bit OSes, like MS Windows, Linux, AIX, HP-UX, etc. If yes, then we can assume(?) this emulation will remain relatively stable even if we upgrade our hardware later. Maybe I am overthinking the whole problem: Can VMs do exactly what I want today? Will VMs running ancient OSes, such as 32-bit MS Windows 95, continue to be stable/viable in the future? I am unsure.
Make sure that you have as thorough a specification of what the system is supposed to do as you can.
Then define the version control system and the build process, specifying the dependencies, and so on.
Think about any opaque blobs in the system and try to eliminate them so that you have plain text source code so that no tools are needed to read the code.
Make sure that the build process runs entirely locally and never fetches anything from outside.
Simplify everything, use only tools and languages that are well understood and supported.
The real problems are not strictly technical but social: how do you prevent loss of the code, the tools, the specification, how do you maintain the expertise needed to maintain it. How do you ensure that all those things that are obvious to you now are written down in all their gory detail so that your great grandchildren will not apply their new and different preconceived ideas to the system?
Document all this on paper as well as electronic storage, make sure that version ids are recorded on every page as well as being available to the user of the machine or program.
In the industry in which I worked for the last thirty years of my career it was not uncommon to have things come back for repair after fifty years use and to be able to consult the original drawings and bill of materials so that exact replacement parts could be made.
Electricity distribution, mainly transformers from 10 kVA to 500 MVA and more.
It takes a long time to design and a lot of material to make a big transformer and they last for decades. They are critical infrastructure so when one fails you want it replaced or repaired quickly but they are too expensive (millions of dollars/pounds/euros) to keep a spare unit idle for decades and the lead time for a new large power transformer might be six months or even longer. So repair makes sense, especially if it can be done on site because moving a big metal box full of oil, steel, and copper that weighs hundreds of tonnes is a major logistical exercise.
This isn't something that can be done by a company that 'moves fast and breaks things' and disappears next year.
Hat tip for the first hand details. I sound like a broken record at this point: Posts like make are the secret sauce of HN. It is the main reason why I come back time and time again.
There must be some extremely salty machinists that get bizarre part requests after breakage for some transformer from 1950. That could make a very cool YouTube video series: Following these machinists and repair people as their repair very old transformers.
Transformers are pretty simple machines, no moving parts so there aren't all that many complicated bits except in the tap changer. But what is there has to be just right and a lot of the critical details are made of paper.
But of course many such transformers are connected to equally old generators and they are a bit more challenging as far as making replacement parts is concerned, huge turbines for instance.
> How does someone write software that needs to run for ~50 years where the hardware will need to be replaced with non-equivalent, newer hardware?
Some ideas:
Write it in a popular language/ecosystem, stick rigidly to well-defined APIs, use commodity hardware, flatten out any malignant cleverness, maintain documentation on why every part does the thing it does, and make the source code readily available.
This is based on working with some very old systems, and each point above is the opposite of something that made life harder.
Unfortunately, “popular language/ecosystem” includes JavaScript and PHP.
I’d go for “universal and timeless”, which has meant C for several decades now. There is, I’d concede, a reasonable chance that Rust obtains that label in our lifetimes.
Yeah agreed. Popular is a good first approximation, but to be more precise I think you want tools where the incentives in the community reward stability over features that require breakage, which would include languages and runtimes like Erlang and Clojure.
Neither is popular when compared to for example Python or PHP, but they both have cultures that care about stability in the core runtime and the libraries. Most folks probably don’t know that about Erlang and maybe think it’s some new whiz-bang thing, but Erlang is incredibly stable and well supported by a dedicated team that has been doing it for years and years at this point. I don’t know if Erlang will be more or less popular in 20 years but it 100% will be around and be receiving updates, I would put money on it.
My C programs from a few decades ago, before namespaces were invented, no longer compile. However, the old executables still execute. The old C compilers are available but not supported; ChatGPT warns to expect trouble. Perhaps maybe there are compatibility switches that work correctly. Using them would require changing the makefiles.
Wasn't there some idea that went like "if something has been around for x years, it will likely be around for x more years"?
Maybe follow that. It's 2026 right now. What way of writing code would have worked 50 years ago (1976) that still works today?
Well, C, SQL and Lisp were all around 50 years ago and still exist today.
In terms of hardware, 50 years ago there was intel 8080. apparently code for that can still work via emulation today.
So if you wrote C for low level, Lisp for high level, and compiled the software to run in an Intel 8080 emulator, that combo would likely still work in 50 years.
C is very different C. There is C where programmer rushes to call fork(), just because he likes the idea of entering room once and exiting room twice. And this program has got excuse for his behavior. He has fork() in POSIX standard. So programming is using fork() here and there even if not strictly needed. Using fork()/exec() instead of more portable posix_spawn(). Using fork()/accept() instead of multithreading.
Then it becomes impossible to introduce database connection pool. Well, probably possible, but in single-process multithread server this is BSc grade job, and in multi-process server this is PhD grade job. libmysqlserver and others maintain some context near to the socket, in opaque way. Hard to pass context between processes. At least, hard to return used connection back to pool in main process. Proxy is also not an easy walk.
On client side although Windows NT had POSIX layer, and XP/2003 still had Interix SFU. But Windows Vista broke SFU. But then Vista has got SUA. But SUA was not binary compatible, required recompilation. And as of Windows 10 there was surely no SUA. Was it dropped in Windows 8? Windows 10 has got WSL eventually, but there was a gap between SUA and WSL. And deploying Windows application with SFU, SUA or WSL part is not easy walk. Writing installer is MSc grade job.
Then comes iPhone OS and Android. They are POSIX OSes. Kind of. But spawning external processes is prohibited or not desirable. This is what was blocking LaTeX adoption on mobiles.
Well I think if you were doing the 1976 way you might not even have multi processing or multi threading. Just a single process with a single thread. And so you don't have a database connection pool, you just have a single database connection and do one query at a time maybe.
That may not work for network connected software with lots of requests per second. But such software did not exist too much in 1976 either as there was not very much networking going on.
There were absolutely multiuser computer systems processing transactions from thousands of users in 1976.
As for networking, both the ARPANET and Ethernet predate 1976, though neither were ubiqutitous and most high-volume networking would have been mainframes and related hardware connected via leased lines.
It's interesting to think about this in the context of parent poster's story about the Amiga emulator in the nuclear power plant.
Or, more broadly, in the context of any situation where the software is closely coupled to a specific operating system and/or hardware.
Having the source code would have helped tremendously, but might not have been sufficient because of the hardware story and the regulatory approval factor.
Even if VMs do not, whole-system emulators surely will.
But Windows 95 would be a poor choice, as you'd be stuck emulating a bunch of very specific aspects of both Windows (non-Unicode APIs, 16-bit application support, etc.) and the PC archictecture (BIOS, A20 gate, etc.) that exist only to maintain backwards compatibility.
If Windows is a requirement, you'd be better off building against something like the subset of Win32 APIs that has been stable since Windows Server 2003 and ideally testing against Wine, contributing patches as necessary.
If it were me, though, and it was something that required a general-purpose, non-realtime OS, and wasn't so performance-sensitive as to require deep integration with platform-specific APIs, my first thought is to target a Linux-compatible subset of FreeBSD, which should be enough to get you most of POSIX and then some, plus a full-featured GUI if necessary, portable between two open-source OSes that run on a wide variety of hardware.
I'd recommend not having it so dependent on the hardware and choose an OS that is relatively hardware agnostic (e.g. Linux). Also, ensure that the software is open source and if compiled, has an open source toolchain to do so.
Though people often decry it (due to the many, many footguns), writing something in Shell/BASH will make it trivial to move to newer machines.
DOS emulation is available more widely than Win32 emulation, and there is HX DOS Extender. I would try sticking to Win32 dlls runnable in HX DOS Extender. rundll32 or some other exe host. HX DOS Extender has no paging support and has problem loading multiple exe having no relocation info to the very same 4Mb base address they all usually pretend. DLL should have relocation.
I thought "but what is the problem to generate EXE with relocation?" and tried GCC GNAT (from 2017), and GCC said no. EXE and DLL formats are very much the same, but GCC is completely unable to generate relocatable EXE. A very suprising discovery. More recent toolkits became aware that adding relocation to EXE is not a rocket science, just do the same like in DLL. But these recent toolkits may call APIs that HX DOS Extender does not support yet.
> How does someone write software that needs to run for ~50 years
You in a lot of ways have to respect the ability to have done this in the first place, compared to todays slopware which manages to break within 1-2 mandatory OS update cycles.
This was one of the promises of Java. You write your application and then you get a virtual machine (JVM). As time goes on you only maintain the virtual machine while the application remains the same.
The funny thing happened and verified this promise. There were several architects working on IBM System Object Model (SOM). In 1996-1997 many good things ended, and SOM was terminated. But the work was so good that two architects did not stop and wrote the book: Putting Metaclasses to Work (1998). That book has got reference implementation in Java. So we have IBM SOM as closed source binary and we have Java source codes.
IBM SOM executes on Windows 10. I have checked Visual Age for C++ Direct2SOM extensions, OpenDoc for Windows. Very good. 32-bit i386, but otherwise runnable, usable.
And Java is hard to build, hard to execute on modern Java toolkit. Java seemingly had no List, and authors made their own List, but when Java also got its List, that breaks the build. When building problems are resolved, runtime problems come. Original Java was seemingly fine with Property key being object, but modern Java only wants strings. And Property-based dictionaries are all around. PMtW is about building VMT, and there is multiple class inheritance in PMtW model, not matching Java's comparably limited OOP. So PMtW is building dictionaries for methods to support what is described in book, and foundational Java class is malfunctioning.
I did not finish this road, don't know so what does it take after all to run Java code from 1998 on modern Java toolkit. So far looks pathetic compared to Win32 programming.
50 years ago, fortran iv had the "extended range of a do loop". You could jump out of a loop execute some code, then jump back in. Therefore 2 loops could execute the same out-of-loop code. It was useful; preprocessors like Flecs used it to emulate missing control structures.
ChatGPT says, "likely to need manual conversion". So no Fortran hasn't been stable. In another post I showed that C hasn't either.
I grew up in a little post soviet republic, in a small town with a big nuclear power plant.
Coincidently, that's where my father was working as a programmer until the shutdown of the plant.
Anyways, he was maintaining a bunch of systems related to collecting data from environment monitoring sensors around the plant. In mid 2000s or so he showed me some data collecting machines using what looked like DOS text UI that mentioned being written in Leningrad, 1989 or 1988.
The software was running in an emulator on Linux, which my father used to replace original x86-compatible machines runninh dos.
Pretty sure thr whole thing was running for quite a while since my family moved elsewhere.
That is an advanced question best asked of the folks in charge of the plant. At the time I was just trying to figure out how to explain to the IT auditors why there was no antivirus software on this piece of crap.
Could you skirt around it and just remark "there are no viruses for AmigaOS"
(Probably not literally true. But functionally true in the sense that they were likely transmitted via infected floppy disks, of which there'd be virtually none left in the wild in 2007)
It wasn't the AmigaOS running in the emulator that they were worried about, it was the Windows system running the emulator. (Not that the average IT auditor there could have understood the difference.)
If it were a newer version of NT I'd be concerned about USB media, but being NT 4.0 and not supporting USB it's imminently more capable of being air-gapped than later versions. (I recall a fun Ed Skoudis quote-- "At best, an air gap is a high-latency connection". Evidence Stuxnet.)
Depends. A lot of these audits are quite prescriptive and don't leave much room for actually thinking about the problem. There is often some kind of mechanism for 'this is sufficiently segregated it doesn't matter that it's utterly out of date' but then usually some awkward rules develop that prevent some things from being put into that category. More subtly you can get whether the thing even exists as a thing that the audit cares about, and that often depends on the framing (embedded software is often invisible here but it needs to not look too much like a general-purpose OS even though it often is).
(Also, in my experience, what the auditors think the rules are and what is written down can often be divergent and even contradictory)
This is pretty universal in my experience any time you have inspectors/auditors intended to enforce a set of rules. The most common case is that they just miss some rule: they can be hard to properly map from what you're seeing to the rules reliably, so different auditors will miss different things (so you can get a sign off from one and then another highlights an actual contradiction).
The next level is that the rules are kind of vague or unclear and so different auditors will have different interpretation of it. You can try to fight it but ultimately the auditor is who needs to sign off on it. This is also why switching auditors can be a right pain.
Then you get interpretations which are flat out contradicted by the rules. Sometimes this is necessary to make the rules work (there's some blanket rule that's impractical to impossible to apply literally, so the auditors contort some interpretation that's more workable), sometimes it's just incompetence, and when it's wrong enough to matter sometimes it's easier to just go along with it than try to escalate the issue with the auditor.
You can also get situations where the auditor has their own pet rules, which aren't written down anywhere, but they will become much more adversarial if they are not followed (sometimes they'll outright tell you what they are, sometimes it's a guessing game).
The Amiga thing is funny, but NT 4.0 was still receiving security updates until the end of 2006, so seeing it in 2007 wouldn't be much different than seeing Windows 10 today.
I'm curious what changed in Windows 2000 that would have broken the emulator, though, as direct hardware access in any version of Window NT requires a driver, and I don't recall any major breaking changes to the driver architecture between NT 4 and Vista.
This reminds me of the apocryphal story of the IBM System/360 running a 1410 emulator that ran an IBM 705 simulator that ran a business-critical application.
Which is why we should target VMs directly. Then that VM can be brought forward to new platforms rather than emulating the entire machine, not that emulating the entire machine is bad. One could argue that the emulation stack you outline was made possible by putting in the work to make simple, fully specified and documented hardware.
Interestingly, there are a few places that will sell you a warrantied and new desktop or rackmount PC with a Windows NT 4.0 license. I imagine buyers of their systems are often in similar predicaments, not sure who else would buy these.
There are some things I don't understand about the OP's constraints (are you sure you can't run that Amiga VM on a newer version of Windows, or better yet, run that Amiga-based software on one of the currently supported Amiga VMs?). But they can probably pretty easily keep going as they're going with this software until some other, more significant thing in that plant becomes fully obsolete and the place is shut down.
lol. I know a ... factory, that had a BBC model B (with a rather complicated wiring loom) still doing a job around that time.
The IT supplier at the same factory went to a museum in Cambs. around late '90s, early '00s to ask if they could buy an exhibit because something had failed locally. The museum gave them the part.
That was just aerospace and nothing fancy like your nuke plant!
You don't need protected memory if your program is the only thing running. Plenty of microcontrollers have no protected memory and get used in safety critical applications.
We're not talking about DOS here. This is AmigaOS, a fully preemptively multitasked OS from day one. No memory protection, but unless your code is running on bare metal like demos and games, there are other tasks running.
Top parent of this thread is talking about a package for AmigaOS being run on a bespoke emulator (as the Unusable Amiga Emulator of the 90s wasn’t really a thing that could be used for that)
It is wild to me that you would use any GPOS for something like this instead of dedicated firmware for the task. This is evoking similar reactions to when I read articles about infrastructure being hacked remotely: Something must have taken a wrong turn with the architecture design for this to happen!
I'm curious, how did the hardware present itself? It couldn't have been an Amiga Zorro card since it would've been impossible to get that into a PC. Did it connect over a serial or parallel port?
Was this status indicator simple vertical bars that were black and white and displayed on an old CRT Monitor?
Almost looks like black and white terminal vertical bars (like Alsamixer)?
> A certain nuclear power plant had a Windows NT 4.0 machine running as late as 2007.
To put this in perspective, NT 4 was released in 1996, 11 years before 2007. That’s roughly the same as someone running Windows 10 today, which a lot of people still do. The Pentium 1 was only 14 years old at most. These parts of the system shouldn’t be surprising.
The AmigaOS and software from the 80s are of course the older more interesting bits, but for critical infrastructure and safety, shouldn’t we expect and design for our hardware and software to last a long time, and not try to keep up with tech fads every decade? I feel like the main problem isn’t hardware or software that’s old, but that there wasn’t a longevity plan.
It’s always been an interesting question how to write software that will last a hundred years. Maybe with AI this is the first time in history that planning to port & upgrade to new hardware every 5-10 years seems totally reasonable.
> That’s roughly the same as someone running Windows 10 today
While true the situation is different. Hardware and software moved a lot faster in the 90's and early 2000's. Everything has matured, is far more standardized, and moves more slowly now. Hardware from 11 years ago when Win10 was released isn't that different from today's hardware. Same goes for Win10 and Win11.
There might be a seed of truth there, but FWIW, I’m not very convinced by that. CPU speed development has slowed down a bit for sure, but software development is going faster than ever. GitHub and NPM and Python 3 and Rust all didn’t exist in 2007. CUDA was first released that year. LLMs weren’t being used. At the start of 2007, the latest Windows version was Windows 5, one more than Windows 4. Almost same as today. There isn’t a Windows 12 yet, while Windows 6 was released in 2007. So the pace of major Windows versions might be slightly slower. OTOH, the OS is much bigger than it used to be and it gets more frequent updates and point releases now than it did in 2007.
It wouldn’t make a huge difference to me if 6 was released either 6 months earlier or 6 months later. In 2007, NT4 was only 1 major version behind for most people; adoption takes time. The broad timing of major versions being 4-5 years apart didn’t change until Windows 11, and we don’t know if that’s an outlier yet, but we do know that Microsoft has been changing the Windows release strategy, with more frequent updates. https://endoflife.date/windows
I wonder if there is push in the public sector for open source software/hardware for cases like this.
I completely get the decisions over time here, but it's unsettling having a relevant piece of software (reports are important too!) working on with parts from ebay, in 50 years time they might be gone.
I've dreamt of governments hiring devs with promises of full time OSS work. It _might_ get some people over the lower salaries of government work. But I overheard a state CIO once say "We configure, we don't create".
That's to say nothing about opinions of open source that rival early 2000s Microsoft.
For old ass critical software and hardware, the org can always have a backlog of hardware and contingency plans (paying someone to fix the hardware, paying someone to create a fully certified and modern solution..) for when they start running out of parts.
How on earth are these massive pieces of infrastructure relying on software they don't have the code to? i'm just utterly confused how these things happen.
This is crazy. Why on earth wouldn’t the respective government spend money to modernize a critical infrastructure like a nuclear power plant?
Safety and reliability come from understanding the system. Something that's old but that you know everything about is far safer than something new. This risk is that the people who know move on, or the sources of replacement parts stop working, or that other things around the system change. Then the risk curve inverts and you find the old system more of a liability than a asset.
Almost always people choose to update things either too early or too late. Knowing when to do something is hard.
That’s pure negligence. It’s not like the people that have the know how disappear suddenly . It’s the responsibility of the management to make sure the knowledge transferred to new generation.
I guess that kind of thinking is what led to the collapse of ancient civilisations like why even bother to improve anything and let everything decay and die out
You can only say such things with hindsight. In the moment, nobody knows what the future will hold. Take the space program in the US for instance. In 1969 we landed a man on the Moon. We'd repeat that several times until 1972. At that point Nixon made a speech which implied various unpleasant things about space's future, but he'd be out of office, disgraced, a couple of years later, so how big a deal could it have been anyhow?
I think almost nobody from that era would have believed you if you told them that more than 50 years later not a single human would have traveled beyond low Earth orbit, and that we'd now be struggling to recreate what we did in 1969. Furthermore a significant chunk of the world doesn't even believe we landed on the Moon anymore, no doubt in part because of this apparent anachronism.
It's not like there was any sort of collective or even singular decision to just let things die out. I mean sure Nixon did his thing intentionally, but even as a President in the golden years of the US, he was still just one man.
> I think almost nobody from that era would have believed you if you told them that more than 50 years later not a single human would have traveled beyond low Earth orbit
Four people went around the moon earlier this year (leaving earth's orbit for the first time since '72)
Basically everything collapses as far as it is allowed to, and the collapse is slowed only by:
- profit, if a system generates it, people will keep the system running.
- dilligence, usually driven by personal idealism, and unrewarded.
- legal or financial penalties, or insurance costs.
- it has collapsed to a temporarily stable state for now.
For another comment I was looking at the Grenfell Tower fire in the UK around 2017 and the people who lived there had been raising fire risks for years and the landlord (management organization) and the council had been ignoring them, and ignoring the fire department. The companies which replaced the cladding on the tower with flammable cladding were choosing the cheaper flammable option and pointing fingers as well. And during the fire, the fire service had never dealt with such a big fire and didn't have a truck with a long ladder, didn't have extended-breathing gear, had radio problems, water pressure problems from the local water company (who deny that).
This kind of backstory is typical for disasters, and for IT outages - and I've taken to believing that if something "should work" but wasn't tested recently then you should expect that it doesn't work. This is a common saying in backups (you need to test restoring), but it seems to apply everywhere. Backup internet connections that don't have enough bandwidth for the company to keep running. Disaster recovery sites that share resources with the production site. 'Disaster recovery' that recovered into a remote site, but they couldn't do CAD work remotely over their slow connection so it was still disastrous. Multiple power feeds but they were cross-wired so one failing still functionall took down everything.
If knowledge transfer "should be happening" but it's not critical to a job, or it's not profitable, or it's not legally required and audited, then it isn't happening. Subject to the dilligent idealist employee mentioned above who are temporary in the long view. Management's involvement seems not to arrange the larger system to effectively shoulder responsibility, but rather find ways to avoid personal blame while cutting costs beyond the point where everything that needs to happen keeps happening.
It’s the responsibility of the management to make sure the knowledge transferred to new generation.
That's just lazy thinking, and probably a sign you've never been a manager. For all the responsibility to lie with management you'd have to be leading people who enthusiastically do what they're asked to do, raise problems, document things, follow processes, and make sure everything is handed over to the next person when they leave.
That's not how people are. They'll have times when they're unmotivated, underpaid, grumpy, over-worked so they miss things, etc. That's when the organisational tech debt starts piling up, and there's nothing a manager can do to stop it except manage it as best they can even though they're under the same pressure, with the same lack of motivation and crap pay as everyone else.
It's so easy to think you can fix it just by keeping on top of it and micromanaging where it starts to show up. It doesn't work that way.
The Management of a company is a group of managers. There's no real difference between the group and the collective.
The fact that you're willing to absolve an individual manager but still believe Management can fix the problems is a big part of the problem. The Management usually includes the last person in the chain who has the ultimate decision making power. If you assume that when I said 'a manager' I meant that person, it should be fairly obvious that even they don't have unlimited budget or unlimited time, and they can only try to fix problems they hear about. Within those constraints Management are still going to find fixing systemic problems hard.
It's very easy to look at something with hindsight and think the outcome should have been predicted and corrected. If you look at the real world you'll see that just isn't the case. Personally, I wish we had a lot more people applying some systems thinking approaches to at least consider the second- and third-order impacts of their decisions but I imagine that won't ever happen. It makes me sad because it's actually really interesting.
For non-perishable things - i.e technologies, ideas, books, institutions - the expected remaining lifespan is roughly proportional to how long they have already survived
Time acts as a filter: what has already withstood a long stretch of disorder is more robust, so the longer it lasts, the longer it is expected to last.
The old nuclear software running on mainframes have passed the test of time. The new software, has yet to.
Nassim Taleb talks about this at length in his book, Antifragile.
Their 100 y/o hardware is built from stuff that's still produced though. We still make relays (not identical ones but ones that perform the same function), wires, and mechanical levers. The system's behavior is not encoded in the relays but in the connections between them. If you had a CPU made of separate transistors you could replace burned out transistors with any future transistors but if you had one made of chips you'd need those exact chips that were out of production.
Replacing the relays in old telephone switches is a problem because they use so many weirdly specific types of relays - but those systems are only found in museums now. I believe track control uses fairly ordinary DPDT, etc., relay designs.
But similar reasoning is why Canadian trams are worse than other countries, and it's not "good experienced engineering". In this nearly hour long rant by NotJustBikes[1] the section I've linked is about the technology and how the transit authority will not move on from 100 year old track technology which makes everything worse for customers. There are junctions where tram drivers have to stop and look at the track to make sure the junction is correctly set because the single-point switching is less reliable than modern designs. Or the driver has to stop the tram and get out to use a stick to move the track and change the junction because they aren't electrified. And then pass through junctions as slowly as 10km/h because the old track design has higher risk of derailment than modern designs.
The designs for the electrified track switches were made by one company which was sold, re-sold, and then burned down and the designs lost, and there isn't anywhere else to buy them because nowhere else uses such old track design anymore, so not only is Toronto struggling to buy parts to continue electrifying the manual junctions, it's struggling to custom-make enough replacement parts to keep the aging electric switches working faster than they fail.
And they were using trolley poles to connect to the overhead power lines instead of Pantographs until 2017, 50-100 years after everywhere else, which meant a) they couldn't get enough power through them to run air conditioning, and b) they are more likely to fall off the power line and the tram stops and the driver has to get out and reconnect them, and c) their newer trams now have to have custom dual-power connections to go through older parts of the network, and d) the carbon shoes on the trolley poles wear out quicker which means the trams are dirtier and taken out of service for maintenance more often in the wet which is when people want to use trams more.
OK, but the context here is IT in mission critical infrastructure, like energy or banking. These industries will not jump on the latest technology and will drag their feet for as long as possible, and for good reasons.
Also, I happen to be familiar with NotJustBikes, watch regularly. I don't see this as the same kind of problem. What you explained is clearly BROKE. What we're talking about works just fine and migration to newer technology doesn't provide advantages outside easier maintenance. It can't be justifies by costs, either.
A friend discovered that one of the more modern pieces of equipment instrumenting those old signals was an ancient WYSE terminal from the late 90s that had been bricked over during a station project.
They moved a booth or something and the compartment it was stuffed in was missed during the cleanout. The thing was working for at least 20 years and may still be there!
I worked with a client that had a cash disbursement system working on an ancient dBase 16-bit application. They had a very difficult to change process that required multiple transactions because the system couldn't represent the dollar amounts appropriately.
I understand that way of thinking for a small business computer system. Not for a critical infrastructure. Also if people actually thought about like that we would still be in stone age, like why invent something new or use a new technology? Keep on using rocks to crack nuts and kill animals
I think you can imagine the difference between “I did some work and made this thing that is clearly better, but we might have a few kinks to work out” and “I did some work, and if I did it perfectly, it’s just as good as the old thing, but we might have a few kinks to work out.”
I agree with you. First, "broken" is not a binary, it might not be broken but it might not work well either. Second, sooner or later everything breaks, and you better be ready for when that happens.
> Why on earth wouldn’t the respective government spend money to modernize a critical infrastructure like a nuclear power plant?
Same reason they don't modernize health care infrastructure. It's too expensive, people die if they get it wrong and they get voted out of office for their troubles.
Because what they have works well enough to be NRC-certified, and they have enough spare parts to comfortably outlast the rated lifetime of the reactor.
Now you know why "nuclear power may have been dangerous in the past, but with modern technology it's completely safe and Chernobyl will never happen again" is not a good argument.
Chernobyl didn’t happen because of technological blunder or even human negligence. It happened because poverty caused by communism in Soviet Union had to use old outdated (not the modern nuclear technology at that time) graphite tips in carbon rods because it was cheap and also kept it as a secret from the facility operators giving them a false sense of trust on the kill switch.
Chernobyl is the perfect example to not use outdated old technology. Had they used the modern western technology at that time to upgrade their nuclear reactors the kill switch would have prevented the whole disaster instead of increasing the neutrons make the core a nuclear bomb.
Next time educate yourself with facts before making a fool out of yourself
Wikipedia's pages on Chernobyl say that construction started in 1972 and the problem with the control rods causing an initial spike of power was discovered in 1983 ?
Chernobyl was very much not "old", it was a more modern design than the PWRs which are built today. Chernobyl Unit 4 was also basically brand new, only 3 years old at the time of the disaster. The RBMK design dates from the 60s, whereas the PWR is from the 40s.
Frankly, if not for the issue of components aging I would trust 1970s PDP-11 or even a PC-XT running MS-DOS a lot more than a modern system. This vintage's hardware was extremely mature and simple to understand and operate. No Ghz buses, no multiple levels of caching, no speculative execution and long pipelines.
DOS was a single task operating system. Once you proved such a system could run for days, months and years, there's no reason for it not to function 50 years later other than component failure.
That must have been a crazy moment for you when you first saw it and a big sigh moment for whomever had to explain it to you the first time. Thanks for sharing this; it made me smile!
Here's a great example (and I don't mean to pick on you personally, jmyeet).
You wrote "Elon "Sieg Heil"ed twice on national TV." as if it were undisputed fact. This "fact" been repeated here to the extent that "only Nazis could have interpreted it differently" is the default.
Well, I interpreted it differently. It was an (admittedly inartful) attempt to extend his "heart" to the crowd. This is further supported by his spoken words at the time of the supposed salute: "My heart goes out to you."
Perhaps I just like to assume innocence as opposed to malevolence, but this explanation makes sense to me. Elon isn't the most effective public speaker, so it's entirely reasonable to me that he was just trying to mime what he was saying.
You're welcome to disagree, but the fact that folks here just uncritically repeat "Elon is a Nazi; he even saluted" without any pushback is another example of the symptoms I describe in my earlier comment.
Everyone can have many explanations that make sense in their perspective. That doesn't make those explanations right per se.
Crediting someone's gesture of being only an inappropriate, forgivable mistake, or misinterpreted gesture is skipping conveniently his discourse (and actions) towards far-right groups, and the impact his discourse has on these groups (if only in Europe, where I can witness it). It didn't happen in a vacuum.
Someone with such wealth, power and extent cannot have the excuse of the doubt: they are waaaay over-equipped to know better.
In Elon's case who he funds is very revealing. The main anti-immigration party in the UK turned down his money because it came with the condition that they allow extremists to join. He now funds and supports those outright racists.
I don't know Elon well enough to comment on his political views. My point was simply this: "Elon sieg-heiled showing that he's a Nazi" has become dogma around here, because nobody is engaging in constructive debate about it, because the opposing viewpoints are either not making it to the screens, or not being offered in the first place.
I don't care about Elon. I don't own or use any of his products, and I don't idolize men. I don't wish to engage in a discussion about whether Elon is a (literal or figurative) Nazi.
I care that Drew DeVault's assessment that HN has been taken over by right-wing posters does not match what I've seen here, and therefore maybe we as a community should re-evaluate the benefit of engaging in political discussion on this (technical) forum.
> My point was simply this: "Elon sieg-heiled showing that he's a Nazi" has become dogma around here, because nobody is engaging in constructive debate about it, because the opposing viewpoints are either not making it to the screens, or not being offered in the first place.
I think the subject is debated again and again each time it appears. There were tons of newspaper article debating the subject.
You say you don't know Musk and the context around him. Well, how can you know if there was constructive debate then? You basically say "I did not care to read any article discussing of Musk's ideology, but I conclude that if someone link Musk to one ideology, it's surely a superficial reaction".
(as for the need of having some political discussion when talking about technology, the fact that you admit not understanding the context around Musk shows that maybe in fact it is more needed that you think it is)
I think I understand what you're saying, but I have to disagree with parts of it.
Again, I do not wish to debate whether Musk is a nazi (literal or figurative). I don't own or use any of his products, and he is free to espouse whatever views he wants, as we all are. You are absolutely entitled to develop and hold your own opinions regarding Musk and I don't want to attempt to convince you to change them.
Where I both disagree and agree with you is your statement that "the subject is debated again and again each time it appears". This may be true in general, but my point is that here on HN, it has become a truism that Elon performed a nazi salute. My point is that you're right that other outlets present the alternative view that I mentioned above, but I'm not sure ANY substantive debate regarding this specific action ever happened here, and even if it did once, the fact that it has now been stated as fact that "Elon gave a nazi salute" at least twice so far in this thread without anyone bringing attention to the fact that others might disagree with that interpretation does not lend credence to Drew's assessment that HN has been overrun with right-wing bias.
> but my point is that here on HN, it has become a truism that Elon performed a nazi salute.
I don't think it's a correct formulation. The idea that this gesture was not a mistake is just the consensus. Here or everywhere else. Of course, "official" entities (like companies or official instance) will not openly take a position because it can hurt them. But it is just "politically correct" to avoid being clear on the subject, while the large majority, unofficially, know what happened.
Strangely, you seems to both saying that "political discussions should not happen here" and saying "people have political discussions and build their opinion also outside of HN, so if they present their opinion without redoing here the whole discussion, it is not valid". If people had discussions elsewhere and reached a conclusion, the fact that they share a consensus here does not mean that this consensus is a dogma.
Ask Brittons, and Germans, about Elon interference
Supporting far right parties, stone cold racists and bigots. Spreading lies frankly and openly, doing his best to undermine the democracies
He does not live there, has no right to be involved in their politics. Interfering for sadistic fun, it seems
The damage he did (in a ketamine haze it seems) to federal programmes with such astounding carelessness...
It is no wonder that he has such a negative following. He is a genuinely bad person, and being so rich, powerful and hungtry for more he is news worthy
Observe the force and facial expression. This was not a pleasant "my heart goes out to you", this was clearly a very agressive salute, even more agressive than how most real nazi's would do it.
You know what people do when they make a comment or gesture that is widely seen as something horrible, even if it’s a misinterpretation?
They apologize.
And you know when someone deserves the benefit of charitable interpretation?
When they don’t spend their vast influence and wealth to very publicly and globally promote the abhorrent ideology symbolized by that “misinterpreted” gesture.
HN is nothing if not contrarian, which can lead to interesting discussions, but ehhh… this is not the thing to be contrarian about, especially given all the overwhelming evidence out there.
Congratulations, you have political opinions. Despite your claims elsewhere, you’re not “politically neutral.” Nor do you believe, in practice, that political opinions do not belong on HN.
> Congratulations, you have political opinions. Despite your claims elsewhere,
Your underlying point is correct of course, but can you please make your substantive points without snark, and avoid the flamewar style? It's not what this site is for, and destroys what it is for.
@dang - "Your underlying point is correct, of course". Could you please explain which statement of sheafification's, specifically, is correct (besides the fact that I have political opinions, which I do not believe is mutually exclusive with being politically neutral)?
Yes, happy to - but I'll be offline for most of the next hour, so it might have to be later.
I should mention though that I wasn't making a point about your comment (which I haven't really read) and certainly not about you personally. Rather, it's a general observation that has come up many times over the years.
With respect (especially for the work you do here), this isn't ok.
sheafification's reply was specifically to me and specifically personal. (Every sentence was directed at me - not something that I wrote.) There was no "general observation" that I can see in his reply. For the record, here is his reply in its entirety:
> Congratulations, you have political opinions. Despite your claims elsewhere, you’re not “politically neutral.” Nor do you believe, in practice, that political opinions do not belong on HN.
Where is the "general observation that has come up many times over the years"? What part of this response read as "correct" to you, and why?
From my reading, it was an ad hominem generalization based on a flawed understanding of my previous post designed to dismiss my opinions based on some perceived contradiction. What about this is "correct"?
I agree that that language was too personal. That's one reason why I asked the commenter not to post like that in the future.
The underlying point, as I understand it, is that it's not possible to be "politically neutral" or "apolitical" because what counts as "political" is itself politically contested. This is an argument that people often make in discussions like this—it has come up countless times over the years—so I was pattern-matching in interpreting the GP comment that way.
FWIW, although I happen to agree with that claim in general, I disagree with the consequences people usually try to derive from it (for example, that it is necessary to choose a single political position from which to moderate a site like this one).
None of that is pertinent to the moderation issue, though, which is that if people are going to make points like this in HN threads, they need to do it without snark, personal attack, or other flamewar devices. My moderation reply was about that, not "is it possible to be politically neutral or not"—it would be the same regardless of topic. I just prefaced it in this case with "your underlying point is correct of course" because (1) I like to say something to connect with the person I'm replying to, if I can*; and (2) it makes the "you're only moderating this because you disagree with my opinion" objection a tad less likely.
@dang - thank you for the explanation. I can see how you might read this into the post, but I think it's a real stretch to derive that conclusion from three sentences that ascribe motivation and belief to me personally. You have more experience with this than I do, so I'll respect your conclusion.
An interesting aspect is that not only the far-left is thinking it was a nazi salute, the far-right too, welcoming it and seeing it as Musk supporting them.
For me, the gesture is already quite suspicious (People have tried to cherry-pick similar gestures from other people, but they don't come close. The way the hand is flat at the end does not seem something that come "naturally" or "by accident", as it does not occur in others). But the reaction to the controversy is even more suspicious.
As I've said, far-right people were saying it was a nazi salute, and Musk never deny that to them. He criticized "far-left", or even instrumentalized it to attack people he does not like (for example, he attacked Wikipedia for just saying "some people compared the gesture to a nazi salute", which, according to him, is the proof that Wikipedia is part of the far-left conspiracy). He may have publicly said it was not a nazi salute, but it is clear that it is not enough to convince his far-right supporters it was not one.
So, yes, I think that "he has made a nazi salute" should be the default hypothesis. The data fits wayyyy better with this hypothesis than the one where it was an accident. No need to pretend that this hypothesis is favorised because of a conspiracy of biased people against Musk.
(Personally, I think that Musk did this gesture on purpose, in order to troll, trying to "trigger the woke". Does it make of him a Nazi? Well, some people supported the Nazi party because they were intrinsically "nazi" inside (whatever that means, probably something different for every single nazi). Some people supported the Nazi party just to troll their neighbour. They all ended up guilty of nazism all the same. So, while it can be an interesting nuance, it does not matter: if you are happy to play with the nazis, you are as toxic for humanity as them.)
This is a really interesting comment for a number of reasons that all happen to support my original claim that Drew is mistaken.
"it just seems transparent that you have a right wing worldview" - based on a single opinion about whether an alternative explanation for a hand gesture could be plausible? That you feel you know me well enough to draw this conclusion from a single sentence in a reply to a comment and announce it, as if you're branding me with shame, is part of the problem with politics here on HN, and in my opinion is strong evidence against Drew's claim in his post. A more constructive comment would engage with the substance of the reply, not the reactionary labeling of its author.
"but don't wanna say it openly coz they are openly racist and fascistic now." You've got the result right, but not the motivation. You're on to something: people who might hold these views don't want to say it openly ON HN because this is the reaction they will receive. Not debate, not even constructive pushback: just tired accusations of being in league with racists and fascists.
Your comment exemplifies the current problem with political discussions on this site: any non-mainstream (and that's this weird combination of civil-libertarian and progressive; see one of my other replies for more) viewpoint automatically earns the poster some derogatory label. Who would want to engage in discussion when this is the inevitable result? Ad hominem comments like yours stifle discussion instead of promoting it, leaving only those who agree with your views in the thread.
This doesn't mirror my experience, which is that most posts and comments criticizing the current administration and conservatives in general get significant positive engagement. There are few posts taking the opposite side, and those that try often get downvoted to oblivion.
As a recent example, anti-progressive themes (being supportive of Israel, for example) are nowhere to be found. Pro-Palestinian views abound with little counter-engagement.
In addition, just look at all the anti-US posts/comments. Other countries do not get the same treatment in the same volume. The US is a punching bag here. It's tiresome. HN used to be a respite from political insanity on both sides. Now some days it's no better than reddit.
From my (politically neutral, believe it or not) perspective, this site is extremely hostile to conservatives. It's interesting that progressives feel the same way. Maybe we should put a pause on political discussions altogether.
I think the US, right now, is just exceptionally bad (not just the president, the whole culture, divisiveness, weaponized fake news, ...).
If a president is just being not competent, it would be normal that the majority of the posts are negative.
I wonder how it was for a "normal" president during a "normal" period. For example, Obama? From what I recall, the international comments were pretty balanced at the time.
Take what you dislike about the US and then compare it against:
- migrants in the UK and EU;
- slave labor in the Far East;
- documented genocide in Africa;
- military conscription in Russia;
- press freedom in Central Asia;
- crime and drugs in Latin America
This is not to say that the US shouldn't be criticized. Let's have that discussion. But why on HN? And why do these other topics never result in substantive engagement? My earlier statement that the US is a punching bag meant that relative to all other injustices in the world, the US appears to be facing the most criticism on HN.
On one hand, maybe it's because the expectations for the US are so much higher than other countries. On another, maybe it's because it's fashionable to criticize the hegemon. I don't know. But my experience here is that almost all "government does something bad" posts are about the US. This is, to me, evidence of a bias.
Not sure what is your point: all of these are also strongly discussed.
Interestingly, "migrants in the UK and EU" seems to even be one of the favorite subject of conversation of americans (especially conservatives), totally blown out of proportion with respect to the reality of the crisis.
But importantly, people react to the conversation that is already on the table. When you see people on HN criticizing the US government, it is in the large majority of the case when the US government is a relevant subject of the conversation while crime and drugs in Latin America is not. If HN was talking more about Latin America, maybe there would be more negative reactions about their crisis around crime and drugs. In the meanwhile, the US government actions that are discussed outside of US are in the large majority actions that has a direct impact on the people discussing. Tariff and petrol cost have way more impact on European countries than drug cartel in Latin America (and often way more than even migrants in these countries).
> But my experience here is that almost all "government does something bad" posts are about the US. This is, to me, evidence of a bias.
What about an evidence that the US government is exceptionally bad while also having a lot of impact on other people's lives?
In think you are missing the point with regard to immigration in Europe. American liberals have long talked about Trumps immigration policies and rhetoric as uniquely bad. They do not seem to known EU countries have border walls, or that the UK will separate families. Very few countries have birthright citizenship as broad as that of the US. This may have changed with the powers given to ICE but it was not true in Trumps first term.
Of course the right in the US talk utter nonsense about the British cities being dangerous etc.
I don't think it can be the point, as the point was "bad things happen in other places and yet people don't care about it, they criticize US because it's the current trend".
One of my reaction was that one of their examples (immigration in UK/EU) seems to be an exact counter-examples where US people are overestimating crises that are outside of US and point the fingers.
As for the situation in UK/EU, a real reaction that happened in UK/EU is that if something like ICE was to happen in UK/EU, the population will never accept that (they may be wrong, but they are right that there is something there). Not because immigration laws are less unfair or less cruel in UK/EU, but because in US, there was not even the decency of pretending a due-process was needed. You can deport in UK/EU, but it is done by people who follow the rules and who are not particularly "against" people they deport. With ICE, it looks like cowboys who openly don't care about due-process. In UK/EU, the machine can be cruel. In US, there is no machine at all, just people openly showing they don't care.
> And why do these other topics never result in substantive engagement?
US politics has become so polarized, so trench-warfare-without-ever-giving-a-single-INCH-of-ground, that few people will actually listen to a point by the other side, no matter how valid. They will instead argue to the ends of the earth that the other side does not actually have a point, they have never had a point, on any subject, ever.
This leads to lousy conversations - both sides shouting at each other, and nobody listening.
Around the start of Trump's second term, HN reduced the degree to which politics was considered off topic. I think that's made HN more political, more shouty, less having actual conversations. And I think it has hurt the character of the site, and the community around it.
> Around the start of Trump's second term, HN reduced the degree to which politics was considered off topic.
That is inaccurate. The standard has remained the same ever since pg changed the name of this site from "Startup News" to "Hacker News", and its focus to intellectual curiosity, coming up on 20 years ago: https://news.ycombinator.com/hackernews.html. You can see there the original language: most stories about politics are off topic (note that the word is "most", not "all"), which is still in the HN guidelines: https://news.ycombinator.com/newsguidelines.html
Arguments about HN having gotten-too-political go back many years, long before the time you're talking about: https://news.ycombinator.com/item?id=17014869. I think there are two reasons for this. One is that there are swings and fluctuations, some of which last for quite a while and give the misimpression that the site has permanently changed. Such swings are inevitable—they are caused by macro trends, which HN is not immune to: https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que....
The other is that when people see a series of threads they don't like, or even a single thread they don't like—for example because it offends them politically—they rush to overgeneralize. This applies to all of us and has to do with how our emotions affect our perceptions and thinking.
The one exception to all this was when we tried a "no-politics week" as an experiment back in 2016: https://news.ycombinator.com/item?id=13108404. That experiment failed quickly—its actual effect was to make HN more politicized, so we canceled it after a couple days (https://news.ycombinator.com/item?id=13131251), and reverted to the original tried-and-true (albeit unsatisfactory, in the sense that no one is really satisfied by it—there's something for everyone to dislike) standard.
At first I thought this experiment was what you were referencing, since to this day there are people who occasionally get confused by the fact that we briefly tried it. But when I read more closely I see that you were talking about 8 years later!
I seem to recall, at the time of the start of Trump's second term, some posts that were purely politics, and people flagging them as off topic, and you, dang, as I recall, saying that HN was loosening the rules to allow more politics.
Now that you mention it, I remember the "no politics" week, and it's possible that I'm conflating the end of that experiment and "allowing more politics" and getting the time messed up. But... are you sure you didn't loosen up on politics at the start of Trump's second term?
> But... are you sure you didn't loosen up on politics at the start of Trump's second term?
Yes in the sense that we didn't change HN's standard or moderate differently. But of course there was a surge of that sort of content - this is what I mean by "macro trends" above.
> you, dang, as I recall, saying that HN was loosening the rules to allow more politics
I don't think so! but if you can track down any post that sounded like that, it would be interesting to take a look.
Also, was it the case during Obama? If not, why? Right now, in other countries, they have negative impacts from tariffs, wars, economical crises, ... that seem all be linked to bad management from the US government.
So, yes, in HN, when talking about some subject, for example Grok, then, yes, the fact that Grok is instrumentalised in the culture war is _on topic_ and people will discuss it. This is not the result of a conspiracy against US. This is just the result of the fact that US is really shit right now.
It makes sense to discuss it here since YC is largely US-based and the US has been such a large center of tech, VC-funding, etc. That impact obviously extends globally but I’m fascinated by the attempt to be “apolitical” on HN when those in charge of YC and nearly all of those in YC’s orbit are anything but.
I understand wanting to keep discussion curious and meaningful, but the influence of tech and these companies cannot be separated from either red v blue, capital-P Politics nor from small-p policy and politics on any level. It cannot, in my opinion be “apolitical” in the sense of “absence of politics”.
Either way, there clearly seem to be bubbles on HN. I’ve almost never seen pro-union sentiments here but other commenters indicate that the prevail view here is left of Marx. Evidence of bias either way is impossible with anec-data. I find the arguments about the actions and views of those in charge more meaningful than complaining about post and comment removal personally, but the discussion here is multi-faceted and prone to folks talking past each other.
>This is not to say that the US shouldn't be criticized. Let's have that discussion. But why on HN?
This is foremost a tech focused website, and currently the US is basically tech-Hitler for lack of a better term. So it makes sense we would come up in discussion as the current thread of techno-fascism works its way through all portions of American existence.
Have you considered that perhaps the US is really doing a poor job lately, and so pro-US posts would be less common?
I really recall leading up to and shortly after the election the vibe here was decidedly pro-Trump. The tech right was ascendant, posts glazing Elon and other administration cronies were the rule, and criticisms were flagged/dead almost immediately.
I agree with the GP post that some of Drew's observations seem off today, but I think it's a relatively recent development. It seems to me that only in the past 6 months has a permission structure arisen that criticism of this administration has become accepted here.
Hmmm, it's a genuine, not provocative, question: as an outsider from the US, I genuinely can't say what the USA (as a state, as a government) have done in the past few years, that is unequivocally worth of praise?
Nothing any country/government does will be unequivocally worthy of praise. That's a goal too far.
My point is that proposed discussions about US policy that point to something that some HN user has decided is worthy of praise never seem to get traction here, while discussions that are objectively critical of the US seem to proliferate (with no substantive discussion in opposition in the comments section).
That's the real issue. Humans do not engage in productive discussion if everyone holds the same opinions. Find me a set of conservative opinions that has resulted in substantive engagement here and I'll be happy to update my priors. Until then, what I see in the political threads here is an echo chamber, with the (conservative) opposition either downvoted or reluctant to post. I can't tell you why others don't post, but I can tell you why I don't (and I'm not even a conservative):
1) I don't think HN should be a forum for political discussions in the first place; and
2) I'd probably just get downvoted anyway since the progressive bias here is so strong.
I agree also that HN shouldn't be a forum for political discussions, but I think that the political nature of technology, and the political nature of the decisions/choices made by the companies driving technology, should not be avoided/silenced.
I do remember of slightly better times, but the governments were also of a quite different substance.
It's funny and maybe it's my European-bias, because I'd label myself rather a progressive (coming from a very, very conservative background). But I don't perceive the HN vibe to be progressive at all, neither conservative. It's of a different kind.
I agree with you that the HN political slant I see defies single labels. On the one hand, there is a significant civil-liberty lean (personal privacy and gun rights, for example) which is not generally associated with (US) "progressivism".
On the other hand, automatic disdain for the hegemony is a pretty progressive lean.
This is why summarily labeling folks as "nazis", "racists", "genocide supporters", etc. doesn't advance the conversation; it shuts it down, and my feeling is that's why we're seeing the types of political threads we see on HN (that are dominated by like-minded individuals ranting against whatever cause they happen to espouse).
IMO, this siloing is not a sign of a healthy community. My preference would be to get back to more technical discussions and try to avoid discussion of politics insofar as that's possible.
But I don't speak for anyone else and can only control how I engage in discussion here. I choose to disengage in political threads. That other (non-HN-mainstream) voices do as well is probably one of the reasons why the self-reinforcing echo chambers exist in the first place.
That's my objection to political discussions on HN.
I've been around for awhile and anecdotally notice the same. There is actually a really good example just above where someone says this in their comment:
"US is basically tech-Hitler".
Now there might be a small amount of truth to this in it's own way, but this is a pretty blanketed Reddit-like statement and ultimately not a very high quality comment. This comment isn't fading at all, but other higher quality comments that I would consider progressing the conversation are fading away.
I've always thought it would be a fun project to run analytics on comments and sentiment here on HN over the years. I anecdotally noticed a convervative/progressive 50/50-ish split around the mid 2010s, and that's moved to a more left of center split in the mid-2020s. But I also have my biases so I really can't come to a conclusion without seeing the actual data.
>This is why summarily labeling folks as "nazis", "racists", "genocide supporters", etc. doesn't advance the conversation; it shuts it down, and my feeling is that's why we're seeing the types of political threads we see on HN
We're all tired of fighting for survival, and under no circumstances will we stop calling a spade a spade. Beating around the bush is how we got here in the first place.
Right, I think it's basically just the permanent phenomenon that if a community is mostly politically on side A, then they over-perceive the presence of B-leaning comments and the downvoting of A-leaning comments, and vice versa. "Wow, HN is so B", says the A guy, because HN is 20% B. I've seen this exact same thing in conservative-leaning communities regarding liberal content.
When a person reads content that is more attuned to their political 'norms', it tends not to register as political information at all. When they come across opposing views, it creates friction, gets stronger attention, and becomes memorable. It can lead to the perception that "HN is extremely X biased" in either direction, based on who you ask.
Everything is political. It is impossible for it to not be. But it is easy to forget that when someone is espousing similar views, then the politics is just background noise and tuned out.
I do not believe one can really be politically neutral. One can be blind to their political inclinations, but what would being neutral even mean? Everyone has their views and values.
“Politically neutral" is a phrase used to distance oneself from the largely American habit of slotting one's values into the red vs. blue dichotomy. One can't be truly politically neutral, as you say, given that politics is a system of dealing with others and not an electric charge. However, it's a phrase that is easier to invoke just as it’s easier to describe oneself as an atheist rather than an agnostic when explaining why one would not believe in God.
Thanks for the comment, I guess it could be seen like that. I still think that being ”politically neutral” is more like being disinterested in politics and/or lacking introspection.
But shouldn't anything about Grok be flagged as political then? (or rather: where do you put the threshold?)
There is a big political aspect to Grok: it does not really bring much more technologically than any other model, its existence is mainly political in the first place. And talking about it / promoting it is participating to that: not everyone who does that does it for ideological reason, but a part of people doing it clearly does.
If only, but that won't work because a certain group considers dissenting opinions not as political but ethically deplorable speech and votes and flags it down while defending their own political stance which in turn is voted up more than down and remains in the threads. The result is a biased platform. Notwithstanding the article the bias is mostly (possibly performatively) "progressive" with some cave outs related to startup culture, venture capitalism and whatever PG has to say on the subject.
My point is that a lot of U.S. citizens will be reading this and if they are feeling a healthy dose is concern for Mr. Assange they should be aware that his essentially the fate of many of their countrymen.
How is comparing what Assange is (reportedly) experiencing in a UK prison in any way valid for criticizing the US prison system? I know we're supposed to assume the least objectionable interpretation of someone's comments, but this really sounds like a weird pivot designed to push some sort of anti-US agenda, when there's NOTHING related to the conditions of the US prison system even relevant to this particular discussion.
Health care during incarceration is a problem most places in the world. As far as I can tell in the U.K. and Europe it is generally better. But what Mr. Assange is experiencing in the U.K. is pretty comparable to the U.S. If Americans are going to bother to fret over his situation you should probably have a similar or greater level of concern for what is going on in your own country which you actually have some hope changing. To have special concern for this one person is just trading on fame, you might as well be following tabloids.
The machine's purpose was to report status of the control rods that mitigate nuclear reactions. Basically, "are the rods inserted, and if so, how many / how far?". I want to emphasize that this was reporting only, NOT control.
The original software was written back in the 80's, when the plant was originally commissioned, for AmigaOS. Of course, it's hard to buy Amigas anymore, and the original one died long ago (nobody remembers when).
So in the mid '90s, the utility purchased an AmigaOS emulator that ran on Windows NT 4.0, which was current at the time. The emulator (IIRC) was developed by a firm in the UK. The firm went out of business sometime in the late '90s. The control rod monitoring software ran under this emulator on top of NT4.
Windows NT 4.0 was the last OS to allow the emulation software direct access to the physical hardware that produced the status signal. Later versions of Windows abstracted the hardware access away, and the monitoring software broke. Because the emulation company had gone belly up, there was no way to fix the incompatibility.
So the utility had a choice: get new hardware/software certified (by NRC?), or keep doing what they were doing with the software (and hardware) that they had. They chose the latter.
So this is how, in 2007, during a tour of the facility, I stumbled across a Pentium 1 system running an AmigaOS emulator on Windows NT 4.0 that was responsible for displaying the status of the control rods of a nuclear power plant.
Spare hardware for this setup was purchased off of eBay and stocked on an adjacent shelf.