The 'Terms and Conditions' Reckoning Is Coming - <AUTHOR> https://www.bloomberg.com/news/articles/2018-04-20/uber-paypal-face-reckoning-over-opaque-terms-and-conditions <comment><USER3> The basic law relating to online terms and conditions has been stable for some years now and should remain so. It certainly is not headed for a "reckoning."

When private parties transact business in a free society, the law of contracts steps in to provide rules enabling them to do so in a well-defined and orderly manner. Contract law has some fundamental principles that anchor it and, beyond those, has a vast number of intricacies that potentially can come into play in individual circumstances. Concerning fundamentals, for most executory contracts to be enforceable, you need to have mutual consent and some exchange of consideration. That is, a meeting of the minds on material terms and an exchange of value. When these elements exist, the law considers a contract to be binding and imposes legal consequences for any breach or failure to perform. In order to avoid chaos, it further stipulates that the core principle (meeting of the minds) is not based on purely subjective factors but on what a reasonable person would believe in the circumstances. This objective standard enables commercial transactions to proceed without endless second- guessing about what the parties might have desired or meant when they contracted in any given transaction. Because of this, while it can easily become messy in any given case, most contract situations can be legally evaluated with a fair degree of certainty and parties can plan their affairs and determine their rights accordingly.

The above describes what might be called a very high-level summary the central tenets of the common law of contracts in the Anglo-Saxon legal tradition. If someone reasonably can be said to have consented to a given transaction involving some exchange of value, legal rules applied to govern how that exchange took place and what would happen if some breached his or her agreement.

When it comes to terms and conditions in online commerce, the law generally applies this body of contract law but does so via what might be called the _fiction_ of mutual consent between the contracting parties. It is well known that the vast majority of persons do not bother to read such terms and conditions when they click on the "Agree" button. Nonetheless, the terms and conditions are legally binding upon such persons. Why? Because it is _assumed_ that the person read and understood them in clicking. And that assumption is what makes it a fiction. In effect, the law says, "we will pretend that the person read through the terms and knowingly agreed to them." Given that this legal fiction effectively substitutes for a true consent, the law can proceed along its merry way and treat this contract as it would any other, i.e., treat it as binding and enforceable upon the "contracting" party. In effect, to preserve orderly rules of contract in such transactions, the law effectively says that the terms and conditions are legally binding if they are such that a reasonable person who had taken the time to read through them would have understood them to have a certain meaning (that is, the "reasonable person" meaning that the law will enforce upon the person doing the clicking).

This fundamental approach to terms and conditions in online transactions has not changed one bit in some years and is under no risk of being changed. Because, without it, you could not practically have any semblance of legal orderliness in online transactions.

Moreover, while it is often said that dense legalese is undesirable in such situations, courts generally enforce such legalese without hesitation, even if a complaining consumer says until he is blue in the face that it could have been put in easier-to-understand plain English. There is no legal rule that requires contractual language to be put into plain English and there are some types of contracts where an attempt to express the legal requirements in that way would cause a loss of precision or lead to other problems. Whether something is expressed in plain English or not, then, typically does not affect its enforceability in online transactions.

Again, nothing pervasive is happening in the law affecting online transactions so as to require use of plain English to make terms and conditions enforceable.

None of this is to say that there are no protections in existing law when people try to use weasel language to defraud others or use language that is so imprecise as to mislead consumers or use language that is so ill-defined or vague as to leave important matters uncertain to the other contracting party. In all such cases, existing common law has remedies of varying kinds to say that such contracts are unenforceable or that some remedy applies in favor or an aggrieved or defrauded consumer. But, in practice, these are edge cases, the ones that wind up in dispute or in court. The vast bulk (99%+) of the commerce that occurs is covered by the general contract rules and proceeds in an orderly way because the rules are known and predictable.

Against this background of the common law contract rules, it is possible for persons to want to modify the existing rules on grounds that such rules are unfair to the consumer and or are not based on true consent by that consumer or for some other public policy ground.

This is where special public-policy-driven enactments come in to modify the standard contract rules. Legislatures can adopt special laws dictating outer bounds to how businesses can use the private data of consumers as such data may entrusted to them. In this area, perhaps, a form of "reckoning" may occur if it is determined that companies such as Facebook ought not to be able to sell or misuse private data to the detriment of their users. This is an important development and serious changes may be afoot affecting such special areas. But this does not affect the general principles by which online contracting occurs.

There could also be proposals mandating that plain English be used in terms and conditions or requiring this or that form of mandated disclosure to help ensure greater consumer understanding but all such proposals come with decided trade-offs that typically make them impractical. The reason for the fiction of legal consent in the current system is the supreme utility that comes from allowing millions of online transactions to occur every day without incident based on orderly rules known to all. You can change all that through legislative enactments saying that public policy requires a different system that is more fair to consumers. But at what price? That is why the current system is and remains solidly in place.

To underscore the importance of utility, I have been legally trained and have years of experience such that I could easily read through and comprehend the legalese that is found in most online terms and conditions. Yet, with rare exceptions, I am just like everybody else and will click "Accept" or "Agree" without reading anything and without a second thought. As a lawyer, I can't say that I am proud of this but I can say this is human nature. The issue is not primarily that legalese or plain English will make a difference in understandability. It is that we take the path of least resistance when not much is at stake and we don't want to be bothered. Try as we might, no law will solve that problem.

<comment><USER4> No offense, the length of your comment reads like a Terms of Service Contract.

<comment><USER5> Was a time long, thoughtful, informed comments on this site garnered plaudits rather than gripes. Considering this is one of the only informed, reality- based comment in the entire thread, I think it's best to engage with and appreciate it, rather than making easy jokes.

<comment><USER6> I've read your entire comment and still think that the GP is an appropriate joke. You gave a good overview, in clear language, trying to be as concise as possible. The result us still quite long, in fact I guess it is long enough that most commenters won't read it in full, just like a typical T&C document.

Contracts are long for good reasons, but excessive contract length _is_ a real problem.

<comment><USER7> The US is set up to be regulation-lite and litigation-heavy. As such, contracts tend to be rather encompassing, lest they be vulnerable to litigation.

You also seem to be missing that your parent and the GGP are not the same account. The original comment was written by grellas, a longtime HNer and valued contributor. I doubt grellas runs sockpuppets considering he had a YC connection at one point, IIRC.

</comment></comment></comment></comment></comment><comment><USER8> Yes. There are two separate issues here, I think.

1\. When corporations "negotiate" with consumers, this is an abuse of the legal system. Contract law was conceived for situations where both parties have at least some amount of negotiating power. Handing a consumer some long contract written by a set of well-paid lawyers, and asking them to sign it or walk away from any benefit from a product, is not the kind of contract we want in our society. In the past, we've used group association - <USER2> bargaining, class action lawsuits, etc. - to solve this problem of many consumers, each with almost no power, negotiating with a big corporation with all the power. Arbitration clauses, and non-competes, are often examples of abuse of this power imbalance. This situation is the kind of thing government exists to do - solve problems for its citizens by working collectively. So perhaps regulation is also a remedy.

2\. Informed consent, vs. terms-and-conditions consent. Click-through agreements with many pages, written by a legal team, in which the alternative for the consumer is to walk away, cannot be seen as _informed_ consent by the consumer. When Facebook asks users to click "yes" for disclaiming privacy rights, that's not informed consent. We already have a definition of informed consent in scientific experiments, and it requires understanding every word of the consent and no penalties for saying no. (If a scientist offers subjects $10 for participating, the scientist _must_ pay that $10 to anyone who declines the consent form.) Consent forms must evolve to match informed consent in science.

If as a society we deal with these two issues, we'll be in a much better place, and we'll be dealing with wealth concentration (into the hands of corporations), a key issue for our time.

<comment><USER8> One other comment for non-lawyers here:

When two companies negotiate a contract, typically what happens is this. One team of lawyers drafts the contract. They send it to the other lawyers. Both business teams consult their lawyers, and the lawyers update the contract with their desired changes. Then the first company comments on desired changes and they negotiate.

The result, after perhaps many rounds of negotiation, is often a far different contract than was originally proposed.

That is NOT what happens with consumer terms and conditions agreements, or cell phone contracts. There, the company's lawyers draft a contract that is as favorable to them as is legal. The consumer does not have the legal team or negotiating power to push back: their choices are to sign, or to walk.

These quite different contract processes are worth thinking about. Is this the way we, as a society, want contract law to be used?

<comment><USER9> > There, the company's lawyers draft a contract that is as favorable to them > as is legal.

In fact, they will frequently put in clauses that are known to be invalid, hoping that customers simply cave in when shown the clause.

<comment><USER10> Sometimes I wish that severability clauses were not allowed in contracts of adhesion so that lawyers would be forced to only include terms that were actually enforceable or else have the entire contract become invalid. Obviously it wouldn't work very well if even a small mistake made in good faith could invalidate an entire contract, but the problem of companies hoodwinking customers with unenforceable terms has gotten out of hand.

</comment></comment></comment></comment><comment><USER11> True of legalese in contracts, but also Law in general has multiplied like Gremlins.

Hammurabi's code of laws, was written in common language, and was brief enough every subject could understand them.

It makes no sense that we should be subject to a volume of law that we could never even read, let alone understand.

Musk is correct in insisting that laws should expire, and it should be easier to remove a law than add one. Minimum Viable Law.

Long ago lay people had no idea what the bible said because they could not read Latin. Well lawyers are the new priests, legalese is the new Latin.

<comment><USER12> Do you think allowing programs to be specified in plain English is a good idea?

We have "legalese" for the same reason we have programming languages. Terms have specific, sometimes slightly different or more narrow meanings to promote better understanding of intent in languages meant to specify a set of rules.

Specifying laws in "plain English" makes about as much sense to me as programming in English. You'll quickly find that for all but the most trivial of things the ambiguity of the language works against you.

<comment><USER13> > Do you think allowing programs to be specified in plain English is a good > idea?

The difference is that one is expected to consent and be beholden to something they could not reasonably understand without paying a large amount of money to a specialist.

That I write my code in brainfuck is of no consequence to someone, unless that brainfuck is potentially going to incarcerate them.

<comment><USER12> > That I write my code in brainfuck is of no consequence to someone, unless > that brainfuck is potentially going to incarcerate them.

If you write software to control medical equipment in Brainfuck, it's potentially of consequence to a great many people. Same for autonomous driving routines.

 _Trying_ to make things clearer is a good cause. Expecting that everything can be made clear enough for the average person is a fool's errand.

Do we expect the circuit layouts of CPUs to be understandable by everyone? Because we are surely affected by those, in very many aspects of our lives.

Do we expect the full engineering and aeronautics behind an airplane to be understood by everyone? Everyone who flies puts their lives on the line based on those principles and the engineers getting it right.

Do we all expect to understand the numerous ways in which our bodies can get hurt, or interact with chemicals, or develop diseases? We trust doctors to figure out the complications there.

In each case, we've trusted _domain experts_ to sort through the very complex topic and distill the knowledge into a useful form for us. In each case, we also generally know a core amount of the topic to help us navigate the everyday portions. CPUs work by providing a very low level core set of instructions that can be followed. Airplanes work through thrust, airflow and lift. Our bodies deteriorate over time, and if we put bad stuff in, they don't do as well, and some common diseases are known (cold, flu, etc).

The law is no different. There's a core set of things people are aware of. As things become more specific, or a problem happens, we call in domain experts to help.

Expecting everyone to be able to read all of the legal code will never happen, nor should it happen. It's expecting too much out of the average person, and would also require the law be dumbed down in ways that were detrimental to it's interpretation.

<comment><USER13> > The law is no different. There's a core set of things people are aware of. > As things become more specific, or a problem happens, we call in domain > experts to help.

Using Brainfuck is an extreme example but you're taking it to its logical conclusion - off a cliff.

The difference is, the law affects and is applied to everyone. Contracts can and do affect the average person. However, only a domain expert has do deal in code.

We do not expect or require a normal person to read a 5,000 LOC piece of software, or risk giving up rights to participate in everyday society.

> Expecting everyone to be able to read all of the legal code will never > happen, nor should it happen. It's expecting too much out of the average > person, and would also require the law be dumbed down in ways that were > detrimental to it's interpretation.

I'm certain we can put together a reasonable "tl;dr" requirement for contracts targeted at the layman, e.g.

"""

\- You may use this application (See: Section A)

\- You will pay X per month (See: Section B)

\- Late fees may apply (See: Section B, Sub-Section 2)

\- We may collect user data (See: Section C)

\- We may sell user data (See: Section D)

\- We reserve the right to update the terms of the service (See: Section E, Sub-Section 1)

\- We reserve the right to cancel service for any reason (See: Section E, Sub- Section 2)

"""

Make the tl;dr non-binding so long as a reasonable person, a typical legal standard, would understand the legalese to have the outcome.

One need not write a "literate contact," nor abandon all of our legal history, terms of art, etc. to improve things to make them more approachable for a normal user.

<comment><USER12> I have absolutely no problem with trying to make legal documents, contracts, TOS, etc more readable by providing _additional_ information. I just think the idea of _replacing_ what we have with something _more_ like regularly spoken English would be problematic at best, because a lot of the problems we have with interpreting the law are because it's so close to an actual spoken language, and Human languages thrive on ambiguity.

</comment></comment></comment></comment></comment></comment><comment><USER14> One thing I'd like to see outlawed is forced arbitration. Waiving someone's right to a lawsuit is just wrong and only serves to benefit the company.

<comment><USER15> They're outlawed in some countries, notably in Europe.

EU rules presume pre-dispute arbitration clauses in consumer contracts are invalid. France and Sweden completely prohibit consumer arbitration in certain cases. Germany won't enforce a consumer arbitration clause unless it's in a separate, signed document or part of a fully-notarised contract.

Lots of information available at [https://www.hausfeld.com/news- press/mandatory-arbitration-in...](https://www.hausfeld.com/news- press/mandatory-arbitration-in-the-united-state-and-europe).

<comment><USER16> As another example, Quebec has similar rules for consumer contract. They also forbid contracting for a different choice of law, and unless through a notarial act (in the civil law sense of notary rather than common law notaries public), also forbid stipulating a different domicile to avoid the jurisdiction of their local courts.

Just like with your European example, none of this applies to business-to- business contracts.

</comment></comment></comment><comment><USER17> What I want is a standardized set of icons, which grant or deny specific things, that all websites can agree on, sort of like the ones available for software licensing, here:

[https://creativecommons.org/licenses/](https://creativecommons.org/licenses/)

It would be great if we could "standardize away" the whole T&C fiasco.

<comment><USER18> We have standardized nutritional labels in the United States and I would like to see a similar standard for terms and conditions. Icons could be part of it but also leave room for text and listing of what common data (email, ip, name, etc.) the service will collect and how they will use it.

<comment><USER19> This is a great idea

</comment></comment></comment><comment><USER20> > If a typical user wouldn't understand the documents, the consent that > companies rely on for their business activities would be legally invalid.

I like that standard, seems to comport to the "meeting of the minds" requirement for a valid legal agreement/contract.

<comment><USER21> I totally agree. The terms and conditions, or some offering of them, should be available in the same way that quick start or full guides are - in a form that adds to the usability of the service. E.g. "when you upload a photo, ____ owns the photo, for _____ period, and may do a, b, c, and d with it"

<comment><USER22> The problem is that legal terminology doesn't always match conventional descriptions of what's happening.

Copyright is actually a perfect example of this. In order to send my photo over the Internet to other people who want to view it, you need much more than the legal right to display my picture. Sending a picture over the Internet involves copying, distributing, and sublicensing the image countless numbers of times. So any site with user-uploaded content will have something very close to (Imgur's for reference):

> With regard to any file or content you upload to the public portions of our > site, you grant Imgur a non-exclusive, royalty-free, perpetual, irrevocable > worldwide license (with sublicense and assignment rights) to use, to display > online and in any present or future media, to create derivative works of, to > allow downloads of, and/or distribute any such file or content.

There's no way the typical user will understand this, but that's not because it's obfuscated. The typical user just doesn't have the background to understand what all these rights are or why Imgur requires them. It would be severely misleading to write the literal meaning in layperson's terms:

> When you upload pictures, you have to give us the right to make as many > copies of the pictures as we want, modify them however we'd like, and send > those copies to whoever we want anywhere in the world.

<comment><USER23> > When you upload pictures, you have to give us the right to make as many > copies of the pictures as we want, modify them however we'd like, and send > those copies to whoever we want anywhere in the world.

But isn't it precisely what the legalese means? I mean, unless otherwise restrict by some law other than the copyright laws, Imgur can use those images for anything. The statement does not limits the use to "reasonable business activities". Why will it be severely misleading to write it that way?

<comment><USER22> It's precisely what the legalese means, and carries connotations which are absolutely nothing like what Imgur intends. They claim unlimited rights not because they don't want to be bothered to restrict them, but because the structure of the Internet makes it impossible to write a simple description of when copies will be made.

They could try going into detail:

> We can send copies of your image to anyone who, following standard Internet > routing protocols, says that someone has requested to see the image and > promises to forward the copy onwards to the original requester. Anyone we > send the image to can also create copies themselves following this rule, and > can temporarily store the copies as needed to make further copies.

But then neither the average Joe nor lawyers are going to be able to understand it.

<comment><USER23> > which are absolutely nothing like what Imgur intends

But how do we know this? If they intend something, they should write that down in the contract. I am having hard time imagining that their lawyers cannot draw a contract which waives only the copyright requirement for the purposes of image hosting and restricts the images from being used for other things. The principle of charitable interpretation tells me to believe what people/company write in their contract. In my opinion, the expansive definition in the contract is there to

a) Save their ass when they do something which does not seems kosher to the public.

b) Allows them to pivot to other use of the data which might have nothing related to their current business model.

c) It is cost effective to draw up the contract in this way, given the current legal system and its requirements.

Note that I am not saying that Imgur is doing something immoral or whatever. I am just saying that if they wrote down this

> When you upload pictures, you have to give us the right to make as many > copies of the pictures as we want, modify them however we'd like, and send > those copies to whoever we want anywhere in the world.

as the simplified legalese, that it is the current interpretation. I contend that the average Joe will have better understanding of the _current_ contract with the simplified statement. I also think that Imgur (and other services) will find money to draft a better contract if they were required to make a simplified language version.

<comment><USER22> Again, it'd definitely be possible to write a document more narrowly describing what they need a license to do. But that doesn't solve the problem. The updated version would be more readable for network engineers, less readable for lawyers, and still incomprehensible to the average person who just wants to upload a meme.

<comment><USER24> "Hi. When you upload an image to imgur, we need the legal right to distribute it to other people. We also process your image to look right on different devices, which requires the legal right to modify your image. We promise not to distribute or modify your image beyond what we do here at imgur.com, and won't sell it to other people"

Seems easy enough to write.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER25> I would make a few points:

\- I don't think legalese is the issue. Even if you wrote terms in plain English they would still be at a similar length if you wanted to capture the same content of the base terms, and people would still not read them. I don't think there is a high proportion of people who are put off by legalese but would read terms if they were in plain English

\- the article has a GDPR bent. Certainly when it comes to uses of personal data, that should form a bigger part of the sign-up experience and be separated out from the main terms.

\- when you are looking at general terms & conditions outside of privacy, European consumer law and I imagine most consumer law protects customers from unreasonable actions by corporations toward consumers. It allows the user to assume the company will behave reasonably towards the consumer, and is arguably the appropriate remedy to cure the issue of over-long terms & conditions.

\- There is of course limited scope to this and there will be a range of transactions where you are not acting as a consumer and are expected to thoroughly understand the full implications of the transaction you enter into.

\- the reckoning in the article is already one partially addressed by the above steps at least in the European Union around consumer law protections, and requirements on the data protection side to call out data uses in the sign-up process rather than bury them in the terms.

</comment><comment><USER26> >"I don't think the average person likely reads that whole document."

This is my favorite quote in the whole article. Sums up the pompousness of the company quite nicely I think. This is one of the largest companies in the world. The quote could easily have been "we go to great lengths to make sure that's the case," or "that's the point, grandpa." At least it wouldn't have come across as dishonest and cowardly that way.

<comment><USER27> That is actually quite honest. Do you read temrs for all services? Or do you read terms at least for most important services?

If you do, great. Many don't and just complain or are surprised when they learn what almost every service on the web does with his data.

<comment><USER28> OP is saying that it is actually the intent of the company that the end user does not read the ToS; it's an accusation that the quote demonstrates deceptive intent and therefore not honest in a way you haven't considered (in your response).

</comment></comment></comment><comment><USER29> >Martin Garner, an analyst at technology consultancy CCS Insight, suggests companies walk readers through their policies step by step. That way they could opt out of selected provisions—limiting, for instance, third parties that can gain access to the data or restricting the kinds of information companies may stockpile.

Merging t&c with settings... I like this idea a lot. Privacy controls with the agreement right there. You and the website clear on exactly what the relationship is.

Gonna bring this up during checkin today.

<comment><USER30> > That way they could opt out of selected provisions—limiting, for instance, > third parties that can gain access to the data or restricting the kinds of > information companies may stockpile.

Am I understanding this incorrectly or are you suggesting that we allow people to selectively opt-out of portions of a T&C document? Because good luck getting any legal department to buy into that whatsoever.

<comment><USER29> More like, it would look like this:

1\. You agree to allow us to share your email address with 3rd parties (have useful targeted advertisements? y/n)

2\. You agree to allow us to parse your messages internally (enable auto-reply suggestions in messages? y/n)

Something like that.

I mean I think there would still be "hard-coded" T&C, "standing order" type things you agree to just by using the app at all. Like, not uploading goreporn or something.

</comment></comment></comment><comment><USER31> > If a typical user wouldn't understand the [user agreement documents], the > consent that companies rely on for their business activities would be > legally invalid.

I've not had time to read the GDPR, so this is news to me.* Especially surprising, because it's exactly what I want the law to say, and I'm not used to that.

I'd also like that principle to apply to the law as a whole, but I appreciate that's as much wishful thinking as hoping to read and understand the full source-code of everything on my phone.

* fortunately not my problem, family matters replaced the day job.

<comment><USER32> If agreement for a contract requires easily understood English, what does that mean for my mortgage?

<comment><USER33> I don't typically have my lawyer review the TOS of each website I sign up for, but I _did_ have him review my mortgage. Everyone picks a different place to draw the line between careful understanding (or hiring out a review from someone with careful understanding), and just blindly signing on the dotted line.

For me that is somewhere between purchasing a tractor and purchasing a house. The point is the no sane person includes Netflix in the "needs careful review" category, but I sincerely recommend that everyone take their home purchases seriously.

<comment><USER34> Curious if you tried to change any of the boilerplate terms and if you did, how did it work out?

<comment><USER31> A friend of a friend changed the "we will send you advertising" into "we will not send you advertising", then when the bank sent them advertising anyway they demonstrated that the bank manager had signed the changed document and therefore the bank was in breach of the mortgage contract and technically they could keep the house without paying for it.

For whatever reason, they then said it would be fine if the bank never sent them more advertising rather than actually trying to get a free house.

For a slightly more reliable story, Argakov v Tinkoff seems fun. At least the first round, the reports I've seen are a bit dated and further escalation and retaliation may be less fun.

<comment><USER34> Pity there wasn't a free house but I shouldn't be surprised. Thank you for sharing both stories.

That Argakov one is particularly spooky with the viable death fear. From the first hit I could find: "Our lawyers don't think [Agarkov] will get 24 million rubles, but four years in prison for fraud. _Now it's a matter of principle_ for @tcsbank," Tinkov added. ( from [https://www.rt.com/business/tinkoff-bank- agarkov-credit-299/](https://www.rt.com/business/tinkoff-bank-agarkov- credit-299/) )(empasis mine)

Oh boy. When the fight become principled it's time to fire the client xxxxx refer the client out to someone else

</comment></comment></comment></comment></comment></comment><comment><USER35> How can PayPal rationalize closing accounts because users opened them years ago when they were too young? Is that really an issue for a 28 year old?

Contract or no, PayPal looks really bad here. One would think they would be looking for good will rather than this kind of press in such a competitive market.

<comment><USER36> Yeah, why wouldn't they just contact her and lock her account until she re- signs? That way they both win. She's clearly of legal age now and penalizing her so severely for something she did as a child is really unnecessary.

When my landlord discovered she didn't have a rental agreement on file for the garage space I was renting from her she didn't evict me, she left a note on my door.

<comment><USER37> There are financial incentives.

Paypal is a lot like shady ad networks in that they let you accrue a balance while waiting for you to do something they can justify terminating you for. When that happens, they lock you out and keep your money.

Unlike your landlord, Paypal profits from eviction.

</comment></comment></comment><comment><USER38> Facebook's Privacy Policy, Terms, and Principles are actually written in very clear, plain language. I've read them. They're easy to understand.

I was frustrated by Senator Graham's remarks because he absolutely could understand them, if he bothered to read them. (He said that he didn't understand them.)

The problem though, isn't the Terms. It doesn't matter how plainly written they are. People won't read them.

What matters is designing your product with correct privacy affordances. Put yourself on the shoes of the user, and make sure your app isn't sharing information in a way that would be jarring or unexpected.

For example, Facebook made a mistake with its posting dialogue experience pre 2016. You could say that a post should only be shared "with friends" in a choice box next to your post. However, that post would also be shared with any apps your friend has installed. That's probably not what the posting user would have expected, so it's a poor experience.

If you have inadequate privacy affordances, you shouldn't just hide behind your terms. That's the point.

Edit: I don't understand why I'm being downvoted. If you disagree with something, please let me know. I'm designing our own privacy affordances in our app following the above thinking, after all...

</comment><comment><USER39> Seems to me this is easily fixed.

If a jury of peers cannot understand the legal contract during an arbitration, rule in favor of the signor of the contract and against the writer.

You'll see that shit disappear with a quickness.

<comment><USER40> This is a great idea but I don't think it goes far enough.

It means that 12 lay people can eventually, after some coaching, study, and debate, understand a contract. Or one lawyer, presumably.

The problem remains though, that one lay person needs to understand it without study or coaching, and without taking days to do so. Most of us have probably clicked through hundreds or even thousands of EULAs and other crap without having days to understand each one. Every app, every shrinkwrap, your toaster, and even the bloody nav on your car with its OK button: there's just too much.

<comment><USER10> The jury should get as much time to read the contract as the average user spends reading the contract and should not get the help of a lawyer. If the company doesn't collect data about how much time users spend reading the contract, then it should be presumed that they didn't read it at all and then only terms that the jury can guess would be in the contract without reading it should be valid.

</comment></comment></comment><comment><USER41> > Waving a 2-inch-thick printed version of the social network's user > agreement, Senator Lindsey Graham quoted a line from the first page, then > intoned: "I'm a lawyer, and I have no idea what that means."

Anyone have a link to that document? Looking for the terms I'm supposed to agree to if I want to use Facebook as an ordinary user, I find this page, which purports to link to everything [1]. Looking at the "Statement of Rights and Responsibilities", the "Data Policy", and the "Community Standards", I don't see anything that would take 2 inches when printed. Those seem to be most of what would be necessary for an ordinary user to agree to.

There are several links to other terms and policies and such on the left, but those are mostly for things like developers, payment handling, and other things that that an ordinary user would not need to agree to.

[1] [https://www.facebook.com/policies](https://www.facebook.com/policies)

<comment><USER42> Perhaps a more pertinent question is whether or not Lindsey Graham understands and expects every American citizen and resident to have read all 51 titles of the US Code and all of the Code of Federal Regulations which carry the force of statutory law by inclusion.

</comment></comment><comment><USER43> IMO, this is a question of consumer protection. It's ok to provide complicated contracts to corporations who can afford to hire lawyers, but it's not ok to do so with consumers. If we make a requirement that for consumer products, contract should be now longer than 1 page written in a language understandable by 10 year old, it will solve problem.

<comment><USER37> I like the elevator pitch approach.

If you can't explain your T&S in as many words as it takes to explain your product, one or the other needs to be revised.

<comment><USER43> It sounds good in theory, but in practice there're aspect which prevents it from being applicable. See here: [https://news.ycombinator.com/reply?id=16886176&goto=threads%...](https://news.ycombinator.com/reply?id=16886176&goto=threads%3Fid%3Dsolomatov%2316886176)

<comment><USER37> Yes, you have a valid point.

The one I was more trying to make is that a product should not be simply marketed as "a platform for sharing pictures with your friends" if it is actually "a platform for sharing pictures with your friends in exchange for your participation in unspecified and ethically questionable social experiments."

The T&S can stay the same for all I care, I just think companies shouldn't be able to hide behind them when they dramatically oversimplify the nature of the product in the process of selling or promoting it.

</comment></comment></comment></comment><comment><USER44> There is one thing I'm curious about. Imagine Facebook's terms stated: _" We will scrape any and all information we possibly can from you. We will use it in any and all ways we see fit. You agree to never sue us for anything whatsoever. We also have the right to do whatever we want to your account for any reason we want. We can also add or remove anything from these terms at any time and for any reason we like without telling you, and with immediate effect."_ That is probably a fairly reasonable cliff notes of their actual terms. Would this actually deter anybody from using their software?

In other words, are companies piling on the legalese to protect themselves or to deceive users? Maybe I'm overly cynical but I think even those terms would not really stop any meaningful number of people from signing up.

</comment><comment><USER45> Why is obfuscating the intentions of a document in dense language most people can't properly understand a thing that's allowed to be upheld? They might as well write the damn things in Esperanto for all they're worth to most of the folks who click agree.

<comment><USER20> I can only think it must be analagous to why programs have a lot of features people don't understand or use. Git might be a case in point. Smart programmers think of every possible edge case and "what if" and try to cover all those things. The result is a confusing mess for people who just want to get the "happy path" work done.

Lawyers try to think of every interpretation and circumstance and try to be sure the agreement addresses those unambiguously. Ironically, the dense language that results is anything but unambiguous to the untrained reader.

</comment></comment><comment><USER46> Just like an underage person or drunk is unable to give consent, it should be illegal to coerce an average Joe untrained in the law to agree to a 50-page document filled with legalese, unless you pay for them to be advised by a lawyer.

<comment><USER47> When exactly did it enter the public consciousness that drunk people are unable to give consent? I feel if this is true, there are many drunken hookups that become questionable. I'm in my mid-30s, and I feel this concept wasn't really a thing in my clubbing days.

<comment><USER20> Obama's 2011 Title IX "Dear Colleague" letter was a big part of it, establishing the lowest standard of proof in claims of sexual assault on college campuses. Schools responded by saying, effectively, that if you have sex with someone who's had a drink, and that person later regrets it, regardless of what they might have told you at the time, you have no defense.

It's all ridiculous because universities have no competence in investigating or adjudicating such claims, but that's another topic.

So anyone who was in college in the past 10 years will have had drummed into their heads that there is no consent possible by an intoxicated person.

<comment><USER48> > So anyone who was in college in the past 10 years will have had drummed into > their heads that there is no consent possible by an intoxicated person.

Which creates all kinds of weird outcomes when both parties were equally drunk.

<comment><USER49> Well, it would if logic were the overarching guideline on these topics.

As it stands, the male is presumed guilty on college campuses when both parties are drunk and he must then meet a draconian burden of proof to extricate himself from the situation.

At least, that has been my experience.

</comment></comment></comment></comment></comment><comment><USER50> I see a lot of people talking about Terms of Service being too long. This is a problem for governments as well: How many laws do you think apply to you right now? How long do you think it would take for you to understand exactly what you can and cannot legally do? Do you think the average police officer, or even federal agent, has a full understanding of those laws?

I hope that this is a problem that we can fix in the future.

<comment><USER51> Sure, we're covered by many laws, but also many rights--the right to fair trial, the right to legal representation, the right to petition the government, and so on. If a law is poorly or vaguely written, it can be challenged on those grounds--many laws are tossed as unenforceable.

But when you click on a user agreement, there's no negotiation or possibility of redress. Take it or leave it, and they just cut you off if they feel like it. The comparison to laws is nonsense.

</comment></comment><comment> Digit-Al The thing nobody seems to be talking about is 'why do we need all these complex Terms & Conditions anyway?'

If I buy a fridge I don't need to read and agree to reams of T's and C's before I can use it. The same with a toaster or an oven or a washing machine. If I buy a knife I don't have to agree to indemnify the manufacturer if I kill someone with it. What's so special about software?

I'm starting to think that there should be an agreed set of national (or maybe even international) software indemnifacations covering anything that is agreed to be considered a sensible exclusion.

Any software use could then be covered by the relevant law with no need to read a new set of terms for everything.

Any company trying to add their own terms on top of these could then be considered with much caution or suspicion.

Hopefully they would be written better than this was, but I hope I have got my point across.

<comment><USER52> Have you looked at user agreements, warrantees, and software licences that come with appliances lately?

Often not revealed until accessing via some interface, or being modified on software upgrades.

</comment></comment><comment><USER53> As far as I'm aware those type of contracts do not hold up in court. (At least here in Ireland) Its well known by both parties that in 99% of cases the consumer will just click 'agree' without reading it in order to get access. So as far as the judge is concerned it doesnt exist.

<comment><USER54> Zuckerberg admitted as much.

</comment></comment><comment><USER41> I think the legalize issue is a bit exaggerated. Yes, many (too many) sites and companies have a lot of legalize in their terms...but there are also many that do not. Nevertheless, as far as I've seen people aren't any more likely to read the latter, or any more likely to understand them if they do read them.

I think there are two main factors that make people not read these things.

First, as Joel Spolsky noted in his writings on UI design, "In fact, users can't read anything, and if they could, they wouldn't want to" [1]. He does not mean, of course, that users literally cannot read. They just act like, at least when you are trying to get them to read something that they didn't actually ask to read.

Second, terms and conditions tend to be long, and because they want to be precise tend toward more complicated language and structure. That's going to lose a lot of people.

[1] [https://www.joelonsoftware.com/2000/04/26/designing-for- peop...](https://www.joelonsoftware.com/2000/04/26/designing-for-people-who- have-better-things-to-do-with-their-lives/)

<comment><USER55> I mean, you could rewrite the same contract in plain english ("heads we win, tails you lose") and it wouldn't make it any less exploitative. The legalese is not the real issue there.

</comment></comment><comment><USER56> I've been thinking of writing my own Terms of Service for my cryptocurrency- related web startup -- with plain and clear language that the average person should be able to understand. Several people have advised me that this is a horrible idea and that I should enlist the help of a lawyer to write it instead.

Some things I want to protect myself against:

\- People suing if they lose their private keys and are no longer able to make transactions

\- People suing if they forget their passwords and can no longer access their email they signed up with to do a recovery.

\- People suing if they lose their 2FA code and can no longer access their account

\- People suing if a bug in my software causes them to lose access to their account or coins

\- People suing if I decide to close down my service (I will give 90 days notice --- or maybe more, haven't decided yet) and did not deactivate their accounts.

Basically trying to protect myself for anything that is not fraud on my part.

Seems like most people here are pro-"short and sweet" ToS -- what do you think about writing it myself?

<comment><USER5> _> People suing if a bug in my software causes them to lose access to their account or coins_

Everything else sounds pretty reasonable, but this doesn't. If you cause someone harm, you should expect that they will attempt to recover damages from you, regardless of what your T&C says. I cannot fathom why you think you should be protected against this eventuality. Buy insurance instead.

Regarding your question, notwithstanding the hand-wringing on this page, a given T&C clause tends to exist because someone has been sued over the matter being clarified. If the law specified each point, or if society were less litigious, these clauses would not be necessary. But this is not the case. I think you would be a fool to risk your company's wellbeing to satisfy the whims of uninformed HN commenters. Almost all of them will blindly accept and be bound by your T&C regardless of their stated beliefs on this site, and, even if that were not the case, they are a tiny, unrepresentative slice of your market.

<comment><USER56> Fair enough. I guess this is why I should get a lawyer involved! I was assuming there was some distinction between accidental negligence and fraud as far as what could be protected against.

<comment><USER57> why shouldn't the customer be able to recover damages from you if you had an accident, or were negligent? they were paying you to take care of this stuff for them. if they wanted the risk of accident and incompetence, they'd just do it themselves.

<comment><USER56> Does that draw any distinction between paying and non-paying customers then as far as their rights? I see tons of "you assume all risks" sorts of Terms of Service, but I have a feeling those are likely just there and don't do much.

</comment></comment></comment></comment></comment><comment><USER58> We need something akin to the Uniform Commercial Code, which solved a similar problem with proliferation of contracts in the B2B realm. And I think there should be a strict limit on the amount of verbiage that a B2C contract can contain to remain enforceable, due to the highly asymmetrical nature of the relationship economically.

</comment><comment><USER59> Why cannot we, as consumers, gang up and define a kind of universal and fair 'reverse contract' that defines rights and duties that a potential service provider needs to conform to? If they don't, we just don't use their service.

</comment><comment><USER60> If I walk into a McDonald's, I wager that the social normality requirements and laws that permit my access there and permit the owner to legally throw me out is longer than the 50,000 words cited in the article. However, I fully understand enough of them that I'm able to transact the purchase of my hamburger and leave. All the rules there are in the owner's favor, and very few are in mine. I'm not trying to be reductionist, I understand the backlash, but there is no inherent right to use PayPal.

<comment><USER61> I don't remember having to read and sign a license the last time I bought a hamburger from McDonald's. Has that changed?

<comment><USER60> You legally entered someone else's property, which is governed by many laws.

</comment></comment></comment><comment><USER62> Maybe of interest:

[https://www.sec.gov/pdf/handbook.pdf](https://www.sec.gov/pdf/handbook.pdf)

Lawyers who prepare submissions to the SEC in the US have long been advised to use "plain English".

</comment><comment><USER63> Startup Idea - An AI language translator for legal language to English. It could convert a 20+ page contract to a 1 page bullet list. Maybe this has already been done or does the language of law require quantum computing?

<comment><USER12> An interesting idea, but complicated by the fact that as often as not the terms expressed are affected by the domain and locale.

For example, for every employment contract that contains a non-compete in California, there is relevant California state law that means it's _probably_ unenforceable. What do you show for that?

Additionally, new case law is being made all the time. Laws aren't static, they are added to, amended or removed through legislature and case law. To my understanding, the case law changes are also more about the specific circumstances of the case as well, so may apply narrowly or widely, depending on ruling. And may be appealed.

</comment></comment><comment><USER64> This is one of the many baffling details of the GDPR, a TOS should be understandable for average humans (plain english), but at the same time it has to pass the scrutiny of a court? That is just impossible.

</comment><comment><USER65> Disclaimer: I hate complex / abusive T&C's, and I'm keen to see them abolished. But...

It seems to me like we as a public are blaming corporations for _our_ failures. As adults we're responsible for what contracts we enter into, except in cases of coercion.

99% of us were stupid enough to state that we accepted terms that we didn't even read. Especially in cases where the product/service was purely optional (Netflix, Call of Duty, etc.), I don't see how this is anything but our fault. IMO, we have not been acting as competent, responsible adults.

Should we change our laws to make complex and/or abusive T&C's go away? Absolutely. But are corporate lawyers the only flawed agents here? IMO, no.

<comment><USER66> 250 hours: that is the number of hours required to actually read all the adhesion contracts the typical American is exposed to in a year.

[https://www.theguardian.com/technology/2017/mar/03/terms- of-...](https://www.theguardian.com/technology/2017/mar/03/terms-of-service- online-contracts-fine-print)

250 hours is a full man-month of time. Do you have a free month in your calendar to read contracts and do very little else? Nobody I know has that sort of free time. So calling people or their behaviors "failures" for not reading all contracts is an unfair, unrealistic expectation.

<comment><USER67> Access to Facebook, Spotify, or Netflix is not a human right. These are private services offered by private companies who are free to offer those services on any terms they choose. It's fine and completely understandable that you may not have time or cannot understand the agreements under which they may choose to offer you access. Your remedy for that is to not use the services in question. Your remedy _isn't_ to lie to them and falsely certify that you have read and contemplated them.

<comment><USER68> Bold words. Question: Off the top of your head, for what period of time may you make a claim or cause of action arising out of or related to use of Hacker News or its terms of use?

I'm just curious whether you've read and understood the terms of use for the site you're making these bold claims on.

<comment><USER67> Actually I have read them, back when I agreed to them many years ago. I don't recall the specific detail you are asking off the top of my head, nor would that be a reasonable expectation of anyone. However, since I read and agreed to the terms and conditions, I know that a) such a document exists; b) that I can refer to it at anytime to answer such questions if I have them; and c) that I did not lie to Hacker News when I registered.

Can you make the same claim?

</comment></comment></comment></comment></comment><comment> Digit-Al I'd just like to refer to this: [http://www.plainenglish.co.uk/](http://www.plainenglish.co.uk/)

</comment><comment><USER69> PayPal is a company that just needs to go away. They screw people out of their money left and right. And for the cherry on top their ui is complete garbage

</comment><comment><USER70> Hilarious. Bloomberg harp on about GDPR but their own cookie notice violates it by using assumed consent and tying consent to use.

<comment><USER19> Oh my god, can we have one article on this topic without this comment? The whole problem is that 99% of websites people visit come with trackers.

</comment></comment><comment><USER71> At a really high, generalized level (with contract law being a subset), I think the legal system (and in many ways society in general) has yet to really get a grasp on the concept of resource exhaustion attacks. We all know about DDOS as it applies to digital systems, but individual humans and the social systems we make also all have actual, hard limits on how much information we can possibly process, store, and communicate/move around. A lot of the foundations of law and debate date back to long before we entered the sharp part of our current information production J-curve, when it was much more possible for a single human to be more generalist and it was simultaneously simply more difficult and expensive to pump out hundreds or thousands of pages of contract and law. But those days are past, and at some point, to the extent we want (and we should want it) law to work for humans, there need to be actual principles around the fact that if something exceeds the time/memory/intelligence a human could reasonably apply to it then it shouldn't matter if "they could in theory". Let alone if they really couldn't, even in theory (not enough seconds left in their lives). Organizations may be able to act as superhumans here, able to subdivide work and specialize towards a single goal, but for regular actual humans resource cost should be a fundamental consideration of legal validity.

I'd like to see this improved for _both_ sides of the equation though FWIW. I agree that as a user/consumer, the EULA/TOS situation is intolerable and that there's a lot of sketchy or outright bullshit stuff in many (maybe most) of them. But I do think some of the contents are also genuinely guarding against liability that frankly really just shouldn't exist by default either. If someone writes up some software or makes a service and just puts it out there on the open market with no promises, they shouldn't need any sort of contract at all saying they won't be liable if it's used for life-safety critical applications for example (EULAs/TOS are full of this, right up to "this is not for nuclear reactors you fucking idiot" clauses). The law should provide for minimal basic standards and simple money-back guarantees for lack of performance, but just as users shouldn't have to read a 50 page EULA that somewhere buried within tries to take lots of their rights and lay claim to as much of their information as possible and such, so should developers not have to worry about being sued because there was a bug unless they've actually affirmatively promised there wouldn't be a bug. Major liability should tie into things application promises and SLAs, which would be more generally negotiated between entities who can reasonably handle the increased information and legal complexity and think it all through.

I do really hope we see some standardization all the way around. It seems like there could be some real win/wins in this area, and that it's not necessarily that politicized either.

<comment><USER72> The really scary part is that any form of democracy itself rests on a similar assumption. Time, human attention, and learning capacity are all finite and no longer map well at all to an abstract, unbound ideal of civic responsibility or awareness. Other countries seem to interpret contract law differently as well. [https://europa.eu/youreurope/citizens/consumers/unfair- treat...](https://europa.eu/youreurope/citizens/consumers/unfair- treatment/unfair-contract-terms/index_en.htm)</comment></comment>


Why I'm Learning Ruby on Rails - <AUTHOR> http://entrepreneursunpluggd.com/blog/why-im-doing-code-academy

<comment><USER2> I'm sure it's a great article, but seriously it popped up a screen asking me to enter my email address - BEFORE I read what they were trying to say.

Why would I give them my email? Just a thought for future, if you are associated with the site in any way :-)

<comment><USER3> Agreed.. took me a few seconds to notice the skip button, a second or two longer and I'd have left the site.</comment></comment>


SAP to Buy Sybase for $5.25 Billion - <AUTHOR> http://dealbook.blogs.nytimes.com/2010/05/12/sybase-surges-on-report-of-possible-sap-bid/

<comment><USER2> Perhaps this is the proper forum to ask this question: I simply don't understand what SAP is form? Isn't it just a bunch of forms sitting on top a database? How is it different from Oracle services?

<comment><USER3> From a modern point of view, SAP's architecture feels pretty alien. In a way you're right, and it's a massive amount of forms on top of a database, plus staggering amounts of business logic. But as it was born before the web, it does not render to HTML, but to it's own display system. Most parts are written in ABAP, an interpreted language, and the source code is stored in the database. A quite usable IDE and a debugger are included. The source code is there, so you can read it and explore how things happen.

There's a database abstraction layer, which works around some limitations of the underlying databases. What SAP sees as a table might be a set of tables in the database.

It's not an unpleasant system to work with.

<comment><USER2> I'll have to take your word for it, as there doesn't seem to be a way to take a casual look around the product. But thank you for explaining it to me.

</comment></comment></comment><comment><USER4> $5.25 Billion! Wow. Who uses Sybase??

I feel out of touch. The only enterprise DBs I run into these days are Oracle and MSSQL.

<comment><USER5> Sybase isn't really in the enterprise DB space anymore. That part of the business still exists, but it's not really what they push, as far as I've been told. These days, they primarily do client-server middleware for mobile devices. Device tracking, remote wiping / encryption, that kind of stuff.

<comment><USER6> Not true at all. They do have other lines of business, but their databases business continues to grow. See [http://seekingalpha.com/article/185179-sybase- inc-q4-2009-ea...](http://seekingalpha.com/article/185179-sybase- inc-q4-2009-earnings-call-transcript), e.g.

</comment></comment></comment><comment><USER7> My company still uses Sybase. Wish we didn't, but our stored procs are so complex that switching vendors would be very expensive.

<comment><USER8> It used to be true that Sybase stored procs can by converted to MS-SQL with not much effort, but I guess over the years they've drifted apart quite a bit?

</comment></comment><comment><USER9> This makes sense given that MySQL is a property of Oracle now. SAP likely wants their own database in order to not be dependent.

<comment><USER10> Does SAP run on MySQL? I never used SAP but it seems 'enterprisey' enough to demand some pretty special DB.

<comment><USER11> Basically 90% of their customers are on Oracle, DB2, and MS SQL. Apparently they tried something with MySQL (<http://www.sap.com/press.epx?pressid=2208>) but never went anywhere.</comment></comment></comment>


Lisp as an Alternative to Java [PDF] - <AUTHOR> http://www.flownet.com/gat/papers/lisp-java.pdf

<comment><USER2> Lisp is a really powerful language. Unfortunately Lisp's main problem isn't technical.

Someone could prove me wrong but I think like Erlang, Lisp just doesn't have a vibrant, growing community - it's pretty stagnant

Maybe it's because there are some Lisp jerks that like it that way: [http://groups.google.com/group/comp.lang.lisp/browse_frm/thr...](http://groups.google.com/group/comp.lang.lisp/browse_frm/thread/88a36fb2c239a44e/89405e202723a377?lnk=raot#89405e202723a377)

By comparison the other languages' jerks just talk smack about how the other languages suck compared to theirs (and typically they are more than willing to provide proper and respectful help to people trying to learn their language)

<comment><USER3> The dreaded smug lisp weenie.

</comment></comment><comment><USER4> I'd prefer a comparison of infrastructure (ie libraries). Nobody cares about the performance aspect anymore.

<comment><USER5> Why not use both, if necessary?

RE: Lisp <AND> Java

Check out JNIL and LINJ (Java to Lisp translator and vice versa): <http://common-lisp.net/project/jnil/>

<comment><USER4> Hm, interesting idea: lately I have been rather torn between Groovy on Grails and Ruby and Rails, and I worry that both won't suit me. I like the way Grails is done, I think something similar could be built on top of Hibernate and Spring quite fast. I was considering to try it with jRuby, but to use LISP didn't occur to me yet. Perhaps if those Java-LISPs play reasonably well with Spring and Hibernate, a modern web framework for LISP could be built?

<comment><USER5> "Perhaps if those Java-LISPs play reasonably well with Spring and Hibernate, a modern web framework for LISP could be built?"

There are several other options for combining a Lisp with Java (Armed Bear Lisp and SISC Scheme, for example. I know Kawa was already mentioned.) I'm not sure I would rely on ANY of these for something I was trying to build on any type of deadline. They might serve as inspiration, though. If you are looking to build something fast and just want to use the Java libs for productivity, I would personally choose Scala over Groovy or JRuby. I guess that is just a taste thing, in part. The Lift framework is pretty cool. You should definitely check Scala out if you haven't already.

I think that the Lisp and Java/Spring/Hibernate route is a dead-end. Or at the very least it would be a waste of time. It could be done, but why just build another ADEQUATE web framework? If you are going to design a new web framework, I think you should be doing it:

1\. to gain an actual strategic advantage for app(s) that you are working on. A massive increase in productivity is a really compelling argument for a new framework. (Unfortunately, the envisioned productivity increases sometimes never materialize...but that's another story.)

And/Or

2\. as a learning opportunity and a chance to contribute something really compelling back to the programming community.

IMHO, if you're not going to really advance the game in one of these two ways, you might as well just use something that already has some momentum and that other coders are actively working to improve. Just throw your weight behind one and go. In regards to reason one, I think you're unlikely to be able to 'outbuild' your competitors if you're using the same, cookie-cutter tools that they are. What strategic advantage does Hibernate and Spring give you if that is what many of your competitors are using? And are you SURE that building a proprietary framework on top of them is going to give you enough of a strategic boost to outweigh the time spent building and aupporting that proprietary framework?

If you're actually just wanting to work on a framework for its own sake (Sicko!), I think you would be better served by getting FAR AWAY from the standard Java libraries. You're more likely to build something really interesting when you get away from what everyone else is doing a bit. Seaside is a good example of doing that. I actually like programming in Lisp in part because it saves me from dealing with Hibernate/Spring, etc. and it helps me to think out of the box a little. A Lisp/Spring/Hibernate web framework would just make my head hurt.

<comment><USER4> I think with Groovy you never have to deal with Hibernate or Spring directly. You still need a Java setup, though. It's just that with Hibernate and Spring it could be easy to create a web framework. I don't consider writing my own OR-mapper in LISP... Anyway, it was just an idea. Will have a look at Scala and Lift.

</comment></comment></comment></comment></comment><comment><USER6> _the runtime performance of the Lisp programs in the aggregate was substantially better than C and C++_

Well, my bullshit monitor just went off. You can _pretend_ you are comparing languages, but the real difference is almost certainly algorithmic. Do Lisp advocates really need to depend upon flawed methodologies to make their arguments?

Here's an idea, if you want to prove the superiority of Lisp: Write more software in it. Not crappy little websites. Real software.</comment>


(Pure) Functional Programming Claims IRL - <AUTHOR> http://logicaltypes.blogspot.com/2015/08/pure-functional-programming-claims-irl.html

<comment><USER2> im not a functional guru, but it seems like one nice plus that is not usually mentioned when people praise the funtional style (testable, threadsafe, parallelizable, easier to reason about) is that (and i could be getting this really wrong) it seems like things like maybe, and functors in general help solve dealing with 0, 1, or many of a thing- like when its done right, youve abstracted away ever considering about that. im sure that 0, 1 many headache has a name but i forget it.

</comment><comment><USER3> Purely functional, or simply not having side-effects and using immutability? No need to go full-Haskell to benefit.

</comment><comment><USER4> Seems almost too good to be true. Can anybody else share any similar successful "war stories"?</comment>


Ask HN: List of beta landing pages? - <AUTHOR>

Any, and all, beta landing pages for apps/software/services/anything, please post them to this thread.
Trying to create one now and need some inspiration and points of reference.
Plus, this could be a good resource for anyone else looking for such a collection.
Thanks. <comment><USER2> Are you talking about a "coming soon" type page? Smashing Magazine might be a good place to start: [http://www.smashingmagazine.com/2009/11/10/designing- coming-...](http://www.smashingmagazine.com/2009/11/10/designing-coming-soon- pages/)

<comment><AUTHOR> Brilliant.

This is exactly what I was looking for. I knew they were out there, but forgot where I had seen them before.

Thanks man.

</comment></comment><comment><AUTHOR> For the record...I also found these:

<http://launchsoon.com/gallery.php>

[http://dzineblog.com/2008/05/27-cool-coming-soon-page- design...](http://dzineblog.com/2008/05/27-cool-coming-soon-page-designs.html)

[http://www.blog.exxcorpio.com/2009/06/01/25-best-coming- soon...](http://www.blog.exxcorpio.com/2009/06/01/25-best-coming-soon-pages/)

</comment><comment><USER3> That's the landing page of my project which is in an early beta stage. It's not perfect but something to start with (feedback is welcome): <http://www.flockengine.com></comment>


"Dabblers and Blowhards" - hackers are nothing like painters [2005] - <AUTHOR> http://www.idlewords.com/2005/04/dabblers_and_blowhards.htm <comment><USER2> Regardless it seems Graham drawing a synthesis between hackers and painters worked well as a generative metaphor to accomplish what he explained the books purpose was: "This book is an attempt to explain to the world at large what goes on in the world of computers."

In the end can your antithesis exercise as many readers' imaginations and share as much insight as his book has?

What I got from your blog post is that there are better books for one interested in the similarities between art and computer science and that is helpful information but I own a copy of Gödel, Escher, Bach and it's certainly not a light read.

Maybe your right, "Hackers and Painters" doesn't belong in the same category as the other books you mentioned but then the authors of those books probably had different intentions for their material.

</comment><comment><USER3> PG and idlewords had it out in the comment section here: <http://news.ycombinator.com/item?id=984475> PG definitely gets the best of the argument, IMO.

<comment><USER4> I've debated taking PG to task over this one:

<http://www.paulgraham.com/philosophy.html>

But I figure I don't need the internet drama, and I already find amusing ways to exercise my philosophy degree.

<comment><USER5> "debated taking PG to task"?

Why don't you just say what you disagree with, no need to make internet drama or necessarily get pg to respond to you. I have studied quite a bit of philosophy and I like this essay a lot, so I would be interested in reading a good criticism (please, please do better than idlewords, it is clearly personal for him).

<comment><USER4> Well, the opening bits about confusion of language and what to call things are a bit... fuzzy :)

Yes, Wittgenstein focused a lot on language, but so did a lot of his contemporaries -- that's a large part of what positivism was all about. And the idea that coming up with correct and precise terms and categories as a first step goes at least all the way back to Aristotle in the Western tradition and Confucius in the Eastern. But pg doesn't mention any of this, he just name-drops Wittgenstein and gives you the impression that this is some sort of modern thing to do.

On the history of philosophy, I've got to mark pg down quite a lot for outright ignoring the pre-Socratics. Do we only have fragments of their work? Yes. Does that mean we get to write them off as "speculative cosmology"? Hell, no. Plato and Aristotle don't make sense unless you consider them in the context of the philosophers who came before them, primarily the Elean and Milesian schools. And I can't understand why someone who writes so much about entrepreneurship would willingly ignore Thales (unless it's to sweep under the rug the fact that Thales -- though he could and did apply his analytic and philosophical techniques to make money -- didn't seem to care much about practical results and in fact did more than a few things to spite and shame people who wanted such results).

I'm going to gloss over pg's interpretation of Aristotle and simply recommend that people actually read Aristotle, or at least well-prepared exegesis of Aristotle; that's a topic too large to tackle in a comment.

But talking about the next 1500 years' worth of philosophy just aping Plato and Aristotle without doing any critical thinking is, well, flat-out wrong. Aristotle was indeed highly regarded by later medieval thinkers -- after about the eleventh century AD or so -- but he was far from the only game in town until that point, and most of the regard for his work and Plato's wasn't due to slavish repetition of muddled thinking: medieval philosophers simply didn't have the kind of access to classical work that we enjoy today, and so they used what material they had.

From there, pg goes off into what looks like his own flight of unthinking hero-worship, but this one's centered on Wittgenstein. Yes, Wittgenstein's important, but he was far from the first person to discover "that most previous philosophy was a waste of time". One suspects that pg has never read, or has forgotten what he read in, Hume, who delivered the real kick in the pants about two centuries earlier (and quite a bit of Hume's most interesting work had been anticipated in antiquity -- the same antiquity which, pg tells us, was far too muddled and concerned with "big generalities" to produce useful or interesting work).

(aside: I think this, more than anything, is what bothers me about pg's summary of philosophy: you don't get to condense Western philosophy into a single essay without even mentioning Hume's name. He even goes so far as to attribute to Kant honors which -- and if you've read Kant you'll see even he felt this way -- rightly belong to Hume.)

Finally, pg ends up at a "proposal" which, so far as I can tell, is identical to the classical pragmatism of William James (whose name is also conspicuously absent from the essay). He rounds this up by reiterating the falsehood that everybody else was just aping Plato and Aristotle for a couple millennia (perhaps pg simply misunderstood a famous quote from Alfred North Whitehead, and took a literal interpretation).

So, basically, pg's spent a lot of time pouring out a "sea of words" riddled with historical inaccuracies and omissions, and used it all to advocate as new a philosophy which has been well-known for over a century. This is not something of which I can approve :)

<comment><USER5> Wow, thanks.

I don't think this essay was intended to be a complete review and a last word of all philosophy. I read it as explanation of the motivation pg has for his essays. And I like the goal of seeking the "most general useful truth".

Now, I'm not pursuing this goal because I think most philosophical questions should be restated as scientific questions. The problem of knowledge, epistemology, becomes mostly cognitive science. The problem of conduct, ethics, should be researched using simulated evolution models of game theory. And so on and so forth.

</comment></comment></comment></comment></comment><comment><USER6> I paint and I code, and this made me laugh:

* Computer programmers cause a machine to perform a sequence of transformations on electronically stored data.

* Painters apply colored goo to cloth using animal hairs tied to a stick.

It's funny, and maybe a little ironic, to look at this and see both a hacker's cynicism and a painter's habit of looking at things objectively.

</comment><comment><USER7> I thought this was worth upvoting because I was stung by how the author views programming. It's worth remembering that "hacking" is typically ill-liked, even by some of those claiming to practice it.

 _Start with purpose. With the exception of art software projects (which I don't believe Graham has in mind here) all computer programs are designed to accomplish some kind of task._

I suppose this guy is a Java programmer?...

 _No one cares how pretty the code is if the program won't work._

...that or Perl.

 _Great paintings, for example, get you laid in a way that great computer programs never do._

#%$hole...

PG could have alluded to the similarity between Math and hacking. The thing that I feel both share is that there is an underlying beauty to a well-crafted result. Truly beautiful results (like original self-printing program in Lisp) withstand the test of time, like a universal truth. Thus a program is not like an egg made by a chef, or even a Porsche made by an engineer.

The flip side is that there's no "way" to write a program. There actually isn't even really a notion of truth. Beauty is in the eye of the beholder. The only constraint I have as a programmer is to (1) not run out of memory and (2) not run out dough (which would force me to quit hacking and get a "real job"). There are some people who think that obfuscated C is art, and there's FP folks like me who would fire someone for writing anything in that godawful language (Which might be unfair. People should only be fired for writing Java on the job). I think this is pretty strong support in favor or programming as an art.

The other piece of evidence I cite is that the academic form of hacking is called Computer Science and we know what they say about anything that has the word "Science" in it...

Basically, the only premise of idleword's argument that holds up is that artists get laid and programmers don't. I will resist fighting fire with fire on this point.

But maybe PG should allude to poets or composers next time. Apparently some painters are real jerks.

<comment><USER8> There used to be _two_ professions that we call programming today:

Systems Analysis

and (unsurprisingly)

Programming.

Arguably the systems analysis bit was the more interesting of the two, it is the one that I would equate with architecture, and to some extent (but certainly not as much as some would) art.

The other part, the programming part is best equated to engineering and construction.

I find I go through exactly those two phases when making something new. The first part I love to do it's where all the interesting bits are, the problems get solved.

By the time I hit the second phase, the joyful part is over, from there it is just typing stuff in and realizing the vision that I already have in my head and debugging stuff.

Rarely (but it does happen occasionally) do I get back in the 'fun' bits while coding something. That would mean I've made some terrible oversight during the analysis phase.

The analysis phase sometimes also includes some programming, it is where you come up with nifty little programs to test your assumption and where you let your inspiration go wild in order to see if you can solve the problem in an interesting way.

That is the most joyful kind of programming that I know, it is on a white piece of paper without any kind of connection to the real world of data processing. This is were algorithms are born. I love doing that.

The rest is just plumbing and brickwork.

<comment><USER7> So if we are going to judge programming as such, then what about all the plumbing and brickwork associated with art? Didn't an analysis of the Mona Lisa detect multiple layers of paint, indicating that the artist had retouched many parts of it? From what I understand, it's common practice.

For some reason, the plumbing and brickwork in programming isn't viewed the same way by all people. Perhaps it's because of the use of low level languages (and by low level, I mean anything less abstract than Ruby, Lisp or Haskell. you can't meaningfully remove boilerplate in the C family of languages.). I personally find it gratifying to refactor code into something more elegant, and I'm sorry if you don't see it that way.

<comment><USER8> > So if we are going to judge programming as such, then what about all the > plumbing and brickwork associated with art?

In 'real' art (painting and sculpture for instance) the execution and the expression are inseparable, in programming you can delineate the one from the other reasonably well.

For instance, a mathematician without any programming skills could sketch out the basis of an algorithm, which could then be implemented by programmers familiar with their particular language.

> Didn't an analysis of the Mona Lisa detect multiple layers of paint, > indicating that the artist had retouched many parts of it?

Yes, so ? He didn't get it 'right' or 'satisfactory' the first time and decided to change it.

But there is a reason why artists sign their works and programmers can collaborate, even across vast distances on the same work.

In the end it is all bits.

If Da Vinci had reduced the idea of the La Gioconda to 4 squares and you asked four different painters to create the 4 squares and you'd merge them the painting would probably not be hanging in the Louvre right now.

Even if he had sketched it and sent it off in four pieces as a guide it still wouldn't have worked.

And that process works quite well for software, which indicates to me that the two are fundamentally different.

> For some reason, the plumbing and brickwork in programming isn't viewed the > same way by all people.

No doubt.

> Perhaps it's because of the use of low level languages (and by low level, I > mean anything less abstract than Ruby or Haskell). I personally find it > gratifying to refactor code into something more elegant, and I'm sorry if > you don't see it that way.

Refactoring code and optimizations are a step above simply putting layers of stone above each other, effectively you've temporarily switched back to architectural mode.

And I definitely agree with you that that is a gratifying thing to do. But it _also_ indicates to me that I should be more diligent during the design phase because refactoring, no matter how satisfying is an expensive thing to do.

<comment><USER7> _But there is a reason why artists sign their works and programmers can collaborate, even across vast distances on the same work. In the end it is all bits._

Ok, I have to admit, that is by and far the most compelling difference between art and programming that I've ever heard.

</comment></comment></comment></comment></comment><comment><USER9> Curious that Maciej should cite John Ruskin, who could be utterly dogmatic. Henry James, Italian Hours, writes

I had really been enjoying the good old city of Florence, but I now learned from Mr. Ruskin that this was a scandalous waste of charity. I should have gone about with an imprecation on my lips, I should have worn a face three yards long. I had taken great pleasure in certain frescoes by Ghirlandaio in the choir of that very church; but it appeared from one of the little books that these frescoes were as naught. I had much admired Santa Croce and had thought the Duomo a very noble affair; but I had now the most positive assurance I knew nothing about them. After a while, if it was only ill-humour that was needed for doing honour to the city of the Medici, I felt that I had risen to a proper level; only now it was Mr. Ruskin himself I had lost patience with, not the stupid Brunelleschi, not the vulgar Ghirlandaio. Indeed I lost patience altogether, and asked myself by what right this informal votary of form pretended to run riot through a poor charmed flaneur's quiet contemplations, his attachment to the noblest of pleasures, his enjoyment of the loveliest of cities. The little books seemed invidious and insane, and it was only when I remembered that I had been under no obligation to buy them that I checked myself in repenting of having done so.</comment>


Graph Attach: Simple computational graph library for machine learning - party-horse123 https://github.com/jgolebiowski/graphAttack <comment> party-horse123 I am relatively new to the field and as such, I understand that my design can be flawed in many ways. I look for any feedback and advice on how to improve this project.</comment>


Assembly instructions from hell - <AUTHOR> http://www.adafruit.com/blog/2010/10/12/assembly-instructions-from-hell/

<comment><USER2> Meh. Not a patch on MPSADBW.

</comment><comment><USER3> Seems a little over the top</comment>


A Detailed Elliptic Curve Cryptography Tutorial - <AUTHOR> https://www.johannes-bauer.com/compsci/ecc/ <comment><USER2> Certicom also has a good tutorial on ECC: [https://www.certicom.com/content/certicom/en/ecc- tutorial.ht...](https://www.certicom.com/content/certicom/en/ecc- tutorial.html)

Certicom authored the curve used by Bitcoin (secp256k1).

</comment><comment><USER3> Thank you for sharing! Beware though: The scalar point multiplication method that is shown in the article is subject to side channel attacks such as timing attacks, since it depends on features of the secret key. Use Montgomery multiplication or similar methods to mitigate this.

</comment><comment> loup-vaillant This looks nice. Too bad I care more about Montgomery and Twisted Edwards curves (everyone say curve255129 and edDSA are great, and I believe them).

I'm looking for _one_ thing, which I hope should speed up signature and verification speed with very little bloat: converting a Twisted Edwards point to Montgomery space, then back (with that sign recovery trick after the Montgomery ladder).

Reading (and trying to apply) the relevant papers has been frustrating so far (I get wrong results), and I can't find code (or pseudo-code) I can use. Have someone implemented this?

<comment><USER4> What exactly is the problem? Converting between Montgomery and twisted Edwards is well documented by now, for example in [3, Theorem 3.2] or RFC 7748. The descriptions in, e.g., [1, §3.2] or [2, §4.3] for the Montgomery y-recovery trick are pretty straightforward.

[1] [https://link.springer.com/chapter/10.1007/3-540-44709-1_12](https://link.springer.com/chapter/10.1007/3-540-44709-1_12)

[2] [https://eprint.iacr.org/2017/212](https://eprint.iacr.org/2017/212)

[3] [https://eprint.iacr.org/2008/013](https://eprint.iacr.org/2008/013)

<comment> loup-vaillant The problem is, the following code doesn't work:

      sv ge_scalarmult(ge *p, const ge *q, const u8 scalar[32])
      {
          // convert q to montgomery format
          fe x1, y1, z1, x2, z2, x3, z3, t1, t2, t3, t4;
          fe_sub(z1, q->Z, q->Y);
          fe_mul(z1, z1, q->X);
          fe_invert(z1, z1);
          fe_add(t1, q->Z, q->Y);
          fe_mul(x1, q->X, t1  );
          fe_mul(x1, x1, z1);
          fe_mul(y1, q->Z, t1  );
          fe_mul(y1, y1, z1);
          fe_1(z1); // coherence

          // montgomery scalarmult
          x25519_ladder(x1, x2, z2, x3, z3, scalar);

          // recover the y1 coordinate
          fe_mul(t1, x1, z2);  // t1 = x1 * z2
          fe_add(t2, x2, t1);  // t2 = x2 + t1
          fe_sub(t3, x2, t1);  // t3 = x2 − t1
          fe_sq (t3, t3);      // t3 = t3^2
          fe_mul(t3, t3, x3);  // t3 = t3 * x3
          fe_mul973324(t1, z2);// t1 = 2a * z2
          fe_add(t2, t2, t1);  // t2 = t2 + t1
          fe_mul(t4, x1, x2);  // t4 = x1 * x2
          fe_add(t4, t4, z2);  // t4 = t4 + z2
          fe_mul(t2, t2, t4);  // t2 = t2 * t4
          fe_mul(t1, t1, z2);  // t1 = t1 * z2
          fe_sub(t2, t2, t1);  // t2 = t2 − t1
          fe_mul(t2, t2, z3);  // t2 = t2 * z3
          fe_add(t1, y1, y1);  // t1 = y1 + y1
          fe_mul(t1, t1, z2);  // t1 = t1 * z2
          fe_mul(t1, t1, z3);  // t1 = t1 * z3
          fe_mul(x1, t1, x2);  // x1 = t1 * x2
          fe_sub(y1, t2, t3);  // y1 = t2 − t3
          fe_mul(z1, t1, z2);  // z1 = t1 * z2

          // convert back to twisted edwards
          fe_sub(t1  , x1, z1);
          fe_add(t2  , x1, z1);
          fe_mul(p->X, x1, t2);
          fe_mul(p->Y, y1, t1);
          fe_mul(p->Z, y1, t2);
          fe_mul(p->T, x1, t1);
      }

This is supposed to be a straightforward application of the first link you provided. I have no freaking idea what I did wrong. I can only say thef x25519_ladder() function is correct, because it gives the correct results for Diffie-Hellman.

I'm not sure your Last 2 links contain the information I want. RFC 7748 is of no help whatsoever (I already have a correct curve25519 implementation).

<comment><USER4> Your conversion between Edwards and Montgomery is not quite correct. I suspect that is why you're getting different results (though I didn't really go over the whole thing). RFC 7748 does include the correct conversion routines in page 4: ((1+y)/(1-y), sqrt(-486664) * ((1+y)/(1-y))/x) to go from ed25519 to x25519, and (sqrt(-486664) * u/v, (u-1)/(u+1)) to go back. So with some luck, you're only missing 2 multiplications by a constant.

<comment> loup-vaillant Okay, I went through my sources, and remembered I got my conversion from Wikipedia¹. Strangely, Wikipedia gives a different map than the RFC. (One DJB paper agrees with the RFC, so either the Wikipedia is wrong, or I'm missing something.) That's why I didn't multiply by any constant.

I have a problem however: how do I find the modular square root of -486664?

[1]: [https://en.wikipedia.org/wiki/Montgomery_curve#Equivalence_w...](https://en.wikipedia.org/wiki/Montgomery_curve#Equivalence_with_twisted_Edwards_curves)

<comment><USER4>
        sage: p=2^255-19
        sage: sqrt(GF(p)(-486664))
        6853475219497561581579357271197624642482790079785650197046958215289687604742

The formula in Wikipedia is not wrong, but note that it maps E_{a,d} to M_{A, B} with B = 4/(a - d) = -486664. curve25519, and pretty much every Montgomery curve, is defined with B = 1, so you need some extra twisting to get there.

<comment> loup-vaillant Excellent, thank you. I'll get on it right away.

</comment></comment></comment></comment></comment></comment></comment><comment><USER5> The scalar point multiplication method is vulnerable as it can be attacked as feature key in this case is very important</comment>


Ask HN: Which helpdesk/ticketsystem do you use? - <AUTHOR> I'm looking for a flexible and easy to use helpdesk software with email and team support (saas or self-hosted).<p>Which is your favorite? What do you love? And what do you hate? <comment><USER2> I work at Help Scout, and it's a great hosted sass tool. But you shouldn't just pick the first one you hear about.

I wrote a guide to making the right choice of help desk tool for your own situation: [https://www.helpscout.net/blog/choosing-help-desk- software/](https://www.helpscout.net/blog/choosing-help-desk-software/)

Useful to think through before you invest time or money.

</comment><comment><USER3> My last company switched to samanage which was ok. They had a couple of nice features like an asset inventory, workflows so that we could create onboarding/offboarding and it would send emails to HR and helpdesk. We did need to purchase another solution to do AD authentication though, which was a downer. I've also used Jira Service Desk, of which the killer feature was that it had git integration, which I had a hard time finding in competitors. Honestly there are tons of choices out there. General features you should be looking for are: SSO, reports, customizable self service flows

</comment><comment><USER4> We use helpscout. Great product that keeps it simple.

We used groovehq.com before as well, but helpscout is more polished and have a better mobile app

</comment><comment><USER5> Zendesk, but lately feeling a disconnect compared with Intercom's.

</comment><comment><USER6> Zendesk, it works fine

</comment><comment><USER7> OTRS?</comment>


Ask HN: What to study to learn optimization algorithms - <AUTHOR> I find my self needing to find ways to optimize production processes. For example given an order what is the best way to split up the order into given batches for production.<p>I'm thinking a SAT solver is going to be the best approach and using the multiple buckets problem. I don't have a lot of theoretical background in these areas and would like to read a book or two before starting down this path. Any recommendations as far as books or even subject matter to study? <comment><USER2> [https://www.coursera.org/learn/discrete- optimization](https://www.coursera.org/learn/discrete-optimization)

> This class is an introduction to discrete optimization and exposes students > to some of the most fundamental concepts and algorithms in the field. It > covers constraint programming, local search, and mixed-integer programming > from their foundations to their applications for complex practical problems > in areas such as scheduling, vehicle routing, supply-chain optimization, and > resource allocation.

</comment><comment><USER3> From direct experience; learn optimisation by understanding a variety of optimisation problems. Don't worry at all about how to solve them, just get very good at being able to express the problem as a parameterised function that can be maximised.

Then learn about the properties of different classes of functions and what this inevitably means for optimisation options.

Generally your best bang for buck is mixed integer linear programming. It can solve a huge number of problems. This book is perfect:

[https://www.amazon.co.uk/Model-Building-Mathematical- Program...](https://www.amazon.co.uk/Model-Building-Mathematical- Programming-5e/dp/1118443330)

</comment><comment><USER4> [https://d2l.ai/chapter_optimization/index.html](https://d2l.ai/chapter_optimization/index.html)

<comment><USER5> There's way more to optimization than what's used in deep learning, especially if OP is interested in operations research.

</comment></comment><comment><USER5> Numerical Optimization - [https://link.springer.com/book/10.1007/978-0-387-40065-5](https://link.springer.com/book/10.1007/978-0-387-40065-5)

You'll need multivariable calculus and linear algebra as prerequisites.</comment>