skysight-inc/HackerNews huggingface dataset:
Excellent points. Honestly it's the founders fault why this happened. They ignored these obvious signs and shouldn't be surprised. It's easy to order unhealthy food. It's a pain to make healthy food.

Ironically UberEATS launched officially today.
If you're a mouse.

Anyway, generalizing fatty acids as "fat" without bothering to distinguish the type is very unscientific or is a result of a hidden agenda. Different types of fats have different metabolic effects.

Countless generations of mine were eating high-fat diets (predominantly pork fat, i.e. MUFAs and SFAs). Our generation started to gain weight after we replaced SFAs with PUFAs and shifted towards high-carb diets! Combining inflammatory foods like PUFAs and refined carbs resonate and are one of the main reasons for the obesity pandemic!
Marketing teardown: Open Listings (YC W15)
Well this is roughly one pound of robots using tiny sticky feet. A winch weighs quite a bit and generally connects to something heavy like a tree right? I'm not sure I fully grasp this comparison.
It's called deniable encryption.

https://en.wikipedia.org/wiki/Deniable_encryption
Let me revise that: for solid tumors, chemotherapy can cure people, but typically doesn't.

At one extreme, early stage (solid) cancers are primarily cured by surgery. At the other extreme (metastasis), chemotherapy is a terminal rollercoaster.

In between those extremes (e.g. some limited local progression), adjuvant chemotherapy seems to be useful for breast cancer, but has only a very small effect for colon cancer (http://www.sciencedirect.com/science/article/pii/S0140673607...) and none for lung cancer (http://jnci.oxfordjournals.org/content/95/19/1453.short).
At some point ICQ made some really bad development decisions and people avoided the new versions like the plague.

I can't remember which version in particular was in demand, but I do remember lots of sites specifically serving up the installers of the old versions.
This! ?w=1 has existed for years, with no UI way to access it.

Compare two views of the same commit (found this by searching for any commit on github with the word "indent" in it)

https://github.com/douglascrockford/JSON-js/commit/1e3869cb3... (133 additions and 127 deletions)

https://github.com/douglascrockford/JSON-js/commit/1e3869cb3... (30 additions and 24 deletions)
Comcast follows Google Fiber's $70 plan in Atlanta
Sony Interactive Tabletop Projector
If you're in the Philly area and want to work for a great company drop me a line at ccannon@50onred.com. We treat our candidates with the respect they deserve.
Nope.

In fact Mozilla was somewhat earlier to come up with their JIT-ed JS engine, then Google (v8), then Apple (JSC), but all went live with an insignificant time difference between them (all within a few months in 2008).

(Insignificant since the respective companies have already been working on them simultaneously for years -- so going live was mostly based on who wrapped up first, bugs be damned, not on some unique innovation that others later copied).
Ironically UberEATS launched today. The founders have no one to blame but themselves.
Just 1000 years for a stationary observer vs 22 years for a astronaut under 1g constant acceleration. It's not that radical.
And so does combating it.
That's true. But good crypto can also protect you in the outlier cases. If someone is taking your stuff they either disregard the law or they are the law. Crypto protects you at least a bit in both cases.
Non Static blocks in java
"So, positive contribution margin should imply they covered all the fixed and variable costs, the way I read it."

That's not what the passage you included says. It says it only covers variable costs.
JS isn't going anywhere. wasm and JS are a dynamic duo, complement each other.
> This needs to be built into the mobile OS. The OS should only be allow third parties to access some kind of protected contacts, nothing more.

In the meantime, some Android versions support providing a blank-list when untrusted applications request access. The choice between "all contacts" and "no contacts" works at least 90% of the time.
> civil uprisings are much more likely in a country where people are armed*

Yes - but this is not a good thing! It's a bug not a feature!

I started this thread mentioning Dunblane, but perhaps I should have mentioned the Easter Risings and the Good Friday Agreement instead. The UK had an armed uprising for decades in Northern Ireland and it was terrible. I can't seem to get any of the guns-are-important-for-fighting-the-government advocates to engage with this and look at what actually happened when people responded to civil and human rights violations with AR-15s and Semtex.
The article talks about how they are synched and using the combined force of tiny sticky feet (like ants)...

The researchers’ approach is counterintuitive. Rather than striking powerful blows like a football player making a tackle or a jackhammer, they have focused on synchronizing the smooth application of very tiny forces. The microrobots work in concert, if slowly.

The researchers observed that the ants get great cooperative force by each using three of their six legs simultaneously.
I think part of their problem is that they hammered downward with the food quality in an effort to cut costs, rather than raising rates. People who are using these on-demand food delivery services wouldn't mind a couple extra dollars if it meant that the food was of good quality. SpoonRocket's food was abysmal; it satisfied the occasional need for shitty-hangover-food, but that's not sustainable (for them or for my gut).
"Programming environment-wise I'm having a hard time imagining how "everything" would work."

It may be worth taking a moment to skip out on the abstraction and look more at the representation layer. In the general case, in most if not all implementations, "Any" basically translates to a "Variant" type: https://en.wikipedia.org/wiki/Variant_type

"Dynamically-typed languages" are basically those languages where all variables have the type Any. (The values generally have specific types, but the variables are all Any.)
> This process has made me consider changing careers because it's so exhausting.

Me too. I'm so put off by the entire process but it seems that to stay relevant, you have to get lucky and end up at a place that keeps your skills up-to-date with opportunities to learn and use the latest tech, or you jump ship every 2-3 years meaning you're once again dealing with this insane pressure of interviewing. Throw in ageism once you get past your mid-30s or so and the mere thought of staying in the industry starts to look quite depressing :-/
1. Start by personally introducing the new hire to all team members. This helps them feel comfortable approaching them later on to ask questions.
2. Ask them to write a "how to set up a new dev env" wiki page. The next new hire can improve it.
3. Give them a handful of medium priority bugs to fix. Not critical as its too early, and not trivial as that won't drive learning. A nice mix of bugs should take your newbie to all major parts of the system, and require them to develop understanding in a way that new code often doesn't. The bugs should also drive conversations with the original authors of the code that will help knowledge transfer.
But you only have to compile once for all platforms (famous last words, I know). Including future platforms, platforms you don't know about, and platforms you don't care about but your users do.
I'm not usually a fan of plotting tools. I prefer instead to make custom plots in D3. Usually plotting tools are too simplistic to be useful for significantly valuable use cases. This however is an example of a "simple" plotting tool bringing lots of value. Kudos. This is great.
The FDA quietly changed the rules to block the next Martin Shkreli
I think it's a bit worse than that. Suppose the server wants to learn whether you have a certain number in your contacts.

Then they simply put that number into your lower-level Bloom filters for L0, L1, L2, ... even if that number is not really a member of the service. To prevent a final match, they only need to keep the target number out of the final BF.

Then they passively watch which BF's you retrieve at L1, L2, ... etc. If you never retrieve the BF for Ln, despite the bits for the target number being present in the L(n-1) Bloom filter, then they know you don't have the target as a contact.

Does that make sense?

Of course, this attack and the previous one both go away if we assume the server is "honest but curious".
True. I shouldn't have been that dismissive about React. My comment was really related to the explosion in popularity of client side rendered static websites. And React happens to be one of the more popular ways to implement them.
Golang best practice question
This is something that I have wanted to exist for a long time, but is a pretty massive undertaking because there are so many small niche podcasts.

The podcasts I spot checked all looked fairly accurate, although you do need to be careful with common names. Jordan Morris [1] is the name of a podcaster/comedian, a soccer player, and a singer. All of their profiles are combined into one. In order to separate those out you would need to do some analysis on the genre of the podcasts. The podcasts that talk about sports are probably talking about the soccer player, etc. It is also tough to rely on common lookup tools like Google because the Jordan Morris that is a podcaster is probably the least famous of the three but is clearly the most relevant for your site.

[1] - https://en.wikipedia.org/wiki/Jordan_Morris
isn't this what the "view outdated diff" button does, or am I misunderstanding?
Go players rely heavily on pattern recognition and heuristics, something we know humans to be exceptionally good at.

For example, go players habitually think in terms of "shape"[1]. Good shape is neither too dense (inefficiently surrounding territory) or too loose (making the stones vulnerable to capture). Strong players intuitively see good shape without conscious effort.

Go players will often talk about "counting" a position[2] - consciously counting stones and spaces to estimate the score or the general strength of a position. This is in contrast to their usual mode of thinking, which is much less quantitative.

Go is often taught using proverbs[3], which are essentially heuristics. Phrases like "An eye of six points in a rectangle is alive" or "On the second line eight stones live but six stones die" are commonplace. They are very useful in developing the intuition of a player.

As I understand it, the search space is largely irrelevant to human players because they rarely perform anything that approximates a tree search. Playing out imaginary moves ("reading", in the go vernacular) is generally used sparingly in difficult positions or to confirm a decision arrived at by intuition.

Go is the board game that most closely maps to the human side of Moravec's paradox[4], because calculation has such low value. AlphaGo uses some very clever algorithms to minimise the search space, but it also relies on 4-5 orders of magnitude more computer power than Deep Blue.

[1] https://en.wikipedia.org/wiki/Shape_(Go)
[2] http://senseis.xmp.net/?Counting
[3] https://en.wikipedia.org/wiki/Go_proverb
[4] https://en.wikipedia.org/wiki/Moravec%27s_paradox
Putting it all out there – our code of conduct
Hi HN, we got Paul to do a quick marketing teardown of Open Listings and I think he came back with some interesting insights -- always good to get feedback from fresh eyes. Thought some people here might find it interesting too (also he does these for free!).
That "critical review" says: "The best current evidence suggests that it is effective as a symptomatic treatment of dental pain, fibromyalgia, nausea/vomiting, knee osteoarthritis, insomnia, epicondylitis, chronic back pain, idiopathic headache, resolution of breech presentation and as an aid during gastrointestinal endoscopy" and then goes on to say that it may all be placebo effect. So the "critical review" is clearly intent on being critical. I trust that most people will have the judgment to read this "critical review" for what it is.
HipChat outage
Even in pretty much the worst case scenario Earth will still be more habitable than Mars. Much easier to build a bunker here.
Mercurial Evolve has a meta-history of which commit rewrites what other commit. It works great, but so far nobody has built a WUI on top of it for code review.
The costs of a bad hire are overstated. The cost of systemic bad hiring may grow geometrically. If that estimation is correct (bad hires result in more bad hires) then no price is too much to avoid a bad hire.

And consider the US Air Force. They have an unlimited number of young people willing to learn to fly jets. Qualified candidates even. So they can filter any way they like, and still not run out of applicants. So their filters seem capricious, because they sometimes are. And it doesn't matter.

Is Silicon Valley in that position? Depends upon who you are. I don't think Google for instance is running out of candidates.
> What do you need a gun to defend yourself against?

Toddlers, apparently!
Have you tried addressing the comments with "fixup!" commits? At the end of review, you can close the pull request, "rebase --autosquash --interactive" the branch, and merge manually.
Only worthless? You've been lucky. I have learned from my experience that HR is at best an enormous obstruction that must be continually worked around, and is at worst an enemy to whom you should never show your back.

Or your belly, for that matter.
Likely the same reason a lot of things are iffy on the web: backwards compatibility. You've got large organizations that built line-of-business apps in the early 2000s; they've since laid off the entire development staff but the application continues to run.

Now a new version of Chrome comes out and the app doesn't work because the behaviour of window.opener has changed. What to do? Well, you can version lock to the newest version of Chrome that doesn't exhibit this behaviour (probably via an Active Directory Group Policy), or you can require users to use IE or Firefox instead of Chrome. Re-build the web app instead? That's pretty expensive and isn't on the roadmap until Q4 2017, but due to budgetary pressure may not happen until Q3 2018.
Quickly get the complete information about your website
That's not necessarily an immutable fact of arxiv.org though, otherwise there wouldn't even be computational biology on there.

It's probably more likely due to a lack of demand. There's only about 4k articles on all of biorxiv in any case.
There are actually a lot of room for improvement. Just some of the things:

(1) Better timing control. Maybe when the probability of winning reaches below say, 50% but has not hit the losing threshold, spend extra time.

(2) Introducing "anti-fragility". Maybe even train the net asymmetrically to play from losing positions to gain more experience with that.

(3) Debug and find out why it plays what looks like non-sense forcing moves when it thinks it is behind (assuming that is what is actually happening).

There's another interesting thing. Among the Go community, there might have been initially some misplaced pride. But the pros and the community very quickly changed their attitude about AlphaGo (as they have in the past when something that seems to not work, yet proves itself in games). They are seeing an opportunity for the advancement of Go as a game. I think a lot of the pros are very curious, even excited, and might be knocking on Google's doors to try to get access to AlphaGo.
Google's HTTPS report card
If kubernetes then upvote=+1
I think I can understand if Scala does not want to consider this kind of constant folding: after all, in most code you are supposed to have the same type on the "then" and "else" branch (in OCaml for example you don't have the possibility, as far as I know, to reproduce this case).

I was surprised because I though it is quite a standard analysis in compilers nowadays. I had in mind SBCL precise type-checking (Common Lisp). Consider for example:

(describe (lambda (x) (if nil x nil)))

#<FUNCTION (LAMBDA (X)) {1005F6E9FB}>
[compiled function]

Lambda-list: (X)
Derived type: (FUNCTION (T) (VALUES NULL &OPTIONAL))

The derived type is NULL (which contains only NIL).
And, more importantly, the compiler signals the presence of dead code, which is helpful for finding typos. It can handle more complex situations where the mistake is not obvious.
The type system supports interval types like "(integer low high)":

(describe (lambda (x) (if x 3 2)))
#<FUNCTION (LAMBDA (X)) {100613759B}>
[compiled function]

Lambda-list: (X)
Derived type: (FUNCTION (T) (VALUES (INTEGER 2 3) &OPTIONAL))

As well as set operations on types:

(describe (lambda (x) (if x 2 4)))
#<FUNCTION (LAMBDA (X)) {10062F5C8B}>
[compiled function]

Lambda-list: (X)
Derived type: (FUNCTION (T)
(VALUES (OR (INTEGER 2 2) (INTEGER 4 4)) &OPTIONAL))

So it is definitely doable, and even though it is still limited, it is less limited and quite useful.
That's not what jfbastien is saying. The point is, until the time when WebAssembly has a GC and a JIT, many dynamic languages simply won't be able to target WebAssembly (unless the dynamic language developers create their own bespoke JIT/GC), so you may as well stick to targeting JS.

At the point at which WebAssembly gets a JIT and GC, then the situation changes.
This is fantastic! I wish I could add missing info, like a wiki.
Can you diff between multiple outdated diffs? One of the really useful things in the gerrit workflow is to check what's changed since you last reviewed a patchset.
They removed full-commit comments on PRs, as opposed to line-level comments on either commits or diffs, or full-commit comments on non-PR commits, but I don't think anyone used those—I haven't even seen anyone use something that wasn't a line comment for a long, long time.
Works fine with suspend-to-RAM. FreeBSD doesn't have software suspend-to-disk support (and it's almost never implemented by the BIOS).
This article is a little bit breathless. In the academic circles that I run (genomics, computational biology, cancer), bioArxiv is not "going rogue". It's becoming pretty common, and will continue to increase in popularity as the FUD surrounding preprints and high-impact journals begins to dissipate. i.e. Nature won't accept my paper if it's on bioArxiv! (Yes they will).
WebAssembly is a binary representation of the Javascript AST. Optimizations usually happen AFTER it is parsed. That's all WebAssembly is -- the parsed result. Targeting WebAssembly from Javascript is the most natural fit that could possibly exist.
This is what we're actually making inside RhodeCode, we already have explicit PR updated, and we actually version pull requests, and each update of it. Imho pull requests is a set of changes and you need to track how it evolved.
The biggest issue I see with podcasting is the complicated subscribe process and monetization of the show. The biggest fish (Marc, Joe, Leo) have a team behind them to help with monetization but subscribing is still problematic.

Without having a custom app for your podcast, you need to explain to people what an RSS feed is. You just lost 80% of your potential listeners.

Alternatively, you can suggest they use a 3rd party app, like Stitcher and search for your show. Now you're promoting someone else's product and it's impossible to create a sales funnel using someone else's app, if the customer even manages to jump through the hurdle of installing Stitcher and then finding your show.

From a developers perspective, there are the problems that you described and there's no white labeled podcast app. That means, most podcasters can't afford to have their own app.

Podcasting is a medium that's dying to be upended. I'm experimenting with some ideas to do just that. First step is getting the KATG app into production, so I can test some of my theories.

Sounds like you're an app developer as well. Working on any fun projects?
- stick through it! You should be able to find early customers who are willing to work with early prototypes, even when asking them to pay. Just make sure you give them insanely good customer support. Consider flying out to get them set up! Don't wait til v1.0 to sell, get out there sooner.

- I'd recommend sticking to a local fulfillment service that has great customer support for your early shipments. There is absolutely no need to optimize for cost in the early days. Just make sure you have someone you can call to sort out shipment delays, lost packages, etc. You can always expand to more fulfillment centres later.

Sounds like a cool idea! Are the posters epaper or static?
You seem to be falling prey to Simpsons's Paradox:

https://en.wikipedia.org/wiki/Simpson's_paradox

The chart is very clearly downward, with a couple of upward slopes in the middle. If you cherry pick the evidence like that crimeresearch.org link does, you'll get the upward slope. If you look at the data as a whole, you get the long term downward trend. This is pretty much the definition of Simpson's Paradox. The downward trend is the correct one.
Yep. I'm in Brazil and the friends I mentioned are in Europe.
Because technical questions are pretty bad indicators. Just because someone doesn't remember how to reverse a binary tree off the top of their heads doesn't mean they're not a competent developer.
Great idea!

Feature request: I know that many podcasts I listen to have comprehensive show notes for each episode, it'd be great if there were an easy way to tie in or link to the information in the show notes on a per episode basis!
Maybe this is a bit rant-y, but "Paid Fairly" is incredibly relative. Every time I've been asked about doing some sort of paid coding assignment in my free time, I've asked to be paid at my hourly consulting rate, which many people do regularly, which is $60/hr. This is really not that much for a consulting developer.

Every time this has come up, the company would not pay that rate, and offered something more like $20/hr.

It is just insane to me that if you are interviewing me for a position which makes $105,000 a year and cannot offer even close to equivalent compensation for the interview.
Passage no, but TC report says they were contribution margin "positive", which, they way I understood it, implies it should cover fixed costs, otherwise it is still contribution margin-negative (vis-a-vis fixed costs)

So, the passage explains what contribution margin is, but TC is talking about being "contribution margin positive". How would you understand the second term?
I have to say that the style of that code bugs me ... Not using { } on your control structures is just asking for nasty non-intuitive bugs ...
I'd rather go with the flow, with built-in support from Babel and other workflows, etc.
It's not about C++ primarily, it's about building on the base which asm.js laid out. C++ would only feature in this because of Emscripten.
In many US states there is a requirement to retreat - that its not self-defence if you could have avoided the incident. Sounds like the UK has a requirement like that too?
Not quite. WebAssembly is not a representation of general JS. It can just represent a small subset of it, very similar to the asm.js subset.
I Have a New AI Intern. It's Called FIN
Agreed. This sort of socio-academic elitism really shouldn't be tolerated in the 21st century.
HN is not a place for discussing personal details about somebody, like how they look. Moreover, that weird "but" makes this comment read like an attack. Please don't post anything like this again.

We detached this subthread from https://news.ycombinator.com/item?id=11290180 and marked it off-topic.