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

If it makes anyone feel better, it's not just software:

https://en.wikipedia.org/wiki/Auburn_Dam

https://en.wikipedia.org/wiki/Columbia_River_Crossing

If you're 97% over budget, are you successful? https://en.wikipedia.org/wiki/Big_Dig


> If you're 97% over budget, are you successful?

I don't like this as a metric of success, because who came up with the budget in the first place?

If they did a good job and you're still 97% over then sure, not successful.

But if the initial budget was a dream with no basis in reality then 97% over budget may simply have been "the cost of doing business".

It's easier to say what the budget could be when you're doing something that has already been done a dozen times (as skyscraper construction used to be for New York City). It's harder when the effort is novel, as is often the case for software projects since even "do an ERP project for this organization" can be wildly different in terms of requirements and constraints.

That's why the other comment about big projects ideally being evolutions of small projects is so important. It's nearly impossible to accurately forecast a budget for something where even the basic user needs aren't yet understood, so the best way to bound the amount of budget/cost mismatch is to bound the size of the initial effort.


I just picked one metric from Wikipedia. It was also 22 years late.


The Big Dig has been an enormous success though, it has completely revitalized Boston.


Same question for that though. Was it late because the implementation was done badly or because the original estimate was unrealistic?


How is this for a rule of thumb: the time it takes to fix a bug is directly related to the age of the software.


That's also a "It Depends™" thing.

Really old software can be referred to as "Mature," as opposed to "Decrepit." It can be extremely well-documented, and well-understood. Many times, there are tools that grow up, alongside the main code.

I wrote stuff that was still in use, 25 years later, because the folks that took it over, did a really good job of maintaining it.


I think the success of Red Bull and Dutch Brothers is due to their ability to provide coffee to people who don't like coffee.


> algorithm used in the US was apparently banned in China

Sounds like they tried.


The level playing field is interesting.

My initial thought is that's a great idea. But then I start to think about how college classes are supposed to build on what you already know. Your math department doesn't begin with addition, the English department doesn't start with picture books.

Perhaps the real issue is forcing everyone with experience to start over at the beginning.


> Your math department doesn't begin with addition

Adition is a mandatory topic in school, so you can assume students know it when they get to the university.

Anyway one of my coworkers in the first year of the university asked 1/16 + 1/16 and after some tries from the students the best answer was 1/32.


> The level playing field is interesting.

I've been an assistant to a professor teaching introductory programming at a university. And we chose ML (later Haskell), as the first programming language, exactly because of this reason. Weaker students with no programming experience can build their knowledge on top of their mathematical knowledge from school. Whereas stronger students, with lots of programming experience, were challenged to reconsider their assumptions. Both groups did learn significantly.

> Your math department doesn't begin with addition

Well, ... actually, ... "Mathematik für Informatiker I" (mathematics for computer scientist I) did start with groups, then abelian groups, i.e. addition.


While I'd say Haskell is great (in general). I do have some reservations with using it as a intro lang, because the type system is almost a language of it's own. So you have two learn two things at the same time.

In LISPs you program the AST directly. No serious type system (usually). They are very "small" languages.


If you wanted native English speakers and second-language English speakers to be on a level playing field in a literature class, maybe you could teach the class using entirely Esperanto or Lojban translations of the works you are studying.


The language one speaks has nothing to do with literature class*, as the point is to teach reading comprehension, critical thinking, writing, and whatnot. The exposure of great works before college helps build a firm foundation on which to read and dissect more complex works.

* Obviously the works need to be readable in a language one knows. But it's not like the essence of literature classes change whether one speaks English or German or whatever. That's not the point.


It is easier to pass a literature class when you can already read the language the literature is in.


The thing I don't get about regression-to-the-mean is whether there is an implication that your baseline is fixed.

That is, can a fighter pilot move up from being a level 4 in a dogfight to a level 7 with training, or will they forever be a level 4 because it's their baseline? Did Michael Jordan have the same ability as a basketball player after 2 seasons as he did after 8?


Saying “great job” after MJ sinks a shot won’t make him awful and saying “try harder” after he misses won’t make him amazing.

Baseline moves with sustained practice and accurate, actionable feedback.

The comment is speaking. To the feedback of the instructor. If an instructor is shortsighted and only looks at the immediate next effect it will always (incorrectly) seem that criticism produces better results. If an instructor has a longer lens, they will use the best combination to quite the individual’s learning style. They should focus on setting and aligning on goals and making accurate assessments and not worrying about whether they should be more or shouty.


To keep that line of reasoning going, what is the purpose of the university, if you're supposed to learn everything on your own?


I know this is sarcasm, but—

Network building, external proof of ability to work, and a place (and just as important - a time) to translate who you are into who you want to be.

These were always the reasons, the rest you learn on the job.


Ya, I have to agree. Although you may learn, it's clearly not the primary intention of a University to teach anything but your ability to do whatever it takes to score well or do publishable research.


>To keep that line of reasoning going, what is the purpose of the university, if you're supposed to learn everything on your own?

It's not that you have to learn everything on your own though, it's that if you enter a program without having some understanding of the basics, you're going to have to pay to take a bunch of remedial classes.

It'd be like going for a mathematics degree when the highest class you took in high school was algebra, where the normal degree students would be starting with Calc 3 or Differential Equations. You might be ok in the major or you might not, but you don't even know enough to start on the path at that point.


That's exactly why I switched out of CS and did a degree in something that was harder to teach myself (mathematics).

I'm a programmer now, but I don't think finishing the CS course would've helped much with that.


A good CS course isn't really about programming in that sense. A CS degree is to programming what a maths degree is to, say, statistics methods, or at least it should be. You are expected to learn the “hum-drum details”¹ yourself (perhaps with guidance of course) or already know some of them, with the course exploring wider or deeper concepts (the why, wherefore, and therefore, of those details).

Your maths degree probably did as much as a CS degree would have done (expanding your ability to learn, analyse & problem solve, etc.) allowing you to learn the technical details of programming on your own. CS was essentially birthed from a branch or two of mathematics, after all!

People who want/need a programming course (which is perfectly valid, I don't mean to denigrate the position in the slightest) are probably not best served by a traditional CS degree.

--

[1] “hum-drum” sounds a bit too negative for what I was intending, but my brain isn't firing on all cylinders this morning and I can't think of a better term for what I was thinking there!


Not everything, but university is a big shift towards self directed learning.

Lack of understanding coming into the courses causes issues, when I started we had to delay things because some students hadn't encountered matrixes and the maths around them.

So sure, they can teach these things but it adds to what they already are trying to teach. A lowered base means less of the advanced content can be taught.


CS has always been a lot more like the arts/music than most other majors, in this regard. If you don’t come in with way more knowledge about and skill with computers than the median college-bound high school graduate, you’re gonna have a bad time.

It’s kinda shitty, but for a long time PC gaming as a gateway drug for young kids let universities just assume a fat pipeline of already-computer-savvy applicants.


Access to mentors, books, peers, and recognition after graduating?


When my daughter was working in her university's dining hall, the most demanding orders always began with "just". Can I just have a non-fat sugar-free vanilla latte with two pumps that isn't too hot?


You first have to get a file from your iOS app. Good luck with that.


Hit the share button and select "Save to Files". Dead easy.


A disclaimer is great, but like the prior post said, when you give something a name and then redefine the meaning of the name in a disclaimer, it feels dishonest.

The Honest* Browser *disclaimer: may lie


I do get what you are saying, and would agree that one should strive to use words as the dictionary indicates for clarity. But I also think that much product and marketing overloads terms and most of the time there isn't a clear definition. So, I hardly take issue with a case where there is a relatively direct contextual definition.

Also worth considering that dictionary definitions aside, things can mean different things to different people. As a silly example, we can consider the :) emoji. Apparently many young people think it is passive aggressive [0]. To me, it is just a smiley face. So, I'd argue contextual definitions are useful.

[0] - https://www.google.com/search?q=smiley+emoji+passive+aggress...


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

Search: