Minnesota Gives Coursera the Boot, Citing a Decades-Old Law - <AUTHOR> http://chronicle.com/blogs/wiredcampus/minnesota-gives-coursera-the-boot-citing-a-decades-old-law/40542 <comment><USER2> If the government was serious about cutting budget deficits, it would immediately discontinue the purchase of textbooks, switch to ereaders (there's a company in Europe selling basic eInk readers for £8), make use of out-of- copyright reading material, abandon the practice of lecturers performing the exact same lecture term after term when a recording will do, partner with companies like Coursera to provide curriculums, move towards homework and exams that can be marked by a computer rather than by hand... And generally just run education _in a way that reflects the technology we have at our disposal._

<comment><USER3> > move towards homework and exams that can be marked by a computer rather than > by hand...

Pretty much all of current homeworks and exams can be. It's called standarized tests, and I'd argue it's one of the reasons education sucks as much as it does.

Except from that one, where I think a move in opposite direction is desirable, I'd love for all the changes you mentioned to happen.

<comment><USER4> recordings instead of lecturers? I'm not sure that's a great idea.

<comment><USER2> I actually find it a vastly superior format. You can rewind the bits you don't understand clearly, or when your mind wandered off. In a live lecture, you do not have that luxury. In order to get maximum value out of a live lecture, you need to pay 100% attention to everything as it is said, and 100% understand each thing as it is spoken. Two rather unrealistic expectations, especially when lectures are usually cumulative, building one topic on top of the understanding of another.

Questions are also probably better handled with an online (or offline) forum and office hours. At any rate, I was never overly convinced about the 'interactive' benefits of the lecture hall.

</comment></comment></comment></comment><comment><USER5> IANAL but it seems pretty clear to me that Coursera is exempted under 136A.653 subd 2 (<https://www.revisor.mn.gov/statutes/?id=136A.653>):

Subd. 2.Educational program; nonprofit organizations. Educational programs which are sponsored by a bona fide and nonprofit trade, labor, business, professional or fraternal organization, which programs are conducted solely for that organization's membership or for the members of the particular industries or professions served by that organization, and which are not available to the public on a fee basis, are exempted from the provisions of sections 136A.61 to 136A.71.

<comment><USER6> Subd. 3 seems to be more likely

Educational program; business firms. Educational programs which are sponsored by a business firm for the training of its employees or the employees of other business firms with which it has contracted to provide educational services at no cost to the employees are exempted from the provisions of sections 136A.61 to 136A.71.

<comment><USER7> That doesn't seem to apply at all. Coursera programs aren't for training their own employees, nor the employees of other businesses.

<comment><USER6> Courses are certainly sponsored by a business. Are you an employee of another business or sole proprietorship? Did you enter into a contract for educational services from coursera at no cost? Then it sounds like it applies to me....

</comment></comment></comment></comment><comment><USER8> I bet a compromise could be worked out if Coursera agrees to make instructional materials available via 'gopher'.

</comment><comment><USER9> Probably more positives here for Coursera than negatives. It'll get them more press and won't stop anyone from taking classes.

Hopefully it'll even make someone in the MN Office of Higher Education realize they need to update their policies.

</comment><comment><USER10> Well, there's the proof that Coursera and the rest are serious threats to the existing order.

<comment><USER11> Or more likely, Minnesota's just had a lot of problems in the past with scammers running useless unaccredited online and mail-in degreee programs like everywhere else.

</comment></comment><comment><USER12> This is so backwards but so are many of the laws that are on the books in many states.

<comment><USER13> This is 'backward' until you meet a bunch of doctors who claim to cure cancer using cucumber juice and find that they all have PhDs and MDs from the University of Tantric Study and Life Exploration, Middlesex Town Massahoma. People in trouble DO fall for this bs.

<comment><USER14> I find it very hard to believe anyone can possibly be confused here.

Coursera is not a university, doesn't look or pretend to be a university. It doesn't grant PhDs, MDs, or indeed anything beyond a simple certificate that isn't even valid as college credit. They go to some length on every single course page to explain this. Some courses don't even give you a certificate. The website doesn't talk about certification it talks about "Advance your knowledge and career". There is a big tab that says "Universities" so I can't see how you could think Coursera was a university.

</comment></comment></comment><comment><USER15> I attended a tech demo conference in Minnesota last week.

One topic of conversation during a networking break was having a theme to the next demo conference. The one theme which was heavily discussed? Wait for it. Edu-tech.

Oh, the irony.

</comment><comment><USER16> "the majority of work you do for the class will be done from outside the State of Minnesota"

Many many years ago, presumably during a discussion about travel, a great aunt of mine told her brother-in-law that he had been in two states she never had: intoxication and insanity. Either seems a sufficient defense here, and will the state of Minnesota make you blow in the bag and issue you a ticket for sober learning?

</comment><comment><USER17> Why doesn't coursera take the same approach as Uber and respectfully disagree to comply?

<comment><USER18> aka operate illegally?

<comment><USER19> Or win on 1st amendment grounds.

<comment><USER20> Not even close; Minnesota isn't saying that Coursera cannot operate in Minnesota, just that it cannot do so without approval -- just like how you don't have the right to have a huge demonstration without proper permits. There is well-established precedent that it is acceptable to have minor hurdles in the expression of free speech in the interest of maintaining an orderly society.

Edit: also, the problem is that they are calling it a "college course", this is a simple consumer protection issue..

<comment><USER21> My impression is that they can get away with requiring permits for demonstrations because there are physical space considerations, public safety, etc. Imagine if a state decided you needed a permit to write for a political blog. Same content as a protest may have, but without the meatspace messiness.

<comment><USER22> Coursera isn't a political blog, it's a commercial service (even if provided for no fee).

<comment><USER21> Of course, I did not mean to imply equivalence. I am only pointing out that restrictions to freedom of speech being acceptable for physical protests does not necessarily imply anything about what may be acceptable limitations in other scenarios.

 _(In this case I agree with the exception)_

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> A better title for this would be:

"Minnesota Tells Coursera To Hit the Trail...Oregon Trail That Is."

The infamous "Oregon Trail" game was developed in Minnesota.

</comment><comment><USER23> I live in Minnesota. I am enrolled for five Coursera courses (of which I am really keeping up with two, Keith Devlin's Introduction to Mathematical Thinking, a "transitions" course, and Mohamed Noor's Introduction to Genetics and Evolution). I have received no notification from Coursera to this effect. Checking my email messages from Coursera, I see no such notice, and logging into the site, there is no attempt to use geolocation to give a Minnesota- specific notice to me.

Moreover, I only see two blogs reporting this (one presumably cribbing from the other) as I do a Google News search. No local news organization in Minnesota has picked up this story. So thus far I'm not even sure that this is a true factual report. (I'll check with my state government during business hours tomorrow.) I doubt that this is true, and I doubt that this will hold up. Because I just met my incumbent state senator and state representative this evening (at a candidate forum in our newly redistricted state Senate district), I suppose I could contact their offices for immediate response to this issue, if there really is an issue here. My advice from a Minnesota Coursera student (who is also a lawyer familiar education regulations in the state of Minnesota, continually discovering new regulations that bureaucrats have ignored for varying lengths of time) is stay tuned for further news, and check the facts before proceeding to react to this.

AFTER EDIT: The first reply here refers to the Coursera terms of service,

<https://www.coursera.org/about/terms>

not a very prominent link on the Coursera site, and in context the notice fits in a big wall of text like this:

"Notice for California Users

Under California Civil Code Section 1789.3, California Website users are entitled to the following specific consumer rights notice: The Complaint Assistance Unit of the Division of Consumer Services of the California Department of Consumer Affairs may be contacted in writing at 1625 N. Market Blvd., Suite S-202, Sacramento, California 95834, or by telephone at (800) 952-5210.

Notice for Minnesota Users

"Coursera has been informed by the Minnesota Office of Higher Education that under Minnesota Statutes (136A.61 to 136A.71), a university cannot offer online courses to Minnesota residents unless the university has received authorization from the State of Minnesota to do so. If you are a resident of Minnesota, you agree that either (1) you will not take courses on Coursera, or (2) for each class that you take, the majority of work you do for the class will be done from outside the State of Minnesota.

Choice of Law/Forum Selection

"Sites are managed by Coursera, located in Santa Clara County, California. You agree that any dispute arising out of or relating to these Terms of Use or any content posted to a Site, including copies and republication thereof, whether based in contract, tort, statutory or other law, will be governed by the laws of the State of California, excluding its conflicts of law provisions. You further consent to the personal jurisdiction of and exclusive venue in the federal and state courts located in and serving Santa Clara County, California as the legal forum for any such dispute.

"Excluding claims for injunctive or other equitable relief, for claims related to the Coursera Sites where the total amount sought is less than ten thousand U.S. Dollars ($10,000.00 USD), either Coursera or You may elect at any point during the dispute to resolve the claim through binding, non-appearance-based arbitration. The dispute will then be resolved using an established alternative dispute resolution ("ADR") provider, mutually agreed upon by You and Coursera. The parties and the selected ADR provider shall not involve any personal appearance by the parties or witnesses, unless otherwise mutually agreed by the parties; rather, the arbitration shall be conducted, at the option of the party seeking relief, online, by telephone, online, or via written submissions alone. Any judgment rendered by the arbitrator may be entered in any court of competent jurisdiction."

That's about midway down a rather lengthy ToS, definitely "below the fold" for a casual glance at usual screen resolutions. Again, I will say that Coursera has not sent any notice to users of Coursera about that by email (I searched in my emails again) and doesn't draw attention to that by geolocation as users log in. So while Coursera feels compelled to add terms to its ToS, at least as of this moment, there doesn't seem to be any actual change in user interaction based on this. I will contact the relevant offices in Minnesota and see what they have to say about this during business hours. As before, Google News only reveals the blog here and another blog reporting on this.

Summing up, I think the blog post has a title that is link bait compared to the substance of the issue, and the issue appears to be doing nothing to discourage participation on Coursera on the part of Minnesota students. Coursera has put up a pro-forma legal notice, but it is still dealing with Minnesota students, and no one in Minnesota seems worried about signing up for Coursera courses.

<comment><USER24> I'd advise actually reading the article properly.

> I have received no notification from Coursera to this effect. Checking my > email messages from Coursera, I see no such notice, and logging into the > site, there is no attempt to use geolocation to give a Minnesota-specific > notice to me.

No such claim was made.

The claim is that Coursera made a change to its Terms of Service. I just checked; there is such a notice in there. It's right underneath the one for California.

The letters were sent to "postsecondary institutions". You are not a postsecondary institution.</comment></comment>


Why Net Negative Producing Programmers are Here to Stay-- Despite the Cost - <AUTHOR> http://itscommonsensestupid.blogspot.com/2009/01/why-net-negative-producing-programmers.html

<comment><USER2> _Finally, the hiring process, as employed by most IT companies, are not exactly encouraging programmers to self-improve._

Probably the best insight from the article. It's saying what we already know, but it's comforting to see another person think that most programming job ads are completely bogus. A given language can be picked up fairly quickly compared to the amount of time required to get really good at programming itself. I am actually more intimidated by the ads that don't enumerate a bunch of techonologies; this means that they are probably going to be asking for a lot of sheer badassery on your part.

<comment><USER3> This is an argument that I often hear and which I think is pretty much completely bogus.

Learning the _syntax_ of a language can be achieved fairly quickly for most languages.

Learning the implications of that syntax takes a lot longer (C++ is a good example here, otherwise "Effective C++" and "More Effective C++" would have been unnecessary).

Learning the libraries and tools associated with a language can be an effectively unlimited task.

So I don't agree. It's better to hire a good programmer than a mediocre one, sure, but given two programmers of somewhat comparable _quality_ the one with more _experience_ often proves to be considerably more valuable than the other. This is doubly true if one of them has experience in the specific tools that you will be using on the project.

The closer fitting user will have been through a lot of the debugging/learning/understanding processes that the other has still to encounter. Even the finest programmer has to learn to work with the occasional WTFs of libraries.

</comment></comment><comment><USER4> Vaguely interesting article to me. It's basically a reality check for this: [http://blog.jayfields.com/2009/01/cost-of-net-negative- produ...](http://blog.jayfields.com/2009/01/cost-of-net-negative- producing.html)

In short the reasons why you a good programmer can't remove all the "bad programmers"

1\. Working out who is good and bad is hard 2\. It would involve too much politics that you may not be good at 3\. You look like a jerk if you besmirch your co-workers 4\. It's easiest for companies to hire based on "years of experience"

</comment><comment><USER5> Of course, this totally ignores the problem (a larger one, IMHO) of negative producing management.

It is also possible to teach many net negative programmeres to become net positive, through code review, mentoring, and pair programming.

</comment><comment><USER6> Funny, the last 3 jobs I've had have mostly revolved around cleaning up monstrous piles of poorly structured code.

Don't forget to throw away your prototype.

<comment><USER7> My current job involves papering over poorly structured code.

I call it "design by accretion."

</comment></comment><comment><USER7> _Yes, of course you can target those companies that are geeky and cool, but I am sure those companies won't have enough space for all the good developers._

Duh, if there aren't enough companies for good programmers, there are surely enough programmers to start more companies. There's not a fixed limit to the number of corporate charters available...

</comment><comment><USER8> We've actually had some success getting managers to get rid of bad programmers. It's a matter of building their trust in you first, and then letting a programmer call the shots and do real interviews, etc.</comment>


Break a dozen secret keys, get a million more for free (2015) - <AUTHOR> https://ecrypt-eu.blogspot.com/2015/11/break-dozen-secret-keys-get-million.html <comment><USER2> This is from 2015.

<comment><AUTHOR> Thanks for noticing.

For everyone else, has the situation got better?? Or has it got worse? Would someone more experienced and/or qualified care to comment?

I know a bit, but not enough.

<comment><USER3> Two researchers at DEF CON this past weekend showed that the situation is better but people are still using old tech for their crypto. So, better mathematically, but not practically.

Slides are here off the DEF CON media server: [https://media.defcon.org/DEF%20CON%2026/DEF%20CON%2026%20pre...](https://media.defcon.org/DEF%20CON%2026/DEF%20CON%2026%20presentations/DEFCON-26-Nils- Amiet-and-Yonal-Romailler-Reaping-and-breaking-keys-at-scale-when-crypto- meets-big-data.pdf)

<comment><USER4> It has nothing to do with age. if it cant be cracked it cant be cracked. choose 12 words at random from a small dictionary, write em' down somewhere safe and secret, and forget about it. That will work forever. Overkill security is better than trying to find the computational limit and then going one bit above that. keys are cracked when the process of generating them is flawed or the key is not big enough. That's why bitcoin private keys are so long and why 12 words are used even though 8 would probably still be enough.

</comment></comment></comment></comment><comment><USER5> The title is a tiny poem.

</comment><comment><USER6> > even though a 280 attack will break somebody's AES-128 key out of a batch of > 248 keys.

Yeah, "somebody's", but what does the average somebody have that's worth cracking their encryption over? It seems to me that most cryptanalysis threat models would be very specifically targeted: what is the President saying on his secure line? Where are the submarines being dispatched? What are the corporate earnings or fed rate decisions going to be?

Trawling thousands of encrypted connections and cracking one or two is a pretty cool feat,but probably not valuable enough to recoup the costs or yield anything of extraordinary value.

<comment><USER7> A nation-state actor that could read a random 0.0001% of another country's internal communications would have a decisive advantage. The number of big secrets flying around is enough that you'll get a few of them.</comment></comment>


Ask HN: What is REST exactly? - <AUTHOR> I've read several articles about REST, even a bit of the original paper. But I still have quite a vague idea about what it is. I'm beginning to think that nobody knows, that it's simply a very poorly defined concept. Like Web 2.0, everyone talked about it but nobody could give a clear definition. Thoughts? <comment><USER2> REST is an architectural style. It is a formalisation of Fielding's observation how the Web works.

A RESTful interface follows those principles and must employ hyperlinks (links in HTML, XLink in XML, _links property in HAL+JSON) and/or hypermedia controls (forms, XForms) and standard HTTP methods to assert state on resources. Resources are adressed by URIs.

An interface description concentrates on describing the semantics of media types of the resources (unless you were clever and picked an appropriate one that already exists) and link relations ("a", "link", "area" element with "rel" attribute in HTML; link objects in HAL+JSON; RFC 5988 Link headers for any media type). Link relations are standardised by IANA, but you can make your own one and assign some semantics to it by coining a URI. When an interface describes particular URIs (what you typically get when you google for REST interface examples), it's doing it wrong. An interface implementation allows a user agent to discover resources through hyperlinks and what you can do with them through an OPTIONS request. You can recognise a REST n00b by their lack of talking about link relations, which is so far everyone else's answers. I must consider colund's and dclara's answers as wrong/unhelpful because their explanation is so limited and unprecise.

[http://roy.gbiv.com/untangled/2008/rest-apis-must-be- hyperte...](http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext- driven) [http://isitrestful.com/](http://isitrestful.com/)

<comment><AUTHOR> > REST is an architectural style

This is one of the things I don't understand. Architectural style for what, interfaces?

> must employ hyperlinks

A weird restriction imho. Links make sense for web pages read by humans. But APIs? Yes, links are nice to quickly get to know the API, to test it via a browser but they're not _that_ important.

<comment><USER3> > > must employ hyperlinks

> A weird restriction imho. Links make sense for web pages read by humans. But > APIs? Yes, links are nice to quickly get to know the API, to test it via a > browser but they're not that important.

The use of hypermedia is central to REST -- if you think "hyperlinks aren't important to APIs", that's equivalent to reject the REST architecture.

In REST, you don't need a map of service endpoints or conventions about locations to consume an API. You need to know _one_ resource location, and understand the representation of the resource that can be retrieved there, and from that the rest of the API should be discoverable -- moreover, the locations of the other resources can _change_ and you can still use the API.

(And this is scalable, so that what is from one perspective the "root" resource location for one API can also be a link provided by another resource, such that if you know how to retrieve the latter resource, the location of the other API root can change and you can still consume it.)

</comment></comment></comment><comment><USER4> Mostly, it means using HTTP verbs on URLs to represent create/update/read/delete. (IE, POST/PUT/GET/DELETE)

There are other intricacies like HATEOAS (which sounds like a horrible breakfast cereal), but it basically mostly comes down to updating resources using http verbs.

Whee.

(Personally I don't get the reverence it gets since it's basically just about verbs and locations, but whatever, it works well enough).

<comment><USER5> I think the reverence it gets is owed to people desperately wanting to follow a standard when it comes to offering an HTTP API. You want to make it as easy (=standardized) as possible to use it, and REST has emerged as a viable standard.

<comment><USER6> I think the ease of use isn't just about being standardized, it's also about being _simple_. REST (in)famously doesn't support higher-level concepts like transactions neatly, but it provides the magic four database operations if you only need to work with a single resource at once, and for many applications that is sufficient.

</comment></comment></comment><comment><USER7> REST has two different meanings, which I outline below. Both say each URL identifies a resource, which is represented with a document of some kind.

* The practical, common usage is a remote API built on HTTP, which uses HTTP verbs in a logical manner, exchanging JSON.

* The original meaning is what I believe is now better referred to as "Hypermedia as the engine of state" (HATEOS). In this world a URLs are not meaningful, and clients never construct or parse URLs. Instead a document format (hypermedia) specifies URLs and indicates what they do. The document format drives and defines the API.

This difference causes some arguments: [http://roy.gbiv.com/untangled/2008/rest-apis-must-be- hyperte...](http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext- driven)

</comment><comment><USER8> When I was defining our API at Synference, I looked this up.

As far as I'm concerned, pragmatically, its using the HTTP verbs to operate on resources, named according to a certain URL convention (e.g. users/<userid>), _when the semantics of the verbs are followed_.

E.g. GET shouldn't change resource state; POST should be used to create a new resource (which the server will typically name); PUT should be used to update an existing named resource, etc.

What format of data sent using these verbs can vary - JSON is one popular format, and what I'd choose.

However, in practice, when people say their API is RESTful, it often just means 'you can access our API over HTTP'. Often you see everything implemented as GET requests - for better or worse.

And there are some pragmatic reasons for that - e.g. maybe devs decide they want to use JSONP to get around same origin restrictions; there's web developers out there who can only make GET requests, etc.

<comment><AUTHOR> What is a resource exactly? Is GET /sumof/2/5 -> 7 a resource?

<comment><USER2> Yes in principle, but that's a dumb way to do it. A client programmer might infer something generalised from this example and be tempted to hard-code /sumof in his user agent, which makes the server lose controls of its URI namespace, which in turn the prevents the affair from being RESTful.

Instead, you express your summing service with a hypermedia control. In HTML you have forms, which is a perfectly fine and very interoperable way; look at all the deployed software understanding HTML forms! Another control fitting the example here is to send the client an RFC 6570 URI template (I'm uncertain of the correct syntax with the * in detail here, sorry, take this as illustration only):

        Link: </sumof/{summand*}>;
            rel="http://RivieraKid.example.net/summing_service";
            title="RivieraKid's summing service";
            hreflang="en";
            type="application/hal+json; profile=http://RivieraKid.example.net/"

Note that the server can change the URI any time (and hopefully forward to the new address with a 3xx response), the client only needs to be taught the semantics of the link relation and the media type. The rest is plain internet standards.

<comment><USER9> slashdotaccount, hit me up on twitter @pfrazee. I think we're looking at the same ideas

</comment></comment></comment></comment><comment><USER10> REST is supposed to mean systems compliant with the architectural style defined by Roy Fielding in chapter 5 of his dissertation: [https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arc...](https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm)

Unfortunately, in popular programming it has become to mean anything and everything that uses resource-oriented URLs and at least loosely: HTTP methods as verbs to "operate" on those resources.

The misuse of the "REST" as a term, has required the creation of a new term: Hypermedia APIs: [https://en.wikipedia.org/wiki/Hypermedia_API](https://en.wikipedia.org/wiki/Hypermedia_API)

</comment><comment><USER11> I think you're initial thought is correct - it's not very well-defined. Indeed, the joke is that REST's primary utility is that it enables you to criticize _anything_ with "but it's not RESTful". Indeed, Roy Fielding himself used to be famous for this.

What REST has come to mean, to me (and perhaps to others), is a URL style whereby data, including application state, is addressed in a hierarchical way. However, I don't think that's what Roy really meant.

The wikipedia article is not bad: [https://en.wikipedia.org/wiki/REST](https://en.wikipedia.org/wiki/REST)

</comment><comment><AUTHOR> To elaborate a bit – after a lot of confusion and wondering, I came to the conclusion that REST is just a very poorly defined buzzword. Another conclusion was that it's ok – a good practice in fact – to combine REST and RPC in one API. (Specifically – use REST if you can, otherwise RPC.)

I personally define REST in two different ways, let's call them REST1 and REST2, short versions:

REST1

The API is a set of collections, for example we can have /articles and /comments. We can access individual items by /[collection]/[id]. The API can allow GET, POST, PUT, DELETE operations on both collections and items. Collections are filterable, you can do /articles?author=123 for example. Basically, this like a simple interface over a set of database tables.

REST2

The server has a certain state. The API is a set of _views_ on that state. A view can be defined as a function _without side-effects_ that takes the server state as an argument and returns something, usually encoded in JSON. Every view has a certain URL and can have GET, POST, PUT and DELETE operations allowed. The POST method is allowed only for a special type of view – a collection.

The second definition is more flexible. For example, /fulltextsearch?q=test or /multiply/3/5 would be completely REST2ful. But for some tasks, you would still need RPC, e.g. if you need to change the state in a non-trivial way.

I hope it's clear, if not, tell me.

<comment><USER2> No, REST is not poorly defined, and there is no such thing as a "personal definition". It's not the word's fault that is has come to be abused as a buzzword. It's the fault of the people who abuse it.

Both your examples already fulfill many constraints of a RESTful design, but this makes it level 2 in the maturity model. So far, it's "only" an HTTP API, you need more to reach level 3, mandatory for REST. My points of critique:

1\. That /[collection]/[id] thing or /articles?author=123 filter are only RESTful when the server advises the client how to construct the URI with a hypermedia control (e.g. HTML form or URI template, to name popular examples). Because you describe the URI, here, out of bound, it is a violation of REST.

2\. I see a distinct lack of link relations between the resources you've named. Indeed, that should be the most prominent part of the description of a RESTful interface! What is the relation between articles and comments collections, or articles and comments items? Employ hyperlinks! Give the links types by coining link relations! (In actuality, don't be tempted to invent that particular wheel, because this model and its semantics are already well- defined by the Atom and AtomPub internet standards.)

3\. "REST2" is not more flexible than "REST1", it's the same. Why? Because the HTTP spec already defines whether a method is without side-effects, check chapter §9. You also describe, here, out of bound, which method is applicable to which resource; that's also a violation, instead the server sends the headers Allow/Accept-Post/Accept-Patch, and the client ought to use the OPTIONS method to introspect a resource if it wants to know before trying blindly.

In your RESTful interface description, you should not repeat what is already covered by existing internet standards, concentrate on the things that are new in your problem domain.

Lastly, every RPC problem (a procedure is a verb, e.g. addFunds) can be modelled in a resource-oriented fashion (e.g. PUT /funds), where the nouns are the addressable resources, and the verbs are the HTTP methods. Okay, that was an stupid easy example, but it also holds true for more complex, see [http://duncan-cragg.org/blog/post/getting-data-rest- dialogue...](http://duncan-cragg.org/blog/post/getting-data-rest-dialogues/) ff. If you are to become a talented API designer, you must recognise what the nouns of your problem domain are, and build the system's interaction around them.

</comment></comment><comment><USER12> REST is best described by the original paper. There are many other ways to describe it.

I like to think of the basic idea of REST as CRUD over HTTP. Think about how you interact with a database and move that abstraction out to a service level. Instead of doing things like "sign in", "leave group", "down vote entry" you instead "create session", "delete membership", "update entry". That's the key concept.

</comment><comment><USER13> The way I've always understood REST, it's all about having a rich vocabulary of nouns (resources), but a very limited vocabulary of verbs (basically only Create, Read, Update, Delete). So, in a RESTful version of this site, you don't 'upvote' a post (by which I mean call a remote procedure called 'upvote' with the post ID as an argument), you instead 'create an upvote' related to the post.

</comment><comment><USER14> It's really worth reading the thesis that started it all ([http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm](http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm)) and I also find this HATEOAS article ([http://timelessrepo.com/haters-gonna- hateoas](http://timelessrepo.com/haters-gonna-hateoas)) worthwhile reading, but to answer your question succinctly, here's my short definition:

"REST is inter-computer communication structured such that the server doesn't maintain any client state so that neither the duration between requests nor the number of clients impacts the resource usage of the server."

It's _not quite_ true, but the architecture has benefits:

1) No need to replicate client sessions in a clustered environment.

2) There's no impact if a client wait hours between requests.

3) Every resource a client uses has a unique location on the network.

<comment><USER15> "Haters" author here, glad you've found it useful.

I will mention that "nobody" is doing this is wrong nowadays. GitHub is one example, and my employer, Balanced is another. Go on, try it:

      curl https://api.balancedpayments.com/cards/CC4HEsK6eSriG3Cxs2YR2lKo/debits \
         -H "Accept-Type: application/vnd.api+json;revision=1.1" \
         -u ak-test-1sKqYrBZG6WYpHphDAsM7ZXFEmJlAn1GE: \
         -d "appears_on_statement_as=Hacker News" \
         -d "amount=5000" \
         -d "description=A sample charge to show hypermedia controls"

This request (with test credentials) charges the card stored at [https://api.balancedpayments.com/cards/CC4HEsK6eSriG3Cxs2YR2...](https://api.balancedpayments.com/cards/CC4HEsK6eSriG3Cxs2YR2lKo)

If you GET that card with the same credentials, you'll find a link in the response that points to how to debit.

<comment><USER16> Ok, I read your article about HATEOAS and there is one thing that bothers me about the discoverability aspect. The example of the discoverable "newcomment" action that can be done on the resource has no clear semantics; it's just an anonymous link. You claim that you could arbitrarily change the link and a good client would follow along, but how did a client even know that /entry/newcomment was the way to make a new comment in the first place, let alone after you rename it to /somethingelse/whatever?

I assume the examples are just suffering from being oversimplified, because otherwise the whole scheme seems like a huge sham, but I really don't understand how a client is supposed to magically discover the correct endpoint.

<comment><USER15> HATEOAS isn't the semantic web. You still need a human to translate what exactly "/entry/newcomment" _means_, in the software sense.

But once you have a client that understands one specific vocabulary, if you will, you can use the same client for multiple services which speak that vocabulary.

As an example, think about RSS: RSS is a standard, built on top of XML, which shares certain structures and link relations. A human builds an RSS reader, which understands the RSS format, and then you can use that reader on any RSS- enabled site.

Another example is [https://gist.github.com/steveklabnik/2187514](https://gist.github.com/steveklabnik/2187514) , which understands the 'ALPS microblogging' spec. You can use this microblogging client across any compatible server: [http://rstat.us](http://rstat.us) and [http://alps- microblog.herokuapp.com/](http://alps-microblog.herokuapp.com/) are two instances.

<comment><USER16> I'm still not clear on how this is possible: "By the same token, we can change the URI in our <link> tag, and a proper client will just automatically follow along. Brilliant!" If your client has a notion of what exactly "/entry/newcomment" _means_, then how is it going to automatically follow along when the link URI changes?

<comment><USER15> Before:

{ "/entry/newcomment": "/foo" }

After:

{ "/entry/newcomment": "/bar" }

Because the code says "send a POST request to whatever URL is at the end of the correct rel", it will make a POST to /foo in the first instance, but /bar in the second.

And it also recognizes if such a thing is even present. So, for example: [https://gist.github.com/steveklabnik/2187514#file- microblog_...](https://gist.github.com/steveklabnik/2187514#file- microblog_client-rb-L30)

This implies that _if_ the form with this class is on the page, then we show the "post a new microblog" button. If it's not, then we don't. The client automatically adapts to the server's response.

And where to POST _to_ is here: [https://gist.github.com/steveklabnik/2187514#file- microblog_...](https://gist.github.com/steveklabnik/2187514#file- microblog_client-rb-L37)

Maybe this helps? [http://words.steveklabnik.com/i-invented-hypermedia-apis- by-...](http://words.steveklabnik.com/i-invented-hypermedia-apis-by-accident)

Also, I have a mailing list where we discuss this kind of thing: firstname.lastname@example.com . That might be easier than checking HN history, and others can chime in too.

<comment><USER16> Gotcha, thanks. I knew I must be missing something, and that's it.

<comment><USER15> No problem. At this point, server-side knowledge is pretty known, but client- side understanding is harder to come by. Those of us on the bleeding edge are working on making it more accessible, but it just requires time and resources our merry little band doesn't always have, you know?

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER17> In my understanding REST is just a name for when HTTP (and in particular its verbs GET, PUT, POST, DELETE, HEAD) are used to operate on data (resources) by using URL paths, headers and data. The objective is something similar to the good old "remote procedure call" concept where computers can invoke actions on remote computers. There used to be complicated technologies like CORBA and plain RMI to aid computers in being able to communicate with each others.

Modern often means simple. It should be easy to operate or resources via a web API and REST is often the answer. Use the HTTP technology which is already there and embrace it and create technologies around it. KISS principle is king, as opposed to inventing a proprietary complex and useless own method of data communication.

<comment><USER18> REST is a light-weight implementation of Web Service, which evolved from other distributed architecture solutions, such as CORBA, RMI, COM/DCOM, SOAP, SOA with XML. Here is a brief report on the history of Web Service: [http://bit.ly/1jkySqU](http://bit.ly/1jkySqU)

But instead of XML, it employs data format of JSON to reduce the data size and every time it only returns a portion of the data, instead of return a complete set of data according to XML schema. This saves a lot of time for fast communication, especially if the application data set is small and simple, such as chatting.

But one interesting question is: Axis has one mode using RPC call, which is pretty fast and flexible based on SOAP using object serialization. But it's no longer popular now. Do you know why? There is a little trick of the object serializing when passing the parameters, though. But it can do RPC call so easily than the key/value pairs of JSON.

<comment><USER19> REST doesn't have to be JSON, it's agnostic with regard to the serialization format. JSON is just a popular format but I've seen XML and YAML REST apis.

</comment></comment></comment><comment><USER20> So, at University, at the end of the course the students often create a project, and maybe a paper. A lot of these are pretty awful. Really. You can lookup a lot of them online to see. We'll wait.

Back already? That bad were they? Told you so. So, anyway, one of these awful papers somehow got far more attention from the web-tards then it was due.

As a result we cannot have a discussion about web and APIs without the church of RESTful dogma sticking in their two-penneth.

REST was and is a bad idea, but hey, it sells books, passing on the moronic tradition to the next gullible generation.

Sigh.

</comment><comment><USER21> I can't give you the academic answer, but I can tell you what it means in practice.

Rest is a standardized way of structuring url's and http verbs.

For instance:

1) To get all "posts" from a blog, you send a GET request to www.whatever.com/posts

2) To read a single post, you send a GET request to www.whatever.com/posts/<id>

3) To create a single post, you send a POST request to www.whatever.com/posts

4) Finally, to get all comments from a post, you send a GET request to www.whatever.com/posts/<id>/comments

</comment><comment><USER22> Lot's of people describing HTTP here, but that's not REST. REST is transport agnostic and has a lot of other things going on it like resource discovery.

I still hold to my belief that nobody actually knows how to do "real" REST, but most everybody implements some subset of it - which is fine.

<comment><USER23> Hence the Ask HN.

People don't do it right because pretty much every description is unintelligible (for example, most of the attempts on this thread).

</comment></comment><comment><USER24> REST is an architectural style, a set of constraints applied to the design of a web API. An API can be considered RESTful if it satisfies ALL of the constraints.

The most commonly ignored/misunderstood constraint is that of Hypermedia As The Engine Of Application State. You can read more about the application of the term here: [http://roysvork.wordpress.com/2013/03/13/why-im-giving- rest-...](http://roysvork.wordpress.com/2013/03/13/why-im-giving-rest-a-rest/)

</comment><comment><USER25> While there are very confused and layered interpretations of what REST is, the reason it is important is that many of the Web Services APIs that preceded this trend used HTTP merely as a transport, but ignored so many of HTTP's features. This lead to them being difficult to use without bulky libraries. By using more of HTTP's features or basically HTTP as the API, it greatly simplifies and opens up possibilities and the tools that can interact with the API.

</comment><comment><USER26> REST is just a generally agreed upon convention that makes good use of HTTP verbs to create simpler URL structures when interacting with resources.

So basically, instead of having the following endpoints: site.com/create_user site.com/delete_user site.com/show_user site.com/update_user

You'd instead have a single use endpoint like so: site.com/user

And throw different HTTP verbs at it to signify the action.

It's definitely a well-defined concept and been part of Ruby on Rails since version 1.2.

</comment><comment><USER27> Time and time again I've found the following classification useful for thinking about REST and web-APIs in general: [http://www.nordsc.com/ext/classification_of_http_based_apis....](http://www.nordsc.com/ext/classification_of_http_based_apis.html)

Most of the stuff people are describing here as REST would be classified as HTTP-based Type I/II according to the above resource.

</comment><comment><USER28> It's about using the existing infrastructure of the web (HTTP, hyperlinks), leveraging it as much as you can (caching, content negotiation, etc.) and putting as little shit on top of it as you can (please no SOAP!)

If you actually mean HATEOAS then it gets a bit more complex, but in practice most people just interpret that as 'it should be discoverable just like a website is.'

</comment><comment><USER29> Kellabyte has the best explanation: [http://kellabyte.com/2011/09/04/clarifying- rest/](http://kellabyte.com/2011/09/04/clarifying-rest/)

</comment><comment><USER30> I like Fowler's explanation.

[http://martinfowler.com/articles/richardsonMaturityModel.htm...](http://martinfowler.com/articles/richardsonMaturityModel.html)

</comment><comment><USER31> Intro to REST (aka. What Is REST Anyway?) [http://www.youtube.com/watch?v=llpr5924N7E](http://www.youtube.com/watch?v=llpr5924N7E)

</comment><comment><USER32> Teach a Dog to REST [http://vimeo.com/17785736](http://vimeo.com/17785736) is one of the best intros I've seen.

</comment><comment><USER33> I'm happy to read comments that indicate that understanding of REST is starting to improve. The old adage about sex applies to REST: "Most people that say they are doing it, aren't doing it. Those that are are probably doing it wrong".

It might be best to preface this with a list of things that REST isn't. Rest is not:

1\. Pretty urls from your framework of choice that look like /dogs/breed/chow/weight/150 . Why? because the query string exists for a reason and has well defined semantics. 2\. Using some framework serialization package to output xml or json for content negotiations. Why? because the hardest, most important part of REST is defining media types, and the garbage spewn by most serialization frameworks is not a clean media type. 3\. Clients which access API's by curl'ing example.com/products/$productID are not restful. Why? because RESTful resources should be discoverable using hypertext. A client with a hard-coded url template is not a RESTful client.

REST, real REST, is a great architecture. In fact it's fair to say that the best example of RESTful architecture is the web you see in your browser. API's are usually a shallow copycat. What makes plain old html pages a poster child for REST? I'm glad you asked.

1\. Hyper text. Guess what, JSON doesn't provide hypertext. JSON ootb is not restful. Certain standards on top of JSON (like the _link attribute) help bridge the gap. Our friends HTML and XML support hyper text. HTML in the standard way, and XML with the link attribute. If you're not using a content- type with well-defined semantics for links, you're not using REST.

2\. Choices for intelligent UA's to browse or present as choices to their users. Forms provide a RESTful way to give a user a choice and allow them to manipulate or browser resources. JSON doesn't have anything like forms builtin. If I can't browse your "restful" API with my browser, you're not using REST.

the list goes on. But don't worry about it. Aside from not being quite as hip, it's perfectly ok if you're app isn't RESTful. Does your app provide a service that performs an action for the user? Maybe it's ok for that to be RPC. Does your app need to be tooling friendly for enterprise folks? It's ok to give them something SOAP related to make it easy for them to integrate their clients. Does your app do some sort of low-level file synchronization like dropbox? Then by all means run your service over HTTP so you can get through firewalls, but nobody cares if you pass back a list of binary identifiers instead of hyperlinks.

Really all that matters is that from a usability perspective, it's nice to make accessing your API easy, and HTTP is a great way to go if you want to lower the barrier to entry in using your API. Don't worry if your API doesn't use "hypertext as the engine of state" if it doesn't make sense for you. When you need to enhance your API, think of doing it the RESTful way first.

<comment><USER2> You are right, and I also am glad that people come around from their earlier ignorance.

I wish to amend #1. There exists a clever hack that allows any media type to have hyperlinks. Let's take text/vcard as an example, it's a nice existing standard that can be used as representation for, say, a user. (Let's ignore for a moment that a special XML serialisation and the XFN microformat exists, so that the vcard semantics are embeddable into HTML.) It can be augmented with RFC 5988 Link headers:

        GET /user?id=123 HTTP/1.1

        ----

        HTTP/1.1 200 OK
        Content-Type: text/vcard
        Link: </user?id=123>; rel="item self"
        Link: </user?id=122>; rel="next"
        Link: </user?id=124>; rel="prev"
        Link: </user?id=1>; rel="first"
        Link: </user?id=9000>; rel="last"
        Link: </user>; rel="collection http://example.org/rel/foobar_users"

        BEGIN:VCARD
        VERSION:4.0
        …

You see, this works for any resource even when the format traditionally has no (inline) hyperlinks, e.g. image/gif. I also like to replicate inline links as a Link header because it allows an UA to traverse resources with the HEAD method alone.

</comment></comment><comment><USER34> Everyone seems to have their own interpretation of what REST means, and that's exactly how you know it's not clearly defined. Not only that, but people are quite emotional about it too.

        - Here's one way to look at it:
          "REST" is a set of ideas on how to make
          sensible web-applications.
        - Here's another: "REST" is a meaningless buzzword
          parroted by everyone and their neighbour's dog.

</comment><comment><USER35> Read the original paper, not blog posts. Roy Fielding in chapter 5 of his dissertation: [https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arc...](https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm)</comment>


Ask HN: Why doesn't Google have a social media search option? - <AUTHOR> Along with images, video etc. <comment><USER2> Because the social networks won't give them enough APIs. They are rivals.</comment>


Where do you search for jobs? - <AUTHOR> http://programmers.stackexchange.com/questions/2319/where-do-you-search-for-jobs

<comment><USER2> This is a question a friend of mine has been closely researching recently - more specifically: Where do you search for Software Executive jobs [Sr Dir/VP- level] at small-to-midsize and larger companies?

His answer so far: Monster (good), LinkedIn (ok), CareerBuilder and CraigsList (poor). YMMV.

I realize this doesn't exactly fit the startup context at HN. I apologize if it's considered off-topic, but I thought it might be of interest for some.</comment>


No flights, a 4-day week, living off-grid: Climate scientists try to save planet - <AUTHOR> https://www.theguardian.com/science/2019/jun/29/no-flights-four-day-week-climate-scientists-home-save-planet <comment><USER2> Reading articles like this make me quite sad, not because the described lifestyle is unappealing to me (I'm a vegan who doesn't drive, avoids plastic, and is "off-grid" on solar power), but because on an individual level, these efforts are so pale in comparison to environmental destruction caused by military, industry and large-scale commerce, I consider bragging or evangelizing them to be vain and even a bit egoistic.

Don't get me wrong: avoiding animal products, long-haul flights, plastic shampoo bottles are all worthwhile, but not for the reasons stated. They do not even begin to address the large systemic problem of climate change and ecological harm. They make us feel good, like we're "doing something" \- and perhaps that's by design while the real perpetrators of our own extinction go unpunished and even unrecognized. It is "bumper sticker" activism while what's actually needed is a radical shift in collective consciousness. How do we organize such global action for effect?

<comment><USER3> > I consider bragging or evangelizing them to be vain and even a bit > egoistic... How do we organize such global action for effect?

Well. One suggestion would be to stop feeling bad about evangelising and start talking about lifestyle choices with friends, family, and co-workers.

<comment><USER2> I haven't had much success with that, probably because it's difficult for me to disjoin emotion from passionate evangelism. It may even have been counter- productive. What has your experience been? Can you share any strategies for such discussions about personal lifestyle politics?

<comment><USER3> I think the key is to be friendly and not judge people and not come across as a fanatic. And be patient - don't expect any immediate results, lifestyle changes don't happen overnight. It may be important to leave emotions out of this, though I am not sure about that.

Reflecting on my own experience, I don't remember anyone telling me explicitly what I should do with my lifestyle, but I did meet several people who were talking about climate change and their own personal choices. The discussions were always calm and intelligent. In hindsight I can tell those conversations were a contributing factor in triggering my own lifestyle changes. But it took years.

Bringing up the latest climate news piece could be a good entry point for a conversation. Before I joined my current project team I'm quite sure they never talked about climate. Now we regularly discuss it during lunch breaks.

</comment></comment></comment></comment><comment><USER4> _How is a handful of people eschewing flights and 5-day work weeks going to have any impact on our future temperatures?_

We can work on renewables, but the main source our renewable power today is hydroelectric and I have read that very little growth in hydroelectric power can be expected because the vast majority of exploitable topology in the USA is already in use for hydroelectric.

Its hard to imagine enough wind turbines being built to eliminate oil, coal, and gas very soon. I've probably made a mistake in my calculations so I welcome some help here. Maybe someone can correct this if I'm wrong.

      total_usa_power_MWH = 3,808,000,000
      fraction_non_renewable = 0.78
      replacement_needed_MWH = total_usa_power_MWH * fraction_non_renewable

      // replacement_needed_MWH == 2,970,240,000

      turbine_capacity_factor = 0.32
      nameplate_needed_MWH = replacement_needed_MWH / turbine_capacity_factor

      // nameplate_needed_MWH = 9,282,000,000

      cost_per_nameplate_MWH = 2,000,000

      total_cost = nameplate_needed_MWH * cost_per_nameplate_MWH

      // total_cost == 1.86e+16

      cost_trillions = 18,600

The annual GDP of the USA is around 20 trillion dollars while replacing our non_renewable_power will cost 900 years worth of our total GDP. Is this right?

Even if we pursue this course of action will it affect global temperatures. Other countries will continue to emit GHGs.

<comment><USER5> What is MWH?

If it is megawatts hours, it should be MWh (lower h), and over which period of time, day, month, year?

If it is megawatts, it should be MW, not MWh.

</comment></comment><comment><USER3> I love 4-day work week. Have been working 4 days or less for many years now, making my colleagues jealous. It's great. Never going back to 5 days. Never.

</comment><comment><USER6> I'm getting quite annoyed now with the number of people who have little to no training in matters of climate getting called "climate scientists" by the press, or representing themselves as such.

<comment><AUTHOR> Which ones from the article didn't you like?

<comment><USER6> I did a quick background check of the ones that I could but I don't remember the details; none appeared to have proper training in climate matters, though, that I recall. But just listed in the article itself you've got "sustainable consumption", "marine biology", "carbon management", "cognitive psychologist", etc. (The other day I ran across someone claiming in an online post to be a "climatologist", but in fact his other posts said that he was an oceanographer.) Those fields are at best only tangentially related to matters of climate, and there's probably not a properly trained climatologist in the bunch.

It astounds me that the field of climate science is taken so seriously when it appears to actually mostly just be full of hangers-on, also-rans, and wannabes. And I can think of a few big names in it who have little to no scientific training at all.</comment></comment></comment>


Advent of Code Python Solutions, Explained - <AUTHOR> https://www.michaelfogleman.com/aoc18/ <comment><AUTHOR> OP here. I really enjoyed reading through Peter Norvig's AoC solutions a while back: [https://github.com/norvig/pytudes/blob/master/ipynb/Advent%2...](https://github.com/norvig/pytudes/blob/master/ipynb/Advent%202017.ipynb)

I'm no Norvig, but I thought I'd try my hand at walking the reader through my own solutions this year. This is what I've come up with so far!

I'm currently 9th on the global leaderboard: [https://adventofcode.com/2018/leaderboard](https://adventofcode.com/2018/leaderboard)

<comment><USER2> Hey OP, great job! While I see your notes that you've cleaned up your solutions after the fact, what you've published is remarkably clean, concise, and beautiful code.

<comment><AUTHOR> Thank you!

</comment></comment></comment><comment><USER3> I love looking at other ways to solve these problems.

But I hope it remains clear to all that there's no singular right way to solve them. I remember writing a few of them thinking, "the big O is terrible but this is so much more obvious to read." Or even, "I bet part 2 will want to do X so I'll make it more robust for refactoring." So many variables. Fun to practice which ones you constrain.

<comment><USER4> I've enjoyed solving them on my own and then looking at the other solutions in the AoC subreddit. Its really interesting to see how people solve them in lots of languages including the language I wrote in. Usually I learn something new, and even if its in a different language I can see optimisations that I could apply to my solution.

</comment></comment><comment><USER5> I've really enjoyed these solutions in Javascript: [https://beta.observablehq.com/collection/@mpcowan/advent- of-...](https://beta.observablehq.com/collection/@mpcowan/advent-of- code-2018).

Observable has made it fun to follow along and re-run the code.

</comment><comment><USER6> I recommend reading the solutions on the Advent of Code subreddit: [https://www.reddit.com/r/adventofcode/](https://www.reddit.com/r/adventofcode/)

There are much more interesting, highly optimized solutions and better discussion, animations, etc.

</comment><comment><USER7> Thanks for the link, OP.

Looking at just Days 1 and 2, the author has given examples that are certainly concise, but (arguably) at the expense of readability. Similarly, the Day 2 part 2 answer is concise at the expense of performance, as there is a lot of duplicated comparisons and comparisons that could be skipped.

<comment><AUTHOR> In an alternate reality, I made the solutions more performant and you criticized them for being too verbose.

<comment><USER7> Fair point. I wasn't trying to necessarily criticize the solutions, but personally found differences between the given solutions and my own enlightening.

<comment><AUTHOR> Haha, fair enough. There's certainly a balance to be made.

</comment></comment></comment></comment><comment><USER8> Thank you for this. I always like reading people's writeups for problems like these. Cheers.

</comment><comment><USER9> Im still stuck on Day 15 in F# :| Trying to resist copying OPs python search algorithm.

<comment><USER10> And it might not even work. Some solutions work only on a fraction of inputs due to a vicious tie-breaking rule.

This thread might help you if you already pass all the tests : [https://www.reddit.com/comments/a6f100/-/ebw1uda/](https://www.reddit.com/comments/a6f100/-/ebw1uda/)</comment></comment>


MIT's Media Lab's new logo has 40,000 permutations [video] - <AUTHOR> http://www.fastcodesign.com/1663378/mit-media-labs-brilliant-new-logo-has-40000-permutations-video?partner=co_newsletter

<comment><USER2> For another good example of a kinectic logo that works, check out this:

[http://www.fastcodesign.com/1662367/wolf-olins-creates-a- mov...](http://www.fastcodesign.com/1662367/wolf-olins-creates-a-moving- morphing-logo-for-pwc)

and this: [http://www.fastcodesign.com/1662139/pentagrams-luke- hayman-o...](http://www.fastcodesign.com/1662139/pentagrams-luke-hayman-on- how-multimedia-is-transforming-branding-updated)</comment>


Facebook solicited feedback from millions of users before recent privacy changes - <AUTHOR> http://www.facebook.com/fbsitegovernance#!/fbsitegovernance?v=app_4949752878

<comment><AUTHOR> It looks like there was (ample?) opportunity for people to give feedback on "THE PROPOSED PRIVACY POLICY" and "THE PROPOSED STATEMENT OF RIGHTS AND RESPONSIBILITIES". Users users were even allowed to cast a vote for alternate drafts of these documents. I am not sure how much stock fb places into user feedback in this forum but I am surprised that this page has not been mentioned before. It might be an underutilized communications channel.

<http://www.facebook.com/video/video.php?v=718903095373></comment>


There's a Digital Media Crash, But No One Will Say It - <AUTHOR> http://talkingpointsmemo.com/edblog/theres-a-digital-media-crash-but-no-one-will-say-it <comment><USER2> Relevant... I got told a few days ago that:

"Buzzfeed writers have to generate at least 1 article per day. There is no minimum limit on words on the article, and the topic can be anything (within reason)."

Once I knew this, the prevalence of low-quality Buzzfeed links all over the web suddenly made sense.

<comment><USER3> One per day? I had someone at one of Vox's regional properties tell me they had to do 12 a day (combination of local and national)!

One per day seems pretty light. TV reporters in medium and small markets are usually required to turn out two a day (one package, one VOSOT). Radio reporters sometimes five or six or more, depending on market size and whether they're unionized.

<comment><USER4> Cranking out one buzzfeed-grade article a day doesn't seem like much work.

I'm pretty sure I've already put more thought into this comment than they put into most of their articles.

<comment><USER5> Automate it, a mad libs job haha, pick a random topic from the news, fill it in with data, wonder how poorly written it would come out.

<comment><USER6> You may laugh, but it seems scarily plausible to develop a machine algorithm that generates 12 articles, have a human go through to pick the 3 least- ridiculous ones and do some light editing, and push it out to the news.

<comment><USER4> Motley Fool seems to be the leaders in this -- if you search google news for any stock you're interested in then you'll find that Motley Fool seems to be cranking out largely-boilerplate articles about it; sometimes they seem to have had some human intervention, other times they seem to be fully computer- generated.

<comment><USER7> I was seeing credible copy produced for financial reporting in the late 1990s.

The underlying data are available, the vocabulary is distinctly limited, and the reporting was _already_ highly pro-forma. Mad-libbing a few variants of language and selecting the best of the lot does work fairly well.

That actually raises the underlying question: why publish narrative copy at all in cases such as this, rather than data tables or charts? News and journalism are curiously allergic to data or presenting it in a usable fashion -- I've seen tables essentially written out over several paragraphs that could have been expressed in a few grid squares.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> > _there is basically no publisher in existence involved in any sort of news > or political news coverage who says to themselves, my readers are demanding > more of their news on video as opposed to text. Not a single one. The move > to video is driven entirely by advertiser demand._

What's true is that no representative group of readers who have said what that hypothetical publisher claims they said exist.

But publishers make the claim that they would say that all the time.

I recently was assigned a project to convert all our technical manuals into 100-second Youtube feature highlights. You pay me, I will do what you ask, so it's done...but the analytics don't look good. Not even bots are watching those videos.

> _Another way of putting that is that the future that VCs and other investors > were investing hundreds of millions of dollars in probably doesn't exist._

It doesn't need to exist for most or even an above-average VC. If those hundreds of millions were invested by 100 investors at $1M in each of 100 companies, and 99 tanked but 1 unicorn made a 100x return, they would continue to behave in that way.

</comment><comment><USER9> Josh Marshall is well qualified on this subject, and is walking the walk with TPM by pushing it towards a subscription model, and away from too much dependency on ad revenue. (He has previously published insightful posts on the dangers of relying on Google and FB, and their capricious business practices).

In a larger way, this is an indictment/logical endpoint of the 'free' business model. You still get what you pay for. Imo, it's too bad micropayments haven't taken off, but i'm glad there is some traction in paid models. Perhaps things really need to get shitty with free content (ahem, autoplay video) before there is a correction towards quality content. Of course, that presents it's own problems since those too poor/cheap to pay for content will remain in the ad infested content mills.

<comment><USER10> > "Perhaps things really need to get shitty with free content (ahem, autoplay > video)"

As if things weren't bad enough already. I can imagine they could get worse, but I think we're close to the bottom (knock on wood).

</comment></comment><comment><USER11> Everyone not in the ad industry loves to make claims about how its going to fall apart, but no one I've seen has the expertise and data needed to back up their claims.

Maybe the author has a point, but this article is incoherent. There is no sources and the entirety is predicated on baseless assumptions and some analogy.

No sources or even attempt to prove any claims:

\- There are too many publishers

\- There is a fixed amount of 'revenue seats'

\- Google/fb/etc take a portion of that fixed revenue

\- etc.

I don't even know what 'too many publishers' really means, but there is undoubtedly not a fixed amount of revenue (double digit growth every year in digital ad spend), and google/fb only increase that total amount of ad revenue by acting as a ssp/dsp/exchange.

<comment><USER12> > There is a fixed amount of 'revenue seats' > Google/fb/etc take a portion of > that fixed revenue

If you need citations for these, your burden of proof is a bit too extreme.

Unless advertisers have an infinite amount of money, there will be a finite amount of ad revenue. At some point, there's a floor to how much ad revenue you can capture while still having enough money to maintain a journalistic organization, creating a fixed number of 'revenue seats'.

A portion of that money will by default go to the largest players in the market, Google and Facebook.

<comment> j-c-hewitt The real question is how much advertisers need online display. Most don't need much. Honestly, online display has more meaningful competition from print (yes), radio, and TV because it's more geared to branding.

For direct response, generally speaking online ads are more cost effective. For the most part, you don't need to place direct response ads on publishers' websites. You can just put them on FB or Google search.

I would say that it's a simple issue of aesthetics and performance. Banner ads look like total garbage. Video ads on Youtube videos tend to be less appealing than video ads on a big screen TV. Tiny thumbnail video ads on news websites are visual pollution at best and a total annoyance at worst.

</comment></comment></comment><comment><USER13> It's the inevitable come-down from over-inflating digital media start-ups in the post great recession era.

The business is mostly a terrible one with mediocre margins, vast competition and audiences that are fickle. There is also no real moat, other than extremely deep pockets (which can help sustain a journalistic advantage through ups and downs in the business). Content like that is almost like food when it comes to dealing with consumers. With very modest margins, tons of competition and fickle consumers, digital media start-ups aren't too different from restaurants in their likely-to-die rate.

Venture capitalists love to invest into them because they all picture themselves as media barrons. You see the rich person getting into news / media syndrome as a trend that carries throughout time. They all want to do it: Jeff Bezos, Warren Buffett, Steve Jobs (he was fascinated with Murdoch & news in general), Patrick Soon-Shiong, Chris Hughes, Peter Barbey, Laurene Powell Jobs, Viktor Vekselberg, Carlos Slim, Michael Bloomberg, Sheldon Adelson, John Henry, Sidney Harmon, Joe Mansueto, Mortimer Zuckerman and on and on the list goes.

For every rich person that does get into it, there are a dozen more that flirt with doing so.

Rich people constantly trying to get into news / media, is the equivalent of average people trying to start restaurants, with predictable results.

<comment><USER13> Splitting off from that comment, is the matter of reasonable valuations.

Allow me to propose that something like Buzzfeed, with $300 million in expected 2017 sales, is really worth more like $400 to $500 million, less than two times sales. Why? Its future growth rate is likely to diminish going forward with scale (ie its fastest growth days are almost guaranteed to be behind it). Its present growth rate is already down toward 10%-20%. Entities like the NY Times set the ceiling on what Buzzfeed can ever likely hope to be (in terms of business size), and that would be an extraordinary outcome. The NYT is worth $2.8 billion, with $1.5 billion in sales (so less than 2x sales), and has always struggled to have even OK net income margins of 10%.

Buzzfeed was perhaps once worth a reasonably high multiple on sales, back when it had $20 million in sales and a high growth rate. All of these companies have similarly rapidly run out of growth steam: HuffingtonPost, Business Insider, Gawker, Mashable, and so on.

What's a low to medium growth, low max ceiling, low margin, high competition, no-moat business worth? An appropriately low multiple, that's what. Anything else is playing with fire, where you see a $1.5 billion valuation turn into $200 million in a liquidation sale.

The dotcom bubble had a version of this. The Industry Standard was actually highly valued (similar to Mashable's prior $250m valuation) for a brief time back then.

So what's the argument for Buzzfeed being worth a future $5-$10 billion or more (such that a venture capitalist would value it at $1.5 billion in a round)? There's only one argument: another rich person wanting power, narrative control, media influence, and to just generally play in that rich person's sandbox, which is a story that gets repeated over and over again whether it's a traditional tycoon or just a rich venture capitalist. Rich people play in the news & media world like they do in art, swapping the assets around at prices seemingly disconnected from reality, dumping them when times are tough, paying hilariously overpriced rates for them when things are booming.

</comment></comment><comment><USER14> I agree, but my question is, why hasn't the crash happened yet? Doesn't everyone know most clicks are by bots?

<comment><USER15> This is anecdotal but I feel it's much more common than we talk about: when I was in ad tech, I saw first hand how advertisers would spend money on impressions for the sole purpose of being able to report to their higher-ups how many impressions and click they got. Particularly for brands where conversion attribution was difficult to impossible.

The media agencies spending on be half of the brand also have virtually no reason to NOT spend ad dollars on fraudulent clicks and impressions - again, they're just trying to get paid.

And of course the publisher doesn't care if the impressions are fraudulent.

Basically, there is a very large rigged economy in ad spending that both sides perpetuate for their own good.

<comment><USER16> I remember the first time I actually got raw logs of where my ad agency's impressions were ultimately going. It was just so blindingly obvious that it was all a waste.

I came to the same conclusion you did. You'd have to go several layers up into the client's org to find anyone with incentive to do anything but tell the most optimistic story they could.

That old agency is still around, surprisingly. My best guess is that whoever is actually holding people accountable for the money spent just has a number in mind that sounds reasonable, and has no expectation of seeing evidence that it's well spent.

</comment></comment></comment><comment><USER17> A couple of weeks back there was a headline about a site surreptitiously using visitor's hardware to mine some form of crypto. People were upset, but it made me wonder.. why isn't this a viable business model?

Crypto mining in lieu of advertisers would realign interest between content producer and content consumer - the person who reads your articles begins to be your customer again, instead of the companies advertising to the people reading your content. The only conflict of interest is wanting consumers to spend as much time as possible on your site, but I think that is a big step up compared to the plethora of conflicts imposed by relying on advertising as a business model.

This is of course ignoring the technicalities of working out a crypto where the economics work here. But assuming that would be possible (which is certainly a big assumption), this seems like an interesting concept that could solve the monetization issue facing so many things today in one fell swoop.

<comment><USER18> This is actually a great idea. Worthy of a post of its own.

<comment><USER19> It's been discussed repeatedly right here on HN. Unlike you, it strikes me as one of the dumbest things I've heard in a while, and I can support that assessment from multiple angles. But one person's dumb idea is another's successful business model, and I've been wrong plenty of times in the past. Like a sibling commentor, though, I catch you doing it and your domain will never again resolve to a valid IP on any machine that I own.

</comment></comment></comment><comment><USER20> There are plenty of extremely profitable and growing ad-supported digital media businesses. It's just not the Vices and the Buzzfeeds of the world.

Spending a ton of money up front to generate a huge volume of largely undifferentiated visitors and then selling their ad impressions at very low CPMs is not a winning strategy. And building it on top of the whims of Facebook's algorithm was worse.

<comment><USER21> Do you have any examples of those profitable businesses?

<comment><USER20> Well, you can check my profile for one :)

Skift is another (and if you've been following digital media for a while you may recognize its founder Rafat Ali)

These are B2B examples. Consumer media is a lot harder because you have to figure out a way to carve out a niche audience that is attractive to advertisers, but I think it's possible. And I think success is a lot more likely if you bootstrap something rather than load up on VC and debt in a moonshot.

<comment><USER21> The B2B focus seems like a smart move — and it's good to see another local business which isn't focused on the government, too.

</comment></comment></comment></comment><comment><USER22> He seems to entirely overlook native advertising. I know of a couple of decent sized businesses ($50mm+ annual revenue) that depend almost entirely on native advertising, because Google/Facebook ads in their niches are highly competitive, and tend to not be ROI positive. Certain niches on Google and Facebook are dominated by startups that are willing and able to lose investor money on negative ROI ads in pursuit of growth. They drive the bids up, and this creates a situation where existing companies and startups that are not flush with investor cash must look elsewhere for advertising that is profitable.

Further, Google and Facebook have an insane number of rules about how and what companies can advertise, and therefore there are billions of ad dollars that do not and will not ever enter into their coffers. These are not just in scammy niches either...you'd be amazed at many of the ads that get rejected by Facebook and Google. This pushes additional billions in ad money outside of their ecosystems.

As long as investors are willing to fund losing ad campaigns, and Google and Facebook keep increasing the number and breadth of rules that result in an ever increasing volume of ad rejections, there will be publishers and alternative ad networks that can enjoy vast amounts of revenue that gets pushed to the fringes by these forces. They just have to position themselves properly.

</comment><comment><USER23> Ad-driven revenue models are just not reliable long term for media publications anymore. All these sites dying or having issues were built on the old world model created by newspapers 200 years ago. These models aren't even working for the big TV networks. Their news is now basically 20 minutes of old people new stories (stuff about Jesus, medicare, health care breakthroughs) book-ended by ads for prescription drugs and adult diapers. Their only viewers are 60+, and aging.

The new model is, actually, the oldest model: Sponsorships. Remember how things like the Jack Benny Show were sponsored by Jell-O and Lucky Strikes? That model actually works again. It's strange, but it's really is a bit liberating (I work for a sponsored pub). We actually have the funds and time to do extremely expansive pieces on deep topics we choose.

Having fewer people to keep happy means having fewer editorial bonds to advertisers. In a pub with dozens or even hundreds of advertisers, all in the market on which you're reporting, it's tough to not piss them off by reporting on bad news about them. This happens all the time. ALL THE TIME. "You ran that story about our listeria outbreak, now we're not advertising Chipotle on your site anymore!" In the video game world, bad games with ads get good reviews, or ads are pulled. Movies are the same way. Many publications cover the very stuff they advertise, so it's a tricky situation.

You'd think sponsorships would be the same way, but they really aren't. Instead, sponsors get to post their own content alongside the real good stuff. Paid-for-content, as it were, which isn't even always bad, it's just stuff these companies want to get out there where people will read it, rather than sitting unread on their corporate blogs.

I am now convinced the sponsorship model is the way out of this. It might not work as well outside of a confined vertical, however. One thing is for sure, sponsors love being able to tell their side of the story to our readers, and I feel like the readers just skip stuff they find too marketingy in favor of our really good, deep content anyway, so it's kind of a win-win.

The other thing I like about sponsorships is it brings the colluding onto the table instead leaving it hidden. In the past, I've worked at places where they've been adamant about separation of church and state: advertising and editorial are divided and do not talk, collude, or work together at all. You couldn't take more than a $15 lunch for free, could take no free trips or hotel rooms, and couldn't keep neat tchochkes or product samples.

Meanwhile, these same places would ALWAYS put their foots on your neck, subtly, to influence content. They'd even send the lead sales guy and the head of editorial out to do joint meetings which were only designed to sell ads. If someone bought a large ad and you wrote a bad story about them, it could be reworked, or even killed entirely.

Sponsorships, however, are known to be collusion, right? Now that I am at a sponsored publication, I can take trips, dinners, hotel rooms. It's great! I'm still making a great effort not to be compromised, but now I can do that in Spain for a week at a conference. Makes a huge difference, frankly. I'm much better at covering a show far away if I am in the show hotel instead of the cheapest place my failing pub could afford to set me up, 20 miles away on the side of the highway.

Journalists know how to be fair and balanced. It's kinda their whole bag. The policies publications put in place to dictate this stuff are the first to be ignored when things get thin and business goes sour. It's why some sites sell their entire skin to McGriddle: that's sales getting creative with the design team, because they can't get close to editorial. Not officially, anyway. Frankly, stuff like that is to be praised. It's innovative and likely kept some edit staff from being laid off or influenced.

In the advertiser model, the editorial team gets slapped around all the time when revenues sag. Once the layoffs start, editorial integrity usually goes out the window. Sadly, if it doesn't, the pub usually dies.

The nature of the business creates this death spiral where sites churn more and more bad content, faster and faster in favor of getting the most possible eyeballs on the most possible ads. The content becomes an after thought. The more controversial and wrong it is, the more people read it, kinda like how Howard Stern had lots of listeners who hated him for years. Steal from Reddit, add 3 lines, post.

I once met a guy from Engadget who said he was in the Guinness Book of World Records as the world's fastest blogger. He could do 15 stories an hour. And he bragged about this, openly, like it was a badge of honor. Given some of the content on these buzzfeed-like sites, I could do 30 crap stories in 10 minutes, but who the fuck would want to? They'd all be wrong and have kitten pictures in them to grab hits.

I guess this is a long way of saying this: Digital media actually made journalism shitter for a while, but maybe this culling will fix things by making outlets figure out better, more innovative business models, allowing new, better voices to come to light. It's the easiest time ever to start your own outlet. Making money, however... that's always been the hard part.

</comment><comment><USER24> I pay for the digital NYT for one specific section of it and if I could just pay for that part I would, but there's not an option to do that and the rate for the whole NYT subscription is cheap anyway.

I browse the rest of the NYT maybe a few times a week, but I largely just read the one section I like multiple times a day.

There's just a lot of competition amongst these big digital media organizations, most of which have many employees. And the article's author is right that they've been largely supported by VC money.

I think there is still room for good digital content that you can charge for (e.g. Stratechery), but creators will need to focus on a niche that customers find compelling enough to want to pay for (and I don't think finding one is that hard). (I'd also immediately pay for Matt Levine's Money Stuff column if he ever went independent.)

But most should be done with very small operations and staffs. The great thing about it is that digital content has such favorable marginal cost dynamics.

</comment><comment><USER25> The "pivot to video" would explain why every third article I click from outside my usual haunts has an auto-play video at the top that follows me as I scroll down the page.

I've reached my limit; I've started blocking video CDNs with my adblocker. If there's a video I really want to watch, I'll use a different browser.

<comment><USER26> The Disable HTML5 Autoplay plugin for Chrome still works pretty well ...

[https://chrome.google.com/webstore/detail/disable- html5-auto...](https://chrome.google.com/webstore/detail/disable- html5-autoplay/efdhoaajjjgckpbkoglidkeendpkolai?hl=en)

The author has stopped maintaining the plugin though because Google is supposedly addressing the issue at the browser level.

Edit: This seems to be the recommended fix for Chrome ...

Set ...

chrome://flags/#autoplay-policy

to ...

"Document user activation is required."

<comment><USER9> Neither option works on SI.com, one of the worst/typical autoplay offenders. Hopefully, the Google 2018 fix will really take care of this.

</comment></comment></comment><comment><USER27> The content produced by millions of unpaid people like this comment is way more interesting than the boilerplate content produced by paid people written to conform to a particular zine's "style". The very idea of "lets pay a bunch of people to write about shit that everybody already knows about" is absurd.

<comment><USER10> For this reason, my primary source of Internet reading is HN upvoted stories & comments. I will often read the top HN comment on an article before reading the article.

</comment></comment><comment><USER28> I think reddit is going to be the new model of digital media. They launched recently profiles, which means users who have been fairly anon will have the opportunity to start branding themselves as thought leaders in each respective subreddit. It's already happened with breaking news. Twitter might be faster, but there is less moderation and filter for fake news vs. crowd moderation (not perfect). I wouldn't be surprised if they start their own editorial team for news or a publishing platform and let the crowd moderate what's fake/real. The only thing stopping them is trolls/shills, but that might be solved with the profiles. They just need to convince users to come out of the shadows.

</comment><comment><USER29> The answer is already here [https://basicattentiontoken.org/](https://basicattentiontoken.org/)

<comment><USER10> As BAT requires a specific browser that I don't imagine it taking off. Also I prefer a solution that doesn't ultimately rely on advertising.

</comment></comment><comment><USER30> Is there a chance that any of this plays out in favor of small advertisers? Seems like not, if current ad pricing is in part subsidized by VCs funding money-losing media platforms and hoping to "make up for it in volume" as is explained here. Will a "crash" result in less competition and therefore even higher rates for Adwords/Facebook for small businesses?

</comment><comment><USER31> I have come to believe that scale encourages mediocrity. The financial incentive in scaling is to produce more output, as fast as possible, even if the quality of output is low.

They make money by virtue of number of users rather than quality of the product.

This explains why FB sucks so bad and still makes a lot of money.

</comment><comment><USER32> "Pivot to video"

I just picture the TV in Idiocracy with the video ads all around it.

Is that what we really want to move to?

<comment><USER33> It's got electrolytes!

</comment></comment><comment><USER34> I am interested in the problems of the entire ad bubble, including Google/Facebook as well as the rest of the digital media. Google and Facebook for example drive up house prices in Silicon Valley.

</comment><comment><USER35> There is a perception in right wing circles that this is also related to trumpism, after all this crash is happening with the stock market at an all time high. A lot of these publications are at the 'progressive' end of the spectrum and they may have misread the market, even for their core readers.

Specifically the media (and in particular digital media's) response seems to have been one of all out activism against him may be working against them. People don't explicitly want to be told what to believe. Or listen to people drone on for over a year about the same stories (rightly or wrongly - but at some point it ceases to be news).

<comment><USER36> Perhaps one of the reasons that a lot of the struggling media outlets are on the progressive end of the spectrum is that they mostly need to be profitable through advertising whereas the conservative side can be run at a loss while their backers recoup their investments through deregulation and tax cuts. If someone could figure out a similar way to profit from Democratic government, that could solve most of the funding problems for those progressive media outlets.

<comment><USER37> > they mostly need to be profitable through advertising whereas the > conservative side can be run at a loss while their backers recoup their > investments through deregulation and tax cuts

This is insane. Show me one conservative-leaning media startup that was saved (or turned profitable!) through "deregulation and tax cuts" without reliance on other streams of revenue.

Unless you somehow mean that a better, faster-growing economy via deregulation and tax cuts results in better business outcomes overall, regardless of political leanings, which I would agree with enthusiastically.

<comment><USER36> > Show me one conservative-leaning media startup that was saved (or turned > profitable!) through "deregulation and tax cuts" without reliance on other > streams of revenue

How about two:

[https://franklincenterhq.org](https://franklincenterhq.org)

[https://www.watchdog.org](https://www.watchdog.org)

Notice the complete lack of advertising. It's unlikely that either of these two has much of a revenue stream beyond being funded by the Koch brothers. But Koch industries has made billions being one of the largest polluters in the world. Relaxing EPA guidelines on pollution is a huge business for them. So there's no need for either of those two media outlets to ever make a dime on its own, it just has to provide assistance for Republican politicians who are friendly to their environmental agenda.

</comment></comment></comment></comment><comment><USER38> Tl;Dr

\--too many guys with laptops means way too many sites /blogs

\--Google and Facebook are gobbling all growth in ads. That new ad dollar is being increasingly spent on Goog and FB.

</comment><comment><USER39> "The more information the better".

This dogmatic and unqualified belief must be revised by the technology industry.

</comment><comment><USER40> I have never understood, not from the very early 90s and the very early days of the graphical web and online advertising, WHY anyone ever accepted the proposal from advertisers that they pay either based on clicks or based on completed sales or things like that. It is insane. It is based on a fundamental lack of understanding of what advertisement IS and where its value lies.

Advertisers have, in my opinion, been getting a free ride for decades. They get brand recognition for free. They get goodwill for free. They get customers who know they even exist for free. They get knowledge of their product in front of customers for free. They don't pay a cent for any of it. And content providers just let this happen, in exchange for being paid based on driving clicks.

Do you think television networks would have said "sure, OK" if advertisers proposed they only pay for TV spots based on how many people showed up at the store and said they saw the ad and it was what specifically made them go to the store? Do you think radio stations would have bent over and said 'sure, sounds like a cool idea' to advertisers wanting to only pay based on how many customers came in and knew their jingle? Would newspapers have accepted only getting paid based on how many people said they saw the ad in the paper?

OF COURSE NOT. Because every single one of those customers who 'glided over it' or 'didn't see it' or didn't 'act' on it was influenced by it. And it is wrong to give that away for free. When an ad appears on a website a user is visiting of their own free will and desire, the simple mechanics of how the human brain works creates a vague positive impression for the brand advertised even when no one clicks at all. Advertisers know this. It's how they sell themselves to businesses. And they rely on content providing sites being either blissfully or willfully ignorant of this fact.

I can't help but chuckle at the timing, though. Print publications shut down text in deference to video because advertisers want it right at the same time the only video platform that is viable or ever likely to be barring a very large lawsuit for anticompetitive practices, YouTube, running at gigantic losses for more than a decade guaranteeing competition is impossible, has decided it is disgusted by the prospect of large numbers of people making a reasonable living from producing video content. They want to reform themselves in a more traditional more centralized model where a small number of tightly controlled producers of content will get rich, and the rest will either die off or be starved. Eric Schmidt touched on the idea that he sees Google's role in forcibly controlling (he would call it 'guiding') human culture as very important. He is rich, therefore he is Better and it is right for him to take the reigns and protect the seething masses from themselves. The same old mentality Old Money has operated on for centuries coming to the nouveau riche and technorati.

A mass migration of advertisers to YouTube will make Googles continued claims of a desperate lack of interested advertisers seem more and more strained as time goes on...</comment>


Ask HN: What tech stack shall I use for a pay. processing by reading a QR code? - <AUTHOR> For my MVP's primary use-case, I want to scan a QR code by Android/iOS phone using their native camera, land on to a payment processing page, where the user can pay via credit cards, and optionally, mobile wallets. In a later iteration, I would like to split this payment to go to three different accounts. What tech. stack would you advise for this use-case in the US? What tech. stack would you advise for this use-case? <comment><USER2> I'd look at payment processors and what tech they support. I'd guess that it would be fairly broad, so I don't expect that you'd be pulled in any particular direction.

Remember, after the MVP you may end up pivoting in a new direction or scrapping the project, so I'd say what ever stack your team is most comfortable doing rapid development in is best.

<comment><AUTHOR> Thanks! So far, I'm the only member in my team. I don't have tech constraints yet, but would prefer something for rapid Dev. I was hoping to get an option or two for rapid dev., like you said. Momentum and small wins are key for me at this juncture than picking up the absolute best option.</comment></comment>


Ask HN: Can a company clawback vested stock options? - <AUTHOR> I voluntarily left a well-known tech company after the 1 year stock option vesting cliff. When notifying the company that I wanted to exercise my options (within the 90 day window) they informed me that they were exercising their right to claw back and repurchase those options.<p>I'm curious if this has happened to others in the tech industry. What recourse do employees have in a situation like this? What should one look out for to avoid this in the future? <comment><USER2> Don't ask us, ask a lawyer. It depends very much on the contract wording.

</comment><comment><USER3> If the contract says they can do it, then they can do it (subject to laws restricting ability to contract, but these are generally pretty open).

</comment><comment><USER4> Well... what does your contract say?</comment>


Loca – social heatmaps, beta signup open - <AUTHOR> http://loca.io/

<comment><USER2> This is rad! I tried to implement something similarly but ended up pivoting away. I really hope this works out in much more qualified hands! The key distinction and point you tap into is the idea of anonymous, yet public. Look forward to being a user!

</comment><comment><USER3> I've actually been working on something quite similar and will be launching soon. Good luck to OP.

<comment><AUTHOR> Thanks, would love to see your app when it's ready!

</comment></comment><comment><USER4> Hi there! I was actually going to use the domain itsloca.com for a recent project. Since I'm no longer working on it though, I'd be happy to send it your way if you like. Just let me know.

<comment><AUTHOR> sure, send me an email and we can chat: firstname.lastname@example.com

</comment></comment><comment><AUTHOR> Author here - will be writing up a blog post soon about building the waitlist / referral system. Any questions/comments appreciated!

<comment><USER5> I love these "skip ahead w/ referrals" systems, because they're so incredibly easy to cheat - sorry about that!

Am very much looking forward to checking the app out.

<comment><AUTHOR> Ha - no problem, just happy to get people signed up. Gaming the system is "fair game".

</comment></comment></comment><comment><USER6> Loca means crazy woman/prostitute in Spanish. :P I can't imagine guys here using this app if it ever reaches this continent.

<comment><USER7> Not exactly a bad association: [https://www.youtube.com/watch?v=XAhTt60W7qo](https://www.youtube.com/watch?v=XAhTt60W7qo)

edit: english version - [https://www.youtube.com/watch?v=KewfYKJy8YU](https://www.youtube.com/watch?v=KewfYKJy8YU)

</comment></comment><comment><USER8> I'm moving up to SF this weekend. Very excited to see this in action!

</comment><comment><USER9> Um.. So how does it work?

<comment><AUTHOR> You share your age, gender, and location. In return, you can see a filterable heatmap of people around you. Find out where to hang out if you want to meet people.

<comment><USER10> Have you thought about connecting to foursquare data? [https://developer.foursquare.com/start/interact](https://developer.foursquare.com/start/interact)

<comment><USER11> Using the Foursquare API for this sort of data aggregation service (i.e. for stalking people) has been done many times before. Unsurprisingly, Foursquare didn't like it one bit [0] and ended up changing their API to prevent this sort of usage [1].

[0] [http://aboutfoursquare.com/foursquare-api-change-girls- aroun...](http://aboutfoursquare.com/foursquare-api-change-girls-around-me/) [1] [https://groups.google.com/forum/?fromgroups#!topic/foursquar...](https://groups.google.com/forum/?fromgroups#!topic/foursquare- api/sQMuHlv9wiU)

<comment><USER10> Cool, it's good to know that foursquare is doing that.

Nevertheless, I think a better way for this app to perform is to wrap around foursquare. I'm already going to be checking-in with foursquare, so now I have to click a second button to check-in using Loca? If mfkp allows users to add their foursquare credentials, then it'll eliminate that extra step.

But I'm also not sure if mfkp is using a "check-in" model or what.

</comment></comment></comment></comment></comment><comment><USER12> Blitz rapes, and blitz rapes, and blitz rapes.

</comment><comment><USER13> iOS only?

<comment><AUTHOR> iOS + android</comment></comment>