skysight-inc/HackerNews huggingface dataset:
I think you really don't get the point of the article. This kind of crazy overcomplexity seems like one of the many things the article author would lump into excessive complexity for the sake of complexity.

Yes you can implement a REST API thingy and then an application server that templates it all, and maybe that logic is written in JavaScript and is the same code that executes on the browser so you basically have a sort of headless quasi-web-browser assembling pages to serve so you can reuse the same code on the client side to try and reimplement the browser's navigation logic with pushState etc. etc. in some dubious quest to outperform the browser's own navigation logic. I understand this sort of thing is actually done now.

Or you can just serve HTML.

And you miss the point of REST as well, I think. I'm increasingly convinced that nobody has the slightest clue what 'REST' actually means, but to the extent that I can determine what it means, it seems to essentially mean to design according to the original vision of at least HTTP. To use, e.g. content negotiation, HTTP methods, etc. as they were originally intended, rather than carving out some arbitrary path of what works arbitrarily choosing features of HTTP and bending them into some custom RPC system that you for some reason chose to implement over HTTP.

A consequence of this is that the same endpoint should be as happy to respond to Accept: text/html as Accept: application/json, surely. (And obviously, not just with some bootstrap page for your JavaScript web page-viewing web application.) It means your URLs represent resources and don't change. It means resources have canonical URLs. (If an API has a version prefix like "/v1/", it isn't RESTful no matter what its authors claim.)

I suppose you could proxy Accept: application/json requests without transformation to an API server, making the "browser gateway" server a conditional response transformation engine. In some ways that's kind of elegant, I think. But it also feels like overkill.
The other advantage of true hunter/gatherer activities is that their physical nature allows people to rotate in and out of roles naturally.

If you are walking in the woods, everyone has down/slow days. Hiking/climbing groups know this and so rarely have dedicated leaders. Look at the military groups that occasionally climb mountains (ie wounded warriors on everest). On day one they throw the entire "rank" thing out the window. They know it doesn't work for mountaineering. Instead decisions are generally made by the person least tired/hungry/dehydrated at the time. That's how a hunting party would work: If Bob's got a sore foot today, he isn't going to be the one flushing the deer and instead might be today's planner/leader.
https://news.ycombinator.com/item?id=10803259
Remind me which fallacy it is the one where the argument treats many things as if they are one thing?

I have done a couple medtech investments. They are very, very hard to DD. For plain tech I am just used to having enough background to be able directly evaluate the company. Much harder when one gets out of their own arena.
I don't know about hardest working, but certainly most effective (and no pun intended.) I got more out of his books than any others, possibly except for "The Unix Programming Environment" and "Unix Network Programming." And while the latter were technically very interesting, Meyer's books did more to make me a better developer.
Well, PHP comes with an opcode cache than can be used across requests.
Most of the weight comes from images. The average website (Alexa top 1M) contains over 1.4 MB of image data:

http://httparchive.org/interesting.php

Be sure to pick the most suitable format and to optimize your images. You can also try to serve WebP to browsers which support it. When it replaces JPEG, you save about 30%. With PNG8, it's somewhere between 5 and 50%. And with PNG32, if you substitute it with a lossy WebP, easily 80%.

Scripts come 2nd with ~363 KB. ES6's will thankfully help with that. Creating the structure of your application declaratively enables better tooling. Not only does this make your editor a lot smarter, it also paves the way for tree-shaking.

If you tree-shake your application, only the actually used library features will be included in the shipped bundle.
I'd say in all cases that is what the spreadsheet is for. Otherwise use R.
KPI's can be can be useful if correctly employed, but the overzealous desire to apply metrics to everything, even things that are so abstract that they seem random, causes moral breakdown withing the ranks. I've seen so many people looking like a whipped dog because they are unable to achieve some fictitious measurement goal, especially one they have no control over.
It does (vouchers).
> Some companies will not give you this as a matter of policy

Then don't work for those companies.

Ones goal in life should not be to get exploited at shitty startups as a "rank and file" developer (aka chump).
This website is suspiciously similar to https://www.elevatr.com/.
Anyone can be a dude.
I'm one of the only people who can code where I work. Nobody understands or cares at all what it is that I do. Their eyes glaze over if I try to tell them.

There was one time that stands out where everybody expressed gratitude for my hard work and asked if they could help me out. It was when I spent a week running cables and setting up PCs for our incoming batch of interns.

I know that programming is much more challenging than crawling under desks and plugging things in, but none of them ever really saw the programming. All of that crawling, though--I looked like such a hard worker that week.
Could be Instagram, judging by that recent security writeup...
Learning how to keep humans in space is a quite worth the expense in my opinion. One day or another, we'll have to figure it out.
As somebody who has experience moderating groups without explicit rules - the result of this in a group of more than a dozen people is inevitably that some of them will feel that (a) the banning is unfair, no matter how egregious the behaviour, and (b) there should be a set of written rules for the leaders/moderators to follow, so that people understand clearly what is expected of them. You really can't win.

Personally, I tend to steer on the side of a broadly defined CoC backed up with a very clear dispute resolution policy (there's plenty of examples of both of these - Debian has a pretty decent set for large projects). In a functioning community, reaching for this should only be required very rarely, so they shouldn't affect anyone most of the time - and they quite obviously don't in the case of open-source projects, or we'd hear about actual cases where people have been kicked out of projects for very little a lot more than we do.
New information is gained every day there isn't a ritual self-sacrifice. Start with the simplest scenario that his words imply and work up every day from there.

One blue eyed person could look around, see only brown (or other color) eyes, and figure out they must have been the one talked about, right? Boom, gone.

Two blue eyed people would look around and see the other blue eyed person. However when the conditions for "one blue eyed person" aren't met, they would see the next day that there are 998 non-blue-eyed people and reason that the other blue eyed person must have seen a blue eyed person and it would have to be them. Boom. Gone.

Three blue eyed people would look around and see two other blue eyed people. After the first two days they'd realize that since the conditions of the 2 blue eyed person scenario weren't met, there are 3 blue eyed people, and since they can see 997 other-eyed people, they must be the third in that scenario. Boom. Gone. And so on and so on.
We export createMemoryHistory instead of a singleton for the server. If you don't like the singletons on the browser side, you can use the useRouter enhancer to pop in any history creation function you'd like.
Do companies actually change the type of options to NSO, ISO, RSA, RSU, etc? Or are they usually stagnant and non-negotiable?

Thanks for responding folks.
The key of the problem includes the statement that all the islanders have seen all the other islanders and know their eye colors.

From there we have the simple case of n = 1: suppose Bob is the only blue-eyed islander. He's seen everyone else's eyes, knows nobody else has blue eyes, and so can conclude from n >= 1 that in fact n = 1 and he is that one.

For the case of n = 2: suppose Alice and Bob are the two blue-eyed islanders. Alice knows Bob is blue-eyed but doesn't know she is. Bob knows Alice is blue-eyed but doesn't know he is. There are two possibilities: n = 1 or n = 2, since they have seen every other person's eyes and know there are no other blue-eyed people. Each can watch the other's behavior on the first day. But since neither one knows their own eye color yet, neither one commits suicide that day. Then each one realizes that for the other not to commit suicide, it must be the case that n > 1. Since they know every other person's eye color, the only possible explanation is "n = 2 and I'm the other one". They commit suicide on day 2.

From there we can just apply the same reasoning every time. If n = 3, Alice, Bob and Carol each look for the other two to commit suicide on the second day (from the reasoning for n = 2). When they don't, the only possible conclusion is "n = 3 and I'm the third one" and they all commit suicide on day 3.

That line of reasoning then works with any successive value for n: if there are n blue-eyed islanders, each looks for the other n - 1 islanders to commit suicide on day n - 1. When that doesn't occur, the only possible conclusion those people can reach is "there's one more blue-eyed islander, and it's me". Then all n of them commit suicide on day n.
Yeah, using whitespace / indentation as a scope delimting syntax is a horrible idea which is error prone. It's probably the most annoying thing in Python for me.
Xmake v1.0.3 released
It's also worth looking at the documentation in R for each of the functions too. (can invoke with console with ?chisq.test for example).

For example, the chisq.test has optional built-in Monte Carlo testing, and none of the other functions do, oddly.
> Every time I had issues with Sails I had to dip into the Sails source and patch bugs out, eventually I replaced parts of Sails with libraries that actually worked. By the end of the project the only "Sails" left was the routing component...

Would love to hear more about this - if time permits, would be a great write-up.
What can we expect from 2016 with regard to CRM?
CRM has already worked wonders for many organizations. In fact, it has been a real success in the field of customer service. However, technology is constantly evolving which means that it is very hard to stay up at its speed. Any thoughts on how to make the most of CRM in this year?
The Box was an excellent read
I always felt that it's mind-bogglingly amazing that technology exists to let me cross continents in mere hours at an affordable price. Therefore I never minded any sort of discomfort caused by crammed seats and will happily pay the lowest possible price for the flight.

This would probably change if I flew with any frequency though.
Top 100 Interview Questions on E-Commerce Part-2 – InfoTech Site
Cothority: Scalable collective authority prototype
Learn Coding From Scratch
SugarCRM vs. Salesforce?
> Jupyter[2] notebooks now have really first class support for R.

Jupyter and R is a bit iffy since the R kernel is not native. Although the kernel works fine, setting it up has a ton of manually-installed dependencies, and in-line plots flat-out give unexpected output. (I've had to cheat by embeding charts via Markdown. Although that has the benefit of having the charts be responsive)

The important perk is that Jupyter notebooks are now rendered natively on GitHub, which I've made considerable use of: https://github.com/minimaxir/sf-arrests-when-where/blob/mast...
An example of an attempt to replace a unionised workforce with an non-unionised workforce:

https://en.wikipedia.org/wiki/1998_Australian_waterfront_dis...

In the end, the union workforce remained, but there were significant productivity increases.
vcsh – Version Control System for $HOME
Exhibit A.
the founder was on the Changelog recently. Very interesting to listen to.
OK, I think I understand where you coming from.

While I don't think a GAI could arise from your scenario - just loops - I can see now that you are making a plausible argument and given that the whole field is extremely uncertain, it is reasonable to be worried by a plausible, problematic scenario.
Shared memory with Node.js
I thought America believes in meritocracy.
The deeper your purpose, the longer your vision
My Unwanted Sabbatical, Why I Went to Prison for Teaching Physics
css animations can be done in only a couple of lines; so I wouldn't consider them to be the primary drive, or any significant factor, behind bloat.
A Telephony API Experiment
Scientist figure out how the Earth looked like a billion years ago
The forum software "Discourse" is a good example of hugely over-engineered bloat and Javascript being required to display some text.

They even require that you have the latest smartphone hardware! To display a forum post!

As with the examples of Facebook and Google, these are intelligent people working at these companies. Yet they get it completely and catastrophically wrong...
Time Warps and Black Holes: The Past, Present and Future of Space-Time
ISOs have a set of specific qualities that must be present to be treated as ISOs. Most established companies issuing options will be NQSOs. RSUs are a lower volatility version, but with less flexibility in terms of timing (I can't delay "exercising" my RSUs in terms of timing when I recognize the income).

You can make ISOs be treated approximately as NQSOs, but otherwise, you're generally getting from an established program and within a company, you don't have to be prepped to negotiate one type vs the other. Over time, the company will no longer be able to issue ISOs and may implement other programs, but they will tend to be "one type fits all" in general.
I find it interesting to see how people note take, if at all. I did one of those degree courses where note taking was what you did, continually. Then you re-read your notes and wrote them up properly, then you used those notes to complete the assignment. So for me note-taking is baked in, it is what I do.

I find it odd working with people that do not even use or own a pen, never mind a paper notepad. What I find odd is hen talking through a process or problem I am the one doing the 'napkin sketches' with the no-note people being 'mute' as far as sketching diagrams is concerned.
"Are you too young to have witnessed how quickly records and cassettes died once CD technology became available to the masses? We went from always having to hear a humming from the background noise of the cassettes and records to almost perfect silence when the music wasn't playing."

I did live through that transition. While I agree - then and now - that the sound quality was superior, it was the ability to random access songs on the album that excited me.

That was groundbreaking - it was incredible! Better sound quality was just a bonus ... any song on the album, right this second, without having to do anything!
Instacart (YC S12) Raises Fees and Lays Off Recruiters as Frenzied Growth Slows
> Jupyter and R is a bit iffy since the R kernel is not native. Although the kernel works fine, setting it up has a ton of manually-installed dependencies, and in-line plots flat-out give unexpected output. (I've had to cheat by embeding charts via Markdown. Although that has the benefit of having the charts be responsive)

You know, to be completely honest, I've never used it directly. I've always used it on our platform. It's very possible that our engineers already did all that setup so it "just works." I took the original post: http://r-statistics.co/Statistical-Tests-in-R.html and reimplemented it in an R notebook with some simple plots at the end, but yeah, the plotting just sort of works for me. I didn't realize I had an incomplete view of the complexity of getting that working :(

https://app.dominodatalab.com/earino/statistical_tests/view/...

We also render the notebooks. The difference is that we also let you run them :)
Demand for ‘panic rooms’ growing
The voting code in the copy of Arc HN runs is not public (the rest of it is - https://github.com/wting/hackernews/blob/master/news.arc) because apparently business decisions are made off of it and it would be trivial to game it.

That said, I'm fairly certain it involves some kind of "keep the ball afloat" algorithm, where more upvotes in a smaller time period gives it a higher internal score than a slower sequence of upvotes would. This post has been upvoted very slowly, and I theorise this is why it's on page >2.
Meteor - it's webdev that doesn't suck.
Huh, TIL.
Happy new year from Japan :-)
Interesting way to find talent. To answer their interview test, the answer is: "It depends on that the key size is on each 'page' of the bayer tree".
Thanks, that helps a lot.

But the flaw is assuming that they will start counting at one.

The blue eyed person number 3 can see that there are 2 others at least, so they know for sure that n != 1, since n != 1 they have no reason to expect anyone to commit suicide.

So the whole sequence never gets started.
Overall, this was a good article and it had me eyerolling at some of the dumb...dumb things people do. Like the internet.org background logo continually downloading a movie. Whoever did that should not be making websites.

Likewise, I took a look at my project and was able to chop the JS size in half by yanking out some libraries I no longer use, so now the JS and CSS are each under 500K each. Still a 1.2MB load overall; but it's also cached and an app people will visit more than once.

I hate that my CSS is close to 500K though. The design itself isn't that complicated; but I'm basing it off of a bootstrap theme and until I know what I'm using I can't prune much.

And I think that's a source of some bloat: frameworks and libraries. But, It's a tradeoff; it's code I don't have to write, which lets me get a better product to market faster. Sure, I could really spend the time to prune all my assets; and i think one day that will be a good move to make. But for me, and for many other projects, it's a tradeoff.

Usually media is the big one to blame, and things like streaming a background movie and eating up hundreds of megabytes in bandwidth to display it is simply irresponsible.

In Apple's case, they probably want their images to be high resolution, which is understandable. But even then they could (may even already) run it through some compression filters to reduce the size without hurting the quality.

It's something we should all be mindful of. You can, but don't have to go to extreme lengths to reduce the size of the site. There are often some low hanging fruit you can reach for that get you 80% of the way there. And obviously if its site that people a lot versus a site that people will visit once, your priorities for optimization are going to be different.
UBlock Origin will largely solve this - except for inline SVGs. But I understand that they have to do that due to technical limitations with current browsers.

I've grown accustomed to reading unstyled HTML, and I gotta say - I like it.

Sites which host their own CSS and JS look as the designer indended. For example the Washington Post. I just checked the size. The home page is about 200K but when you add everything else it comes to 3MB.

Why should I care about this "bloat"? I don't. Computers are faster (by several orders of magnitude). The internet is faster (by at least two orders of magnitude). I have Fios - if you can get it you should too.
I might be interested if I weren't already being paid quite a bit more to work on something I'm deeply interested in.

I've been spending a part of that "quite a bit more" paying people to work on Snowdrift.coop, if you'd like to join me in that.

Regardless, props on your decision! :)
- Biases and heuristics are both priors, but they are particular kinds of priors. The former mostly refers to priors which systematically slightly shift our thinking away from the truth and on which we can only counteract by self-reflection. The latter is a prior which we consciously choose which is very rule-like and probably overly general.

- Aumann's agreement theorem assumes that all actors are perfect Bayesian actors and have plenty of time to talk to each other. Since goals and values are not preprogrammed (unlike needs), it follows that they can update on these things as well, if one party convinces the other one of better goals and values for maintaining/achieving their needs. Unless I'm overlooking something, it must assume that the actors have the same needs.
Even if it can be considered a gift, there's a $14k/yr cap on the gift exclusion.
"And yes, I wouldn't expect someone with a family in the Bay Area to be interested."

At least, a family to support. A family supporting them, maybe...
A Zombie-themed rpg you play in slack
Indeed. I hardly look at the titles (takes some training). It's the "group think" that makes HN so interesting and powerful.
"Substituting an easy problem for a hard one" sounds more like this:

https://en.wikipedia.org/wiki/Substitution_bias_%28psycholog...
The Fed has raised rates, what happens next?
Are there any new developments? Bud hasn't been updated in years.
Mind you, it's a learn programming book and doesn't assume prior programming experience; you can skim over a lot of material if you already know how to program. See the table of contents at http://www.stroustrup.com/PPP2_TOC.pdf
I would be much more interested if this product were "choose probability density function centric." Then, the Monte Carlo engine would gain much more interest. Being able to choose or specify arbitrary distributions, and then run simulations, would be valuable.

Of special interest are non-continuous distributions. How often have normal distribution reasoning failed in finance?
Put another way, a user should be able to model a distribution himself.
Does R Studio have a bunch of GUI plugins for doing the various common statistics tasks? Because the base R Studio doesn't do much (it's nice for running R, but I don't think that one can do linear regressions etc. via a GUI -- correct me if I'm wrong).
It's not black and white like you think. I used to work as an outside sales rep. Experienced people know that shit breaks in real life. They care more about how you deal with failure.

I've actually heard rumors of companies purposefully fucking up little things with new customers in order to take the opportunity to demonstrate how good their customer service is when they fix the mistake. Because vendors are pretty equivalent when things go right, but they differentiate themselves by how they handle it when things go wrong, and that earns loyalty.
Israel is top patent producer in Western world
I never knew that the chemistry of flames and burning was so complex and poorly understood. Beautiful that flames are spherical in microgravity!
You can still brute force all game states in a tree with height n, with some heuristic to estimate the strength of position at each game state. I certainly don't think humans solve Go, because I've never heard of any experts being undefeated.
Sounds like he will dig into Rust. If he was into GC language like Golang, he would have been interested in Java.
It seems like technical debt. Lots of what causes bloated pages can be fixed with simple solutions like scaling down gigantic images. I agree there are still major design decisions that can have a big impact, but there are also lots of things that can be done in most cases without too much elbow grease. For example simply installing Pagespeed will optimize a page that previously would take many architectural and dev hours to fix. So maybe the debate should be are the automated tools like Pagespeed moving at the same rate as our appetite to create more bloated pages.