News for hackers. Stuff that matters.
Re:IRS’ 60-Year-Old IT System Failed on Tax Day Due to New H... by ChuckMcM on Monday April 30, 2018 @04:04PM (#16961755)
We have shown pretty clearly that any computer we build at day 1 can be emulated perfectly by a computer built day 1 + 50 years. However, building systems that can evolve is a larger issue.

The nut here is that these systems evolve in a very haphazard way do to funding availability, scaling stresses, and changing requirements.

For the IRS, I think it would be useful to engage the US Digital Service to see if they could design a system based on a cluster of non-specific hardware with only network interfaces, that could host a 'tax computation engine' and a growable data store. While it is a 'big' problem, it is not as big as some of the problems I have seen hosted on 25,000 machines as a 'small' cluster. That is 800,000 cores (assuming 32 core machines) so for 140M tax payers that is 175 payers per machine. Something that could no doubt process every return in a single day, and run fraud analysis as well.

Clearly the government needs warehouse scale computers that their vendor (IBM) is not in a position (yet?) to deliver.

Re:IRS’ 60-Year-Old IT System Failed on Tax Day Due to New H... by jcranmer on Monday April 30, 2018 @04:13PM (#16961822)
> We have shown pretty clearly that any computer we build at day 1 can be emulated perfectly by a computer built day 1 + 50 years.

We can emulate pretty much any old system, but emulated "perfectly" is at best not demonstrated and at worst already proven wrong. Perfect emulation implies emulating the undocumented bugs that end up working--and there are a lot of those. Getting the correct behavior in the case of parallel components (note that this applies even to single-core systems, since dedicated hardware constructs can race with the CPU) is particularly tricky. Even without parallel issues, you can have cases where software blatantly violates the API but it works reliably and consistently, necessitating complex emulation to make it work correctly (there are some games that don't work on WINE for this reason).

Re:IRS’ 60-Year-Old IT System Failed on Tax Day Due to New H... by DrScump on Monday April 30, 2018 @04:39PM (#16962096)
"Getting the correct behavior in the case of parallel components (note that this applies even to single-core systems, since dedicated hardware constructs can race with the CPU) is particularly tricky."

Heck, even if you emulate the documented performance perfectly, you can still suffer regression behavior if the existing program just happens to rely on misbehavior of the original hardware due to less tolerant exception handling, stricter memory alignment protections, etc. in the later deployment environment.

I've seen this a lot in memory misuse / misalignment when porting between various UNIX implementations. If your development environment just happens to forgive a lot of sloppiness (cough Solaris cough), misbehavior may only show up later on other platforms.

Re:IRS’ 60-Year-Old IT System Failed on Tax Day Due to New H... by dfox on Monday April 30, 2018 @08:03PM (#16963619)
As for the solaris it is probably only UNIX where ignoring the ISO C rule that anything ending with "_t" is reserved for implementation will bite you hard as solaris' libc headers are probably the main reason for that and typedef stuff like lock_t.

As for the rest doing cycle exact emulation of 50 year old system is and probably always will be doable and from some PoV trivial: you can just simulate the hardware logic of the original implementation on RTL or even gate level and it still will be faster than realtime.

[Edit: "reserved for implementation" was missing from the first paragraph]

Re:IRS’ 60-Year-Old IT System Failed on Tax Day Due to New H... by fouc on Monday April 30, 2018 @10:19PM (#16964159)
It occurred to me just now that the US Digital Service will become increasingly powerful as it helps digitizes the government, and 30 years from now it could be synonymous with the government.