Some doctors moving away from ventilators for virus patients - <AUTHOR> https://apnews.com/8ccd325c2be9bf454c2128dcb7bd616d <comment><USER2> There is a lot of misinformation about COVID-19 lung disease. This article's title is alarming, but most of its content is mainstream. Lung protective ventilation - the standard approach for ARDS (which COVID-19 seems to cause) - avoids high pressure and high volume ventilation.

Broadly, I would suggest that interested people read Corey Hardin's response to the cacophony of voices saying that COVID-19 respiratory failure is not ARDS: [https://mailchi.mp/e10a89ac5988/tz4idnzryr-4388986?e=96507de...](https://mailchi.mp/e10a89ac5988/tz4idnzryr-4388986?e=96507de8e5)

<comment><USER3> This article says though that in New York 80% of people put on a ventilator die; is that fact refuted by anyone? For a machine that's in short supply and quite invasive, a 20% survival probability seems extremely low.

<comment><USER4> The figure for the England that I've seen is 50% (vs 20% death rate for viral pneumonia in 2017-2019, see [0]). I think that's for intubated ventilation as opposed to "just" non-invasive ventilation like BiPAP (which IIRC is contra- indicated; maybe because it impairs expectoration???).

But as others have said, if you only use the ventilator for the very sickest people, then the more pressed you are the fewer survivors you'll get because people who have a chance without it will be kept off the ventilator if at all possible. My very limited understanding is that ventilation has major issues around bacterial infection.

[0] [https://www.icnarc.org/Our- Audit/Audits/Cmp/Reports](https://www.icnarc.org/Our-Audit/Audits/Cmp/Reports)

other sources I've seen recently:

[1] [https://emcrit.org/ibcc/support/](https://emcrit.org/ibcc/support/) [2] [https://icmanaesthesiacovid-19.org/covid-19-airway- managemen...](https://icmanaesthesiacovid-19.org/covid-19-airway-management- principles) (good detail on managing risk to staff, and on tracheal intubation)

<comment><USER5> >But as others have said, if you only use the ventilator for the very sickest people, then the more pressed you are the fewer survivors you'll get because people who have a chance without it will be kept off the ventilator if at all possible. My very limited understanding is that ventilation has major issues around bacterial infection.

This is why everybody is locking down so you don't have to make a choice between those that will benefit the most from ventilation and those that have little hope left. For most socialized healthcare systems once a resource is in sort supply guidelines for selecting those that will benefit the most are established. So at the end of the day the 80 y.o won't receive the ventilator but the 50 y.o. will( at least that's how it works here).

</comment></comment></comment></comment><comment><USER6> The press release states that doctors have seen that patients on ventilators have higher death rates. But wouldn't we expect that? If the situation is dire enough to put someone on a ventilator then they're probably less likely to live anyway?

Edit: They do mention that it's higher than other diseases relatively speaking, but don't we expect Covid-19 to be higher than say, the flu, given it seems to primarily target the upper respiratory area?

<comment><USER7> This is the pertinent detail as to why some doctors are concerned:

 _Generally speaking, 40% to 50% of patients with severe respiratory distress die while on ventilators, experts say. But 80% or more of coronavirus patients placed on the machines in New York City have died, state and city officials say._

<comment><USER8> Could that not be because of shortages? If there's a shortage of ventilators then only the very sickest patients will get them. Don't see how it's valid to compare numbers against disease in "peacetime".

<comment><USER7> I don't know.

But another concern is that ventilators are known to cause lung damage (because of the high pressure involved) and are typically only used for a day or two with most conditions. With this, people are being kept on them for a week or two in many cases.

So it's not unreasonable to assume that unusually long-term use of a protocol known to harm the lungs is actively creating problems for patients.

<comment><USER4> >ventilators are known to cause lung damage (because of the high pressure involved) //

I only know a little from my reading in the last month or so, but ventilators (used with intubated patients) seem very adjustable: you can alter the pressure, the Oxygen percentage, the tidal flow, breathing rate and such. I can see that in order to increase blood Oxygen uptake you might use higher pressures, but surely that's necessary to ensure patients get sufficient oxygen to avoid brain damage or other deleterious effects?

Won't the patients suffer in other ways if the Oxygen delivery is lower pressure?

When multiple patients share a single ventilator I see there are issues of balancing the supply, but I don't think that's what we're considering here.

<comment><USER7> Someone linked me to this a few days back:

[https://www.youtube.com/watch?v=okg7uq_HrhQ](https://www.youtube.com/watch?v=okg7uq_HrhQ)

It explains how they pressurize the lungs to try to keep the alveoli open and why that's very problematic, even when it is only short term. It is so problematic, they sedate people on ventilators so they won't pull the tubing out.

It sounds just really gruesome and like a brute force method that can't help but cause serious problems for delicate tissues if you use it for more than a fairly short period of time, which is the norm but is not how it is being used for Coronavirus cases.

Oxygen delivery is a complicated thing and I think taking a mechanical approach when mechanics may not be the actual problem is likely misguided.

</comment></comment></comment></comment></comment></comment><comment><USER9> What I have read is that unlike typical ARDS cases where the lungs are failing, full of fluid and the patient can't breathe, that Covid 19 patients can often breathe fine, and don't have a lot of obvious lung damage, but their oxygen levels are dropping to dangerous levels, perhaps because of something that covid 19 is doing to blood vessels in the lungs that prevents oxygen uptake. One doctor likened it to high altitude sickness.

What they are suggesting is to put patients on oxygen or low pressure ventilation first.

<comment><USER10> Can you get me a source on that phenomenon please. I'm working on an unrelated project with the inventor of a drug that can help with this.

<comment><USER11> The doctor who has been most in the news about this in the US is Cameron Kyle- Sidell

[https://twitter.com/cameronks](https://twitter.com/cameronks)

[https://www.youtube.com/channel/UCNgMagm3-NwKdfGiXp8WILg](https://www.youtube.com/channel/UCNgMagm3-NwKdfGiXp8WILg)

[https://thinkingcriticalcare.com/2020/03/28/covid- clinical-d...](https://thinkingcriticalcare.com/2020/03/28/covid-clinical- discussion-w-cameron-kyle-sidell-nyc-ed-icu-doc-in-the-trenches-foamed/)

[https://www.medscape.com/viewarticle/928156](https://www.medscape.com/viewarticle/928156)

* * *

Here's a preprint from Italian doctors Gattinoni & al. in the journal _Intensive Care Medicine_ [https://www.esicm.org/wp- content/uploads/2020/04/684_author-...](https://www.esicm.org/wp- content/uploads/2020/04/684_author-proof.pdf)

</comment></comment></comment><comment><USER12> This has been known by the physicians actively treating COVID-19 for several days, and was incorporated into the treatment protocol published by Eastern Virginia Medical School.

[https://www.evms.edu/covid-19/medical_information_resources/...](https://www.evms.edu/covid-19/medical_information_resources/#d.en.140202)

</comment><comment><USER13> [https://www.statnews.com/2020/04/08/doctors-say- ventilators-...](https://www.statnews.com/2020/04/08/doctors-say-ventilators- overused-for-covid-19/)

^ This article from a few days ago is a more detailed look at what is possibly going on here.

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

</comment><comment><USER14> Do we know if US doctors are making much use of ECMO (machines that put oxygen in blood directly) for COVID patients? I read that the FDA just approved emergency usage a few days ago, but keep seeing it mentioned in reports from China. If ventilators alone aren't effective, maybe ECMO machines are the piece we really need to be ramping up production on.

<comment><USER15> This isn't easy - ECMO is in (very) short supply, Australia during swine flu had somewhere around 50 nationally (cf 2000 vents) + you need a cardiothoracic surgeon to put it in + nursing care is even more intense than for ventilator care. You can't easily scale this and it isn't without significant downside as well

</comment></comment><comment><USER16> I'm not a physician and I know little about this stuff, but I wondered if itisn't possible to build a machine that oxygenates people's blood outside of the lungs, like a dialysis of sorts?

It sounds like forcing air down people's already damaged lungs is what's so dangerous here.

<comment><USER17> ECMO machines can do this [https://en.wikipedia.org/wiki/Extracorporeal_membrane_oxygen...](https://en.wikipedia.org/wiki/Extracorporeal_membrane_oxygenation)

<comment><USER4> Apparently UK has 15 machines that can do this, for a population of 80M.

<comment><USER18> Population of the UK is less than 70M.

<comment><USER4> Latest figures I saw said 67M, which I misremembered as 77M, and rounded. Thanks for the correction.

</comment></comment></comment></comment></comment><comment><USER19> Wow. Detail-light posts like this give readers just enough speculation and doubt to make them dangerous to themselves (or their loved ones).

If your doctors are telling you you need to high pressure O2 or ventilation, your sats are in the toilet. You simply can't survive without a breathing aid. High pressure vents _can_ exacerbate damaged lung tissue but it's [probably, citation needed] better than just suffocating.

And no, ECMO has a pile of its own issues, well beside being almost mythically rare.

Listen to your doctors. They're doing their very best.

<comment><USER20> Well, yes, but also do check the statistics. If you see something really wrong in the statistics, look at it twice. Medical systems are known to produce weird results. To give an example, opioid epidemic is killing around 45 thousand Americans per year (ref). And this one was _created_ by the medical system (pharma influencing decisions made by doctors).

(ref): Nature, Vol 580, 9 April 2020, page 181, graphics.

<comment><USER19> I think that's a pretty harmful comparison in itself. Over-prescription has certainly been a factor, but nothing compared to dirt cheap heroin and illicit fentanyl.

I'm not saying that there's not room for manoeuvre here. Positioning and whatever emergent therapies appear will certainly be factored in by doctors (who are desperate for _something_ ), but by the time you need ventilation, you are very, _very_ ill.

You simply wouldn't survive without it.

<comment><USER20> I would refer you to this recent review in the Nature - "Tracing the US opioid crisis to its roots" \- [https://www.nature.com/articles/d41586-019-02686-2](https://www.nature.com/articles/d41586-019-02686-2) And outlook [https://www.nature.com/collections/wcbsjcwqng](https://www.nature.com/collections/wcbsjcwqng)

At least to me, it seems like that crisis was created, primarily because of misalignment of the system towards maximizing executive compensation instead of public health.

<comment><USER19> No. I mean that on many levels —including your reading of that article— but I'm not going to engage there.

You are once again pointing at opioids a some unassailable argument that doctors are only in it for the cash and cannot be trusted. If anything, doctors are trying to keep people off ventilation. They have to, they have dramatically more C19 patients than vents. Here, patients over 60 with co- mobidities are actively disqualified.

Beside this global conspiracy amongst physicians to over-prescribe ventilation, you're also suggesting that neither they nor the _hundreds_ of public health bodies are looking at the results of their actions and adapting treatment, despite taking extreme care to collate data. Guidelines here are emergent, but you can't placebo people with _resting_ SpO2s of 80. They die.

Again, "Look, opioids!" is not an argument. It's a harmful comparison.

<comment><USER20> It is not, "Look, opioids!". It is: "Look, wrong incentives in the health-care system in the United States".

The parallel seems interesting to me, as just like with opioid epidemic, some doctors were _resisting_ in providing the painkiller therapy. While the mainstream was to use the opioid therapy.

 _The structure of the health-care system in the United States also contributed to the over-prescription of opioids. Because many doctors are in private practice, they can benefit financially by increasing the volume of patients that they see, as well as by ensuring patient satisfaction, which can incentivize the over-prescription of pain medication. Prescription opioids are also cheap in the short term. Patients' health-insurance plans often covered pain medication but not pain-management approaches such as physical therapy. "The incentives were there for people to prescribe more and more, particularly when they had already been convinced it was the right thing to do — the compassionate thing to do," Humphreys says.

This might help to explain why Canada is also experiencing an opioid crisis, with 10,337 opioid-related deaths between January 2016 and September 2018.

Most European countries, however, have so far been insulated from the epidemic. Doctors in Europe are not motivated financially to make prescriptions_. - from this article in Nature -.

And by the way, yours "nothing compared" \- this is just plain wrong. The level of the prescription-induced crisis, in numbers, was about the same as the current level. And users funneled to non-prescription since the prescription channel is now blocked.

As to the current decision-making. I'm not sure what is a right and efficient solution. Probably it is in the area of developing antivirals as fast as possible. And actively fighting the coefficient in the exponent. Like people wearing masks in Walmart. And allowing doctors to wear masks in hospitals, instead of hospital management making statements like: "THERES NO MORE WUHAN VIRUS IN THE HALLS AT THE HOSPITAL THAN WALMART". See: [https://www.nytimes.com/2020/03/31/health/hospitals- coronavi...](https://www.nytimes.com/2020/03/31/health/hospitals-coronavirus- face-masks.html)

But, putting people on ventilators seems like inefficient use of efforts. Yes, if you don't put late-stage patients on ventilators, they'd _die_. But it looks like, there is 80% chance they'd _die_ , if you'd put on ventilators. And _fewer_ people may die overall, if efforts were not spend on the whole ventilators affair. And instead something else was done.

</comment></comment></comment></comment></comment></comment><comment><USER21> I've heard it speculated that the thing to do may be to not put people on ventilators, but give them blood transfusions.

Where I heard this:

[https://science.slashdot.org/comments.pl?sid=16122794&cid=59...](https://science.slashdot.org/comments.pl?sid=16122794&cid=59921250)

[https://www.statnews.com/2020/04/08/doctors-say- ventilators-...](https://www.statnews.com/2020/04/08/doctors-say-ventilators- overused-for-covid-19/)

<comment><USER22> I only scanned and did a page search for the word "transf", but I couldn't find anything in those articles recommending transfusions.

<comment><USER23> The first link mentions transfusions, but it's really just another comment on Slashdot saying that they heard that some doctors are thinking about hemoglobin-based causes. Nothing concrete or sourced.

</comment></comment></comment><comment><USER24> ECMO machines (like heart lung except the heart) seem to give much better results. Japan used them for Diamond Princess (only 12 deaths from nearly 700 cases and many elderly) I've read ECMO only 20% die vs 45% for Ventilators - Problem is the cost $130000 vs $50,000 and hardly any hospitals have them (in the UK).

</comment><comment><USER25> How does the ventilator not just fill up with the virus over time?

<comment><USER26> exhaled air is exhausted to outdoors through filters, fresh air comes in. different tubes for different direction of air flow

<comment><USER27> Right, which is one of the differences between a ventilator and a CPAP machine. CPAPs don't have a return hose, so virus can spread from the exhaled air. Some hospitals are putting breathing masks on people just so they're not spreading virus into the hospital.

I've also ready some hospitals are using techniques were O2 levels are increased directly in the blood supply? I can't remember what that's called though.

<comment><USER28> > I've also ready some hospitals are using techniques were O2 levels are > increased directly in the blood supply?

ECMO [1], it has been used quite a bit in Italy too.

[1] [https://en.wikipedia.org/wiki/Extracorporeal_membrane_oxygen...](https://en.wikipedia.org/wiki/Extracorporeal_membrane_oxygenation)

</comment></comment></comment></comment><comment><USER29> I posted the exact same article a few days ago, 6 points in the first 30 mins and then dropped out of site.

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

Weird.</comment>


Random testing in Indiana shows Covid-19 is 6 times deadlier than flu - <AUTHOR> https://theconversation.com/random-testing-in-indiana-shows-covid-19-is-6-times-deadlier-than-flu-and-2-8-of-the-state-has-been-infected-138709 <comment><USER2> But contrast this story:

[https://www.thegatewaypundit.com/2020/07/stunning-texas- coro...](https://www.thegatewaypundit.com/2020/07/stunning-texas-coronavirus- numbers-show-covid-19-less-lethal-last-two-flu-seasons/)

"Stunning! Texas Coronavirus Numbers Show COVID-19 Less Lethal than Last Two Flu Seasons"

FTFA:

> _" The coronavirus was actually less lethal than the flu in the state! The > flu had a mortality rate of 0.03% and 0.04%. The coronavirus has a mortality > rate of 0.01% in Texas.

This won't make any headlines."_<</comment>


Prof Neil Ferguson quits government role after 'undermining' lockdown - <AUTHOR> https://www.bbc.co.uk/news/uk-politics-52553229 <comment><USER2> > But he shot to public attention as "Professor Lockdown".

It's a shame to see the BBC's lazy journalism here, the "Professor Lockdown" moniker is the invention of the Telegraph from _yesterday_</comment>


Have a can of Duh It's on me - <AUTHOR> http://devcentral.f5.com/weblogs/macvittie/archive/2009/04/16/have-a-can-of-duh-itrsquos-on-me.aspx

<comment><USER2> F5's next blog posting ought to have been an apology for getting so wrong about construction of the Starship Enterprise.</comment>


How Does Recent AI Progress Affect the Bostromian Paradigm? - <AUTHOR> http://slatestarcodex.com/2016/10/30/how-does-recent-ai-progress-affect-the-bostromian-paradigm/ <comment><USER2> The author seems to make a distinction between reinforcement learning (goal driven intelligent behavior) and human behavior. As if humans were beyond optimizing a simple reward. We're not.

I don't think human cognition is open ended, it is just maximizing a bunch of reward channels (food, shelter, sex, avoiding pain, curiosity, creativity). These reward channels are bred into, by evolution. They are what allow us to continue existing, and that is their only condition.

Even the way we can perceive time and space is very limited. Our concepts are not universal, they are just good enough for us. AIs could surpass humans by optimizing on a set of a few rewards, hopefully better chosen than those we evolved in millions of years.

</comment><comment><USER3> >I think this [AI beating humans at facial recognition] is scarier than most people give it credit for. It's no big deal when computers beat humans at chess – human brains haven't been evolving specific chess modules. But face recognition is an adaptive skill localized in a specific brain area that underwent a lot of evolutionary work, and modern AI still beats it

This could give us a new lower bound on the computation required for human- level AI. "Facial recognition," IIRC, is a well-localized cognitive function occupying some reasonably consistent fraction of a human's grey matter. The processing power required to recognize a stream of faces via ML techniques can be quantitized. Simply multiply the former ratio by the latter quantity and you have the processing power required to functionally emulate a human brain, no?

Regarding his larger points: I don't have time to track down the reference, but there's fairly consistent stories coming out about how, for any sort of classification deep net, small adversarial changes to the input can cause arbitrary mis-classifications to arbitrary confidence. So even if you give your godlike AI a paperclip-recognizing deep net, the grounding problem could still bite you; your AI may learn to take over all economic production, or it may learn that if it pokes its camera _just like this_ it suddenly looks like the universe is made of paperclips.

Which matches the human case- since, certainly, we dissipate plenty of energy towards ends orthogonal to what we're supposedly optimizing. Even to the point of, _ahem_ , directly subverting some of classifiers that are key to our reproductive cycle.</comment>


Ask HN: Why are we spending billions on Space Exploration? - <AUTHOR> ...when we're in a planetary crisis?<p>At this stage..what applicable value does it bring us? <comment><USER2> My go-to recommendation to read whenever this question comes up:

> In 1970, a Zambia-based nun named Sister Mary Jucunda wrote to Dr. Ernst > Stuhlinger, then-associate director of science at NASA's Marshall Space > Flight Center, in response to his ongoing research into a piloted mission to > Mars. Specifically, she asked how he could suggest spending billions of > dollars on such a project at a time when so many children were starving on > Earth. [...]

[http://www.lettersofnote.com/2012/08/why-explore- space.html](http://www.lettersofnote.com/2012/08/why-explore-space.html)

</comment><comment><USER3> Why are we spending billions to watch a handful of people kick/throw a ball around a field?

I'm not saying we shouldn't think about cost/benefit ratio in big science, but let's not be hypocrites and put all our society's big money projects on the table.

</comment><comment><USER4> Because pushing forward and outward, both geographically and socially, are what makes us human.

</comment><comment><USER5> For exactly that reason. The only viable long term climate change solution is to move energy intensive mining and manufacturing off planet. If your problem is with human space exploration, I agree that's a waste of time, best left to billionaires. However robotic is not.

</comment><comment><USER6> Because that's what people with money want to invest in, because there is a potential market for space travel/tourism/mining, and because money isn't always allocated such that the benefit to humanity is maximized.

Note that I personally am fine with billions going into space exploration, and I think it can be worked on in tandem with climate issues. Just trying to address what seems to be the crux of the issue - you're saying "shouldn't we..." whereas the world is saying "this is how things are."

</comment><comment><USER7> humanity ultimate goal is to travel to other solar systems. if we don't do space exploration to expand our knowledge and be content walking around on a thin crust of rock. its like frogs in a well there's a bulldozer coming and you can't see it or even aware of it.

</comment><comment><USER8> Consider the recent Chinese far-side-of-the-moon probe: it _forced_ them (cough, cough) to put a communications satellite around the moon, conveniently out of range for any US space-based anti-satellite weaponry which could disable a satellite in earth orbit.

</comment><comment><USER9> What crisis do you think we're in? The one people on tv convinced you to panic over for their own benefit? We waste trillions on dumb planet side stuff, a few billion on space exploration is nothing.

</comment><comment><USER10> In this context, I like to think of the Kardashev scale. Humans should be at 0.73, maybe less.

Our natural resources are limited, our consumption and development are endless...

<comment><USER11> Where does your "should" come from? To my understanding, that's very close to the current level[1]. So are you saying "here but no further" (and if so, why here rather that, say, 1980 levels?). What would be your preconditions for significantly higher energy usage?

[1] - [https://en.m.wikipedia.org/wiki/Kardashev_scale](https://en.m.wikipedia.org/wiki/Kardashev_scale)

</comment></comment><comment> tony-allan Because we are human and curious.

</comment><comment><USER12> Planetary crisis?</comment>


WebWormHole: Send files quickly using WebRTC - <AUTHOR> https://webwormhole.io/ <comment> Sean-Der This is fantastic! Really nice work :)

The nice thing about WebRTC is this works (pretty much) everywhere! Someone could throw up Python/Android/iOS/Go/Web/C++ Clients really easily. That is really exciting.

Also just a HUGE fan of NAT Traversal/P2P in general. The less dependence we can have on others for sharing our data the better.

<comment><USER2> > The nice thing about WebRTC is this works (pretty much) everywhere! Someone > could throw up Python/Android/iOS/Go/Web/C++ Clients really easily.

Huh, what did I miss?! How do you make a WebRTC-client in language-of-your- choice? The last time I checked for C++ I only found answers like "look at the chrome source". lol.

<comment> Sean-Der Things have changed (alot!) the last two years have seen a couple implementations come around.

* [https://github.com/pion/webrtc](https://github.com/pion/webrtc)

* [https://github.com/aiortc/aiortc](https://github.com/aiortc/aiortc)

* [https://gstreamer.freedesktop.org/documentation/webrtc/index...](https://gstreamer.freedesktop.org/documentation/webrtc/index.html)

* [https://github.com/rawrtc/rawrtc](https://github.com/rawrtc/rawrtc)

<comment><USER3> Ooh, these are very cool. Do you know what sorts of things people are building with them?

<comment><USER4> This is only a personal anecdote, I had two occasions to use it at work:

\- I wanted to setup ssh access to some machines in a complicated network in a shared office, over which I had no control. After trying various NAT traversal hacks, I realized the potential of WebRTC to do all that for me, and setup ssh over webrtc. I made it from a bunch of hacks, but some people seem to have built that properly now, ex: [https://github.com/mxseba/rtc- ssh](https://github.com/mxseba/rtc-ssh)

\- I built some tech demos that needed to run on multiple OS and use the webcam. Initially I relied on opencv, but I needed to dockerize things and outside of Linux the webcam device passthrough is a pain. Instead I made a simple webpage fetching the video feed and talking to a python backend (using this great library: [https://github.com/aiortc/aiortc](https://github.com/aiortc/aiortc)), and it worked nicely. It also has been surprisingly easy to setup.

</comment></comment></comment></comment></comment><comment><USER5> What makes this really interesting to me is that it uses a golang implementation of WebRTC on the server side. When I was playing with multiplayer networking in the browser ~1.5yr ago, there really didn't seem to be a lot of options for WebRTC servers. Great to see some progress here.

Also, it sounds like it's using streaming rather than loading the entire file, which would give it an advantage over [https://file.pizza](https://file.pizza), which is what I usually recommend for p2p transfers.

If you like these types of tools, but don't require p2p (or can't use it because of NAT), I'll also plug my own [https://patchbay.pub](https://patchbay.pub), which will let you do streamed transfers with nothing but curl.

<comment><USER6> I stumbled upon patchbay the other day and I thought it was really cool, now I just need to find a good excuse to toy with it.

Just a heads up: the homepage still references the old index.html which you say in your blog article might have the wrong paths. Indeed looking at the docs all paths require a mode

<comment><USER5> Do you have an example of where it's incorrect? I'm pretty sure it's the right index.html. Note that it's still very similar to the blog post.

<comment><USER6> There is no mention of the req/res flow (someone could POST to /req, expecting it to be a MPMC queue)

In the docs it seems MPMC queues should start with /queue, but it turns out that anything that's not /pubsub or /req,/res just works, so is it really needed ?

Also the doc doesn't specify that pb-method is available to get the requester's method in the request/respond protocol

Anyway those are just minor things, thanks for the service it really rocks

<comment><USER5> Thanks! Several good points.

> In the docs it seems MPMC queues should start with /queue, but it turns out > that anything that's not /pubsub or /req,/res just works, so is it really > needed

/req/res was developed after the initial launch, since I had the idea later. It represents the most general form of the entire concept, since you can tunnel essentially any HTTP traffic through it. The plan is to change the default protocol to /req, which is why I changed the examples to /queue, to make the transition smoother. Lately I've been going back and forth on whether it's a good idea to make the switch, since most of the time /queue is what I want, and using /req/res involves complexity that isn't really in the spirit of patchbay. But just today I decided another project I'm working on will need the full HTTP capabilities, so I think I'm going to pull the trigger on it in the next couple weeks. There are several independent implementations of the /queue-style approach, so I think it's ok for patchbay.pub to take a slightly more feature-full approach.

Thoughts?

<comment><USER6> You're right that MPMC queue is a specific case of req/res where responder doesn't switch to a channel for replying so it does make sense to switch to it; nothing will be lost. You could even use the pubsub protocol by putting a query param (pubsub=true), instead of reserving a whole path prefix just for this protocol. I'd still keep pubsub because it's still useful in the general case, especially since your initial itch to scratch, poor man's notification, is done in pubsub mode

(Side question: why use pubsub for notification ? You wouldn't want to lose the notification if no one is listening on the consumer side... but you also want to possibly send it to multiple consumers at the same time. Maybe there's space for something a bit different, like "As a producer I want to block until at least one consumer is here; if there are multpile, send to all of them")

The only concern I'd have is that in the general case of req/res there's no "easy" cli tool to parse the request headers and a potentially streaming body, so it's harder to do a 1-liner (or a 5-liner) to process the input.

<comment><USER5> Thanks for the feedback

> You're right that MPMC queue is a specific case of req/res where responder > doesn't switch to a channel for replying so it does make sense to switch to > it; nothing will be lost

Not quite, unfortunately. The current implementation of req/res assumes the first path segment is the responder "id", and everything after that is the path to the file on that responder. So responders will shadow things and cause potentially unintuitive behavior for users who just want an MPMC. There may be ways to mitigate that though. I haven't though it through.

> You could even use the pubsub protocol by putting a query param > (pubsub=true), instead of reserving a whole path prefix just for this > protocol

That's actually exactly how it worked originally. Once I started adding more protocols, I switched to the /proto/ api since it makes it clear right at the beginning of the URL how it works, whereas query params are at the end of a potentially long path. Still not 100% sure about this though. Been thinking about switching to a pb-proto={res,queue,pubsub}.

> (Side question: why use pubsub for notification ? You wouldn't want to lose > the notification if no one is listening on the consumer side... but you also > want to possibly send it to multiple consumers at the same time.

In practice I actually haven't been using pubsub for notifications. MPMC is almost always what I need. Since the chat example is mostly a toy, I'm really not sure pubsub is earning it's complexity cost.

I suppose pubsub is still useful for streams of events (like webhooks) where it's not necessarily a disaster if the event gets dropped, but you definitely don't want the sender piling up blocked requests.

> Maybe there's space for something a bit different, like "As a producer I > want to block until at least one consumer is here; if there are multpile, > send to all of them")

That's an interesting idea. You'd still need a separate protocol for it, because you have to read the entire message into memory in order to send to multiple requesters, but it could be useful for sure.

> The only concern I'd have is that in the general case of req/res there's no > "easy" cli tool to parse the request headers and a potentially streaming > body, so it's harder to do a 1-liner (or a 5-liner) to process the input.

Yes, it pretty much requires a real script. I'm tempted to pull it out into a completely separate thing, but it turned out that MPMC is almost completely a subset of req/res, so it felt like a lot of duplication.

<comment><USER6> Thanks for taking the time to reply!

> I suppose pubsub is still useful for streams of events (like webhooks) where > it's not necessarily a disaster if the event gets dropped, but you > definitely don't want the sender piling up blocked requests.

Yeah, it seems to me the semantics here is not so much pubsub but rather "at- most-once". I think that kind of things makes sense for frequent updates where you mostly care about the most recent value, so things like pings from a temp sensor or stuff like that

> You'd still need a separate protocol for it, because you have to read the > entire message into memory in order to send to multiple requesters

Actually, related to the previous point, that's an at-least-once thing: if there is 1 (or multiple) consumers, send to all of them; if there is none, wait for the first one, and once the first one is connected send to it. There wouldn't be a need for much serializing in memory

Regarding req/res: it kinda feels like there's some overlap with the world of CGI, it's basically the same issue; maybe it's possible to re-use or extract some of the existing libraries ?

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> It's 2020, and people are elated to discover that it is possible to transfer a file directly between two systems on the Internet.

True story: I was giving a guest lecture on network virtualization at UCI and demoing ZeroTier. One student came up afterwords and asked me how traffic could flow between systems without "a cloud." Evidently the idea that data could just go directly from point A to point B was utterly, completely foreign to the point that they weren't aware that the Internet could be used this way.

<comment><USER8> I blame NAT.

Treating end-users like second-class netizen consumers trained people to "need" the cloud to do perfectly normal peer-to-peer things.

<comment><USER9> I'm not sure I would blame NAT. You can easily disable that.

What you can't disable is the asymmetry of consumer internet connections (upload << download) and the fact that most consumer devices are not running (or connected to the internet) 24/7.

<comment><USER10> > I'm not sure I would blame NAT. You can easily disable that

This is predominately USA mentality. In the rest of the world widespread use of carrier-grade NAT predates mobile networks by decades.

Many residential ISPs don't hand out public IPv4 addresses or require extra payment for them. Some of those ISPs got their first IP block (or even single address!) from someone and never bothered with whole "ask IANA for addresses" thing. It is multi-layer NAT all the way down.

<comment><USER9> Hmmm I suppose my view is strongly biased then. I've lived outside the US most of my life and have always had my own IPv4 address at home.

And sure, as IPv4 addresses are now exhausted, carrier-grade NAT is getting increasingly common. But I would have said the issue started way before that.

> In the rest of the world widespread use of carrier-grade NAT predates mobile > networks by decades. […] Some of those ISPs got their first IP block (or > even single address!) from someone and never bothered with whole "ask IANA > for addresses" thing.

Do you happen to have a source here? Because carrier-grade NAT predating mobile networks by decades is news to me.

</comment></comment></comment></comment></comment><comment><USER11> WebRTC is problematic if you're using a VPN service, with the VPN client running on the local machine. Quoting BrowserLeaks:[0]

> IP address detection using JavaScript. Starting work on WebRTC API, the web > browser communicates with the STUN server and shares information about local > and public IP addresses even if you are behind NAT and use a VPN or Proxy. > This tool will show if your real public IP is leaking out.

However, if you run the VPN client on the router, there's no problem, because the local machine has no public IP address, just LAN and VPN interface addresses.

0) [https://browserleaks.com/](https://browserleaks.com/)

<comment> Sean-Der Local IP leakage has been fixed! WebRTC uses mDNS candidates now, so there is nothing that shows your 'local IP' anymore.

For 'Public IP' that sounds like a VPN configuration issue. Your WebRTC Agent should be routing the STUN requests through the VPN (and getting that public IP). But this effects all software/protocols, so don't think it is fair to ding WebRTC for this!

[0] [https://bloggeek.me/psa-mdns-and-local-ice-candidates-are- co...](https://bloggeek.me/psa-mdns-and-local-ice-candidates-are-coming/)

<comment><USER11> OK. But the thing to do is test, using [https://browserleaks.com/](https://browserleaks.com/) or whatever.

</comment></comment></comment><comment><USER12> i like the approach of encrypting locally, uploading to the cloud and sending the decryption key via a link.

that's the way firefox send does it

[https://send.firefox.com](https://send.firefox.com)

it's open source so you could run an instance of it if you wanted to.

<comment><USER13> This is a very different (and equally valid) use case. It does mean somebody (in this case Mozilla) has to spend money on storage to deliver the service.

Wormhole-style systems don't need to store the data because it's flowing from the sender to the recipient live.

</comment></comment><comment><USER14> I love that it uses chunks and streaming to transfer the file. So many of these just try and load the entire file at once so you can't transfer much.

<comment><USER5> Haven't looked through the code yet. How does it handle stream backpressure with WebRTC?

<comment><USER15> WebRTC has built in mechanisms to check how many bytes have been buffered (RTCDataChannel.bufferedAmount), and you can register a low water mark (RTCDataChannel.bufferedamountlow) that fires an event handle when the buffered amount goes below that threshold (RTCDataChannel.onbufferedamountlow) where you can resume sending.

WebRTC is sort of a combination of low-level and high-level APIs, but the ability to control backpressure ends up being very useful.

<comment><USER5> Thanks. Does bufferedAmount work better than it does on WebSockets[0], because I haven't had much luck with that.

[0]: [https://github.com/websockets/ws/issues/492](https://github.com/websockets/ws/issues/492)

</comment></comment></comment></comment><comment><USER16> This is neat, but it seems like unlike with "real" Magic Wormhole, the server here can capture files by surreptitiously manipulating JS.

<comment><USER17> Absolutely true for the web interface if loaded from [https://webwormhole.io](https://webwormhole.io). I'm open for any more suggestions here! [https://github.com/saljam/webwormhole/issues/13](https://github.com/saljam/webwormhole/issues/13)

Someone mentioned the command line client. One can also build and serve the html/js/wasm from anywhere and it should still work, even with the same signalling server. It has pretty lax CORS for this reason.

<comment><USER18> IPFS would be a solution here, since the files are content-addressed. You'd have to fetch them locally, since a gateway could still manipulate the content, but it's easier to find a gateway you trust.

<comment><USER5> Forgive my ignorance, but how would an IPFS gateway interfere here? If you have the hash of the js file you need, you can verify the gateway gives you the right one, correct? Or are you referring to the case where IPNS is used so the actually content at the address can change?

<comment><USER18> If you go to the hassle of verifying the hash, yes, that's fine. I was talking about just loading and using the page, which can be tampered with (because the hash checking happens on the gateway).

</comment></comment></comment></comment></comment><comment><USER19> Interesting note that this guy's choice of PAKE, Cpace, was chosen about a week ago by the CFRG for use in IETF protocols. Cpace is new, but that's a big vote of confidence for it.

<comment><USER20> Nice spot, here's a link to the IETF draft spec for CPace mentioned.

[https://tools.ietf.org/id/draft-haase- cpace-01.html](https://tools.ietf.org/id/draft-haase-cpace-01.html)

IETF post announcing the chosen candidates

[https://mailarchive.ietf.org/arch/msg/cfrg/LKbwodpa5yXo6VuND...](https://mailarchive.ietf.org/arch/msg/cfrg/LKbwodpa5yXo6VuNDU66vt_Aca8/)

Candidate selection process

[https://github.com/cfrg/pake-selection](https://github.com/cfrg/pake- selection)

<comment><USER21> Implementation using libsodium [https://github.com/jedisct1/cpace](https://github.com/jedisct1/cpace)

<comment><USER19> Hey, the libsodium guy! Thanks a million for your work on that; I've really enjoyed using it. I actually ran across this the day after the CFRG meeting and was happy to see a respected implementer had already written a C version. Would you say it's mature enough to use yet?

</comment></comment></comment></comment><comment><USER22> Nice, I made one of these a few years ago [http://passfiles.com](http://passfiles.com)

Yours is a bit more polished than mine though. I didn't use QR codes either just good old fashioned urls.

<comment><USER23> There seem to be hundreds of these sites. They all do the same thing. Off the top of my head I can remember [https://file.pizza](https://file.pizza)

<comment><USER6> file.pizza and friends work on webtorrent, which doesn't do end-to-end encryption

EDIT: just learned that WebRTC actually does end-to-end encryption by default, so I'm wrong

</comment></comment></comment><comment><USER24> I'm not as familiar with WebRTCPeerConnection as I'd like to be. Does it use the STUN server to get it's real IP and after that we can establish a completely peer to peer connection and now the webserver has no interaction with WebRTCPeer stream?

If any of that is wrong, please enlighten me, I didn't realize peer to peer connections could be as simple as this.

<comment><USER25> that's right. when establishing connection each side enumerates a bunch of "ice candidates". which is everything from your local LAN to outside NAT ip discovered via TURN servers (some restrictions due to privacy reasons).

once the ice candidates are exchanged each side starts spraying the other with STUN messages to addresses ranked by "candidate pairs" that potentially could make a connection until one is found.

this is simplified. there are mechanics like "trickle ice" and fallbacks to proxying via TURN servers.

then there's the alleged idea this is all part of a webrtc "standard", which is laughable cause no browser follows the wild collection of RFCs that supposedly makes up the standard and the only reason any of it works is because there's a non written down general consensus of what's required.

</comment></comment><comment><USER26> Neat, looks like a different backend and frontend implementation of the very similiar magic-wormhole[0]

Now I wonder if anyone has made a web frontend of the original.

[0] [https://github.com/warner/magic- wormhole](https://github.com/warner/magic-wormhole)

<comment><USER27> I made a minimal web API for some experimental stuff I was trying:

[https://github.com/jimpick/magic-wormhole- service](https://github.com/jimpick/magic-wormhole-service)

Not really hardened for production usage.

</comment></comment><comment><USER28> > _...it uses WebRTC to make the direct peer connections. This allows us to > make use of WebRTC 's NAT traversal tricks, as well as the fact that it can > be used in browsers._

But I'm assuming it can't break through all NAT routers, right? A good portion of people still won't be able to use this?

A service usable by everyone would require STUN and TURN servers to be set up, no?

Or has WebRTC made advances I'm unaware of?

<comment> Sean-Der I don't have any hard numbers, but I have heard ~85% ICE success rate with out TURN. But you are right, in some cases WebRTC will fail without TURN. Just no one wants to pay to run those servers :)

I would love to see TCP hole punching in ICE, but it sounds like it is super hard to get right.

Consumer internet does a lot better, lots of those failures come from Government/Military/Medical I bet.

<comment><USER25> how would TCP hole punching even work? TCP has state and a handshake. UDP doesn't.

<comment><USER29> UPnP can be used to setup port forwarding if the NAT gateway is configured correctly.

<comment><USER25> sure. I think it's a bit different though. upnp is like some remote control of your fw.

</comment></comment></comment></comment></comment><comment><USER30> I'm curious how this compares with the DAT project [https://docs.dat.foundation/docs/intro](https://docs.dat.foundation/docs/intro) I've had issues using that with networks throwing NAT errors, but need a secure P2P file solution for large data transfers. Wondering if this wil do the trick.

<comment><USER30> So, I tested this but it was blocked by our firewall.

</comment></comment><comment><USER31> Very nice! I'm assuming this is based on the wonderful "Magic Wormhole"? Is it actually using that program under the hood?

<comment><USER32> No, its doesn't use any of the same protocols that Magic Wormhole uses.

</comment></comment><comment><USER33> Why not generate the QR code client-side?

Folks that care about P2P want to see zero HTTP requests to your server after loading the basic resources.

<comment><USER17> The QR code is generated client side.

<comment><USER33> Why do I see a network transaction for it?

<comment><USER34> Chrome shows "blob:" URLs as network transactions, but they're not.

</comment></comment></comment></comment><comment><USER35> This makes me ridiculously happy. Magic wormhole is one of those tools that works so well that you want to use it even when you don't need to. So happy to see something like this so I don't have to install wormhole on my wife or my son's computers to send them stuff.

</comment><comment><USER36> Anyone else get something like this? [https://github.com/saljam/webwormhole/issues/27](https://github.com/saljam/webwormhole/issues/27) I was running `ww send ~/Downloads/myfile.bin` and my friend went to recv it from browser.

</comment><comment><USER37> This is nice and all but is it possible to make a few kilobytes single-file static HTML instead of 2.7MB [https://webwormhole.io/util.wasm](https://webwormhole.io/util.wasm) ?

I want to host it on my router.

</comment><comment><USER38> It is annoying that it removes the ID from the URL. It would be nice to bookmark my own code and I can just open it on multiple devices whenever I want to transfer a file. However I need to do a bit of gymnastics with the QR code to grab the URL.

<comment><USER17> Codes are intentionally single use, to limit the bruteforce vector. And only two peers can connect any given time currently. It would be interesting to figure out how to make it work with more than 2 peers!

</comment></comment><comment><USER39> I've just used it. It's absolutely fantastic. Saved me from sending a 500MB file through a sharing service or having to create S3 temporary buckets or whatever other complicated method. Simple, works, perfect. Thank you!

</comment><comment><USER40> file.pizza is another similar project

<comment><USER41> I once tried sending a 3 GB file through it, then kept wondering why my entire system became so sluggish. Turns out it loads the entire thing into RAM... The file didn't go through either.

I hope this one isn't like that.

<comment> h-cobordism Does HTML5 even let you read a file without loading it all into memory?

Edit: Looks like this is it. [https://developer.mozilla.org/en- US/docs/Web/API/ReadableStr...](https://developer.mozilla.org/en- US/docs/Web/API/ReadableStream)

Edit 2: And yes, this is using it. [https://github.com/saljam/webwormhole/blob/master/web/main.j...](https://github.com/saljam/webwormhole/blob/master/web/main.js#L96-L105)

<comment><USER5> You can also do this manually (and on older browsers) by creating a FileReader and only loading new chunks after old ones have been transferred. With async APIs like WebSockets and WebRTC this typically requires implementing your own backpressure to avoid blowing up browser memory. See for example how omnistreams does it[0].

[0]: [https://github.com/omnistreams/omnistreams-filereader- js/blo...](https://github.com/omnistreams/omnistreams-filereader- js/blob/master/index.mjs)

</comment></comment></comment></comment><comment><USER42> Is there a size limit of on the files? This was the issue with all WebRTC file sending websites I saw so far.

</comment><comment><USER43> We need a distributed db based on webrtc

<comment><USER44> Just curious, why do we need this?

<comment><USER43> I would love to see zero barrier entry to creating a website (like twitter / name your favorite site that is not a static site) that can run on peoples laptops just by visiting a static javascript/html/css webpage. For this, you would need some decentralized backend storage solution akin to a sql or nosql database.

IPFS is not a database, perhaps one could be built on top but then who pins the data and who runs the gateway? IPFS gateways are particularly confounding at this juncture. Until IPFS gets native browser support for pinning and gateways it cannot be the storage layer for a decentralized database.

This kind of technology could help people take back the internet (imo) and webrtc goes a long way toward that goal. Even webrtc doesn't have the full promise of what I am suggesting however, it still requires a server that knows the IP of the other party so that you can directly connect (discovery). This would also need to be decentralized (somehow) perhaps only the discovery of peers would be done over a bootstrapped p2p DHT or something equivalent.

</comment></comment></comment><comment><USER45> Who pays for the stun and turn servers?

<comment><USER46> Turn servers are expensive but there are plenty of free SatUN servers. For example Google offers free stun servers.

<comment><USER45> Has the pandemic made ipv6 more popular somehow?

<comment><USER13> Of course. IPv6 is much more widely deployed to home networks, whereas businesses tend to go out of their way to disable it. So when people are at home all over the world, whether that's the Christmas period or this present crisis, it bumps up IPv6 numbers slightly.

</comment></comment></comment></comment><comment><USER47> Seems to work well sending images from my phone, but please let me select multiple at one time.

</comment><comment><USER48> How secure is this?

<comment><USER49> From the github repo (original caps):

THIS PROJECT IS STILL IN EARLY DEVELOPMENT, USES EXPERIMENTAL CRYPTOGRAPHIC LIBRARIES, AND HAS NOT HAD ANY KIND OF SECURITY OR CRYPTOGRAPHY REVIEWS. IT MIGHT BE BROKEN AND UNSAFE.

<comment><USER48> I'll rephrase my question - how secure is this attempting to be?

<comment><USER13> Conceptually it's the same design as Magic Wormhole though all the technologies are different.

It's just a PAKE then you do a file transfer encrypted with the key you agreed using the PAKE.

PAKEs are very human friendly, they leverage a relatively weak secret (like "Monopoly Vegetable") that humans can deal with, to agree a good quality secret (like an effectively random 128-bit AES key) in such a way that both parties find out if the other party doesn't know the weak secret.

Because humans are bored easily you can use rather weak secrets safely - it's a natural rate limit. An adversary who guesses almost right "Cluedo Animal?" only gets told they're wrong, and after maybe two or three more attempts the legitimate parties are annoyed and refuse to keep trying so their adversary is foiled.

Machines wouldn't naturally use something like this because if a machine has a secure channel to another machine it can just move the 128-bit AES key, not waste time with some weaker human-memorable secret.

This technology won't hide the IP addresses of those communicating

A passive on-path adversary learns the size (perhaps not exactly but at least close) of the file transferred.

And of course an active adversary can prevent the file transfer by spamming the service with nonsense.

</comment></comment></comment></comment><comment><USER50> Come on it didn't work with a 5.5GB file :P

<comment><USER17> The command line version shouldn't have any trouble with large files. There's [https://github.com/saljam/webwormhole/issues/4](https://github.com/saljam/webwormhole/issues/4) to fix the web version. :)

<comment><USER50> ok will give it a try :)

</comment></comment></comment><comment><USER51> it happily loops forever tranferring an empty file :D

</comment><comment><USER52> consuming enormous cpu resources</comment>


Oliver Sacks on learning he has terminal cancer - <AUTHOR> http://www.nytimes.com/2015/02/19/opinion/oliver-sacks-on-learning-he-has-terminal-cancer.html <comment><USER3> Many years ago, as a young undergrad, I ambushed Oliver Sacks right after he finished addressing a Music Therapy conference. I asked if I could run an idea by him, he said we could talk while he walked to his car. I explained my hypothesis of a potential cause of neurodegenerative diseases. He listened patiently then said "I have similar thoughts, the challenge is proving it". Then, just before stepping into his car, he said "If you are right, and can prove it, you would win the Nobel Prize. Good luck, young man." I doubt he remembers this conversation, but for me it was an amazing experience I will never forget. The lab I worked in wasn't equipped to study the idea, and I became the lab computer guy instead of a neuroscientist. But I am still grateful to the confidence given me in that short conversation.

<comment><USER4> I was hoping you were going to end the comment with something like "... and I am happy to say I went on to win a Nobel prize"

<comment><USER5> I wonder if HN has any Nobel lurkers.

<comment><USER6> I doubt Nobel Prize winners procrastinate on HN as much as we do. They are probably busy making things happen.

<comment><USER7> I think of Nobel Prize winners as what I will call "single function machines". That is, and this is purely speculative, they are focused on only typically one goal or area of interest maniacally.

The typical HN reader, by contrast, finds many things and almost everything and anything (as PG might say) interesting. [1]

"If you had to reduce it to a sentence, the answer might be: anything that gratifies one's intellectual curiosity. "

This is not to say that Nobel Prize winners aren't curious of course they are. But somehow I doubt they are all over the place. I find so many things interesting it's hard for me to stay focused some times with the distractions of what is available at your fingertips.

[1] [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

<comment><USER8> Not sure if I agree with this (Linus Pauling comes to mind), but speaking anecdotally, I once had breakfast with a recent winner of a MacArthur grant (the so-called Genius Grant) expecting to be the recipient of untold wisdom. Instead he gave me a blow by blow explanation of the delayed burial of William the Conqueror, his pet topic. Seemingly unconcerned that describing a dead king's corpse exploding wasn't great breakfast conversation.

<comment><USER9> Perhaps he grew up on a farm. :-D

That kind of discussion (and much worse) often occurs at the breakfast table on many farms without anyone ever batting an eye.

<comment><USER10> Typing this while scarfing down a burrito....

For example "hey, do you know what kind of animal that foot on the front steps is from? There's a blood trail behind it but the cats aren't very interested."

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> Anyone who is even remotely interested in end of life issues, and anyone who is a physician, should really read Atul Gawandes Being Mortal. Many people are unable to live their lives out the way Dr Sacks hopes to, simply because the medical establishment as is doesn't really allow for it. The best takeaway from this essay is that, in the end, you have to focus entirely on things that matter to you most. But you should also be clear on this with your treating providers - so at the end you are spending time with your loved ones, and not going in and out of the hospital.

<comment><USER12> > because the medical establishment as is doesn't really allow for it.

I have many relatives and friends in medicine. They will let you end your life the way you want to (for the most part) but you have to be firm about what you want. Doctors don't like telling people they're dying because it is a hard conversation to have. And most people, even those who are aware of the statistics, like to cling to the hope that they could be different.

<comment><USER13> Thatse why it is important to know that, statistically, hospice provides better and longer life than aggressive treatment of advanced cancer. Hospice patience enjoy more hours of non-treatment "real life" than agressive-care patients (who spend far more time in hospital beds or surgery instead of outside, with family, Etc)

</comment></comment></comment><comment><USER14> "I have been a sentient being, a thinking animal, on this beautiful planet, and that in itself has been an enormous privilege and adventure."

Beautiful.

<comment><USER15> This is one of the most honest and genuine observations I've ever heard; an observation that one can likely only fully appreciate in the face of mortality.

Beautiful, indeed.

</comment></comment><comment><USER16> Please, if anyone else reading this has the same cancer, do not listen to any medical professional saying to lay back and die. Sacks was, lucky if it can be called that, to have the less aggressive strain of Ocular Melanoma that metastasized. The most aggressive usually results in death in 18 months, but there is progress being made to extend this to 4 years. Look up Dr Sato of Thomas Jefferson. He's the expert on this cancer. Your loved ones will be extremely grateful for an extra 2 years with you, and the best treatments barely degrade the quality of your life at all.

<comment><USER17> Eeking out an extra (potential) 2 years in exchange for the mental and physical torture of chemotherapy is not worthwhile for some people, particularly the elderly.

<comment><USER16> Chemotherapy does not work on this type of cancer. The best treatments, with the exception of one semi-annual treatment, give 2 days of fatigue and that's about it. The physical torture is not there, only the mental torture of having a terminal illness. Additionally, this cancer does not cause your health to degrade until the very end.

You're right about it depending on the person though. There is just a lot of misconception about this particular cancer, which is why I commented about it.

</comment></comment></comment><comment><USER18> If you are reading that and discovering Oliver Sacks for the first time, or just haven't read any of his books, may I recommend that you get a copy of Uncle Tungsten? It's wonderful memoir of growing up in London and a history of chemistry.

<comment><USER19> May I recommend that you just read everything. Maybe I'm just a grief-stricken fan, but I'm pretty sure that Oliver Sacks hasn't written a sup-bar or un- interesting sentence in his entire life.

<comment><USER20> sub-par*? -- I find that I actually pronounce it like you spelled it somewhat often.

<comment><USER19> You have to point it out after it is too late to edit... Sigh

</comment></comment></comment></comment><comment><USER21> _I feel intensely alive, and I want and hope in the time that remains to deepen my friendships, to say farewell to those I love, to write more, to travel if I have the strength, to achieve new levels of understanding and insight...I feel a sudden clear focus and perspective. There is no time for anything inessential. I must focus on myself, my work and my friends. I shall no longer look at "NewsHour" every night. I shall no longer pay any attention to politics or arguments about global warming._

Great advice for everyone. We are all dying. The magnitude of our vectors may be different, but the direction is always the same.

</comment><comment><USER22> The first book I ever bought the woman who became my beautiful wife was Sacks's _The Man who Mistook his Wife for a Hat_. She had mentioned enjoying some Psychology studies, so it seemed relevant.

His writing then, as now, leaps off the page and dances with your mind. Sadly, we will soon lose any possible new writing, and joyously he leaves a lifetime of work as a legacy.

<comment><USER23> _The Man who Mistook his Wife for a Hat_ is such a wonderful book - perhaps my favourite. The characters and ailments of each case are fascinating, but it's Sacks' empathy and understanding that really makes the books special.

Every few pages I would stop reading, stare into space and contemplate the unusual perspective that he has elucidated. Not many books have such an effect.

If you haven't read _The Man who Mistook his Wife for a Hat_ , please add it to the top of your list.

</comment></comment><comment><USER24> I should write a note for my wife and children in case an accident happens, so I can express to them how happy a life I've had with them, even if I died before realizing my dreams.

<comment><USER25> Better yet: record a video. It will be more personal than just a note.

Also you mentioned your children being young. You may want to record videos for their various birthdays and other life events in case you are no longer alive. I know I will do this when/if I have any children.

<comment><USER26> I vaguely recall a reddit comment recommending against that. It was along the lines of: The commenter knew someone whose father had done it, and the commenter thought that it made it a lot harder for that person to move on. Every year, on their birthday, they'd receive a fresh wound from someone they never even knew.

<comment><USER27> You can't opt-in to this sort of thing, I'd rather spend the time with videos/notes and have my loved ones choose to opt-out if they had enough.

What you say does have merit though - I would make it very clear that they would be under no obligation to "reopen the wounds", as it were.

<comment><USER28> Is it really a choice though? I imagine most people would feel a fairly strong obligation to watch the video if they were told it was recorded as, say, a birthday present for them. The temptation would be very strong at least, and difficult for many to resist. I suppose after a few miserable experiences with it, some might be able to put the box of tapes away forever - but then they'd probably always carry some guilt.

I think it's better to do what one of my best friends (inadvertently) did when they died young - leave a good legacy of mementos for their loved ones. I, for my part, have a collection of musical recordings we made together that I can pull out when I feel like it. It's incredibly emotionally difficult to listen to (especially the parts where the tape was running between songs) but it helps at times. His girlfriend of the time has a lot of his writings/journals she can read to remember his thoughts on life or incidents that happened.

If you know ahead of time, record some memoirs and thoughts. Perhaps build something for them. Give a general message to your loved ones that you had a happy life, etc - whatever seems suitable for the situation and people involved.

...but the idea of recording "A message for my daughter on her 6th birthday from beyond the grave" is incredibly macabre to me and I personally would not want that.

There's much risk involved as well for the tiny little "cuteness" of the fact that the videos were recorded for specific life events. I for one wouldn't want to listen to a deceased parent go on about how proud they were I found a husband on my wedding day to my new wife for example. Or have to spend my whole life staring at a tape marked "for your wedding" and never watching it.

<comment><USER29> > There's much risk involved as well for the tiny little "cuteness" of the > fact that the videos were recorded for specific life events. I for one > wouldn't want to listen to a deceased parent go on about how proud they were > I found a husband on my wedding day to my new wife for example. Or have to > spend my whole life staring at a tape marked "for your wedding" and never > watching it.

Expanding on this, I'm transgender, and I really wouldn't want to be repeatedly deadnamed on my birthday.

</comment></comment></comment></comment></comment></comment><comment><USER30> _I have been increasingly conscious, for the last 10 years or so, of deaths among my contemporaries._

I am about half the age of Oliver Sacks. In the past year I've gone to two funerals for people younger than I am. It's a very poignant reminder of your own mortality when people your age or younger pass away.

</comment><comment><USER31> It's a beautiful essay, and I don't mean to undermine its gravity but one thing he mentioned has me curious. How does one conclude that two tumors are related? Might it be that the cancer that metastasized in his liver is independent of that that was in his eye?

He _is_ a neurologist, I am not intending to challenge, just curious and I know there are people here that know much more than I do.

<comment><USER32> I'm guessing they did a biopsy of the tumor in the liver and found it was ocular melanoma. Elementary, my dear Watson.

<comment><USER31> That was my first post here, I want to watch my step.

Is an "ocular melanoma" any tumor discovered in the eye? Or is it mutated eye tissue that was subsequently discovered in his liver? Which would indeed be pretty definitive.

I do appreciate your help.

<comment><USER33> Melanoma in the eye is most commonly of a type called uveal melanoma. Ocular melanoma would be any melanoma in the eye, including the more common skin types (e.g. nodular, or superficial spreading, which is the most common subtype) which metastasized to the eye (very rare). Uveal melanoma confounds most of the effective melanoma treatments to date, even the most current and exciting treatments that have come on the market in the last few years. The reason (rather, _one_ reason) is that it shares few of the same genetic targets that the more common subtypes have.

A primary tumor which metastasizes elsewhere in the body has characteristics of the primary tumor, including genetic markers, which is what allows a pathologist to determine a likely origin.

</comment></comment></comment></comment><comment><USER34> Absolute poetry. I hope I face life with that kind of love, dignity, and open embrace when I'm in my final years.

<comment><USER35> Why not now?

</comment></comment><comment><USER36> This article reminds me of an incredibly beautiful one by Christopher Hitchens called "Unspoken Truths"

[http://www.vanityfair.com/news/2011/06/christopher- hitchens-...](http://www.vanityfair.com/news/2011/06/christopher-hitchens- unspoken-truths-201106)

</comment><comment><USER37> This seems like a perfect opportunity to share some more reflections on death from those who are often closest to it, doctors themselves. It appears that many (most?) doctors choose to spend their final days differently than most of their patients.

[http://www.zocalopublicsquare.org/2011/11/30/how-doctors- die...](http://www.zocalopublicsquare.org/2011/11/30/how-doctors- die/ideas/nexus/)

[http://www.nytimes.com/2013/11/20/your-money/how-doctors- die...](http://www.nytimes.com/2013/11/20/your-money/how-doctors-die.html)

</comment><comment><USER38> Anything that is related to death and uncertainty in general kindles lot of thought in one's mind. I for one, have always considered it to be a great interest to read about them. Here is a prose, written roughly 2000 years ago, dealing with death. It compares death to a sinking ship in a calm deserted ocean (contrast to violent shipwreck). Death engulfs the old ship very slowly.

Translation: The bonds of friendship are broken, friends, relatives and wive have become cold in love, or few, the cords of love are loosened. Consider the matter well. What profit is there in the attached state? Oh, it is come, the wail of distress, as when a ship founders!

See: [http://www.tamilvu.org/library/l2800/html/l2800ind.htm](http://www.tamilvu.org/library/l2800/html/l2800ind.htm) for original text.

</comment><comment><USER39> > This is not indifference but detachment — I still care deeply about the > Middle East, about global warming, about growing inequality, but these are > no longer my business; they belong to the future.

This quote sticks out to me, I feel everyone acts, by and large, like this towards these issues (or most issues) regardless of age or health. Probably my pessimistic view of the world, very interesting to read from him.

</comment><comment><USER40> What, if any, relevance to readers here place on the fact that he is 81 vs 61 or 41, to his overall generally positive state of mind?

<comment><USER41> 81 is a reasonably good innings, slightly above the average for the US, and just about the average for the UK (Sacks is British-American, I believe) - <USER2> wouldn't describe dying at that age as a particularly early or premature death.

I think it's hard to separate that intrinsic fact from his stoicism on the subject, impressive though it is. I'm sure it's not easy at any age to face your impending demise, but knowing you've led a pretty long and very successful life perhaps makes it an easier pill to swallow. And, to be a little cynical, we're reading this in a column in The Gray Lady - perhaps he's terrified on the inside but putting on a brave face for the public, either to keep up appearances or to be a source of inspiration for others.

Seems like this would be a good day to re-watch "Awakenings"...

<comment><USER42> whoever has said they've led a happy life, surely hasn't faced death yet.

</comment></comment></comment><comment><USER43> Rare time when death feels like an Ode to life.

</comment><comment><USER44> One of the great sages of the world soon to leave us. I love his writing and the different perspectives that his work has offered me. He'll be missed and as bad as this sounds I'm excited to see what writings he comes up with as he takes the final steps of his journey.

</comment><comment><USER45> Most of his reflections on how to live with terminal illness seem like a fulfilling way to embrace life at any time. Funny how our focus has to be retrained so often on the things we already know are the most important.

</comment><comment><USER46> I wish I could do anything as well as Oliver Sacks writes.

<comment><USER47> Then master yourself, you are not 81 with a terminal cancer here.

<comment><USER48> Unless you are under the age of 25(and preferably under 15) you have little hope of mastering anything.

Once you get over 40 you realize that your best hope is to work with what you have (that and your children).

You are not going to learn a new skill sufficiently well to be called master in it.

Sorry, if you start medical school at 40 you are not going to be performing brain surgery at 50.

If you did no writing from 18 until 40 you are not going to suddenly master writing.

Counterexamples welcome.

Whenever, I find someone who did something exceptional at a later life, I find someone who actually laid a solid foundation in his/her teen years.

"I want more life father"

<comment><USER49> Counterexamples:

\- Vincent Van Gogh: Never painted anything until he was 27

\- Dave McClure: Angel investor, who did not invest in anything until he was 40

\- Fauja Singh: Marathonist, who though marathons were 26km until he was 89(!)

\- Joseph Conrad: Successful writer at 39, he learned English in his twenties.

\- Stallone: If you discount soft porn star roles, he started acting in his mid twenties (ok, I concede this one, Stallone is not the ultimate actor :-P )

Naturally, these are anecdotal. But you should reconsider your hypothesis, and test for sample deviation. Naturally, most people will stick to what they are good at. Only a fraction will go out of their comfort zone. You must account for this bias.

If your hypothesis is that most people won't master anything new later in life, you are probably correct. If your hypothesis is that, out of those people who try to master something new later in life, most won't succeed, I believe you are wrong. You are falling prey to a wrong sample selection.

Out of those people who have put out the time, around me I see very good success rates. For a decent experiment, check out Ben Larcombe's table tennis expert in a year experiment: [http://www.experttabletennis.com/expert-in-a- year/](http://www.experttabletennis.com/expert-in-a-year/)

While he did actually fail his goal, a look at his end of year videos makes me label him as having mastered the art of table tennis as much as a random child would do under training (i.e. age played no role in the result).

<comment><USER48> My apologies for not being factual enough and sounding too cynical without providing more detail.

Appreciate the responses with actual counterexamples:

\- Van Gogh: was drawing as a child and continued to draw upon starting to paint. This is the solid foundation that I mentioned my OP. This is even closer than a shogi 9-dan becoming a chess master at 30.

\- Dave McClure: hit lottery(even if you argue it was skill, it has nothing to do with my hypothesis) with Paypal, after that he has bought a lot (500+) of lottery tickets. Nothing wrong with that but I do not see mastery (ala Buffett) VC is a field where it is hard to measure mastery. I suppose one could take 10 year risk adjusted returns as some measure. Again, you can start doing anything at any age, but do not expect any great results.

\- Fauja Singh: "As a young man, Fauja was an avid amateur runner, but he gave it up at the time of the 1947 India-Pakistan Partition." His records ar 90+ are fantastic for a 90 year old and probably 70-80 year olds but no more than that.

\- Joseph Conrad , writers in general are a tricky to evaluate as most of us have had "some" writing in teenage years. Surely, Conrad wrote in Polish and French in his teen years.

One of my favorite writers Raymond Chandler did not really become a writer until age of 44, so does he disprove my hypothesis? If you look at his bio, he must have written/dictated quite a bit as an oil executive sober or not. Even more importantly he was a reporter for the Daily Express and the Bristol Western Gazette newspapers in his 20s.

\- Stallone: nothing unusual in his career, he might have started acting a few years later than most aspiring Hollywood hopefuls. His success with Rocky does not really dis/prove his mastery of acting. He is decent at his craft.

\- Ben Larcombe's table tennis experiment: his subject was his friend 24 year old Sam Priestley. Again this falls within my 25 year old rule. Besides that the experiment failed!

Actually I agree with most of the conclusions that Ben Larcombe reached: [http://www.experttabletennis.com/possible-master-table- tenni...](http://www.experttabletennis.com/possible-master-table- tennis-12-months/)

However again, age is a harsh mistress and past 40 the decline in your learning ability becomes noticable.

We all need our delusions and the "I can do anything if only I set my mind to it" is quite a common one.

<comment><USER49> We'll have to agree to disagree. In every success case, you'll find a nitpick. Van Gogh was innovative in his use of color, a characteristic clearly developed as an adult, and yet you dismiss it because he drew as a child. McClure has no value because he hit the jackpot once and rode from there. Conrad must surely have written in Polish and French (yet published nothing and left no manuscripts), which surely undermines the excellent storytelling abilities and remarkable prose he developed _after_ he stopped working a full time job. A really old man can only run the marathon in over 6h, three times the world record (I'm a third his age, and I can, maybe, do the marathon walking and beat the 7h mark).

If you do not understand the bias I have presented, central point in my argument that you sidestepped, at least understand this: You can choose to believe you can do anything, or you can choose not to. There's a chance of error in each choice. The loss in the error case, for each option, clearly favours choosing the optimist option. Even if all your steps forward are followed by backward steps, at least you are dancing Cha Cha, not moping your way down to a sad grave.

</comment></comment></comment></comment></comment></comment><comment><USER50> This was an eloquent and beautiful article that helped me to consider my own mortality. Thanks for sharing.

</comment><comment><USER51> Hume would have been impressed.</comment>


Gamer Talent: Find great people to make games with - <AUTHOR> http://www.gamertalent.com

<comment><USER2> Damn, could have used this on an educational video game concept I was involved with a few years ago. Finding the right people for projects like that is so damn hard in some parts of the country.

</comment><comment><USER3> This is a great website! :D I've been able to explore it some and I look forward to finding out more about it. :)

</comment><comment><USER4> I think Gamer Talent is an amazing resource and should definitely be spread more through out the right networks. It's innovative and wonderful.

I am also sharing it with friends in related fields. <3 Thank you for making something so awesome.

</comment><comment><USER5> I found it quite hard to search for say, a programmer in city X. The location control didn't seem to work at all, after failing with my city name I tried "the moon" and it just came back with the same people and no feedback.

</comment><comment><USER6> Gamer Talent is a very innovative idea that will change the way game development teams are cultivated.

</comment><comment><USER7> Great resource...it's definitely hard to find talent in the middle of the country!

</comment><comment><USER8> Awesome new site. It's got a few areas for improvement but it's such a good idea.

</comment><comment><USER9> thats an interesting concept - except how do you control the amount of spam/noise that would eventually overtake the site if it becomes at all popular?</comment>


Thank you Paul Buchheit! - <AUTHOR>

I've now officially switched my architecture firm domain to Google Apps, and they are amazing - especially Gmail.  A great added collaboration tool (especially the chat and the collaborative calendars!).  <p>No more MS Exchange!  No more Outlook! No more enigmatic msg files! No more fighting with the spam filter! What a great day.  Liberation. <comment><USER2> Thank you Woz and Jobs! Hey everyone, I just found out about these great things called "Personal Computers"! You should check them out, they're really cool!

<comment><USER3> lol but you have to admit GMail was pretty freakin incredible when it first came out. (still is, we just take it for granted now =))

</comment></comment><comment><USER4> Thanks Fred, I'm glad that it's working well for you. (though obviously it's mostly due to the hard work of a lot of people who aren't me -- Gmail is a big project and I don't even work there anymore)

<comment><AUTHOR> I thought you, as the inventor of the whole idea, deserved some real credit and thanks for getting the system started at Google in the first place. :)

</comment></comment><comment><USER5> You're just finding this out now? ;-) I've been a loyal GMail user since it came out.

I don't understand some of the Google hate that's been going around tech circles lately. In general, their products are really solid & easy to use. My startup's made extensive use of Google Docs & Spreadsheets, I use GoogleMaps for nearly all my directions, and both my primary e-mail accounts are on GMail.

<comment><AUTHOR> I guess it takes a pretty big mental leap to go from MS Server with Exchange and spam filtering of an established company's email to gmail. But I wouldn't have done it without the apps domain feature so my email is still firstname.lastname@example.com instead of gmail.com. When I see business email at gmail.com or yahoo.com etc, my first thought is that they don't even have their own domain.

My other excuse is that I'm "old" and it takes me a little longer to hobble reluctantly into extremely cool technology. Or maybe its that I'm so jaded from years of using Outlook/exchange, that the idea that something could be so fundamentally better hadn't occurred to me.

In any case, those days are over now :)

<comment><USER6> hi, could you please elaborate on that throwaway line '..takes me a little longer...'. i'm just a user so when i saw gmail and google aps, my first thought was woohoo, i don't need to know how to do the boring back end stuff for email/calendars etc if/when i need to set a system up for myself. it's not a new idea but would you say your experience in the back end stuff blinded you to newer ways of doing things? can't remember who said it, but once you have a solution to a problem, regardless of how tortuous it is, it's always going to win out over the hassle of researching and troubleshooting an alternative, just because you know it's going to take x hours and you can budget the time accurately - especially when you have 10 things to do at once that you aren't sure of the solution to. (btw just to be clear, i'm not hassling you - i just think there's a general principle here that youth has a natural advantage purely through not lugging the baggage of experience along with them. same in the physical sciences where i hang out except we have to wait for generational retirement for the new cycle ;-)

<comment><AUTHOR> I admit I was joking a bit about the "getting older" and "taking longer" part. Had I played more extensively with gmail earlier, I would have switched right when it was possible to keep your domain, which I think has only been possible for a few months now. So I think a lack of knowledge about gmail played a bigger role than age. To the extent that adapting to new contexts is a reflection of "age", I am a very young person. (After using gmail for 1 day with my startup's streamfocus.com domain, I switched my whole architectural firm over)

As far as the age issue, in the sense that you're talking about, I've met many 20 somethings who acted "older" than me. I have always been a risk taker, an optimist, a person constantly learning to improve, and many people aren't. This is not an age issue, but an outlook on life issue.

<comment><USER6> hi, thanks for the reply - sorry, i interpreted your joking bits to mean that you had been around for a lot longer.

</comment></comment></comment></comment></comment><comment><USER7> I've heard before that what keeps many businesses chained to Windows is not Office but Exchange. If some spiffy online web app changes that, great.

</comment><comment><USER8> There are still countries where internet connection can go offline,from time to time, which makes online web applications risky.

I wonder all these web service providers considers this what i call "the cost of being offline".Let's say, my work 40 hr a week can afford being offline for 3-4 hours for an invoice web application where as in email, this will cost me much more.

<comment><AUTHOR> They seem to be working on that problem too with Google Gears where you can work offline. Hopefully the gmail/calendar GG apps will be out soon to solve the problem.

</comment></comment><comment><USER9> Is there any way to store contacts in gmail -- like cell numbers and snail- mail-addresses? Task management could be better -- as that talk by Merlin Mann mentioned. And is zenter just gone? When will I be able to use the presentation tool they build? There are certainly some missing g.apps (pun intended).

<comment><USER5> Mouseover the contact in "Quick Contacts", click on "Contact Details", click on "Edit Contact", click on "Add More Contact Info", then you can add phone numbers and addresses for both home and work. It looks like the sections and fields are themselves customizable, too.

<comment><USER9> awesome. Kind of buried though.

</comment></comment></comment><comment><USER10> You should probably be thanking the team within Google who made Google Apps for that stuff.

<comment><USER11> Stephanie Hannon was the PM who dealt with most of the Google Apps stuff in its early days.

<comment><AUTHOR> Thanks Stephanie! :)

</comment></comment></comment><comment><USER12> I had a very poignant moment when I started forwarding my Pitt email to my Gmail address... I realized that I would be using this email program for the rest of my life.

Thanks.</comment>


PyPy 2.0 Released - <AUTHOR> http://morepypy.blogspot.com/2013/05/pypy-20-einstein-sandwich.html <comment><USER2> Whilst I applaud the efforts of PyPy, I've always been disappointed with the performance benefit it's given me with real world code.

Specifically:

* PyPy Dict performance is very slow (slower than Cpython). A lot of the code I need to write that is cpu-intensive python code processes data (from stuff like logs) into various data structures that use dicts. Pypy is rarely more than 10% faster and sometimes slower.

* The memory management/GC can be bad. I've seen the same code that runs fine on cpython end up using excessive amounts of memory (and causing out of memory issues etc) with PyPy. Again - this is normally involving complicated data-structures.

On about 10 occasions now I've had CPU bound Python tasks, then I've tried to use with PyPy and never had > 20% performance improvements. Which is a big contrast with the benchmarks.

Is it just me? Or have other people had similar experiences?

[edit: typos]

<comment><USER3> I've had exactly the same problem. I have had tree-manipluation AI problems which run for > 30 minutes (seems like an ideal thing for pypy, before I rewrite them in C++). pypy is almost always slower, and never more than about 15% faster, whereas a simple line-by-line C++ rewrite can be 20x faster.

<comment><USER4> Python is a vast language. It's very hard to know upfront what sort of patterns people use - if you don't talk to us, don't post stuff on the bug tracker, don't do anything - it's your own fault. PyPy is known to speed up real world code to various degrees - sometimes 10x sometimes not at all, but it all really depends. We would be happy to help you with _your_ problem, but if the only thing you do is to complain on hackernews, well, too bad, we can't help you.

<comment><USER5> I am sympathetic because PyPy is very good and is improving fast. but...

That doesn't change how the PyPy project tends to represent itself, which almost always comes across as something like "6x speedup for everything (excluding JIT warmup)". If you want everyone to adopt PyPy instead of CPython then it is part of your job to find the cases where PyPy is not actually faster rather than saying it is the user's fault. And it is not your job to select only benchmarks which tell the story you want.

If the difference between interpreters is nuanced then that nuance should be expressed so that people can make intelligent decisions rather than dismissing one or another interpreter as "slow".

<comment><USER6> FWIW, it's trivial to get benchmarks into their comparisons, provided they aren't microbenchmarks, at least in my experience. Saying they pick benchmarks that are favourable is untrue: the majority were added because of PyPy performing badly on them, and they've improved as a result of being included thus making them mostly benchmarks PyPy does well at.

</comment></comment></comment></comment></comment><comment><USER7> If you like this remember to donate some money to the project on <http://pypy.org/> [I am not in any way affiliated with PyPy, only supporting the project].

</comment><comment><USER8> Does anyone have any performance comparisons to Perl? I've used Perl for over a decade. Just started using Python on a project. I've got a lot to learn but Python makes you feel like you've got it down pretty quickly.

One of the things that kept me on Perl was its great performance.

<http://benchmarksgame.alioth.debian.org/u64q/perl.php>

I'd like to go for the win, win. Is that 'FTWW?'

<comment><USER9> Interesting datum you used. That chart shows that, on those compilers, on those programs, with those test data, Perl and CPython are VERY similar in speed. If you compare your link (Perl / CPython) with the inverse (CPython / Perl), you almost can't tell the graphs apart.

[http://benchmarksgame.alioth.debian.org/u64q/benchmark.php?t...](http://benchmarksgame.alioth.debian.org/u64q/benchmark.php?test=all&lang=python3&lang2=perl&data=u64q)

So CPython is about the same speed as Perl. PyPy's speed comparison suggests that PyPy is 2-20x faster than CPython. What else do you want to know?

Perl, btw, is not noted for its "great performance" in any context I've ever heard of.

<comment><USER8> Perl is famous for it regex performance. For many years people have compared Python, Ruby, and Perl performance and it has usually been Perl as the fastest followed by Python then Ruby. I've seen many posts like this:

[http://stackoverflow.com/questions/12793562/text- processing-...](http://stackoverflow.com/questions/12793562/text-processing- python-vs-perl-performance)

These days, however, it appears that Python has really come into its own. I started using Sublime Text so that got me into trying out Python.

<comment><USER10> I think regex performance of Perl is nothing extraordinary. What it is famous for is pushing the scope of matching beyond regular languages.

Of all the common scripting languages I think TCL uses a different algorithm for regex matching and is considerably faster than Perl, especially on longer strings. Let me find some corroborating docs.

Ok this has some info <http://swtch.com/~rsc/regexp/regexp1.html>

<comment><USER9> Exactly. Perl regexes have _poor_ performance in terms of running time, but good usability, including by squeezing non-regular features into their allegedly-regular expressions, and also things like numerous and flexible character classes, consistent behaviour for escapes, etc.

I love vim, but jesus I can never remember which vim regex metacharacters need escaping to get their meta-meaning, and which need escaping to get their non- meta meaning.

<comment><USER11> \v is your friend.

<http://vimdoc.sourceforge.net/htmldoc/pattern.html#/magic>

<comment><USER9> I sort of prefer \V, but same difference

I dunno, I haven't used it in the past, because...

1) "It is recommended to always keep the 'magic' option at the default setting, which is 'magic'. This avoids portability problems."

2) Nor do I want to type two extra characters in every damn regex!

So, it only occurs to me right now, the right thing to do for me is this: the first instant I'm confused about whether \\( means grouping or literal paren, I should immediately start my pattern with \v or \V. No unportability of plugins, no marginal cost on regexes that don't care, marginal benefit when it does matter.

<comment><USER11> Yeah, that's basically what I do too. No \v on trivial regexes, \v on ones where there's more than one or two groups.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> The gevent/eventlet part of this has me pretty excited. We needed this in order to do some experimenting with PyPy without investing a good deal of time on a test conversion. I'm also interested to see if cffi is as good as I've heard it is (relative to ctypes).

Excellent work, fijal and team!

<comment><USER13> This is exciting for eventlet. Coupled with recent resurgence of work on it, it might bring it back into spotlight.

</comment></comment><comment><USER14> Can someone knowledgeable compare PyPy, Numba and Cython? I mostly use Cython. Tried Numba also, it has very nice workflow when it works with autojit (when it doesn't error messages are pretty cryptic). With PyPy I don't understand why for example all that type information obtained from jit wouldn't be used to make something like Numba specialized functions or Cython modules (noob question but please answer).

<comment><USER15> PyPy still doesn't work with Numpy, though they're working on it.

<comment><USER16> That's not quite right. Stock numpy doesn't install, and nobody's working on that as far as I know, but they've reimplemented part of the numpy API (at least the Python API, not the C one), and the subset they've implemented works fine. I have an application in production that uses it.

</comment></comment></comment><comment><USER17> What are the largest sites using PyPy in production?

<comment><USER18> quora did at some point but it seems they replaced it (or some usage of it) with scala, I can't find any pointer at the moment but google could help you.

</comment></comment><comment><USER19> Congratulations!

Looking forward to the day PyPy becomes the reference implementation.

<comment><USER20> In many cases, you want to be careful about using JIT'd platforms. Many people forget that the memory requirements skyrocket. When you want to use a language on many different platforms, including embedded, you start to see how having a JIT interpreter as your reference platform can be disadvantageous. CPython isn't exactly slow either, especially when you consider many 'intensive' modules are written directly in C.

Pypy should stay as it is, an experiment that can be used for people who require more performance for certain workloads. Of course, having part of your language written in C for CPython can hurt sometimes, when you can't easily use the functionality on other interpreters.

<comment><USER21> almost agree, except for the 'experiment' part. i don't want it to be an experiment, i want it to be a production-ready interpreter that i can use instead of cpython with minimal effort when i know i can trade memory for speed.

</comment></comment></comment><comment><USER22> I get about 2x speedup on my CSV reader & processing app, which is nice.

When I tried the beta, it was crashy, but 2.0 seems pretty good so far.

</comment><comment><USER23> Is it still slower than LuaJIT?

</comment><comment><USER24> pypy is cool, but why no love for python 3?

<comment><USER25> <http://pypy.org/py3donate.html>

[http://morepypy.blogspot.com/2013/03/py3k-status- update-10.h...](http://morepypy.blogspot.com/2013/03/py3k-status- update-10.html)</comment></comment>


Why hackers who ask for money don't get caught? - <AUTHOR>

There are ransomware that ask you an amount of money to decrypt your data, there are also people who ask to big websites money to stop a dos attack and so on... I assume that if you want to pay this criminals you have to pay with a credit card number. So why is so difficult to arrest them? Credit cards are 100% traceable, it should be quite easy to found the nominee of the credit card number even if he 's in another part of the world. <comment><USER2> There are possibly more complex strategy involved.

\- Account hops: the first X accounts are hacked and they bounce the transfer between each other, at some point the transfer gets out to a Nameless account. You know the transfer is made there but you know who's actually the owner. By the time you get the permission to investigate is too late. money are gone. And possibly the original identify was stolen as well.

\- Dividi and Impera: you get the payment on one account, than you split between N, where N is small enough to be an hard to track transaction. Later on they merge again.

\- Untraceable currency. You get the money in a "standard" currency, and then using the bank as a broker you buy a untraceable currency, let's say bitcoin. At that point, there is no way to track back.

As for any other strategy, you still need an hacked account, or an account with fake identity related. As it is in 2014, there are few countries in the world where is easy to obtain one.

</comment><comment><USER3> Oh, but they are caught!

Along with the money, the enterprises issue a payslip, with a duplicate sent to the IRS, and then the IRS falls down on the poor hacker and taxes this income.

As for crackers, I don't have any idea how they do it.</comment>