Live data from Hacker News

IRS’ 60-Year-Old IT System Failed on Tax Day Due to New Hardware

nextgov.com

111–120 of 211 posts

Re: IRS’ 60-Year-Old IT System Failed on Tax Day Due to New Hardware

#111

Fun (scary) fact – significant portions of the IRS tax system is still written in assembly. It's basically the original codebase plus 40 years of additions and patches as the tax code changed. They were working on projects to "elevate" it to Java, because it's pretty difficult to maintain it as-is.

> Fun (scary) fact – significant portions of the IRS tax system is still written in assembly. Why is that scary? It has decades of real life testing applied to it if there were any obvious bugs they would have been found by now. Assembly is just another language, it is slower to develop in but there are many examples of high level language issues that are at least as scary as what you could do in assembly. In the end…

> if there were any obvious bugs they would have been found by now.

Really, that's what they said about CPUs - at least if you're not in the fab industry.

Re: IRS’ 60-Year-Old IT System Failed on Tax Day Due to New Hardware

#112

Earlier quoted context omitted.

Technically, a flat tax by definition is neither regressive nor progressive, it is proportional. Federal income taxes and I presume corporate taxes are currently progressive (with a million and one deductions). Moving to a flat tax for either of those would be a move in the regressive direction, but it's still not technically regressive. Personally, I'm fine with taxes having progressive rates but not the countless d…

Technically it is regressive. The flat amount comes out of rent and food on the low end of your tax base, and luxury on the high end.

Thats sales taxes, but flat income taxes would not be like that.

Re: IRS’ 60-Year-Old IT System Failed on Tax Day Due to New Hardware

#113

Earlier quoted context omitted.

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 cou…

> 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 paral…

"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 Hardware

#114

Earlier quoted context omitted.

A 5% tax levied on everywhere to a lamborghini subsidy policy is regressive. It is important to look at both sides of the equation to make a conclusion. Thats why you can have a flat tax, and a progressive government by spending for the poorer and levying flat. In fact, a flat tax is probably progressive simply because the rich dont use a multitude of public services the average poor does, like schooling, or healthca…

Regressive is not the opposite of Progressive in tax politics. You may be confusing "conservative" here? The commonly accepted denotation: > (of a tax) taking a proportionally greater amount from those on lower incomes Has absolutely nothing to do with spending, but on how much proportionally you are taking.

Again, it is not economics to not look at how it is spent, because the spending can be progressive or regressive.

You can have super progressive taxation and a wealth distribution from the poor to the rich, and a super regressive taxation that distributes from the rich to the poor.

Re: IRS’ 60-Year-Old IT System Failed on Tax Day Due to New Hardware

#115
post #77

Earlier quoted context omitted.

Technically, a flat tax by definition is neither regressive nor progressive, it is proportional. Federal income taxes and I presume corporate taxes are currently progressive (with a million and one deductions). Moving to a flat tax for either of those would be a move in the regressive direction, but it's still not technically regressive. Personally, I'm fine with taxes having progressive rates but not the countless d…

Flat taxes are regressive. Period. The reason why is because a bigger proportion of the income of the poor must be spent on necessities, so a flat tax rate is going to impact their ability to pay for necessities much more than the same tax rate paid by a rich person.

You are confusing flat taxes to sales taxes. A flat income tax would not have that effect.

Re: IRS’ 60-Year-Old IT System Failed on Tax Day Due to New Hardware

#116
post #36

The question for the industry remains: how do we deal with systems that should be up for 10 years? 25 yrs? 50 yrs? 100 yrs? We didn't even have computers as they exist today 50 years ago. How do we separate business logic in a self-contained way that can be independent of hardware and (from a certain level) software?

How do you create incentive structures for new employees who have to spend months (years?) coming upto speed with giant state machines before they feel remotely confident of the the effect of their changes? For better or for worse, currently the glory is in writing new systems rather than improving existing ones.

Unfortunately, it's not just about "glory". If you work in "obsolete" languages/environments, you likely will be perceived as less valuable to your next employer.

Re: IRS’ 60-Year-Old IT System Failed on Tax Day Due to New Hardware

#117
post #94

Earlier quoted context omitted.

> The IRS' IT "upgrade" is just a huge money grab. Nobody has the slightest interest or desire to do anything properly - they simply want in on that lucrative IRS money. This is factually wrong (at least for the most current effort): https://federalnewsradio.com/tom-temin-commentary/2018/01/ir... An eight person IRS development team nearly finished building a replacement, but the main developers were hired on a speci…

Open-source it and we'll help with the fixes.

That would be a huge exploit/privacy risk.

Re: IRS’ 60-Year-Old IT System Failed on Tax Day Due to New Hardware

#118

The question for the industry remains: how do we deal with systems that should be up for 10 years? 25 yrs? 50 yrs? 100 yrs? We didn't even have computers as they exist today 50 years ago. How do we separate business logic in a self-contained way that can be independent of hardware and (from a certain level) software?

At least this article acknowledges a period of "parallel validation" prior to retiring the old system.

Too many legacy migration projects fail to account for the active-active nature of migration.

Re: IRS’ 60-Year-Old IT System Failed on Tax Day Due to New Hardware

#119
post #4

When they can write AI to understand and implement the entire US tax system, then I’ll start worrying about the incoming AI apocalypse they’re always taking about.

More than likely, it will shoot back a question: "Why the hell did you make this so complex?"

Answer: "42."

Re: IRS’ 60-Year-Old IT System Failed on Tax Day Due to New Hardware

#120
post #36

Earlier quoted context omitted.

How do you create incentive structures for new employees who have to spend months (years?) coming upto speed with giant state machines before they feel remotely confident of the the effect of their changes? For better or for worse, currently the glory is in writing new systems rather than improving existing ones.

Unfortunately, it's not just about "glory". If you work in "obsolete" languages/environments, you likely will be perceived as less valuable to your next employer.

This right here is a huge problem with our industry. If you're not jumping from employer to employer every 1.7 years, you're labeled as out of date. It takes some really talented developers to truly understand some of these old systems. They should be given the proper respect they deserve.
Post reply on HN