skysight-inc/HackerNews huggingface dataset:
It depends on the country! In Spain for instance it's totally legal as long as there is no commercial intention.

Both "distributing" and "copyrighted" are terms that some times have not such clear boundaries. Is giving your sibling a used DVD illegal? Is selling it to a 2nd hand store illegal? A book is clearly legal to resell, right? Then why wouldn't some digital material be? There is a whole industry interested in making you think that is illegal, so please don't spread FUD :)
Yeah, I’ll file that under “maybe don’t do that”.
I guess this makes sense when programming in an imperative paradigm. Scala, for example, has a completely opposite convention. Most of the scenarios he describes are usually things that would never occur in a functional paradigm.
"Programmers with lots of hours of maintaining code eventually evolve to return early, sorting exit conditions at top and meat of the methods at the bottom."

Why? The reasoning in the article doesn't answer this, and neither do you.

Same way you move on from heavy OO to dicts/lists.

What?
Bartosz is great. You can also find a filmed series of his lectures on category theory on Youtube.
> If you have a complicated function, and several exit points where you want to bail out, they why not just put a "label: bail" and goto it?

Because go-to is so infrequently a good choice and do frequently used when wrong that most languages don't have it at all, so it's not an option. It may be a reasonable.
choice when available, especially if you aren't breaking structure and thereby making it harder to follow the logic.
WebStorm 2018.1 is here
This article was noise
That looks really exciting actually!
https://github.com/VSCodeVim/Vim/issues/1735
I like the idea of a tool like this, but I'm not sure it's a better process than having migration scripts. And I dislike migration scripts.

To me, the perfect process would be, using an MVC web framework as an example, to generate a temp schema from models and run a schema diff tool like this, to update the destination database. That would eliminate migration scripts, but would probably slow down the db sync process, once your db start getting bigger.

Now, if you're not using an ORM, I think it's a bad idea to use a tool like this to update a production db from development. It will work for a single dev, but not for a team project, since you'd need a common dev schema that would be used as a source for the diff, and that will get clogged quickly.

It's still a nice tool to find and update small inconsistencies between different environments. Nice work!
Thank you, this is a fantastic encapsulation of my point.

The proof that digital advertising does anything but set up a costly lead channel is still a bit lacking, and your plausible assertion shows why that may be the case.
Wait, was Myst in hypercard? I remember watching videos where they talked about how everything was only in 256 colors with adaptive pallets, plus they had Windows, 3DO and Plyastation ports.
Many functional languages don't support explicit returns, Lisp requires introducing another level of nesting to get support unless you're already in a supported form. I find that this pushes me to write better code since it forces me to solve the problem rather than just slapping another return on it and calling it a day. The problem is often that the code is trying to do more than it should.
I didn't know what Mozilla Lockbox was, but I found this[0] which might help others.

[0] - https://mozilla-lockbox.github.io/lockbox-extension/
> your future self will hate you if you skimp on comments.

Likewise, your future self will hate you when comments fall out of sync with the code.

If the code is readable you don't need much in the way of comments.
Show HN: Share Files Over Same Network via QR Code
To be fair, matrix's synapse server was always only supposed to be the reference server...reference servers aren't always built for top-notch performance, just for admins/implementors to get understanding of protocol, etc. To address performance, the team is busy building a matrix server in Go; see https://github.com/matrix-org/dendrite

I do agree that mastodon and matrix - of which I'm a fan of both - solve for different scenarios. Mastodon replaces twitter; sort of short social media bursts/broadcasts. While matrix replaces slack (and other chat platforms like xmpp). I've always seen matrix as a modern-day irc; also allowing expansion and enhancement via plugins, and programmability like good ol' irc is/was.

ActivityPub was only recently approved, so can't expect every project to instantly support it; though to be fair it has been on many projects' radar well before its approval by w3c. I truthfully haven't followed the latest matrix news, so not sure if support for activitypub is coming soon. I do feel that supporting activityPub really make it that much more powerful of a protocol AND platform...but i'm sure that's not a trivial matter.

If you haven't played around with clients for matrix (such as the Riot clients), i suggest you give it a try. Riot keeps getting better and better with each new release.
You're saying this on HN, where people get shadowbanned for saying "peep". Instead of, say, advocating for people just murdering each other being the norm.
It won't. Outside of TechCrunch, HN and NYT, nobody's talking about it. My wife and I are both software engineers, and nobody is talking about it at our respective work places. We were socializing with a large group this weekend, and while FB was brought up, it was only in the context of following a group. Nobody mentioned the "scandal" going on. Not a single person.

Ok, fine, this is anecdata. But we're talking heavily tech leaning people and we didn't hear anything from them.

Nothing is going to come of this.
"Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away."
Yes - Call and Text history are not required to make this feature work - only your contact list (which is all iOS sends). They bundled this extra invasive data collection into the consent request. And we are used to apps requesting access to contacts to find people you know on the platform, so syncing your contact list is expected for this feature. What's not so expected is also sharing your call and text history, which is conveniently mentioned in a low contrast text blurb. That's the dark pattern.
Santander Bank to Launch Ripple Powered Payments App Spring 2018
My previous reply wasn't clear. It wasn't the difference between the meanings of open source and free software that changed my mind. It was the terminology change that helped rid me of the mental image of working for free. Now I realize there is a world of difference between free and open source software, but I didn't know that at the time.

As for now, I think free software is good for business. My company works on dozens of free libraries, and it's good for our business because we end up running better code than what we could write by ourselves. When you consider whether it is "good for business", you need to consider that most businesses don't sell software. Of course GitLab and others won't ever be able to sell free software, but that doesn't mean it isn't good for business.

I have mixed feelings about open source projects that are built by single companies who sell enterprise versions. It's often handy to have them around, but I wouldn't consider contributing anything significant to them after seeing instances where PRs remain unmerged because they compete with the enterprise-version.
Why Overworked CIO's Need a Chief Data Officer
Revenue, not profit. Revenue cannot be negative.
Ask HN: Is Lighttable dead?
The last commit on Github was was almost a year ago and their last blog post was in Jan 2017.

What is a good alternative to Lighttable for Clojure development, aside from Vim and Emacs?
Running a social website should be cheap enough that they don't need to be invasive. The company would be leaving money on the table as it where, but winning is worth enough that it's a good trade-off.
The "Wings Over The Rockies" museum in Denver, CO, has one of these escape capsules, plus a little display about development and testing. The display does mention that they used bears in testing of the capsules.

If you're at all interested in military or naval aviation, you should visit Wings Over the Rockies. It's like nothing else.
Pure Capitalists, whose values most of the larger companies are run under, care only about the profit. Sometimes negative PR brings additional profit, there is no remorse in such cases.

Facebook's controlling minds don't care about you, they care about if there's reduction in profit [or profit generating ability].
The GP was talking about not understanding what all the fuss is about with kids these days and their phones and social media and I'm the one being dismissive? Your comment makes more sense under the GP, not me.
K-12 Computer Science Education in NY State
Category theory is a formal semantics for (or alternative to, depending on one's perspective) type theory and thus functional programming. It's been widely used (for example, in Haskell, ML, Agda, Coq, Idris, etc) not only for formal foundations but to derive many "smaller" practical applications. Many of the creations from that domain have been useful in many other languages. Are you unaware of this and asking something else?

It's an extremely good fit and highly productive, to answer your question directly.
I don't know about this specific case, but in the US they often use statutory damages instead:

"the copyright owner may elect, at any time before final judgment is rendered, to recover, instead of actual damages and profits, an award of statutory damages for all infringements involved in the action, with respect to any one work, for which any one infringer is liable individually, or for which any two or more infringers are liable jointly and severally, in a sum of not less than $750 or more than $30,000 as the court considers just."

https://www.law.cornell.edu/uscode/text/17/504

This is how Thomas-Rasset was at one time convicted to pay almost $2M for having shared 24 songs on Kazaa: https://en.wikipedia.org/wiki/Capitol_Records,_Inc._v._Thoma...
Ask HN: Does anyone use PDDL or any such planners in production?
We're are thinking of rewriting our entire scheduling algorithm in PDDL, so that for different customer requirements, we can just change the problem in PDDL and pass it to our own solver, instead of adding edge cases and changing scheduling code every time a new constraint is added.
If you believe God's law is paramount and have convinced yourself that God's law does not allow for gay marriage, then your opposition is not based on hate, but rather based on your conception of what's proper and what's not.

This urge to thrust "hate" on people is dangerous because is dehumanizes them. If someone is hateful, then they are evil, and evil people deserve punishment.

So the thinking goes, but it is regressive thinking.

The disagreement about gay marriage stems for many from religious doctrine and what is traditional social practice, not hate.
"I'm shocked you're shocked" is just fancy-grade despair.
tl;dr: damages are claimed and argued by one of the parties in a lawsuit, or the prosecutor in criminal actions; the other side can argue that the calculation is wrong.

In an adversarial system (in particular most systems that descend from English law), the claimant/plaintiff/prosecutor generally must claim a quantized liability at the start of proceedings, and then justify the quantum of liability. In some cases, some fraction (or even all) of the quantum may be subject to assessment by the court, which can consider the adversarial parties' pleadings and covering law (staute or case) and alter the quantum. In any event, if the defendant is not found liable, it very likely simply does not matter what the quantum of damages in the claim is (although a very high quantum can have an impact on the assessment of costs payable by the unsuccessful claimant in some circumstances, e.g. if a cheaper court cannot lawfully deal with such a large claim, or if there is over-reach in the face of something like an offer under England & Wales's Civil Procedure Rules (CPR) part 36).

The key point here is that the defending party will generally argue that it is not liable in the first place, and if it is liable then the quantum of damages is too high "for the following reasons...". If the court doesn't agree that the defendant is liable at all, then it usually does not deal with the question of damages, even if how they are calculated by the claimant looks a bit suspect. If the claimed damages are overstated in an outrageous way, many courts will take that into account, and that will not benefit the claimant.

In a case like this there likely will be litigation where Dotcom's litigation team will argue that the $500 and/or $175 million figure should be put to strict proof, and/or that it is unreasonably high (pointing to similar cases, for example). On the other hand, depending on the NZ court's rule on disclosure or discovery of evidence, that may expose them to having their books examined (at some cost) by the U.S. authorities.

> Distributing copyrighted stuff is illegal, period.

No; one may have a license from the copyright holder to distribute the material in question, there may be statutory license, or there may be defences against infringement claims in case law. Remember: there is copyright in everything that is produced from scratch by a human being in practically every jurisdiction in the world. I have copyright in this reply to you. You have copyright in the message I'm replying to. The sentence I quote above is a poor basis for you to raise a claim of copyright infringement since there is an implicit licensing, plausibly a mandatory licensing under HN TOS (since they necessarily made a copy and distributed one of those copies for me to read), a variety of defences based on concepts related to the U.S. doctrine of fair use, and local statute. You are free to liberally quote from this message in reply, and may do so entirely lawfully.
https://www.thenewsminute.com/article/when-caste-follows-you...

Indians who are deemed lower caste are converting to Christianity to escape the tag.
python fans are going like "what are braces?"
Malware Mastermind Who Rigged ATMs to Spew Cash Caught in Spain
There's no alternative for healthcare.

There's alternative to in-code comments answering the question "why" - it's commit messages. They can't be out of date.
The Mac version was in Hypercard, all of the other versions were different engines written from scratch for Myst.

They actually had to use the same color palette for each age to ensure there wasn't any strangeness as they flipped between cards to move around in the game.
Sometimes, I have seen (and, on at least one occasion, written) code that was brilliant in its simplicity. Very clever, but at the same time completely obvious. (In the sense that one needed to be clever to come up with it, but it was easy to understand if somebody showed it to you.)

But for the general case, I do wholeheartedly agree with you.
The middle ground of markets like this is always a crap-fest, it's the same with phones: when you're not solely competing on price (performance is ~no object) or performance (price is ~no object), you end up trying and cram in as much crap as possible to differentiate your product. Look at any mid-range laptop or phone's sales pitch and it'll scream features and specs, and consumers are drawn into trying to compare by these metrics, and the game becomes all about these pointless numbers, rather than how well it'll actually just handle what you want it to do. As a manufacturer, you care more about having a processor with a faster clock speed, or a hard disk with more space than a setup that'll launch launch Chrome and get to Facebook in n seconds.

Chromebooks are perfectly positioned to totally occupy this middle-ground with a fast-ish machine that just works, I don't know why they haven't pulled it off yet.
And not fuzzy

Only in theory, in practice these things decided on a case by case basis. You get things like, "Is the wording of this document clear enough not just possible to decipher."

"I shall not today attempt further to define the kinds of material I understand to be embraced within that shorthand description ["hard-core pornography"], and perhaps I could never succeed in intelligibly doing so. But I know it when I see it, and the motion picture involved in this case is not that.[4]" is actually part of case law.
Online Hate Speech and the Nazi Pug
> We also generally don’t care about return values in JS

I don't find that to be the case, though JS isn't my main language.
"The problem with installing a roof on your house is one day it can be blown off."
I have been thinking about it and I think the issue with Facebook in particular is how AGGRESSIVE and CARELESS they have always been in violating privacy. Just like Uber their philosophy is "It's easier to get forgiveness than permission". And of course they have an official slogan of "Move fast and break things".

So all these different controversies are not just a coincidence but are very much baked into their organizational culture. They are obsessed with winning at all costs and clearly see privacy issues as just inconveniences to achieving their goals.

I am not sure if it is possible to imagine a social network that truly respected privacy at its core, that didn't try to get away with as much as it could, that put its users interests ahead of increasing Daily Active Users.

But if Facebook actually operated like that, I suspect there would be a lot less concern.

I don't know if that is even possible though.
Email Tracking: The Complete Guide for B2B Sales Teams
Sure it is quite inefficient. Both in storage and in transmission of updates.

But it is very simple and robust. What one tests pre rollout is identical to what will go on production devices, down to the byte. Each device with same version is identical. It can be cryptographically verified easily. Automatic rollback can be performed on update fail, including self-checks.

This approach of shipping a custom userland without any of the generic Linux userland should drastically bring down the size.
We can definitely agree that the examples are too simple to present any readability issues with any method of writing them short of an IOCCC entry.

I do not agree with the conclusions you draw at all, but it is hard to continue the discussion without examples. There are definitely cases where an else clause is the natural choice, but I believe that these are in the minority.
The concern is when you encounter a list of very dense transforms between different data structures without anything informing you as to the purpose or even reason for these operations.
Is it _just_ to build the output, are there critical side effects in the process? Are the apis just so bad that all these operations _need_ to be performed or is just pure 100% required processing?
Method names help somewhat if people are adverse to objects. All that concerns me is that much modern functional code often becomes very dense transforms with little narrative to inform the reader.
Remember kids, don't trust anyone with your passwords, not even Mozilla.

That said, I enjoyed having a look at Mozilla's internal project management tool for this extension, https://waffle.io/mozilla-lockbox/lockbox-extension

I wish I could have the same kind of look into other company's projects.
Why is this guy's legal troubles news? Honestly. There's tons of rich jerks like him who have legal troubles that we don't hear about. But for some reason he likes to put out press releases about every step of the way and then they actually get picked up and upvoted on sites like this. Why? I really don't understand.

It's not like he's some principled crusader fighting for a precedent that affects all of us. He's just some creep who got rich off of deliberately running a site that facilitated piracy, and then managed to dodge the consequences because he is rich. Whoopitee doo.

Don't get me wrong I think the US copyright laws are screwed up and have been manipulated by awful corporations for decades. But his legal troubles don't really have any consequence on that front, things won't be any better because he wins (and won't be worse if he loses.) So I fail to see why anyone thinks it is interesting on any level.
Are you saying that closing files is now a cargo-cult thing to do? There are plenty of resources that are more important to clean up than memory. This has nothing to do with C.
See https://github.com/Stichting-MINIX-Research-Foundation/minix...

It "only" delayed Minix 3.4 for 2 years.
Seems a bit late to get in the password-manager business, where you have plenty of incumbents (1Password, LastPass, Bitwarden, KeePass...) offering a plethora of features. The Mozilla audience likely overlaps most of the target demographic for such products already, and persuading people to switch will be very hard.

It could make sense if Mozilla were to develop a standard interface for all password managers, so I could swap implementations under the hood without having to deal with their (occasionally half-baked) extensions.

But I guess this is just a Big Rewrite of the venerable utility we've been using since the dawn of Moz.
Agreed. I've been writing functional code for almost 10 years now and I fail to see any situation in which I could apply this.

Functions are rarely longer than 10 lines, there is no explicit return statement, just a short sequence of data processing and that's it.
This was a quite popular write-up of such a switch by a major company: https://eng.uber.com/mysql-migration/

With the HN comments being here:
https://news.ycombinator.com/item?id=12166585
URI:teller – A service for monitoring whether chat apps etc. leak URLs
It's not hyperbole. Apple may be the best of a bad lot, but that doesn't change the reality of the situation.

Like I said in the OP, I know the world isn't perfect. Normally, I wouldn't call out Apple. But when Cook decides to lecture about the dangers of social media and privacy and calls for more regulation, which would also weaken his competitors, he should have his bad practices brought to light.
> Now I realize there is a world of difference between free and open source software

There isn't. It's essentially the same set of software. That's the whole point of OSI. To just rebrand it. It's like saying that there's a world of a difference between global warming and climate change, or freedom fighters and rebel insurgents.
Troy Hunt: A Scammer Tried to Scare Me into Buying Their Security Services
That's fine -- the Python folks have their own share of religious wars (starting with: tabs, or spaces?) :-)
This whole article feels like clickbait.
I opened the link and only skimmed it, but I left the tab open in the background since it seemed like an interesting read to return to later.

Then they started to blink the tab title.

It's one thing that you do irritating stuff to get my attention when I'm actively on the website, but when I'm doing other things? This is right up there with popunder ads, blocking right click, and autoplaying sounds.

Instant close.
It's definitely a big market, but I wouldn't underestimate existing efforts in the space.

China just recently banned the import of bulk plastic, which has had repercussions far and wide, especially in the EU. There are automatic sorting machines, including many by startups. But the problem is quite hard.

Ultimately product packaging may need to change, too. Currently, a bag for coffee may contain ten layers of different plastics, metals, and papers, all fused together.
> No one in urban centers or in the new generations is racist against black people.

I'm sorry but this is just wrong, and you can prove it to yourself by reading the news any day.
1.6MB for one image of a map, that alone is a huge factor in the size. Unfortunately it's the state of many websites.
All law is ambiguous. It's just a question of degree of ambiguity.