Hacker Newsnew | past | comments | ask | show | jobs | submit | RandomInteger4's commentslogin

This isn't a bad thing.


This scenario seems like something that's more common in freelance work where the client has access to the code for whatever reason.


Because I procrastinated due to the overwhelming complexity overloading my mind with the myriad scenarios resulting from those two necessary lines and my lack of experience with this scenario depriving me of the intuition necessary to prune the aforementioned tree of mental complexity in an efficient manner.


Because I have spent time thinking, not merely typing. (The error "programmers are just overpaid typists" is widespread)


My first boss and my boss two positions ago both thought that way. It was incredibly frustrating. Along with: If only you programmers would stop putting in bugs we'd ship perfect software every time. (When most of the "bugs" were specification errors and not program logic errors.)


Where does program specification ends and where does program logic starts ?


Program logic error:

  // return the maximum value from an array
  return array.min();
Specification error:

  Only users with role X can access this content.
  [where X should've been Y]
In the former case, a test should catch it (because the code isn't doing what we believe, per spec, it should be doing). In the latter case, only validation (confirming with customers) can catch it. Any test that is run against the code will be based on the spec which tells us to do the wrong thing.

Though we usually didn't run into the latter case, ours were mostly embedded systems. So the problem was more like: You implemented this against Industry Standard 1234-A, but we're implementing against Industry Standard 1234-B which says that message Foo word 15 now has a range of 1-20, not 1-19, and 20 means "cease operations", and 18 has been changed from "cease operations" to "halt and catch fire".

So one system was developed per one spec, and another per a slightly different spec. The other common scenario was that the specs weren't created from thin air, but rather based on a preexisting system. And the authors of the spec misinterpreted what the preexisting system did and gave an incorrect specification for a behavior. When testing against the old system (or with the old system as these were mostly communication systems) you'd see a difference in behavior or failure to communicate. But since tests were never truly comprehensive, many of these errors could make it out into the world.


What happens in case where specification is:

[User inputs X1, system displays Y]

On system crash user input was X2.

Is this specification or program logic error ?


I generally consider system stability an assumed part of the specification. Your system should handle most input errors from users more gracefully than a crash. Specifications are never as detailed as the program. So a description of what it should accept implies what it shouldn't. The questions for the programmer when faced with invalid input are:

1. Should it crash? (almost always no)

2. Should it process the garbage input as though it were valid? (pushing the input validation problem further down and potentially causing issues in random locations of the program)

3. Should it reject the input and request a different input? (probably)

Once you get to 3 you've got a number of ways to re-prompt the user or indicate that the input is invalid in a way that won't crash the program. You may need to go back to the customer to figure out their preferred resolution. But crashing is almost certainly not what they want and a sign of a program error (not specification error).

I would classify it as a specification error if they told us X1 would work, and then supplied X2 in a way that was close enough to pass most validation, but not close enough to work correctly.

Like, "The data format is a series of messages. Each message consists of up to 512 16-bit words. Word 0 specifies the length of the message, including itself." and then it turns out that word 0 specifies the length excluding itself causing us to not grab enough data in the first message, and then random amounts of data after that.


If I understand correctly, specification describes "what/when" and program logic describes only "how".


Where management says it does.


Can you provide citations to which countries exactly you're referring to by the phrase "most countries?"


https://www.washingtonpost.com/world/europe/europe-seeks-to-...

> France, Germany, Denmark, Britain and others have decided to take over the payrolls of struggling companies, so that workers don’t get laid off. The hope is that by paying people to stay home, governments can slow the virus’s spread while also averting an economic depression.

> Since many European countries had similar social safety net programs already, albeit in far more limited form, the salary supports were relatively easy to expand, almost literally overnight in many places, amid widespread consensus. When they imposed their economically devastating lockdowns, countries were thus able to signal to workers that their livelihoods would remain intact and to businesses that they wouldn’t immediately implode.


> France, Germany, Denmark, Britain and others have decided to take over the payrolls of struggling companies

Didn't the US largely do this too, via a forgivable loan to companies?


Sorta. It's only partially forgivable, the rules are complex, and it ran out of the first round of funds in under two weeks.


Contact tracing apps sounds like a totalitarian wet dream.


Fucking hell, these politicians are as much a virus as the virus itself. 100% that number was pulled straight from their hindquarters.


how do you know this ? Are you in IRAN can you confirm or infirm the figures ?


You're confusing the object for the verb. The sex habit is "jerking off" not "to internet porn", and all it takes is a simple youtube search for "bonobos jerking off" to see that you're wrong.


The point was that the sexual behaviour of bonobos does not match "full human range".


That's like saying humans have evolved radically different behavior compared to 200 years ago because back then they couldn't travel to another celestial body.

I would argue jerking off to Internet porn and jerking off to a fantasy are both exhibiting the same behavior, just like a polar explorer from the 19th century and a lunar explorer from the 20th century are exhibiting the same behavior.


Indeed the core of it is the capability for complex sexual fantasies, and human behaviour is not limited to simply just jerking off.

I'm not saying humans 200 years ago were incapable of such things.

What I'm saying is that bonobos don't read or write Kama Sutra.


Go back 20 000 years and modern humans didn’t write Kama Sutra either, because just like bonobos we lacked the technology and knowledge to write.


We have very little actual knowledge of pre-historic humans to speculate about their sexual behaviours (and as with all other human behavior, I'm sure there is and has been great variance in this).

In any case bonobos would not write Kama Sutra even in 20,000 years. Your timescale and argument is way off.

Downvoters: I've no more apples for you.


No rational thinker would give any credence to words written in a "full communist" magazine about how a system of economics should be run.


It's called "Regulatory capture". They're trying to slow down / hinder competition, while at the same time benefiting from loopholes sewn into the legislation their lobbyists helped to create.


That would be a good thing, not a bad thing. It would force colleges to conform to the rules of capitalism, making the market for education sane again.

Student loans should not be handed out as easily as they currently are.


> Student loans should not be handed out as easily as they currently are.

I would argue that 'student loans should not be handed out as equally as they currently are' -- in that loan terms are independent of major selection (and career prospects).

By all means continue to mandate that loan terms be familial-wealth blind (and institution-blind), but allow lenders to differentiate with rates on the basis of area of degree earned.

It's a lagging indicator, but it's insane that we specifically break market signals between the actual job market and the primary methods by which students finance their education.

If someone wants to get a degree in medieval plant philosophy, then they can bloody well self-finance that.


> but allow lenders to differentiate with rates on the basis of area of degree earned

This makes little sense in the current system, where many students don't even declare a major for their first year (or two, sometimes). They'd be halfway through college by the time they were able to know which degree they'll earn.

Intended major is just as bad of a metric. I think we all know many people who intended to go into one major and ended up in another.


You can maintain the interest rate based on choosing your intended major, but if you choose another your rate changes.

It’s just an ARM loan, but with adjustments based on your one decisions instead of the greater economy.


So I’ll double major in biology and something else I’m actually interested in, say my intended career is medicine (even though it’s not), and maintain my low interest rate for four years (or even longer)?


One would hope that calendar time paying post-graduation >> time paying pre-graduation. ;)


They're 20 year loans.

I'd be hard-pressed to think of a single person that wouldn't tell an unverifiable lie to get a lower interest rate on 20% of their loan lifetime.

Doubly so for loans with compound interest (as some private student loans are).


So just roll the difference for your entire study period onto your post-graduation rate?


> By all means continue to mandate that loan terms be familial-wealth blind (and institution-blind),

Student loan terms (private and public) are blind to neither of these factors.

> but allow lenders to differentiate with rates on the basis of area of degree earned.

Lenders outside of the federally guaranteed system are allowed to do this, as well as to consider all of the other factors you suggest loans should “remain” blind to. The only lender inside the federally-guaranteed system is the federal government itself (and it is also not blind to the factors you suggest it should remain blind to, since both are factors already.) Further any argument for major sensitivity is a much stronger argument for much additional weighting by institution, since all the market factors that apply to majors also apply to institutions.


(Clarification: I'm talking about the US loan program)

> Student loan terms (private and public) are blind to neither of these factors.

They are negatively blind, in that I cannot charge someone with family wealth in excess of $1M a lower rate than someone with negative family wealth. Correct me if I'm wrong.

> Lenders outside of the federally guaranteed system

I'm limiting these statements to the federal loan system, because that where a huge chunk of debt is created.

> The only lender inside the federally-guaranteed system is the federal government itself

Apparently this was changed in 2010? Prior to that, this was absolutely not the case via FFELs [1].

> and it is also not blind to the factors you suggest it should remain blind to, since both are factors already

See clarification about positive vs negative blinding.

> Further any argument for major sensitivity is a much stronger argument for much additional weighting by institution, since all the market factors that apply to majors also apply to institutions.

Not intrinsically. The problem with allowing rate sensitivity is making it outcome-sensitive while avoiding it becoming pre-existing wealth-sensitive.

I think everyone would feel it's unfair if Harvard loans charged 2% interest, while Community College loans charged 25%, because the acceptance demographics and underlying default rates supported that difference.

[1] https://en.m.wikipedia.org/wiki/Federal_Family_Education_Loa...


> They are negatively blind, in that I cannot charge someone with family wealth in excess of $1M a lower rate than someone with negative family wealth. Correct me if I'm wrong.

Private student loans (which, like federally guaranteed loans, have reduced bankruptcy dischargeability since 2006) have no such restriction.

Federal loans do have such a restriction, but that obviously doesn't exist to influence lender behavior, if it ever did, since the entity imposing the rule is also the only lender now permitted to issue such loans.


The problem is that, trades aside, higher education is a must for earning money that one can actually live on.

The US needs public funding for universities. It's not impossible - Germany's universities are all free of charge, most even for foreigners.


The U.S. spends basically the same amount of public money on universities as Germany: https://data.oecd.org/eduresource/public-spending-on-educati.... 0.91% of GDP versus 1.0% of GDP. That works out to about $550 per man, woman, and child in the U.S. versus $450 in Germany.


How's the spread of spending per student for that money in each country I wonder (across subjects and colleges).


Attending a state university as a resident is actually well within reach for almost everyone. And people who can’t afford it usually qualify for financial aid and grants. The problem is that too many people overspend on higher education. And most people are only able to do this with access to humungous student loans.


Right, the problem is higher education is required. Reform secondary education so higher education is not required, and only fund public institutions that give people additional skills to help 'live on.' As long as public money is subsidizing 4 years of 'drama camp' or whatever it those kids do, we should be investing in people that want to do actual work for a living.


Free of charge universities usually means stricter limits on access. Only some subset of people will essentially have the opportunity to attend.


Even with free tuition, you still have to pay for living expenses, which are often much higher than tuition at an in-state school.


Yes, and this is why Sweden has about the same median student debt as the US ($25,000).


A whole lot of bootcamp coders making a few hundred thousand may disagree with that or people who started profitable businesses without degrees.


Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: