skysight-inc/HackerNews huggingface dataset:
Where did I--or anyone--say it was different? Again, we're talking abstract, not current status quo.

That said, there are key differences between a dentist or plumber and a waiter or cashier. The obvious one is a private-practice dentist or self-employed plumber where they're setting their own fee and getting directly paid. In such cases there's no problem for tipping to solve. The other big one regardless of public or private is that there's a major power imbalance where the dentist or plumber is effectively acting as the agent of the patient or customer. Check-ups, routine cleanings, and such aren't an issue but when it comes to things that need fixing it's the dentist or plumber telling the customer "this is the service you require" and selling them that service. This is a principal-agent problem itself and tipping only exacerbates the issue rather than solving it.

Like I said previously, the logic of where tipping could or could not make sense is based on what sort of incentives it reinforces, if any. And, also like I said previously, I am not arguing in favour of tipping, either, and I'm especially not arguing in favour of tipping making up an essential part of one's income.
I feel exactly the same.

There is something about JavaScript that makes people go a little crazy both for and against it.

I've never seen so many programmers advocate copy/pasting code before...

But regardless of how many insults get thrown around, or how many people seem to think JS is useless or that it's a horrible language, its probably my favorite (and I've done professional work in non-trivial applications from C and C++, to Java and go, to python, Ruby, and PHP to BusinessBasic and even some lisp).

I'm going to keep writing stuff in JS, and I'm going to keep loving it. Regardless of how many people are telling me I'm wrong.
If one did that one would, of course, be wrong, both in the general case (the jokes were silly grade-school level puns that would concern no well-balanced person) and the specific case (if anyone was being stereotyped or belittled, it would be males, given that they were telling the jokes about a male presenter.)
What?! That has no support in law, history, or the documents surrounding the creation of the bill of rights. The idea that private fora would be required to accommodate all comers is antithetical to the ideas behind the Enlightenment philosophy which engendered the first amendment.

I honestly can't believe someone could be dumb enough to think that the founders would want the government to dictate who people were required to admit to non-public settings. There's no way you're being sincere.
I'd rather have few, good functions then many poor functions.
I think the biggest challenge with monolith -> microservice architecture is that nobody really adjusts their team organization or planning to account for it. They're super highly-coupled problems, and if you solve one without the other you just end up pushing debt off to "some service with a contract".
I try to keep Bob Elbing in mind when I ask if I should say something or not. Thankfully none of my work has ever had a single life, much less 7, depending on what I do. Still, I try to do the right thing and speak up.
Unions are terrible. Awful, in fact. At least on average.

But not having unions seems even worse, so until we invent something better...
Amazon says there’s no gender pay gap in its ranks
I like to go with Larry David's advice with skipping the small talk and going straight to medium or large talk. I like to open with "so how's your marriage?" Just get right into it.
It is not removed from the Wayback Machine. It was never in the Wayback Machine.
Auto-Scale Everything
Doea code size really matter to node.js ? And how common was commonjs (no pun intended) on the client before ES6 ? Also doesn't commonjs bundling add a significant overhead when talking 5 line function modules ?
Show HN: Free Logistics Management System for CPG Startups
Kevinj90825 and I are excited to share Ravel: a simple multi-carrier freight management system for small CPG businesses.

We’re trying to make Oracle / SAP level logistics management software more accessible ( intuitive with Jony Ive accent ) for small businesses.

Transporting product to retailers is one of the biggest concerns and costs for CPG’s. We hope to make life a little easier for these folks :)
Google’s placing its own bet on mobile livestreaming with YouTube Connect
I, being a geek, find nutrition software to be the best solution. I didn't say I was dieting, I'm just recording and observing everything I eat. I have no goal or threshold. Surprisingly, just watching your nutrition causes you to eat better and lose weight, without going hungry.
I guess it's akin to wanting to join the video game industry and getting your foot in the door through QA play testing.
How Virtual Reality Will Democratize Learning
MS Office: yes.
Content creation: no.

3D rendering, video editing, and music production all need as many cycles as you can afford, and then some.

VR and all those AI/ML technologies waiting around the corner are going to be even more greedy.
I'd gladly take a paycut to move to a place where the cost of living was 1/4 as much. I might be unique.
And writing the code yourself instead of taking on a dependency solves none of these problems. Your code becomes incompatible with anything, because you wrote it yourself. And you are responsible for making any security fixes yourself.
At first, it seemed familiar to me too, so I can see how you might've been confused. Also, Patrick intentionally omits the date from his blog entries which likely didn't help you.
Which was actually the thing that employees cut even before I entered the workforce. I distinctly remember that my dad was on the declining wave of such benefits being cut from the company he was working for.

It seems like for the programs that were pre-funded over the years those retirement funds either got lost in stock market declines or were otherwise raided for various non-retirement reasons (usually by the company or through cutting benefits and freeing that stored resource); in other cases I can easily see it having been 'funded' the same way 'Social Security' was 'funded' (assume eternal expansion, pay for today's retired with today's income).

I think the appeal of Basic Income Guarantee ideas is not just how effective experiments show them to be, but that it replaces 'retirement' and all sorts of other social safety nets with one solution that's a lot more streamlined. It turns all of the other fraud problems in to tax enforcement and tracking, which thanks to credit cards, the average consumer already gladly agrees to.
Another benefit of small well understood components is that they are easier to write tests for. Do these npm modules have good test coverage? Did the leftpad module have a unit test that would have caught the issue?
As Charles Warner opined - everyone talks about the weather, but no one actually does anything about it.
Note that this feature was added back to OS X circa Mountain Lion or Yosemite.

You can sync your calendars and contacts only to and from your Mac if you want to.
> it's one of the main motivation factors that have lead to OO.

OO got no rights whatsoever to highjack the benefits of the modules. There are some very successful module systems that got absolutely nothing to do with any OO bullshit.
About 2/3 of those (1.7M) were from babel-code-frame, which is a core dependency of babel:

https://www.npmjs.com/package/babel-code-frame

And the fix was just to drop the functionality and inline the function as a no-op:

https://github.com/babel/babel/commit/09287643c712bcd203bbd6...
Question from a machine learning noob: how would they use an unlabeled dataset for training? Would Google employees listen to it all (if the ToS would even allow that) and transscribe it, then use the result for training? Or is there another way to make it useful without being labeled?
If you don't buy a new Apple computer every two years, they won't be able to afford to design a new computer to sell you every two years!
Then you may be very shocked that anything in this article is unknown
Oh, ok. I really had no idea.
You're totally right. Most developers don't develop this way, and that makes the benefits of this approach far less pronounced than they would be if they did. It also doesn't negate the benefits entirely, of course.
> If you add a dependency for just a few lines of code, you're making a way bigger commitment than if you'd just copy/pasted the code and maintained it yourself.

This is a problem with NPM, not with dependencies. With different package management systems with stable builds and lockfiles, then you pin to a specific version and there is no way upstream can cause problems. A lockfile is a pure win over vendoring.
I've been reading about tree shaking. I'm not at my laptop at the moment, so I can't settle this question by testing it. I'll toss it to the community:

https://news.ycombinator.com/item?id=11349606

Basically, how does tree shaking deal with dynamic inclusions? Are dynamic inclusions simply not allowed? But in that case, what about eval? Is eval just not allowed to import anything?

I've been reading posts like these, but they are pretty unsatisfying regarding technical detail: https://medium.com/@Rich_Harris/tree-shaking-versus-dead-cod...

Maybe someone else was wondering the same thing, so I decided to post it here before wandering off to the ES6 spec to figure it out.
Hey since you love authority, you realize that NPM decided to change the ownership of the kik module without asking his permission right? Life isn't black and white.
> That's a baseless assertion.

That's a verifiable fact. Take any OO code-base and it's very obvious how destructive the choice to use OO was, because there is always a much better model than OO.

But of course you zealots are not even competent enough to comprehend such simple things.
My humble arcade game
I finally made it. To the last tiny little bit I complete RPG arcade FTL like game. Please, Enjoy.
It's quite ironic how you're lecturing people about dependencies and bandwidth when you yourself don't seem to have a good grasp in your mind of how immense even 5 kilobytes is (you talk about 5kb functions). 5 kilobytes (well, KiB) is 5120 bytes. That's about 200-300 lines of code. If you're talking about minimized code, maybe up to 500 lines.
Does Google have any academic discounts? I'm using tensorflow for my thesis and wouldn't mind some free cycles :)
Rock 'n poll - visualizing polling and uncertainty
Oh, definitely. It's not something I'd recommend ever doing for the hell of it unless you're a real masochist. Even then, it might be easier if just broke out the floggers.

All kidding aside, if the concern is just for continued security patches, there's always Rails LTS [0]. You have to pay to play, but it's cheaper than a security breach or weeks of development time. But if you're dealing with significant performance issues or looking at major feature changes/additions, it might be more effective in the long-term to consider an upgrade. You just need to be aware of just how large a project that can turn out to be.

0. https://railslts.com/
It's more like planting a bush in your front yard, and for some reason the metropolitan train system decides to use your bush's shadow to tell the time of day, and builds that into every aspect of the entire city's transportation network. Then you cut the bush down and everyone starves.
We are all here reading and thinking about it. And SV taken as a whole eats its own dog food: I was amazed the first time I worked with a YC company how many other nearby startups they used as vendors.

If you think about Boom as part of an ecosystem, they will eventually need a large number of companies to buy seats on their planes. As with Concorde, only a minority of seats will be saleable to individual consumers. Now Boom, they're here, getting name recognition at hundreds of SV companies, some of which will have offices in London, Singapore (where Concorde also briefly flew), etc.
The thing I like about our setup is that it's completely independent of individual developers' setups. Some of us use iterm, some of us are okay with terminal.app (iterm 2 ftw!). All of the backend capable folks (three of us) do have access to production, but we use it very responsibly (helped by the white on a red background production in the console prompt)
Lots of people here are complaining about tipping. How hard is it for a bunch of software developers to calculate 20% and add it to the bill? How hard is it to understand that it's not a bonus, it's just part of the bill where the customer chooses the amount - giving you a little power and flexibility.

Think of it like Patreon or donating to your favorite FOSS.

This isn't a statement for or against tipping. I don't really care; either way is trivially easy and all that matters is the bottom line.

I do care about labor conditions. I don't believe restaurant owners are doing this to benefit their employees. I wonder how it affects the power relationship between workers and owners, and I especially note that discussion of it rarely includes input from the people who actually do/don't receive the tips.
Just to clarify, 2 TB everyday right?
I wish I had more upvotes to give.
in England, talking abou the weather is by far the easiest way to get into an animated conversation. Seriously. It's because it has one of the most unpredictable climates, by the hour. (although if you have to, bet on light rain)
Uber sues Ola for allegedly using the dirty tricks
Alexa Traffic Rank
Quite common actually (see Browserify)! In fact, the increasingly widespread use of npm and CommonJS on the client is one of the factors that motivated the npm team to transition to flat, auto-deduplicated modules in version 3.
I see two kinds of programmers here.

Good programmers understand the risks of making your system depend on something you don't have control really well; They know how keeping system complexity low is like an good investment which makes your life later easier (low maintaining costs).

Bad programmers stacks up technical debts such as including unnecessary dependencies until the system no longer works.
Depends on what the rocket is carrying. If the rocket with the James web telescope blows up, there goes 10 years and 8 billion dollars worth of work.
I've never heard that before, so it didn't tip me of.

I did think the PIG abbreviation was too good to be true and decided that I didn't want to read it if it wasnt anything to do with real life internals
the actual title is "10 Hot Startups In NYC"
#startuplivesmatter
Honestly the Moto g is probably the best value phone available. Even the earliest version without 4g or the SD card would still serve my purposes perfectly at a great price point.
I think a browser is a large-scale, security critical piece of infrastructure.

Whether servo will truly have fewer leaks and security issues we'll have to see. They are also aiming for mor parallelism and therefore faster rendering....
There is little reason to bundle node.js code. It's an optimization, and a dubious one. In my experience, speed of execution isn't impacted at all. I haven't tested the memory footprint, but it seems vanishingly unlikely that dead code elimination would have any substantial effect.

There's probably not any overhead in bundling, though. Not in speed or memory, at least. The overhead is in the complexity: the programmer now has one more place to check for faults, and debugging stack traces now point to a bundled version of code instead of the original sources.

The case where none of this is true is when require() ends up being called thousands of times. Startup time will be correspondingly slow, and bundling is the cure. But that should only be done as a last resort, not a preemptive measure.
Stanford Parser (http://nlp.stanford.edu:8080/parser/index.jsp) actually parses it correctly!

(ROOT
(S
(NP
(NP (PRP$ my) (JJ complete) (NN shock))
(SBAR (IN that)
(S
(NP
(NP (NN anything))
(PP (IN in)
(NP (DT this) (NN article))))
(VP (VBZ is)
(ADJP (JJ unknown)
(PP (TO to)
(NP (DT all))))))))
(VP (VBZ is)
(ADVP (RB inversely))
(VP (VBG proportional)
(PP (TO to)
(NP (PRP$ my) (NN programming) (NNS abilities)))))
(. .)))

I agree that it's quite convoluted, but surprisingly it's not incorrect
I think b) is true only because JavaScript tooling cannot perform dead code elimination. Other languages have big grab-bag utility libraries like lodash that don't hinder performance because a linker or runtime can avoid loading unused portions.
Or the Chinese equivalent. Or both.
Uh no. At that point you're like a UPS delivery man, pack the truck vlby delivery order. Then the car drives to each location, you get the package inside and the car moves on
I've never thought of C as being a particularly good example of "extensive standard library."
Comparing NPM to PECL/PEAR doesn't make much sense when talking about PHP developers. With PECL, the overhead of building a module in C is waay too high to make it viable for micro packages. And PEAR didn't just accept any random stuff, they were shooting for the one-solution-fits-all libraries and not tons of user-defined micro libraries like ecosystems like NPM encourage.

Compare NPM to Composer/Packagist and you get a better comparision. I've personally seen only very few micro packages on Packagist, thankfully this never seemed to gain traction in the PHP world.
I've tried it a few times given it weeks or month long trials, and never really found a strong enough benefit over bash, especially when I'm always going to find bash on servers I deal with.

I actually find it valuable to nuke my bashrc customisations every few years and reevaluate. Assumptions and practices entrenched in those customisations can be anti-patterns or counterproductive.
Although this is incidental to teh main topic, for some reason he makes a big scale of Extraversion and Introversion. However, these are not necessarily the most helpful constructs, being outdated Jungian ideas comprising of many more variables that would be much more helpful. In the meanwhile, have a look at the other scales like the Big 5. https://en.wikipedia.org/wiki/Extraversion_and_introversion
Please ignore Myers-Briggs because it is demonstrably useless and worse than that, too plausible.
No, and they dont need to. They have too many other advantages -- low customer acquisition cost via already-present cloud customers, economies of scale, ease of hiring the best talent, natural integrations via their android platform...who needs nastiness when you have all these amazing benefits!
This point is addressed in the article, the point is not to have web app perform as fast or better than native app. As long as they are fast enough it's ok.

I'll support this point: for so many services I'd be ok to trade off native performance for a smoother install process and independance from arbitrary rules. For instance amazon kindle app is severly limited by the app store rules while it has arguably no features that need to be native and does have almost no performance need (I wouldn't care if it took 250ms instead of 100ms to turn pages)

Same goes with apps like google keep or to do list apps. Whole categories of app would be better off as locally installed web apps, if only the OS had better support for them.
Node.js Tutorials
Very true. Although pypi is in a better position than npmjs.org on a few fronts (including security), it's also such a pain in the arse to deal with.
Packaging is by very far my least favourite part of python.
And that kind of works in a dynamic language. You could make it work in a statically-typed language, but then the problems will become more apparent. If X depends on Y and Z1 and Y depends on Z2, and Y exposes an object created by Z2 in its public API, the X developers might look at the Y api docs and try to call Z1 functions on that Z2 object! Worst of all, it might very well work in the normal cases, and the issue might not be noticed until it's in production.

Using multiple versions of the same library is code smell. It's a stability issue, a security issue, a complexity-breeder, and an absolute nightmare for packagers.

And npm allows it to happen silently.
A manuscript checklist for improving science
Doesn't a for loop have the same problem?
I'll find the reference if requested, but I read a fascinating article recently how most people's ideas about neanderthals are wrong. There were not cave-men, they were very similar to us. Same intelligence, tool-using, social behavior, etc.
That recursive node_modules or whatever it is called was what made me hate this whole npm thing, specially because it is not centralized somewhere in my computer.
And that means the same files a few times repeated on my drive just eating space.
Being a Java developer I don't understand why the approach was not more like maven.
Why can't I just talk to the bot on the website?

Garrr I must be getting old. I just can't be bothered signing up for any of those networks to try this. I already have SMS, Hangouts, Skype and WhatsApp to chat with. Don't need yet another password to add to the vault.
I don't know about spy agency compromise, but I have definately caught suppliers "accidentally" sticking counterfeit memory into devices.
Joining an array of strings is sometimes better than concatenating a string in place, yes.

Consider the following:

1: var str = 'foo';
2: str += 'bar';
3: str += 'baz';

At program load, you have three string constants, 'foo', 'bar', and 'baz'.
At 1, 'str' becomes a pointer to the string constant 'foo'.
At 2, 'str' becomes a pointer to a string 'foobar'. Memory is allocated to store this string.
At 3, 'str' becomes a pointer to a stinrg 'foobarbaz'. Memory is allocated to store this string.

Now consider the following:

1: var str = ['foo', 'bar', 'baz'].join('');

At program load, you have three string constants, 'foo', 'bar', and 'baz'.
At 1, 'str' becomes a pointer to the string constant 'foobarbaz'.
In the array concatenation, the JS interpreter can create a single string buffer large enough to contain the contents of each array element and the separator string * N - 1 (where N is the number of elements), and return a pointer.

Once you have a large number of elements, or are joining large strings, the performance difference (especially regarding garbage collection) could matter.
> Are dynamic inclusions simply not allowed?

Correct. One of the motivating factors for ES6 modules was to create a format that can be statically analyzed and optimized.

> Is eval just not allowed to import anything?

Correct.

See this excellent writeup for more details regarding ES6 modules:
http://www.2ality.com/2014/09/es6-modules-final.html
More importantly, if you only use a specific version of a library, you're opting out of literally every one of the advantages of micro-libraries that people claim they offer. Tying yourself to a single version is the same as copy-pasting the code right into your project, except it doesn't force you to look at the code and vet it.
That sounds like what Churchill(?) said about democracy: A terrible form of government, but better than all the alternatives. It's the nature of human institutions - name one that's better.

The way I think of it is that other people with power are act in corrupt, self-interested ways, why should working people be denied power for doing those things? They shouldn't be held to a higher standard.

Unions are about power; it gives the working class a seat at the table with all the other power-hungry corrupt people who run our society. Note that since unions started weakening in the 1980s, wages have stagnated for those people who have lost power and they have increased dramatically for the wealthy people who have retained it. That's simplistic, but I don't think those outcomes are unrelated.

I'd like an end to corruption, as well as universal peace and love; but I'm not going to wait for it to happen before I support unions.
The auto manufacturers (and for that matter all the "IoT" creators) couldn't give two shits about protecting consumers. Building security into this stuff is trivial and a responsibility.
Ask Sucuri: How Does Sucuri Clean a Website?