skysight-inc/HackerNews huggingface dataset:
Your source does not actually give the data or methodology for their claim that child labour peaked during the industrial revolution, so there is no way to know how they came to that conclusion, but a reasonable explanation is that they counted children working in factories as child labour but they did not count the close to 100% of children working on their parents' farms as child labour, which was the situation before the industrial revolution.
Urbit does this cool trick where you use pure lambda calculus arithmetic (church encoding), use this theoretically correct impl as a basis of your proofs and reasoning, and then at runtime provide a polyfill that uses hardware arithmetic operators. The runtime impl is thus not equal since it can for example overflow, but in practice that doesn't inhibit our ability to make useful programs.

https://en.wikipedia.org/wiki/Church_encoding

Facebook does this also with GraphQL - GraphQL queries are theoretically dynamic and defined by the client, but you can bake them when you ship, and then provide optimized implementations of the query that also have knowledge of the UI and database that they aren't supposed to otherwise have.
I especially liked the shot they took at the kids about being "negotiators," as though the ability to compromise rationally with authority figures is some sort of behavioral issue and not, you know, life.

When I wanted toys, I did chores. Later when I wanted spending money, I did chores, helped out around the house, mowed lawns, and eventually got a job. That is not negotiating, that's just being a productive member of a society.

Seems like this company is specializing in creating the same authority-fearing, tough-as-nails people who are being put out of work in the coal mines and have an uphill battle learning to do creative and intellectual work because they had all of their brains beat out of them by an education and parenting system designed to create drones, not problem solvers. Fucking tragic.
This isn't a job you take for the pay. You ask for enough money that you no longer care about it (e.g. you just throw money at problems. If your car won't start, call a towtruck and a cab to get to work).

You can't do this kind of work motivated by money. You have to love the idea.
> Don't they use the latest and greatest tech that has been made spaceworthy?

Sure, and by the end of that process (testing, construction, launch, coast, arrival), it winds up being "extremely well tested, older technology".
I've seen a lot more Chevy Bolts then Tesla Model 3, in fact, there are two on my small street right now.
> you can however flag a URL to always open in a container since recently

That's almost exactly the opposite usecase I have for using accounts in Chrome.
My hypothesis is that they try to figure out what prices to set to extract maximum profit, based on how much they think you're willing to pay, how busy the drivers are, how much profit they're currently making in that geographic area, etc.

It's much easier to entice new riders by giving them coupons than it is to generally lower their fares.
It might have something to do with taxi drivers specifically since they're not known for being the most honest and decent service providers. Whether it's scams like letting air out of their tires, not starting the meter or taking longer routes or discriminatory practices like avoiding certain neighborhoods and driving by minorities to pick up white people (yes, this is a thing and a friend and I had it happen reliably enough that it became a running joke), the pre-Uber cab situation was pretty bad and there wasn't much riders could do about it. I admit to some schadenfreude at seeing taxi drivers struggle after so many years of putting up with their BS.
Rich's B compiler
So the PyPi issue isn't a bug. It is an attack by hostiles. There are always bugs but this is a person packaging malware probably as a practice to package worse stuff that runs at build time. If package maintainers have time to respond to valgrind reports on their package they have time to check strace on the installer. Edited: longer rant.
Signatures are good, but do not help in this case (typo-squatting)
Object.defineProperty is actually quite ancient yeah.
I disagree. Paraphrasing filmmaker James Gray: "To say people want to see trash is totally elitist. If you feed people McDonald's every day for years and then give them sushi, there ain't no way they're going to say 'give me more of that wasabi, please'. No, they're going to say 'what the hell is this crap?'.

I personally agree with this. One piece of evidence is that thinking adults do go see Marvel movies instead of the Scorsese/Fellini/Antonioni/James Gray/Coppola/Fincher/etc. feature, when those are not options.
> But that's the whole problem, isn't it? The parents enjoy a lifestyle and a tax bracket where inconvenience is impermissible and unacceptable. The child has become inconvenient.

You know the sick part of this is that the wife and I discussed kids and we both decided that we were too involved with ourselves and our hobbies to properly devote time to a child. Yeah, we like our video games and our space, and we enjoy our time together so a kid really doesn't work well for us. You can call it superficial if you want, I wouldn't really disagree.

To say that these people just went and had kids, likely because that's what they were told by society what to do, means that these kids have now been sentenced to a life where they are an inconvenience and a burden, and there is no way they're not aware of this, which to me is way more fucking sick than not having kids because you don't want to share your XBox.
I am building my own Chromium-based browser with a similar concept called "bubbles" [0][1]. Not doing a show-hn on it until next week because I need to build another release but feel free to try it out (I recommend building over using the one in the releases area as a lot of bugs have been fixed in master).

Oh and for the commenter wanting Ctrl+T in the same container, a Ctrl+Shift+T in Doogie does open a child page in the same bubble.

0 - https://github.com/cretz/doogie

1 - https://cretz.github.io/doogie/guide/bubble
Six years after IE 9, support of SVG fragment identifiers comes to Apple Webkit
"nulis" also means "write" in Indonesian
Google Chrome to stop autoplaying content with sound
صور+مضحكة+فيس+بوك+2018+نكت+مضحكة+للواتس+اب+ضحك
Yeah, we must run MS-DOS forever. All software upgrades and protocol changes are wrong. We don't want no GUI or protected mode runtime, we will hatefork MS-DOS and run it forever. /s
why would it allocate ? creating objects does not trigger allocations most of the time. The only stack space used is the internal state of the functor used, which is a lot of time empty (and won't even exist anymore by the time the compiler has optimized your code).

eg. look here: https://godbolt.org/g/AdLAi1 there's not a single new / malloc / whatever
> Programming is relatively unforgiving

Not sure if it was intentional, but I got a good giggle out of this line.
It was my understanding that you just had to provide a safe language without infinite loops (so no ⊥) - is this not true?

https://en.wikipedia.org/wiki/Bottom_type
If everything is a constant then nothing is a constant.

Code bases change and some things that a coder did not foresee needing to be reassignable may later need to be reassignable. There aren't frequent cases that switching them becomes a problem, and as a result, people switch them. Since they do get switched so often, people stop thinking about when it really matters or if there was some intent to it originally being written that way. If everything is a constant, then the cases where it matters and the cases where it doesn't get blended together and it's impossible to differentiate the two.

When real, true constants are the only things declared with const, then it's abundantly clear what the intention of the coder was and that the value should never be changed nor should it ever be switched over to let/var.

Likewise with let, in the few cases where it's used it draws others' attention to the use of block scoping or the avoidance of hoisting. It's rare that those things really come into play, so the few cases where it's present really stand out.

tl;dr Block scoping and constants are the exception, not the DEFAULT, so you should write code accordingly.

> If you're putting your variable declarations after your return statement

What I meant here is that people shouldn't keep using var just so they can continue writing bad code.
Thanks for pointing that out. I'd seen this before so I wasn't going to bother clicking the link, not knowing there was a cool new thing there.
Okay, when is there going to be an in depth documentary series about EVE, I mean Ken Burns Style but maybe a couple of season because so much has gone in this space. Constantly every year I read or hear about some EPIC Battle/Betrayal going on in this little realm of the gaming world.
presumably that is balanced by the times when there are two riders paying $17 and the driver is paid $21.
there was this tutorial on how to implement a more biological accurate neuron in javascript.

https://medium.com/javascript-scene/how-to-build-a-neuron-ex...

I asked the author how to put it into use, how to train it? because clearly this biological neuron is not a smooth function. but I didn't get any response.
At the risk of stating the obvious, it's not a salmon on their logo - http://www.salmon-protocol.org/_/rsrc/1472778652703/config/c...
the name of the game is leveraging explosive, unsustainable growth into a high rate of return into cheap capital into a big payday for founders

everything else is long-term
Andrew Ng mentions in the job posting that they want dirty work as well as design work to be done.

"Since we're an early stage company, you should be flexible in your tasks and do whatever is needed, ranging from dirty work like data cleaning, to high-level work like algorithm design."
So... take advantage of people's passions to extract free labour out of them.

That's so much better...

Or, here's a crazy idea: You could hire two passionate people and allow them to each live a normal, balanced life, thus preventing burnout and reducing the chance of mistakes while increasing overall productivity (since studies show that one person working twice as long is not twice as productive).

Wild idea, right?
Nowhere near enough.
Like the look of this a lot. I'm a fan of mind maps for getting work done. I might suggest that unless you think that a large portion of your audience are vim users then you might use ijkl instead of hjkl. For a non-vim user ijkl is completely natural but hjkl will be annoying.
Instead putting your effort into a single person project you could do it for Brave browser or ungoogled-chromium, it would be more useful and you would get more users.
[ANN] SOLIDUS – The digital smart asset [ICO 16 Sep. 17]
Package signing is no silver bullet.

Signing packages helps against typosquatting about as much as SSL certificates help against phishing. Or in other words, not at all, especially if we don't have the certificates rooted in real world identities (like EV SSL certs).
> you give up a certain level of developer productivity

IMO the opposite is true; without types you give up some developer productivity in the form of time spent writing tests and debugging issues that the type system would obviate automatically. In my view, loose typing adds the illusion of productivity because the developer might presume they are working faster because they don't have to reason about type restrictions, however they simply end up enforcing type restrictions manually (and relatively poorly compared to a solid type system) using "typeof" and "instanceof" checks throughout their code. In general, assigning multiple types to the same variable is considered a code smell anyway, so strict typing simply enforces what is already considered a best practice.

Of course, this doesn't mean that choosing typescript in particular is always the right engineering decision, but, all other things being equal, a strict type system is almost always preferable to a loose one.
And their approach is: "Well, let's just throw more money at the problem, so long as you don't expect me to change the lifestyle to which I've grown accustomed."
Maybe not:

Previous experience with machine learning, such as experience from completing the Coursera Machine Learning and/or deeplearning.ai MOOCs

If that's the experience level, then this is an entry-level job.
> Strict typing isn't always desirable... you give up a certain level of developer productivity

I mostly agree, I just wanted to point out that it's funny (to me, anyway) that the same argument applies in both cases. If you don't have type scripting, you also give up a certain level of developer productivity.

When you have to hunt down type bugs a linter or compiler would have caught, you can waste large amounts of time. I think type bugs are usually fast to find & fix, and only occasionally take time.

I like using a type checker of some sort (Closure compiler is probably my fave) for release builds, and leave it off for dev builds. I like this option even more than TypeScript, because you don't necessarily need to have a build step for running dev code at all. Then you get the best of both worlds, you can iterate quickly without adding or checking types, then you can spend a little time checking types before merging a branch. Any time a mysterious bug pops up, first order of business is check types.

Even for React, I'd still rather have the option to type check than not have it. Flow is nice because once setup & running, it's really fast. I've seen it catch long standing type bugs that nobody thought were there.
.find() and .findIndex() are new in es6, but the others are all es5.
Working these hours at Google would be stupidity. But startups are different. I've worked for a few. You basically sell your soul to try to make it succeed. If you love the idea the work hours are not the issue. Things go sour when the startup is being sold. Then everyone discovers that only a few people will make money off the effort and you get to watch. It gets toxic quickly.
If you think a comment is not constructive, off-topic or otherwise inappropriate flag it and don't reply [0].

I see no issue raising a genuine concern with Slack's desktop app, which is incredibly bloated – be it in a joke rather than a long-form comment.

[0] https://news.ycombinator.com/newsguidelines.html
Some day, somebody is going to figure out how to do JIT train shipments and make a lot of money here.

Having said that, trains have last-mile weakness.
Trucks are congesting Europe's highways mostly.
Wait until you see a train arrive to a terminal not far from city center, dozens of smaller trucks rush to get their cargo. At least trucks can arrive to their own depots located on the outskirts, while anybody who wants to ship by rail has to come to the same common terminal.

It's far from a silver bullet.
Oh god, now they're trapped in the endless useless growth demand cycle. Too bad, I enjoy supporting a few artists on there and it's just a matter of time until this hurts them.
>For example can you think of the rules to multiply XVIV with XXV or can you quickly calculate what the result of that will be without translating to a decimal number system ? Exactly!

Well, very likely the Romans had some tricks to do that (and besides very likely they did use an abacus), the fact that it appears difficult to us (having been immersed in positional notation) does not mean much.

This algorithm (making use of halving and doubling) doesn't look so bad:

http://rbutterworth.nfshost.com/Tables/romanmult

and it can be used also with our "positional" numbers.

http://www.phy6.org/outreach/edu/roman.htm

The abacus (the Chinese "suanpan" or a derivative of it, as it is still used in some eastern countries) is - in the hands of someone used to it - very fast, I have seen people be on par or outperform a "westerner" trying to do the same operation on a pocket calculator, I wouldn't be surprised if the Romans abacus was as fast as that:

https://en.wikipedia.org/wiki/Roman_abacus

the base as decimal (or actually bi-quinary) is the same.
Yep. Made me think of MPI. Such a paranoid community as overseas embassy staff might be particularly vulnerable,

https://en.wikipedia.org/wiki/Mass_psychogenic_illness

MPI can be difficult to differentiate from bioterrorism, rapidly spreading infection or acute toxic exposure

We might need to add "sonic weapons" to that list.
Thank you, you made me comprehend why all software patents are nonsense.
there are many ways to reduce the likelihood of malicious packages. not all of them require active curation. some can be systemic.
Should We Be Scared of AI?
It will be interesting to see how their board changes as a result. I think VCs may be trying to get a grip on controlling the content allowed, in addition to the profitability and scaling potential.

If Patreon gets winner-take-all huge, the BoD could literally steer culture by drawing the boundary lines on acceptable content. High amount of intangible value there.
The canonical example is the Mitsubishi Pajero, later renamed Montero in a lot of Spanish-speaking countries.
I prefer to think of Black Mirror as having serious reality vibes.
LinkedIn: All the creepiness of a social network, with the addition of all the pushiness of a recruiter.
Builder Pattern in Scala with Phantom Types
The current "GitHub/your blog is your resume!!" movement has led to people who have little business writing didactic resources (not because of programming skill, but lack of research, teaching experience, and writing abilities) to do so in hordes.

It's hard to complain without sounding like a jerk because these are free to read, but they can waste people's time or confuse them.
What kind of class would include that in their curriculum?
I doubt this will help much with privacy. People's laziness plus cognitive effort needed to track what container you are in plus various tricks from advertisers and publishers will keep vast majority of users perfectly trackable.

Chrome's approach at least helps to keep multiple profiles visually separate.
Startup called Bodega hits a nerve with actual bodega customers
It should be higher?
someone taking this job for $150,000 while working 70 hours a week is helping to depress wages across the entire industry.

I don't care how much I love the work, I get paid the value of my labor or I walk. If that means $800,000 year for 80 hours a week, that's what it takes. There are very few cases I would ever take less compensation then I think my time is worth, even for a job I would love. To me, its a matter of self-respect.
Really appreciate this article. Some languages feel like their syntax was designed by developers and others feel like it was designed by designers. It seems totally appropriate that the UI (language design) should be a different skill and created with a different mindset than the back end (language implementation). I hope that this focus can lead to more beautifully designed languages, not just faster languages.
RSS and something like this and we can do without social behemoths.
I don't use the "I owe a thing" method. I put the closing bracket/quote in when put the opening one in, and then hop left a space and fill in the content. I find it too confusing otherwise. For exactly the reason the author describes.
Pictures from these kind of NASA events always show rows and rows of people sitting at computer screens. I have always wondered why there are so many of them, and what they are doing. Obviously there is a lot of work to be done to process the data that is received, but why so many real-time people? Is it just organizational bloat?
C. F. Gauss's anecdote of how he summed up 1 to 100, using 'for' loop
> So the PyPi issue isn't a bug. It is an attack by hostiles.

Arguably. The issue with typosquatting on PyPi has been known and demonstrated for a long time, but nothing has been done about it. Considering there are ways of closing this attack vector, even though it would require some serious work, I'd consider this a bug. It's just a bug that's being exploited now.
I believe those products prohibit doing public benchmarking so even if I had I couldn't tell you the results. :)
I do use one, which is the only thing that helps. I think my Slack fear was because a few Slack credentials weren't added when I signed up, so now I'm just afraid of Slack.

Password managers do salvage this particular trainwreck, but it's still a wreck.
> its always years away from mass production

Mass prodcution in 2019 sounds pretty good to me. But yeah, it's still technically years. :)
It must be that neither of you use an editor which knows how to match parentheses. Then the choice of habit is largely moot. Also, that little leftward jump can be automated by the editor, which is useful if you want it more often than not.
Maybe gov.sk should be vouched for too, I mean what's the chain of trust here? Why should I trust anyone?
Full code review while not bad is probably not going to stop attackers. Often I can barely understand what the dev intended with non hostile code. Something more along the lines of strace on the install and run down any connects or execs. Runtime is different.
What if they tweaked things so if you reply with an agreement to an opposing author, that money is,either split or goes to the opposing opinion's author outright?
I've been working with Typescript for the past six months. Javascript is starting to shine as a functional programming language, and the communities who develop the useful tools that we actually need are moving in that direction too.

Typescript feels like a step in a completely different direction. The problems that TS tries to solve have other solutions. Solutions more idiomatic to javascript development. Redux style architectures, grouping code by feature, libraries over frameworks, GraphQL and so on. And these solutions are solid and dependable. Unlike the made up brittle and often incorrectly defined types that Typescript and Flow demand. If you want to use Typescript, then I hope you really really REALLY like Generics, because they're absolutely everywhere in Typescript. They're the solution to the fundamental flaw with TypeScirpt, it wasn't designed with the actual job that Javascript does in mind.

It's Javascript for people who don't like Javascript and don't care to learn it. Well that's fine, each to their own. But people sing it's virtues without pointing out any of the flaws in both the approach or the implementation (maybe because they simply don't see anything wrong), and that really rustles my jimmies.
I hate to be that guy but a friendly correction: ZF + AoC is what ZFC refers to.

I'm not sure I follow your line of thinking. If it's decidable it could either be p=t or p!=t, no? Ie. If the contium hypothesis can be proved in ZFC, it could be either.

Afaik, Cohen proved, by using Gödel, that in fact p=t or p!=t is not provable in ZFC. Ie contium hypothesis is not provable in ZFC.

As I understand, Malliaras and Shelah have proved p=t ie contium hypothesis is true by using set and model theory. As I understand they are not relying solely on ZFC to prove this since that would disprove Cohen and my understanding is they do not.

Further, I understand this result to mean there can only be two infinities which can be said to be different, the cardinal of the countable rational numbers and the cardinal of the uncountable real numbers. But I don't really understand any of this shit so it is likely I've got it wrong.
Server rendered pages with little to no JS.

--

The patent clause generates discourse because HN commenters love to state the obvious, particularly when it's off topic (e.g. an article about React performance has a commenter rushing to say "but the patent sucks!" to generate a thread of comments about that).

In real life, no one cares (for better or worse). Companies and start ups are adopting React like they have for the past year(s).