Harvard Business School Professor Goes to War Over $4 Worth of Chinese Food - <AUTHOR> http://www.boston.com/food-dining/restaurants/2014/12/09/harvard-business-school-professor-goes-war-over-worth-chinese-food/KfMaEhab6uUY1COCnTbrXP/story.html

<comment><USER2> The proprietor has apologized more than twice in the emails.I do not think it is fair for the HBS professor to take such drastic measures because a hapless businessman did not understand enough HTML to update a website frequently.

<comment><USER3> The proprietor also had the opportunity to credit back the customer's money twice - having the wrong advertised prices on a menu is the proprietor's mistake. In the first response, the owner should have offered to credit back the $4 not just send an updated menu. This likely would have diffused the whole situation. And then on the second reply when asked for $12 he shouldn't have just offered $3 (not even the full amount). It's an antipattern for running a small business to not honor a lower price if an employee (or website) misquoted a lower price than is usual. And in most jurisdictions it is also illegal.

</comment></comment><comment><AUTHOR> This guy, Ben Edelman, focuses a lot of his work on online advertising issues. The question here is that his campaign against the Chinese restaurant, although technically correct (they did charge higher prices than advertised online) is wildly disproportionate.

</comment><comment><USER4> This is such a brilliant example of how attention to detail and treating every customer as your most valuable customer is crucial. Such a simple situation to show: 1\. you never know which customer is the one that will tweet/publish their experience (good or bad). Offering to pay the $12 immediately would have solved this and caused no negative PR 2\. you have to make sure your entire business and it's assets are up to date, all the time. It might be a rookie mistake to have a website that the proprietor can't update ... but I feel they plain forgot to make the change. If your website isn't integral to the way you run your business and considered in every decision you make, close down your website.

<comment><USER5> Perhaps so, but this exchange also reflects incredibly poorly on the complainer in this case.

<comment><USER6> Why?

</comment></comment></comment><comment><USER7> Ben Edelman has been instrumental in the fight against malicious advertisers. It takes patience and diligence to demonstrate illegal online advertising. Ben is one of the few people that does it well. That said he should go easy on this restaurant...the owner seems knowingly ignorant that he was overcharging customers.

<comment><USER8> All the business owner needed to do was refund the money. He knows exactly what he's doing and he's wrong for it.

"I'm sorry for the price difference between what you were charged and what was listed on our website. We've refunded you the $4 that we overcharged you and hope that you'll give us another chance. We're currently working to update our website so that customers like you are not mislead.

Thank you for your business."

Done. That's it. That's all that had to take place.

</comment></comment><comment><USER9> At least one of those individuals is a jerk.

<comment><USER10> I believe the British phrase that best describes the professor is "wanker". Very similar to jerk. :)

</comment></comment><comment><USER11> A good lesson that all emails are potentially public :)</comment>


Just launched a social news site for fashion, beauty, etc. (with pretty photos) Comments? - <AUTHOR> http://www.prettysocial.net/ <comment><USER2> Looks good - good luck with it! I have always wondered why something like that doesn't exist.</comment>


Ask HN: Getting ready to sell my first piece of software, what should I know? - <AUTHOR>

One of my goals for 2011 was to sell my first piece of commodity software for consumers. As years of hard work would have it, I'm 99% of the way there and that last 1% is what's going to be the hardest.
This is a piece of software that people buy once and then can install on their servers (no SaaS option, yet). It's a web app, but they host it. It's DRM free, written in PHP and customizable.
What should I know about selling it? I have a nice website to accompany it. To help increase sells, I'm going to:

  * have a nice tour of the software
  * full demo
  * small file they can download to ensure it'll run on their servers
  * a way to contact me for support
  * two hours of free support with their purchase
  * Google Checkout and PayPal payment options
 What else do you think I should be thinking about when this launches? Getting tracking, reviews, and sales are my primary goals, so what is the best way to accomplish them? What tidbits of information do you have that increase conversions or really help sell your software?
Thank you in advance! <comment><USER2> Well, you're missing the primary thing that will be necessary to sell it: marketing. People don't just roll out of bed and give you money because you've made it easy; they give you money because they have a problem, and are aware that you solve it at a reasonable price.

Things to think about:

\- How will you identify prospects who might buy? \- Where can you potentially reach those prospects?

There's a number of avenues you might pursue in order to get people interested: web based ads, traditional media, web-based lead generation (email marketing campaigns, registration-required downloads), trade shows/events, bylined articles in journals/magazines, etc. And of course, all the usual social-media avenues. Some of these have costs, some are things you can do yourself on the cheap.

These are all avenues by which you can introduce your target market to your product. If they don't know about it, there's little chance to get them to buy it.

</comment><comment><USER3> Who is your customer?

<comment><AUTHOR> Technically competent people who want to start an online community.</comment></comment>


Need guidance to improve my chances of landing a job here in SF bay area - <AUTHOR>

Dear HN,
I have moved recently to San Francisco bay area with my husband & kid                 here, I have 6+ years of software development experience  in BI/ETL/SQL/Data Analytics (MSBI Stack),
& have spent recently many days in applying to
various job boards,
but still am not able to get any interview calls.
I have also learnt NodeJS/MongoDB/Redis & developed
sample web apps using these technologies &
have them published to my Github profile recently to widen my chances of getting a job/interview.
Unfortunately no interview calls yet, everyone is looking for either 2+years in (Node with Java combination) or
10+years in BI/ETL domain.
I am beginning to wonder what should I do next to improve my chances of getting a job here in SF bay area ?
Is it due to some lack of technical skills or anything else that I fail to comprehend ?
So finally thought of asking the HN community. Any help/pointers/suggestions would be greatly appreciated..!!
Thanks <comment><USER2> Shoot me an email (address in my profile). We're not hiring, but I'd be happy to grab a coffee in Mountain View and talk about some specifics. Pretty new to SF myself so I don't know much about the scene, but I'm happy to review your work, resume, etc.

</comment><comment><USER3> If you don't have a linkedin profile you should set one up. Recruiters can vary in terms of quality but they are a useful resource when looking for a job and most of them hang out on linkedin. There's also careers.stackoverflow.com. For more startup oriented jobs there's hired.com and I think interviewing.io. Aline Lerner is one of the people behind interviewing.io and as far as recruiters go she's pretty good so sending her an email can't hurt.

</comment><comment><USER4> You seem to have a pretty good skill set. I would definitely set up a linkedin profile as a starter. I work extensively with open source so i usually look at technologies that interest me, contribute to open source projects and build networks that way. Also look at meetups for nodejs or other technologies and start meeting people on the ground. I personally wouldn't look at recruiters.

</comment><comment><USER5> I agree, fine tune your Linked In profile and also make sure you're connected to the relevant folks -- colleagues, managers, clients, et al -- you had and have positive ties to. Good luck!

</comment><comment><USER6> Check out Hired. [http://hired.com/](http://hired.com/)</comment>


Ask HN: Do you use continuous deployment for your web app? How (or why not)? - <AUTHOR>

If you are working on multiple concurrent web apps, please answer this question based on your "most complex" project. A definition of "most complex" project could simply be the project with the highest number of collaborators.
Does your team use continuous deployment, i.e., deploy code-base automatically to production some time after a developer pushes a change?
If not, what is stopping your team from adopting continuous deployment?
If yes, how did your team first make the transition? How does your team deal with buggy deployments? First is - how (and when) does your team notice the the bug (or issue)?  Second is - how does your team resolve the bug? Feel free to provide a link to your web app to help readers get context for your answers.
I ask this question to HN as I feel it would be good to see an HN discussion on the best practices for continuous deployment. Please feel free to share relevant resources (blogs, articles, etc.) that you think provide good coverage on this topic. <comment><AUTHOR> One specific question is how does one resolve an issue?

One option is to automatically revert back to a commit when an issue is discovered until a fix can be applied. Does anyone use this? If so, what is your team's SCM (i.e., git) workflow?</comment>


Rethinking rent: Maybe we should stop trying to be a nation of homeowners - <AUTHOR> http://www.boston.com/bostonglobe/ideas/articles/2009/03/22/rethinking_rent/ <comment><USER2> Renting is about as much fun as using a PC at your local library. If your hacker-nature extends beyond computers, consider home ownership.

The people getting burned right now bought houses above value, perhaps because they wanted to live in a specific area where and when home prices were inflated. If you can't buy at or below the true value of the house, either rent until the housing market deflates or buy somewhere else..

<comment><USER3> agreed. While I'm crossing my fingers to not end up underwater on this house - I'm seriously enjoying some of the stuff we can do to it.</comment></comment>


Dechoker medical device could end deaths by choking - <AUTHOR> http://insiderlouisville.com/startups/cool-stuff/game-changer-dechoker-medical-device-end-deaths-choking/ <comment><USER2> A comment on the article mentions a competitor at [http://lifevac.net](http://lifevac.net):

"There is another version of this type of device that has been around (FDA approved) for a couple of years now. It's called LifeVac and it has been adopted by several fire departments, schools, skilled nursing facilities and families all across the eastern seaboard as well Europe and Canada. Only costs $69.95 and even that number can come down with different promotions that are offered."

<comment><USER3> Are you saying the article was lying? "There is nothing like Dechoker on the market." ;-)

Looks like the earliest mention I can find of LifeVac is May 15, 2014, while Dechoker is from 2011. I wonder if this is a case of "imitation is the sincerest form of flattery", or whether they were independent ideas?

</comment></comment><comment><USER4> My wife is Japanese, and she said that in Japan lots of old people choke on mochi (a sticky sweet made from rice). From what she says, when this happens - the best thing to use is a vacuum cleaner. I also remember a scene from Tampopo[0] where this takes place. Sounds pretty scary and odd, but probably not an entire myth[1,2]

I wonder how effective this is, and what are the risks to the lungs after whatever's stuck gets dislodged.

I guess when you're choking, you'd take that risk if all else fails (if you or someone around you can act fast enough to pull a vacuum cleaner...)

[0] [http://www.imdb.com/title/tt0092048/](http://www.imdb.com/title/tt0092048/)

[1] [http://www.accessj.com/2012/01/choking-on-mochi-grab- vacuum....](http://www.accessj.com/2012/01/choking-on-mochi-grab-vacuum.html)

[2] [http://www.japantimes.co.jp/news/2001/01/07/national/daughte...](http://www.japantimes.co.jp/news/2001/01/07/national/daughter- uses-vacuum-cleaner-to-save-dads-life/#.ViqRL2crKAk)

<comment><AUTHOR> Nice, I've never heard of this "dechoking" method. I'm guessing you need one of these types of vacuums: [http://www.tipa.eu/fotocache/bigorig/08850298.jpg](http://www.tipa.eu/fotocache/bigorig/08850298.jpg) and then you put your mouth around it?

<comment><USER4> I guess it won't exactly work with a "standing" vacuum cleaner(like [0]), but in recent years, most vacuum cleaners I see -- like the one you linked to -- have a long hose, and you can definitely fit it in someone's mouth. (you remove the big attachment at the end)

On the cost side, you can probably get a nice vacuum cleaner for $150 :)

I'm still wondering about how effective vs. how risky this technique might be though

[0] [http://www.amazon.com/Rowenta-Lightweight-Cordless- Cyclonic-...](http://www.amazon.com/Rowenta-Lightweight-Cordless-Cyclonic- Functions/dp/B007X6B1HU/ref=br_lf_m_cfkfghes52vm7w3_1_1_ttl/186-4649770-3613910?ie=UTF8&s=home- garden)

</comment></comment></comment><comment><USER5> > the instructor told him frankly that the victim would die. He researched the > subject thoroughly and found that there was absolutely no other solution to > choking besides the Heimlich maneuver

maybe I've seen too many movies, but what about the old knife and ball pen Tracheotomy?

<comment><USER6> Father Mulcahay certainly had no trouble performing one with no medical training, just a doctor on a radio to walk him through it. Must be pretty easy.

<comment><USER7> That was a great episode.

</comment></comment></comment><comment><USER8> Some googling ([https://scholar.google.com/scholar?as_ylo=2011&q=dechoker&hl...](https://scholar.google.com/scholar?as_ylo=2011&q=dechoker&hl=en&as_sdt=0,21)) suggests there are no trials on the Dechoker yet. While that makes sense (realistic choking must be hard to induce experimentally, and any sort of experiment in the wild suffers from choking being rare), it does make me wonder how well it works.

<comment><USER9> It seems like if they don't have enough pressure in their lungs to expel the bite of ham sandwich, you wouldn't necessarily be able to suck it out with this device. On the other hand, I have a hard time blowing up those skinny balloons for balloon animals, but the pump thing they sell with them does it like a champ.

<comment><USER10> I doubt that you can completely deflate your lungs by exhaling; even if you try your hardest to exhale as deeply as you can. There would always be some air in the lungs so that the pressure difference generated by this device would almost certainly be enough to pop the blockage out of your trachea.

<comment><USER11> That's exactly right, something called Residual Volume ([https://en.wikipedia.org/wiki/Lung_volumes#Values](https://en.wikipedia.org/wiki/Lung_volumes#Values))

</comment></comment></comment></comment><comment><USER12> Please note the small text on this page that says: "There is no guarantee this device will remove debris from the airway."

[http://www.dechoker.com/pages/dechoker-usage- instructions](http://www.dechoker.com/pages/dechoker-usage-instructions)

It is a 510K-exempt Class I medical device, according to the FDA. So its manufacturer has registered with the FDA but there is no FDA approval of its claim of being able to dislodge objects from a patient's airway. Nor is any data provided to demonstrate that it is at all effective.

<comment><USER13> _There is no guarantee this device will remove debris from the airway._

That's somewhat of a "duh!" but I guess it's there just for legal reasons.

</comment></comment><comment><USER14> I just had a CPR class this week (baby due 11/30) and was thinking along these lines - isn't there another way.

Side note for some of the other comments - there are multiple ways to apply pressure to the thoracic cavity in order to express something lodged in the throat. If the person is large and you cannot wrap your arms around them, have them stand with their back against the wall and you thrust from the front just below the diaphram.

The goal of CPR is to resuscitate an individual who is not breathing. Whether the individual sustains other injuries through the course of being resuscitated does not matter. Better to be alive and injured than dead!

<comment><USER15> Indeed, you would be surprised by how often individuals suffer minor rib damage while being resuscitated.

</comment></comment><comment><USER16> It's a clever idea, but is the vision for this to have one hanging on the wall in a vast number of public places? It says there are 160,000 choking deaths worldwide annually. Presumably the Heimlich maneuver would have worked on some number of those. What is the marginal number of lives saved and at what cost?

<comment><USER17> The Heimlich manoeuvre worked on none of them, because they died. It might have been possible to prevent some of those deaths with wider or more effective provision, but that would also have costs.

<comment><USER18> Just because they died doesn't mean someone:

1) Did the Heimlich manoeuvre

2) Performed it properly

3) Continued proper behaviour after the Heimlich manoeuvre failed

There is a good chance the people who died were alone, that everyone around them panicked and froze up, or that nobody realized the person was in danger (people who choke are actually more likely to leave the room than try to tell someone). People often don't call 911 until it's too late.

I do see the OP's point that potentially education and teaching of what to actually do in these scenarios would be more effective than buying a vast number of these devices. I took a first aid course and I can say that while the majority of people _know_ what the Heimlich manoeuvre is, I don't believe they'd behave properly in a chocking situation.

That said, I think these should _definitely_ be put to trial runs to find out :)

<comment><USER17> My point is that I don't think that's a problem that can be solved with a few posters. It doesn't matter if the deaths could have technically been prevented with the Heimlich manoeuvre unless there's a cheap and practical way to get people to perform it properly.

<comment><USER16> So you think a problem that can't be solved with a picture of someone helping someone choking by grabbing them from behind and squeezing can be solved by having them find this gadget and figuring out how to use it? Curious.

</comment></comment></comment></comment></comment><comment><USER19> I saw someone die by choking when I used to work in a restaurant. This device would have been helpful. It also would've been helpful if anyone did anything right in an emergency.

There were 3 hostesses standing next to the phone. I was the bus boy.

After a manager told me to go all the way to the back and get another manager, I told him we should probably call 911 first.

The fire dept was across the street.

When I walked up to the phone, none of the hostesses had called 911, because no one told them to.

I called 911, but it was too late.

The man died.

<comment><USER20> That sounds awful. I'm sorry you had to be a party to such an event. Even if there were all these other older and more experienced people who should have acted intelligently, it sounds like you're still feeling guilty that you didn't do better. It's hard to realise that in most situations you do have to trust that in your instincts, instead of being able to think that all these supposedly more senior and responsible people actually have a clue... It shakes your faith in people and your sense of security. I'm sad that you had to go through that.

</comment></comment><comment><USER21> I love the idea, and it's just the kind of thing I'm paranoid enough to own, but the price is a bit up there. Hoping it comes down over time. But if I owned a restaurant, I'd be all over this, in a "Break Glass" kind of case.

<comment><USER22> That's the idea the article conveys, one of these should be next to every defibrillator (and defibs are seen in so many locations).

<comment><USER23> Not every restaurant has a defibrillator, but every restaurant may want one of these if it's really that effective.

<comment><USER24> And they should have it in the bathroom!

I've heard from an EMT friend that most choking deaths happen in restaurant bathrooms. Somebody gets up to excuse themselves to be polite and dies alone beside the dyson hand dryers.

<comment><AUTHOR> I know if I were choking, I don't know how polite I would be to everyone around me

<comment><USER23> As a person with a medical condition that causes me to choke more often than a normal person would, I usually excuse myself because rectifying the situation typically involves vomiting.

</comment></comment></comment></comment></comment></comment><comment><USER25> I read it as

        (Dechoker medical device could end deaths) by choking

when it really should be

        Dechoker medical device could end (deaths by choking)

English really needs better syntax.

<comment><USER26> This is known as an attachment ambiguity. The classical sentence is "The man saw the woman with the telescope."

I'm afraid it is not limited to English, and a very common phenomenon across many languages that use prepositional phrases. Languages that do avoid these usually have a complicated case system. Even there, we have other ambiguity- types that are also common in English, such as relative clauses, quantifiers, etc.

Ambiguity is a natural part of languages. It can be fun :-) [http://languagelog.ldc.upenn.edu/nll/?p=4566](http://languagelog.ldc.upenn.edu/nll/?p=4566)

<comment><USER27> My favorite standard example sentence (of ambiguity, that is) is "we saw her duck".

<comment><USER28> Time flies like an arrow, but fruit flies like a banana.

<comment><USER29> Yesterday I shot an elephant in my pajamas. How he got in my pajamas, I'll never know.

</comment></comment></comment></comment></comment><comment><USER30> My brother once chocked with a piece of barbecue meat with farofa (a Brazilian mix of toasted cassava flour) in a restaurant. He was barely breathing, and could not swallow anything. We rushed to the hospital and they were able to save him.

Nobody new how to perform a Heimlich maneuver, and I don't know if it would have worked. I wonder if this device would have the suction strength to pull the obstruction in that situation, probably yes.

<comment><USER31> I took a CPR class several years ago before our first kid was born and within a week I couldn't have told you 100% how to perform a Heimlich. You drill it a couple times and are somehow expected to be able to perform it in an emergency, months (or in my case with a one-off class, years) later. I would attempt it if someone was choking with nobody better qualified around, but I always doubt that many people are going to be effective with this maneuver. I also couldn't imagine me doing much of anything on someone 200+ pounds (I'm all of 155). I'm really glad to hear there's an alternative.

<comment><USER32> That's one reason I really appreciate being a first-aider at work -- I get paid to do refreshers every year or two. The repeat classes usually contain at least one bit of information I've not heard before, but the biggest benefit is the opportunity to practise the techniques I've not had to use all year.

I took the full 3-day course for the first time this year, and the extra time for practicals was excellent.

</comment></comment></comment><comment><USER33> I'm curious to know the actual numbers (ie. force a human body can exert when attempting to breath in vs opposite pressure caused by this device or heimlich).

I performed heimlich on a roommate a long time ago when I was in college, but it turns out the pressure he was breathing in with was apparently more than the force I exerted trying to get him to push the object out. I simply helped dislodge the object, but it ended up going into his lungs rather than out.

Afterwards he told us he could feel the food (what was obstructing airway) in his lung.

<comment><USER34> And what happened after that?

<comment><USER33> He was fine as far as we all knew. He ended up leaving to go back home a few months after, and I wasn't close so we didn't stay in touch. I can't give a long-term prognosis, but I imagine the human body probably has mechanisms to deal with that sort of thing.

He didn't feel concerned enough about it to go to the hospital afterwards, and we were just college students so we didn't feel we had any reason to override his decision.

<comment><USER35> For future reference, go to hospital. The lungs are a one-way system and can't digest things - any object going in either comes out the same way or sits around. That lump of food will have rotted, and would be a significant infection risk.

<comment><USER33> Good to know. And btw, just in case anyone reading would get the wrong impression from my previous comment, I'm not saying I think the lungs could technically digest food.

Basically, in my experience, if I've ever inhaled water (never food) I generally find that there's several minutes (or hours depending on quantity of fluids) of intermittent coughing where I feel like my body is doing something to make it easier for me to expel the fluids.

In terms of food, depending on quantity I was imaginging over course of several days (weeks?) perhaps the body is able to expel the solids in similar fashion.

My roommate was not a very talkative person, but we did hang out quite a bit while he lived with us, and nothing ever appeared abnormal, and he never got sick so I'm guessing he just kept the messy details to himself.

</comment></comment></comment></comment></comment><comment><USER35> > _He researched the subject thoroughly and found that there was absolutely no > other solution to choking besides the Heimlich maneuver. So he spent the > past five years developing new technology to solve this problem._

Strange, I did my last first aid course about 5 years ago, and remember a few methods other than the Heimlich. The Heimlich has this weird PR where it seems that it's the only method that the US knows about. It's a bad method because it's not very good at applying pressure in the right places, and done by enthusiastic naifs it can break ribs (less of a problem) and do serious damage to internal organs (more of a problem).

Three alternatives to the 'one and only' Heimlich:

1) Start with short, hard, upward slaps on the victim's back, with the victim bent over if possible. This is more helpful in cases of partial choking

2) Get the victim on the ground on their side, and using both hands, push down on the side of their ribcage in short, sharp bursts. This uses the same 'pop a cork' mechanism as the Heimlich, but you get a lot more power and you won't damage internal organs (and are unlikely to break bones).

3) As a last resort, try and blow the obstruction further into the lungs. It will require surgery to remove, but that's better than dying.

<comment><USER16> What is your source for #2? The NHS (i.e., not the US) doesn't mention that technique.

[http://www.nhs.uk/chq/pages/2301.aspx?categoryid=72](http://www.nhs.uk/chq/pages/2301.aspx?categoryid=72)

<comment><USER35> St John's Ambulance does first aid training here in Melbourne. They're basically a volunteer group who work alongside the professional paramedics; St John's generally does events like concerts and festivals, while the professionals do the usual emergency stuff. St John's also do a lot of first aid training here (the above examples come from a course of theirs).

The side chest compressions tend not to break ribs - normal CPR compressions do, but CPR needs to squish the heart - a smaller, tougher organ than the lungs. The heimlich also has to be done in an upright position, which makes it more awkward to do if you're not physically strong; it's all bicep strength, and you can't use your own weight to your advantage. Chest thrusts are also not complicated by a patient who is obese or pregnant.

Just googling around, found some research arguing for (normal) chest compressions over heimlich, from 2000: [http://www.ncbi.nlm.nih.gov/pubmed/10767497](http://www.ncbi.nlm.nih.gov/pubmed/10767497)

<comment><USER16> That all seems reasonable. It's just that your post is the first place I've ever heard of this technique of pushing on a choking person's side. Since it came packaged with snark about the US Heimlich PR I expected to find a lot more information and advocacy for it. Meanwhile the best you can do is provide a link to using normal chest compressions - not applying side compressions as you mentioned.

</comment></comment></comment></comment><comment><USER36> Isn't applying negative pressure to the lung also a great way to collapse it?

<comment><USER37> If this thing can apply negative pressure to a lung, the airway isn't totally obstructed.

<comment><USER38> > If this thing can apply negative pressure to a lung, the airway isn't > totally obstructed.

Conversely, the instant this thing succeed in dislodging an obstruction, it will apply negative pressure to a lung (or, really, two of them.)

</comment></comment></comment><comment><USER39> Wow, it seems so obvious now.

<comment><USER40> That's a hallmark of a great idea.

</comment></comment><comment><USER41> Simple and smart. I like it and wonder if I should buy one. Seems like cheap insurance.

I wonder, does it work on people with beards? I know this usually causes trouble with sealing masks like this. Even if it doesn't, it's still a really useful device for all the non-bearded people out there, but I have to wonder.

<comment><USER42> I have a beard, and that's the first thing I thought of. I would guess that it's designed to be pretty forgiving, i.e., no needing a perfect seal.

I'm assuming the company knows the answer to this, I think I'll send them an email.

<comment><USER43> BRB shaving my face.

<comment><USER44> I found this on their site [https://vimeo.com/user31799477/review/143372612/72fa68229b](https://vimeo.com/user31799477/review/143372612/72fa68229b)

Also, it seem all you have to do for a beard is apply a little more pressure to form that seal

</comment></comment></comment></comment><comment><USER45> My mother choked on a piece of steak in a restaurant when I was a child. I didn't know what was going on. She was completely silent.

Someone gave her the Heimlich maneuver and it worked. Good thing to learn.

</comment><comment><USER46> For $150, it seems very overpriced to me. I expected this to be in the $30 range.

Am I missing some profound piece of engineering that warrants this price? Or is more of a "I think I can charge $X and make s 9x profit" move (which I don't fundamental object to.)

<comment><USER47> > Am I missing some profound piece of engineering that warrants this price?

Liability insurance and FDA approval. If you've ever seen the words "For Research Purposes Only" on equipment, that's an indication of profitable device, but small market.

I know people who sell equipment to IVF (in-vitro fertilization) labs that are _insane_ about safety, so their equipment is certainly good enough for general use. However, their volume is sufficiently low that it's just not worth the monetary expenditure given that they have an out simply by labelling things correctly.

<comment><AUTHOR> Agreed. Developing a medical device is not cheap and unlike most consumer products, these devices need to go through rigorous safety testing to make sure it does what it says it does. A lot of capital is needed just to comply with FDA regulations.</comment></comment></comment>


Pharo 2.0 Released - <AUTHOR> http://www.pharo-project.org/pharo-download/release-2-0

<comment><USER2> Someone needs to put what "Pharo" is on the front page of their web site somewhere else other than just the title element in the header which I ignore most of the time. Browser tabs are usually really narrow if you have 8-9 open. :)

I had to come here to learn it was a Smalltalk environment.

<comment><USER3> So true - and sadly so common. If I had my way every website for a program/ide/library/plugin/whatever would clearly state on the front page just what the hell it is!

Glad to see Pharo making such excellent progress - they're doing wonderful work.

</comment></comment><comment><USER4> Pharo 2.0 released: tons of new shiny things, an image that is moving the whole system forward.

Really, being involved in this is like being tied to a rocket surpassing escape velocity.

Check the real meat here: <http://code.google.com/p/pharo/wiki/ActionsInPharo20> <https://pharo.fogbugz.com/default.asp?W7>

</comment><comment><USER5> As someone with essentially no experience with Smalltalk, let me offer some criticism. (It's constructive criticism, I promise :)

I'm a CS student taking a programming languages course, and for our term project we need to learn a new programming language, write a small project in the language and write a paper on its implementation, features, strengths, weaknesses, etc. After reading about an awful lot of languages, I thought Smalltalk would be an interesting choice, at least on the implementation side, given its relatively unique image-based system, not to mention having a graphical component, essentially an IDE, at the core of the environment.

Since Pharo seemed like the most popular choice, I decided to give it a shot. I was excited to get started, so I figured I could download the "one-click" for version 1.4 and get started right away. After extracting the zip and being given a .app folder, I thought I had mistakenly downloaded the Mac version. Nope, the website clearly says "For OS X, Linux, and Windows". Right off the bat this shows that Mac is probably the "first-class citizen", and it definitely doesn't show that the developers know how to properly distribute their software for multiple platforms (whether or not it's true, that's what it looks like). Since my platform of choice is Linux, and having seen the half-hearted attempts at supporting Linux from so many vendors so many times in the past, I started to get a bad feeling.

I found the README, whose only information is to run the .sh file included. I ran it and was given the helpful message that the "Contents/Linux/pharo" file was missing. Finding that hard to believe, I navigated to where that file was supposed to be located and, sure enough, there it was. After doing some detective work, I found the reason for my missing file message was due to the pharo binary being built for 32-bit systems. NOWHERE on Pharo's home page or download page is this apparent. No warning is given to the new, unsuspecting, 64-bit-OS-having user.

If anyone involved with the Pharo project is reading this, please understand that this is unacceptable. In 2013, if some software is built for 32-bit OS's only, the user should not only be warned before they decide to download the software, but something less cryptic than a misleading "file not found" error when trying to run the software would be helpful. I guess I can't say for sure, but to me this looks like almost no effort was put into helping new users get started.

Still somewhat determined to get this thing running, I installed an incredible amount of 32-bit libraries. Still no luck. I got to the point where a "could not find module vm-display-X11" is displayed. The file does exist, it's just another case of the 32-bit library blues. I installed some additional X11 32-bit compatibility libraries, but still had no luck.

Unable to justify wasting more time getting this thing working, I just gave up. I really wanted to spend some time with Pharo, but I guess the developers don't care about newcomers who don't already know the in's and out's of the system. I'm sorry, but if you want any sort of Smalltalk comeback that I've been reading so much about, this is absolutely NOT the way to do it.

<comment><USER6> Yep I can only agree with you, and there is some communication issue for the matter of the image/vm downloads.

Some measures have been taken especially if you run from the commandline use the zeroconf scripts from <http://files.pharo.org/scripts>. However still some issue remain that are currently not nice!

\- no full 64bit support (will be addressed but with a 32bit image format this isn't that straight forward) \- missing warning to install 32bit libs under linux (workaround on the way) \- proper packaging (rpm / deb) which installs the dependencies is missing (also, there are some attempts there) \- you have to explicitly tell the VM to run headless or not (I honestly don't know why! :D)

All in all you caught us, we mostly develop on mac, however our test infrastructure is running on linux hence imperatively Pharo has to run under linux. Yet there is some need for proper explanations, installation requirements!

</comment></comment><comment><USER7> Smalltalk is a great language/environment. I think the killer app for it right now is html5 games. You can program the server back end in pharo smalltalk, and the client frontend in amber smalltalk. On both ends, you get full interactivity, ability to inspect and change state, and the ability to debug and modify the code in real-time without any code/compile/run cycle.

</comment><comment><USER8> Is Seaside still being developed? Seems that it died out with DabbleDB being bought up and the take over of the client side js frameworks.

<comment><USER6> Yes seaside is still in active development and there is progress on getting a nice configuration working on Pharo 2.0. Until then you can use our manual build from <https://ci.inria.fr/pharo-contribution/job/Seaside-2.0/> to test it.

<comment><USER9> It isn't fully functional, is it? The image from the CI opens with an STDOUT error.

What's missing to have a "nice" (working?) configuration for Pharo 2.0?

<comment><USER6> Seaside works, yet it has not been officially release for 2.0 hence we rely on a gofer script to load all dependencies. What error? I doubt it's related to seaside. And for the configuration we mostly need somebody to do it :) since the seaside config is pretty big on its own you got to be careful when changing things for a new release.

</comment></comment></comment></comment><comment><USER10> I read so much about small talk from a historical perspective, I'm curious..can anyone explain how and why it matters now?

<comment><USER11> In some sense, it "matters" as much as dozens of other "fringe" language projects (Ceylon, F#, Kotlin, etc.). It brings a different way of thinking to the table. If that way of thinking is one you like, great. If not, move onto the next one.

But beyond that, I think the whole reason Pharo matters is that its team is doggedly bringing Smalltalk _out_ of the historical context. Pharo has libraries for things like XML, JSON, OAuth, Redis, and OpenID so that you can interact with other tools. It has support for command-line applications, comes with an easy-to-use C FFI, and sports a fast JIT so that it's usable for real applications. It has rewritten libraries for speed, breaking backwards compatibility where necessary, and has completely overhauled the UI, while keeping all the pieces that made Smalltalk great. So part of why Pharo matters is that it makes Smalltalk a real, modern language, that can trivially integrate with the massive ecosystem that is existing software. No longer is Smalltalk living in its own little world; it now plays well with others.

As for Smalltalk itself: it still has valuable lessons, even today. Smalltalk is the only system I know where I can trivially save the running app to disk and open that running app, complete with all of its state, on another system to debug what went wrong. It still has some of the best debugging and development tools of any environment I've used for any language. Smalltalk in general, and Pharo in particular, is still one of the most solidly turtles- all-the-way-down environments I have used in my life, where there's no meaningful distinction between your app, and the core system libraries.

Smalltalk may not be for you, but Pharo makes it a genuinely viable choice for real-world development.

<comment><USER12> While I appreciate that your comments are intended to promote Pharo, you seem to be saying that other Smalltalk implementations don't provide support for command-line applications, C FFI, a fast JIT, usable for real applications.

That doesn't seem right to me.

<comment><USER11> I think, in my head, I implicitly also had "open-source" in that list.

There are several open-source Smalltalks that have some of these things, but I _believe_ that Pharo is the only one that does _all_ of them. For example, GNU Smalltalk is the only other Smalltalk I know that has a decent command-line interface, but it lacks a JIT. (If I have this wrong, hopefully Paolo will correct me.) You can absolutely use Squeak to write real-world applications, but the last I checked, you still had to either use the older, slower FFI or write a plugin if you wanted to call C, and the official distributions still do not include a JIT. Cuis is largely a subset of Squeak, and therefore has similar features and drawbacks, and so on and so forth.

If you go closed-source, you do have more options. VisualWorks has a good C FFI and a fast JIT, and might have a great command-line interface (I honestly don't remember), but it's not even free-as-in-beer for hobby projects anymore. Dolphin is likewise fast and has great COM bindings and good libraries, but is proprietary, and has disappeared and come back enough I'm not entirely sure I'd feel comfortable spending money on it.

So, yes, you're right, there are other Smalltalks that fulfill some of these requirements, but Pharo is, as far as I know, the only open-source one that fulfills all.

<comment><USER12> >> VisualWorks ... but it's not even free-as-in-beer for hobby projects anymore. <<

Nonsense.

"3. License Fees. This license is granted to you for your personal use only. Therefore, no license fees are involved, unless you breach the terms and conditions of this Agreement."

[http://www.cincomsmalltalk.com/main/developer- community/tryi...](http://www.cincomsmalltalk.com/main/developer- community/trying-cincom-smalltalk/personal-use-license/)

>> Dolphin ... I'm not entirely sure I'd feel comfortable spending money on it. <<

So don't -- "Dolphin Community Edition is our Smalltalk development environment that is FREE for personal/educational use."

<http://www.object-arts.com/products/dce.html>

<comment><USER9> Dolphin is stagnated since several years. It's a beatiful piece of Software, and the best Smalltalk Dialect in terms of native Windows integration. So good integration that its low level developer (Blair McGlashan) is working at Microsoft since several years ago.

</comment></comment></comment></comment></comment></comment><comment><USER13> Double ended fun! Pharo at the backend, Amber smalltalk on the client.

Excellent news from the Pharo team! It's the most fun I've had playing with computers for almost a decade - Long may it continue!

<comment><USER14> Could someone explain, why pharo matters? I just noticed it on HN#1, and never heard of it before.

<comment><USER9> It is the most recent release of a the Smalltalk based programming environment, Pharo.

If you never heard of Smalltalk, you can google it. But as a summary I can tell you it is the father of Object-Oriented Programming, BitBlt, the Model- View-Controller pattern, the Unit Testing practice (SUnit), the Refactoring engine, among other things people take for granted today.

</comment></comment></comment><comment><USER15> Strange that the Pharo home page doesn't explain what Pharo does. I'm not familiar with Pharo and after scrutinizing the Pharo home page I'm still don't have a clue what it does.

I see a lot of mentions of Smalltalk on this page yet 'Smalltalk' doesn't appear on the Pharo home page.

Am I missing something? If I'm not already familiar with Pharo, am I simply not part of the intended audience?

<comment><USER16> agree, really hard to find out what it is, the only work that I catch and gave me a hint is 'virtual machines', but still pretty vague

<comment><USER17> Must be really hard to figure you are looking at a download page and then to click on "home".

</comment></comment></comment><comment><USER18> Is this news? Just asking because I have had Pharo 2.0 installed for many months, but it was probably a beta - it would be good to have dates on download files and bundles.

I ask because I tried running "System update" and that errored off. If I am using an old version of "2" then I will go to the trouble of re-installing and reloading my little project.

<comment><USER6> Unless you regularly updated and worked on the latest 2.0 beta this is news ;). You have a complete list of images here <http://pharo.gforge.inria.fr/ci/image/20/> including release dates.

During the beta update process it might happen that one or another update fails. Usually that should not happen though.

<comment><USER18> I did system updates, eventually got (mostly)everything loaded (after a few re-trys), but then the image wouldn't save.

So: it only took me a minute or two to fileOut my application packages and reload them and data into a new image. I should have done this in he first place :-(

<comment><USER6> or use <http://smalltalkhub.com> in the first place :)

</comment></comment></comment></comment><comment><USER19> Great Milestone to all Smalltalk diehards. Kudos to the Pharo Team.

Serves up a bigger notice of stuff that will happen in the next two years... Smalltalk is definitely on upsurge, if Pharo beats up the drum and the momentum like this.

Will look forward to fervent Smalltalk with Pharo in the decade ahead.. through all enterprise works..

</comment><comment><USER20> It is awesome to see that Smalltalk, after all this time, is being driven forward like that !

Just be careful: once you get deep enough into the beauty of Smalltalk, you will be changed forever and it will be hard to go back.

<comment><USER21> I used Smalltalk Visual Works back in 1996 in an university project and it was quite good experience.

The current development environments still have some catch up to do with the Smalltalk and Lisp machine offerings.

The only environment I know tried to replicate a similar experience is the family of Oberon operating systems, because Wirth wanted to explorer a similar experience, but using a strong typed language.

</comment></comment><comment><USER22> Does Pharo support multiple hardware threads? How does the performance compare with VisualWorks?

<comment><USER9> No, it doesn't. It is single process with "green threads". Same as node.js ;-)

</comment></comment><comment><USER9> I haven't seen a bigger release for a Smalltalk dialect in the last several years.

Great work!

<comment><USER6> And we're eager to top this in the following years ;)

</comment></comment><comment><USER23> The home page of any project should tell us straight up what it is.

<comment><USER24> The homepage does. This link is to the release announcement.

<comment><USER25> They include an alt text on the logo image. Why not put that text into the image itself?

I see a description is in the title of the page, but that gets cut off in my browser.

"I do enjoy Pharo" is also not a very helpful quote, especially if I don't know who Kent Beck is.

<comment><USER6> What you don't know Kent Beck!! :D and yes even to me that quote is rather meaningless :P. I'll try to get the at least the ALT text updated.

</comment></comment></comment></comment><comment><USER26> Did the new compiler make it into this release? Does anyone know?

<comment><USER6> Nope, even though it is ready for 2.0 it was not included in the release. If you are more interested you can have a look at the prepared jenkins images <https://ci.inria.fr/rmod/job/Opal/> .

<comment><USER11> What was new in the compiler?

<comment><USER6> Cleanups and a modern implementation with proper separation of the compiler toolchain. Additionally they introduced a nice new IR representation to do more sophisticated changes. All in all it does not come with fancy new features but a more solid and clean codebase.

</comment></comment></comment></comment><comment><USER27> I'm sorry, I've been turned off of pharo and smalltalk completely. Mostly due to the fact that I had it forced upon me for my Advanced Algorithms class. I don't like pharo, and I don't like smalltalk

<comment><USER4> Your loss mate.

That says more about the ability of your teacher or the fact that you have some kind of history of abuse by whoever than about the Pharo system.

I guess if he would have used Lisp, you'd dislike Lisp, if it was C++, you'd hate C++.

What are you using, out of curiosity?

<comment><USER27> C++ and java mostly.</comment></comment></comment>


Startup Quote: Steve Jobs, co-founder, Apple - <AUTHOR> http://startupquote.com/post/3346863297

<comment><AUTHOR> It isn't the consumers' job to know what they want.

\- Steve Jobs

<http://startupquote.com/post/3346863297></comment>


Show HN: Rust for Shell Scripting - <AUTHOR> https://github.com/rust-shell-script/rust_cmd_lib <comment><USER2> Tip: In she'll context, it is good style to always print argv[0] in log lines, ie the program name. When myscript.rs reports

        INFO: blabla

It should better report

        myscript.rs: blabla
        or myscript.rs: INFO: blabla

This helps identifying the source when the script is part of a series of pipes, or running in background, etc</comment>


jQuery.expect: DOM Assertion library - <AUTHOR> https://github.com/Codecademy/jquery-expect

<comment><USER2> This is a pretty great project! I can't wait to play with it more. The code looks great, too!</comment>


Record companies made $2.4B last year from streaming, but it's not enough - <AUTHOR> http://arstechnica.com/business/2016/03/record-companies-made-2-4b-last-year-from-streaming-but-its-not-enough/ <comment><USER2> Comparing the revenue from ad-supported streaming to the revenue from vinyl album sales seems disingenuous.

A more accurate comparison would be ad-supported streams against radio plays, but I suspect that, on a `per listen' basis, streaming would come out looking much better, which goes against the ``streaming is ripping us off'' narrative that the RIAA seems to be trying to craft.</comment>


Show HN: I started a repo for sharing algorithm implementations - <AUTHOR> https://github.com/kennyledet/Algorithm-Implementations Everything that would be here is in the README. I hope this gets big, it has tons of potential. <comment><USER2> I like this idea. Here's how I'd expand it if I had 100 hours to kill:

\- Rename the repo to be shared and add yourself as a contributor, instead of branding it as yourself.

\- Organize the files by src/ALGO/LANG/author-name.EXT. That way the emphasis is on the algorithm, then the language. I don't care much about who implemented it, other than to differentiate it from others' implementations for quality, etc.

\- Provide a common-ish API. You don't want to stick your entire algorithm into main(), that's not useful. You want a nice clean interface, so that the consumers of this repo can copy-paste these clean implementations into their own code. Maybe remove main() entirely, and stick it into src/ALGO/LANG/main.EXT. That way I can consume an entire file from your repo without modifying it.

\- Provide unit tests. If you separate out main(), you could do stick all the tests into src/ALGO/LANG/tests.EXT. The value of this type of repo would be that I can grab a clean, well tested copy of ______-sort and use it directly.

\- Edit: Change from underscores to dashes in filenames. Underscores are for losers :). Use dashes whenever you can.

\- Add lots more algorithms, not just basic ones.

\- Get a few friends to add some algorithms, then thoroughly review them in comments on GitHub.

\- Provide speed test comparisons of each implementation, stick them in src/ALGO/LANG/speed-tests.EXT

\- Now that we are getting fancy with the testing, etc., provide a Makefile or some such for building the various test programs and running unit and speed tests on them.

\- Edit: Stub out lots of potential algorithms. Even if you don't know how to implement them, create the directory and main.EXT for them, then open a ticket so that others can implement them. Give everyone that submits a pull request committer access, so they might work directly on this repo and not deal with any friction by having to wait for you.

There is probably more, but the above would eat nicely into that first 100 hours. I have no idea what you'd personally get out of this on the other end. Probably nothing. On the other hand, this could become _the_ repository to check for a weird "2x faster with smaller memory usage" implementation of a red-black tree, or a clever general number sieve, etc.

<comment><AUTHOR> Sorry I replied to this one late. I was waiting til I had a bit more free time to reply to this one seriously.

You have a ton of great suggestions in here, all taken into consideration and this will definitely help the repo be much better by tomorrow. I will get on it. Thank you.

Most helpful post in the thread vs. "lel it's already been done xD _links to wiki site_ "

>On the other hand, this could become the repository to check for a weird "2x faster with smaller memory usage" implementation of a red-black tree, or a clever general number sieve, etc.

Precisely my aim. Thanks for understanding this!! Apparently other people think I'm trying to make it a primary learning resource or something...

<comment><USER3> Missing from the discussion seems to be the subject of licenses. Some of the files have one and some don't (making using the code murky), so you should probably establish a rule of an explicit BSD license or something. "Public domain" isn't suitable as some countries make it difficult or impossible for people to give up copyright (that's why CC0 exists, but I'm not sure how well that works for code).

<comment><AUTHOR> Ah yes, you're right. I didn't think far enough into it before I pushed the initial commit. I guess I was just excited, but this is perhaps one of the most important changes that need to be made. Thank you for bringing this to the forefront of my mind, it will be a new convention now.

</comment></comment></comment></comment><comment><USER4> Have you considered contributing to LiteratePrograms[0] (or such) instead?

This is great practice, and I encourage you to go for it, but for those interested in looking at algorithms implementations, or looking to cut their teeth and contribute implementations, I'd encourage you to look at already existing algorithm repositories.

[0][http://en.literateprograms.org/LiteratePrograms:Welcome](http://en.literateprograms.org/LiteratePrograms:Welcome)

<comment><AUTHOR> Again, the purpose of this is to not use wiki-based collaboration but leverage the power of Git and Github.

>instead

Look guys, this is not trying to replace anything. It's something new. It should be supplemental to one's journey, I'm not trying to pass this off as some attempt to be even the main resource for learning algorithms. That would be foolish.

>This wheel was invented, but it's better for traction in the snow

We really need to stop holding ourselves back so much in this field, it's not really proper for us.

Thanks for the link though, it will be added.

</comment></comment><comment><USER5> Why post this when you only have a single insertion sort in C? Practically, this has zero use compared to books which include algorithms, illustrations, and code.

<comment><USER6> Release early, release often?

</comment></comment><comment><USER7> Whether you recognize it or not, you face a choice between: a) keeping your name on said repo, and b) substantially higher growth rate. When people do things for free, they don't do it so someone else can put their name on it. (It's irrelevant whether this was your "intention" \-- I'm not saying, I'm just saying.)

<comment><USER5> Well he also puts his name in the insertion sort file at the top named, wait for it.. "kennyledet_insertion_sort.c":

// Kendrick Ledet 2013

As if git blame wasn't enough, let's stick our full names in every file prefixed with our name. People have got to know that I'm the one who created this sample algo code!! <waits for applause>

<comment><AUTHOR> > let's stick our full names in every file prefixed with our name. People have > got to know that I'm the one who created this sample algo code!!

I'm not exactly sure what you're getting at here, or why you're trying to be funny in what I wanted to be a relatively serious affair. The implementation as well as the comment were both written way before I even had the idea for this repository.

Also,

1\. Kennyledet just so happens to be my Github name. The full name comment at the top is not a listed convention.

2\. The convention of putting your _github_ username is actually a feature. Do you suggest just clumping everything together under one algo folder, where filenames could be similar and possibly conflict? :)

Again, it's not about people discovering me, it's about making this popular on Github so more practicing programmers can share, discuss and learn new algorithms. Please think more logically here..

P.S., I know what git blame is. Don't try to undermine the point here. I wanted the file structure to be flat and adhere to those conventions for more reasons than you probably think I have. You're welcome to start your own repo and try and get it as active as this one has within 2 hours...Then I'll close mine.

Thanks.

<comment><USER5> I'm gonna get on that repo, because that's what my criticism infers, creating my own repo. Yes.

</comment></comment></comment></comment><comment><USER8> RosettaCode is a site that might be of interest.

[http://rosettacode.org/wiki/Rosetta_Code](http://rosettacode.org/wiki/Rosetta_Code)

<comment><AUTHOR> Yes, that's actually one of the sites that led to this idea, which in my mind is superior in many cases. For instance (and probably the only instance that matters), we get to leverage the power of Git and Github over just wiki-based editing

Also, I think the organizational style on Github is more suitable for what this has the potential to be.

I would love if I could clone the code on RosettaCode to my machine, add things, and send the change requests right back from the power of the command line. We're both programmers, so of course we know it's doable with code. And I could go ahead and code that script. However, it's not really practical.

Thanks though, you just gave me a new idea for a command line utility (not just limited to Rosettacode's wiki)

P.S., I will add a link to it in the README.

<comment><USER9> That can be done and should be done. In IRC #rosettacode on freenode and ask if someone of the admins will add: [http://www.mediawiki.org/wiki/Template:WikimediaGitCheckout](http://www.mediawiki.org/wiki/Template:WikimediaGitCheckout) or if you can contribute something to their wiki's sourcecode. It IS GPL, so you will be able to retrieve the code! :)

</comment></comment></comment><comment><USER10> I would suggest to not put the algorithm into a main function as it is done in your sort but instead in a separate one with a proper signature.

</comment><comment><USER11> I've started the same thing before.

Right now I have algorithms implemented in Go, Java and C/C++

[https://github.com/learnalgorithms/datastructures](https://github.com/learnalgorithms/datastructures)

Accepting contributions :)

</comment><comment><USER12> I suggest you participate in online programming competitions. For me it was more helpful than just read books.

<comment><USER13> I agree with this very much. Check out [http://uva.onlinejudge.org](http://uva.onlinejudge.org) for some example problems with automatic judging of contest problems.

<comment><AUTHOR> I had discovered this link a few days ago. Added it to the resources section

</comment></comment></comment><comment><USER14> There is a handful of websites showing algorithm implementations and they are on edu sites. Unless you plan to write the algorithm in multiple popular algorithms...

</comment><comment><USER15> How do you make sure the correctness of the implementations? Shouldn't there be tests?

<comment><AUTHOR> Precisely. This is something that I have plans on implementing, but obviously I don't have the whole day 24/7 to manage this repo man. I'm doing other things right now (work), that's why I took so long to even answer the initial comments in this thread.

<comment><USER16> Tests and behavior should be defined before the code.

I recommend you comment out all code, write the tests and then un-comment the code line by line.

This not only tests the code, but tests the tests and assures that you are covering the edge cases the code contains already.

<comment><AUTHOR> Update: Unit tests are now a convention.

</comment></comment></comment></comment><comment><USER17> Worth taking a look at: [http://www.keithschwarz.com/interesting/](http://www.keithschwarz.com/interesting/)

<comment><AUTHOR> Dude, holy crap. I had this link bookmarked in the past, lost all my bookmarks (yeah, back then I was dumb enough to not back these things up) and never remembered the link. Many thanks.

</comment></comment><comment><USER18> Great Idea! I have something similar going at - [https://github.com/prakhar1989/Algorithms](https://github.com/prakhar1989/Algorithms) only in Python at the moment. Contributions are more than appreciated! :)

<comment><AUTHOR> Nice man. Python is one of my favorite langs, starred and watching.

</comment></comment><comment><USER13> As far as books go, I am partial to "The Algorithm Design Manual" by Steven Skiena. It has good explanations of how the data structures and algorithms work, as well as entertaining "War Stories" of algorists in action.

<comment><AUTHOR> Ah yes, surprised I forgot to include this classic. Adding it in.

</comment></comment><comment><USER19> It is nice to have a place with algorithms of fairly common interest.

There is however a _definitive_ resource on the web: [http://calgo.acm.org](http://calgo.acm.org)

</comment><comment><USER20> I use The Stony Brook Algorithm Repository: [http://www.cs.sunysb.edu/~algorith/](http://www.cs.sunysb.edu/~algorith/).

<comment><AUTHOR> This is pretty comprehensive. I linked to it in the resources section

</comment></comment><comment><USER21> I'm sure there is a resource somewhere that can be used to _jump-start_ this repo with a bunch of implementations.

<comment><AUTHOR> Of course, but the purpose of this repository was to keep it to the implementations of active participants in the repo.</comment></comment>


Airline sex discrimination seating controversy - <AUTHOR> http://en.wikipedia.org/wiki/Airline_sex_discrimination_policy

<comment><USER2> The part I find worst is the comment saying that it's still alright because, statistically, "more sex offenders are male".

If that's a valid judgement call, surely the fact that most child sex offenders are relatives/acquaintances of the victim rather than strangers means it's safer to sit the child away from their family and friends? I get slightly annoyed by these misuses of statistics.

</comment><comment><USER3> I guess I wouldn't complain about the policy to attempt to do this when initially filling seats but to have a forced policy is taking it too far. Especially when it causes cases like the man who was not allowed to sit next to his pregnant wife because of it.</comment>


Prospective association between tobacco smoking and death by suicide [pdf] - <AUTHOR> https://www.cambridge.org/core/services/aop-cambridge-core/content/view/8A8AF5E6C4374912BA41FE0DC9A47843/S0033291717000587a.pdf/prospective_association_between_tobacco_smoking_and_death_by_suicide_a_competing_risks_hazard_analysis_in_a_large_twin_cohort_with_35year_followup.pdf <comment><AUTHOR> We know that people with mental illness smoke a lot more than other people - they smoke more often and they smoke more deeply.

But, even when correcting for people with depressive symptoms or mental illness the effect was still there.

It seems that there might be a causal link between smoking and death by suicide.

<comment><USER2> Or it could just be the correction is not correct. Diagnosis of mental illness is not very accurate.

<comment><AUTHOR> You could just read the paper before commenting.

<comment><USER2> Or maybe you should have asked me if I had read the paper before making such an inane comment. I did read the paper and I am not convinced that they corrected for mental illness correctly in the study.</comment></comment></comment></comment>


Statistical Advice for A/B Testing - <AUTHOR> http://sl8r000.github.io/ab_testing_statistics/

<comment><USER3> Sorry if this sounds condescending. I'm asking out of total naivety. What is the background of people who typically run A/B tests? Are they often unfamiliar with things like multiple comparisons, stopping problems, and the like?

<comment><USER4> I can answer from personal experience. I'm a dev at a tiny startup. I took statistics at college 20 years ago but haven't used it since the final exam, and remember little other than sample size is critical. I've figured out through recent experience that you need to let a test run a while - <USER2> seem to flip flop for the first few thousand visitors. I use tools like VWO because it makes it simple to run a simple one variable test, and I'm happy with the results (though ignorance is bliss, so maybe others would not be so content).</comment></comment>


Bob, PML's Second "Primary" Coordinate Measuring Machine (2016) - <AUTHOR> https://www.nist.gov/news-events/news/2016/09/meet-bob-pmls-second-primary-coordinate-measuring-machine <comment><USER2> This machine was made by Moore Special Tool Co, using the techniques that they document in detail in their famous book _Foundations of Mechanical Accuracy_.

It's unfortunate that such a business couldn't survive making such products to the modern day, and these days the remaining Moore machines -- in many ways works of art -- can be found either rusting in outdoor lots, or being auctioned off on ebay for less than the price of shipping.

Remaining Moore machines continue to be used to make the precision parts, such as air bearings, that underlie our semiconductor factories and other industries: [https://m.youtube.com/watch?v=tst_1oCuWqw](https://m.youtube.com/watch?v=tst_1oCuWqw)</comment>


Show HN: Doctest-JS. Write unit tests using comments in your code - <AUTHOR> https://github.com/supabase/doctest-js <comment><AUTHOR> Hey HN. This is a small but useful library for writing tests using JSDoc.

For example you can write:

      /**
       * Returns the sum of 2 numbers
       *
       * @example sum(1, 2)
       * //=> 3
       */
      export const sum = (a, b) => {
        return a + b
      }

And then this library will assert that the @example returns the correct code.

This has been super useful for us because it is cognitively easier to write/run the tests in the context of the function itself.

It's not very well tested with classes, but we are looking for any feedback and will continue to improve.</comment>


Handbook of Covid-19 Prevention and Treatment from Hospital with 0% fatality [pdf] - <AUTHOR> https://video-intl.alicdn.com/Handbook%20of%20COVID-19%20Prevention%20and%20Treatment.pdf?spm=a3c0i.14138300.8102420620.download.5da1647fUkZuXY&file=Handbook%20of%20COVID-19%20Prevention%20and%20Treatment.pdf <comment><USER2> I would welcome a handbook like this for individual or family use at home if hospitals become overwelmed and can no longer accommodate even seriously ill patients. The featured handbook looks very useful, but it's written for medical professionals in a hospital setting. I'm thinking about a handbook with instructions on how to do life critical procedures _as best as possible with the resources one might have at home_. Off the top of my head, one topic could be about the use of a bag valve mask[1] (as a "ventilator"), how to make one at home, when should it be used, things like that.

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

<comment><USER3> There's a Chinese tutorial of how to make ~n90 grade masks with HEPA and SMS non-woven fabric.

[https://www.zhihu.com/question/367499169/answer/996640281](https://www.zhihu.com/question/367499169/answer/996640281)

<comment><USER4> I'm sorry if it's slightly off topic, but could we 3D print plastic masks? It seems they could at least protect from the biggest droplets. Better than nothing, I would say. Even we could create a transparent full facial mask, protecting the eyes.

<comment><USER5> Here is an open-source 3D mask model:

[https://www.3dnatives.com/en/mask-against- covid-19-180320205...](https://www.3dnatives.com/en/mask-against- covid-19-180320205/)

</comment></comment></comment></comment><comment><USER6> There's a crowdsourced handbook here, please contribute:

ToC: [https://coronavirustechhandbook.com/](https://coronavirustechhandbook.com/)

Doctors: [https://coronavirustechhandbook.com/doctors](https://coronavirustechhandbook.com/doctors)

Self-care: [https://docs.google.com/document/d/1DioVg-8nu25up0JMdd-w3AsJ...](https://docs.google.com/document/d/1DioVg-8nu25up0JMdd-w3AsJPy1tl0MsobfG6TzGOws/edit?fbclid%253DIwAR2i7z3loSCClu3hx3dlQ95MHXKKi1a9sc098x5pezS9gVDop3MBk- Set-o%26amp;sa%3DD%26amp;ust%3D1584598488246000&sa=D&ust=1584598488284000&usg=AFQjCNGuhztLcKOLttUxhxbRlySbhGduhQ)

<comment><USER7> Regarding the self-care document, I'd never heard of acetaminophen before so had to look it up but perhaps medical people know the term? I'd half guesses by seeing the precautions though.

In the UK it's generally called Paracetamol and is in a lot of over-the- counter medicine.

<comment><USER8> Acetaminophen is just the American word for Paracetamol.

</comment></comment></comment><comment><USER3> Looks like the handbook was funded by Jack Ma and Alibaba. There's also an online forum setup for doctors [https://covid-19.alibabacloud.com/](https://covid-19.alibabacloud.com/)

<comment><USER9> Props to Jack. This, along with his donation of a million masks and half million testing kits, shows selfless entrepreneurship.

<comment><USER10> Not sure why you're getting downvoted. Philanthropy is philanthropy, and i don't see anything wrong with appreciating when someone does something good.

<comment><USER11> I think we all know why he's getting downvoted but it's against the rules to talk about it.

<comment><USER12> It's not that it's against the rules. It's just that you'll be downvoted by those that hate billionaires and that will impact your ability to comment. I'm glad I accumulated enough karma from before HN became like this that I can handle losing some karma to say what others have been silenced from saying by downvoters.

[https://slatestarcodex.com/2019/07/29/against-against- billio...](https://slatestarcodex.com/2019/07/29/against-against-billionaire- philanthropy/)

<comment><USER11> You can see what HN is right here

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

</comment></comment></comment></comment></comment></comment><comment><USER13> Looks good. I question the survivorship bias from the "0% fatality". They could have had no bad cases or just got lucky. Wouldn't a measurement of how many people it spread to at the hospital be better? The guide seems pretty legitimate though.

</comment><comment><USER14> I'm glad info from China is filtering over onto the rest of the internet. So much vital information, especially about how to keep safe as an individual, is only available on WeChat in Mandarin.

<comment><USER15> Has any of this been collected anywhere?

</comment></comment><comment><USER16> That's a serious handbook about prevention and treatment, whoever to medical professionals or normal people. And it's more valuable to those medical in the fire line now, You still can watch the news about doctors or nurses treating potential patients without masks or any protect suit. It is a high risk to anyone, Once hospitals been infected even overwhelmed, We will be a very dangerous situation.

Perhaps People panic at the beginning in a piece of uncertain information about diseases, but now there is a handbook or practices something and some people have already experienced this and sum up some experiences, It deserved be paid attention to.

<comment><USER17> Yes. This is seriously useful information. This is how supportive treatment to get patients though the illness is done, from people who have done it. It's a very complex process. There are drugs and treatments which help, but only when accompanied by elaborate testing and monitoring. This hospital has worked out how to do this for a large number of patients. They have a dedicated facility that does only this. That's needed.

</comment></comment><comment><USER18> I wonder if the U.S is going to use these drugs or if most docs will be too conventional to use these drugs off label.

"Antiviral Treatment... lopinavir/ritonavir (2 capsules, po q12h} combined with arbidol (200 mg po ql 2h)...chloroquine phosphate can be used on adults... Interferon nebulization Darunavir/cobicistat hdarunavir/ cobicistat (1 tablet qd) or favipiravir (starting dose of 1600 mg followed by 600 mg tid) is an alternative option after the ethical review. Simultaneous use of three or more antiviral drugs is not recommended. "

<comment><USER19> _> I wonder if the U.S is going to use these drugs or if most docs will be too conventional to use these drugs off label._

Domestic therapeutic recommendations from a number of European countries (e.g. France, Italy, Switzerland, Belgium) includes use of these medications, so I think it likely they will.

e.g. Belgium:

[https://epidemio.wiv- isp.be/ID/Documents/Covid19/COVID-19_In...](https://epidemio.wiv- isp.be/ID/Documents/Covid19/COVID-19_InterimGuidelines_Treatment_ENG.pdf)

<comment><USER20> Do you know if the other countries you mentioned have equivalent documents to the one you linked for Belgium?

</comment></comment></comment><comment><USER21> I just tried to promote this on Twitter. They halted my ad.

<comment> happy-go-lucky > An update on our continuity strategy during COVID-19

[https://blog.twitter.com/en_us/topics/company/2020/An- update...](https://blog.twitter.com/en_us/topics/company/2020/An-update-on- our-continuity-strategy-during-COVID-19.html)

<comment><USER22> Very interesting how the health care guidelines of the dutch RIVM would probably at various points in time have been against the twitter policy.

</comment></comment></comment><comment><AUTHOR> While posting this link was thinking, if this book can be done in restructured text with pdf generated using sphinx and subsequently extend it for country specific conditions and language with the help of local medical staff. It can become a very helpful knowledge base which can be referred to by practitioners and will be very useful for developing countries and clinics in remote areas.

</comment><comment><USER23> Why does everyone want to reduce the fever with pills?

The immune system works best when there is a fever and if you suppress it you are just trading long term complications for short term relief. In the Covid-19 case it would IMO be much better to drink lots of fluids and just let the fever run its course.

I'm not a doctor so you shouldn't listen to me, listen to the awesome Dr Campbell instead, [https://www.youtube.com/watch?v=gJqSdmNNwW4](https://www.youtube.com/watch?v=gJqSdmNNwW4)

<comment><USER24> Most of the proximate-causes of death from COVID-19 come from the immune system in overdrive killing healthy cells in addition to infected ones.

Not sure you want a stronger immune system in that case; you probably want to reduce inflammation directly.

<comment><USER25> Experts seem to rapidly change of opinion about that :

[https://www.sciencealert.com/who-recommends-to-avoid- taking-...](https://www.sciencealert.com/who-recommends-to-avoid-taking- ibuprofen-for-covid-19-symptoms/amp)

Actually not sure who to trust about this anymore.

<comment><USER26> >> Editor's note (19 March 2020): Since the publication of this article, the World Health Organization has updated its advice on the official Twitter account: "Based on currently available information, WHO does not recommend against the use of ibuprofen."

Yeah, messy situation, but I'll take their word and the Chinese doctors for it whom have been administering ibuprofen to measure success

<comment><USER25> Note that even if the WHO changed its recommendation, french doctors still recommend to _not_ take anti-inflammatory. Use paracetamol instead (but not more than usual). Maybe they didn't get the memo yet, I can't tell.

</comment></comment></comment></comment></comment><comment><USER27> It's probably wise to take survivorship bias into account here. Also, I think the focus is on the wrong data point. Wouldn't it be better to look at hospitals with the best/fastest recovery rate? Or look at hospitals with the highest fatality rates to understand what specifically is causing that?

<comment><USER3> > survivorship bias

More like location bias. This hospital is near Alibaba HQ and likely have previous cooperation with Alibaba Health

</comment></comment><comment><USER28> Is this already been supplied to doctors in US? If not, I can fwd it to anybody who is a doctor in US.

Sadly, a lot of US hospitals currently don't have the resources to do all this. Some can't even get enough N95 masks.

</comment><comment><USER29> Link isn't loading for me, anyone have a backup?

</comment><comment><USER30> Just the playbook I think we need...

</comment><comment><USER31> Home quarantine for two weeks or until I can finally hear the news that 0 cases for Covid-19. I am keeping the house clean and so as myself.

</comment><comment><USER32> Why not try Herbs which were proven to cure people even during the 1918 Spanish Flu. Lomatium Root was used during that time with success. [http://debrasnaturalgourmet.com/lomatium-root-possibly- the-b...](http://debrasnaturalgourmet.com/lomatium-root-possibly-the-best- anti-viral/)

<comment> dis-sys because generations of the smartest spent their career on something scientifically proven to be far better - it is called modern medicine.

</comment></comment><comment><USER33> I wonder what the handbook for the billions of people in hundreds of countries without adequate health care infrastructure is. Our data points so far has been from mostly dismal first world responses with capability to report skewed statistics due to system under testing. But the reality is, most of the world will respond to this outbreak the same way they did the Spanish Flu. It would be interesting to see outcome of the first post herd-immunity country.

<comment><USER34> I'm terrified for how this may play out in Venezuela.

<comment><USER26> Vnzla has got strategically ties with Cuba, whom have already been exporting antivirals in great amounts to China, they will be fine, tho their prisons might suffer, just like most of latam prison population

If you want to worry worry about the US homeless population and those poor people on Mexican us sponsored migratory concentration camps and us Ice concentration camps as well

<comment><USER34> Are you sure that easy access to antivirals is effective against covid19?

That seems contrary to what I'm hearing from other expert sources.</comment></comment></comment></comment>


Introducing Grab – python framework for web scraping - <AUTHOR> http://www.imscraping.ninja/posts/introducing-grab-framework-python-webscraping

<comment><AUTHOR> Opps looks like divshot.io is down.

[https://gist.github.com/istinspring/62e94c1d39f52b90a4fd](https://gist.github.com/istinspring/62e94c1d39f52b90a4fd)

i post article to gist

</comment><comment><AUTHOR> It's on top of /r/python now.</comment>


Health benefits of electric cars: 'large improvement in air quality' - <AUTHOR> https://www.utoronto.ca/news/u-t-researchers-model-health-benefits-electric-cars-find-large-improvement-air-quality <comment><USER2> Here in the UK, a lot of places are going electric only as we try to improve air quality. It hasn't reached the point of whole areas, but particularly bad roads...

[https://www.ft.com/content/2982a382-20b3-11ea-92da-f0c92e957...](https://www.ft.com/content/2982a382-20b3-11ea-92da-f0c92e957a96)</comment>


Moon Water Discovery Hints at Mystery Source Deep Underground - <AUTHOR> http://www.space.com/22553-moon-water-mystery-source.html

<comment><USER2> With the presence of (liquid) water, is there a high chance of simple alien life on the moon? I mean, i can't think of any place in the sea that's downright hostile to life, where life hasn't found a way™.

<comment><USER3> This isn't about liquid water, as far as I can tell.

</comment></comment><comment><USER4> I remember when the search for water meant something big. I remember the media being all over it.

Now, there is water everywhere and nobody cares.

<comment><USER5> Actually this is just a confirmation of water already previously found. It's nothing super groundbreaking but very significant nevertheless.

It's also the fact that the moon isn't exotic enough for the media/masses.

<comment><USER6> Confirming a significant amount of water on the moon could mean in-space fuel manufacturing and refueling, though!

<comment><USER7> How? Water is already a relativly low-energy compound, so I assume you are talking about using it to manufacture hydrogen molecules to use as fuel.

An external source of water is completely unnecessary for this. The idea behind hydrogen as a fuel is that you can react it with oxygen to produce water, which is a lower energy molecule. You can then harness that difference in energy to do whatever. The amount of water generated is equal to the amount of water needed to generate the hydrogen (and oxygen) molecules in the first place. It is a rechargable battery.

<comment><USER8> I think the idea is that you can use solar or nuclear to crack it into hydrogen and oxygen for use as rocket fuel. With rockets, fuel is both energy source and reaction mass, meaning that you throw it out the back end and can't recover it. You can also use the oxygen for breathable atmosphere. Every kilogram of useful mass you can find on the moon is one less kilo you have to haul from earth.

<comment><USER9> You can also use it as propellant for nuclear thermal rockets. You can't lift off from Earth on one, but the Moon is an easier problem.

</comment></comment></comment></comment></comment></comment><comment><USER10> What would happen if very simple life was found on the moon? I mean what effects would it have on society, would it be as significant if life was found say on mars? Would it put an end to the alien life debate or just fuel it further? I doubt have high hopes for there being life there, as obviously life needs more than just water but its fun to think about

<comment><USER11> I think a lot would depend on the origin of that life. Asteroid and comet impacts with Earth can eject life bearing material into space, and that material can reach the Moon, Venus, Mars, Jupiter, and beyond [1].

Some life forms seem likely to be able to survive that kind of ejection, and a long trip through space, and re-entry in a planetary atmosphere [2].

If we find life on the Moon, or Mars, or Europa, it could turn out to be that it originated on Earth. It would still be an amazing and extremely interesting discovery, but not the momentous discovery that finding true alien life would be.

When considering the possibility that Earth life has spread to other parts of the solar system, one should also consider the possibility that it went the other way. Just as ejected material from Earth can reach other planets, ejected material from other planets can reach Earth. Some believe that conditions on Mars once were more favorable for the origin of life than they were on Earth, so it is a possibility that life started there, and then spread to Earth. Around 0.2% of meteorites found on Earth are thought to have originated on Mars.

[1] [http://arxiv.org/abs/1108.3375](http://arxiv.org/abs/1108.3375)

[2] [http://www1.univap.br/~spilling/AB/Olsson- francis_cockel_201...](http://www1.univap.br/~spilling/AB/Olsson- francis_cockel_2010_astrobiology_Exp.pdf)

</comment></comment><comment><USER12> The actual source, "Remote detection of magmatic water in Bullialdus Crater on the Moon":

[http://www.nature.com/ngeo/journal/vaop/ncurrent/full/ngeo19...](http://www.nature.com/ngeo/journal/vaop/ncurrent/full/ngeo1909.html)

</comment><comment><USER13> Am I the only one thinking about underground moon aliens?

<comment><USER14> Moon Nazis, I watched a documentary about those, "Iron Pie" or something like that...

<comment><USER15> Iron Sky : [http://www.imdb.com/title/tt1034314](http://www.imdb.com/title/tt1034314)

<comment><USER14> I should have used <sarcasm>

</comment></comment></comment></comment><comment><USER16> this is about magmatic water, which is stuff trapped underneath the crust in the liquid planetary interior. you'd hardly call the stuff liquid since it's going to manifest itself as hydroxide or other hydrated minerals once released to the surface. just like the polar region solar wind water / hydrogen, you'd have to actually mine the damn stuff in order to make use of it. seeing as rocks have a ton of oxygen in them normally, this is really only significant as a source of hydrogen. permanently shadowed ice "may" be significant as a source of water in and of itself, but even still you've got huge technical challenges trying to get at it (care to operate in a 30K environment).

anyways, mercury has way better ice deposits than the moon does and no one cares.

EDIT: oh yeah the apollo missions found hydrated volcanic glass beads that were ~15ppm water, i'm not sure how this finding relates to that one but don't get the idea that the quantities involved will be large on a local scale though they're probably much higher than that.

<comment><USER17> Merely getting to orbit Mercury is more energy-expensive than leaving the solar system altogether, then landing in a high-gravity environment and without an atmosphere. Mercury is not easy to get to.

<comment><USER18> I'm trying to wrap my head around this. Is it really more energy intensive to slow down in mercury's orbit, than escaping the sun's gravity well? If that's true, can I inflect that the delta between mercury and earth is larger than the delta between earth and infinity, i.e. we are 'more than halfway out' of sun's gravity well in terms of gravitational energy levels?

<comment> T-hawk Yes. Check the orbital velocities involved. Mercury is 48 km/sec, Earth is 30, and an object at infinity would be zero. Kinetic energy is proportional to velocity squared. Square the orbital velocities and you see the Mercury-Earth energy delta is larger than Earth-infinity.

<comment><USER18> Thanks. Makes sense of course.

</comment></comment></comment></comment></comment><comment><USER19> No surprise here. The most popular hypothesis of Moon formation says, that it used to be a piece of Earth ([https://en.wikipedia.org/wiki/Giant_impact_hypothesis](https://en.wikipedia.org/wiki/Giant_impact_hypothesis)).

</comment><comment><USER20> That has got to be hands down the the most horrible site for browsing on an iPhone I have ever seen. It's almost completely unreadable. It's like being stabbed in the eyes with sharpened social media icons. (OT for article, but not HN).

<comment><USER21> There's plenty of HackerNews apps you can use rather than the website.

<comment><USER22> I'm guessing they're referring to the space.com site. When zoomed in on the text (Android 4.3), there are FB, G+ etc. share buttons floating in the middle of the screen and the drop down top menu likes to make sporadic appearances also.

<comment><USER21> I use the Android app of this: [http://hn.premii.com](http://hn.premii.com)

It summarises the content so you don't have to even visit Space.com. Problem solved.</comment></comment></comment></comment>


First moving picture of a solar eclipse – captured in 1900 - <AUTHOR> https://www.theguardian.com/science/2019/may/30/captivating-bfi-shares-first-footage-of-a-solar-eclipse-from-1900-john-nevil-maskelyne <comment><USER2> The photographer John Nevil Maskelyne was a well-known magician, writer, card- sharp, occultist, and early hacker. Worth reading about him [https://en.wikipedia.org/wiki/John_Nevil_Maskelyne](https://en.wikipedia.org/wiki/John_Nevil_Maskelyne)

</comment><comment><AUTHOR> The video: [https://youtu.be/q4jfPfMKBgU](https://youtu.be/q4jfPfMKBgU)</comment>


StackOverflow.org - <AUTHOR> http://stackoverflow.org/ <comment><USER2> Can't help feeling that this domain is just there to glean traffic from stackoverflow.com. I would have said such attempts were likely to be a bit self-defeating with the high-tech community the way it is.

<comment><USER3>
        Domain ID:D104182029-LROR
        Domain Name:STACKOVERFLOW.ORG
        Created On:01-Apr-2004 22:50:27 UTC
        Last Updated On:06-Jul-2013 19:52:59 UTC
        Expiration Date:01-Apr-2014 22:50:27 UTC

StackOverflow.com was ``created in 2008 by Jeff Atwood and Joel Spolsky'',[1] so I think it's probably just a coincidence.[2]

Besides, what possible benefit does Brian, author of the .ORG, get from gleaning traffic from .COM? He has no ads, isn't trying to sell anything, and isn't offering a competing service...

[1]: [http://en.wikipedia.org/wiki/Stack_Overflow](http://en.wikipedia.org/wiki/Stack_Overflow)

[2]: Or a trip in a time machine being totally squandered.

<comment><USER2> You are quite correct. I apologize for my brash assumption.</comment></comment></comment>


Ask HN: How to rate limit a distributed web service? - <AUTHOR> <comment><USER2> www.apilimit.com is a service that does this exactly.

<comment><USER3> From the very limited documentation available without signing up, that service requires a roundtrip to apilimit.com's servers before fulfilling the request (to answer the "should the API do this or block this?" question). That's going to add a pretty big overhead to every request, not to mention requiring either a continuously open connection to apilimit.com or building a connection for every request, and as we're talking about customers that are hitting rate limits, that's automatically going to be a lot of requests.

A solution would be to include an encrypted token on each request that the user sends with their next request. The token would include details of how long the API should wait before fulfilling the request (or just block it the request). This would require every API server in the network being able to decrypt requests from any other server, which is a problem, but securely sharing keys _can_ be done. It'd also be necessary for all the servers to share information about who has a token otherwise clients could just request a new token (effectively starting over). If you're willing to accept the first call being slow then that's not really a problem though.</comment></comment>