Hacker News new | past | comments | ask | show | jobs | submit login

> But the software was supposed to take that into account, which is why it it supports bend allowance calculations in it!

Structural engineers aren't allowed to treat software as a black box and trust that it works correctly. They're legally responsible for choosing their tools and verifying that they work correctly.




I think think this varies very much between different "cultures", such as different countries and different fields.

I make a structural engineering program which is used by pretty senior engineering types in Scandinavia and Germany, who can certainly be trusted to know that with some nonsense input, the output may also be nonsense.

The requirements for the UK are completely different - they want the program to be used not as a tool (like a fancy calculator) but as a simple black box that a novice engineer or even a non-engineer can use.


I.e. the "that" in "that into account" means the tool being possibly wrong.

There is no, "sorry the TV blew up in your face; my scope was out of calibration". :)


Yet another example that software engineering isn't.


Uh, I don't think there is a better example of closed source than CAD packages.


I don't think he was talking about verifying the software itself. Even if the software was open source, would it have been formally verified to make sure it has zero bugs? It is better to check the calculations by hand to make sure that no critical errors make it into the final design.


If you are checking the calculations by hand, then it seems to me you are verifying the software. It's not a bad thing to do, but I wonder why it's considered acceptable when the results don't match your own? If your results are correct, then you have a malfunctioning tool...

Wouldn't it be helpful to be able to look at the code to see what it is actually doing behind the scenes?


Not if you can't code, which most engineers cannot (nothing wrong with that). In fact, I'd say without a team of highly trained software engineers and a whole lot of time and money, having the code for a CAD program is almost useless. In civil engineering, it's my understanding that it's standard procedure to check everything CAD tools output. If a bug leads to failure in the field, at least one person, but probably multiple people, has failed horribly and he will rightfully be held responsible.


There are many problems where finding a solution is much harder than verifying a solution.


A well known one used all the time in crypto being finding the prime factorisation of a number versus verifying that prime factorisation.


So verify the solution you give me!


If the whole point if verification is that you don't trust your software, then that's not a very good idea. So you use the ultimate slow-but-reliable computer, the trained engineer.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: