Code Staging in GNU Guix - <AUTHOR> https://hal.inria.fr/hal-01580582/en <comment><USER2> Another explanation of g-expressions can be found here:

[https://www.gnu.org/software/guix/manual/html_node/G_002dExp...](https://www.gnu.org/software/guix/manual/html_node/G_002dExpressions.html)

I don't know if it's just me, but a lot of build systems just seem unnecessarily complicated. I don't understand why it's necessary to have any more features than a templating language would provide. So for example, set up a template for each compiler with default values, allow the user to override the default values, and throw an exception if builds fail.

<comment><USER3> I hate to ask, but have you actually checked what the extra features are? There is a solid chance that the folks working on this are hitting real use cases.

Offhand, in this case in particular, it is probably to provide dependency isolation of things that you are building. Some things work as global to the computer dependencies. Some do not.

As for why give the flexibility allowed with a full language? In large, so that users are not constrained by the single vendor of the templates. You could have multiple vendors of the templates, of course, but I suspect you will find that immediately everyone is encouraged to self vend their own. In which case, few would ever actually talk about the templates, but the language the templates are written in.

<comment><USER2> My question was and is, why is there so much complexity? If there are valid reasons, then fine, but from what I'm looking at a lot of it seems unnecessary.

At its core, what is a build system meant to do? Build packages based on set configurations, right? In other words:

1\. Set compiler flags.

2\. Define/include/build dependencies.

3\. Set build paths.

4\. Build and test packages.

All of the required steps can be managed manually via the command line, and at its core a build system is just a way to automate this work. Why are other command-line tasks so much simpler to automate than package compilation? That's what I want to know.

<comment><USER4> How do you setup the rest of dependencies configuration ? How do you know that there are no hidden dependencies ? How do you handle time ? How do you ensure that it can be reproduce ? How do you define the dependencies ? How do you make sure that nothing change the build paths ? The deps paths ? That your environment is exactly the one you want ? That you dynamicly link to the correct lib ? And let's not talk about cross compilation.

Also how do you clean behind yourself ?

Same thing for testing with even more setup.

<comment><USER2> > "How do you setup the rest of dependencies configuration ? How do you know > that there are no hidden dependencies ?"

Each dependency has its own build configuration file. You build a tree of dependencies and start compilation from the lowest level (i.e. the build objects without any non-compiled dependencies).

With such an approach, why would you have a hidden dependency?

> "How do you handle time ?"

What do you mean by this?

> "How do you ensure that it can be reproduce ?"

Semantic version control on the dependencies.

> "How do you define the dependencies ?"

Is this a hard problem?

> "How do you make sure that nothing change the build paths ? The deps paths ? > That your environment is exactly the one you want ?"

By testing during the build process. In the case of the environment, it's just a question of checking against a list of expected environment settings (e.g. OS version, processor architecture, processor features, etc...).

> "That you dynamicly link to the correct lib ?"

This comes down to version control.

> "Also how do you clean behind yourself ?"

Again, is this a hard problem? Even the simplest of makefiles can describe how to handle this.

Perhaps it's best to give a concrete example of a task which is hard for a build system to manage, because I'm still not seeing the complexity here.

<comment><USER5> There have been a bunch of papers published discussing these topics at great length, and many attempts at producing simpler systems that still work at non- trivial scales. I'd suggest taking a look at [https://nixos.org/~eelco/pubs/phd- thesis.pdf](https://nixos.org/~eelco/pubs/phd-thesis.pdf) and/or [https://nixos.org/~eelco/pubs/nspfssd- lisa2004-final.pdf](https://nixos.org/~eelco/pubs/nspfssd-lisa2004-final.pdf) for an overview of the origins of Guix and the reasoning behind its apparent complexity.

<comment><USER2> Thank you. That's all I was looking for.

<comment><USER6> Looking in the paper at issue and the Guix web site might have helped.</comment></comment></comment></comment></comment></comment></comment></comment>


CDC confirms first Ebola case diagnosed in US - <AUTHOR> http://www.cnbc.com/id/102037055 <comment><USER4> Am I one of the minorities who believe that this hype about Ebola is more sensationalism and news than an actual pandemic we should be fearful for?

Let's take a lot at what we can agree on:

* The number of cases of infected patients is fairly small.

* The vector of transmission is fluid exchange, so that reduces its ability to spread.

* The virus doesn't appear to lie dormant, and is only contagious when the patient becomes symptomatic.

The chances of contracting the disease in a western country so far is near 0. The chances of contracting the disease in AFRICA is fairly improbable too.

It really sounds like sensationalism at its finest.

<comment><USER5> The likelihood of any kind of pandemic is extremely low, sure. However, your dismissal of this epidemic and its impact is arrogant and disgusting.

It's still a disaster in the affected countries, with many knock-on effects. Also, it would have been better to spend more money earlier to prevent unnecessary deaths.

This Ebola epidemic is actually something people hardly care about. Hardly anyone is donating, for example.

Help is needed. Actually. For real. And with better support and a better reaction this could have turned out better.

<comment><USER4> I don't know if you can call it a disaster. The total number of cases, as reported by the CDC, is less than 7000 so far.

I don't mean to be callous, but compare that number to the number of total deaths to Malaria or even the flu, and that number pales in comparison. I am not callous to say that we shouldn't care about the Ebola outbreak, but if you look at the numbers, directing that money to buy more mosquito nets or Malaria vaccines will likely save more lives.

Malaria kills close to a million people a year. If you're looking for a cause for donation, the most value per dollar could be directed there.

<comment><USER6> Last week, the total number of cases was ~6500. One month ago it was ~3000. Two months ago it was ~1300. How do you call a process that duplicates itself every fixed unit of time (in this case, every ~3 weeks)?

Of course, we should not fall into panic. Many factors will affect what ends up being the total effect of this outbreak in the mid to long term. But dismissing it as a non issue because "there are just a few thousand cases" misses the point completely.

<comment><USER7> Hm so that would mean assuming this rate of exponential growth that in ~150 days there would be ~ 1 million cases and roughly a year to reach 100 million. I wonder how well they can model travel patterns, then you could write down an ode for the disease on say a country level and couple them.

<comment><USER6> I am not saying that this will grow exponentially for ever. For what I know, disease expansion is modeled with a sigmoid curve: exponential at first, then slows down once a saturation level in the population is reached.

According to Wikipedia, the total population of the 3 most affected countries - Liberia, Guinea and Sierra Leone - is roughly 20 millions. So there is at least that upper bound.

The real risk of pandemia comes from the fact that as the number of cases grows, the more likely it is that some of those cases travel through a porous border into other countries which lack the infrastructure and professional discipline to contain new outbreaks. If/when that is the case, each new region will start its own sigmoidal worth.

<comment><USER7> Well the sigmoid curve you are referring to would be for the case that patients who have contracted the virus and survived would be immune or die. In an SIR model ([http://en.wikipedia.org/wiki/Compartmental_models_in_epidemi...](http://en.wikipedia.org/wiki/Compartmental_models_in_epidemiology)) that takes death rate and population number into account you would then expect a disease to either reach a disease free equilibrium or a endemic equilibrium. What I was suggesting is to couple those equations on the country level by modelling travel patterns (flow of Suscebtible Recovered Infected across borders), the result would most likely be that western countries would be able to reach a disease free equilibrium, as they have better recovery rates and lower infection rates, whereas ebola would remain endemic in africa.

<comment><USER6> Thanks, I was not aware of the SIR model.

Regarding your original question... if you can identify individual regions where the model can be applied, maybe you could use Markov chains to model the transitions between states in each region. I am not qualified enough to do that, but I imagine that the result would be a few endemic nodes where the disease is always present (with different degrees of intensity over time) and from where outbreaks get sporadically "exported" to disease free nodes.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> I'm having a hard time accepting the "everyone should stop being stupid and stop panicking about Ebola" argument. To me, an uneducated observer, the problem only appears to be getting worse. And it has gotten significantly worse in spite of all the reassurances that it would not get worse.

i think a lot of the vitriol aimed at people who are worried and a little freaked out by Ebola is unfair. People have lost their minds over much easier to understand and less worrying issues before and those peoples concerns have been met with respectful, educated correction. Now it seems to have descended into name calling and ridicule.

<comment><USER9> I don't see anybody panicking.

And if anything, I've seen calls for more resources, calls to "do more" about Ebola, etc. Mostly to control it in Africa.

There's the "We are losing the fight to contain Ebola" line, and there's the "it'll never spread outside west Africa" line. Both of which can be (And are, apparently) true - it may become endemic to West Africa, but much like Malaria, it won't be a threat to the developed world.

</comment></comment><comment><USER10> I'd be willing to bet a lot of money that the mass hysteria and paranoia coming from this will cause far greater damage than any actual cases

<comment><USER11> Yup, time to buy some GSK shares...

<comment><USER12> TKMR, BCRX and SRPT are the tickers that you are looking for.

<comment><USER13> Wow, those after-hours bumps are quite pronounced. Now wondering if I should short them, go long, or keep my sanity and stay out altogether.

<comment><USER14> If you wanted to long this stock you should have been on board more two months now. You are a lot late to the party.

<comment><USER15> It's probably more appropriate to short it. Developed health systems aren't going to need ZMAPP to deal with ebola. Quarantine and a steady supply of sterile protective gear will do the trick.

</comment></comment></comment></comment></comment></comment><comment><USER16> Am I correct in assuming that cultural differences concerning death and the dead along with our healthcare system mean Ebola in America would be relatively containable?

<comment> atom-morgan To a certain extent, yes. We obviously have much better equipment but I say this only extends to handling a few "single" cases of Ebola in specific hospitals across the nation. However, now that Ebola is actually in the US, what precautionary measures do hospitals and healthcare workers take?

If I show up to a hospital in Texas right now with symptoms such as a high fever, sore throat, and diarrhea, do you treat me as as a normal patient or assume Ebola since it's now appeared within the US? These are extremely commons symptoms and once Ebola is here, which it is, handling patients is going to be much different which affects its likelihood to be contained.

<comment><USER17> You will see that the CDC defines a case as someone showing symptoms but also has epidemiological link to an EVD case or EVD suspect case. Just being in Texas is not a epi link as there has been no confirmed transmission.

[1] [http://www.cdc.gov/vhf/ebola/hcp/case- definition.html](http://www.cdc.gov/vhf/ebola/hcp/case-definition.html)

</comment></comment></comment><comment><USER18> The headline variations are quite interesting:

CNBC: First confirmed case of Ebola confirmed in the United States: CDC

NYT: Airline Passenger With Ebola Is Under Treatment in Dallas

BBC: First Ebola case diagnosed on US soil

CNN: Ebola case is the first diagnosed in the U.S.

FOX: EBOLA HITS AMERICA CDC identifies first case on US soil

Obviously Fox takes the FUD crown, but I thought the NYT actually misrepresented it a bit..

<comment> k-mcgrady >> "Obviously Fox takes the FUD crown, but I thought the NYT actually misrepresented it a bit.."

I actually think they were closest to accurate. The other headlines all make it sound like this man caught ebola in the US. They are the only one to indicate he was abroad. I think they've undersold it a bit as he spent several days in the US before being isolated but everyone else has sensationalised to an extent imo (or written the headline in a way that allows us, the reader, to accidentally sensationalise it).

<comment><USER19> Looking just at the headline, you only know that he was an airline passenger and not abroad. Too, you know immediately that he was in an airliner - a small metal tube, with hundreds of people breathing the same air!

It's actually a pretty masterful headline, in that it doesn't actually come out and _say_ any of that. It seems calm and fairly accurate, but is worded very carefully to encourage fear.

Nothing accidental there.

<comment><USER20> Until he was symptomatic, 4 days after arriving, he wasn't infectious. Or so we believe, with a fair amount of data; obviously we'll be drastically extending our knowledge over the next few years.

<comment><USER19> Sure, but that's not the point. The headline is subtly encouraging people to think of it as I described.

</comment></comment></comment></comment></comment><comment><USER21> Just reposting a comment that I made earlier today (re Syria, but apropos here too):

IF you have some free time, the Humanitarian Openstreetmap Team (HOT) is always looking for volunteer mappers. The current ebola outbreak is the #1 priority for HOT.

Tracing buildings, roads, and other features from aerial imagery is something that anybody can do, and it provides immediate benefit to volunteers from the World Health Organization (WHO), Doctors Without Borders (DWB/MSF), IFRC and other humanitarian organizations on the ground responding to the crisis.

To map something now: [http://tasks.hotosm.org/](http://tasks.hotosm.org/)

More on HOT: [http://hot.openstreetmap.org/get- involved](http://hot.openstreetmap.org/get-involved)

"HOT benefits from contributors with a wide range of interests and experience. Almost anyone can make a tremendous contribution to our projects by contributing mapping, but we're also very pleased to hear from developers, documenters and ideas hackers that can engage with us and our work."

<comment><USER22> I was sad to see this post get downvotes.

OpenStreet Map need to be commended for their humanitarian work. Their work helped in Haiti and could help here.

[http://news.bbc.co.uk/1/hi/8517057.stm](http://news.bbc.co.uk/1/hi/8517057.stm)

[http://hot.openstreetmap.org/projects/haiti-2](http://hot.openstreetmap.org/projects/haiti-2)

There are simple easy things that people can do that are useful.

</comment></comment><comment><USER23> If you were on a plane coming back from Europe and the guy in the seat next to you said he was just coming back from spending a year in Liberia, what would you do?

Would you sit there and just make sure he didn't spit on you? Or would you go sit in the bathroom for the flight? Curious as to how people would react...

<comment><USER17> As stated by the director of the CDC in the press conference, all air passengers departing the affected countries are screened for fever. Fever is most often the first symptoms present, and therefore you can logically believe that if the passenger left Liberia and is on a plane, he does not have Ebola (or is not symptomatic for Ebola). Therefore I would be fine sitting beside him.

<comment><USER23> Europe isn't an affected area. No one on my flight from London was checked. It certainly wouldn't be hard to get from Liberia to Europe with no fever, and then board a plane with fever and sweats.

<comment><USER17> I can speak to the Canadian process. Public Health Agency of Canada is stationed at all major airports and screen passengers that trips originate in an affected country. We had a suspect patient that had arrived from Germany that begin in Nigeria. Due to the routing, they were screened here when they landed in Canada.

Theoretically someone could fly from an affected country to Europe. Spend a few days and book another trip to North America and not be screened. However triage process in hospitals is that patients with fever greater than 38.6C are asked if they have spent any time in an Ebola affected country within the past 21 days (high end of incubation period).

</comment></comment></comment></comment><comment><USER24> For something that is supposed to be hard to spread, sure is mysterious how people are getting it. This person wasn't a doctor.

Also, we are relying on another country to screen people at airports before they leave. Somehow I suspect this is not being done in a serious manner, ala- TSA.

</comment><comment><USER25> Live feed: [http://feed.matthewkeys.net/cbs- newspath/](http://feed.matthewkeys.net/cbs-newspath/)

</comment><comment><USER26> The first questions that came to mind were: a) how did this person become exposed to Ebola and b) how did they end up in Dallas, Texas?

<comment><USER27> The article says they placed them in quarantine based on their symptoms and recent travel history.

<comment><USER26> Yes, but was this person intercepted at a point of entry into the United States, or did they go to a healthcare facility voluntarily once they started noticing symptoms, after they were already in the country?

The former implies that there may be sufficient mechanisms in place to prevent a repeat incident. The latter does not.

<comment> sjm-lbm FWIW, though DFW is a very big airport, there are no direct flights from Africa that land there. If they ended up in Dallas, they at least stopped somewhere outside Africa before they got there.

<comment><USER28> That would have to be somewhere in Europe.

<comment><USER29> There are flights from west Africa to both Atlanta and Houston, plus some other cities. United services Nigeria and Ghana out of Houston and Dulles respectively, Delta has some flights to the same cities out of their hubs.

It is most certainly possible to fly from west Africa to the US without transiting a third region.

</comment></comment></comment></comment></comment></comment><comment><USER30> _" It is certainly possible that someone who had contact with this individual...could develop Ebola in the coming weeks," Frieden said, but added that "there is no doubt in my mind that we will stop it here," Frieden said._

General rule of thumb:

Anytime someone says "there is no doubt in my mind about X", you can be pretty sure that yeah, they _do_ have a lot of doubt in their mind about X.

</comment><comment><USER31> What's going to be a real struggle is how do you differentiate between symptoms of the stomach flu, influenza, Ebola, and so on...

<comment><USER17> Well someone that hasn't been to an affected country, or been in contact with the current case won't have Ebola.

<comment><USER31> For now...

<comment><USER31> My comment is getting down other yet not that log ago it was said our system was so good that someone with Ebola would be immediately quarantined: [http://www.foxnews.com/health/2014/06/30/could-ebola- spread-...](http://www.foxnews.com/health/2014/06/30/could-ebola-spread-to- united-states/) I guess we missed the boat on that one. They were sent out and continued to expose people to the virus.

Also the odds of it leaving Africa and coming to the us were virtually non- existant: [http://www.npr.org/blogs/health/2014/06/25/324941229/could-t...](http://www.npr.org/blogs/health/2014/06/25/324941229/could- the-ebola-outbreak-spread-to-europe-or-the-u-s) I guess that's another oops.

People are underestimating this virus and whenever you underestimate something you generally later regret it. Hopefully I'm wrong for example, but I see too many people sending their sick kids to school and so on. I just think that although we can stop it, it's not nearly as easy as it's made it to be. And we need to stop it sooner than later. I hope I'm wrong but I dont want to find out the hard way. Assuming were bettr than a virus is never wise...

</comment></comment></comment></comment><comment><USER32> Speculation that the person had a hunch they were about to get sick and figured, "what the heck, might as well get to the US where they'll save me... it's kinda glum here in Liberia anyways?"

</comment><comment><USER33> This is a great semi formal interview with a local infectious disease specialist I heard on montana public radio yesterday that gives a rather unique view:

[http://mtpr.org/post/missoula-doctor-ebola-front- lines](http://mtpr.org/post/missoula-doctor-ebola-front-lines)

As he explains, Montana has one of the few labs in the country (actually in the small town I live in) where you can work on live ebola cultures so we have medical people trained to deal with ebola etc and some also have been spending time in africa.

<comment><USER20> Not many BSL4 labs in the whole world: [https://en.wikipedia.org/wiki/Biosafety_level](https://en.wikipedia.org/wiki/Biosafety_level)

And only 15 in the US planned or capable of operating at that level. At least a couple will only do BSL4 work if surge capacity is needed.

<comment><USER33> And I bet Rocky Mountain Labs is the only such facility to include a log cabin on the grounds ;)

Actually the history of RML is pretty cool. It was founded in a tent in the early 1900s to study Rocky Mountain Spotted fever and early researchers included the founder of the frozen foods industry (Clarence Birdseye).

[http://www.niaid.nih.gov/about/organization/dir/rml/pages/hi...](http://www.niaid.nih.gov/about/organization/dir/rml/pages/history.aspx)

(The BSL 4 is in a modern building that, amongst other measures, maintains a negative air pressure os any leaks are leaks into the building.)

</comment></comment></comment><comment><USER34> Could be worse. The pandemic will start if Ebola spreads to a low-resource country with a large urban population. Worst case, in my opinion, would be an Ebola case diagnosed in Johannesburg.

<comment><USER35> Johannesburg has a population of ~10 million (including connected urban areas) and is quite a long way from the affected areas.

OTOH, _Lagos_ has a population of around 20 million and is within hundreds of kilometers of active cases. It's almost _10 times_ more densely populated than Johannesburg too (20,008/km2 vs 2,900/km2).

</comment></comment><comment><USER36> My handy Ebola timeline: [http://newslines.org/ebola/](http://newslines.org/ebola/)

</comment><comment><USER37> Why don't they just stop the flights to and from infected areas until it's "under control". Or why don't they stop the plane at a base and check everyone on board before allowing them back into society? This country's leaders can't be that stupid.

</comment><comment><USER38> Here is a nifty set of OS data to track the ebola outbreak [https://github.com/cmrivers/ebola](https://github.com/cmrivers/ebola)

</comment><comment><USER39> I personally would be concerned if I was sat next to that person on the flight back home. Even if the fear is unrealistic.

Don't tell me you would happily sitting and eating next to someone with confirmed ebola for 8 hours plus, because they haven't started showing symptoms at that very moment.

I would at the very least go to a doctor to be sure.

<comment><USER40> ...because during the flight you'd exchange bodily fluids? Or something?

<comment><USER41> Even if you had, they weren't contagious at that point. Sigh.

<comment><USER39> Even if that is true, would you be happy about the unnecessary risk.

Only after it already happened they confirm if it is safe.

On a global safety issue it isn't a problem, but on an individual level, it is scary.

<comment><USER41> > Only after it already happened they confirm if it is safe.

The passengers were screened for fever before boarding the plane. On the individual level there are thousands of better things to worry about.

</comment></comment></comment></comment></comment><comment><USER42> Question to all who suggested "Ban all flights from countries with Ebola" (myself included): Do we now ban flights from the US?

I'm only half joking.

</comment><comment><USER43> Meanwhile, over 3000 dead in west africa.

</comment><comment><USER31> Why is it that almost all comments worried about the Ebola virus are down it's and flagged, regardless of their quality? That alone is very telling :(

Ps: yes I expect to see this doe voted too :(

</comment><comment><USER14> I have always been a bit of a hypochondriac and I was worried about ebola spreading world wide in 1995 during the Zaire outbreak. I was 12 years old at the time and my classmates laughed at me. I just hope that I wouldn't have the last laugh(more like cry).

</comment><comment><USER44> Headline: "First confirmed case of Ebola confirmed in the United States: CDC"

Article: "[...] an unnamed patient was _being tested_ for Ebola [...]" (emphasis mine)

Besides the obvious pleonasm in the title ("confirmed [...] confirmed" doesn't make it doubly so), nowhere in the article does it say that anyone is certain that this man actually _has_ Ebola, as obviously, tests are still being done. Until the results of these tests are in, there is no confirmation.

Is this some kind of reading comprehension test being dumped on HN? For what nefarious, crowd sourced, statistical research project? <grin>

<comment><USER5> The patient was tested in two different laboratories (CDC and another one in Texas). The test is "highly accurate". It's Ebola.

Watch the video embedded in this to get the verbatim statement of the director of the CDC: [http://www.nytimes.com/2014/10/01/health/airline- passenger-w...](http://www.nytimes.com/2014/10/01/health/airline-passenger- with-ebola-is-under-treatment-in-dallas.html)

<comment><USER44> 'Was' obviously is in past tense. If there is high likelyhood of it being Ebola, the article should have made that clear in the very first (few) paragraphs, like stating that further tests are being done to strengthen the confirmation.

Edit: Ah, I understand now that the CDC has a rather peculiar definition of "case" of illness, see giarc's comment below for a link.

<comment><USER45> The CNBC article was put up before the CDC press conference (and seems maybe a little slapped together).

arrrg is pointing you at a more recent article that obviates the need to parse up the CNBC article, in the video the director of the CDC states that the lab tests have confirmed it is Ebola.

</comment></comment></comment></comment><comment><USER46> Was thinking about going to the state fair...nope nope nope.

<comment><USER47> Your big risks in going to the state fair are mostly related to fried grease products.

<comment><USER48> Statistically, the sun is much more damaging.

<comment><USER49> The car ride to the fair is what he should be most afraid of.

</comment></comment></comment></comment><comment><USER50> I am more terrified by those news women's artificial appearances than by ebola, I gotta admit.

<comment><USER50> -12 for being honest? Keep them coming then.

</comment></comment><comment><USER51> We should be cautious and prepared for Ebola and not assume we can contain it. We use isolation chambers and a massive team of doctors in special rooms at the CDC just to take care of 2 people. I take a look at the hospitals in DFW and I doubt they can properly contain a handful of cases concurrently.

<comment><USER17> All hospitals can contain Ebola. This is not an airborne disease and therefore negative pressure isolation is not needed (unless performing aerosol generating procedures). All you need is a private room and proper PPE use and infection control procedures.

<comment><USER52> It may not be airborne but it's still highly infectious and you need proper facilities for that, a private room alone is not enough for that. A lot of hospitals, at least smaller ones, are unable to handle such diseases.

In any case containing a patient you know has ebola, is the least of the problems. Ebola symptoms are not exactly distinctive and if you don't have reason to suspect ebola, it may very well be able to spread before it can be contained.

<comment><USER17> A private room is indeed able to prevent the spread of Ebola.

From the CDC website.

Yes – any U.S. hospital that is following CDC's infection control recommendations and can isolate a patient in a private room is capable of safely managing a patient with EVD. CDC recommends that U.S. hospitals isolate the patient in a private room and implement standard, contact, and droplet precautions.

Source: [http://www.cdc.gov/vhf/ebola/hcp/patient-management-us- hospi...](http://www.cdc.gov/vhf/ebola/hcp/patient-management-us- hospitals.html)

</comment></comment></comment></comment><comment><USER53> Hi, I'm in the freaking-out crowd...

Everyone with the "stay calm" attitude is lucky. This whole virus seems like such a "matter of time" situation. #1 finally showed up in the U.S. Do you really think it will just stay at 1? What are they doing with the beds he slept on, the towels he used after a shower, the glasses he drank out of? Did he go to a restaurant? A ball game? Who knows?

How much time do we have until it's in a school, on a subway, or your neighbor has it. Nobody even knows what to do. The first thing Americans do when they get sick is GO TO THE STORE. They go get some over-the-counter med. Literally, the first thing people in this country are going to do is go out and expose more people once symptoms start to appear.

Bodily fluids. A sweaty, feverish person is going to touch a door handle, counter, and anything else along the way. We won't even be able to pump gas without rubber gloves.

My checker at Fred Meyer today blew her nose and proceeded to touch every one of my groceries and scan them. It was disgusting. I literally sterilized yogurt containers when I got home. People have no sense of how to keep their germs to themselves.

Ebola starts with fever and vomiting and diarrhea, from what I've read. How are our sewer treatment facilities going to fare? Seriously, this is going to become a nightmare.

<comment><USER54> Let me set your mind at ease: I was actually at the hospital in question all day today (disclaimer: non-medical personnel, just coincidence) and I was in more danger from the sushi at dinner than the Ebola in the ICU.

Yes, there is a small chance of a multifocal outbreak, though CDC has moved quickly to identify and isolate potential contacts. There is an infinitesimal but still nonzero chance of an honest-to-god epidemic. But medical institutions and the federal government have wargamed all sorts of epidemic scenarios in the decade and a half of OMG ANTHRAX/SMALLPOX/H-N-SOMETHING- SOMETHING panic we've endured.

Even in the (vanishingly unlikely) worst case scenario, state and local authorities have _extremely_ expansive authorities to impose and enforce isolation and quarantines, violation of which (in Texas) is a third-degree felony. (CDC, under HHS delegation, can also impose quarantines to prevent interstate spread of disease, but generally this is left up to the state.) Dallas and surrounding communities could enforce a quarantine and let the outbreak burn out that way, although the economic cost would be enormous. But even mid-tier nations like Nigeria -- which spends per-capita 1% of what the US does on its health system, and which has what could be charitably described as a less-effective government -- have been able to stop Ebola cold with far less drastic action.

In truth, the greater threat comes from citizens who could mob doctors' offices and ERs, demanding nonexistent ZMAPP cocktails for garden-variety seasonal flu symptoms. Unsurprisingly, there's not much medical surge capacity in most hospitals, and beds and labs are in chronically short supply. Health system resource consumption by scared but non-sick patients is a far more likely cause of mortality than an Ebola outbreak.

<comment><USER53> Unfortunately, this doesn't put me at ease.

Of course being in the same building doesn't matter, and you may be fine.

But if you were one of the doctors who saw him the first time he came in, and then proceeded to help other patients that day after assuming this guy just had the flu... well, that's another story.

Or maybe if you rode in the same ambulance he did over the next couple days.

The thing is, the number of people who may have just been exposed is huge, and how many of those will get caught before it spreads even further?

<comment><USER22> > But if you were one of the doctors who saw him the first time he came in, > and then proceeded to help other patients that day after assuming this guy > just had the flu... well, that's another story.

He was infectious. That doctor should be wearing gloves and washing hands between each patient and that doctor would not be infectious until a few days after contact.

<comment><USER20> " _Should_ ", but healthcare workers are infamous for not doing this ... and washing your hands that often would damage your skin, perhaps too much to continue working in the field.

</comment></comment></comment></comment></comment><comment><USER55> How are you all of you supposedly smart people (you're on hackernews - <USER2> that not mean anything anymore?) making such baseless and ignorant comments?

If you don't have a degree in a related field or haven't spent any amount of time studying disease (and no, Pandemic the game does not count) you have NO BUSINESS making comments on the preparedness of the US healthcare system - <USER3> on how the disease may affect anything.

All you are doing is spreading FUD - you are acting like Fox News and it is downright shameful.

<comment><USER56> I love how you're complaining about people posting without authority, meanwhile not providing a reason that we should listen. Can you say hypocrite?

<comment><USER57> You don't have to be an authority to criticize others for speaking about a topic in which they likely have zero expertise.

<comment><USER56> proof of lack of expertise? Oh right, there is none. You don't know someones credentials over the internet. Unless you maybe divine them somehow

<comment><USER56> I didn't overlook anything, but I'm also not under the illusion that Hacker News is a peer reviewed journal. Hacker News doesn't require anything of a commentator, the only requirements are on content.

Unless you can magically ascertain the qualifications, or lack thereof, of someone, maybe you should only criticize on the content of their comments?</comment></comment></comment></comment></comment>


How to deploy your node app on Linux, 2016 edition - <AUTHOR> https://certsimple.com/blog/deploy-node-on-linux <comment><USER3> Please note that this describes something you would do for a toy project. If you do this for work you probably want to:

* Install NPM in a way that you can upgrade easily. Your package manager was designed to do this, so use it. Never ever put untracked files in the system directories.

* Don't git clone into production. You need to know which version was deployed when and where. At the very least set a tag. Better yet, roll a package from that tag (see above) which you then can sign and store. It's very easy and there are tools to help.

* Schedule when and how you upgrade your operating system, NPM, and your application. To do this you need a way to take an application out of production, which brings us to...

* You generally want a load balancer or some sort of web server between the world and your application. This could be as simple as an Apache or nginx. Don't muck about with port forwards!

* And most importantly, document this down to every command in the internal wiki! Even better, write a Puppet/Salt/Ansible file and put it under version control.

In short: Tools exist for a reason. Use them. Don't hack files manually until you master the tools and know why they exist.

<comment><AUTHOR> > * Install NPM in a way that you can upgrade easily. Your package manager was > designed to do this, so use it. Never ever put untracked files in the system > directories.

The articles uses the package manager - specifically, the article directs people to install node using nodesource's RPM and dpkg node packages (npm is included with node), and only mentions tarballs if these don't exist for your OS.

> * Schedule when and how you upgrade your operating system, NPM, and your > application. To do this you need a way to take an application out of > production, which brings us to... > You generally want a load balancer or > some sort of web server between the world and your application.

Hence covering that and load balancing with HAProxy in the article. This is mentioned in the introduction.

> * And most importantly, document this down to every command in the internal > wiki! Even better, write a Puppet/Salt/Ansible file and put it under version > control.

Hence mentioning exactly that in the opening few paragraphs.

It's very clear you didn't read the article before commenting.

<comment><USER4> >> * Install NPM in a way that you can upgrade easily. Your package manager was designed to do this, so use it. Never ever put untracked files in the system directories.

> The articles uses the package manager - specifically, the article directs > people to install node using nodesource's RPM and dpkg node packages (npm is > included with node), and only mentions tarballs if these don't exist for > your OS.

Sure, but it also advises users that it's generally OK to extract tarballs into /usr/local. While this clearly is OK in some circumstances, the target audience for this article clearly aren't in a position to make that decision, or understand the consequences of doing this. The article could have suggested "/opt/node" for example and avoided the issue at the expense of explaining how PATH variables work.

<comment><AUTHOR> So you'd prefer, if no packages are available, unpackaged software be installed to /opt rather than /usr/local? OK.

The FHS forbids distros from installing software to either location.

See [http://www.pathname.com/fhs/2.2/fhs-4.9.html](http://www.pathname.com/fhs/2.2/fhs-4.9.html):

> "The /usr/local hierarchy is for use by the system administrator when > installing software locally. It needs to be safe from being overwritten when > the system software is updated. It may be used for programs and data that > are shareable amongst a group of hosts, but not found in /usr."

<comment><USER4> > So you'd prefer, if no packages are available, unpackaged software be > installed to /opt rather than /usr/local? OK.

Ah, I did miss the subfolder. This is a _very_ unusual convention for installation into /usr/local. Typically, this is what modern day usage of /opt looks like.

> The FHS forbids distros from installing software to either location.

> See > [http://www.pathname.com/fhs/2.2/fhs-4.9.html](http://www.pathname.com/fhs/2.2/fhs-4.9.html):

Correct, both options are valid per the FHS. Yet, the description for /opt describes the pattern used in your example.

See [http://www.pathname.com/fhs/2.2/fhs-3.12.html](http://www.pathname.com/fhs/2.2/fhs-3.12.html):

"A package to be installed in /opt must locate its static files in a separate /opt/<package> directory tree, where <package> is a name that describes the software package."

<comment><AUTHOR> I see your point - I used to be reticent to use /opt since it was a bit of a Solaris-ism (it only got added to the FHS because the proprietary Unixes kept asking for it).

I'm thinking about changing it to /opt instead (and will credit you if I do it), alas /opt/bin isn't in $PATH on most distros.

<comment><USER5> They can't just add /opt/bin to $PATH Read the link he wrote down:

> Programs to be invoked by users must be located in the > directory > /opt/<package>/bin. If the package includes UNIX > manual pages, they must > be located in /opt/<package>/man > and the same substructure as > /usr/share/man must be used.

Static packages should be kept together as /opt/myprogramm and mostly follow the same structure as /usr than so like: /opt/myprogramm/bin /opt/myprogramm/include /opt/myprogramm/lib ...

Mostly I put my programs there, too. /opt/app1 /opt/app2

<comment><AUTHOR> _nod_ that's the thing - you'll break the interpreter for every node app - '#!/usr/bin/env node' \- if you don't have node in $PATH. And as you say. /opt apps normally aren't in $PATH.

Looks like /usr/local wins.

<comment><USER5> It won't. Why should I install node in /opt? Mostly I install server-side or desktop apps there (which most other people do aswell (Chrome, Atlasssian)) They don't need to be in path since they are mostly called by initd or sytemd or .desktop file.

Also they don't screw the system as others do that won't get installed with the package manager.

Don't touch any directory without the package manager, if you still do use /opt.

<comment><AUTHOR> I think most people would install desktop apps via their package manager. Unpackaged apps are generally the exception rather than the rule. /usr/local is also outside the package manager as previously discussed.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> For hassle-free node apps deployment, I use and recommend PM2 : a [free and open source tool]([https://github.com/Unitech/pm2](https://github.com/Unitech/pm2))

As its doc states: PM2 is a production process manager for Node.js applications with a built-in load balancer. It allows you to keep applications alive forever, to reload them without downtime and to facilitate common system admin tasks.

It also provides a very nice integration with keymetrics.io, which is the paid service which finance PM2 development (they do provide a free tier).

PS: Apart from using it and loving it, I am not affiliated with this product's team.

<comment> jorge-d PM2 also provides a tool [1] to deploy your application directly into your server, rollback & co. You can checkout this blogpost [2].

[1] [http://pm2.keymetrics.io/docs/usage/deployment/](http://pm2.keymetrics.io/docs/usage/deployment/)

[2] [https://keymetrics.io/2014/06/25/ecosystem-json-deploy- and-i...](https://keymetrics.io/2014/06/25/ecosystem-json-deploy-and-iterate- faster/)

</comment></comment><comment><USER7> Surprised that this is missing a recommendation to run 'npm shrinkwrap' and include npm-shrinkwrap.json in your deployment package so that the dependencies you have been testing against (and more importantly your dependencies' dependencies) don't shift unintentionally under your feet. Although maybe this isn't a problem with npm v3?

I'd also recommend including your dependencies in your deployment package anyway to avoid a deployment being held up by npmjs.org downtime.

<comment><AUTHOR> Author here! You're totally right, I've just added a shrinkwrap section.

PS. npm v3 still needs it, in fact it makes it better - `install --save` updates the shrinkwrap file.

Re: checking in modules, I used to do this during 2013 when npm was up and down every few days, but stopped a couple of years ago after npm Inc stabilised everything. It's been solid so far and the smaller repo sizes (and faster deploys) have been worth it.

</comment></comment><comment><USER8> As someone who never deployed a node app I was a bit surprised to see it doesn't require a server like Apache or Nginx as a reverse proxy ? Is it a commmon practice to deploy node apps like this ?

<comment><AUTHOR> For most cases you want load balancing, hence HAProxy. But if you don't, node has event driven IO like nginx does, so it's quite capable of things like static file serving and https (like nginx, node uses openssl for all the hard work).

<comment><USER9> Don't you think nginx is better for serving static files? I first served directly croon node with express and did a test with chrome with a simulated modem connection speed. A simultaneous fast client was blocked because the number of connection nodejs/express was exhausted by the slow modem connection getting a lot of js files...

I think I also read many other blogs suggesting serving static files with nginx in front of nodejs. Are you sure that this does not make sense?

<comment><AUTHOR> It's not so much a matter of 'better' vs 'worse' as a balance between complexity and speed. node has very fast IO - that's what it's known for - <USER2> unlike Python or Ruby it can handle static files at speed: [http://i.stack.imgur.com/amngX.png](http://i.stack.imgur.com/amngX.png) (from the second post at [http://stackoverflow.com/questions/9967887/node-js-itself- or...](http://stackoverflow.com/questions/9967887/node-js-itself-or-nginx- frontend-for-serving-static-files) which provides some excellent discussion). nginx is faster, but small projects that don't need load balancing may benefit from having less software to install.

As the article mentions, you'll probably want a load balancer for high availability. Whether you use haproxy or nginx for that is a whole different discussion.

<comment><USER10> Faster than Ruby or Python doesn't mean anything if it's objectively slow. And it is. I've only been able to serve a small handful of concurrent users at a time with Express. I'm talking 5 or 6 before things get out of hand.

You should aim to have the bulk of your payload be static, and all of the static payload be served by apache or nginx. It's the difference between getting good feedback from a Show HN post or completely missing out and looking like a fool.

<comment><AUTHOR> > I've only been able to serve a small handful of concurrent users at a time > with Express.

Something's massively wrong with your node setup. node won't be as fast, but it should be on the same order of magnitude as nginx: [https://github.com/observing/balancerbattle](https://github.com/observing/balancerbattle) (or any other benchmark)

</comment></comment></comment></comment></comment></comment><comment><USER11> Can I shamelessly plug[0] and say maybe do all this and stick it in a Debian package if you're running Debian, or like most of the cloud world, Ubuntu.

[0] [https://github.com/ehartsuyker/node- deb](https://github.com/ehartsuyker/node-deb)

</comment><comment><USER12> Boy, this is golden. Just the ticket for a reluctant devops noobster like me. Bonus for explaining wheel in *nix.

</comment><comment><USER13> Huge thanks for taking the time to write and document this process. This is bound to be a great resource for numerous devs in the future.

</comment><comment><USER14> If you want to run multiple node apps on a single box, you might find bouncy useful too: [https://github.com/substack/bouncy](https://github.com/substack/bouncy)

</comment><comment><USER15> Does it make sense to reverse proxy a node app behind nginx if the node app only provides a REST API?

As far as I know, using nginx in front helps with serving static files, which is a moot point on a REST API.

<comment><USER16> _As far as I know, using nginx in front helps with serving static files, which is a moot point on a REST API._

Well, that depends on the API; for example, a product inventory API might need to serve many product images, a document management API might have to serve PDFs and such, etc.

</comment></comment><comment><USER17> After a few years of deploying apps in a reasonably similiar way to this, I switched to using dokku for deploying node applications recently, the experience so far has been extremely nice.

I get `git push dokku master` deployment for free, for any application, I dont have to worry about conflicting node versions between applications and it took a lot less setup for all of my applications than this process describes for one.

<comment><AUTHOR> Sure - as discussed in the article, the steps of deploying a server should only be performed once, and customised to your needs.

From then on you can - and should - deploy everything with Ansible playbooks, AWS AMIs / Digital Ocean images, Dockerfiles, or whatever else. You've already been doing this for years and have the experience - this is written for developers who haven't done a lot of Linux before and want to take control of the process.

</comment></comment><comment><USER18> If the node app uses express js and has multiple processes, then a redis server may be required to handle non-stikcy session. It would be nice if the article describes the redis server setup.

</comment><comment><USER15> If you are deploying to a single server, consider using `pm2 deploy` which makes life much easier for rolling new releases and deploying them on server.

</comment><comment><USER19> Why is Docker not being used here?

<comment><AUTHOR> Mainly because I didn't want it to be a Docker/kubernetes tutorial. At some point I'll publish an Ansible playbook you can modify for your environment and call from a Dockerfile.</comment></comment>


Sex Differences in the Adult Human Brain - <AUTHOR> https://academic.oup.com/cercor/advance-article/doi/10.1093/cercor/bhy109/4996558 <comment><AUTHOR> Why is a submission with an accurately worded title linking to a paper from top-ranking institutions contributed by 18 authors flagged on HN?

<comment><USER2> HN only likes science when it has PC conclusions.

<comment><USER3> Please don't post unsubstantive comments here.

HN is divided on divisive issues. Anthropomorphizing it into something that "likes" what you dislike and "dislikes" what you like is just an illusion, but has become a rhetorical trick, as cheap as it is common. Please don't do that here.

</comment></comment></comment><comment><USER4> Title using 'very large' does not come from the article, which gives a more subtle image:

>Sex Differences in the Adult Human Brain: Evidence from 5216 UK Biobank Participants

>Males had higher raw volumes, raw surface areas, and white matter fractional anisotropy; females had higher raw cortical thickness and higher white matter tract complexity. There was considerable distributional overlap between the sexes.

Personally I wouldn't call the difference between a mean of 1115.76 with an standard deviation of 89.68 and a mean of 1233.58 with an SD of 98.31 very large (all in cm^3)

<comment><AUTHOR> Please note that 'very large' was indeed quoted directly from the paper.

"The average difference for the 14 subcortical volumes was d = −0.70. A set of Bayesian t-tests (see Supplemental Materials and Table 1) confirmed that the mean sex differences were very large, with extremely strong evidence in favor of the hypothesis that males differed from females "on every overall and subcortical volume."

You add that in your personal opinion the difference is 'not very large'. What should be the magnitude of the numbers below to fall into the 'large' category in your assessment?

Quote: "...total brain volume translates to 92.1% of males being above the female mean and an 84% chance that a randomly-chosen male will have a large brain volume than a randomly chosen female" That's pretty significant in terms of means.

<comment><USER3> Cherry-picking a phrase and making it the title is a form of editorializing, which breaks the HN guidelines.

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

When the topic is divisive, doing this is particularly bad. It can easily ruin the thread for discussion. If you want to say what you think is important about an article, please do so in a comment. Then your view is on a level playing field with everyone else's.

</comment></comment></comment><comment><USER5> The article itself is not so much interesting to me that the reactions to it on HN. The articles says nothing on how these differences translate into psychological traits/abilities etc. Nevertheless, even a hint that there might be differences, and that they're might be quite pronounced, somehow cannot be a subject of civilized discussion on HN and people will flag it straight away. Why? What are you afraid of? Understanding these results might help us to understand ourselves better. Or do you prefer not to have such research in the name of political correctness?

</comment><comment><USER6> Uh-oh this is going to hurt a lot of people. Even if the article did not state anything about the actual effects of these differences. Just mentioning or hinting at this nowadays will result in a lot of automatic flack and backlash. Notice how the incoming comments will be about the title and not the contents and the subsequent derived meaning of this. They will probably have to change the title to not offend anyone. Sadly this is our current state of approach on science.

<comment><USER7> So far two comments like yours, getting meta-offended by theoretical complaints.

People getting upset from the actual result: Zero.

Sadly this is our current state of approach on science.

<comment><USER8> The first comment I saw when I came in to the post start off:

"Title using 'very large' does not come from the article, which gives a more subtle image:"

which sounds to me like someone taking offense to the title?

<comment><USER9> They're taking offense to the title being a mischaracterization of the paper, not to the result in the paper

<comment><USER10> The title is not the title of the paper, but it _is_ a direct quote from the paper. The paper does say differences are very large. (Search for "very large".)

</comment></comment></comment></comment></comment><comment><USER10> Of interest: There was generally greater male variance across the raw structural measures. They also cite Global Sex Differences in Test Score Variability (Science, 2008).

<comment><USER11> Towards the end of the Introduction, they have a paragraph where they discuss how the study intends to test the "greater male variability hypothesis", something I had not heard of before.

They reference other studies which have show greater variability among males in: cognitive ability, academic achievement test results, personality, athletic performance, birth weight, and adult weight.

</comment></comment><comment><USER11> Mods, perhaps _" Sex Differences in the Adult Human Brain: Evidence from 5216 Participants"_ would be less editorialized while not overly long.

</comment><comment><USER12> Not really a fan of the title here…something about it just seems too editorialized. Maybe "significant mean differences found between mens' and womens' brains?"</comment>


The Rise of the DIY Abortion in Texas  - <AUTHOR> http://theatlantic.com/health/archive/2014/06/the-rise-of-the-diy-abortion-in-texas/373240/

<comment><USER2> If I were a woman in a state/country that had such contempt for my rights and well-being, I'd move elsewhere. Honestly, a state with policies like this does not deserve to have women. I still don't understand why there isn't a steady flow of atheist or less-religious women emigrating from fundamentalist religious regions that suppress women's rights like Saudi Arabia and Texas. If these regions, like China, encountered the serious social problems (serious gender ratio imbalance) of treating women as second class citizens, they might rethink their policies.

<comment><USER3> > If I were a woman in a state/country that had such contempt for my rights > and well-being, I'd move elsewhere. Honestly, a state with policies like > this does not deserve to have women. I still don't understand why there > isn't a steady flow of atheist or less-religious women emigrating from > fundamentalist religious regions that suppress women's rights like Saudi > Arabia and Texas.

Because suppressing women's rights makes it hard for them to do lots of things, including leave (the latter, e.g., by increasing their economic dependence on others, particularly men.)

And because regimes that do this don't do so in isolation, they do so hand-in- hand with a dominant set of cultural values in which people (including women) are indoctrinated from birth which support this suppression as a norm.

</comment></comment><comment><USER4> Love the red states. Protect the foetus at all costs, then abandon the kid once born.</comment>


Ask HN: Requesting feedback on idea - <AUTHOR>

In one sentence: An advertising network for 3rd-party map developers (within video games).
Basically you have a large community of individuals who design and develop maps for video games. See: http://www.fpsbanana.com/maps
They currently develop maps for personal notoriety and for fun.
The idea is to build an advertising network which would interface with advertisers and 3rd party map creators to include props/textures in their custom maps which advertise a product. Currently there is no existing market for this as far as I can tell.
There are some interesting technical challenges as you can't exactly do "page views" but you can track when a specific map is being played, by how many people, and for how long. The other variable would be advertisement visibility within the map. I have a good understanding of the technicalities and abilities within this niche platform.
Other troubles: maps are permanent unless they get updated by developers and re-uploaded to the server. So advertisers can't exactly run "weekend specials".
I am just brainstorming this right now; I appreciate your criticisms or other thoughts you have.
Mike <comment><USER2> I like the idea.

The permanent nature of ads built into a map can be a good thing. The advertiser gets lifetime product placement and doesn't have to worry about the developer removing it. However, details are irrelevant if the map is only going to be played by a dozen people.

Advertisers will want metrics.The best place to get data will be directly from the game servers. You could make a small utility that gathers traffic/gameplay/map data and sends it back to you. Then you give server owners a piece of the action in exchange for sending you data and running more maps with ads.

If you go down that road, you might as well find a few hackers to make mods that dynamically place ads in the game. I'm guessing some games might already provide native functionality that could help with this.

By the way, Google is already doing web-based game ads: <http://www.google.com/ads/games/index.html>

</comment><comment><USER3> My recommendation would be that asking for advice in this form is not productive. This is talked about in "Art of the Start". He essentially says that when you present a new idea to people in mass everyone is just going to tell you why it won't work, and that you should ignore all this.

Obviously it is natural and probably helpful on some level to ask people what they think of your idea, but you should be a lot more selective in whose opinion you care about.

While I don't really know anything about this market it sounds like an abstractly interesting idea. But like I said that really isn't important. My suggestion would be to find 3 people you are pretty confident will love this idea (friends of yours on the maps forum) and ask them why it sucks. Then find 3 people who you're pretty sure will hate this idea and ask them why it rocks. Really you just want to pick these people's brains asking very specific questions. Keep doing this until you have refined the idea enough (and have a strong enough grasp of its market potential) that you are ready to take the next step (whatever that may be).

Oh and if this first step takes you more than a week, you're doing it wrong.

<comment><AUTHOR> I am largely expecting to get negative opinions -- then again, I no nothing about how advertising network operate on a day to day basis filling inventory.

I was hoping I would catch the opinion of someone who has worked at or attempted to start an advertising network and has some experience. Mainly, how tough is it to fill ad inventory and how anal advertisers are about traditional vs. new forms of advertising?

This is the sort of domain specific insight I think people on HN might have where others would not.

Thanks for your feedback Daniel, I am going to take action on your advise in addition to the hope I can find someone with previous ad network experience here.

</comment></comment><comment><USER4> I'm wondering how casual map developers can be easily reached to tell them about the service.

Permanent ads don't sound like a roadblock. Product placement in a movie is also permanent.

<comment><AUTHOR> If the price is right, I would start with advertising on some of the major custom map aggregator websites. If things go well I would try to build out a deeper relationship with the aggregators to get more prominent placement.

Good insight on the permanent ads, I had not thought about that.

<comment><USER5> Maybe you could get advertisers to bid on games they want to place permanent ads inside before they are built. Over time, game developers will build a reputation based on the returns they give to advertisers.

</comment></comment></comment><comment><USER6> I don't think it's a bad idea, take a look at the history of Massive (<http://www.massiveincorporated.com/>) before you start out. From what I understand they attempted to put big brand ads into the maps of AAA games and haven't been very successful.

I know this isn't exactly what you were thinking, but there may be lessons to learn from them.</comment>


Ask HN: Best resource for learning devops as an engineer (js/ruby)? - <AUTHOR> In my career I've been spoiled with terrific devops coworkers who have generally handled everything from code to deploy. As a result, I feel I lack in expertise about devops that I should know as an engineer. Sideprojects of mine end up going on PaaS services like Heroku or Zeit and I don't really learn what it means to set up a server.
For instance, I could tell you that you likely have a load balancer (like nginx) which you can use to point routes to different services, and I know that services are going to be things like node instances running my code; but everything I know is fairly superficial and lacking in depth. What is the best way to share secrets? Is there a standard way of having your load balancer know what services to feed to? How does a load balancer that defines routes work with a rails or express instance that also defines routes? Should all my services be built on vagrant, or has docker made that less useful?
I've been having trouble filling in these gaps in deep understanding because it seems like every setup is different, so cribbing from convention is not really possible -- and then I read a litany of stories of setups that are wrong in some way and that feeds in to this paralysis of not wanting to do things wrong.
I tried setting up a Kubernetes cluster along with Deis, but there are so many layers of different/new services that I don't know how to conceptually tie those back to a broader understanding. For instance, K8s has a load balancer 'Ingress' -- does this negate the need for nginx? But then Deis installed its own load balancer so now I have two low balancers for zero services. It's just confusing because the big picture is obscured by the novelty of everyones setup.
Thank you in advance for your help. <comment><USER2> The best way to learn is to start low-level. It sounds like you are interested in k8s specifically (which I HIGHLY recommend, it's the future). Don't use a layer on top of k8s like Deis, just use k8s itself.

I would recommend you start with minikube to run a cluster easily on your laptop. If you REALLY want to get nitty gritty you can try installing it from scratch, but I think that's overkill with all the tools available for setup.

read read read. try things. break things. k8s has a mountain of concepts and terminology to learn, so start with their docs.

To answer your questions:

Ingress is not a load balancer. It is basically a reverse-proxy into your cluster you can manage with manifests. It is paired with an ingress-controller which can be whatever you want, nginx.. traefik etc. The default k8s ingress is nginx under the covers.

Services are your load balancers. You can also use a service mesh like Linkerd for even more functionality.

Good luck!

<comment><AUTHOR> Thank you! Couple followup questions: if I have a box at home that I intend to install ubuntu to run random services, should I use minikube since it's just one node/box, or should I give it the full K8s treatment?

Also, what is the difference between a reverse-proxy and a load balancer? In the K8s docs, they mention load-balancing in the 'what is ingress' section. Is it that Google made ingress both things (reverse proxy and load balancer) or that those two things are conceptually similar?

If I wanted to make my local home-network machine accessible to the outside, would I want to have a reverse proxy within my network that leads to k8s/ingress, or could/should I use k8s as the exposed entrypoint to the outside world?

<comment><USER2> If you are using ubuntu as a base you are probably better off installing k8s directly with a tool such as [https://kubernetes.io/docs/getting-started- guides/kubeadm/](https://kubernetes.io/docs/getting-started-guides/kubeadm/)

On ingress:

You can use ingress to load balance your ingress across nodes, but it's not a service load balancer. That what services are for. Your ingress points to one or many services, which then load balance pods matching that label.

Ingress IS however used in place of cloud-level load-balancers like ELB on AWS. When you choose a service type of "LoadBalancer" on a cloud platform, it provisions an elb that external traffic can go through.

On-prem k8s obviously does not have that, so before ingress the only way to expose ports was by service type "NodePort" This exposes the service on a dedicated port, but it's a pain to manage because they are randomish.

Ingress lets you just point at port 80, from there you can easily route to services as they come and go.

For your home cluster, you can expose port 80 of your cluster to your router. Then you set up an ingress that matches the hostname. This will route to your services. It's what I do with my home cluster: [https://hackernoon.com/diy- kubernetes-cluster-with-x86-stick...](https://hackernoon.com/diy-kubernetes- cluster-with-x86-stick-pcs-b0b6b879f8a7)

</comment></comment></comment><comment><USER3> If you are interested in learn K8S and Rails for example, I wrote a book on that: [http://www.apress.com/us/book/9781484224144](http://www.apress.com/us/book/9781484224144)

I would recommend to start with Docker. Learn how to setup a Ruby development environment. Then try to deploy that same environment only using Docker. Then when you understand the workflow you can try K8S.</comment>


Ask HN: Recommendations for "too-quiet" open office? - <AUTHOR> I work in an open office with about 30 people, all in the same room. We have (much to my chagrin) the stalwarts of open-office philosophy, the worst of which in my opinion: one big room that is library quiet.
This has produced lots of bad effects regarding sound:
-The office is library quiet, all you hear is clicking and typing
-There aren't enough people to generate a din,
-Taking a call is so awkward, making a call is too. You hear every word every person says in the office. Everyone takes calls in "phone booths".
-Any noise is distraction, any conversation is a distraction, however:
-It is inherently anti-social, as everyone either has headphones in or too scared to have a casual conversation because it is too quiet.
-We have these zones that are supposed to be loud/active, quieter, then the "actual library" area, which is supposed to be quiet, but the whole office ends up quiet.
Solutions I have thought of:
-Piping in white noise like www.coffitivity.com into certain areas of the office
-Creating natural sound barriers like temporary screen walls to make people more comfortable conversing without people worrying about distracting others.
That said, I need help. I want to be able to bring in some ideas to management that will help this situation.
Or is it a bad idea, and a loud office is much worse than a library quiet one? <comment><USER2> Start a culture of talking. If you don't want mere office banter, holding occasional whiteboard sessions is a good pretext (and useful in its own right).

Find the most receptive sub-group to engage in this regularly. Within a few months, talking at the office will not be a foreign concept.

Tasteful partitions help because they break up the visual space, while letting sounds leak through. Consider some temporary partitions that you'd envision in a high-end loft, instead of ones that look sterile. Introduce plants -- real or fake.

Though I don't have a good visual model of your workspace, In my mind many open-plan offices end up looking like cafeterias, while nicer ones remind me of a children's play area at a library. By introducing some partitions and pleasant surroundings, the aesthetics will help make people more comfortable, and potentially more interactive.

</comment><comment><USER3> Ok, here's my take - there is no such thing as a too quiet office. For me a loud office totally kills my concentration and headphones only help so much. "Library quiet" sounds like the perfect noise level.

That being said, white noise wouldn't bother me at all - and I don't even mind quiet office music. I think the barriers idea wouldn't really work to block sound and it would just end up making the whole office loud with chatter, which would be a major bummer to someone like me.

I completely understand that more extroverted people might need it louder to concentrate, so it makes sense to find a way to compromise, just remember your introverted brethren.

</comment><comment><USER4> Open office == increased transparency

sounds like your open office is working exactly as it is designed, be happy!

your "temporary screen walls" sound a whole like like cubicles (gasp!)

I think the open office concept offers some benefits (other than just being cheap). The #1 is that communication is effortless and transparent. No need to have a meeting to relay what Alice and Bob just decided, because everyone could actively hear. However, not everyone needs or wants to hear everything that happens in the whole company.

Perhaps as a compromise you could have a "music station" where based on some revolving mechanism, each of the employees get a chance to choose the music for the hour/day/whatever. Even if it is bad and some people hate it, as long as it isn't too loud to drown out with headphones, or have a meeting over, then it could be a good thing. Plus music is awesome!</comment>


Ask HN: What happened to the old mainframes? Were many preserved? - <AUTHOR> <comment><USER2> I doubt it. Storage costs and hassles would be immense. Given that few people kept old Apple 1's around, as small as they are (which is why they sell so high at auction), I see no sense in preserving a mainframe, then or now.

I would guess that most surrendered mainframes (for the past decade or two) would be directly decommissioned, having no subsequent market warranting re- deployment.

Have you _been_ in an old-school mainframe shop? I left that world in 1986 for the minis/PCs/UNIX world and didn't follow the industry after that. But at that time, a mainframe like an IBM 309x (successor to the 308x, which was the successor to the 3033, which was the successor to the 370 era) required huge, elevated, Halon-protected, chilled rooms, with banks of tape drives the size of a phone booth, hard drives the size of a small chest freezer, plus numerous large peripherals (printers, card readers, card punches, etc.), and an enormous power infrastructure.

Today, you now have more CPU power in your phone.

I _loved_ operating mainframes alone - it was like being an orchestra conductor, except you could reboot a recalcitrant concertmaster.

It was typical of the mainframe world that machines were _leased_ rather than owned. I guess the owners would redeploy if there was any customer, otherwise decommission for parts/scrap. The hassle of transport/exchange was huge.

BTW, anybody need 9-track reel tapes? I have a few.

<comment><AUTHOR> Yes I worked in a few places with mainframes. Never found them very interesting though because they were so tightly controlled.

I do remember how flaky they were though. Constantly crashing and needing reboot, which could easily take the better part of an hour.

<comment><USER2>
      Constantly crashing and needing reboot

Not at all, in my experience. They were _vulnerable_ to power dips but otherwise low trouble (by the standards of the time; not like, say, SunOS on Sparc). They would go weeks or months without a reboot (such had to be scheduled through upper management and customers).

IBMs even had a cool _Quiesce_ feature where you could stop the processor (and all I/O) while leaving the system stable. This was necessary when doing things like disconneting/reconnecting peripherals and drives. But it didn't sing "Daisy, Daisy" in the process.

</comment></comment></comment><comment><USER3> For certain values of "mainframe", some are operational or being restored at the Living Computer Museum in Seattle (a very neat place).

[http://www.livingcomputermuseum.org/The- Collection/Exhibit-H...](http://www.livingcomputermuseum.org/The- Collection/Exhibit-Hall.aspx#Mainframe)</comment>


Mp3s of the 'How to Start a Startup' Lectures - <AUTHOR> http://yc-cs183b.tumblr.com/ The content belongs to and was created by Stanford and Y Combinator <comment><USER2> I listen to these via a podcast URL, not sure if it is official or not: [http://howtostartastartup.co/feed/podcast/](http://howtostartastartup.co/feed/podcast/)

<comment><AUTHOR> sweet, that's good too</comment></comment>


Why Is the Internet So Infuriatingly Slow? - <AUTHOR> http://www.slate.com/id/2199368/pagenum/all/#page_start

<comment><USER2> One possible reason is when pages lock-up due to ad-block blocking google analytics.

I just ran into this, and turning off ad-block has resulted in ads practically everywhere. I had no idea!</comment>


Browse and "Read" UL Standards for Free - <AUTHOR> https://www.shopulstandards.com/Catalog.aspx <comment><AUTHOR> Hi All,

I recently found out about this website. You can search for any UL standard and read it for free on the website.

The only catch is that you have to crate an account with a valid e-mail ID.</comment>


Ask HN: When Is Documentation Bad? - <AUTHOR> At work, I've noticed some people are against documentation because, in their opinion, it goes stale so it's better to look at the code.
There have also been some situations where PR's to add comments to things were scoffed at. Usually things that would require a developer to navigate 3-5 repositories to find out what certain things mean.
I'm wondering two things: * When is documentation bad? * Have you noticed a trend against documentation (in favor of more pure code reading) at your work? <comment><USER2> "its better to look at code" might be valid for tiny projects, but good luck making sense of million lines of code in thousands of files.... i'd rather have a document with proper chapters / sections. it will always be easier to read. The problem is not with documentation ,but with the fact people are too lazy / distracted to update it along side their code. (i.e for every code you write, have the documentation open and verify it's still matching... / alter it where needed)

documentation can also highlight easier program flow and other things which might not be clear from 1 code file or module. You could add such information in comments, but then you would need to be find that certain file with specific comments instead of just looking and ctrl+Fing in a document...

i feel many people are against documentation just because they don't like to write it for whatever reason (maybe they just don't know how to concisely describe their own code...)

if you look at companies who manage and own large code bases like HP and IBM, they have BIG documentation, and it's there for a good reason.... it's crucial to have.

not having documentation is like programming something without any technical / functional design. it will become a mess sooner or later.

</comment><comment><USER3> It's never bad. The people you work with are wrong.

The thing to remember is, just like code, the work of documenting something is never _done_. It's an ongoing piece of work. It takes effort to maintain docs just like it takes effort to maintain code.

</comment><comment><USER4> [personal opinion incoming] It depends what sort of code you are writing. Documentation can tell you

-> What a piece of code does => Properly written code can be self sufficient in that if the domain is not too complicated.

\-- Why a piece of code exist => Git history and commits linking to user stories can also serve that purpose, to an extent.

\-- How the code is architectured, best practices etc. => I don't think there is an equivalent for that just using code.

In my own opinion (front end dev) I would:

\- leave comments in the code only if it's doing something unexpected, because of a weird edge case, i.e some sort of hack \- Create documentation on the overall architecture of the code. Keep that up to date if new pattern emerge. \- Create documentation on specific area of the code, if they are complexe enough. "How we handle this feature" sort of stuff.

And I would keep it at that. That is for a product. If you work on a library / framework (even internally), then you want a full API documentation.

Backend has different requirements.

</comment><comment><USER5> Documentation has been one of the pain points of my programming career. I've worked on some big projects with software that can't afford to fail and needs to meet a bunch of requirements. All of them only had user manuals and zero documentation.

A kind of documentation that I hate is documentation that just explains what a function does (adds x to y) instead of what business/real world reasons that logic exists (adds x to y because of "Z"). Explaining the why vs how is what documentation should be doing and I can understand why so many programmers shrug documentation when all they are doing is writing the how in non parse- able form instead of expressing why.

</comment><comment><USER6> If there is no policy or effort to maintain it in a system that is rapidly changing, then documentation that is not kept up to date, can mislead people.

Say you decide to hire an engineer for 150k a year. If all he or she has to learn from is stale documentation, you are wasting time and money. The engineer may even start to approach the problems to solve in entirely wrong ways.

</comment><comment><USER7> Imagine trying to understand kubernetes from code :D Maybe we can come up with "real programmers ..... " haha

<comment><USER8> Any sufficiently complicated Go or Java program contains an ad-hoc, informally-specified, bug-ridden, slow implementation of half of Kubernetes.

</comment></comment><comment><USER9> When it's poorly written, out of date, or impossible to search.

</comment><comment><USER10> Documentation is bad when it is missing.

</comment><comment><USER11> When it isn't updated with API changes.</comment>


Ask HN: How to build an API on top of an existing Rails app with NodeJs? - <AUTHOR> http://stackoverflow.com/questions/19669737/how-to-build-an-api-on-top-of-an-existing-rails-app-with-nodejs-and-what-archite

<comment><AUTHOR> Any piece of advice will help. I know that it is a big question but I'm going to need help from many experts on this field. Thanks in advance =)</comment>


Meg Whitman to Leave Role as CEO of Hewlett Packard Enterprise - <AUTHOR> https://www.cnbc.com/2017/11/21/meg-whitman-to-leave-role-as-ceo-of-hewlett-packard-enterprise-hpe.html <comment><USER2> To run for office?

<comment><USER3> Or get a more lucrative CEO spot at something Uber-y.</comment></comment>


Brightcove discontinues App Cloud product, pivots to native video players - <AUTHOR> http://techcrunch.com/2013/02/27/brightcove-introduces-native-video-players-for-ios-and-android-will-discontinue-html5-based-hybrid-approach/

<comment><USER2> so one more company has rejected HTML5 as hybrid media app</comment>