skysight-inc/HackerNews huggingface dataset:
Exactly what my sibling comment said, it's the publisher (presumably a human) who does the cleaning. It's not as easy to get a bot to clean things up and then measure weight, and the various "Readability" views aren't always correct (they're using heuristics).

Sounds like a publisher-assisted "readability view" would solve both problems, though. It would allow the user to view a "lighter" version of the page and search engines could just measure how large the "non-light" version is and penalize accordingly. I'm afraid that would incentivize the publisher to put ads and other crap in the "light" view, though.
Besides the class action waiver which so blatantly violates the NLRA, an NLRB administrative law judge recently ruled that Uber's arbitration agreement is defective in another way: it is likely to be interpreted as prohibiting employees from filing NLRB charges. The ALJ decision is at https://apps.nlrb.gov/link/document.aspx/09031d458249405c.
If you reduce the details of the story into the statement "the future of the web will be driven by anti-trust", I'd probably agree. The _present_ of the web is driven by anti-trust, and there's always more consolidation.

Where machine learning, social networks, and advertising have economies of scale, a tolerable future for the web would necessarily involve diseconomies of scale. Personal connection, concierge service, local long-term engagement with communities.
A single bitcoin transaction uses about as much energy as the average American uses in 10 hours. As long as those bankers are doing at least a couple of transactions per day, they still come out ahead.
I literally had flashbacks of the 12 year old me. It was a taste I hadn't experienced in some time. But your point is a fair one. For what it's worth, the WSJ was also at the tasting and their reporter (a meat eater) also said that it tasted exactly like meat.
A Simple Primer On IOTA
Formal Validation of the Arm v8-M Architecture Specification [pdf]
The obvious question would be a head-to-head qualitative comparison vs. WaveNet. It seems that they have advanced siri vs. siri prior, but does this work advance the field?
I think it is important to understand why Westinghouse went bankrupt though. And that's because they didn't (couldn't) use of the biggest breakthroughs of the 20th century: mass production.

> Nukes produce 65% of the carbon-free electricity in the USA right now; they're already our climate champions.

And this is the reason I fight tooth and nail for it. If we're to meet our emission goals for 2050, we have to build more nuclear. A diversified portfolio of energy sources is key.
Daily Stormer has officially retreated to the dark web
"Single Particle Reconstruction" for Cryo-EM reconstruction algorithm, anyone?

SPR is an algorithm already used to reconstruct 3d objects from a set of 2d images produced by an electron microscope, typically of a protein on a flat surface.

I haven't read the paper here, but I suspect a key part of the algorithm is that it can only reconstruct objects with symmetry planes: The airplane, chair, car are all symmetric across an axis. This greatly constrains the possibilities the algorithm has to search through. In em-reconstruction the user often specifies what they think the symmetries are beforehand.
New Directions in Cryptography - Diffie + Hellman

https://www-ee.stanford.edu/~hellman/publications/24.pdf
> The layers probably won't change that much.

If someone solves the multicast problem during that time span things might change radically on several layers. And even if not some immutable, content-addressed protocols might make some inroads. SRI is planting the first seeds in that direction.
They say the hardware will use an i.MX6 or i.MX8 SoC, which I assume implies they are using the Freescale/NXP SoCs. i.MX6 isn't really intended for use in phones (afaik) and I don't know of any recent phones which use i.MX6 in them. i.MX8 isn't publicly available yet, but possibly they could leverage some other vendor's hardware phone design using i.MX8.

However, based on the schedule they show in the pledge info, they already have the "PureOS I (CPU)" step mostly completed and they plan to be booting the hardware before the end of 2017, so this seems to make i.MX8 unlikely imho.
I worked there years ago, so here's a bit of trivia. The Cray Supercomputers you see in Seattle is an acquirer of Cray Research. The original Cray was bought by SGI in the late 90s and sold to a Seattle supercomputer startup named Tera in the 2000s with some help from the US government-- unhappy about how SGI ran Cray. The company still kept a surprising percentage of its early engineers, despite passing through several owners and changing HQ locations.
I remember in the late-90s portals were all the rage, everyone wanted to be the one-stop shop for all their users browsing needs.
Not CS, but control theory: "Guaranteed Margins for LQG Regulators" by John C. Doyle. The abstract is just three words: "There are none."

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.362...
Another example: products get slightly smaller but remain he same price. Often packaging can hide the change.
FWIW npm 5 comes with npx [0] which basically does similar things. If you run npx webpack it would use the local copy of webpack or even install one run it and discard it.

[0] https://www.npmjs.com/package/npx
You say that like such a thing couldn't possibly happen in the future. We're an ill-advised tweet away from yet another military engagement that could drag on for decades.

There's also the possibility that the collective world will finally commit to action on climate change and start dumping money into technology, any technology, that could tilt things in our favour.

It's astonishing to me that during the Manhattan Project they tried every possible thing, both methods for uranium enrichment, both fundamental types of weapon, explored all possible avenues, and yet today the US can't be arsed to spend a dime on preventing climate change.
A Decade ago there was a sort of gnome for PDAs. I don't know if that's what this is.
Samsung heir faces long jail term in South Korea's 'trial of the century'
Do I understand correctly that it would be purely VoIP over GSM/2G/.../LTE? Where the particular VoIP implementation of choice is this "Matrix" protocol/ecosystem? Which potentially at some point (with enough financing?) may get some gateways enabling calls between Matrix phones like this one, and regular GSM/2G/... mobile phones?
I'm 100% ok with political threads being censored here. I'd immediately stop bothering with this site if that toxin got unleashed here.
Am I missing something here, or is there zero content about this project linked from the landing page?
Scraping the Web with Lassie and Elasticsearch
Back To The Future (Squeak). http://ftp.squeak.org/docs/OOPSLA.Squeak.html
This is the full SVG source code for the battery icon:

<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="1" y="6" width="18" height="12" rx="2" ry="2"></rect><line x1="23" y1="13" x2="23" y2="11"></line></svg>

It shouldn't be too hard to add another rectangle with whatever width you want. Just open up the dev tools and play around with it.
Don't show SQL error messages in production sites
Lack of state income tax?
What does it warn you about? Not trolling, honest question.
Notation as a Tool of Thought, Kenneth E. Iverson

http://www.jsoftware.com/papers/tot.htm
I haven't ever written professional software, but I just took a software engineering course and what I learned is that what technology stack to use is none of the clients business.
I've got 99 problems, but npm isn't 21,735 of them.
We live in dark times.
It has nothing to do with the language, there were other serverside javascript frameworks before node; they didn't take off (e.g. Narwhal).

Node's success has everything to do with the environment itself in combination with the language. The node runtime, the associated stdlib, and most open source/3rd party modules have been written for a non-blocking runtime from day #1. The same stuff can be achieved in plenty of other languages/stacks (e.g. Python + Twisted), but you have much more work to do validating that every single library you use plays nice with async io, sometimes you have more event loop housekeeping responsibilities, etc...
I think that is wrong way to think about it. If, say, we do enforce some "barrier to entry", it would probably be some education and certification to be eligible for software development. The SJWs will make sure that they will be prioritized to be eligible for those certificates, even if it means to change the eligibility criteria to do so. And then they can basically use it to kick everyone out of software development, except for SJWs.

I think we should keep it as it is and wait it out. They will find something else in a couple of years and move on.
I like the idea of "rebooting the web". If things continue in the direction they are going now, I could see many forms of the internet existing. Just as the Darkweb exists, I could see other splinter networks and technologies taking shape as the internet we know now becomes more homogenized, whether it is because of giants like Google and Facebook or government control (oh god pls no) or any other factor.

I still fondly remember looking at Nike's newest shoe offerings in 1997, waiting for the photos to download and listening to my dad complain about the phone line being tied up. I looked at my girlfriend the other day in fact, and just went "god, think of how different the internet is now compared to when we were younger. What the hell will it look like in twenty years?" She called me a nerd, but still considered the question. Exciting and sightly terrifying thought to ponder, really.
You need to slow down, big fella. By this same argument, all data processing by Google, Facebook, Amazon, and the like are all wasted resources. Burning CPU time on AI research is wasted resources. Using Excel is wasted resources.

Bitcoin is a transaction processing platform, the success of which is unfortunately limited by severe volatility issues. Many of these altcoins are designed to process arbitrary data, control ownership/identity, etc. Yes, there are plenty of pump and dump schemes, but you're talking out of your ass if you're trying to generally equate the usage of CPU time with "wasting energy."
Of course I'm just speculating (ha), but Ethereum is more than this. You can build your whole payment gateway from a smart contract. I participated in a crowd-funding event that (no, not an ICO) had me so impressed with the payment gateway tech, I had to send more money twice just to recap what I just learned about this new cryptocurrency.

https://firefly.city/

The device itself is pretty impressive for $5 worth of parts, but I did not really hit "wow" until I saw how easy it was for this guy to take my money and establish a point of contact and a payment relationship that can support repeat business. (He's also the one who built this payment gateway, it lacks some for polish but it is also as a bonus, essentially proof of concept that shows how the device can work. tl;dr: it's a portable thin wallet that runs inside of the browser, you get a javascript file that you can save and keep as a backup of your keys. The arduino jobber is just doing the signatures.)

The tokens do not need to appreciate in value, that helps speculators of course, but if you don't yet recognize that Ethereum is a substantial advancement over Bitcoin, I can't really help you with that. You'll have to figure it out! While I'd love to get rich off of trading the coins, if they can simply just remain stable in valuation it is ultimately going to change how we do money around the world, I don't doubt this anymore.
I love ZFS, but I'll also say that I also feel like ZFS is fairly slow. Of course, it probably doesn't help that most of my ZFS machines hold 10+TB of data, with lots of snapshots.

I don't feel like I'm going to be using btrfs anytime soon, I've given up on it. But there are days I wish I had an alternative for high reliability, snapshotting, and ideally deduplication (which usually tends to make my ZFS machines fall over).

I'd love to see HAMMER on Linux.
Out Of The Tarpit, by Moseley and Marks

https://github.com/papers-we-love/papers-we-love/blob/master...

The first half of the paper is a spot-on critique of so many things that go wrong in the process of designing and implementing large-scale software systems. The second half, where the authors propose a solution, kind of goes off the rails a bit into impracticality... but they definitely point in a promising direction, even if nobody ever uses their concrete suggestions.
Maybe I'm interpreting it wrong, but these are some of the most depressing pictures I've seen, in an ordinary sense! Reminds me of Stranger Things.

Agree with your take on Nathaniel, perhaps he's having a gag with his bowl of lettuce.
It might be a cliche one to pick, but I really really really enjoy Alan Turing's "Computing Machinery and Intelligence"[1]. This paper straddles the line between CS and philosophy, but I think it's an important read for anyone in either field. And a bonus is that it's very well-written and readable.

[1] https://www.csee.umbc.edu/courses/471/papers/turing.pdf
> They're using a base OEM model from someone that happens to have opensource drivers for everything (which makes me think it's an older model).

I... don't think that's the case here.

In the specifications they state:

CPU separate from Baseband

My reading is that modem is connected to the CPU via USB. The only other project I know of that was looking at doing such a thing were the OpenMoko guys (GTA04 with an OMAP3xxx, I think? My memory is fuzzy on this).

AFIAK, there are no 3G/4G modems with an open source baseband. So the traditional route for libre/privacy conscious people has been to isolate the baseband from the application processor via USB. Normal phones have the baseband and SoC integrated on the same SoC and connected via a high speed serial bus.

On further reading, it's going to be an i.MX6 (because i.MX8 is not available yet and you don't typically use unreleased SoCs for your libre hardware) which is pretty inefficient by modern ARM SoC standards.

So this is essentially a small tablet running Linux with an integrated cellular modem.
It mildly bothers me that the stroke for phone-off is the opposite direction to all the other *-off icons.
If it really can run fully open GNU/Linux it's worth what they're asking.
It's okay. Javascript may be eating the world, but the Javascript world is eating itself.
Hold them until the price goes up. That's where the real profit is.
deserializing data structures is a great example. JSON.parse is SLOW. all it takes is a bit of bad code that doesn't do any checking of input size/etc... and if an authoritative source starts sending larger payloads than usual, your node process is horked. Granted, that's not a problem remotely specific to node, it just has a bigger effect in a node env.
The year is 2050. You are reading this comment from a compatibility layer in your open-source browser that translates HTML from the 2010s into Thought-Interface Language 3.2, which was an open standard ratified in 2045 by a global consortium of content and browser developers.

Back in the 2010s, web access was peculiarly gated in a dendritic configuration as ISPs provided all the single-points-of-failure interconnections between end users (including both content providers as well as consumers) and the true "internet", a multiway resiliently-routed interconnect of servers. As we know now, extending the peer-to-peer core of the internet down to the consumer has had lasting impact, including breaking up the routing monopolies of the ISPs as well as making it possible for anyone willing to spend a few grand a year on server capacity to host a new peer-to-peer router for nearby Internet users.

Many of you may not remember the origins of Google as a "search engine", a monolithic index of "every reachable page on the internet." Such a quaint idea has long since joined even further historic concepts such as Yahoo's "human-curated list of pages on the Internet". Ever since the Searchtorrent protocol was introduced and consumer searches were conducted on one of several competing distributed hash tables across the internet, no one entity has had to shoulder the responsibility of storing all the web content on the internet. This author gladly pays a small monthly fee to a local search cache provider for reliably fast localized caching of search results.

The web is here to stay. Remember your history next time you visit the local Homo Sapiens preserve and give thanks to the carbon-based beings that invented the Internet.
> whatever would motivate people to use js for anything more than is strictly necessary.

If that's the primary language you are good at, from coding frontend apps, then it's pretty nice to be able to switch to writing backend code without having to do a language context switch. Muscle memory along with your memory about library methods all just continue to flow.

> It can't be that hard using a different language.

If I'm better at one language than another, it is at least somewhat harder. Why struggle when you can flow?
I appreciate the series of articles on Tiny and think they are fine, but I have a few minor points:

1. Missing “string” types in Tiny?:

In Part 8 a “bool” and “string” type were both first introduced.
Tiny’s type system was extended with “bool” in Part 9.

But the “string” type (not to be confused with string-literal), was never added to Tiny’s type system.

I assume an array of “char” would cover that “string” type if “char” is added as an extension of the type system.

2. Expressions in Tiny:

The rule "unary-op" shows that unary "plus", unary "minus" and "not" are all unary operators in Tiny.
In Part 4, the rule is confirmed with a statement that "not" is a unary operator.

But in the table of op priorities in Part 1 "not" is placed in with "and", "or" instead of in with unary "plus" and unary "minus", so it has the incorrect prority there.

3. In the git-hub file for Tiny’s grammar,
the rule for expression is:

expression -> primary
| unop op expression
| expression binop expression

I believe this should be changed to:

expression -> primary
| unop expression
| expression binop expression
The deeper problem is that JS is not strongly typed. Typescript gives you static type checks but the runtime is still weakly typed and will still do all sorts of weird type conversions.
Real programmers don't use Pascal
The rise of worse is better
This article (and others I have read disliking HPKP) generally take an all or nothing approach. That is to say, they see HPKP as either "pin the key of my certificate" or "don't use HPKP at all"

In reality, you can have a valid HPKP setup as long as any keys in your certificate chain match the key in the HPKP header. This means that you can pin the intermediate certificate (or even the root CA if you want) key. By doing so, you are no longer vulnerable to losing your SSL keys, but now other CAs cannot issue certificates for your site
A lot of pizza.
npm and the huge number of dependencies scares me, I remember in WordPress plugins would get hijacked and you would get an update that backdoors or inserts some vulnerability, other than this, I spend 3-4 hours 2 days ago, trying to merge 2 json datasets by doing some averages, and simply could not do it, the numbers were in string format, and it would work for some and get NaN for other, or would just concatenate them as string, I was working in typescript and using "number" was concatenating, weirdest thing ever, I just gave up.
The front end/back end sharing argument never appealed to me. In practice, how much are you actually going to be able to share? No way it's worth it.

What's finally got me writing way more Javascript than I'd like to is React Native. It's by far the easiest way I know of to share code between iOS and Android, it papers over a lot of Android's irritating/broken UI bits (introducing others, but overall improving the situation), and you actually can share much of your code (practically everything but the UI layer) with a web client—and even... spits... Electron. RN's performance isn't even terrible, especially compared to cross-platform mobile frameworks that have come before it (and to Electron spits)

Hopefully Webassembly will save us in another couple years, and we'll be able to do the same thing in any of several much better languages.

[EDIT] though definitely keep your sanity and use Typescript. I'd have probably jumped off a bridge by now if I were having to do all this in actual JS, of any flavor.
I wish these guys would just use android from the get go. It's already running on i.mx6, so by switching now they would at least have a chance of making a decent product.

They are literally throwing away hundreds of millions of dollars of excellent work that has been put into power optimization for no good reason. I've told the ceo there this like at least 3x but he is stubborn.

> “Android is so frustrating! Trying to remove Google’s privacy invasion bit-by-bit removes functionality bit-by-bit, and you end up with a non-working phone. Purism will solve this by putting your privacy protection and security first.” — Zlatan Todorić, CTO

This quote is nonsense. There are at least 3 projects (replicant,copperhead & another) that are shipping trees like this.

It will be so much harder for them to create a phone that stays alive for more than an hour or two running a full linux desktop.
UK seeks data transfer pact with EU
Crockford proposes DEC64: http://dec64.com/
>The CDDL also has patent clauses and so it's conceivable that a user of OpenZFS which received it in a way that violates the OpenZFS license could be liable for patent infringement of an Oracle patent. And there have been many cases of companies suing users of software over patents.

Again, with usage this isn't a problem, the license could only possibly be broken by distribution with the GPL. Even then, I believe it is the GPL that is broken, so the patent clause would remain.

As for the rest of your argument, the OpenZFS team does a lot of work maintaining the filesystem. Why does that work need to come from you?
There isn't that much to write, Matchbox has enough to make X11 touchscreen friendly. Really it's just about all the hardware stuff which they've done before I'm sure.
Without a doubt.

Time, Clocks, and the Ordering of Events in a Distributed System. Leslie Lamport.

http://amturing.acm.org/p558-lamport.pdf

My first introduction to time scales as a partial ordering. Very mind opening.
A bit cliche for HN, but I really enjoyed RECURSIVE FUNCTIONS OF SYMBOLIC EXPRESSIONS AND THEIR COMPUTATION BY MACHINE (Part I) by John McCarthy[0]. It was accessible to someone whose background at the time was not CS and convinced me of the beauty of CS -- and lisp.

[0] - http://www-formal.stanford.edu/jmc/recursive.html
"The Limits of Correctness" (1985) by Bryan Cantwell Smith:
https://www.student.cs.uwaterloo.ca/~cs492/11public_html/p18...

I know Thompson's "Reflections on Trust" and Shannon's "Communication" papers are more famous but I believe BCS's "Correctness" paper has more immediate relevance to a wider population of programmers.

For example, I don't believe Ethereum's creator, Vitalik Buterin, is familiar with it because if he was, he would have realized that "code is law" is not possible and therefore he would have predicted the DAO hack and subsequent fork/reversal to undo the code.

Seriously, if you read BCS's paper and generalize its lessons learned, you will see that the DAO hack and its reversal as inevitable.