No, HealthCare.gov Doesn't Require 500 Million Lines of Code 142
itwbennett writes: "Half a billion lines of code for a transactional website — more than five times as much code as that behind OS X — just didn't pass the sniff test. But just how many lines of code does it take to generate HealthCare.gov? This question came up on Reddit again last week and it appears that we may now have an answer. One commenter who claimed to have worked on HealthCare.gov as part of the post launch clean-up crew at the end of 2013, provided counts of the lines of code behind HealthCare.gov, broken down by programming/markup language."
Re: (Score:3)
Not implying anything.
You also post without the intent of communicating? Me too. Let's be friends.
*I'm not actually implying we should be friends.
Re: (Score:3, Informative)
Not only that, but you need to go to the link to get the number. They could have just posted that in the summary. Typical click bait. Fuck 'em
Posting AC due to recent politically motivated mod bomb attempts on my account. Fuck the moderators also
-F
Re: (Score:3)
You could have posted it in your comment too....
Re: (Score:3)
The user who posted the numbers rounds out by saying 5 - 15 million lines of code. (It is a guess as his numbers only included part of the project.)
Re: (Score:1)
Wait, Reddit s click bait? I was under the impression it was 100x more relevant than /. here in 2014.
Re: (Score:2)
646 lines of Perl? (Score:5, Funny)
That's probably the whole app there, with each line being around 10,000 characters of obfuscated self-referencing goodness.
The rest is just quotes from Tolkien.
Re: 646 lines of Perl? (Score:2, Interesting)
I like the 25 lines of VB. I'd pay money to see what those are.
Re: (Score:1)
Re: (Score:2)
You can do anything in one line of Perl.
It might be a very long line, though.
Re: (Score:2)
You can do practically anything in one long line of Perl.... that doesn't mean it's going to be maintainable.
Re: (Score:3)
Re: (Score:1)
Build scripts.
No really that's about right for them to be build scripts.
Re: (Score:2)
Holy shit. How the fuck did that happen?
Re: (Score:2)
Re:646 lines of Perl? (Score:4, Funny)
It originally contained no Perl.
One of the experts they hired to fix it, rewrote the entire front end Perl.
They left the old source code lying around just to help hide the Perl.
Re: (Score:2, Funny)
It originally contained no Perl.
One of the experts they hired to fix it, rewrote the entire front end Perl.
They left the old source code lying around just to help hide the Perl.
They liked their code, and they got to keep it.
Lucky them.
Re:646 lines of Perl? (Score:4, Funny)
So, what's the other 500 lines, then?
Re: (Score:2)
Re: (Score:2)
They left the old source code lying around just to get a cut of the original vendors paycheck.
FTFY!
Re: (Score:3)
That much Perl?
Yeah I'm surprised that they were 20 lines short.
Re: (Score:1)
ought to be enough for anybody
Re: (Score:2)
So now we're trusting blogs face value? (Score:5, Insightful)
Has this been verified? Is this poster even supposed to be posting data like this? Main news channels now repeat blogs true or not as facts, et tu Slashdot
Re:So now we're trusting blogs face value? (Score:5, Insightful)
In fairness, it's no more unreliable than the 500million+ lines of code, claim. And somehow much more believable.
Re: (Score:3)
4 million lines of code isn't too far from 500 million? Math is not your strong suit is it.
Re: (Score:2)
Not defending what the GP said, but in context, 4 million lines of code sounds just about as reasonable as 500 million. Have any of you visited healthcare.gov? I've personally written substantially more complex websites pulling from multiple datasources (including the backend SQL code and a pair of webservices), and I doubt I have 10k lines between them all total. And yes, that includes comments, and no, I don't
Re: (Score:2)
You want to know another way that bullshit is tripped? It took about 400,000 lines of code to write the flight software for the shuttle. The Linux kernel is 15,803,499.
A website taking a quarter of the lines of code of a fucking operating system and ten times the amount for complex flight software?
Re: (Score:2)
To be honest I am a sys admin, my coding experience is very limited. But comparing 4 to 500 million is a bit ridiculous and that's what I was trying to point out.
Re: (Score:2)
Re:So now we're trusting blogs face value? (Score:5, Funny)
Re: So now we're trusting blogs face value? (Score:2, Informative)
I can confirm Alex was one of about 6 good CGIFederal coders on the hc.gov effort, and generally a good guy. He was working on SHOP (the small business market) before it got cancelled and him redirected to bug fixes. I haven't counted the lines of code on the sustenance7.0 branch, but it's probably in the ballpark. Posted AC for obvious reasons.
Re: So now we're trusting blogs face value? (Score:5, Funny)
In other words, it's not only on the internet, but it's been vouched for by anonymous sources. It clearly must be true.
Re: (Score:2)
I guess you are one of those dumb people who validate information by who's providing it rather than the actual information itself.
Did it include... (Score:1)
the parts where the "programmers" and "designers" were learning basic javascript functions and had code copied from w3schools? How were the hundreds of "TODO" lines counted? I'm sure its better now, but damn was it a disaster to look at the page source in Oct.
Re:WOW (Score:5, Informative)
Re: (Score:2)
yeah, where everyone is in a few insurance groups and gets the same basic benefits
obamacare has variable pricing based on history, finances, where you live, etc. lots of business rules to properly price the policy
Re: (Score:3)
I thought the whole point of the ACA was that everyone got the same basic benefits?
And while it's true that calculating the subsidy is part of the job, that's not all that big a deal, really. Family size & family income are pretty much the only variables. Given those inputs, you should be able to make the calculation in a hundred lines of code, tops.
Re:WOW (Score:4)
No, that's not the point at all.
The point was to make useful insurance policies more readily availible to more amercians. Its so frustrating to hear people on the news talk about how a doctor wouldn't treat them because he didn't take "obamacare". There is no single policy that can be catagorised as "obamacare". If someone actually said that without actually looking at his policy, then that's just crazy wrong. As far as I know, providers can't really tell if a specific policy was purchased on an exchange or not.
Re: (Score:2)
Its so frustrating to hear people on the news talk about how a doctor wouldn't treat them because he didn't take "obamacare".
What that guy probably means is that he bought a policy on the Obamacare exchange, and his doctor wouldn't see him because he doesn't accept that policy.
Re: (Score:2)
What that guy probably means is that he bought a policy on the Obamacare exchange, and his doctor wouldn't see him because he doesn't accept that policy.
But that can happen anyway, right? Presumably doctors change what insurance they accept at certain times depending on what market conditions exist and how they go with the various insurance companies they have to deal with?
Re: (Score:3)
>. Its so frustrating to hear people on the news talk about how a doctor wouldn't treat them because he didn't take "obamacare". There is no single policy that can be catagorised as "obamacare"
You're probably misunderstanding what is said, or the reporters are saying it wrong. The ACA cut $200B from Medicare/Medicaid reimbursements, and some doctors stopped accepting such patients when they did the math and found it would cause them to take a loss, or not be worth their time.
Re: (Score:2)
No, it was the individual with the coverage that said that exact same phrase "they said they didn't take obamacare". This was Texas, so I wouldn't be surprised if there was plenty of ignorance to go around. But it wasn't my mistake, nor any reporters.
I'm somewhat well informed on this issue as most of my family members are in various parts of healthcare doctor, nurse, drug makers, hospital administration, insurance. My guess would be that either the doctor was an idoit ( entirely possible) or the patient
Re: (Score:3)
yeah, where everyone is in a few insurance groups and gets the same basic benefits
obamacare has variable pricing based on history, finances, where you live, etc. lots of business rules to properly price the policy
Actually, no. We can program a high amount of variability in pricing and eligibility based on whatever data is required. And we own a private exchange, so we do that, too. Also, we can implement such a project in 6 months, sometimes less, including the entire reporting requirement.
Re: (Score:2)
You know nothing about databases, or the value of pork, do you?
Re: (Score:1, Offtopic)
Exactly. Should have just implemented Canada's Single Payer National Healthcare for 1/20th the cost.
The resulting health improvement in the US would have saved Trillions that we could have wasted in IraqIranAfghaniPakistan.
Re: (Score:1)
Exactly. Should have just implemented Canada's Single Payer National Healthcare for 1/20th the cost.
The resulting health improvement in the US would have saved Trillions that we could have wasted in IraqIranAfghaniPakistan.
First, the cost of both wars was less than $2 trillion, making the 's' on the word "Trillion" misleading and dishonest.
Next, we have a government run, single payer, health care system now. It's called VA. How's that working out?
Re: (Score:2)
First, the cost of both wars was less than $2 trillion, making the 's' on the word "Trillion" misleading and dishonest.
Next, we have a government run, single payer, health care system now. It's called VA. How's that working out?
You forgot to include lifetime costs for VA health care for surviving vets, who tend to have fairly difficult to treat injuries that would have killed people in prior wars.
This is why there's such a backlog in the VA.
The costs are as I state, not the low ball "cost" you've been told.
Re: (Score:1)
We're talking about the implementation model of the VA, and how it ends up in actual implementation, not the details of the 'bottom line dollar value' of the VA. Shit-tons of money are spent on the VA, as should be the case for veterans who gave so much. Get a clue and pull your head outta there.
Re: (Score:2)
You forgot to include lifetime costs for VA health care for surviving vets, who tend to have fairly difficult to treat injuries that would have killed people in prior wars.
This is why there's such a backlog in the VA.
No it's not. The majority of the people at the VA are mostly Vietnam vets with a few WWII and Korean War vets hanging on. Most of your Iraq/Afghanistan vets are under the age of 50, meaning they have their own health insurance through the company they work for. For example, ME! I've never b
Re: (Score:2)
That was exactly my reaction.
Re: (Score:2)
If they had used a good ESB instead of hard coding it, then even that portion of the code would be greatly reduced. ( and more maintainable )
Re: (Score:2)
Re: (Score:2)
Over 3 million lines of bugs for what is essentially a database frontend.
That's a huge oversimplification. It's kinda like calling an Abrams Tank a bulldozer with a rifle bolted on the front.
HealthCare.gov does a lot of actual calculations itself. Once it knows your location it has to ask several other databases for your income level, at which point it compares that income level to the poverty rate. This is step one of determining your subsidy. Step 2 is to query a second database for a list of plans in your area. The second lowest cost silver plan is the "Base Plan" which is th
Re: (Score:2)
HealthCare.gov does a lot of actual calculations itself. Once it knows your location it has to ask several other databases for your income level, at which point it compares that income level to the poverty rate. This is step one of determining your subsidy. Step 2 is to query a second database for a list of plans in your area. The second lowest cost silver plan is the "Base Plan" which is the second number used to calculate your subsidy. That's not just a database query, it's executable code.
Everything you
Re: (Score:1)
Finance guys are so cute. They're convinced that just because it has finance on the title, and the boss spends loads of money on legal shit, everything is more legal and complicated then anything anyone else does. The problem with this post in particular is that you're conflating a bunch of different finance databases into a single database.
For example a retail bank needs two tables in it's accounts database. One for the account, a second to record the transactions. The database may be queried by other data
Re:WOW (Score:5, Informative)
Finance guys are so cute.
I was an IT guy so....
For example a retail bank needs two tables in it's accounts database. One for the account, a second to record the transactions.
The DB needs a customer table (name, address, phone, address, ect), transaction table, account type table, account table, interest rate table, payee table, payroll tables (complete with more account data from other banks, employee names, etc) etc. There's a LOT of data involved, and this still doesn't include the cutesie stuff banks throw in like customer preferences.
The database may be queried by other databases (ie: the guy approving loans), but it is not actually a part of those databases.
Actually, different systems maintain different databases. For example the Internet Banking side will maintain it's own database. the ATM side will have it's own side. Then there's the credit card system, ACH systems, wire systems, the core system itself and others. All of these systems must interact with eachother. For example, the a customer may log into the Internet banking side, which will have to hit the core to get the current balance, EOD balance from yesterday, unprocessed transactions, processed transactions, interest rates, any messages from the bank, and so on. It also has to be able to inject transactions such as payroll into the core system, wires into the wire system and so on.
Of course, all of these systems are different. The ACH system uses a flat text file. The core is usually an UNIX based system with a terminal interface. The Internet Banking is probably an Apache Tomcat connecting to a MSSQL system. Then, there is the bank end that is comprised of DB front-ends, screen scrapers, batch files, transaction injectors and so on.
You could probably convince a bunch of PHB-English Majors your database is more complicated because you have six different, totally unrelated databases in the same file, but don't try that shit in front of engineers.
Not just different DB's but completely different architectures. And, of course, different states have different laws. For example, all states that take income taxes have a different method to pay them. Then their are business taxes, both federal and for all 50 states, loan laws, interest rate laws etc.
And there is much much more, but this is getting out of hand. Suffice to say that you have no friggin' clue as to what you are talking about when it comes to everything a bank does, much less when it comes to tying all those systems together.
Compare that to the ACA system which involves user data, finance data, what companies are available per state, what plans available per company, and an interface system to communicate between the handful of ACA authorized insurance companies per state and the back-office system. Many states run their own system. The government has claimed that their system doesn't even keep the data!
Re: (Score:1)
Re: (Score:2)
Finance guys are so cute.
I was an IT guy so....
Doesn't matter.
The arrogance permeates the culture. And your post is actually a pretty good example.
The question we're arguing is "Is HealthCare.gov the most complicated database front end ever made?"
For example a retail bank needs two tables in it's accounts database. One for the account, a second to record the transactions.
The DB needs a customer table (name, address, phone, address, ect), transaction table, account type table, account table, interest rate table, payee table, payroll tables (complete with more account data from other banks, employee names, etc) etc. There's a LOT of data involved, and this still doesn't include the cutesie stuff banks throw in like customer preferences.
So you have six tables. That's a somewhat complicated database, which makes the front end moderately complicated. The actual amount of data in the databases is totally irrelevant, and the fact you're even bringing it up suggests that you're too arrogant to actually read the post your responding to.
Moreover how
I doubt any developers believed that (Score:1)
It was a number some talking head pulled out of their butt to whine about bloated government project X to the ignorant public.
47449 lines of Maven (pom.xml) (Score:5, Funny)
Hmm.
Could we, perhaps, use some of the techniques that people have speculated about for deflecting space rocks and, instead, guide one into Earth deliberately?
Even 10MLocs would be outrageous (Score:2, Informative)
Me and my 120 developer colleagues are able to make software for 40 hospitals, covering about every bit of information you can imagine, in less than 10 MLocs (I counted 4.7 real code MLocs four years ago, might be 10+ now because of migration to other language/environment and new features). 500M for a website isn't possible. Period.
Re: (Score:2)
Anything is possible. The real question: is it probable?
Why So Many Programming and Scripting Languages? (Score:3, Informative)
Language files blank comment code
Java 13481 419643 847982 2399683
HTML 1635 50124 16845 515494
Javascript 1631 56298 102140 322192
XSD 5227 1238 20945 156696
XML 659 6436 13073 136827
CSS 205 14000 9420 109815
Maven 275 737 1421 47449
XSLT 383 2357 1476 21624
Bourne Shell 248 2305 1446 8830
SQL 28 860 139 8487
JavaServer Faces 35 766 0 3770
DOS Batch 48 235 118 849
Ant 8 77 45 810
Perl 18 161 45 646
Visualforce Component 39 0 0 626
Groovy 4 68 15 361
Python 5 55 90 263
Visual Basic 1 3 0 25
DTD 1 8 0 17
JSP 3 0 0 13
ASP.Net 1 0 0 11
SUM 23935 555371 1015200 3734488
Holy Christopher Columbus! Was it bring your favourite programming language to work month?
Re: (Score:2)
at least there was no COBOL.
because COBOL is the devil and it raises taxes
Re: (Score:2)
I didn't see Brainfuck. Or Malbolge.
Re: (Score:2)
Holy Christopher Columbus! Was it bring your favourite programming language to work month?
Don't worry. The Obama administration has issued an executive order instructing the new vendor to port the system entirely to INTERCAL.
Re: (Score:2)
Was it bring your favourite programming language to work month?
SUM
Re: (Score:2)
No. HTML, XSD, XML, CSS, and DTD aren't even programming languages. JavaScript, while a language, I'll lump in with the HTML as it's probably not running server side and pretty much is the only option for client side scripting.
Java dominates the line count for what's left. Maven is primarily for build automation for Java so it's more of a compliment to Java than another language just because they can. Similar goes for Groovy and JavaServer Faces
Re: (Score:2)
Seriously, this is a clear indication to me that this thing probably had all the halmarks of bad projects:
Managing that brittle monstrosity is going to be painful over
$1.2B/3.7m = (Score:1, Troll)
Approaching $325 per line of code. Great work if you can get it. Wonder what it would have looked like had it been outsourced to some high-volume web service like Google or FB?
Re:$1.2B/3.7m = (Score:4, Informative)
Where do you get $1.2 Billion?
As of December it was $319 million or so. And that includes a lot of non-technical stuff.
Re:$1.2B/3.7m = (Score:4, Informative)
Goddamn I thought I typed that link right. But this is the source for $319 million:
http://www.washingtonpost.com/... [washingtonpost.com]
Re: (Score:1)
http://about.bgov.com/2013-10-... [bgov.com]
I added the customary Obamacare cost overruns to round it out to $1.2B
Why should I believe this information? (Score:4, Interesting)
Seriously. This account was created just to post some numbers and we are suppose to take them as fact? Hell, I could create an account on Reddit and come up with a totally different set of numbers and you can take my comment as fact too.
Re: (Score:2)
Because it looks right and the only other possible estimate we have (500 million) is clearly ridiculous BS an idiot made up as a sound-byte.
As an engineer that's probably not enough certainty for you to believe it, but public policy isn't engineering. Most decisions have to be based on incomplete information, (generally half-remembered overheard BS), so you kinda have to go with the Least Stupid Guess option.
Re: (Score:1)
Public policy is social engineering. Yes, I mean that in the Mitnick sense.
No, not in the 'Mitnick sense' of a 2600 subscriber. I meant as in 'fucking crooks.'
Re: (Score:2)
To an extent that's true.
But even no public policy is de facto a public policy that the last set of crooks should keep all their ill-gotten gains, and if they did their crookedness right they will also have the opportunity to increase their gains.
The problem analytic folks have is that the worlds problems are generally people. And those people aren't gonna look at your beautifully-crafted piece of logic proving their Social Security needs to be cut and say "Well that makes sense, I guess I won't be taking m
Re: (Score:2)
Those numbers do, on the other hand, sound plausible for a project of that type and size. Including the breakdown between different languages.
Whereas the 500m number is absurd on its face. You're not expected to take away more than that.
Count faster (Score:5, Funny)
I don't see how they could have reported 500 million lines of code in the first place. The Congressional authorization to spend $30 million to study the best way to count lines isn't even out of the House committee yet.
Re: (Score:2)
2.4M Lines of Java? (Score:5, Funny)
Re: (Score:1)
That and error handling, because, you know, Java is so amazing at avoiding catastrophes.
OS X (Score:2)
Related Tangent - Accenture (Score:2)
Is Accenture still in the running to redo the web site? I am curious to see how they do with it, given the way they handled London Stock Exchange revamp a while ago.
Perl (Score:2)
So 18 perl scripts to run the entire site. Sounds about right. What's the rest of that code for?
I found the problem (Score:2)
Java 13481 419643 847982 2399683
SQL 28 860 139 8487
Trying to build a big web site like that with Hibernate. They had no chance.
How about a meaningful comparison? (Score:3)
At a minimum, you would need to compare HealthCare.gov to another web site that had similar requirements. It would have to be nationwide and be HIPPA compliant. For example, AMAZON or EBAY would not count, because they don't have any of the legal requirements that a heath provider has.
It is obvious that this bogus number is just another politically motivated smear against the ACA (Obamacare). Everyone here is quibbling about LOC, while the real issue is that people are engaged in propaganda and wild lies because they oppose a government program.
Something must be wrong with me. I keep making the mistake that those who post on Slashdot are somehow more intelligent then the average population. When you fixate on minute technical details rather then the larger issues you are not smart, you are dumb.
Re: (Score:2)
Whelp, we know who you voted for...
But seriously... (Score:2)
I strongly suspect that the "500 million lines of code" was someone working backwards from the cost. They looked at the reported dollar amount and went "ye gods! if we admit we paid that much for 20K lines of code we'll never hold office again."
You know what's hilarious? (Score:2)
Every time I see another (or repeated...) article about healthcare.gov, I'm reminded that a common final assignment for a second year Active Server Pages class is to code a website to offer a list of services for sale.
"If it were easy, everyone would be doing it". Oh, wait... everyone is.
Re: (Score:2)
MSGBOX( "Fuck You, America" )
This must be the much-vaunted "replace" portion of the Republican "Repeal and Replace" slogan.