Ask HN: Any other devs seeing decreased android downloads from March 7th on? - <AUTHOR>

I'm assuming due to the new PLAY icon, app and format that downloads are down.
Users are not used to the new icon and have trouble accepting all the new agreements that you have to accept before using the new play store market.
This is my only guess of a sudden drop in all downloads. I'm down about 50% of what my normal download rate is.
Is anybody else experiencing the same problem? <comment><USER2> IMHO, this is exactly what the issue is. When my market app upgraded to play, there was no indication that the actual name of the app was changing also. I'm running MIUI with the ADW Launcher and the upgrade also didn't remove the market app icon on the desktop.

When I tapped the Market icon to launch the market, nothing happened and after the first tap, the icon disappeared. Thinking WTF? I checked all apps and it was nowhere to be found. Having had this issue before with different launchers where an icon will exist on one launcher but not another, I switched to Go and the Market icon wasn't there either.

I hopped online to download an apk for Market when I stumbled onto something that indicated it might be "Play" now instead. Sure enough, the icon was there all the time, it's just now called "Play".

Not a very user friendly upgrade/name change of the Market app if you ask me.

<comment><AUTHOR> totally agree. If we the hackers/devs are getting confused, I can't imagine the confusion the common android phone user is having.

<comment><USER3> Amusing proof: [http://phandroid.com/2012/03/08/accidentally-deleted-the- and...](http://phandroid.com/2012/03/08/accidentally-deleted-the-android- market-from-your-phone-how-to-get-it-back-24-people-who-thought-they-deleted- it/)

</comment></comment></comment><comment><USER4> It's been constant for me, absolutely no weird change. about 5% drop on the 7th, with a 10% increase on the 8th, but that's a completely normal variation.

</comment><comment><USER5> Thursday and Friday were about 10% lower than normal, but I've seen variations like this often.

</comment><comment><USER6> I checked my last three months and March 7th was the largest drop I've had, but my numbers as of today are rebounding.

</comment><comment><AUTHOR> It seems the my numbers are rebounding and slowly creeping back to normal.

Especially since my app has a large user base outside of the US, I'd assume the sudden switch to PLAY was even more confusing for them.

<comment><AUTHOR> i guess i spoke too soon.

Numbers are still down mostly due to international user base about 50% of pre- play levels.

Deems like the international crowd is just as much or even more confused about the market/play transition and as a result not downloading apps as much.

</comment></comment><comment><USER7> had a little drop with one of my apps, starting march 5th, but seems to be recovering now (down from ~40 to 30 installs per day).</comment>


Why your first hire should be a designer and not a developer - <AUTHOR> http://blog.calbucci.com/2012/04/why-your-first-hire-should-be-designer.html

<comment><USER2> It is unfortunate that we have designers and developers as separate people. Hire someone who is good at both i.e probably a hacker. Yeah... but this species is very hard to find :)

</comment><comment><USER3> True only if the "designer" knows about usability.</comment>


Ask HN: What are some things you wish Slack could do? - <AUTHOR> Disclosure: we're a small startup and we've developed a bunch of NLP tools that can "understand" conversations and extract certain kinds of data (Q&As, announcements, harassment, compliments, etc). We have some promising use-cases in mind but looking for more. I didn't want to limit the topic to the NLP only though, so any discussion is welcome :P <comment><USER2> Use an open message protocol</comment>


My startup makes jellyfish aquariums - <AUTHOR>

Thanks to the immortal jellyfish and the mortal will smith for the recent jellyfish plugs...
My startup breeds jellyfish and makes specialized aquariums for displaying them.
www.jellyfishart.com
The first jellyfish exhibits opened in public aquariums in the 90s and scientists have been making achievements in breeding and displaying jellies since then.  The exhibits are hugely popular and now jellyfish are found in virtually every public aquarium.  Jellyfish Art uses proprietary tank designs and new breeding techniques to commercialize jellyfish aquariums with the same success they have achieved in public venues.
We started last year by making large custom aquariums, but we're building a website now to launch a line of plug-and-play desktop tanks.
Staring at a jellyfish tank beats staring at a computer screen I promise <comment><USER3> Lose the splash screen and the "enter" link.

I already typed in the URL, of COURSE I want to enter!

You've only got one goal with people visiting the website: get them to buy one.

With your website, what's my next action as a customer?

It should be "enter my credit card, click submit".

I can forgive you for not having an ecommerce solution set up yet, but failing that, what's my next action?

To get on your mailing list, so you can pitch me with interesting articles, discounts, etc.

...but you're not collecting email addresses.

Well, failing that, I guess it's to call you on the phone.

What's your phone number?

It's the absolute last thing on the page, in the smallest font on the entire page.

"Call Us (415)-810-3343"

should not be a footnote: it should be the POINT of your website.

(at least until you can get a mailing list set up, or better yet, an ecommerce solution).

<comment><USER4> I agree with that for sure. Also, this photo has a problem:

<http://www.jellyfishart.com/cyltank.jpg>

There's a guy in it.

<comment><USER5> Wait... what guy? ;-) <http://dl-client.getdropbox.com/u/5822/cyltank.jpg>

</comment></comment></comment><comment><USER6> Put your own tanks on the front page. Make your own videos with jellyfish in them, and use those. The videos you offer don't tell me anything about your product.

You also need more content. I want more from your Website than it offers. I'm genuinely interested in your product but can't find enough information about it on your site.

Consider adding a FAQ to cover basic questions.

</comment><comment><USER7> Call to Action! Call to Action! Call to Action!

Echoing what has already been said, your goal is to get them to give you their info so you can make the sale, or to get them to order online.

Also while I totally love Vimeo, you need your videos to autostart. If Vimeo can't do that, get them hosted elsewhere so that you can. The motion is what will draw people in.

And kill the splash screen. It's very 1998 and annoying.

I suspect you did it for SEO, but you need to work on your content. The better SEO help is adding more content to site with multiple pages. Give me a page about the Jellyfish. About your aquariums. About the history of jellyfish as art. About jellyfish mating. Etc etc. Don't spam the site up, have logical navigation, but the more content on a site, the heavier it is weighted and you're going to be going against scientific sites for terms like jellyfish. So you're fighting an up hill battle when it comes to SEO.

<comment><AUTHOR> splash screen is getting the chop.

anyone have a favorite video hosting site other than vimeo?

<comment><USER8> Checkout using a site that allows you to upload to multiple sites then tracking stats behind views such as tubemogule.com

</comment></comment></comment><comment><USER9> This is a complete breath of fresh air, and certainly very different from what we normally hear about here.

I never realised that you could get jellyfish in tanks, and I want one!. It's a very cool concept.

But as the other posters have pointed out, the site definitely needs some work. For this particular niche it probably doesn't need to be all flashy and ajax-like, but if you follow some of the advice in the other posts it will definitely help your sales.

The one thing I would add to the conversation is: More pictures, videos and information. I want to see more jellyfish, what kind I can get, what colors they are, where they live, how they breed, how I keep them alive. Some wikipedia articles and names.

</comment><comment><USER10> Some things I would like to know:

\- Your price for the tanks

\- More info on the tanks. Dimensions etc.

\- Market prices for Jellyfish (or your prices, since you sell them right?)

\- Some links or even self-hosted information and guides about owning Jellyfish and tank maintenance.

<comment><USER11> Yeah, it etches sketchy when you don't put your prices up.

<comment><USER12> Also, the Untitled 6 page title for the team page isn't helping either...

You definitely want to put up a more professional face for your site. It doesn't have to be cutting edge, but sharper lines and cleaner/more interesting design will give people visiting a better first impression of your company. Like others have said, this is your company's virtual storefront. If web design isn't what you want to spend time working on, you might want to consider hiring a contractor to make a simple e-commerce site for you.

</comment></comment></comment><comment><USER13> I just love the idea!!

But the site is confusing. Kill the splash page. Put a call to action - <USER2> will know that you're actually selling something - it looks more like a fun little site showing off jellyfish in aquariums. And although it's great that you have videos, I would suggest you also put yourself in them with real tanks - and show your passion for what you're doing.

</comment><comment><USER14> Your product is great, and I'm sure you'll have no trouble making sales.

However, the two pictures on the "Tanks" page looked a bit tacky, and I thought the splash page was unnecessary. Also, three videos on the home page seems excessive. Might I recommend a more modest approach (perhaps one video on each page)?

Otherwise, the site speaks for itself. And I like it.

</comment><comment><USER15> For your tanks, how do you do water changes? Where's the protein skimmer? the carbon filters? How will people make sg 1.025 water in their office?

Saltwater tanks are a LOT of work. I'm just curious if jellies are somehow easier (like having a Betta in a bowl)

<comment><AUTHOR> saltwater isn't too difficult. not as easy as betta in a bowl, but you only need to check on it every other week.

<comment><USER15> You should clarify that saltwater is easy if your tank is FISH ONLY. Reef tanks ARE difficult.

</comment></comment></comment><comment><USER16> You could use more pictures and some rough indication of how much it costs. Or is it the kind of thing that, if you have to ask, you can't afford it?

What kind of commitment does a customer have to make other than money? Do you have to learn a lot, constantly monitor pH and temperature, etc, or just sprinke some fish food in every few days? There is no indication on the website.

Along the same lines, do you guys maintain the tank or does the customer? If you do it, is your service SF only?

Also, aren't some jellyfish fluorescent? That would be cool. I understand that green fluorescent protein doesn't just come in green anymore.

</comment><comment><USER17> I think you need more photos. Some possible inspiration:

[http://www.amanotakashi.net/portfolio/nature_aquarium/index....](http://www.amanotakashi.net/portfolio/nature_aquarium/index.html)

</comment><comment><USER18> I like the idea and would be interested in a desktop tank (assuming care and feeding isn't expensive or time consuming). You might consider updating your website to include some information for potential customers, like what kinds of jellyfish are available, what's involved in taking care of one, average lifespan, special concerns, etc.

<comment><AUTHOR> the jellies require feeding and some water changes, but they're about as hardy as any other aquarium fish.

so far we've been doing large custom tanks with automatic feeders or technicians coming in every day to do the feeding.

as we launch a line of desktop tanks, I wonder if customers will dread feeding the jellies 2x/day like brushing your teeth, or look forward to it like watering a houseplant. Personally, I don't like brushing my teeth and never kept a plant alive for more than a week. thoughts?

<comment><USER18> If feeding could be partially or completely automated I think you're sitting on a goldmine (and I'll be waiting patiently for the IPO). If it absolutely needs to happen twice a day and has to be done by hand then there's no way I could have one of these on my desk at work (because lets face it, I'm not going to sign up for anything that has me driving to the office twice a day on the weekends and lugging a fish tank to and from work on a weekly basis is scary compulsive behavior) and I really REALLY want one of these things on my desk at work.

I could definitely see something like this going viral (sea monkeys 2.0) in short order if things progressed to a stage where they're relatively inexpensive, customizable (flourescent jellies ftw), and don't require a tedious amound of upkeep.

</comment></comment></comment><comment><USER19> Reminds me of a sushi/teppan yaki restaurant that used to exist in the Bellagio called Shintaro. Even though the sushi was overpriced (though excellent) I used to eat at the counter just to watch them. They had a few tanks with rotating colors of backlighting, that somehow was simultaneously trippy and relaxing.

</comment><comment><USER20> How do you breed the jellyfish? I always thought you just catch them in the wild.

</comment><comment><USER21> those are sweet. i want one.

</comment><comment><USER22> We can help to design a website. Contact me at jparicka(@)gmail.com.</comment>


Function to take better advantage of Node.js asynchronous goodness - <AUTHOR> https://gist.github.com/739559

<comment><AUTHOR> The original title for this was:

"CODE HN: Function to take better advantage of Node.js asynchronous goodness."

I'm not sure how it changed.

</comment><comment><AUTHOR> I thought I'd share a function that has been VERY useful to me.

Maybe "CODE HN" is an interesting label ... if you wrote some code that you are proud of and think it will REALLY help your fellow hackers discover a better way to do something, maybe you can post it here as CODE HN. I'd be interested in pro tips from other hackers out there :)</comment>


Your Facebook data is only worth $5.20 on the dark web - <AUTHOR> https://www.marketwatch.com/story/spooked-by-the-facebook-privacy-violations-this-is-how-much-your-personal-data-is-worth-on-the-dark-web-2018-03-20 <comment><USER2> I don't get recent outrage about Facebook. Everybody knew what Facebook knows about them. Everybody knew that the data someone has about you can land in someone elses hands. Why the outstanding outrage?

And all the "private" information you shared is not that valuable to anybody. About $5 bucks on average not only for the ability to download everything you ever posted but also what your friends posted and also ability to post as you.

In short pretty much nobody cares about you enough to make distinction between what you consider private and what you consider public. At least doesn't care enough to pay 5$ on average to get also the former not just the latter.

<comment><USER3> I would still be using Facebook if it was the case where they only have what we give it.

But that isn't reality. What Facebook actually does is purchase data from hundreds, maybe thousands, of other sources and tie that to your account.

They follow you around the web with their tracking cookies and save every website that happens to have a Facebook widget.

They alter your timeline to conduct psychology experiments.

They use other people's data to build a shadow profile of you, even if you don't have a FB Aaccount. For example, building your graph of friends based on the contacts that other people upload.

I could go on if I thought harder, but those are just the ones that come to mind first.

</comment></comment><comment><USER4> The problem with this article is that it is not true, in fact paying someone for login is how you get scummed.</comment>


Getting Started with JavaScript Unit Testing - <AUTHOR> http://blogs.lessthandot.com/index.php/WebDev/UIDevelopment/Javascript/getting-started-with-javascript-unit

<comment><USER2> <http://code.google.com/p/js-test-driver/wiki/GettingStarted></comment>


Interleaving and varying your study location are good learning strategies (2012) - <AUTHOR> https://www.wired.com/2012/01/everything-about-learning/ <comment><USER2> I have a (relatively poorly developed) theory that learning and intelligence has far more to do with what and how we _forget_ than the quantity of information we consume. It seemingly explains why sleep matters so much for learning, and also why deep neural nets have performed so well with dropout strategies. I'd be willing to bet this falls in line with my theory...that changing locations and contexts facilitates with forgetting noisy information, letting the important things stand out more once they are retrained.

<comment><USER3> Forgetting costs energy... Human memory seems association-based, and even uses the creative part of the brain so it can also generate details (often false) on the fly. So learning things via mnemonics is so successful even if counterintuitive that you're learning two things instead of one, but eventually the mnemonic seems to fade and you can deal with the thing you were after. But the mnemonic often seems to still be there. How do you deal with sudden recall of a memory or fact from 10+ years ago which you haven't thought about at all since then and that for all intents and purposes is useless and noise? There's a lot of stuff that is still 'there' in the brain, even if you can't recall, but may be triggered by some association, so how do you distinguish failure to recall with actual forgetting and the information not being there at all? The article mentions childhood phone numbers. I can remember at least one right now, it wouldn't surprise me if I could recall others with more careful thinking or perhaps some nostalgic browsing of old photos.

Changing locations is barely given a blurb in the article and I don't see how it would help that much apart from maybe motivation-related reasons (similar to having a separate room in your home for your home office). Is there a study on location changing? I'd bet the location trick's effects are dominated by the fact that spaced repetition is at play, which also gets mentioned in the article. Is there a study that tries to detect a difference between spaced repetition in the same location and spaced repetition in other locations? If there were a difference, then maybe it could work on the idea that you're creating a subconscious association with the place you're studying in and the thing you're learning, and by recalling and learning it in another location you're adding another association and strengthening the common paths. But I have to wonder if explicitly constructing a memory palace to create such associations between facts and things/places is a far superior strategy and again would dominate any effect of different location.

<comment><USER4> "Changing locations is barely given a blurb in the article and I don't see how it would help that much" "that you're creating a subconscious association with the place you're studying in and the thing you're learning"

I think so, see state dependent memory. Mood and intoxication can play a role here as well. [1]

"recalling and learning it in another location you're adding another association and strengthening the common paths"

I think so, see aaachilless's sibling comment [2] about the pattern becoming generic.

1\. [https://en.wikipedia.org/wiki/State- dependent_memory](https://en.wikipedia.org/wiki/State-dependent_memory)

2\. [https://news.ycombinator.com/item?id=14455056](https://news.ycombinator.com/item?id=14455056)

</comment></comment></comment><comment><USER5> _Make It Stick_ is my all-time favorite book on effective learning strategies covering these concepts and more in scientific detail.

<comment><USER6> Love the material, but the book is sooo long and full of filler. I much prefer the article version:

[http://tguilfoyle.cmswiki.wikispaces.net/file/view/What_work...](http://tguilfoyle.cmswiki.wikispaces.net/file/view/What_works,_What_doesn't.pdf)

<comment><USER7> Thanks, I read the book some time ago. This is an excellent summary.

</comment></comment></comment><comment><USER8> These concepts are discussed in detail in the Coursera course "Learning How to Learn" and the accompanying book "A Mind for Numbers" by Barbara Oakley. Spaced Repetition, Pomodoro, Chunking, Interleaving are things I'm trying to integrate in my learning routine.

<comment><USER9> I don't remember "varying your study location" in that book.

<comment><USER10> She does mention it, something like "if you usually study in your bedroom, try recalling in the kitchen" or something like that

<comment><USER9> Ah, from this I was expecting it to be something with a little more expansion. I think I remember this.

</comment></comment></comment></comment><comment><USER11> Every time I travel, my imagination goes wild. In a similar manner, I talk more when moving.

</comment><comment><USER12> As a layman, I find his claim that human brains having unlimited storage capacity dubious.

Or does he mean effectively unlimited, like a brain having 1000 YB[0] of storage and a human never coming close to experiencing that much information input in their lifetime?

[0] This number is made up and for illustrative purposes.

<comment><USER13> I think the claim as written is dubious, but the point is that our capacity to store information _far_ exceeds our ability to recall information, and we can effectively recall things only because we forget so much.

There are a few people with a condition called hyperthymesia, like Jill Price, and the condition generally has a profound negative impact on their lives.

<comment><USER14> ..and I wonder for people affected by hyperthymesia if they have memories of remembering a memory

<comment><USER15> I've remembered remembering things before. It's often been useful, especially when I forget the thing I remembered.

</comment></comment></comment></comment><comment><USER16> It is also harder to fall asleep in unfamiliar locations. Your brain is generally more _on_ the less familiar you are with a location.

<comment><USER17> I find the opposite. I regularly get similar thought patterns going around in my head leading to insomnia. When I change location its far easier not to get trapped in those thought loops.

</comment></comment><comment><USER18> I suspect listening to the right music (for you) and at the right volume might achieve similar effects. It's wild theory, but given that sound affects the brain in various positive ways I can't help but wonder.</comment>


PayPal no longer works in Greece–and why that matters - <AUTHOR> http://qz.com/444188/paypal-no-longer-works-in-greece-and-why-that-matters/

<comment><USER2> But the argument could be made that because no one knows about the underlying banks, and all services goes through coinbase / lending club / etc., a commoditization is making banks irrelevant, and they are getting stripped from an important part of their business, which is the services that they provide to their customers.</comment>


Impact of breast milk on IQ, brain size and white matter development (2010) - <AUTHOR> https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2939272/ <comment><USER2> I'm not sure why this study from 7 years ago is being dug up because it's not a particularly good, interesting, or definitive study. Some problems with it:

1\. Small sample sizes.

2\. Significance was only found in one subset of the population. Given enough ways to divide up groups of people, you will almost always get false positives.

3\. Not an experimental design.

4\. The study did not control for simple factors like income or the health of the parent.

<comment><USER3> > this study from 7 years ago is being dug up

That is not fair. You're making it sound like it's a JS framework.

Seven years is nothing in this case.

<comment><USER4> I suppose the point being made is that enough time has passed for the study to have been properly validated; as the parent comment points out, lots of issues have been found with it.

<comment><USER5> > as the parent comment points out, lots of issues have been found with it.

I'm not familiar with the research here so I can't say either way. But a preliminary google scholar search turned up a lot of articles which seem to suggest that breastfeeding has a bunch of positive impacts on numerous intelligence and general well-being metrics.

The article itself has been cited 209 times according to google scholar [1], and this study [2] (cited 400+ some odd times) seems to accept some of the propositions made in this paper as givens.

Anyway, I think it would have been interesting if the null hypotheses here weren't rejected. I kind of expect evolution to have optimized human breastmilk over alternatives for infant development.

1\. [https://scholar.google.com/scholar?cites=1509419575151008169...](https://scholar.google.com/scholar?cites=15094195751510081699&as_sdt=2005&sciodt=0,5&hl=en) 2\. [http://pediatrics.aappublications.org/content/129/3/e827.sho...](http://pediatrics.aappublications.org/content/129/3/e827.short)

</comment></comment></comment></comment><comment><USER6> As a recent parent I would love it if there was more realistic health information for parents about the benefits of breastfeeding. As best I can tell from metastudies (which I'm totally unqualified to read), the scientific answer right now is: there may be some effect, but if so it's too small to reliably measure and may be swamped by other interventions. (I could be wrong! That's why I want better info.)

(Compare to, say, the advice to have infants sleep on their backs to prevent SIDS, or the HPV vaccine, which have clear and measurable health impacts at a population level.)

This matters because breastfeeding has costs that tend to be ignored. Just from personal experience, it pushes disproportionate work onto my wife in a way that's hard to correct for and detracts from parenting. And given that she's working full time, it's also a huge investment of resources -- if you take her work time into account, we're spending tens or hundreds of dollars a day for this. And many women get injuries and infections, soldiering through months of agony for that health benefit that may or may not exist.

Setting aside the health of the parents (and we shouldn't, that's an easy trap), breastfeeding uses a lot of resources that could go toward other interventions for the child. Maybe it's all worth it? But I wish there was a better conversation about the tradeoffs.

<comment><USER7> Yeah, breastfeeding can take 4-6 hours a day. It's no simple thing. And if the mother is working, it's _hard_. Even pumping milk takes time.

Women who can afford to breastfeed exclusively are at least middle class, usually upper-middle class. That comes with a whole set of advantages and other correlations. Studies that try to figure out breast feeding advantages have to try and control for these things, but it's hard.

Here's what we know for sure: Breast feeding reduces infections in the child. It's a small, but detectable amount. And I do mean a small amount. Between six mothers that exclusively breast feed an infant for six months, on average one of those children will have one fewer infection during that time.

Everything else is up in the air, and if it has an effect on anything else (like intelligence) it's tiny. Save your energy for reading to the child and playing games with them, which definitely helps intelligence.

<comment><USER8> Also, teach your babies a subset of ASL, for words like "more", "eat", "drink", "milk", "water", "done", "diaper change", and "sleep". They can form word associations before they are able to speak intelligibly, and it really helps the parent figure out why TF the kid is crying.

<comment><USER9> I taught my daughter about 100 words of ASL (English with and ASL lexicon, to be honest about it). Turned out super useful since she was a late talker (my second child, who I also tried to teach ASL was an early talker and thought ASL was stupid).

In my opinion, it's mostly useful because it's _super cute_. Typically kids who can sign 'milk' or 'more' can also indicate with grunts, grabs and reaching what the problem is. But it's _super_ cute.

<comment><USER10>
      Turned out super useful since she was a late talker

That might not be a coincidence. There's some evidence that kids who use sign language tend to talk later. Maybe because there's less incentive to verbalize. It's not a language delay, though.

<comment><USER9> Pretty sure the causation worked the other way, but it's hardly a repeatable experiment in my case.

</comment></comment></comment></comment></comment></comment><comment><USER11> This study does not control for maternal IQ or socio-economic status. Later studies show that much of the link between breastfeeding and cognitive development is due to confounding effects (in particular, higher SES mothers are more likely to breastfeed): [http://bmjopen.bmj.com/content/3/8/e003259](http://bmjopen.bmj.com/content/3/8/e003259)

> Conclusions Much of the reported effect of breastfeeding on child > neurodevelopment is due to confounding. It is unlikely that additional work > will change the current synthesis. Future studies should attempt to > rigorously control for all important confounders. Alternatively, study > designs using sibling cohorts discordant for breastfeeding may yield more > robust conclusions.

See also: [http://pediatrics.aappublications.org/content/early/2017/03/...](http://pediatrics.aappublications.org/content/early/2017/03/23/peds.2016-1848)

> RESULTS: Before matching, breastfeeding was associated with better > development on almost every outcome. After matching and adjustment for > multiple testing, only 1 of the 13 outcomes remained statistically > significant: children's hyperactivity (difference score, –0.84; 95% > confidence interval, –1.33 to –0.35) at age 3 years for children who were > breastfed for at least 6 months. No statistically significant differences > were observed postmatching on any outcome at age 5 years.

The linked study also yields some odd results:

> In the total group %EBM correlated significantly with Verbal IQ (VIQ); in > boys, with all IQ scores, TBV and WMV. VIQ was, in turn, correlated with WMV > and, in boys only, additionally with TBV. _No significant relationships were > seen in girls_ or with grey matter.

A meta-study that adjusted for maternal IQ only (but not socioeconomic status, which independently correlates with higher rates of breastfeeding) found a very small effect on IQ: [https://www.ncbi.nlm.nih.gov/pubmed/26211556](https://www.ncbi.nlm.nih.gov/pubmed/26211556)

> We included 17 studies with 18 estimates of the relationship between > breastfeeding and performance in intelligence tests. In a random-effects > model, breastfed subjects achieved a higher IQ [mean difference: 3.44 points > (95% confidence interval: 2.30; 4.58)]. We found no evidence of publication > bias. _Studies that controlled for maternal IQ showed a smaller benefit from > breastfeeding [mean difference 2.62 points_ (95% confidence interval: 1.25; > 3.98)]. In the meta-regression, none of the study characteristics explained > the heterogeneity among the studies.

<comment><USER12> You're oversimplifying this.

Current status: Breastmilk-IQ relationship inconclusive and hotly contested (Breastmilk-health status understood and strongly favorable)

You provided a link to a meta-study from 2013, but 44 articles cite that article many do not agree.

<comment><USER11> > Current status: Breastmilk-IQ relationship inconclusive and hotly contested > (Breastmilk-health status understood and strongly favorable)

Source?

<comment><USER12> "Both exclusivity and duration are important, because dose response is well established for breast milk benefits.3–5" [1]

So the author cites findings that how-long you breastfeed for or amount of breastfeeding you do has an effect (e.g. once a day vs twice a day) that's a big unexplained phenomenon (which could NOT be explained by maternal IQ, SES, etc).

To quote this author's interpretation of the literature "Although the topic is controversial, and a recent systematic review identified heterogeneity between studies, among the 4 studies with the least bias (each >500 subjects, controlled for maternal IQ, breastfeeding recall duration <3 years) breastfeeding improved performance on IQ testing by 1.76 points (95% confidence interval, 0.25–3.26), suggesting a small but durable impact of breastfeeding on intelligence.10"

(Again 2017, fully aware of the difficulty of controlling [1])

Now does this case-closed prove breastmilk bumps IQ? No, it proves my original claim that this is hotly contested.

1\. Breastfeeding: What Do We Know, and Where Do We Go From Here?

<comment><USER11> > So the author cites findings that how-long you breastfeed for or amount of > breastfeeding you do has an effect (e.g. once a day vs twice a day) that's a > big unexplained phenomenon (which could NOT be explained by maternal IQ, > SES, etc).

It could be explained by maternal IQ and SES, _e.g._ if higher IQ mothers were more likely to stick to optimal breastfeeding practices.

> Now does this case-closed prove breastmilk bumps IQ? No, it proves my > original claim that this is hotly contested.

That may well be true, but the fact that the issue is "hotly contested" after decades of research is telling. If the effect was significant (practically, rather than statistically), you'd expect it to be pretty well established after decades of research. Instead, in properly controlled studies and meta- analyses, even where the effect exists, it is small (1.76 IQ points in your example, 2.62 in a study by Horta).

</comment></comment></comment></comment></comment><comment><USER13> There are at this time 112 comments on this page. I searched for "emotion" and got zero hits, and only one comment mentioned "bonding." A problem with any scientific assessment of the human condition is the narrow focus, and these studies only take into account a few variables out of thousands.

Emotional bonding between mother and child is a huge factor in breastfeeding -- that's common sense that doesn't require scientific validation, although it would be very interesting to see studies from that perspective.

<comment><USER11> I'd call it handwaving rather than common sense. What does emotional bonding even mean? Are bottle fed children more emotionally distant and less clingy? Remember: in the 1970s, only 25% of children were _ever_ breastfed. Are Gen X-ers emotionally distant compared to boomers and millenials?

<comment><USER14> I recall articles that say that current teenagers and young adults have closer relationships with their parents then previous generation. However, much more changed in the child raising then just breastfeeding.

</comment></comment></comment><comment><USER15> What's amazing is that people even feel the need to study whether breastmilk is superior to processed alternatives -- would a zoologist ever recommend baby mammals receive any food other than their mother's milk to facilitate optimal development? Why do humans think they're any different?

<comment><USER11> Breastfeeding makes it harder for women to escape traditional gender roles at home (dads can get up in the middle of the night to feed the baby a bottle, but can't breastfeed; pumping isn't much easier than just breastfeeding). It also makes it more difficult when mothers return to work. It's also just inconvenient and unpleasant for a lot of women.

Obviously, before anyone makes that sacrifice, it makes a lot of sense to study whether it has any corresponding benefits.

<comment><USER16> Being someone's mother is probably humanity's most important "gender role" and not something people should be trying to escape from.

<comment><USER11> If it were so great men would want to do it, instead of just telling women how great and important it is.

<comment><USER17> How in the world is a man going to be someone's mother?

<comment><USER11> Men can do almost everything associated with the traditional gender role of motherhood, save gestation and breastfeeding. And if any man actually wanted to do those things, we'd be working on the technology I'm sure.

<comment><USER17> I'm not sure what your point is. Men already become parents all the time. And it's true that motherhood and fatherhood are very important jobs that collectively we really should not be trying to "escape" from. I'm pretty sure the whole point of the push for paternity leave is to let people embrace these roles rather than run away from them.

<comment><USER11> We're not talking about parenthood in the abstract, but rather traditional gender roles. _I.e._ where it's the woman that gestates and breastfeeds the baby, and then stays at home and takes care of it. Women have been aggressively trying to escape that gender role ever since we made it possible for them to do so. The vast majority of mothers work, women have far fewer kids than before, etc. Men, meanwhile, have not rushed to take on those supposedly wonderful and fulfilling duties.[1]

We can conclude from these observations that the traditional female gender role isn't all that great, and that there is a lot of value in technology (for now, formula, but soon, artificial wombs) that reduce the need for anyone to do that work.

[1] There is an increased push for paternity leave because dads want to spend more time with their newborns, which is different from wanting to embrace traditional female duties. And a huge part of that push is to set the stage for women to escape their traditional gender role. Dad being more involved from the beginning means that, in the long term, it will be easier for dad and mom to share child-rearing duties. It's harder to do that when, _e.g._ the child reflexively runs to mom any time it needs something.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER18> It's funny to me that everyone shits on Soylent and how obviously bad it is and yet needs a PhD to figure out if they should breastfeed instead of giving their newborn "formula". Have any of you looked at the ingredients in formula? It's garbage.

<comment><USER8> Even George Costanza knows it's okay to eat garbage _if it 's on top_.~

People in general are way too picky about what they shove down their gullets. It's just chemicals, and the chemicals in formula are close enough to natural milk that it won't kill fragile human babies. Likewise, the chemicals in Soylent are close enough to food that you can quaff it in lieu of eating.

The only problem is determining which chemicals are actually _important_ , which is somewhat difficult, because yadda yadda yadda unethical human experimentation....

But that wire-mom vs. cloth-mom monkey experiment should also suggest that there's more to breastfeeding than just _nutrition_.

</comment></comment><comment><USER19> Sightly offtopic, but recent or prospective parents on HN may appreciate the book "Expecting Better" by Emily Oster, which takes a critical economists eye to advice and studies about pregnancy. Sort of in the vein of Freakonomics.

</comment><comment><USER20> Apart from claims of positive IQ impact, breastfeeding has many other proven benefits (as widely reported by WHO and in Sweden): "Breastfed children are at a lower risk of infections such as acute otitis, gastroenteritis, and respiratory tract infections. ... Women who have breastfed also receive health benefits through a somewhat reduced risk of developing breast and ovarian cancer and diabetes type 2."

</comment><comment><USER21> to all expectant mothers nervous about whether you should breast feed or not, it's definitely a huge and important decision, so i have devised an experiment you can undertake right now to try to gather more data so you can make an informed decision.

ask your husband* to suck your nipple then gauge reaction, offer a favorite bottle as an alternative just to be sure.

*results may be vary based on husband iq.

</comment><comment> d--b Seriously, stats on 26 boys...

</comment><comment><USER22> Well, I had none of this breast milk stuff, poor me!!

<comment><USER23> And who said it didn't have an impact?</comment></comment>


Common Rust Lifetime Misconceptions - <AUTHOR> https://github.com/pretzelhammer/rust-blog/blob/master/posts/common-rust-lifetime-misconceptions.md <comment><USER2> > T only contains owned types

I'd say this is true, because I consider &mut T and &T to be owned types in their own right. They own a pointer. I can cast them to raw pointers. &T impl's Copy even if T doesn't. [https://doc.rust- lang.org/1.43.1/src/core/marker.rs.html#794](https://doc.rust- lang.org/1.43.1/src/core/marker.rs.html#794)

Otherwise, the compilation is great.

<comment><USER3> Is there any type that is _not_ owned by this definition?

<comment><USER4> Not really- which is why "owned type" is kind of imprecise and usually just means "a type not constrained by any lifetime."

</comment></comment></comment><comment><USER5> Reading this document suddenly made learning Rust a lot scarier, and also increases my respect to Rust developers (people writing programs in Rust). It kind of shows that increased safety doesn't come for free.

<comment><USER6> Hi, document author here. I learned Rust because I was too scared to learn C++, lol.

Rust has a steeper learning curve than most languages but it also has a very beginner-friendly and welcoming community. So don't be scared, you can do it! If you get stuck on something it's always easy to get help.

<comment><USER7> As someone who doesn't know Rust yet I feel there's a "do this instead" missing to point 8. It's not clear to me how to do it instead.

</comment></comment></comment><comment><USER8> Coming from JS it was rather counterintuitive for me that a function would "own" a value even if it was ran synchronously and finished.

Also, the whole 'move' terminology sounded to me like Rust would move memory around, but it usually referred to the move of ownership. Also 'consume' didn't make no sense to me. "into_iter consumes a vector" what does it mean? Where does the vector go?

The most valuable info I got about lifetimes was: references/borrowing is usually what you want, so always throw in a &.

<comment><USER9> > Also, the whole 'move' terminology sounded to me like Rust would move memory > around

That's exactly what happens: a Rust "move" is under the covers a memcpy().

> but it usually referred to the move of ownership.

That's also what happens. For instance, when you move a Vec, you are moving (through memcpy) only three words of memory (a pointer, the length, and the capacity), but you are also "moving" the ownership of the memory behind that pointer. That is, the new Vec is responsible for managing that memory, and the old Vec can no longer be used.

> Also 'consume' didn't make no sense to me. "into_iter consumes a vector" > what does it mean?

It means that it takes ownership of the vector, and doesn't give it back.

> Where does the vector go?

It's destroyed within that function. In the case of into_iter() of a vector, it's broken into its component parts (the pointer, the length, and the capacity), and the struct into_iter() returns (which is not a Vec, but something else) is now responsible for managing the memory behind the pointer, and releasing that memory once it's no longer needed.

<comment><USER10> > That's exactly what happens: a Rust "move" is under the covers a memcpy().

Is it really? I had always assumed that the compiler would almost always optimize a move down to nothing, simply reusing the address. If access to the address is still exclusive, what would be the benefit of moving it in memory?

memcpy sounds like what would happen in the case of a copy or clone, not a move.

<comment><USER9> Yes, the optimizer (LLVM) can often optimize memcpy(), and this is not exclusive to Rust: the same optimizations happen with C and C++ (a well-known trick to avoid some undefined behaviors in C is to do a memcpy(), which the optimizer will then elide). It doesn't change that, before the optimization passes, it's doing the equivalent of a memcpy().

> memcpy sounds like what would happen in the case of a copy or clone, not a > move.

In Rust, copy and move are nearly identical; the only difference is that, after a move, the compiler doesn't let you access the old value. Clone is different, since it can be overridden to do anything the programmer desires, but by default, it's identical to copy.

</comment></comment></comment></comment><comment><USER11> This is a fantastic article, please someone bump this up to the Rust book.</comment>


Genetic Algorithm for Knapsack Problem - <AUTHOR> http://kataklinger.com/index.php/ga-knapsack/

<comment><USER2> Nitpicking, I know, but I think the author has misinterpreted the XKCD strip. IMO, " \- as fast as possible, of course. Want something on the Travelling Salesman?" is not a continuation of the client's request (Give me set of appetizers, fulfilling these requirements, as quickly as possible), but rather a response to the waiter ("I have to see to these other tables" \- "and you have to do so as quickly as possible"). This makes the mention of "Travelling Salesman" more appropriate (since it deals with optimizing travel time for certain visits).

Am I misinterpreting the dialogue?

(Not that it matters, of course!)

<comment><USER3> Every NP problem can be converted in another NP problem, so you could probably try to convert your subset problem to a TSP problem (but it wouldn't be useful in practice)

<comment> a-nikolaev Nitpicking: In general, an NP problem can be reduced to an NP-hard problem (in poly-time).

</comment></comment></comment><comment><USER4> I'm mildly annoyed that they don't actually post the solution their algorithm found.

<comment><USER5> from what I understand from Koza about genetic programs, it will be indistinguishable from garbage anyway.

That's one of the problems with Genetic Programming in general - you might get a specific program optimised to a specific problem, but you never _learn_ anything about the problem space from it.

<comment><USER6> Genetic Programming is a slightly different thing than a Genetic Algorithm, a subclass, really. I didn't read the code too closely on account that C++ template code makes me want to dig my eyes out, but he said he was doing a GA. A GP is a GA where the genes represent Abstract Syntax Trees and the alleles represent instructions.

<comment><USER5> Oh, so this blogger is misusing the term (I scanned a little way down the article and thought I'd concluded he was doing GP). In that case this is much less interesting!

<comment><USER6> I don't get the need for the GA library here. It doesn't seem to have simplified the problem at all. This code looks several orders of magnitude more complex (or at least just ugly) compared to a hand-written GA that just used std::vectors as the genes.

</comment></comment></comment></comment></comment><comment><USER7> In reality this is a subset sum problem (unless I overlooked weights on the appetizers).

Rather than using the GA for this, there are extremely efficient dynamic programming methods available (in pseudo-polynomial time). References on the Wikipedia page ([https://en.wikipedia.org/wiki/Knapsack_problem](https://en.wikipedia.org/wiki/Knapsack_problem)).

Since GA is a metaheuristic, it is really great if you don't know how to tackle a problem more efficiently. But like most metaheuristics, not really an ideal method for optimization.

To get a better visual sense of what GAs do wrong, take a look at: [http://www.demo.cs.brandeis.edu/pr/buildable/crane/](http://www.demo.cs.brandeis.edu/pr/buildable/crane/)

You can see that the bridges and cranes have redundant bricks, are not straight, and just generally messy. However, GA gets the job done.

There is a lot of enthusiasm over GAs, but it is just a refined form of random search, and not that different from Simulated Annealing.

</comment><comment><USER8> How does this compare to a the typical branch-and-bound or dynamic programming solution?

<comment><USER9> It is very likely worse. GAs and ESs are good only if you can't come up with a dedicated heuristic that understands the structure of the problem it aims to solve.

</comment></comment><comment><USER10> Can you use the word 'solve' as they do in the article? As this only ever gives a best-found-so-far answer, is that 'solving' it?

<comment><USER11> Also without knowing the details of the library or the implementation given's interaction with said library whether or not this is capable of getting stuck on local maximas and minimas (or perhaps already is).

</comment></comment><comment><USER12> Are you taking Discrete Optimization in coursera ( [https://class.coursera.org/optimization-001/class/index](https://class.coursera.org/optimization-001/class/index) )?

</comment><comment><USER6> In my experience, genetic algorithms with a known target goal (i.e. your fitness function is "how far away from the target is this gene?") are no better than hill-climbing. The problem is that allele sharing is apparently useless (I have never witnessed two wrong parents produce a right child, over numerous experiments with GAs. I get the theory behind it, it just doesn't seem to happen in the real world) and mutation--in order to provide enough variation to find the answer in a short period of time--needs to be nearly 100%, at which point you might as well just iterate. With the propensity for genetic algorithms to fall into local minima and maxima and the time it takes to tweak all of the parameters of mutation and sharing and number of parents, etc., you might as well have just hill-climbed the problem and gotten just as good of an answer in a quarter of the time.

Genetic algorithms are useful if you have three conditions: your parameter range is over a practically-infinite space, you know that hill-climbing will end in a local min/max, and your fitness function is open-ended and relative to previous generations, not an end goal. GAs _can sometimes_ get out of local min/max on their own, so they offer a slightly better chances than randomly distributing seeds in a hill climbing algorithm, and a very large parameter range favors mutation and allele sharing over directed hill climbing. Finally, lacking a known end point, you may actually be interested in the intermediate results of the GA, rather than just the end result.

Anyway, GAs are completely worth studying, because they are fascinating tools for problem solving for the right class of problem, just don't make the same mistakes I did early in my playing that they are a general problem solving algorithm.

<comment><USER13> I saw a phenomenal talk in grad school about why genetic algorithms are generally not as good as stochastic hill climbing. Unfortunately, I can't track down any references to it.

The punch line was that they mathematically proved that genetic algorithms produce less optimal solutions than hill-climbing.

So why are "genetic algorithms" so common in nature? Well, it turned out that genetic algorithms were better at producing solutions that were resilient to changing environmental conditions. They produced a less sharp peak at the solution they did find, so when a change occurred in the underlying conditions, the still had a reasonable chance of being at least ok.

<comment><USER6> Yes, my personal experience bares that out. If one has the notion of trying a genetic algorithm, one should first try hill-climbing. The GA is useful insomuch as the intermediate results are interesting.

</comment></comment></comment><comment><USER6> Well, I felt inspired to do my own GA program [http://wedusc.com/ga/](http://wedusc.com/ga/)

with a discussion thread here: [https://news.ycombinator.com/item?id=5909829](https://news.ycombinator.com/item?id=5909829)</comment>


How to save the princess in 8 programming languages - <AUTHOR> https://toggl.com/programming-princess <comment><USER2> The excellent comic reminds me of the classic "shoot your foot in any programming language" humor, e.g. [http://howto- pages.org/shootfoot.php](http://howto-pages.org/shootfoot.php)

<comment><AUTHOR> That was my first one, too.

</comment></comment><comment><AUTHOR> I don't get the Lisp joke. I mean, the parens, obviously, and the horse on top might be a joke about prefix notation, but why does everybody look weird?

<comment><USER3> Lisp allows you to do it anyway you like. The weirdness is just everyone growling... Cause they're having fun!

<comment><AUTHOR> Ah.

</comment></comment></comment><comment><USER3> > You have to rescue the princess... In PHP...

<comment><USER2> Just jump through these 12 traps. When you're done, there's another 37 subtle gotchas. No biggie.

[https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad- design/](https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/)</comment></comment>


Twitter's clumsy response to hack raises questions about Jack Dorsey's role - <AUTHOR> https://www.cnet.com/news/twitters-clumsy-response-to-hack-raises-questions-about-jack-dorseys-role/ <comment><USER2> honestly I didn't think it was a clumsy response. It seems perfectly reasonable:

* First they clearly assumed it was a limited number of accounts that were compromised, so they went after single accounts.

* Once they realized there was a bigger problem, they locked down the high value (for this kind of scam) accounts

* Then they went for a high level filter so the same scam couldn't appear on any other accounts while they worked out what happened

* They didn't re-enable the locked accounts until they had a handle on, and presumably control of, the attack.

This seems like a reasonable response, and the time between when it started, to when they stopped it, to when they restored service all seemed absolutely fine. It speaks somewhat to a lack of sufficient access control limits, but there are very few companies can guarantee that their access control divisions are perfect.</comment>


Now this is a hacker - <AUTHOR> http://groups.google.com/group/rec.puzzles/msg/1d21e5ccb20eb53f?hl=en

<comment><AUTHOR> Snarfed while slumming on proggit. Not quite up to the level of writing "most pessimum" algorithms, but it brings a tear to my eye to read about someone this deeply technical.</comment>


Screw npm – it's time for change - <AUTHOR> https://github.com/liberty-org/cli <comment><USER2> There's already a good solution, it's called git-vendor [0]!

[0]: [https://brettlangdon.github.io/git- vendor/](https://brettlangdon.github.io/git-vendor/)

</comment><comment><USER3> Duplicates [https://news.ycombinator.com/item?id=11364190](https://news.ycombinator.com/item?id=11364190) , badly.

</comment><comment><USER4> > no single point of failure

I have no solution to this but replacing npmjs.org with github.com might not be the answer. Wonder how a torrent-based package manager might work..

<comment><USER5> I'm assuming that the _github:_ key implies the possibility of non-github repositories being allowed. PHP's Composer does the same thing in a slightly more verbose way to support arbitrary repos and multiple VCS types. Packagist is less a centralized repository as a suggested but not necessary first choice, which in my opinion is how it should be.

It also uses a JSON file to define project dependencies. Probably not the worst model to copy.</comment></comment>


Show HN: Days Away - A minimal iPhone countdown list - <AUTHOR> http://itunes.apple.com/us/app/days-away/id459200849?ls=1&mt=8

<comment><USER2> Why is this is on the front page? Any barely competent iOS programmer could write this in an afternoon.

<comment><USER3> I suspect a voting ring?

<comment><AUTHOR> a voting ring?

<comment><USER3> Friends voting each other up.

<comment><AUTHOR> oh! no such thing happened, man.

I guess people just like it! :D

<comment><USER3> No worries, nothing personal. Just seemed seemed weird that it made the front page.</comment></comment></comment></comment></comment></comment>


Did Led Zeppelin Steal 'Stairway to Heaven'? A Jury Will Decide - <AUTHOR> http://www.nytimes.com/2016/04/13/arts/music/led-zeppelins-stairway-to-heaven-was-partly-stolen-lawsuit-says.html <comment><USER2> Surprising to me, I listened to the two songs and it does sound to my ear that Led Zeppelin borrowed part of the Spirit song.

Based on what I've read, it also sounds like the songwriter from Spirit was ok with this.</comment>


A "Parallel-ogue" of Paul Graham's "Beating the Averages" - <AUTHOR> http://mywebpages.comcast.net/dness/notes/graham6.html

<comment><USER2> 23 July 2003

It also happens to be the most recent entry on that guy's blog. I did find this comment at the end amusing:

 _And on the topic of Lisp (or APL, as another example) people have voted with their feet._

I'm would bet Arthur Whitney over at <http://www.kx.com> is as fond of his secret weapon (K, derived from APL) as pg is for Lisp.

</comment><comment><USER3> "The relationship of C and Unix is unclear to me"...

I basically just stopped reading after that.

<comment><USER4> After reading this comment, I was curious about when I stopped reading, so I went back and checked. Oddly enough, it was after "I fail to see." It wasn't conscious; I must have just learned to associate that phrase with a 0% chance of anything interesting following.

</comment></comment><comment><USER5> This guy is a, hum.... "lisp non-getter". An inconsequential sceptic.

<comment><USER6> So, you code only in LISP, I take it?

<comment><USER5> Good take.

I learned of the existence of Common Lisp about 1 year and 3 months ago, via PG's essays. There was this mysterious language I kept hearing about on Slashdot, that supposedly made you a much better programmer for the rest of your days if you learned it, and that was so much more advanced than Java, that was my only language at the time because I was "fresh out of college" (I actually dropped out at term 5 of 6 for mostly inconsequential reasons, one of them was gaming, now I stopped it entirely) and didn't know any better. Though in a sense, I did know better, because I was beginning to really "bang my head" on the "low ceiling" of Java, I was somehow attracted to metaprogramming techniques, I understood the repugnance of the boilerplate code, etc.

So, I read about all of PG's essays and researched it for 2 weeks, and I was hooked. I absolutely wanted to have those cool features like (apply) (and everything else really great about lisp), that I had so fondly dreamt of.

I spent the next year learning Common Lisp while writing my first website, and I have now developed (still evolving but mature-ish) a quite decent web framework! I made optimizing compilers for HTML and CSS, and I made a "form validator compiler" (among other stuff): you specify rules of validation in any order and it compiles into an optimized tree of closures that computes the stuff in the right order (well, actually it doesn't figure out the order itself yet because that's related to graph theory, and I have yet to learn that).

Could I ever have done so much in Java, or any other mainstream language? HECK NO! What I love most about Common Lisp is that it gives you 2 more responsibilties/powers basically. It places you in the seat of the language designer, and that of the compiler writer. That's my experience anyway. In Common Lisp, it's so easy to make new syntaxes and semantics that you can afford to use advanced techniques (ex: compiler writing) regularly and easily. It lets you deal with the hard stuff, if you're up to the challenge. As has been said, it's a language in which you think more than you write.

Common Lisp is my only language right now (well, except HTML, CSS, SQL and whatnot), but I plan to learn Haskell in maybe a year, and then maybe Erlang or some other cool language.

Also I want to rack up my computing (ex: algorithmic) and math skills, I could certainly use a more robust footing for the advanced stuff I want to make (like rule-based systems). I never liked math very much at school, and found it pretty useless, but now I'm really excited about learning things that will actually be of use for my work (and for me, work=play=life).

Hum... to go back on topic... well, that guy must have tried really hard not to find profound insights in lisp to succeed.

<comment><USER6> I'll prefix this reply with the fact that I'm a Scheme fan. But I would never try to code up a large project in anything related to LISP right now.

It's awesome that you've put together your own framework, but at the same time kind of unfortunate that you have to. Lots of languages (including Java) already have form validation frameworks that do pretty much anything you want, but Common LISP doesn't have the community behind webapps to get really great libraries.

I won't take away anything from LISPy languages as far as learning more about computer science in general and AI & language design in specific, but it's not the end-all be all of programming languages, at least not anymore. Ask PG how many startups he's given YC money to that actually use any language invented before the 90's...

<comment><USER2> How many YC funded startups actually use any language invented before the 90's ?

</comment></comment></comment></comment></comment><comment><USER7> The author probably did read Paul's essay, but it looks like most of it went over his head and flew right out of the window. The comment manvsmachine cited, "The relationship of C and Unix is unclear to me", just proves that he is a silly person.</comment>


The Back Office Developers - <AUTHOR> http://techcrunch.com/2015/03/17/the-back-office-developers/

<comment><USER2> "Around one-half of the world's 11 million professional developers probably work at one of these consulting firms."

That doesn't sound very likely to me. I personally have known one person who used to work at Google and one who worked a Wipro in 12 years. Plus the numbers they have shown add up to less than a million.

<comment><AUTHOR> There are actually over 10K firms in India (and Pak, E. Europe etc) that employ hundreds if not thousands of developers. THe numbers shown in the article are only for a small selection of major companies.

</comment></comment><comment><USER3> The TCS numbers in the Infographics are wrong by a factor of 10. And how did IBM miss the list?</comment>


Ask HN: Is a "no-ops" architecture viable? - <AUTHOR> Like many developers I know, I am somewhat set in my ways when building new web projects - it's usually a bunkhouse nginx/express/postgres on an EC2, or Heroku if I am willing to spend the $$. However, with all the apparent advances in serverless technology and the mature DBaaS providers out there, it got me wondering if startups or other developers are realizing the promised benefits of these architectures? To me, it seems like Heroku is the easiest minimal-ops solution out there, but it can get pricey. Even a simple EC2 setup could require fiddling in the AWS console (or CloudFormation templates), ports & security settings, VPCs, DB backups, etc. In both cases you still would need to pay attention to resource allocation.<p>I see a lot of news about serverless architectures & frameworks, and other hosted services like auth, DB's, etc. Are any startups experimenting with building fully "no-ops" architectures (I use the word as a classification, I realize true no-ops is impossible)? Or at a certain point is the benefit of minimal ops outweighed by the overhead of needing to glue multiple separate services together? <comment><USER2> Heroku keeps adding features, allows more control, supports bigger companies and have many many plugins (elements I think they call it) you can install.

There's already new PaaS with less features (and cheaper). You push something to a repository and they run it. I saw [https://www.netlify.com/](https://www.netlify.com/) mentioned a few times on HN. And [https://render.com/](https://render.com/) seems similar. For static websites those are free, I mean hard to compete with free. I'm sure they will add more features in the future, slowly becoming the next Heroku.

<comment><USER3> We haven't done an official HN launch, but Render was built to solve the cost and inflexibility issues with Heroku. I'm the founder and always happy to answer questions.

</comment></comment><comment><USER4> No-ops means someone else does the ops/system admin. Depending on requirements you may find a fully-automated or turnkey setup. I can deploy a WordPress site on Digital Ocean (and other platforms) with a few clicks.

When something goes wrong you need ops support. Too many things can go wrong, I think impossible to anticipate all of them. The less familiar you (or whomever does system admin for you) is with the setup and environment the longer it will take to find and fix problems. The more complex the infrastructure (and serverless/microservices gets complex fast) the more expertise you need to deal with the inevitable problems.

</comment><comment><USER5> I don't think it's ever possible. The closest you can get is to pay someone else to do your ops, but then that's not really what you meant.

The serverless framework gets you pretty dang close to no-ops though. You write your config, you write your code, you deploy and it just sort of works. Until you hit massive scale, and then you start needing to "operate" your serverless setup.

Of course, serverless (the company) provides a commercial product to help you with that.</comment>


Whoismcafee.com hacked? - <AUTHOR> http://www.whoismcafee.com/? <comment><USER2> I doubt it's "hacked", though it is down. The dreaded "error establishing a database connection" screen is just a generic WordPress error that can show up for a variety of reasons, usually because the database services of the host are down, but the PHP hosting is not (this happens more than you might think, even without malice, depending on the host). It could be a DDOS, but I doubt it's been hacked. A hacker would normally replace the site with something else (if possible), rather than just disable it.

Then again, it could be hacked, and the hacker is covering his trail. This I doubt.</comment>


PLA: Unrestricted Warfare: China's Master Plan to Destroy America - <AUTHOR> https://www.amazon.com/Unrestricted-Warfare-Chinas-Destroy-America/dp/1626543054 <comment><USER2> So if their plan should succeed to whom will they sell all their manufactured goods?

</comment><comment><USER3> China's master plan: sit back and watch.</comment>


Now dev – Serverless on localhost - <AUTHOR> https://zeit.co/blog/now-dev <comment><USER2> From the article:

 _" When you work with servers, the developer workflow is quite tedious. You have to run a process, find the port, then make your changes, then kill the process (usually with Control+C)..."_

I don't know what web servers they are using but in development that's not the case at all in Python, Ruby and Elixir.

With most modern web servers you can run them in some type of development / debug mode where on code change, your code gets reloaded without having to do that manually, and you'll get sub 100ms updates. This has been available for many many many years now. Even with PHP development from 10+ years ago you had a way to see code changes without having to restart Apache.

<comment><USER3> You can't do that with Java. There are some workarounds, but generally people restart application to check changes.

<comment><USER4> What? I beg to differ... I've used many a JVM web framework with hot reloading. Like most every language, they are not perfect, and come with gotchas but they're surely there.

<comment><USER3> The only "easy" way to support hot reload in JVM is using java agent. But it can only reload method body, so it's extremely limited tool. That's how IDE usually work. You can sell your house and buy JRebel license, but if you don't have house to sell, you're out of luck. You can try some experimental alternative JVM implementations (DCEVM) which might or might not work.

May be your framework is just restarting automatically very fast. That's not a hot reload, though.

<comment><USER5> > framework is just restarting automatically very fast. That's not a hot > reload, though.

If you can't tell the difference, then what's the difference?

There are plenty of ways to reload classes in the JVM as well - OSGi is the most well known and popular. If an agent is the only way you've seen reloading done, then you mustn't have much experience with the full range of libraries and frameworks available on the JVM.

<comment><USER3> The difference is that your runtime state is reset and you must architect your application to keep fast startup time which is not always a good thing. OSGI does not reload classes, it loads new classes, you can't reload class for an existing object. It's the same restart, you just leak memory.

<comment><USER6> > The difference is that your runtime state is reset and you must architect > your application to keep fast startup time which is not always a good thing.

These are good things for serverless, which is what the article is about -- runtime state in a serverless application is bad, and fast startup is good.

Serverless instances are intended to be interchangeable and ephemeral. You should be able to start new instances and they should be able to do the same work as the existing instances -- that only works well if they are stateless. Any necessary state should be stored in a database or blob store or some other external state management system.

<comment><USER7> Plus, having runtime state around from a previous version (or versions!) of the app sounds utterly terrifying

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> About 6months ago we had to leave now v1 because of bad TTFB times compared to Heroku (me in Europe and server in USA east - now gave 800-900ms TTFB with massive variance > 2s vs Heroku constant 250ms TTFB). We left because of those bad TTFB times and an unresponsive support from my point of view, once they left slack in favour of spectrum [1, 2] it was impossible to get a response. I had left some detailed tests. (Spectrum is hosted on now I think which has currently a 2s TTFB for me in Spain).

I really wanted to use now because the developer experience is so great but the TTFB made itunusable for us to host customer facing services and lack of support response made it hard to stay.

[1] [https://spectrum.chat/zeit/now/slow-response-times-for- node-...](https://spectrum.chat/zeit/now/slow-response-times-for-node-js- app~60bbbfa1-e38c-4314-b8c7-7df3cc3db08e) [2] [https://spectrum.chat/zeit/now/latency-discrepancy- between-n...](https://spectrum.chat/zeit/now/latency-discrepancy-between-now- and-ec2~2b2562a9-2807-43f2-bbbe-eb40fcc6e7c6)

<comment><USER9> For those who needed to look it up like me, it stands for "Time to First Byte". #SavedYouAGoogle :)

</comment></comment><comment><USER10> This is the company behind Next.js, which I've had a wonderful experience using for React development. They've managed to do what I thought wasn't possible: abstracting away most of the build system. "Now" seems to do similarly well at abstracting away a lot of the hosting complexity.

They've made React development feel as simple as PHP. Or at least close. Just make a file and upload it.

<comment><USER11> How does Next.js compare to Gatsby?

<comment><USER12> Next.js is server-rendered which means it includes a light weight node.js server that pre-renders your pages, you can export everything as an static website, but it's not really the main selling point.

I like to use next.js for small brochure-like websites. I think it's simpler for simpler things. But for a more full-featured content site I would chose gatsby.

<comment><USER13> Wouldn't it be the other way around? Gatsby for static brochure sites and next.js for something requiring dynamic content?

</comment></comment></comment></comment><comment><USER14> I can't believe that `now dev` was released after about 6 months? from now v2 launch. For my experience in developing now v2, it was super insane to develop for the platform. Any kind of code change involves minutes to just test, see the `console.log` result, which makes developing super painful. Everytime I think about Zeit's now v2 is that it was rushed to launch for the new buzzword 'serverless'. I actually was impressed by the new architecture; but development was (and is... I didn't check about a week or two, but last time I checked: `now dev` doesn't respect `now.json`'s routing properly) painful. Ultimately I just went to Netlify Functions :-( (BTW... While I didn't say anything about Now v1, it's a mistake if you consider v1 as outdated; those two should be different products... and should not be deprecated but marketed as a different service...)

<comment><USER15> > it's a mistake if you consider v1 as outdated; those two should be different > products... and should not be deprecated but marketed as a different service

I'm not sure if your intent is to express your own opinion, or reflect Zeit's official position; but their official position last I checked at the end of the 1400 post monster Spectrum thread, was that Now v1 is dead and won't be supported after some point.

And I think that is an utterly insane decision to be making, and is the reason we are leaving. If I can't trust my host to not get "shiny tech syndrome", then I need a different hosting service.

<comment><USER14> Oh, Mu intent was to express my own opinion. Looks like our opinions line up :-)

</comment></comment></comment><comment><USER16> Am I the only one who wishes they would continue their v1 system work? It Just Works(tm) and was wonderful to use and easy to understand, especially from a pricing perspective. I feel like the gas pump style pricing for their serverless offering is shoehorning a pricing model that works well for vendors but less so for users. With that said, I really enjoy these guys/gals' work and would love to work more with their platform.

<comment><USER17> An alternative, open-source solution to Now v1 is in the works: [https://github.com/snowjs/cli/tree/secrets](https://github.com/snowjs/cli/tree/secrets)

<comment><USER18> Apex Up is a similar service:

[https://github.com/apex/up/](https://github.com/apex/up/)

</comment></comment></comment><comment><USER19> I really like the stuff by Zeit but if you've been a user for more than a year it's insane how quickly the platform is shifting under your feet.

 _" The latest version of the CLI is now x.x.xx"_ \- and all that stuff you think you knew how to do has changed. And we've added a useful feature that's only documentation is Github issue #432.

Also this email is to inform you that you've been charged incorrectly because you're on Now v1. Upgrade to Now v2 for cheaper rates. It's simple, just follow these 8 steps, change your entire mental-model of how everything works, and flip this obscure option in your settings.

It's as if their development process is a bunch of hackathons thrown out to the public.

You're doing good work Zeit, but please, some order.

<comment><USER20> Hey, Leo from ZEIT here!

I agree strongly. There's been a lot of chance over the last couple of months, as Now 2.0 appeared and the entire platform started adapting to it.

However, I'd also like to let you know that the entire concept of "platform versions" is just a temporary way of slowly allowing everyone to migrate to Now 2.0 at their own pace. Once this process is complete, the whole concept of platform versions will disappear and I hardly doubt there will be any major changes from that point on.

</comment></comment><comment><USER21> I really like the recent trend of dead-simple deployment tools. Now, zeroserver[0], and 1mb[1] are all awesome attempts at simplifying the confusing web world!

[0] [https://zeroserver.io](https://zeroserver.io) [1] [https://1mb.site/](https://1mb.site/)

</comment><comment><USER22> I've heard a lot of devs have very negative comments about Now 2, but have never delved into specifics. Apparently it's way worse than 1. Anyone here has any idea what, exactly, is wrong with it, and whether it's really bad?

<comment><USER23> They're very different products.

Now v1 was essentially serverless Docker: you define a Dockerfile that runs a web server on a port (along with anything else you can cram into that container), push that Dockerfile up to Now v1 and they would build the container and run it in a scale-to-zero configuration: with no traffic, the container wouldn't run at all. When a request came in it would start up and start serving - then it would shut down again a few minutes after the last incoming request.

It was very similar to Google's new Cloud Run product - but better, because you didn't even have to build the Dockerfile yourself - they would build and run it for you.

The biggest catch with v1 was the cold-start time: depending on the size of your image it could take quite a while to serve that first hit. Their efforts to optimize this apparently didn't work out well enough for them.

Now v2 is an entirely different product. It doesn't use Docker at all - instead it compiles your code to run on AWS Lambda. This means it's MUCH less flexible: with Now v1 you could run anything that could be defined in a Dockerfile - Now v2 instead requires you to stick to the list of languages supported by their "builders" \- [https://zeit.co/docs/v2/deployments/builders/overview](https://zeit.co/docs/v2/deployments/builders/overview) \- initially available for Node.js, Python PHP and Go but more have emerged over time.

Now v2 also has the ability to run a single app built in multiple languages - it compiles each language to a separate Lambda. This is a neat technical trick but it's not something most people are actually keen on using in my opinion.

My biggest problem with v2 is that you have to write software that specifically targets it. With v1 I could take any web application that can run in a Dockerfile and deploy it instantly with no changes. v2 requires me to write code that directly targets the Now v2 system (hence why the initial lack of "now dev" was so painful).

My second biggest problem with v2 is that the AWS Lambda build of Python 3 doesn't currently ship with the sqlite3 module, which is key to many of my projects.

From my perspective, Now v1 was genuinely my dream hosting environment. Now v2 is an interesting project, and it's great if your project is one that fits the AWS Lambda model well, but it's no-where near as appropriate for my projects as v1 was.

<comment><USER24> I am curious what use would sqlite3 module be in Lambda function? Lambda has no persistency so you cant really use sqlite no?

<comment><USER23> Read-only databases: [https://simonwillison.net/2018/Oct/4/datasette- ideas/#Publis...](https://simonwillison.net/2018/Oct/4/datasette- ideas/#Publishing_readonly_data)

<comment><USER25> This is a great point. For small to medium, read-only, slowly changing datasets, this is the ultimate serverless database model, especially for lots of queries.

Although I think this approach would benefit more from Cloud Run's request multiplexing per function.

</comment></comment></comment></comment></comment><comment><USER26> If you're interested in other JS based serverless frameworks, [https://arc.codes](https://arc.codes) can also run on localhost - even though serverless deploys are fast because they're per-lamda, localhost is still super useful for ever faster iteration.

<comment><USER27> Also : [https://cloud.google.com/functions/docs/emulator](https://cloud.google.com/functions/docs/emulator) (JavaScript only) and [https://www.openfaas.com/](https://www.openfaas.com/) (if you can tolerate running Minikube on your "localhost".

</comment></comment><comment><USER28> Imagine AWS has the same Developer Experience as Zeit team, AWS could benefit even more from their services. The AWS console and its definitions is too low level to me, hard to grasp quickly to produce something useful.

Congratulation to Zeit team for the effort on DX. Thanks you very much for the inspiration.

<comment><USER20> Thanks for the compliments! That's exactly what our product is trying to achieve: Abstracting away all of that low level stuff, so you can just run `now` and that's it.

</comment></comment><comment><USER29> For anyone interested, I finally figured out how to run Rust on a local AWS lambda instance using SAM:

[https://github.com/vishaldpatel/rust_lambda_sam_local](https://github.com/vishaldpatel/rust_lambda_sam_local)

.. hopefully it'll save you some time =).

<comment><USER30> >Prerequisites:

>\- Newer installation of Rust, probably.

does not instill confidence

<comment><USER29> Well, I don't know if it'd work with an older version. I just got into the Rust game ;).

</comment></comment></comment><comment><USER31> I'm currently experimenting with migrating a side project to now 2.0. It has been a learning experience, for sure. But so far I think that it has been time well spent.

My overarching goal is to be able to create and deploy a new web app, from scratch, and just have the platform take care of all the boring stuff that should just work.

So far I've been pretty pleased with nextjs and now 2.0, especially once I grokked the lambda concept and found out how to slice my old express server into vertical pieces. Also, I had to realize that the monorepo model was the right fit.

I'm not quite up and running yet on now 2.0 but I'll be any day now. Curious as to how it will affect my bill.

<comment><USER20> I'm glad to hear! Over time, more and more guides and proper documentation will be created for Now 2.0, so I'm sure you won't have any troubles with migrating any kind of application to Now 2.0. Aside from that, your bill is most likely going to decrease heavily, as Now 2.0 is much cheaper than Now 1.0.

</comment></comment><comment><USER32> Dumb question: is this specific to the JavaScript system? How does it relate to using Nix for development?

<comment><USER20> The command used for this can be invoked on any OS that Now CLI supports (Linux, Alpine, macOS and Windows). In terms of the languages that are supported, there's no end, really:

[https://github.com/zeit/now- builders/tree/master/packages](https://github.com/zeit/now- builders/tree/master/packages)

(These are just the default ones, you can add your own language using [https://zeit.co/docs/v2/deployments/builders/developer- guide...](https://zeit.co/docs/v2/deployments/builders/developer-guide/))

</comment></comment><comment><USER33> Finally - I've been using Now v2 for side projects at work and it's been a PITA to work without simple local dev. Having to shoehorn dev-only code in there was annoying. Hopefully this works well.

<comment><USER20> I'm glad to hear. Should you encounter any bugs, please let us know at [https://zeit.co/feedback/dev](https://zeit.co/feedback/dev) and we'll get right to it.

</comment></comment><comment><USER34> Ouch, so many negative comments in this thread. I thought this sounded very interesting and was thinking about trying it, but it sounds like they need to improve a lot of things.

<comment><USER20> This release of `now dev` is indeed a preview release. We're working very hard to improve the quality of the CLI, so should you notice any bugs, please let us know and we'll get right to it: [https://zeit.co/feedback/dev](https://zeit.co/feedback/dev)

</comment></comment><comment><USER35> Is Now much different from docker run nginx pointed to a volume mounting a local folder?

<comment><USER36> Yes, for one it hosts your code on the internet.

</comment></comment><comment><USER37> People still think serverless is a good idea? There must be a certain threshold of horror story blog posts necessary to kick bad patterns.

<comment><USER38> If "serverless" is referring to AWS Lambda, Azure Functions, etc. then cost and scalability make it a great idea for some applications. If load varies by time, and there are surges and troughs, then running servers can cost more and potentially be less responsive to changing demand. Its a nice way to take load off a web server.

<comment><USER39> I feel like the use case is much smaller than the number of people preaching it warrants though.

You really have to have extremely unpredictable and spikey needs as well as need the processing immediately. Because if the traffic is predictable, you can schedule spot instances for much cheaper and same for if the data doesn't have to be processed immediately.

To me, the best use cases are very infrequent, spikey, brief needs. I haven't seen a lot of examples that meet that.

<comment><USER38> I agree. Where I saw it used, I'd say 99% of the application logic was in the web server, 1% in functions.

The 1% in functions was for processing large PDF files where users were sitting their looking at a progress bar waiting for the file to be processed in real time.

Another use case might be for something that is very low load, and say you have a lot of these services you may not want a VM for each one. However Docker provides a nicer solution for that: Get a VM (reserve if required) and run some kind of Docker host/orchestration on it, and run all your little services from there.

</comment></comment></comment></comment><comment><USER40> Cool! Did you steal this from TJ too?</comment>


Stanford Grad Gets $2.1M to Make a More Elite Tinder - <AUTHOR> http://www.businessinsider.com.au/the-league-raises-21-million-2015-1

<comment><USER2> More technology to further isolate you from people who might have different lives and experiences. Good.</comment>


Technical talks should be recorded - <AUTHOR> http://blog.printf.net/articles/2013/05/22/technical-talks-should-be-recorded/

<comment><USER2> Taking video is a good first step because you are right then at a minimum the 100+ people that got wait listed can see but also the 1,000s if not 10,000s of people who didn't even know that was a talk they could go to it can now see it. The trick is making it findable- and as with all things digital how to transmit their information faster without the uhs, ahs, ums, laughter, pauses, too detailed explanations etc can be culled to speed up how quickly the critical information can be transmitted. Good work on capturing these talks, probably a thankless job that has helped make the world a more informed place.</comment>