Sikorsky's autonomous helicopter tech is ready for takeoff - <AUTHOR> https://www.theverge.com/transportation/2019/3/5/18250996/sikorsky-autonomous-helicopter-flying-taxi-lockheed <comment><USER2> > But SARA doesn't rely as much on "high-order" functions like AI since those > are harder to certify. ("To be FAA certifiable, you need a certain level of > determinism in the outcomes," Van Buiten says.)

i've just recently finished peter watts "freeze frame revolution" of the sunflower cycle, where the gate-building spaceship eriophora is mostly on its own for thousands of years while the crew sleeps, guided by an AI called "the chimp".

\-- spoilers --

one of the key ideas in this book is that the ships AI - the chimp - is not advanced at all, with a synapse count of roughly the chimp. anything more intelligent would get unstable and develop its own motives, so the original builders constructed it to be comparatively dumb and thus stable, predictable and deterministic (the humans are woken up only in case something unexpected happens which requires more creativity and brainpower).

</comment><comment><USER3> > But SARA doesn't rely as much on "high-order" functions like AI since those > are harder to certify. ("To be FAA certifiable, you need a certain level of > determinism in the outcomes," Van Buiten says.)

I wonder whether a hybrid approach is the future, since in some tasks neural networks are just far better than anything we have. If the only tasks of the neural network is to estimate/classify some sensor-input and is trained in a purely supervised setting, the "right thing" for the neural network is still pretty well defined and rigorous testing should be possible (simple tasks can be very complex to implement). Then, interpretable, high-level reasoning could be solved by old-school coding (and maybe verifying).

This is not possible with end-to-end training.

But I am not sure what they mean, normally neural network (and their training) is purely deterministic. It's not that they are just very good at rolling a dice.

I am not into this stuff (autonomous, "intelligent" systems, more the data- analysis guy), but I would use neural networks for simple to define, hard problems that involve a lot of noisy data (where some kind of accuracy on some test-set is a well-defined metric) and then build a higher-level reasing system by hand.

<comment><USER4> I think they are using the wrong word here, I think by "determinism" they mean interpretable. You train your big neural network to classify images, it works fine on the test set but then one day in the wild you discover your network classified a turtle as a rifle [0]. Why did it do that? what can we change to fix that, how could we have seen this coming? Those answers won't come easily compared to a more old school system.

[0] [https://arxiv.org/abs/1707.07397](https://arxiv.org/abs/1707.07397)

<comment><USER3> I am reasonably well versed in the whole adversarial-input research. I am not sure whether this is really the problem. It's a tradeoff. This essentially introduces a random chance that you classification will fail (since adversarial input is not constrained to hard-to-classify situations), but while less accurate methods may be more robust to random errors (which is hard to verify for many approaches) but they have a higher likelihood to fail with hard situations.

Doesn't every component in an aircraft have a random chance of failure? There's even a name for one critical component, the Jesus nut.

I don't really get the interpretable argument. I think what you want is to verify it to a reasonable degree.

<comment><USER5> > Doesn't every component in an aircraft have a random chance of failure? > There's even a name for one critical component, the Jesus nut.

Two things;

1) This might be theoretically true, but Boeing and other aircraft manufacturers monitor data on every component at a very fine-grained level and they use inspections to predict what will go bad and when. They're even adding real-time capabilities to it so that parts are replaced immediately after a flight if imminent failure is predicted; [https://www.boeing.com/commercial/aeromagazine/articles/qtr_...](https://www.boeing.com/commercial/aeromagazine/articles/qtr_3_07/AERO_Q307_article4.pdf)

2) The core issue over here isn't that a component can fail. The issue is that when it fails can we trace the error and forestall it in the future? If the error is something that's unreplicable and unpredictable then that's quite literally impossible and it makes the machine by its very definition untenably unsafe as you don't know when or why it won't work.

Someday neural networks will become a part of safety-critical systems, but this generation of neural networks probably won't be it.

<comment><USER3> I convinced that neural network will never be interpretable like code. They will just get even more complex, so to employ them in critical applications (my motivation is more healthcare, where similiar constraints are present. People can die if there's a wrong prediction) we have to build a notion why we allow something and what we don't allow without some human in the loop getting convined that the reasoning itself is sound. I think this boils down to assumptions about robustness (like the l2-norm adversarial examples in image classification) and statistics.

to 1). Neural networks are code, they are always 100% the same if you ship it. So you can test them way more thoughly than some equipment, which (i hope) would allow you to minimze the chance of failure to a reasonable degree.

to 2) "you don't know when or why it won't work." I think a fundamental disagreement lies here. I am convinced that this is not possible with these complex function approximators, where we just optimize them until we are happy. If we adopt a thinking like above, we can retrain the networks with these additional inputs, adjust our notion of robustness and think whether there's a flaw in our statistical assumptions.

But these are just random thoughts. I am in touch with people working in healthcare with this stuff, so there's some exposure to these kinds of problems. But I have never read any work discussing these issues or really reflection whether my reasoning is actually sound.

Maybe I'm wrong and we can somehow make them interpretable in a sense that is actually relevant to verifying them.

</comment></comment></comment></comment></comment><comment><USER6> I think Sikorsky's probably ahead in the race for realistic autonomous flight. Sikorsky isn't a trendy/hot company by any means, but they're reliable, they deliver, and they have the contact infrastructure with FAA and NTSB and other government certification orgs that would handle this new development. I don't know if they'd offer "air-taxis", but decreasing the cost of helicopter travel so that a seed/Series A startup CEO can travel vs. the Fortune 500 CEOs would be a major improvement in and of itself.

<comment><USER7> I don't think the pilot factors in that much into the cost of operating a helicopter. Even a small helicopter (e.g. Robinson R-44 which is a bare bones trainer) needs a ~250k complete overhaul every 2200 hours/12 years in service. Add $60 dollars per hour in fuel and 60-100 per hour of miscellaneous other maintenance, and your variable costs quickly approach 300/hr. Add in all the fixed overhead, and a tiny helicopter that can take 2 passengers and limited baggage will run $400 dollars per hour easily (which is about what they rent for). A bigger turbine helicopter is significantly more expensive.

Most of this is because helicopters are complex machines (you're spinning really big blades pretty fast. Then using the blades + bearing to also lift the weight of the helicopter + more. Oh and you're changing the pitch angle of the blades. Oh you mean changing the pitch angles of the blades WHILE THEY GO AROUND...) and any failure in any of these parts is usually fatal so they have to be built and maintained to a very high degree of reliability.

Airplanes are much simpler (the spinning propeller attached to an engine is one part. The wing generating lift is another part. the flight controls are yet another part) and have more opportunities for redundancy ( a wing has multiple spars, and is attached to the airplane with _many_ bolts. All helicopter blades meet in one hub, which is attached on one axis).

Combine that with aircraft scaling up more (you can build 500 person aircraft, but only 20 person or so helicopters), going much faster (a 120 dollar/hr propeller plane will outrun many/most helicopters) and the cost to go a given distance by plane will always be much cheaper than a helicopter.

<comment><USER6> I'm less comparing the helicopter approach with airplanes, and more comparing them to multirotors, where I think a lot of the autonomous flight hype is coming from, and where the use cases substitute rather than complement each other. In that sense, the fixed costs are less "baked-in" to the product. You can swap out helicopter blades for better composites, and add in a glass cockpit, but the fundamental control system still holds. You can't really change the number of motors in a multicopter without a full-scale overhaul of the avionics suite. And I sure hope the FAA wouldn't let a multicopter with some number of failed motors take off just because it doesn't immediately fall out of the sky.

I would agree with you operating a helicopter will always be expensive. I don't anticipate autonomous helicopters to be price competitive with something like cars. People pay the premium for vertical flight to gain the benefits of vertical flight. In addition, I'm pretty sure that given the high fixed price, that market would rather pay more to get a premium product rather than accept an inferior product (e.g. insufficient range, speed, flight time, safety, etc). I was more saying making helicopter flights marginally cheaper will make said flights marginally more available to more people.

There might be game changers down the line. For example, Sikorsky has a lot of experience with experimental control systems like hybrid helicopters that may reduce operational expenses, and if they can prove SARA/derivatives are as reliable or better than a human pilot and convince the general public/unions to fly without a pilot, they might design helicopters that are more maintenance-oriented. But as with all things, it's more important to make sure new innovations are deliverable and provably progressive.

</comment></comment></comment><comment><USER8> Sikorsky's story is really fascinating to me. 4 years after immigrating from Russia he founded an aviation company in USA. And in 15 years he was already building airplanes and then first ever helicopter! ([https://upload.wikimedia.org/wikipedia/commons/2/27/Igor_Sik...](https://upload.wikimedia.org/wikipedia/commons/2/27/Igor_Sikorsky_300.jpg))

If he stayed in Russia the course of human history might have been very different ... if he was developing all that technology for the USSR... and not USA.

tell me about boot strapping!! :

"In 1923, Sikorsky formed the Sikorsky Manufacturing Company in Roosevelt, New York.[36] He was helped by several former Russian military officers. Among Sikorsky's chief supporters was composer Sergei Rachmaninoff, who introduced himself by writing a check for US$5,000 (approximately $61,000 in 2007).[37] Although his prototype was damaged in its first test flight, Sikorsky persuaded his reluctant backers to invest another $2,500. With the additional funds, he produced the S-29, one of the first twin-engine aircraft in America, with a capacity for 14 passengers and a speed of 115 mph.[38] The performance of the S-29, slow compared to military aircraft of 1918, proved to be a "make or break" moment for Sikorsky's funding."

<comment> eugene-s > If he stayed in Russia the course of human history might have been very > different... if he was developing all that technology for the USSR... and > not USA.

I have serious doubts about this. His talents might be lost for humanity completely. Post-revolution and before WW2 there were a lot of constructors and engineers who were prosecuted, displaced or even worse by the Soviets.

The wikipedia says "After the Bolshevik revolution began in 1917, Igor Sikorsky fled his homeland, because the new government threatened to shoot him." (the citation link is broken, unfortunately).

This reminds me of Sergey Korolev's history. He was basically the father of Soviet rocket-building. He has survived the purges by pure luck. The leaders of his institute were executed, he was tortured to get the confession, lost his teeth, went through the gulag and got back. How many of these talented people ended up being not so lucky is hard to imagine.

Even the work results might not have protected them. For example, take the chief engineer of T-34 engine [https://en.wikipedia.org/wiki/Konstantin_Chelpan](https://en.wikipedia.org/wiki/Konstantin_Chelpan). He got awarded for the invention, arrested and executed the next year, and then rehabilitated a few years later. There were so many stories like these.

<comment><USER9> Similar also to the aftermath of the Cultural Revolution in China, many scientists and other intellectuals never came back from those camps[1]. Presumably modern China would look quite different if that hadn't been the case.

1: [https://en.wikipedia.org/wiki/Cultural_Revolution#Education](https://en.wikipedia.org/wiki/Cultural_Revolution#Education)

</comment></comment></comment><comment><USER10> >> Flying a helicopter requires such an intense mental load, he says, that even small things like pushing the "talk" button can put a novice pilot in peril.

No they are not that hard to fly. A bare-bones helicopter with nothing more than the minimum parts to qualify as a helicopter is indeed an unsteady beast. But such helicopters are rare, used mostly for training purposes. Modern machines, even ancient ones, have things like gyroscopes to take much of the load off the pilot. And autopilots really do work (auto, not autonomous). They can hold a steady heading/alt. Feed them data from a radar altimeter and they can hover like a rock.

The computers can fly the aircraft, they can literally make it move as needed, but that is a totally different problem than deciding _where_ to move the aircraft. The pilot's job is making the judgement calls necessary to keep the aircraft safe. Show me a computer than can determine whether an approach is safe enough to execute, whether the weather en route is acceptable. Show me a computer than an judge which path to take to avoid carrying an unsteady slung load over someone's head.

<comment><USER11> This is really interesting and surprising to me. Can any helicopter pilot explain why hovering is not as easy as just taking your hands off the controls? That's how I always imagined a helicopter would work!

<comment><USER10> A hover isn't as dynamic as forward flight. A fixed-wing aircraft like a glider can self-regulate using aerodynamic forces. For instance: If the nose tips up, the plane slows. The wings generate less lift and the nose tips back down. Plane then speeds up ... etc. But a hovering helicopter doesn't experience any significant airflow changes. If it's nose tips up it just keeps tipping up. The helo then starts sliding backwards until the tail catches the wind, spinning everything 180 like a weather vain and very quickly you aren't flying any more. The pilot/computer/gyro needs to keep ahead of these forces.

</comment></comment></comment><comment><USER12> Urban air mobility space is heating up. Blade and Sikorsky's AAG announced an agreement to provide a new on-demand urban mobility option to the NYC area. Uber has their Elevate team working on this problem as well. Blade launched an urban mobility pilot program in the Bay Area last week. Received an early, invite code from a friend last week, SF-3FTPTV.

</comment><comment><USER13> Also Leonardo (Agusta-Westland) -[https://www.ainonline.com/aviation- news/business-aviation/20...](https://www.ainonline.com/aviation- news/business-aviation/2018-02-28/leonardo-solo-makes-first-unmanned-flight)

</comment><comment><USER14> I'm impressed with what they've been able to do, and happy to see that they're developing in-house. When I was an intern there in the mid-2000's they were still working on fly-by-wire and most (all?) of their programming was done by a separate company.

</comment><comment><USER15> Related: Where's My Flying Car? Coming in for a Landing Soon

[https://news.ycombinator.com/item?id=19318425](https://news.ycombinator.com/item?id=19318425)

<comment><USER16> A flying car isn't useful for the military or anyone else for that matter this one is.</comment></comment>


Ask HN: Making a non-traditional move? - <AUTHOR> I'm considering something and I don't really know how to go about it, or if it's realistic, so I thought I'd ask this group.
I'm in the US with a large financial services company, and I'm somewhat senior.  I focus on delivery of technology, focused on data, analytics and efficiency.  Before this, my Director-level role was in data engineering management, mostly on financial systems.  It's been a while since I've been an individual contributor, but I'm still a pretty solid data hacker, thanks mostly to side projects.  I'd say data engineer, but you folks have a bit of refinement that I probably lack :D
Anyhow, I'm looking to do something stupid.  I want to move to Italy or Italian Switzerland, since I (and therefore my children) are dual citizens and I want them to pick up the language while they're young.  I speak Italian, but they're not going to get fluent from 3 hours a night with me.
I know that doing what I do now remotely is most likely the best option, but I haven't had that conversation yet, and if the answer is "no" I want to open myself to other options.  So I suppose what I need to figure out is how far of a step down is still "credible" when applying?  I highly doubt anyone is going to bring me over as a lateral and I'm totally fine with that, but if that assumption holds, what types of roles should I be looking for?  I certainly want to bring the benefit of my leadership experience, but I'd also be more than a little excited to be "doing" again.
Has anyone done this?  I'm okay to step down in level given that I want to do this for non-career reasons, but is that something anyone is going to consider, or are they going to wonder why some goofball is applying from 4000 miles away for something "lower" than their current level?  Should I just focus on something remote? <comment><USER2> There's a lot of things to address here.

First, I don't think wanting to move to Italy or Switzerland, especially because it's for your children's benefit, is a stupid thing. I wish my parents had broadened my horizons like that when I was younger.

When I made the move to working remote, I was in a position managing a team of about 6-8 developers. But I was also still spending about 25% of my time coding. To go remote, my manager thought it would be best if I cut the managerial responsibilities but still have "unofficial" leadership responsibilities as a Tech Lead.

Fast forward about 9 months or so and I would say my responsibilities are largely the same as when I was managing a team. I essentially still am managing a team (although not in title). And my manager is definitely comfortable with my moving into pure management remotely if I want to.

This is all to say that you might be surprised with how much of the leadership role you're still able to do remotely.

I would absolutely first have the conversation with your current company about seeing if you can keep your current role and just do it remotely. Not sure how long you want to be in Europe but you might consider timeboxing the remote thing so that your company - if they have any reservations - don't feel like you're making a permanent change.

Also, if you do have to go back to a more individual contributor role, you can probably still maintain some leadership responsibilities, especially if it's with your current company.

If you have to look at jobs elsewhere, focusing on finding something remote will certainly give you more freedom and I'm not sure how easy it is to apply for (on-site) jobs overseas as I've never done that before. Remote companies are usually smaller and therefore their employees wear more hats, so someone with more senior leadership level experience applying for more hands-on roles will probably (my best guess at least) not raise as many eyebrows.

<comment><AUTHOR> Thanks! Your experience there is very encouraging.

Lots of moving parts, but when I was thinking about this, I arrived at a similar conclusion to what you recommend - have the conversation with my current employer, and also to timebox it. The latter part works because I'm nearly certain my wife doesn't want to be gone for more than a year or two. We'll see on the former. School's already started for the year, so I'm thinking I can have this conversation with plenty of lead time and do the relocation next summer.

Could I ask the time difference that you were working with, and if it was a particular challenge? I'd be 6 hours ahead of eastern time and I'm not sure yet whether I would want to commit to working EST from abroad - it's certainly doable, but I'm not sure that I _want_ to work until 10-11pm each night.

<comment><USER2> I'm one hour behind my team so it's pretty easy.

We do have some offshore contractors who work from India which is about 10 hours difference I think. We only have about 2-3 hours overlap with them in the morning, but I find that more than adequate for communication between us.

Working that late doesn't sound enjoyable - you could try proposing 'core hours' that would overlap with EST so you wouldn't have to work that late. Something like 4 hours overlap is what I usually see remote companies requiring.

Best of luck and let me know how it goes, hope it works out for you. Working remotely is great.</comment></comment></comment>


Coding Challenge - <AUTHOR> My team is hosting a coding challenge in Buffalo NY in a few weeks.  I wanted to inquire if this site would work for getting the word out or is there a better recommended method? <comment><USER2> I think you're better off setting up a page on meetup.com

This is not how HN works.

</comment><comment><USER3> Do you have a webpage about the event? Does it have something unusual? Do you have some material about a previous edition?</comment>


What happens when patients find out how good their doctors are? (2004) - <AUTHOR> https://www.newyorker.com/magazine/2004/12/06/the-bell-curve <comment><USER2> As a physician, I often think about how we lack truely objective assessment of patient outcomes (either in the context of evaluating physician competence or, probably more importantly, assessing and improving upon clinical practises).

I would really appreciate insight on how this could be achieved.

There are several issues which are particularly vexing:

\- The distinct lack of verifiable, objective markers of physician competence.

\- Each patient's case is unique and cases with the highest levels of difficulty are often treated by the most experienced people. These cases, of course, are likely to have worse outcomes than simple cases which may be treated by less experienced (worse?) physicians.

\- Clinical outcomes are largely recorded by the same people treating the patient so reported outcomes are often erroneous or frankly fraudulent.

\- This is made worse by the hierarchical nature of clinical medicine and deference to seniority and title.

\- Medicine is parochial so clinical practises for the same disorder vary tremendously. You might be treated a dozen different ways for the same disorder and presentation depending on the facility and especially on the specialty that ends up treating you.

\- Outcomes are not necessarily determined by clinician ability. There are several other factors at play: the pre- and post-care (such as work-up by ancillary staff or ICU care after a surgery), the cohesiveness of the facility and its efficiencies (or lack thereof), availability and preferences for resources such as medical devices, drugs and hospital equipment which may be largely out of the hands of the physician.

<comment><USER3> I did some market research back in the day and there was a lot negative opinions on even attempting to measure performance based on patient outcomes because "each case is unique".

To me there were two things at play: possibly the sample size of number of patients doctors see with the same problem might be too small and there was genuinely a lot of fear that the doctor's skill could be boiled down to protocols and statistics.

I think the biggest hurdle toward improving patient outcomes will be alleviating the fear and then after that figuring out how to give better context to the data.

<comment><USER4> As someone who works in education, I find it interesting that "each case is unique" hasn't prevented outcome based metrics in education.

<comment><USER5> A very simple hypothesis as to why doctors can argue this effectively but teachers cannot is that teachers are not as powerful a lobbying group as doctors.

Doctors have effectively been able to defend their "turf," from hostile encroachment, while teachers have not, not because the situations do not contain substantial parallels, but rather because doctors are politically strong while teachers are politically weak.

<comment><USER6> The term "Gods in white" exists for a reason, many people ascribe a lot of authority and knowledge to physicians and doctors in general. Doubting your doctor's diagnosis is usually considered a rather odd thing to do and if it's a doctor of psychology it could even be interpreted as a symptom.

While with teachers it's kinda the opposite; Even tho their whole job is to know and teach things, many people have a way easier time disagreeing with them straight out of principle.

Wonder how much of that boils down to socialization aka in what contexts children are introduced to these professions?

</comment></comment></comment></comment></comment><comment><USER7> The article's author Atul Gawande more recently published a study showing that you are 3 times more likely to die if you are treated in some hospitals compared to others [1]

Both the article and study suggest what I believe is a major failing in modern medicine: _We should be measuring risk-adjusted outcomes for hospital treatments, then publishing a rating for each hospital on a bell curve_. With such an approach, patients will naturally gravitate towards the better hospitals and the poorer hospitals will have an incentive to improve their procedures.

Here's something to consider: According to the article, "In 1964... the median estimated age at death for patients in Matthews's center was twenty-one years, seven times the age of patients treated elsewhere...After Warwick's report came out, Matthews's treatment quickly became the standard in this country." If Matthews's treatment had been less spectacular - say only twice the life expectancy of patients treated elsewhere - how much longer would it have taken for his treatment to become the standard? Perhaps never?

[1] [https://www.nytimes.com/2016/12/14/business/hospitals- death-...](https://www.nytimes.com/2016/12/14/business/hospitals-death-rates- quality-vary-widely.html)

<comment><USER8> I the interesting thing to consider is what happens to the hospitals that do terribly, but not so poorly that they should be shut down. The publication of their rating will start causing doctors and patients to avoid them. In our fee-for-service model, this causes the hospital to starve and enter a vicious feedback loop.

Perhaps we should have an independent commission that has the ability to perform an outside investigation into these cases and attempt to understand what's going wrong. For hospitals that are under-resourced, they would have to power to increase allocations. On the flip side, it could shut down the ones that are irreparably broken that can safely be removed from a region.

Also, we should do away with fee-for-service for good. It is the worst bag of incentives this side of the line between healing and hurting.

<comment><USER9> > _In our fee-for-service model, this causes the hospital to starve and enter > a vicious feedback loop_

Sounds like an alignment of interests between hospital management and patients.

<comment><USER8> I don't understand how this helps hospital management once it enters the feedback loop. It does incentivize them to not get there in the first place, but I bet when you analyze the tradeoffs they make to forestall it you won't be happy either.

This is especially a problem is when you have a lone hospital serving a poor area. The patients don't have money, maybe they don't have insurance. If the hospital starts cranking out bad results, it'll just deteriorate.

The market model only kinda works in theory for wealthy populations with multiple hospitals nearby.

<comment><USER10> There's a market for cheaper, less safe cars. There would be a market for cheaper, less safe hospitals - in fact there already is, we're just embarrassed to talk about it openly.

<comment><USER8> Think carefully about what you're saying. The rich get to live longer and healthier and the poor get substandard healthcare? The poor are the ones that need to work.

</comment></comment></comment></comment></comment></comment><comment><USER11> From the article, it seems that there are 2 opposite "evidence based medicine":

(a) do research, publish papers, test thoroughly new treatments in well defined trials and slowly build up a biological theory as well as official guidelines and treatments. And

(b): measure the outcomes of different hospitals, declare the best performer's methods as the state of the art and expand these methods elsewhere. If the measurement is sound, one can argue that they are both evidence based. The former is slow but may provide a deeper understanding of the inner workings of the deaease. The latter is fast but it's hard to tell exactly why it works so well.

The was a shift in machine learning research in recent years.

(a): write theoretical papers and study using math the generalization performance of algorithms.

(b) release a new challenging dataset every year (except a test set) and organize a prediction competition on this dataset. The winner algorithm is declared the state of the art, and can be applied to other datasets, event though Boone understands why it works so well.

The approach (b) was particularly fruitful and efficient in recent years. Let's hope that applying this approach to medicine Will lead to great outcomes!

<comment><USER12> The obvious difference here is that no one dies if I start training my new weird deep learning architecture on some challenging training set on an AWS gpu instance and said architecture turns out to be crap.

Meanwhile, medicine is a lot less forgiving of wild goose chases, and requiring that the taking of risks is soundly justified seems pretty reasonable, as exciting as the idea of unrelenting research sounds.

<comment><USER13> "One day when I was a junior medical student, a very important Boston surgeon visited the school and delivered a great treatise on a large number of patients who had undergone successful operations for vascular reconstruction. At the end of the lecture, a young student at the back of the room timidly asked, "Do you have any controls?" Well, the great surgeon drew himself up to his full height, hit the desk, and said, "Do you mean did I not operate on half of the patients?" The hall grew very quiet then. The voice at the back of the room very hesitantly replied, "Yes, that's what I had in mind." Then the visitor's fist really came down as he thundered, "Of course not. That would have doomed half of them to their death." God, it was quiet then, and one could scarcely hear the small voice ask, "Which half?"

—Dr. E. E. Peacock, Jr., University of Arizona College of Medicine;

<comment><USER14> I've seen this come up in EMS. There is the question for certain types of patients if it better for the EMTs to provide care on scene or just get the patient to the hospital soonest. To help determine what's better they pick days of the week where EMTs provide minimum care. It's rough to do this to patients and EMTs, but it's also important to know what truly affects patients' outcomes.

</comment></comment></comment></comment><comment><USER15> Before you have a procedure performed, ask your doctor a simple question: "How many times have you performed this procedure". What I have noticed doctors absolutely hate his question - I have witnessed doctors become visibly angry. I have never once had a doctor answer this question. I have heard answers from: "We don't keep those records" to "We don't keep totals". Are these records not kept? Why wouldn't this be public information? There must be practices with 0 performed procedures completed, and are you patient 1? How can doctors improve if they don't keep transparent numbers of procedures performed, procedures failed, procedures which were successful? "How can you define procedures failed?" \- I can hear some say. But that is a discussion these professionals need to have to find incompetence hiding among their ranks.

<comment><USER16> The problem with this is that except for some really routine stuff, a lot of operations are really custom-tailored to the patient. This might be a 100th time the surgeon is removing a certain type of tumor, but first time doing it in an obese person, or a child, or someone with rare blood condition, or million other things. Once you get to the real life-saving stuff no two operations are the same, even though on paper they might seem like they are. That's why it's hard to put a number on it.

<comment><USER17> >This might be a 100th time the surgeon is removing a certain type of tumor

I think this is all OP was asking about. They want to know if you've ever removed a tooth before, not if you've ever removed the right molar from a 27 year old very tall man who has a small jaw and bad breath.

</comment></comment></comment><comment><USER18> This article spent paragraphs describing a normal distribution where a couple of descriptive statistics would do (mean and standard deviation). Ok, I kid, that would be too technical. The old adage still stands though: a picture is worth a thousand words. Instead of showing us what this curve looks like, they wasted the one graphic of their column inches on a useless stethoscope Gordian knot illustration.

One a plus side, this article appears to be famous and from 2004. Somebody must have produced graphic of this bell curve of CF outcomes by hospitals. Anybody got a link?

<comment><USER19> ...we know what the graph would look like. the author knows what the graph would look like, the editor knows what the graph would look like.

The article isn't about the curve proves, the article is about what the curve means.

(it also says in an early paragraph that you will see different distributions for different diseases/operations; there isn't just one curve)

<comment><USER18> I know what a normal distribution looks like, but I have seen too many flaws in data or flaws in characterization of data revealed by graphs of data. If this data and its graph is so earth shaking, show it.

</comment></comment></comment><comment><USER20> >> _What makes the situation especially puzzling is that our system for CF care is far more sophisticated than that for most diseases. The hundred and seventeen CF centers across the country are all ultra-specialized, undergo a rigorous certification process, and have lots of experience in caring for people with CF. They all follow the same detailed guidelines for CF treatment. They all participate in research trials to figure out new and better treatments. You would think, therefore, that their results would be much the same. Yet the differences are enormous. Patients have not known this. So what happens when they find out?_

Maybe this is simply correct and the variance in care is small, but the regional resources, environmental and other co-factors are distorting the patients results. If income and insurance are lower patients might have to take on more stressful jobs. If education is lower parents might not be able to care as effectively because they don't understand the physician's instructions. Other environmental cofactors in impoverished regions might worsen certain diseases but not do so in others, and so forth.

This is a very important point because it might heavily distort how good the care actually is, there was surprisingly little methodology in the article.

</comment><comment><USER21> This one is from 2005.

But IIRC it launched Gawande's career, and I think it's a great read.

I saw him talk a few years after this. Very inspirational!

</comment><comment><USER22> This is interesting from another angle. I'm not sure if it has been mentioned in the comments but I will go ahead and present it anyways.

I was diagnosed with anorexia when I was 14. The physical, medical care that I received at my local children's hospital was alright, and I have no comparison of course. I was refed, kept in bed, and slowly gained weight to a healthy level. However, the psychological treatment was abhorrent. I was sent to an outpatient eating disorder program, which treated both children and adults, at the same hospital. I came from that place at a healthy weight, but with the same ideas about food that I'd always had up to that point.

I no longer have an overt eating disorder, but of course they say with these things anorexics are always in recovery. However, it took me four years to learn healthy eating habits on my own. I did not have external help for this at all. It took me four years to teach myself how to eat. I still look back on the eating disorder program with distaste and distrust for the medical system.

My point is, it was very obvious to me that my psychological care was not up- to-par, but I still don't know how my medical treatment was-- that is, fixing the parts of my physical body that I'd damaged with malnutrition. Most people think of psychologists, psychiatrists, and therapists in terms of their skill and efficacy. But medical doctors are mostly assumed to be equally proficient. I am not sure what can be done about this particular assumption, but it is very real and can be life-threatening.

</comment><comment><USER23> When it comes to chronic cases I would think that the outcomes are more measurable. For example treatment of diabetes or Lyme's disease. Word of mouth, both from patients and other doctors, the internet etc. will work relatively well depending on one's ability to separate wheat from chaff.

Any physicians reading this - feel free to contact me, I'm looking for physicians for the long term for my own chronic, but relatively minor health problems. I find the average physician some what mechanical on how they approach a health condition and sometime (1)dismissive of my concerns/views. Since I'm somewhat inclined to dig into details of a health condition, I read up things on the internet and that means I may be more likely to question a doctor's recommendations.

(1)= I fully understand why they would normally do it. One certainly cannot entertain a patient who forms an opinion based on the first few articles that they read up on the web, which is what I presume most people do.

</comment><comment><USER24> That's a pretty interesting article.

While the measurement of performance is critical towards improving it, we need to be careful about how we incentivize that performance. As performance on a metric becomes more economically important, the less useful the metric is in actually measuring performance and the less real improvement can be gained by its measurement.

<comment><USER25> aka "When a measure becomes a target, it ceases to be a good measure." \- Goodhart's Law [0]

[0] [https://en.wikipedia.org/wiki/Goodhart%27s_law](https://en.wikipedia.org/wiki/Goodhart%27s_law)

<comment><USER26> I like this, a lot, but I feel like I'm going to start incorrectly applying this in too many areas. It's dead true, but also a bit of a catch-all for so many IT scenarios.

</comment></comment></comment><comment><USER27> It isn't necessary to be the best. What is needed is that patient outcomes get better. Those who are at the wrong end of the curve need to acknowledge that they need to do better and those in charge of the system need to assist them to improve.

Making payment conditional on results is not likely to have the desired effect, especially if the decision to pay or not is not made by the person actually affected. If anything it will simply drive medics away from difficult areas of expertise.

Take the above with the usual scepticism, I'm a software developer after all, not a medic. But it seems to me that you always need to have carrots as well as sticks, or perhaps just carrots.

</comment><comment><USER28> If health care was free, a problem arises. Everyone will think they're entitled to the best doctor. Who gets the best doctor?

Under a market system, the best doctor goes to the patient willing to pay the most.

<comment><USER29> Funny thing about markets: they work even if you don't "believe" in them. So the more you try to tightly control a market, the more alternatives show up.

In this case the alternatives being the usual power networks of the socialist states: friends and relatives in government and administration. Who you know becomes more important than what you know. Who you do becomes more important than what you do. A small favor done once gets returned. Informal networks of favors, relations and power turn rapidly into an impenetrable mafia.

Imagine your DMV visits applied to life-and-death situations. And it's not only doctors. It's also access to latest medicine, newest medical devices, best hospital beds and sections and especially doctor attention.

Source: I lived in these god-forsaken systems, unlike most of the down voters here...

<comment><USER30> >Imagine your DMV visits applied to life-and-death situations.

Kinda funny, but my DMV visits have been extremely smooth. If you get there with everything they ask for (you did read the FAQ, didn't you?), there's no reason why you can't have a similar experience.

Now my experiences trying to get a doctors appointment otoh...

<comment><USER31> My DMV experience was long lines and waiting around for an employee to manually grade multiple choice tests. That was in CA. On the other hand things were a lot better, way more efficiently run in PA. Why can't California give me a similar experience as Pennsylvania?

</comment></comment></comment></comment><comment><USER32> Reminds me of Vince DeVita approach to cancer. Never give up, do not care much about standard practice if they fail you.

Rant: the medical world is large and stretched, it's impossible to discuss anything with a doctor (you'll have more answers than doctors asked, and they won't tell you all). But whatever they say is godspel (or even more) so if they decide to drop the ball, you will. And if a sibling goes against the doctors advice, you'll only make the situation more tense.

</comment><comment><USER33> Discussed in 2014 at [https://news.ycombinator.com/item?id=7664301](https://news.ycombinator.com/item?id=7664301).

</comment><comment><USER34> While Warwick and Matthews are both excellent physicians, what if there use of non traditional/peer-reviewed methods ended up shortening someone's life?

How does a system as large an bureaucratic as health care allow for individual discretion and experimentation at the individual physician level without harming patients?

</comment><comment><USER35> As a patient, i feel that there is a need for the doctors themselves to acknowledge that there is a need to measure their performance and give a way to us patients to take informed decisions. That would be step n.1. once we have established this need we can look on the how this can be done.

</comment><comment><USER36> An interesting corollary to this article is this:

[http://slatestarcodex.com/2017/08/29/my-irb- nightmare/](http://slatestarcodex.com/2017/08/29/my-irb-nightmare/)

<comment><USER37> Everything in this story is so relevant to my current trials and tribulations with medical IRB approval. I read this monthly just because I need to relate with someone else's experiences.

</comment></comment><comment><USER38> The Don Berwick December 1999 speech mentioned in the article is here: [https://www.youtube.com/watch?v=00aa6xcOXf4](https://www.youtube.com/watch?v=00aa6xcOXf4)

</comment><comment><USER39> > It belies the promise that we make to patients who become seriously ill: > that they can count on the medical system to give them their very best > chance at life.

Medicine makes no such promise. Doctors are going to handle any given condition with the currently accepted "reasonable and prudent" treatment. This is going to be appropriate for the vast majority of patients but it isn't necessarily everyone's "very best chance."

<comment><USER40> I predict that with rigorous study we will find that fully half of all hospitals will be below average.

</comment></comment><comment><USER41> Thank you for the repost, I read this article many years ago and was never able to find it again.

</comment><comment><USER42> So why is this 13 yr old article in hacker news? Or rather how? Is there a bot among us?

<comment><USER43> It's an excellent article that illustrates the difference between 'good' and 'excellent' care and the attention to detail it requires to obtain 'excellent' results. Dr. Warwick's line of questioning that revealed his patient Janelle's reasons for not doing her treatments was illuminating and not every doctor will dig for answers that allow their treatment plan to remain 99.95% effective.

After finishing the article, I decided to take inventory of myself and see where I can improve from 99.5 to 99.95 even though my job doesn't deal with life and death patient outcomes.

Sometimes articles that aren't about computer touching can make you think about computer touching in a different way, it's good to read a variety of things.

</comment></comment><comment><USER44> Not a bad article, but it is from 2004. Might be time for a follow-up.

</comment><comment><USER7> Needs [2004] in the title

<comment><AUTHOR> Unfortunately, the title already was maxing out the character limit when I submitted.

</comment></comment><comment><USER45> I've been thinking about some of the same issues but with dentists--all the sites to locate dentists are utter garbage and there are no reliable ratings for dentists. Worse, dentists toe (and I argue, cross) the ethical line when it comes to patient care, performing often unnecessary fillings in order to make money. The whole dental industry is a cesspool of shady vendors and salesmen pushing dentists to up sell "patients" and be able to charge bigger bills to insurance.

</comment><comment><USER46> The depth of this article allows thinking beyond the medical domain. Warren Warwick's success because of 'a capacity to learn and adapt—and to do so faster than everyone else.' To do so, there needs to be a fierce consistency of approach to enable easy measurement, yet at the edge a wild experimentalism to ensure improvement.

Fascinating. Continuous improvement in action.</comment>


Zynga Gives All Employees New Stock Awards To Keep Them From Fleeing - <AUTHOR> http://www.businessinsider.com/zynga-gives-all-employees-new-stock-awards-to-keep-them-from-fleeing-2012-8?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+businessinsider+%28Business+Insider%29&utm_content=Google+Reader

<comment><USER2> I wonder if they're planning on pulling this again. After all, it's only been what, several months? [http://news.cnet.com/8301-13506_3-57322150-17/zynga-to- emplo...](http://news.cnet.com/8301-13506_3-57322150-17/zynga-to-employees- give-back-our-stock-or-youll-be-fired/)

</comment><comment><USER3> Is this a distribution from existing stock that the company holds, or did they dilute to generate it?

</comment><comment><USER4> "Sad that you've got a bunch of almost-worthless paper? Here, take more!"

<comment><AUTHOR> Easy come, easy go.</comment></comment>


Selling your own software vs. "Working for the Man." - <AUTHOR> http://successfulsoftware.net/2007/09/09/selling-your-own-software-vs-working-for-the-man/

<comment><USER2> Go exponential, not linear, to hit the Gates level.

</comment><comment><USER3> He overlooks an option in his arithmetic: Move to a low cost country.

Move to Buenos Aires or Bangkok. Even a less exotic place like Berlin is way cheaper than the US. You could afford a far higher quality of life on way less money. Continue to target the US market with your software.

<comment><USER4> I know Buenos Aires is a good place to relocate, but it's really cheaper to live in any Euro-denominated country?

<comment><USER5> Berlin would cost more than the US. Perhaps Tallin would be cheaper? It's tempting as an EU citizen to move to the US to create a startup simply because of the lower costs of living.

<comment><USER3> Berlin is much cheaper than major US cities. Look at rents. Food and services are also cheaper. Food is generally of higher quality than in the US.</comment></comment></comment></comment>


Things Great Engineers (Almost) Never Say - <AUTHOR> http://jobtipsforgeeks.com/2012/10/08/things-great-engineers-almost-never-say/

<comment><USER2> ""I will need ______ (tool/condition) to complete this task" – The masters of development will have the ability to improvise and adjust on the fly to arrive at a solution in non-ideal conditions. When you hear of engineers being compared to MacGyver they are speaking of this very rare skill. Greats will figure out a way based on minimal resources and will be aware of alternatives to their first choice of tool."

I see the opposite as a problem - not being aware of standard solutions for tools, and reinventing the wheel yet again without even bothering to go look for something that might exist already. Praising this 'macgyver' skill reinforces in people's minds that it's perfectly fine (perhaps desirable) to "roll your own" all the time. The extra couple hours or days you spend up front understanding tools that tens of thousands of other people already know will pay off down the line when you hit configuration, scaling, performance, security or other problems vs your home grown 'solution'.

This has continually been something I've run in to the past few years, and it reminds me of my own 'roll your own' justifications from 10-15 years ago. The only defenses I have are back then there was _far_ less available open source tools (or even closed source) for many of the problem domains I hit back in the mid 90s. Today that's far less of an issue in most situations, and I'm far more sensitive to the maintenance burden imposed by a 'roll your own' mindset (because I've had to maintain my own code from 10 years ago!).

It's one thing if the primary options are off the table due to budgetary issues (hit me recently as well), but in most cases I find it's people not being aware (and not researching) to see if industry standard options exist.

<comment><USER3> I think there is a difference between "I will need..." and "Ideally we should use...". In the former, there is an implication that the only solution is the tool stated, while in the later, there is an understanding that the solution is possible without the tool, albeit not the best.

My reading of that statement was not that good engineers won't use the right tool for the job, but rather will use the best they can, and deal with imperfections. Almost as a rephrasing of the old adage: "'Tis a poor carpenter that blames his tools".

There are often factors outside the control of the engineers that dictate certain things that can and cannot be used. Sometimes they are political and sometimes they are more technical. The ability to get things done in spite of externally imposed limitations is something that should be praised. Even something as simple as the choice of platform can be a cause of not using the ideal solution... say there are only X, Y and Z allowed languages - using the cool library for language W is off the table, even though it is highly regarded as the correct and best solution.

<comment><USER2> I thought I touched on that. If a decision was made aware of the options, and a suboptimal choice was found because of specific constraints (budget, technical, whatever), document that and move on. You're doing the best you can with the project constraints. Not being aware (or even doing the research) and ending up with suboptimal code when it wasn't necessary is the problem.

</comment></comment></comment><comment><USER4> Please link directly to the original next time.

[http://jobtipsforgeeks.com/2012/10/08/things-great- engineers...](http://jobtipsforgeeks.com/2012/10/08/things-great-engineers- almost-never-say/)

<comment><USER5> DZone articles are always linked to the original at the end of the page.

<comment><USER4> From the guidelines [1]:

 _Please submit the original source. If a blog post reports on something they found on another site, submit the latter._

[1]: <http://ycombinator.com/newsguidelines.html>

<comment><AUTHOR> In truth, I looked around the DZone article (which is how it is referred to on the DZone site). When I couldn't find a readily visible link to the original, I assumed is was content written on the DZone site, much like articles on CodeProject (as opposed to technical blog links on CodeProject, where there is a clearly identified link to the source).

My bad, but please know I understood the guideline, just not the page I was linking to . . .

<comment><USER6> I'm glad you linked to it. Honestly I can't take the time to find all the curated blogs that DZone brings into the single feeds on Javalobby and Web Builder Zones.

</comment></comment></comment></comment></comment><comment><USER7> I disagree with this one. "There is no solution"

I can't imagine a great engineer saying. "I've reduced this to the halting problem. Others have said that there is no solution, but I think they lack vision."

<comment><USER8> When managers ask for something they are typically not asking a math question. They are asking for a solution to a real world problem. There are always approximations of a solution even if a perfect one doesn't exist.

<comment><USER9> Yeah I think this one is just semantics/being at least a bit politically aware.

"There is no solution" is for most shorthand for "I can give you 20 solutions, but I don't think any of them are good enough to be effective for this case. Would you like to hear the 3 best ones I've thought of?"

It's a bad kind of shorthand to use. Stating that "these are the best solutions I know of right now, and I've exhausted my current ideas" is better than saying there's no solution - it avoids it seeming like you're just not interested.

Everything has a best solution after all, even if that solution may not be good enough.

<comment><USER10> This exactly.

Maybe a better way to say it is "There's no solution _which I can implement in 5 minutes_ " or whatever time scale is suitable.

</comment></comment></comment></comment><comment><USER11> > "I will need ______ (tool/condition) to complete this task"

Yeah, this one is nonsense. I think I see what the author meant, though. Consider this conversation:

      Engineer: "I will need ______ (tool/condition) to complete this task"
      Manager: "You can't have it"

IME, great engineers distinguish themselves by their reply:

      Bad Engineer: "Then I guess we can't do it"
      Good Engineer: "Hmm...what if we had these other things?"
      Great Engineer: "Hmm...what if we solved this other problem?"

There's some overlap, of course, but my experience is that good engineers find creative ways to deliver the feature, while great engineers find creative ways to solve the problem, if you see what I mean.

<comment><USER12> Author here, points well taken, and your illustration is pretty close to my intent. I'd say regarding a specific tool, a great engineer could probably solve the problem at hand effectively without having to rely on any one specific tool. If you work for a company that has standardized technology roadmaps where certain tools are forbidden (think regulated industries, some gov't), a great engineer will know of or find another tool to use within those guidelines.

Regarding a specific condition, I could see where there are times when one may need to solve another problem.

</comment></comment><comment><USER13> This is a bunch of bollocks. I take issue with almost every one of these, but this one in particular:

> "I hate programming"

It's true! And there's nothing to really be said about it. If I _liked_ programming I wouldn't write functions or create reusable pieces of code. I believe every good engineer loathes programming, and wants to do of little of it as necessary to get the job done.

<comment><AUTHOR> That doesn't mean a hiring manager wants to hear that, which is at least one of the points of the article. I do believe he refers to that idea, at least indirectly.

Also note, just because one loves programming does not mean one enjoys repetitively writing the same code, over and over again. Note to mention the fact that duplicating code within a project (instead of creating "reusable pieces of code") creates design problems and maintainability issues.

I believe most good engineers ejoy employing an _elegant_ solution, and focusing on the problem to be solved. They don;t enjoy solving the same old problem ("Gotta write another data access layer now, before I can build the fun part of the app . . ." as an example) over and over again by writing what amounts to boilerplate code.

<comment><USER13> Most good engineers will have the solution designed before they start programming, whether on paper or in their head.

That's the fun part. Typing is an exercise best left for Mavis Beacon.

<comment><USER14> My experience is that when the problem is complex, the planned solution might still work, but there are often aspects I didn't think about that requires adapting the solution. So it's not just a matter of typing it up.

I think programming to a large extent is a learning experience, and you adapt the solution as you learn more trying to solve the problem. For me at least it is a lot more iterative than simply typing the solution.

</comment></comment></comment></comment><comment><USER15> "There is no solution". Well, sometimes you can prove it too.

"I've learned all I want/will ever need to know about X". Often you don't need to know everything about X before you decide you don't want to be anywhere near X.

"I hate programming" (in X). Lot's of times this stems from the frustration with the programming language/environment mismatch between X and the problem at hand.

</comment><comment><USER16> In my experience, passion is key.

I consider great engineers to be engineers who get things done and their solution stands up to review over time.

These types of answers are usually tell-tale signs of engineers that are harder to work. But from my 20+ years experience, they are not necessarily a sign of engineers lacking passion.

I've found great engineers who said the following:

* I have no idea how it works (he was talking about Windows and explaining why he preferred Linux)

* I've learned all I've ever want to know about... (he was talking about Visual Basic)

* There is no solution... (reaching a consensus every time)

* I'm an expert in Ruby (he was)

* I don't understand the business... (I'm just trying to make great software)

edit: I removed the Jeff Bezos line. This came from a keynote he made at Stanford. He was really saying that he doesn't pay much attention to his competitors.

<comment><USER12> Author here, and some good points raised. A couple thoughts:

* If an engineer explained why he preferred Linux to windows, he wouldn't be thorough if he didn't at least have some understanding as to why Linux was a better solution. I would assume some knowledge of the workings of Windows would be necessary to contrast the two systems. One could simply point to a performance metric perhaps, but a great engineer should dig deeper to make an effective argument.

* There are certainly some people who will claim to be experts in a particular area. True experts, in most cases, won't have to say it.

* Trying to make great software to solve business problems should require some understanding of the business problems being solved, no? I don't think you can really solve a problem without knowing what the problem is. Of course, my comments here are assuming that you are building software to solve a problem for a business - the 'business' could be substituted with 'the problem being solved', and perhaps that would make more sense for my statement if you are taking the word business literally.

</comment></comment><comment><USER10> _"There is no solution"_

Even Scotty can't rewrite the laws of physics...

<comment><AUTHOR> Yes, he can! :-)</comment></comment>


Verizon: Our Apps Aren't About Taking Over The Phone — It's About "Choice" - <AUTHOR> http://techcrunch.com/2010/09/21/verizon-v-cast-apps/ <comment><USER2> How about a choice about buying a premium app Android Phone, or a bare Android Phone so I can put what I want on it?

How about a choice about being treated like a hyper-consumerist customer who buys buys buys versus a consumer who wants a piece of technology to wants to use it the way he wants to?

How about a choice of getting a device that works with the features the developers built into it instead of locking me out of my purchase, and billing me to use every little feature?

How about _actually_ giving me a choice and not just saying you are?

Oh wait, you're Verizon.</comment>


Ask HN: Why can't we delete our accounts or remove old posts? - <AUTHOR> JustDelete.Me lists the account removal process as impossible and I have found no mention of it on News.YC, and it seems after a certain amount of time the ability to edit or delete old posts is also disabled. <comment><USER2> Jacquesm's Unofficial FAQ (from 2011) also says it's impossible. [http://jacquesmattheij.com/the-unofficial-hn- faq#deleteaccou...](http://jacquesmattheij.com/the-unofficial-hn- faq#deleteaccount) I think this is the right policy; it encourages people not to post things they'll regret later. As jacquesm points out, you can always just remove all identifying information from your profile and start a new account if you really don't want to be associated with your past links/comments.

<comment><USER3> I've been able to delete comments I've regretted.

<comment><USER4> Editing and deleting an HN comment can be done within a limited time (an hour?) after the comment is created. After that it does not seem to be possible -- at least for me.

</comment></comment></comment><comment><USER5> I'm against deleting old posts. You only have to look through some threads on Reddit to see how disrupting it can be to delete random posts in a comment thread.

Deleting accounts would be ok, if it leaves the comment trail intact.

</comment><comment><USER6> Allowing deletions on a discussion board is a bad idea. A dissatisfied person should not be able to trash context and history and public conversations going back years in some misguided attempt to reclaim privacy that never existed in the first place.

This sounds harsh but I've been in one too many old forum posts that were rendered incomprehensible due to some selfish person. Think before you post and it'll never be a problem.

<comment><USER7> > _in some misguided attempt to reclaim privacy that never existed in the > first place_

From the Guidelines: _" Don't say things you wouldn't say in a face-to-face conversation."_

With a face-to-face conversation you have better privacy after the conversation is over than you do on HN. I would prefer a forum that offers this privacy. I'm ready to join one.

</comment></comment><comment><USER8> You're right: both Guidelines and FAQ still don't mention account deletion. Last I know it's not possible, at least not in the user interface.

Discussed in length in [https://news.ycombinator.com/item?id=9089177](https://news.ycombinator.com/item?id=9089177)

Best option is to email admins at email@example.com

</comment><comment><USER7> What I think I want to have deleted after a period of time is the connection between username and comment. I may still want to see the comment, but I don't want it connected with my username.

Like conversations in real life. It's one of the advantages of forgetting who you heard something from.

</comment><comment><USER9> On a slightly related albeit not quite exactly the same type of note: can usernames be changed? I see a very large number of non-name related usernames and am curious as to why that is and if they can be changed to a real name or away from one....?

<comment><USER10> I am very interested in changing my HN name to align with the rest of my internet identity. But I do not want to lose what few internet points I have accumulated here.

</comment></comment><comment><USER11> Try the contact link at the bottom of the page. Reasonable reasons may fall on reasonable ears. Raising a fuss for fuss raising's sake may not, however, get you anywhere.

Good luck.

</comment><comment><USER12> Wow the hypocrisy is unbelievable. Any other website would have been chided, chewed and spit out by the community if they didn't let you delete your posts (even if they are just hiding them). But because HN is doing it it's suddenly OK? 4 out 5 comments at the time I wrote this _support_ the inability to delete an account.

<comment><USER13> > Any other website would have been chided, chewed and spit out by the > community if they didn't let you delete your posts

I don't believe this. I've never seen criticisms of other forums for this. Why do you believe this?

<comment><USER12> So if suddenly facebook didn't let you delete your posts that would be ok?

<comment><USER13> > So if suddenly facebook didn't let you delete your posts that would be ok?

This question has, and my answer to this question would have, absolutely nothing to do with my response or your previous post, which are about what Hacker News commenters would say about other websites.

Nor would what they (or I) think about one particular website tell us what they (or I) think about "any other website." And if you were to pick a specific one as an example, a more appropriate choice would be another discussion forum, not a social network.</comment></comment></comment></comment>


Show HN: Multiline JavaScript Converter - <AUTHOR> https://jsstringconverter.bbody.io/ <comment><AUTHOR> OP here, this is a tool I built for converting AngularJS HTML templates into ES5 friendly JavaScript arrays (had no control over build process). ES6's template literals has made this largely redundant. But have been using it for code samples that need to be stored in JavaScript or JSON. Hope someone finds it useful!</comment>


PEP 308 and why I still hate Python - <AUTHOR> http://dvt.name/2017/03/10/pep-308-and-why-i-still-hate-python/ <comment><USER2> _To be fair, Python isn't terrible, but throughout its lifetime, it made some incredibly poor design decisions_

Substitute {{x}} for Python and you have a template for a Hitchhiker's Guide entry for just about every programming language, ever.

<comment><USER3> Yup. And Python is certainly one of Stroustrup's two kinds of languages:

"There are only two kinds of languages: the ones people complain about and the ones nobody uses." \- Bjarne Stroustrup

<comment><USER4> but lisp...

(occasional lisper)

<comment><USER3> Yes lisp.

(constant lisper)

</comment></comment></comment></comment><comment><USER5> Python is an imperative language. The control structure, based on indentation, is well matched to Python's imperative character. Attempts to retrofit a functional style to Python fit Python's syntax badly. Lambdas, conditionals, and list comprehensions look painful if they extend beyond one line, because the indentation assumptions of Python just don't fit.

As a practical matter, only use Python's functional features in one-liners.

<comment><USER6> _Python is an imperative language._

...as are many others with the conditional operator's operands in the normal (condition, true-case, false-case) order:

[https://en.wikipedia.org/wiki/%3F](https://en.wikipedia.org/wiki/%3F):

I think being "functional" or otherwise has nothing to do with it. Even in imperative languages you must use expressions, and it is there that the conditional operator is most useful.

<comment><USER7> [https://en.wikipedia.org/wiki/%3F%3A](https://en.wikipedia.org/wiki/%3F%3A)

</comment></comment></comment><comment><USER8> I'm not sure why the author calls the two branches of in if/else the consequence and the final_consequence. That naming suggests that you do both of them, with the latter coming after the first, which is of course not how an if/else works.

I'm sure that nearly everyone reading the article knows how an if/else works, so that naming won't actually lead them astray, but it just feels ugly.

<comment><AUTHOR> Bad wording on my part, point taken.

</comment></comment><comment><USER9> So, Ruby has:

        consequent-expr if antecedent-expr

...which has all the same problems as the PEP308 example, as far as I can tell. Its (implicit) else-clause is just always nil.

I can't tell from the author's argument whether this condemns Ruby as well, or if something about the PEP308 style was uniquely bad.

I could see something definitely worse about the readability of this code:

        {long expr} if x else {another long expr}

but the author didn't discuss that case.

<comment><USER10> The difference between Ruby and Python here is that Ruby has a perfectly functional ternary operator that works as one would expect. It _also_ allows some other crazy syntax which can be appropriate in some cases, but it doesn't force you to use it in all cases.

Python _does_ force you to use their awkward conditional expressions; there is no normal ternary operator.

There's a big difference between a language which _lets_ you write hideous code, and a language which _forces_ you to write hideous code.

<comment><USER11> Python does not force you to.

In any case where you can use PEP 308, you can use a boring traditional "if else".

<comment><USER10> Is that intended as a _defense_ of Python's ability to enable clear, concise, expressive code? :)

More seriously: Yes, you are obviously correct. But while you can use if/else, you can't use a ternary, and you can in Ruby. That's why people complain about the lack in Python but don't wrote the same article about Ruby.

<comment><USER12> "Clear, concise, expressive code" isn't something that applies to ternary operators. They were always meant as shortcuts and, as such, will never be as clear as if else statements, practically by design.

Though I don't really dislike Python's approach so what do I know.

<comment><USER13> You can definitely use too many ternary operators, but I think when used sparingly they can be clear and tasteful. As long as you don't start nesting them or repeating them one after the other you should be fine.

</comment></comment></comment></comment></comment></comment><comment><USER14> Reading it as "Alice studies all night if she goes to the library; if not, she'll sleep all night" seems perfectly natural.

Having said that, I often use the "else" as a "this should never happen" clause that raises an error.

<comment><AUTHOR> I agree that it reads naturally, but when dealing with those kinds of sentences, they always need to be put into conditional form (A->B). Even when reading text the order of those words matters. Consider:

"I'm going to die ... (gasp) ... if you don't grab me some Subway. I'm starving"

The sentence is funny because the apodosis is misleading. Even thought that might be a valid narrative approach when writing a comedy, I don't think it's an appropriate coding one.

<comment><USER14> > The sentence is funny

Code should have literary value. ;-)

</comment></comment></comment><comment><USER15> As a fellow member of the hates-Python-but-not-enough-to-quit-my-job-over-it club, comprehensions are just the worst. Uses variables before defining them, can't be readably broken over multiple lines, overloads multiple pieces of syntax, reads inside-to-out instead of left-to-right. Ugh.

<comment><USER16> What is awful about:

      foo = [transform(bar) for bar in baz.list() if condition(bar)] ?

Seems very readable and expressive. Or are you complaining about how they execute?

Also \ used judiciously with proper indentation can break statements over multiple lines without too much pain.

<comment><USER17> Yea, I like list comprehensions. I mean they make sense once you're use to reading the syntax. That's just like the following in Scala:

       foo = baz.list().filter{ bar => condition(bar) }.map(transform(_)).toList

If it's your first time looking at Scala, you'd probably be like, "What the fuck is that shit?" but as you learn the language, these types of patterns become common and make a lot of sense.

I mean it's not like weird rules in natural language. At least the grammars for computer languages are strict, with very few edge cases (compared to human/spoken language).

<comment><USER18> Does Scala have line continuation? I got really used to pipes from R (which I guess come from F#/Elixir), which in turn got me really comfortable with multi-line statements like:

        foo = baz.\
            list().\
            filter{ bar => condition(bar) }.\
            map(transform(_)).\
            toList

IMO this is about as readable as it gets. It's like bullet points enumerating each step in the "algorithm" that produces a `foo`.

AFAIK Javascript also uses this pattern a lot.

<comment><USER19> I think that Scala uses semicolon terminated lines so you would write something like:

        foo = baz
            .list()
            .filter{ bar => condition(bar) }
            .map(transform(_))
            .toList;

<comment><USER17> Scala doesn't require the semi-colon at the very end, but it does allow for them if you really want two statements on the same line.

Edit: and yes, that line separation works fine, both compiled and in the REPL.

</comment></comment></comment></comment></comment></comment><comment><USER20> A cute feature of this syntax: in "p if c else q" you can think of "if c else" as an _infix operator_ like + and the rest. This operator has an algebra worked out by John McCarthy -- e.g., it's associative. Of course I doubt this will help the poster to like Python more, but it might amuse others.

</comment><comment><USER21> GvR seems to make readability a priority.

But my problem with

        true if cond else false

is it makes impossible to chain fast choices.

I thought it was a bug, then I understood it was a feature (after talking to him).

GvR hate ternary operators, the python 3nary is midfix, it sux, but it removes the possibility for people to do long chained if/then/else in _unreadable ways_.

If you think I am right and it sux, understand I think forbidding this kind of operator is like hating shortcuts and goto.

Since I love shortcuts, goto and chained ift and python, I logically found ways to not care of PEP308 because it is a non problem.

Dispatch tables, and/or used wisely ... there are a lot of ways to not care about PEP308.

<comment><AUTHOR> > GvR seems to make readability a priority.

And my point is that going against the standard (for over 100 years) way of reading conditionals is quite the opposite.

<comment><USER21> I do agree, and for me it is ok to disagree with GvR.

I would have prefered a ?: but I can replace it with

         # requires non null default else there is a bug
         value = arg is MARKER and default or arg

So ... I don't bother

</comment></comment></comment><comment><USER3> Why didn't Python do this:

      x = if condition a else b

    ?

<comment><USER22> I think it could be ambiguous in certain situations. Let's say I wanted to conditionally set a variable to one of two negative constants. In the current syntax, that would look like:

      x = -1 if y else -2

However, with your syntax, it would look like:

      x = if y -1 else -2

Which could be possibly confused with trying to subtract 1 from y.

<comment><USER3> Ah, and Python uses whitespace and colons to disambiguate, which would ruin the efficiency of this form.

</comment></comment></comment><comment><USER23> I've been doing Python professionally for 13 years (among other languages, but Python is in the one I've used more). I like the language but I also hate some things (mainly, the GIL, the lack of static typing now lessened thanks to mypy and the slowness), but I never tough of the ternary if as evil or found a single instance where it confused me.

</comment><comment><USER24> I rarely see PEP 308 in code bases

</comment><comment><USER25> Which language do you like?

<comment><AUTHOR> I like Java, Javascript, Go (which holds a special place in my heart), and C++ even. And I'm being a bit hyperbolic -- I don't _hate_ Python, but sometimes I feel that the language works against you, and not with you.

<comment><USER26> You like _JavaScript_ , the language where parenthesizing an expression can change the value of that expression[1]:

       > {} + []
      <- 0
       > ({} + [])
      <- "[object Object]"

or how the identity x|0 == x doesn't hold for all "integers"[2]:

       > 4294967296 | 0
      <- 0

or how function definitions aren't grammatically statements, making this[3]:

      function foo() {
        function bar() {} // legal
        if(1) {
           function baz() {} // illegal!
        }
      }

this just always bites me:

       > "a string" instanceof String
      <- false

(but seriously, I don't understand why JavaScript needed the object/primitive distinction. I get it for Java, but not in JS.)

> _sometimes I feel that the language works against you, and not with you._

JavaScript is the language where you ask it, "here, I want to know which of these guns most adequately shoots my foot."

ES6 improves things considerably; in 10 years we'll have good browser support for basic data structures, like Map and Set.

[1]: I'm joking. Read it first, then return to this footnote. The sleight of hand is this: the first expression parses as an empty code block, followed by a unary plus taking an empty list. The second parses as binary addition. There's also a terrible amount of coercion taking place. This also "means" that binary addition "isn't" commutative: {}+[] and []+{} evaluate to different values; the same trickery is involved.

[2]: the binary or operator, |, silently converts the operands to a signed 32bit integer for the duration of the expression. Note that signed 32bit integer is a type _not available to the JavaScript programmer_ — it only arises internally! (The only numerical type available is "Number", which is an IEEE double.)

[3]: the grammar for functions is essentially "list of statements or function definitions", so function definitions are only valid at the "top level" of a function.

<comment><AUTHOR> True, JS is a pain in the butt. But I think it's fun: it feels fluid and that you can do almost "anything" with it (for better or worse). In Python, I feel that I'm fighting against arbitrary goalposts or that I'm wracking my brain parsing some logical puzzle (like in the PEP example).

<comment><USER27> Properly spec'd and implemented language structures are the opposite of logical puzzles. JS is not fluid, it's broken.

</comment></comment></comment></comment></comment><comment><USER28> Python has list comprehensions because maths has set comprehensions.</comment>