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

I'd buy a GTA-style game called "Arrested Development: Sudden Valley"


Only when the cost of failure exceeds the cost of quality will we see real improvements. The company producing the software should bear this burden.

Licensure for software developers will only benefit the professional liability insurance industry.


We can also reduce the effort to write better code. Certain language and tooling features make quality easier.


I think that's the key. There was ADA now there's Rust. If you can have GC on your system there are plenty of other languages that make strong static typing and other compile time guarantees that beat any analyzed C++.


Is static typing really what you want? I would think that if you want safety against failure, you really want redundant systems that live in separate failure domains and can coordinate in the event of failure.


Why can't you have that with static typing? Btw I think only strong static typing really helps (C is statically typed but allows way too many implicit conversions).

There's also the question of what you regard as safety. Fault tolerance (like in elixir/erlang), or a design for fewer faults (e.g. ADA/Rust)?

Fault tolerance is good for high availability, which can be a safety goal (e.g. What does your airplane do when all the computers are off?) it doesn't help you however if yoir software didn't crash but does the wrong thing (like the boeing).

For the second part, strong static type systems definitely help, they provide clear documentation what can and can't be done, and they cause as many compile time errors if you do the wrong thing as possible. It doesn't rule everything out, but it gets you closer to the goal of correctness.

Fault tolerance is still needed. Usually you want to have redundancy (I think most airplanes use 5 controllers calculating at the same time to prevent atmospheric radiation causing bit flips to cause issues). And you want the system to go into safe states (e.g. Detect a fault and reinitialize, if that doesn't work do your best to stay operational until you've reached safety).

I think we could probably take over some of the supervision ideas from elixir, but combine it with strong static typing guarantees.


Static typing doesn't help you if your software doesn't crash but does the wrong thing (like the Boeing). In that case not even dimensional analysis helps you, because by my understanding that code was really stupid.

I find that if you're only documenting via types, that's a problem. You should also document by writing documentation.


I dont think anybody argues that types replace documentation. However, documentation without types tends to get repetitive and requires you to come up with ways to structure it properly. Turns out, you can encode a lot of information into a type and now it can be automatically verified and frees you to write documentation for things that can not be expressed in types.


Our safety critical languages need to be simpler, so they are amenable to mechanical proofs and exhaustive model checking. Dimensional units would be a good start.

https://gmpreussner.com/research/dimensional-analysis-in-pro...


F# has those built in (not mission critical embedded ready, but a very very nicely designed language).

ADA hat strongly typed fixed point built in. Rust I think has a strong enough type system to implement this as a library, at least there seem to be a few.

Idris also looks interesting. Maybe something like this can be done with dependent types.


There's nothing to fix. The fire is either of a type that may be extinguished and a trained firefighter decided to put this type of fire out for everyone, or the fire is unable to be extinguished as was the intention of the entity that started it.

If it's the former, find the correct firefighter, if it's the latter, use a different fire.


There's nothing to fix. The construction material is either of a type that does not spontaneously combust, and a carpenter can make you a fine chair out of it, or the material is the type to spontaneously combust, and if you choose to buy a chair made of that material you will soon find your pants are on fire.

If it's the former, pay a contractor to build you a chair, or make one yourself. If it's the latter, use a different construction material.


There is nothing to cure. The pathogen is either of a type that is curable, and a licensed medical professional can prepare a treatment regimen, or the pathogen will liquefy all of your internal organs within minutes, and if you choose to expose yourself to the latter pathogen, you will find yourself having a bad day very quickly.

If it's the former, pay a licensed medical professional or read online forums and do it yourself. If it's the latter, contact your nearest funeral home.


This is a rockstar comment.


I am so very disappointed that this article was not about uncoiling the instruments.


This is something that I too want to see.

In my search I found this[0] fascinating page on the physics of brass instruments. But this [1] is the best image I could find.

0: http://newt.phys.unsw.edu.au/jw/brassacoustics.html 1: http://newt.phys.unsw.edu.au/jw/brass/graphics/lipreedbores....


I found this one too, and registered the .com - lol!


This reminds me of an elevator's "Door Close" button. Manufacturers still include them for the peace of mind of passengers, despite computerized systems and many area laws (in the US, the ADA has language regarding door-open timespan for wheelchair access).

EDIT: Thanks to a_c_s for pointing out that the button can work when the elevator is in emergency/service mode. More fun information on elevators, crosswalk and other buttons can be found here: https://www.nytimes.com/2016/10/28/us/placebo-buttons-elevat...


In my office (in Germany), when the elevator door opens and I hold the "close door" button, it immediately starts closing as soon as it's finished opening. So at least that one is definitely not a placebo.


Same here in the UK. Both the close and open buttons work immediately after being pressed in my office, so they're clearly not placebos.


Elevator "door close" buttons can fall into several categories.

1. They work as labeled, immediately closing the door.

2. They work, but only after door has been open longer than a threshold time, or only if the door open time has been extended using the "door open" button.

3. They work, but only when the elevator is in some special mode such as fire/emergency mode.

4. They are supposed to work, but broke. A broken "door close" button does not put the elevator out of service, and might not even be noticed at all (especially if it is a category #2 button) for a long time, and so a broken "door close" button can stay broken for a very long time.

5. They would work except they have been disabled by the owner, perhaps to comply with laws, or perhaps because there were too many assholes prematurely shutting doors.

6. They are placebos.


The door close button is used when the elevator is in fire service mode (where all actions are manually activated)


Interesting - and makes sense! A detail missed by my tour at the Elevator History Museum in New York, NY. [elevatorhistory.org]


They're not placebos in all cases. They definitely work in one tall bank building I worked in in Canary Wharf.


Likely because they've found the tech attractive to buyers compared to "hey, we have another mirror on this mirror" - and that they can pad their dealer network's income stream from the all-too-common side mirror repair/replacement.

But, yes. From a practical standpoint - it's utterly bizzare to me as well!


Just Remember. (R)



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

Search: