Amazon is not the enemy - <AUTHOR> http://arvindn.livejournal.com/112307.html

<comment><USER2> Regardless of the position of this article, Amazon has agreed with the public that revoking these books was an inappropriate action for Amazon to take, and has said it will not take that action in the future.

[http://www.informationweek.com/news/personal_tech/drm/showAr...](http://www.informationweek.com/news/personal_tech/drm/showArticle.jhtml?articleID=218501227)

As for the enemy being DRM itself instead of Amazon, I'm not sure it's DRM as much as fragmented or proprietary 'standards' that are the problem for casual users just trying to experience frictionless media. Consider the cross-device annoyances of _unprotected_ WMV, DIVX, or Flash, for example. I understand why Amazon and Sony want to protect their "software" sales, but am disappointed that these protected books are not cross compatible. Both ebook stores have a limited selection, yet each device meets a usability niche.

On that point, I also would argue against the final jab from the article:

 _"can we stop making silly comparisons between the Kindle and Sony's or whoever's two-bit book reader that no one's ever heard of?"_

In December 2008, Sony said that it had sold 300,000 units of its Sony Reader since the device launched end of 2006. Meanwhile, TechCrunch says Kindle sold 189,000 units in 2008.

Originally, however, the Sony Reader was available only through Sony and Borders. Sony began selling its Reader and related accessories in Target stores at the end of 2008.

By mid-2009, Sony Readers are sold at Apple stores, Best Buy, Borders, Brookstone, Costco, Fry's, Office Depot, Sam's Club, Sears, Staples, Target, Walgreens, Walmart, and many web retailers including Amazon. It is also available in the UK in Waterstone's, Dixons, and more. The Kindle is available from Amazon.com in the US only.

Given the Sony Reader's wide retail distribution, it's unlikely "no one's ever heard of" it, and purely anecdotally, I feel I see more of them on planes.

 _(Disclosure: I own an original Sony PRS-500, a newer Sony PRS-505, and a Kindle DX. My leisure books are on the Sony Reader for ergonomics, battery life, and travel. My technical books and documents, both Word and PDFs, are on the Kindle DX for the screen size, though it needs to be recharged from dead every few days.)_

<comment><AUTHOR> "Regardless of the position of this article, Amazon has agreed with the public that revoking these books was an inappropriate action for Amazon to take, and has said it will not take that action in the future."

I am aware of that, and indeed Amazon's ability to see right from wrong and admit that they messed up is part of what prompted me to write the article.

"In December 2008, Sony said that it had sold 300,000 units of its Sony Reader since the device launched end of 2006. Meanwhile, TechCrunch says Kindle sold 189,000 units in 2008."

Point taken. Perhaps I was biased by my own anecdotal observations. I've seen half a dozen Kindles "in the wild," i.e, not counting early adopter friends, but not one Sony Reader.

But in terms of the data, note that you're comparing Sony's worldwide sales with Kindle sales in the U.S. Besides, the numbers you quote are from Mark Mahaney, who later revised his estimates to 500k for 2008, which would mean almost a million up until now. [http://mediamemo.allthingsd.com/20090203/citi- says-amazon-so...](http://mediamemo.allthingsd.com/20090203/citi-says-amazon- sold-500000-kindles-last-year-12-billion-business-next-year/)

</comment></comment><comment><USER3> What an irrelevant article. There are two major points:

1) Amazon did something stupid.

Changing the adjective is clever, but it's still an outrageous act. They went on YOUR machine and they DELETED something YOU PURCHASED. You BOUGHT IT. There is nothing more to say here.

2) Apple had the same problem with DRM and bent over backwards to accommodate labels. Now we're all happy.

Apple never DELETED files straight from people's computers. They never took the step of taking away what you bought. There is absolutely no comparison here.

The blogger also pleads for people to target the publisher. As if I can only be outraged at one company! I'll target both, thank you very much.

<comment><USER4> That's because Apple never sold an mp3 it didn't have the right to sell. Amazon did, it realized it did, and it refunded people with an apology.

Think of it like a doctor selling you a medicine, then calling you up and saying, "Oops, I wasn't authorized to give you those pills. I need them back, and I'll refund you entirely."

There's a difference between removing an e-book and refunding it.

<comment><USER5> I agree with your analogy, and it indicates the right thing to do here. Give the refund and _ask_ people to delete the ebook themselves.

The doctor wouldn't break into your house and take the pills out of the medicine cabinet.

<comment><USER4> But "breaking in" indicates some disorder. I wouldn't trust a doctor to go into my house without asking me first. I _would_ trust Amazon only to remove the thing they're legally obligated to remove.

Perhaps I don't have the same feelings regarding owning a copy of somebody else's work. I don't feel ownership towards ebooks. I feel ownership towards the money I spend, but if I get that back I wouldn't be mad at what Amazon did. That's a minority opinion, and I think it would be worth debating somewhere that's not here.

<comment><USER6> And this software recovery system Amazon has in place is foolproof? It can't be hacked, it cannot be misused or accidentally cause harm? Then I applaud their software expertise -- the rest of us have a hard time making such perfect software.

This of course implies that the doctor would be within his rights if he caused no disorder. "I wouldn't trust a doctor to...". You didn't trust Amazon to either -- they just went in and did it, at someone's request.

Hmm.. why does this prescription bottle have an antenna on it...

<comment><USER4> But see, I _do_ trust Amazon, and I trust that if they got hacked they would fix their systems. I trust Amazon to handle my data more than I'd trust a doctor to handle my house.

</comment></comment></comment></comment></comment></comment><comment><USER7> I agree. I can't believe people are angry about it.

If you don't like DRM, buy paper books or only download those that are already in the public domain.

Sure DRM is a hassle, but so are a lot of things. For the most part, though, the problems with DRM are due to stupid business decisions and not even bad technology implementation -- consider Apple iTunes -- if your hard drive fails you have to re-purchase everything (with a single exception).

DRM just means that more content is available -- if DRM truly does impose costs/hindrance, then eventually it will go away. In the meantime, you are free to choose it if you want (or not to). There are many books that are in the public domain that one might read as an alternative to 1984.

<comment><USER8> _consider Apple iTunes -- if your hard drive fails you have to re-purchase everything_

Or you could, like, make backups. Which iTunes even pleads you to do.

<comment><AUTHOR> I'm guessing his point was that it is perfectly technologically feasible for iTunes to let you re-download songs if you lose them. The Kindle does that. I have to agree that except for the occasional SNAFU (which affects a small handful of users), the Kindle DRM doesn't inconvenience the user much, or at all.

<comment><USER9> _it is perfectly technologically feasible for iTunes to let you re-download songs if you lose them_

They have let me do this once before.

<comment><USER7> you get one per lifetime :) I used mine.

<comment><USER9> Is that really a hard restriction? Curious whether anyone has tried to do it more than once. I needed to do it for only a few songs because my backups were corrupt (or incomplete) when a drive died.

</comment></comment></comment></comment></comment></comment><comment><USER10> If it has DRM I will pirate it so I can get the DRM free version. If it has no copy protection I will buy it in the store.

I support companies that recognize property rights.

<comment><USER11> That's a little naive. You never copied a book a thousand times because you don't own a printing press. There's no market capital overhead to prevent you making a million copies of an e-book.

You obviously don't support property rights if you're willing to pirate products. You can recognize property rights by not buying their product and complain, that's your legal recourse for a market decision you don't like.

When you buy a creative product you are completely restricted in how you use it, regardless of if you bought a book, an e-book, a song or a CD. You can't use it for public events, you can't sell it on without the authors/publishers permission (in books the permission is implied hence legal, with e-books the permission is not implied hence illegal), you definitely cannot make copies. These are _their_ property rights, they made it so they own every right and those rights extend implicitly from every post-it you write on to every photograph you take. Until you, or an author says, 'yes you can use that' (when you buy their product you have automatic right of private use) and if you ask an author if you can copy their book/song/movie and they say yes, well then you have that right. Until then it's a crime, that's why people get punished for it.

So please don't be ignorant and claim you support companies that recognize property rights, they all fully recognize them because _they have ALL the rights_. If PubCo Inc recalls its book it has to do everything in its power to retrieve the book, which can include legal action. It can happen with everything from cars to microwaves, it also could happen with a book. And it happened with an ebook, Amazon had a recall obligation and they got every single ebook recalled _like they're obligated to_.

Quit your whining, change the laws if you care so much because you obviously don't understand property rights and obligations if you're complaining a recall of a product goes against your rights.

If you own an illegal product through legal means, it's still an illegal product! Microsoft offers to replace your OS with a legal one if you can prove someone sold you an illegal copy of Windows and they've offered that for years, because they'd rather get the distributor than the purchaser. However it's _your legal obligation_ to make sure the products you buy are genuine. Microsoft can still sue you for illegally owning a copy of their product, even if you paid someone full price believing you bought a real MS Vista. It's then your legal right to sue the person who defrauded you!

The only things in this world that you will legally own is your land and house. God forbid the zoning laws change or someone wants to put a bypass through your property. You can also own anything you make, so if you want to own your books, make your own. You want to own your computer? Make your own, out of parts you made yourself.

I don't even own my animals, because if I don't care for them like I'm legally obligated to, they get taken away by the SPCA.

<comment><USER10> Intellectual property, all the uses you mentioned that are forbidden, is completely insane. if the only way you can make a profit off your product is to control how people use it after they purchase it from you then you need a new business model. people published books and invented things before we ever had copyrights and patents.

</comment></comment></comment><comment><USER12> I don't buy the part about how the Kindle needs our support. Sure, I can buy the hardware, that's nice. But it's useless to me without content (no, a shitty web browser doesn't count, and I'm not swimming in book PDFs). So I need to buy books, unless I want an expensive plastic brick, but these books have DRM on them that's more restrictive than I'm willing to accept.

How would buying those books send the right message? The way it sounds to me is "hey, take my books away any time you like, that's cool."

I mean, if you're happy with the Kindle DRM, sure, buy one. But if I'm not, how is it (even marginally) in my interest for me to buy one?

</comment><comment><USER13> "books aren't magically going to become DRM-free without first becoming digital, and there's no way that's going to happen except under whatever terms the publishers choose to impose."

Oh, so to get rid of DRM, we should first swallow the pill and make ourselves dependent on it. Then, when we are completely at the mercy of DRM, it will magically go away over night. Makes sense - NOT!

</comment><comment><USER14> Just to retrieve stuff from the Memory Hole: Amazon's behaviour is not new, neither borderline braindead by any standards widely accepted by society.

Life always worked like this. Digital Restrictions Management stakeholders, like SONY rootkits are colluding with all _antimalware_ vendors and major OS suppliers to be _trusted_ (see HDCP, miniDP). The _standard_ procedure in case of deadtree books [1], which are democratically banned by Human Rights Champions, is to wipe off the shelves wholesale by the censors, on consensus. And block any dissemination by showing no interest, like CW/YRO/Story Nobody Wanted. Although the _information age_ makes old techniques more cumbersome, they still work surprisingly well, perhaps because of a lack of active interest from most people. And stuff just gets more complicated from this point...

[1] Look for this on Amazon: <http://en.wikipedia.org/wiki/The_Hunt:_Me_and_War_criminals>

<comment><USER15> I'm curious about the book. Why not simply publish it digitally? Why go through "traditional" publishers?

</comment></comment><comment><USER16> PS - Sony's reader supports publishers' DRM-content rights [1] just as well as Kindle, apart from the parts that _can't_ be technically enforced by the lack of always-tethered-ness.

The rule in the e-readers market is clear: do anything it takes to get content for your device.

1\. Yes, they are _rights_ protected by copyright law.

<comment><USER17> No they are NOT rights. They are monopoly privileges granted by the gov't.

</comment></comment><comment><USER18> I agree with this for the most part. Amazon doesn't publish books or make copyright law. It's really up to the consumers/voters to change the law or vote with their dollars. In this case I'm sure it's not too hard to track down a PDF copy of 1984. No real harm done except to the publisher who will ultimately have to change their ways. No justice, no peace.

</comment><comment><USER19> If something erases data from my computer without my consent, yes, it is my enemy!

<comment><USER4> His point is that Amazon's not the company we should be pissed off at right now.

If they want to provide us with their Kindle store, which 99% of the time is excellent and wonderful (I just got the Kindle iPhone app and I love that it syncs with my Kindle and with the web reader), they have to deal with publishers that are antique and ignorant and full of themselves. Think the RIAA is tyrannical? The publishing industry is ten times worse.

It sucks that Amazon had to do this, but given a choice between a terrific store that's subject to the whims of publishers and no store at all, I'll take the terrific store, and hope that my Shakespeare and Austen remain intact.

Amazon is one of the few companies that I trust almost wholeheartedly. I don't think they're fuck-something-up-proof, but I believe firmly that the company as a whole cares about its users and about giving them the best experience possible, even when it's at cost to them. I've never had a bad experience with Amazon, whether it was as a customer or as a seller. I understand the kneejerk impulse here, which is to call Amazon an Evil Big Corporation, but I find it sad that a decade of building trust can be so quickly thrown out the door.

<comment><USER19> I don't care if the kindle store is excellent.

I don't care if amazon is good 99% of the time.

I don't care if BigPrint is the devil and amazon was coerced.

Nobody should EVER under any circumstance delete ANYTHING from my computer, even if I bought it or not, if it is pirated or not, if it is stolen or not.

If it was your mistake to allow that to happen you should ask politely and we should be able to decide what to do.

I hope Apple takes notices, I know they have a remote shut-down switch in every iphone. They better never use it.

<comment><USER4> "I'm sorry, but we sold you a book that _we didn't have rights to_ and violated copyright. Can we please have it back?"

Doesn't work like that. If you're a major digital salesperson and somebody's transmitting data illegally, as they were in this case, then it's your responsibility to withdraw the book. Amazon should have been much more polite about what was happening, but letting people keep illegal content was out of the question here. I understand that.

If this had been a legal publisher of 1984 suddenly switching positions, I'd agree that the user should have the choice. Considering it wasn't an authorized publisher, Amazon did the one thing they could.

 _Nobody should EVER under any circumstance delete ANYTHING from my computer, even if I bought it or not, if it is pirated or not, if it is stolen or not._

Really? Because I've always thought that deleting pirated content would be a great punishment for piracy. If I've stolen something, I have no right to it. That's implicit in the idea of piracy. Deleting the stuff I pirated seems like a harmless punishment.

<comment><USER20> Scary-looking guy with tire iron and Barnes & Noble-embroidered balaclava, when caught breaking into your house at 3 AM: "I'm sorry, but we sold you a book whose North American rights the publisher failed to secure in time for publication. I'll just take it back now, and be on my way. Thank you for shopping at Barnes & Noble, here's your $6.95 back."

What's unacceptable in meatspace is unacceptable in DRM-space. Stay out of my computer.

<comment><USER20> _If I was in Barnes & Noble and bought a book, then was approached by an employee saying "We weren't actually allowed to sell you that copy of the book, here's your money back," I might be disappointed at not having the book, but Barnes & Noble retains the right to take that book back from me if they're also returning my money._

That argument would make more sense if Barnes & Noble owned my computer, or if I were still physically present on their store's property.

<comment><USER4> But why should you have to be? With my Kindle, I am _always_ in Amazon's store, as close to physically as matters. I can buy a book from anywhere. Why, then, _shouldn't_ they feel free to approach me, so long as I'm still on Amazon's property?

(I'll also clear up, since I figure it'll be brought up in a moment anyway, that if Amazon had targeted copies of 1984 that _weren't_ from their Whispernet store then I'd be more offended.)</comment></comment></comment></comment></comment></comment></comment>


SSL Blacklist for Firefox - <AUTHOR> http://codefromthe70s.org/sslblacklist.asp A Firefox plug-in that checks remote SSL certificates against the list of the RSA keys compromised by Debian's OpenSSL predictable PRNG mess.
I can't stress enough how important it is to have this blacklist installed. Detailed description of the issue is available both on the plug-in page and at this URL:
http://www.metasploit.com/users/hdm/tools/debian-openssl <comment><AUTHOR> I'm just going to comment on my own submission, because I can't stress enough how important it is to have this plug-in installed.

This is a Firefox plug-in that checks SSL certificates against the list of the RSA keys compromised by Debian's predictable OpenSSL PRNG mess. A site using such certificates appears completely normal and secure in the Firefox. However it is absolutely trivial to mount a man-in-the-middle attack against an SSL session with such a site, thus completely negating the effects of SSL protection.

Detailed description of the issue is available both on the plug-in page and at this URL:

<http://www.metasploit.com/users/hdm/tools/debian-openssl>

(edit)

Here is a notable example - <https://www.clickpass.com>

<http://img223.imageshack.us/img223/3784/clickpasskf8.png>

<comment><USER2> This seems like rather a waste of user and processor time. While the Debian OpenSSL disaster is both hilarious and embarrassing, the impact on the end user is more or less non-existent.

For one thing, in path attacks not on the local network are more or less impossible. Even if you're talking to a server which has a weak key, the chances that your data will be compromised is small.

Second, nowhere that collects important details is going to have a weak key. This is Debian we're talking about. This is not a distribution that is used by a many online retailers. Even if it was, anywhere you're likely to trust is going to be using TLS offload cards anyway, which have hardware secure random number generators.

Third, anywhere you'd trust with important personal details has already reacted and generated new keys. If the people you're dealing with aren't keeping up with high publicity security advisories sure as hell aren't keeping up with much lower profile advisories. This will tend to mean you are far more at risk from the server itself being compromised, rather than any communication in progress.</comment></comment>


You're probably working for free today - <AUTHOR>

A not so fun 'fun fact'. Unless you work for yourself, it's very likely that you are working for free today. Year salaries are almost always based on 365 days a year. Because it's a leap year this year, you're working an extra day, essentially for free. Another plus for working for yourself! ;) <comment><USER2> If salaries are paid every two weeks (like mine) then you are not "working for free". If salaries are paid bi-monthly then you can make the case...but it's still not really working for free as you say. I'm not putting in an "extra day" of work, I'm merely working a regular Wednesday, that happens to fall on a leap year.

<comment><AUTHOR> True - if paid monthly, you're essentially working for free today.

</comment></comment><comment><USER3> >>Year salaries are almost always based on 365 days a year

Nope. Year salaries are based on .. well.. _year_.

29th feb is part of the current year. It's still current year. Not current year PLUS one day.

<comment><AUTHOR> From the NWPC (for US): The factor 365 days in a year is used in determining the equivalent annual salary of monthly-paid employees. Same applies in EU.</comment></comment>


Ask HN: iOS app for adding entries to Google Sheet - <AUTHOR> I frequently use Google Forms to append entries into Google Sheets, and it works great most of the time. I usually have a bookmark on my home screen to make it easier to access.
But I still need to be online. I couldn't find a "Google Forms" app. One that will launch immediately, and collect data even while offline. In the ideal case, these would sync the next time the app becomes online.
Is there such an app by Google? Are there any third-party apps that can achieve the same? Thanks! <comment><USER2> Why don't you build something using Apps Script? It's pretty powerful.

[https://developers.google.com/apps- script/](https://developers.google.com/apps-script/)</comment>


Push notifications for Colbert Report live taping - <AUTHOR> https://itunes.apple.com/us/app/ticketreport/id910320082?mt=8

<comment><AUTHOR> A few of us have been trying to go to Colbert Report live taping in NYC before Colbert goes off the air. Turns out it's a huge pain with their old-school website, nearly impossible to get tickets. So my friend made this handy iPhone app to send push notifications when tickets are available. Worked like a charm. I sent it to people at work as well, and our whole department was able to get tickets. Enjoy!

<comment><USER2> Can you talk about the stack? How are you getting this info?

<comment><AUTHOR> Built using PhoneGap and Parse. Quick app that scrapes the Colbert website and sends a push notification when there are tickets available.

<comment><USER2> Great. How are you getting the word out? Tweeting back at ppl looking for tickets? ([https://twitter.com/search?f=realtime&q=colbert%20report%20t...](https://twitter.com/search?f=realtime&q=colbert%20report%20tickets&src=typd))</comment></comment></comment></comment>


Mac Machines considered helpful - <AUTHOR> http://codeclimber.blogspot.com/2008/04/mac-awesome-dev-machine.html

<comment><USER2> DHH already said all this.

And PG noticed hackers moving to Mac 3 years ago.</comment>


The Traveling Salesperson Problem - <AUTHOR> http://nbviewer.ipython.org/url/norvig.com/ipython/TSPv3.ipynb <comment><USER2> It's amazing to me that someone of Norvig's stature still finds time and joy in tackling "common" CS questions and not just writing his own code, but going the extra mile by doing it in a presentation format (ipython notebook) that's designed to be reader and replication-friendly...nevermind creating a fleshed out narrative of the process.

A list of his notebooks here: [http://norvig.com/ipython/](http://norvig.com/ipython/)

His explanation of the Cheryl's birthday brain teaser, which was posted here last week: [http://nbviewer.ipython.org/url/norvig.com/ipython/Cheryl.ip...](http://nbviewer.ipython.org/url/norvig.com/ipython/Cheryl.ipynb)

edit: One of my favorite bits: Norvig even takes time to describe his thought process behind what most people would consider the most basic object-oriented design: how to construct a simple Point class, and then explains how that will affect his design and implementation of subsequent functions and routines: [http://nbviewer.ipython.org/url/norvig.com/ipython/TSPv3.ipy...](http://nbviewer.ipython.org/url/norvig.com/ipython/TSPv3.ipynb#Representing- Points-and-Computing-distance)

</comment><comment><USER3> Here's a more or less complete list of references for the known approximation and inapproximability bounds for TSP and its special subproblems.

[http://cstheory.stackexchange.com/questions/9241/approximati...](http://cstheory.stackexchange.com/questions/9241/approximation- algorithms-for-metric-tsp)

One thing to note in particular is that general TSP has _no non trivial approximation guarantee._ Norvig's article might not stress this strongly enough, the guarantees he describes really depend on the triangle inequality. At least, I think the gap between what's possible for these two versions is deep enough to mention.

Another important note is that the TSP subproblem Norvig attacks, Euclidean TSP, has much better theoretical guarantees than a 2-approximation. In fact, the problem has what's called a polynomial time approximation scheme (for a fixed dimension) allowing one to efficiently compute an approximation that is arbitrarily close to optimal. The runtime of the algorithm is something like n (log(n))^c where c depends on both the accuracy and the dimension.

</comment><comment><USER4> It's amazing to see all of this described in such detail. Very nice presentation!

Also, I'm going to mildly hijack this thread with a question since I know people familiar with this kind of problem will be looking at the comments ;)

The TSP is essentially trying to find the correct permutation of an ordered list of cities (up to a cycle) that minimizes the total distance traveled.

I have a somewhat similar problem. Given a set of vectors (in R^3), I am trying to find a way to generate a permutationally invariant representation of these vectors _that is also_ rotationally invariant. The rotational invariance is easily solved by constructing the Gram matrix of the set of vectors (each element M_ij in the matrix is the inner product between vector x_i and vector x_j). Of course, the Gram matrix is overcomplete now (redundant), so I take the Cholesky decomposition to get a unique representation that has 3 less degrees of freedom (all the rotational degrees) than the original set.

For permutational invariance though, I'm having a heck of a time. I've been extensively searching the academic literature on this topic, and maybe I'm just not using the right search terms, but I can't find anything. Recently I've been reading about symmetric groups and trying to figure out if there's some kind of linear basis that I can construct its elements out of, but I'm not having much luck. Anyone have any ideas?

If that problem is too hard, consider this simpler problem: Given a metric between two sets of vectors (of the same order), I want to find the permutation of the second set that minimizes this metric. So basically, min(|| A - P A' P' ||), where ||X|| denotes the metric, and P is a permutation matrix. I feel like there is some kind of relation between this question and the TSP, but I can't quite figure out what.

<comment><USER5> This is just the problem of forming automorphism-invariant encodings of a graph, but extended to permit weighted graphs.

First, given the Gram matrix for your vectors, interpret its entries (read from left-to-right and top-to-bottom) as defining a cumulative sum.

Next, order your vectors such that the values in the order-induced cumulative sum are maximal for as many of the partial sums as possible, compared with the cumulative sums induced by any other possible ordering. This produces the same "canonical ordering" and hence the same "canonical Gram matrix" for any set of vectors that have the same collection of pair-wise relationships, as measured by dot-products.

For graphs with binary adjacency matrices this can be stated more simply as sorting the vertices such that the resulting adjacency matrix, when read l-to-r and t-to-b, produces the largest binary number. This encoding uniquely identifies the automorphism group of the encoded graph (i.e. all isomorphic graphs produce the same encoding).

If you were willing to represent your pair-wise dot-products u sing fixed- precision binary representations, then you could just use the "matrix as binary number" approach directly. Though, each matrix entry would now contribute multiple bits to the binary number, rather than just one.

Note that this approach is not efficient. But, your problem subsumes standard graph isomorphism, so a polynomial-time solution would be noteworthy. All of what I've said makes no assumption about the vectors' dimensions. There's probably a more efficient approach for vectors constrained to a relatively low-dimensional space.

</comment></comment><comment> mck- I'm surprised that there is no mention of Tabu Search or other metaheuristics (like simmulated annealing, as pointed out in this thread). In my research, I discovered it to be one of the best algorithms for this class of problems (determinisitic, non-black-boxy, flexible, can incorporate expert knowledge).

Also worth mentioning is that while the TSP is interesting from an algorithms class perspective, a problem that occurs far more often in real-life is the Vehicle Routing Problem.

The Vehicle Routing Problem (with time-windows, types, multiple vehicles, multi-depot, capacities, etc) is a much more complex problem compared to the TSP, and I would argue that pretty much all the algorithms mentioned in the article would fail to transfer.

Here's an open-source library written in Common Lisp that implements the Tabu Search approach [1] -- shameless plug, but we also build an API for it [2]

[1] [https://github.com/mck-/Open-VRP](https://github.com/mck-/Open-VRP)

[2] [https://www.routific.com/developers](https://www.routific.com/developers)

<comment><USER6> I'm wanting to dabble with metaheuristics. You mention VRP... what are other "hello world" problems for testing different algorithms? Thanks!

</comment></comment><comment><USER7> For the set of real numbers R, positive integer n, and the Euclidean norm on R^n, there is the old R. Karp paper where he shows amazing results for: Find a minimum spanning tree and do a depth-first traversal but deleting arcs that have already been traversed and going directly to the city not yet visited that the depth first traversal would visit next.

So, just code up one of the at least two famous polynomial and amazingly fast algorithms for minimum spanning tree then write the traversal code.

For the Euclidean case, likely tough to beat, all things considered, in practice.

Why not stop there?

(1) In some cases want to be quite close to optimality or have actual optimality.

(2) In some cases, the Euclidean norm need not hold even roughly, e.g., job shop scheduling with setup times.

</comment><comment><USER8> > There are more sophisticated approximate algorithms that can handle hundreds > of thousands of cities and come within 0.01% or better of the shortest > possible tour.

Anyone have more details on this more sophisticated algorithm? Even just a name to google would be great.

<comment><USER9> The earliest one to be proposed (1958) is called "2-opt": [https://en.wikipedia.org/wiki/2-opt](https://en.wikipedia.org/wiki/2-opt)

The Lin-Kernighan heuristic is a related heuristic developed later, which works well in practice on many problems. Here is an implementation (freely available source, but not freely licensed): [http://www.akira.ruc.dk/~keld/research/LKH/](http://www.akira.ruc.dk/~keld/research/LKH/)

</comment></comment><comment><USER10> I like how Norvig isn't a Real Programmer. His way of describing the problem before starting to work on it is refreshing.

<comment><USER11> > I like how Norvig isn't a Real Programmer

I'm not sure what you mean by "Real Programmer". if one write programs for a living one is a programmer. Reminds me that french joke about the "real hunter" and the "fake hunter".

<comment><USER12> I think they mean it in the "real programmers use FORTRAN" [1], not the literal, sense.

[1] [http://www.catb.org/jargon/html/R/Real- Programmer.html](http://www.catb.org/jargon/html/R/Real-Programmer.html)

</comment></comment></comment><comment><USER13> I don't remember the algorithm exactly and Google isn't yielding any useful results, but I seem to recall that if all the distances are integers (or if you make all the distances integers via scaling/rounding) there is a much faster algorithm that relies on "stepping upward" and considering increasingly larger distances. All I remember is that it's very similar to the same principle that makes radix sort sub-linearithmic.

Anyone know what I'm talking about?

<comment><USER3> They would certainly have to be _bounded_ integers, right?

<comment><USER13> Yes, I believe it is something like O(n) where n is the sum of all the distances.

It's probably related to the "pseudopolynomial time subset-sum" algorithm.

</comment></comment></comment><comment><USER14> The classic practical algorithm comes from Bell Labs work in the 1960s. Connect the points in some random order. Then pick two links and cut there, leaving three connected chains. Try all 12 possibilities for reconnecting those three chains, and keep the shortest. Repeat until no improvement is observed for a while.

This was one of the first useful nondeterministic computer algorithms.

<comment><USER15> _Try all 12 possibilities for reconnecting those three chains..._

I'm only coming up with 8 possibilities. Pick one chain and designate it Aa. That may be followed by:

        Bb, Cc
        Bb, cC
        bB, Cc
        bB, cC
        Cc, Bb
        Cc, bB
        cC, Bb
        cC, bB

If distance depends on direction, multiply by 2 (for aA in addition to Aa), but that still isn't 12.

<comment><USER14> Aa can be in the middle.

<comment><USER15> Aa Bb Cc is identical to Cc Aa Bb (or bB aA cC). That's why we fixed one chain, to simplify the rest of the calculation.

EDIT: on reading TFA I find Norvig does essentially the same thing: " _So let 's arbitrarily say that all tours must start with the first city in the set of cities. We'll just pull the first city out, and then tack it back on to all the permutations of the rest of the cities._" Interestingly he doesn't also eliminate the Aa-aA redundancy, because " _First, it would mean we can never handle maps where the distance from A to B is different from B to A. Second, it would complicate the code (if only by a line or two) while not saving much run time._ "

<comment><USER14> OK, non-standard problem definition. Sorry. Usually it's an interconnection problem without specified ends.

</comment></comment></comment></comment></comment><comment><USER16> Great stuff from Norvig, as per usual. I find it strange that the next step after enumeration is a heuristic approach, something that comes up a lot in "solve a TSP" posts - there are many ways to solve TSP to provable optimality that perform really well on non-pathological instances, and can often be stopped at any point to get both a probably near optimal solution and, even better, a bound on how good the best solution could be. I would argue that the implementation cost is outweighed by the possibility of usually getting optimal solutions and by having confidence in how far off you are (no chance of producing a terrible solution).

</comment><comment><USER17> what about global optimization methods, e.g. simulated annealing?

<comment><USER18> I too was disapointed SA wasn't even mentioned. I've gotten good results with it in the past. It's ability to get out of local minima make it quite powerful. Still, it's an excellent article.

<comment><USER19> Simulated Annealing is my go-to optimization algorithm. I'm using at work to solve a vehicle scheduling problem.

</comment></comment></comment><comment><USER20> Just the right mix of theory and practice to make the data structures class I had as an undergraduate pale in comparison. Thank you Mr. Norvig, and please keep them coming.

</comment><comment><USER21> A while back someone posted a cool simulated annealing post of this[0]. The app seems to be down, but the code is there in case anyone wants to take a look.

[0] [http://toddwschneider.com/posts/traveling-salesman-with- simu...](http://toddwschneider.com/posts/traveling-salesman-with-simulated- annealing-r-and-shiny/)

</comment><comment><USER22> To me, a 1089-point 'Travelling Salesperson Problem' is finding the sales staffer who is willing to do that in one run... :)

</comment><comment><USER23> Is it the non sexist version of the "Traveling Salesman problem"?</comment>


HP announces OpenSwitch, an open-source network operating system - <AUTHOR> http://www.openswitch.net/ <comment><USER2> So I look at a random source file, and find:

[https://git.openswitch.net/cgit/openswitch/ops- arpmgrd/tree/...](https://git.openswitch.net/cgit/openswitch/ops- arpmgrd/tree/src/arpmgrd.c)

        /* Build hash key for a given vrf name and ip address */
        static int
        get_hash_key(char* vrf_name, char *ip, char *key)
        {
            sprintf(key, "%s-%s", vrf_name, ip);
            return strlen(key);
        } /* get_hash_key */

What could possibly go wrong?

Definitely not thinking hard about security over there.

<comment><USER3> Ha. Kind of like PHP's function name lengths being used as a "hash" back in the day.

But, what contexts is this function used in? Is it supposed to be one-way at all? If not, then this is just a simple way of distributing vrf/ip pairs into buckets. Still smells funny, though.

EDIT: This comment looks like I'm defending the implementation here. I'm not. Seems like it'd me more uniform to just add the bytes in the vrf/IP pair and mod them with something. Seeing a hyphen in the format string of sprintf() is really weird, considering that just he string's length is being used.

Again, assuming this is in no way security-related, then this is just a general, run-of-the-mill WTF.

<comment><USER2> An unchecked "sprintf" is a potential buffer overflow, especially in something like this where the input and output string buffers are parameters to the function.

I didn't even go looking for bad code. I was just curious to see what language they were using. This was near the top of the first file I looked at.

The code looks like C code circa 1990. If a first glance turned up this, what else bad is in there?

<comment><USER4> Whether this is bad in practice depends. It is declared static, so it's just a small helper function, not a major API entry point.

In a review, I'd call out requirements for buffer overflow detection outside this function.

</comment></comment></comment></comment><comment><USER5> "OpenSwitch is a network operating system for disaggregated switches that are built around OCP compliant hardware and that utilizes the ONIE boot loader to install and uninstall network operating systems. It is aimed at accelerating the transition to open networking as well as the adoption of disaggregated data center networks."

</comment><comment><USER6> This is a "me too" move by HP. Open network linux already exists, already uses ONIE, and is already a part of the open compute project. [http://opennetlinux.org/](http://opennetlinux.org/)

This is just a land grab by HP.

</comment><comment><USER7> This seems like a good, if belated, move on HPs part. Ethernet switches have become trivial to build with off the shelf parts. If you open up the software then you can focus on things like build quality and reliability.

<comment> ju-st It sounds _too good_ to me. How will they make money in the Ethernet switching sector?

<comment><USER8> If this becomes the main type of switch, then HP would be in a great position to offer integrations and consulting.

<comment> ju-st The companies that need integrations and consulting are more likely to buy Cisco. This open source OS will be in the "experimental" status for quite some time.

</comment></comment></comment></comment><comment><USER5> How is this any better/different than Open vSwitch?

[http://openvswitch.org/](http://openvswitch.org/)

<comment><USER9> openvswitch is simply an interface which provides the ability to programmatically configure your network devices.

You could run it on OpenSwitch as the program/module which talks with a controller.

<comment><USER10> More so, there's already a white box switch that runs it, Pica8 switch is basically a Debian distro with OVS and proprietary drivers.

<comment><USER11> And here is the recently announced partnership between HP and Pica8. PicOS is certified to run on HP Altoline switches.

[https://www.sdxcentral.com/articles/news/pica8s-white-box- os...](https://www.sdxcentral.com/articles/news/pica8s-white-box-os-gets-a- big-name-partner-in-hp/2015/09/)

</comment></comment></comment></comment><comment><USER12> The hardware compatibility list is pretty slim at the moment:

[http://www.openswitch.net/documents/user/hardware- compatibil...](http://www.openswitch.net/documents/user/hardware- compatibility)

<comment><USER13> The release today is about opening it up for the community participation. Making sure we release it early and not overbaked. So the community can shape the direction. We wanted to have one real HW platform that would be fully functional + Docker container image, which is being heavily used in the development and CIT. Other Broadcom Trident II/Tomahawk based platforms would be quite easy to support. For other ASICs, we would be glad to get their vendors involved.

<comment><USER14> So I'm guessing this gear is well out of the range of the hobbyist hacker? Is there a virtualized one I can play with instead?

<comment><USER15> Here are instructions to get started in a virtual setup.

[http://openswitch.net/documents/dev/quick- start](http://openswitch.net/documents/dev/quick-start)

</comment></comment></comment></comment><comment><USER16> Their Github organization is empty, but you can see the code at: [http://git.openswitch.net/cgit](http://git.openswitch.net/cgit).

<comment><USER13> main repository is indeed at git.openswitch.net where it's paired with Gerrit for code reviews (review.openswitch.net).

Github mirroring will be set up in about week.

</comment></comment><comment><USER17> Gonna be hard to compete with the likes of Cisco Nexus... I mean after almost 5 years of the Nexus 1000V platform they come to the table with an "open- source" software platform to be used on hardware that no one is currently using?

I could see this getting traction if they announced it was compatible with some of the newer switches

<comment><USER12> The Nexus 1000V is not really in the same category at all. This is a replacement for NX-OS.

And honestly, I really don't know how Cisco's Nexus line is going to survive at all. They will coast for a while on the population of Cisco certified engineers that don't want to learn new things, but it is literally cheaper for us to buy new hardware and support contracts than it is to renew our Cisco support contract. _And_ the alternatives are far more capable than NX-OS for our ops people.

The Nexus line is effectively dead, as I see it.

<comment><USER18> I asked our Cisco representative to offer a competing quote against an HP networking deal, and he responded with a quote for Cisco servers, and Ironport mail filtering.

When I asked him what was going on, he pointed out that he only responds to bids he can win. I told him there were no servers in that opportunity, and he went on to discuss that, from a sales point of view, I have a better chance of pushing servers anyway, than pricing Cisco against HP networking. That's from one of their own guys, and it says a lot.

<comment><USER19> It says HP is trying to buy market share. That strategy doesn't tend to work well long-term when your shareholders catch on.

<comment><USER12> I doubt HP is losing a dime on their switch pricing, unless HP is even less efficient than I expect them to be. Other vendors beat HP handily on price with identical hardware specs. Cisco has gotten fat on ridiculous margins, and it's doubtful that they will be able to survive in a marketplace where merchant silicon drives commodity switches.

</comment></comment></comment></comment></comment><comment><USER20> As I stopped knowing anything about datacenters around 2001, can anyone tell me what a network operating system is?

I am going to guess large high throughput switches and some degree of software defined networks that knock putting your printers on one C-network and your servers on another into a cock hat

Apart from raw power, is there some way I can reconfigure my network without moving a cable that I previously could not?

(It's late, so just to be sure, I'm not trolling)

<comment> ju-st It's just like the usual IOS or JunOS. It's just open source, thats the only new thing I suppose. This has nothing to do with SDN.

<comment><USER11> Actually, to the contrary. It's all about SDN.

It provides open interfaces to interact with the switch through several means like OVSDB, REST API ... or CLI. OpenFlow is not supported yet although will be in near future.

Since it's open source, it also gives you the opportunity to run other agents in the switch control plane ... which is hardly possible with IOS or JunOS.

</comment></comment></comment><comment><USER21> In my experience HP has never been good at software or networking - that their two weak points. Will be interesting to see how this pans out.

<comment><USER22> I disagree. HP Networking is a great mid market solution.

If you want a bad network solution check out the LG IPECS line of network gear.

</comment></comment><comment><USER23> I was recently polling for some hp Openflow switches; which are not supported here...

Isn't this just another move to sell more switches?

Will there ever be code for some of the older MIPS based switches?</comment>


An AI Epidemiologist Sent the First Warnings of the Wuhan Virus - <AUTHOR> https://www.wired.com/story/ai-epidemiologist-wuhan-public-health-warnings/ <comment><USER2> Discovering Li Wenliang's original posts (the _actual_ first warnings) doesn't seem like much of an AI breakthrough, especially when the technology used was essentially Google Alert on keywords. Maybe the real story is that their search engine picked up the story even while Chinese censorship was kicking in. Here's a report about how the censorship aspect is still occurring: [https://nationalpost.com/news/world/chinese-government- censo...](https://nationalpost.com/news/world/chinese-government-censor-li- wenliang-dead-weibo-wechat-coronavirus)

This so-called AI article seems like a shameful way to steal credit from whom credit is actually due.</comment>


Chelsea Manning is tweeting from prison - <AUTHOR> https://twitter.com/xychelsea <comment><USER2> When I was doing my time in the Fed (1995-2000), my friends & mom had set up a web page for me.[1] Sometime around '96 or '97, the prison Captain (responsible for security) found out and had me fired from my "good" job. (Good job meant I was working at the Unicor factory, where I could have eventually made $200/month). I was transferred to be an "orderly" (which means janitor), earning $5/month at the Captain's office, so he could keep an eye on me.

Eventually I found out the reason he had me fired was because the prison officials didn't like the attention that my web page brought, and they also though I was somehow accessing the Internet from the Unicor factory (they had terminals there, which I wasn't allowed to be near). My case started getting attention, media interviews, etc. At one point, I was told directly by the prison staff attorney to stop all the attention. I scaled it back enough to where they stopped harassing me. It's definitely a tradeoff - the more attention you get, the more they will fuck with you in there.

[1] [https://web.archive.org/web/19990222022940/http://www.parano...](https://web.archive.org/web/19990222022940/http://www.paranoia.com/~mthreat/)

<comment><USER3> It's amazing the way prisoners work for $5 a month; and the best possible outcome is $200/mo. Even though slavery was supposedly abolished, it seems like prisons never got that memo.

And since most people won't ever step foot inside one, we just pretend it's a non-issue because a) they must be bad people for being in there; and b) it's not our problem.

You know, until it is. But don't worry, if and when that happens, I'm sure we'll get the same sympathy for our plight as we have spared to those before us.

<comment><USER4> Slavery is explicitly permitted in prisons by the constitution.

> Neither slavery nor involuntary servitude, except as a punishment for crime > whereof the party shall have been duly convicted, shall exist within the > United States, or any place subject to their jurisdiction.

[https://www.law.cornell.edu/constitution/amendmentxiii](https://www.law.cornell.edu/constitution/amendmentxiii)

<comment><USER5> It could be argued that prison labor is "cruel and unusual" by modern standards.

<comment><USER6> AFAIK it's voluntary, no? Also, given the choice between working 8(?) hours a day, or sitting staring at a cell wall for the same hours, which would you pick? (I'd pick the work)

<comment><USER3> I'd absolutely choose staring at walls to cleaning toilets for $5 a month.

But if it's completely voluntary, and you won't face any direct nor indirect retaliation for refusing, then I have less of a problem with it (it still distorts the labor market when they take jobs from people not incarcerated, and the taxpayers are the ones subsidizing those jobs.)

<comment><USER7> You still need stuff from the commissary though, so unless someone is putting money in your prison account you'll need to get money somehow. I'd rather clean toilets for $5/month than some of the other alternatives (I don't know what they would be but I imagine they're not pleasant).

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> > Also for those of you asking: @fitzgibbonmedia is handling my account for > the time being

So it sounds like Manning doesn't have Twitter access but instead is probably giving whatever tweets she wants to send out to the Fitz Gibbon Media. Not much different from the old statements and letters from prison other than where it ends up.

PS: For anyone else who was confused like me since it's been a while: Chelsea Manning == Bradley Manning.

</comment><comment><USER9> When I was in, there was at least one "celebrity" inmate living with me maintaining his twitter feed in the same way -- dictating to a friend over the phone. A twitter feed on its own is not indicative of the experience and brutality of his incarceration. Hopefully he'll speak to that himself and raise awareness. But do not doubt, he faces a threat to his safety by doing so.

I think, with an eye toward's the arc of history, that some day I'll see Chelsea Manning's term commuted and Edward Snowden pardoned.

I hope, at least. It's a disturbing alternative to countenance. In this country the prisoner is always regarded as subhuman. And his suffering is effectively irrelevant.

</comment><comment><USER10> Many prisoners get daily e-mail access. For outsiders there's either a web portal or an app. With the app you get a push notification when there's a new message. It's _almost_ like texting, except it takes a few hours for any message to go through. Roundtrip can be a few more hours since e-mail access from the inside isn't continuous.

[https://www.corrlinks.com](https://www.corrlinks.com)

</comment><comment><USER11> This is unbelievable if true. Why has nobody thought of tweeting from prison before? It's genius. Is there anything the government can legally do to prevent this from happening? Do you have the right to freely distribute your thoughts while incarcerated?

If there were more prison twitter accounts it would do wonders towards expsosing how absurd our judicial / prison system is. More people should be live tweeting court cases / prison sentences. Could Adnan Syed have done companion tweets to the Serial podcast? This idea is so interesting.

<comment><USER12> Weev did it: [http://www.dailydot.com/news/andrew-weev-auernheimer- prison-...](http://www.dailydot.com/news/andrew-weev-auernheimer-prison- livetweeting/)

An apparently was punished for it: [http://www.digitaltrends.com/social- media/weev-in-solitary-c...](http://www.digitaltrends.com/social-media/weev- in-solitary-confinement-for-remotely-tweeting-from-prison/)

</comment></comment><comment><USER13> Wait, don't prisons penalize social media use by inmates very harshly? Does Chelsea manning have a lifetime sentence?

[http://rt.com/usa/232235-prison-facebook-solitary- southcarol...](http://rt.com/usa/232235-prison-facebook-solitary- southcarolina/)

</comment><comment><USER14> Has this been confirmed?

 _Edit_ : Looks like CNN, RollingStone, and The Guardian are all reporting this.

<comment><AUTHOR> It has been covered by USAToday, NBC News, etc. If it's not legit, it's a reasonably elaborate hoax. Though the source always seems to be the media company in question, I guess it's still actually up in the air. But, tweets have mentioned Glen Greenwald and others who would be among the most capable of debunking it, and most likely to do so, if it's fake.

[http://www.nbcnews.com/news/us-news/chelsea-manning-joins- tw...](http://www.nbcnews.com/news/us-news/chelsea-manning-joins-twitter- prison-n335461)

[http://news.yahoo.com/supporters-help-chelsea-manning- starts...](http://news.yahoo.com/supporters-help-chelsea-manning-starts- tweeting-181100521.html)

<comment><USER14> Agreed on all points. Compelling.

Kind of a scandal: "US's largest leaker broadcasting from military prison".

I wonder how long the Twitter access will last.

<comment><USER15> Manning isn't using Twitter directly. An outside group is transcribing phone calls.

<comment><USER16> Marc Emery did the same thing and BOP threw him in solitary for criticism on his blog that his wife transcribed for him. I imagine Manning's privs will disappear quickly now that this story is out.

</comment></comment></comment></comment></comment><comment><USER17> Lame.

</comment><comment><USER18> Does HN still have those frustrating title renaming rules? If so this would be a good time to insist on using them.

<comment><AUTHOR> What's wrong with the title? (Genuinely would like to do better next time.)

<comment><USER19> Second that - what's wrong with the title? It's descriptive, neutral, factual.

<comment><USER20> It's missing an indication that she is tweeting via an intermediary.

<comment><USER19> I think the important part is that she has a Twitter account, and is using it.</comment></comment></comment></comment></comment>


Experimenting with GHCJS, the Haskell→JavaScript compiler - <AUTHOR> http://chrisdone.com/posts/2011-08-20-ghcjs.html <comment><USER3> This post is interesting but it is from August 2011. The author experimented just a minimal functionality and planned to work on a more complex program - <USER2> pong game. I looked at his blog, but did not find any follow-up except a post from January this year where he tries the UHC JavaScript compiler:

<http://chrisdone.com/posts/2012-01-06-uhc-javascript.html>

What does this mean?</comment>


Ask HN: Why is this clojure example so slow? - <AUTHOR>

Hello HN, specifically those that have some clojure experience.
I've been playing around with clojure some more, specifically this tutorial:
http://github.com/swannodette/enlive-tutorial
I have a pretty fast box to play around with (I guess most of us do), but the tutorials run extremely slow, scraping HN takes a bit of time, I understand that, but then to list the items should be really fast.
Instead it looks like the data is coming out of a 9600 baud modem.
Is there any specific reason for this? <comment><USER2> I'm curious as to what you mean by slow? _Maybe_ you would see this on JVM cold run, but after that it should be pretty darn fast.

<comment><AUTHOR> It takes about 3 seconds to output the data, if I re-run it, discounting for the reload of the page, from the start of the output to the end again about 3 seconds.

I figured this can't be normal.

<comment><USER2> How are you running it? What machine? What JDK? On my machine it takes milliseconds to print out the results.

Taking 3 seconds seems very odd to me.

<comment><AUTHOR> By following your instructions to the letter, using

jdk1.6.0_17

The box is a lightly loaded 2.7 GHz linux machine with an i7 in it.

Really strange! I'm a complete noob when it comes to clojure though, so there is a chance I did something wrong.

</comment></comment></comment></comment><comment><USER3> Wouldn't this be better asked on the Clojure google group?

<http://groups.google.com/group/clojure>

<comment><AUTHOR> The tutorial was posted here by the HN user that wrote it.</comment></comment>


GNOME Disabling Middle Click Paste - <AUTHOR> https://git.gnome.org/browse/gnome-settings-daemon/commit/plugins/xsettings/gsd-xsettings-manager.c?id=696e04d41a485f84870a98c85b819979928b69e9

<comment><USER2> I dislike the UX changes done in Gnome 3 as much as anyone, and middle-click paste is firmly wedged in my muscle memory. But this is actually a change that's justifiable, unlike the general change for change's sake.

Having two completely separate mechanisms for copy-paste (not talking about the UI, but the underlying clipboard/selection) genuinely is confusing. It's never consistent across applications. Will I be able to middle-click paste from this web browser to that terminal, or from this emacs to that Skype window? Or do I need to select + Ctrl-Insert in this terminal to copy to that other window. Pretty much no way to know without learning it by trial and error. After almost two decades of using X I'm still surprised weekly about pasting the wrong thing due to this stuff. (And any time I paste text to an IRC terminal, I make sure to paste it to a throwaway window first to verify I've really got the right content).

And really, while I will continuously use select + middle-click to copy, it's only because of muscle memory. It's not some huge productivity boost over using the keyboard shortcuts. And once it stops working, the muscle memory can easily be retrained. (Remember how you probably complained when browsers stopped treating middle-click with an url in the selection as "open url"? I have no trouble admitting that I whined like hell about the massive loss in productivity it'd cause me. A month later I didn't particularly miss it, because I was automatically using a different workflow.)

The primary selection is a ridiculous vestige. Good riddance. I'm less enthusiastic about what they're proposing to waste the middle button on.

<comment><USER3> I don't use Gnome so it doesn't matter to me but...

> Having two completely separate mechanisms for copy-paste (not talking about > the UI, but the underlying clipboard/selection) genuinely is confusing. It's > never consistent across applications. Will I be able to middle-click paste > from this web browser to that terminal, or from this emacs to that Skype > window? Or do I need to select + Ctrl-Insert in this terminal to copy to > that other window.

In my experience, middle click is an X thing and is the only thing generally guaranteed to work practically everywhere.

For this reason, it seems not justifiable to me.

<comment><USER4> Not disagreeing with you, just wanted to say in case you didn't know: shift- insert has the same effect and doesn't require reaching for the mouse.

<comment><USER5> With that in mind, if they want to free up the naked middle-click button they could enroll a bucky bit. Ctrl+middleclick or Meta+middleclick.

</comment></comment></comment></comment><comment><USER6> This change was backed out: [https://git.gnome.org/browse/gnome-settings- daemon/commit/pl...](https://git.gnome.org/browse/gnome-settings- daemon/commit/plugins/xsettings/gsd-xsettings- manager.c?id=e204eddcdbfb9f8d722355fab1643330c7d10c25)

<comment><USER7> However, the comment for re-enabling middle click paste seems to indicate that it will indeed be removed in the future:

"We're not really ready for this change, and we haven't messaged it properly. After discussion with Allan Day and Jakup Steiner, we'll defer this change until the next cycle."

<comment><USER8> A free/open source project that worries about 'messaging'? Has something gone wrong?

As others have commented, I've always found that having two copy paste processes cause a slight mental pause sometimes. I tend to use middle drag middle click paste in terminal applications and the drag to highlight, select edit/copy then click in desired position, select edit/paste for graphical applications.

Interesting to see how this pans out. Gnome has significant contributions from Red Hat staff. Red Hat have suggested they will be releasing the desktop RHEL7 with Gnome Classic as the default UI to minimise training costs for customers.[1]

[1] [http://www.h-online.com/open/news/item/Red-Hat-confirms- GNOM...](http://www.h-online.com/open/news/item/Red-Hat-confirms-GNOME- Classic-Mode-for-RHEL-7-1887469.html)

</comment></comment></comment><comment><USER9> I'm curious to see how this plays out. The X default with two clipboards is insane, but I think the best option is to merge those into one and keep the middle click.

The design docs: [https://wiki.gnome.org/GnomeOS/Design/Whiteboards/Selections](https://wiki.gnome.org/GnomeOS/Design/Whiteboards/Selections)

<comment><USER10> Agreed. I could live with this change, too. To bad gnome shell ruined gnome usability in other ways, so it's no longer relevant.

<comment><USER11> I am curious of your grief against gnome shell. Since Ubuntu has switched to unity, I have lost a lot of time to find an alternative. I am satisfied with Ubuntu-Gnome that I have installed on the computer of my father. I intend to switch all my computers to Ubuntu-Gnome. Maybe you have found issues that could annoys me also.

</comment></comment></comment><comment><USER12> Sometimes I get the feeling that there are only idiots or assholes working on gnome :-/

It all started with this whole: "Yeah - let's dumb it all down."-movement.

"Improvements" like these are just disgusting. (Edit: This falls into the same category of great ideas like the "spatial nautilus".)

<comment><USER13> I liked spatial nautilus, it endorsed KISS. Other operating systems that had the same basic interface include classic Mac OS and Windows 95. Both of them were easy to use as well (until they crashed) though the latter messed up by having a virtual desktop folder become the root of a tree with more virtual folders that didn't have anything to do with filesystems (they kept going downhill ever since).

</comment></comment><comment><USER14> Gnome does its best to make itself irrelevant. New users aren't coming in, and the faithful unix geeks all passed on to better things. Openbox ftw!

</comment><comment><USER15> GNOME 4 will be just one button that makes fart noises when you press it

<comment><USER16> In 4.1 they'll remove the fart noise, because 'not everyone will have sound hooked up, and we want to provide a consistent experience'...

<comment><USER13> In 4.2 they'll have the button press itself after a time-out unless you cancel it, because the user might forget to press it.

</comment></comment></comment><comment><USER11> I do not understand how they go from [https://wiki.gnome.org/GnomeOS/Design/Whiteboards/Selections](https://wiki.gnome.org/GnomeOS/Design/Whiteboards/Selections) where all the example are touchpad oriented (no middle button, just touch and long press) to the conclusion that the usual behaviour of middle button should be killed ?

</comment><comment><USER17> Here's a pretty truthful evaluation of the direction Gnome is going, by the smart, geeky folks from the Linux Action Show:

(Just watch 20 seconds... you'll get it)

[http://www.youtube.com/watch?feature=player_detailpage&v=Z8K...](http://www.youtube.com/watch?feature=player_detailpage&v=Z8Kz27PC3_E#t=1593)

<comment><USER13> Skip to 26:11

</comment></comment><comment><USER18> I would say this is the one feature I miss the most on OS X, copy just by selecting text and paste with middle click.

<comment><USER19> I think you can add this with BetterTouchTool. At least I managed to add an almost plumbing rule with middle clicking on my old MB, I have to try it on the new, though

</comment></comment><comment><USER20> The middle click to paste is one of the great features I use continuously, and often show to windows users who find it useful too.

</comment><comment><USER21> Selection copy and middle-click paste is both good and bad.

As a highlight-reader, I don't like automatic copy on selection. It's too easy to clobber the selection clipboard. It also affect usability on basic things like copying something from the terminal to paste into a browser's search box. Naturally, you want to delete the existing contents of the search box, but selecting it all to delete it clobbers the very thing you want to paste.

The setup I have on Windows with Cygwin and mintty is my preference. There is only one clipboard, and normal GUI selections don't have any affect on it. However, selection in the terminal copies into the clipboard, and middle-click in the terminal pastes the clipboard. Combine that with keyboard shortcuts for pasting the clipboard in the terminal, and a couple of command-line scripts (I call mine 'c' and 'p') for using copy and paste with pipes, and everything works pretty smoothly.

As it is on Linux, my 'c' reads stdin and stuffs it into both primary and clipboard buffers, while my 'p' takes an argument 's' to print out the primary buffer, otherwise it prints out the clipboard buffer. It's a pain when you end up pasting the wrong thing. Meanwhile, middle-click in UI apps is very rarely used because (a) it requires too much precision in aim - the text usually ends up exactly where you middle-click, rather than the current position of the cursor - and (b), I usually want paste to replace a selection, but the act of selection clobbers what I'm trying to paste...

</comment><comment><USER22> Guess I'm glad I don't use this stuff. WTH. My productivity would slow to a crawl if I couldn't middlebutton paste.

Maybe they could work on something useful, like fixing memory leaks or making it not hugely bloated?

</comment><comment><USER23> I like the middle mouse paste, or rather the highlight to copy more. But it can catch me out.

What I find catches me out more though, is the tap to click on a touch pad. I do like it, but I often get tripped up by it. I therefore declare It's flawed - rip it out ;)

Good to question these things.

I do think the chorded keyboard shortcuts that may be ingrained in many, are actually a difficult combo for the novice. I'd suggest that a mouse selection is easier, but alas that's a really difficult thing to do for mouse newbs too. I can still struggle with mouse text selection.

</comment><comment><USER24> Really?

What a bunch of jerks--hasn't this been standard behavior for quite some time?

<comment><USER24> More details here:

[https://bugzilla.gnome.org/show_bug.cgi?id=665193](https://bugzilla.gnome.org/show_bug.cgi?id=665193)

Sometwhat telling:

      (In reply to comment #2)
      > Breaking a default that has been in X forever is not
      desirable. In this case,
      > it is a good default. Leave it alone. Bastien, please
      do not do this.

      Disabling broken behaviour by default is a good thing. It
      would be a GTK+ specific XSetting, which would only be
      disabled by default based on your XSettings manager. If
      you use gnome-settings-daemon, then it would be disabled
      by default.

      The people that paste their passwords to IRC will thank us.

Literally _everyone_ in the bug thread is like "Please, don't do this/why would you do this?" and Bastien is like "nope nope better for the users hush".

What a bunch of tools.

<comment><USER25> A reply by a Gnome dev to an older bug (536271) about this is even more telling:

        I would even go as far as to disable middle mouse
        paste without exposing any GUI option for this [...]
        A hardcore unix person will shout and scream if we
        try to remove it, yet it is flawed. We should remove
        it and use a one, predictable way of copy & pasting.

<comment><USER8> c.f Jef Raskin's idea of the 'monotonous' interface, i.e. an interface in which common actions could be performed in one way only, and that one way could be predicted from context reliably. He thought that the result would be an interface that is easy to learn quickly.

And that raises the old issue of 'experts' with the interface wanting more control.

I actually like Gnome Shell, but I can see how a decision making process that depends on what one developer thinks is good for users may have problems in the longer term...

<comment><USER26> The devs seem like they're on some sort of holy war to purify the gui. The problem is that interface design (like anything else) is about trade-offs. GNOME needs some folks that have been through this cycle and understand it.

</comment></comment></comment></comment></comment><comment><USER27> Although this particular feature isn't going to affect me, since I'm primarily a touchpad user, I'm not a fan of the path they're going with imitating iOS- style selection handles. Sure, they can be useful if you only have a touchscreen, but seem to always look ugly and feel awkward to use.

</comment><comment><USER28> For the last couple of years, every time I hear about a change in GNOME, it almost reads as if the developers are screaming "F*CK YOU EVERYONE LEAVE US ALL ALONE WE HATE YOU".

</comment><comment><USER29> Gnome (Bastien), please accept _my_ middle click. How long will it be before someone forks gnome just to get X paste behavior back? I hope they call it Troll.

</comment><comment><USER30> I hope it's optional at worst.. This is one of the features I am struggling really hard to get working on my Windows box :(

</comment><comment><USER31> As somebody who for all of his life used C-c and C-v for copy/paste, I wouldn't miss it at all. highlight to copy messes my workflow up.</comment>


A list of books recommended by Graham Duncan - <AUTHOR> https://www.mostrecommendedbooks.com/recommender/Graham%20Duncan <comment><USER2> Just a collection of Amazon affiliate links (tag=mostrecommendedbooks-20).</comment>


The U.S. Library of Congress Lets You Stream Hundreds of Free Films - <AUTHOR> https://www.nytimes.com/2018/10/23/movies/library-of-congress-national-screening-room.html <comment><USER2> What you really want is the LOC National Screening Room, to stream a lot of this from the web.

[https://www.loc.gov/collections/national-screening- room/](https://www.loc.gov/collections/national-screening-room/)</comment>


Renaissance Technologies Solved the Market: Part 3 – Incentives - <AUTHOR> https://medium.com/ml-everything/how-renaissance-technologies-solved-the-market-part-3-incentives-fb314fe3be36 <comment><USER2> This is the third time this has been submitted in five days. If something isn't popular the first time, that's not an invitation to delete the submission and try again the next day.

<comment><AUTHOR> This is the second time I submitted it. I deleted, rethought some things and submitted again. I won't submit again.

Perhaps you can follow your own advice on submissions!

An Infinitely Large Napkin (evanchen.cc) 148 points by throwawaymath 5 months ago

An Infinitely Large Napkin (evanchen.cc) 1 point by throwawaymath 6 months ago</comment></comment>


Machine Learning for Poets - <AUTHOR> http://blog.siftscience.com/what-is-machine-learning-intro/

<comment><USER2>
      They didn't have much trouble
      teaching the machine to write poems:
      first they turned him on,
      then plugged in the keyboard
      (the text editor was already open).
      Then Dr. Bluespire leaned over his shoulder
      and typed in to the command line:
      "You look like a god sitting there.
      Why don't you try writing something?"

adapted from Teaching the Ape to Write Poems by James Tate real poem here: [http://www.tnellen.com/cybereng/poetry/ape.html](http://www.tnellen.com/cybereng/poetry/ape.html)

</comment><comment><USER3> I'm sure this is a good introduction to the subject, but I was really hoping that this was about using machine learning to write poetry :P.</comment>


Perspective: Streaming pivot visualization via WebAssembly - <AUTHOR> https://github.com/jpmorganchase/perspective <comment><USER2> I wrote the C++ part of this codebase, would be happy to answer any questions about it here.

<comment><USER3> Is Emscripten the only game in town for WebAssembly C/C++ toolchains, or are there other contenders?

<comment><USER4> Even outside of C/C++, Emscripten seems to be required in some fashion for just about every "compile X to webasm". Which i'm not that happy about as it's quite heavy and takes a long time to compile, which makes it harder for newcomers to try it out because it requires a fairly large time investment to even compile hello world.

<comment><USER5> > Even outside of C/C++, Emscripten seems to be required in some fashion for > just about every "compile X to webasm".

One exception to this is Rust's new "wasm32-unknown-unknown" target, which uses LLVM to directly generate wasm files without going through emscripten: [https://www.hellorust.com/news/native-wasm- target.html](https://www.hellorust.com/news/native-wasm-target.html)

The easiest way to use it for larger projects is probably via [https://github.com/koute/cargo-web](https://github.com/koute/cargo-web), which handles a lot of packaging very nicely.

It's really nice to use, assuming you already know Rust.

<comment><USER4> Yeah I'm super excited about Rust's new webasm compiler, as well as some new- ish stuff with .Net that works without Emscripten.

I get the ecosystem is super young, but it was honestly what kept me from playing with Webasm for a while, because each time I'd sit down to play with it I'd be in for a 3 hour compile after spending an hour getting my windows machine to have the right compilers and not stomping over other things I have setup on here.

<comment><USER6> Sounds like you were seeing an old emscripten SDK bug, where it compiled LLVM+clang unnecessarily and with debug info (which is very slow).

Currently there shouldn't be anything like that, it will download a binary build of LLVM+clang for your system. It should be ready to use immediately after that download.

</comment></comment></comment></comment></comment></comment><comment><USER7> Really cool to see non-software companies putting cool projects like this out as open source

<comment><USER8> the stock market is digital, they are a software company.

<comment><USER9> Having worked at a branch off a university devoted to its online school and content marketing where the inputs and outputs of production are entirely digital, I can say they sure as hell aren't a software company; nobody above on-the-ground grunts think much about even the big pictures of domain modeling / workflows, data ingestion / transformation, computing / efficiency / performance, software development lifecycle / product portfolio management / QA, growth hacking / optimization / testing etc. because they simply aren't interested in the slightest. I'm sure plenty of organizations with at least one foot in pre-internet industries are in the same boat, and it's exciting to see counterexamples.

<comment><USER10> I think it is more correct to say that a large subunit of JPM works as a software company -- for its internal use. All modern financial companies are heavily tech oriented, even those you wouldn't normally think of that way. The best tech firms I've ever been involved with financial firms from front desk trading on back. One of the best tech teams I've ever met with has been one of Bloomberg's teams dealing with their internal core services and bond platform (I was totally floored at how amazing these guys were). These companies are too large to say they are entirely software, but there are definitely Directors and CTOs that live and breath all those things you mention.

<comment><USER9> Sure yes, in modern business environments, everyone's business interacts at least in some way with computing, digital products like media and software, and the internet. Even if you had a remote industrial site cutoff from the wider internet, there would be some automation to be done and some code to do it. Every organization should have a CTO, if nothing else than to make procurement and outsourcing decisions. Organizations shouldn't outsource that which differentiates them, and there's lots of room for differentiation in the quality and degree of automation, thus internal software teams. Etc.

All I'm getting at is that those present set of truths, that that reality hasn't spread everywhere yet, and it's still worth celebrating when it has and when it goes well.

There are plenty of people given plenty of power in leadership that won't bring themselves to understand technology and have yet to retire.

<comment><USER11> You would be pleasantly surprised, then, that this reality has already permeated the modern financial industry. For instance, see [http://www.businessinsider.com/goldman-sachs-wants-to- become...](http://www.businessinsider.com/goldman-sachs-wants-to-become-the- google-of-wall-street-2017-4) . While there are still "relationship bankers" in expensive suits, most acknowledge that software is key to giving them an edge over the competition, and that building a culture around software only helps them.

</comment></comment></comment></comment></comment></comment><comment><USER12> This is great. Finance people especially love this sort of thing - they do want to browse through entire datasets vs seeing higher level metrics in a lot of cases.

<comment><USER13> > _Finance people especially love this sort of thing - they do want to browse > through entire datasets vs seeing higher level metrics in a lot of cases_

To expand on this, a lot of finance is searching out and understanding, normalizing or exploiting edge cases.

<comment><USER14> This is why excel is king. just give me a grid with all the data and a pivot table

<comment><USER15> Except when Excel won't manage nearly all the data. I'll sometimes use Igor Pro† before coding something up however.

† (only because I'm familiar with it - I'm positive there are better GUIs)

</comment></comment></comment></comment><comment><USER16> I love seeing new UX on Web Assembly. Someone needs to port or create a standard layout engine like WPF to build on this. If the tools were there, C# + VS Code + solid layout engine...I'd dump JS + HTML + CSS in a "flash".

<comment><USER17> There are some attempts on that direction.

[https://www.hanselman.com/blog/NETAndWebAssemblyIsThisTheFut...](https://www.hanselman.com/blog/NETAndWebAssemblyIsThisTheFutureOfTheFrontend.aspx)

<comment><USER16> Sure. I've played with Blazor. It's very raw at this point and just a side project. I'd like to see MS Research or even a full blown R&D team at MS go full force at this.

<comment><USER17> Microsoft just announced that they will start investing more into it, depending how the community takes it.

[https://blogs.msdn.microsoft.com/webdev/2018/02/06/blazor- ex...](https://blogs.msdn.microsoft.com/webdev/2018/02/06/blazor-experimental- project/)

</comment></comment></comment></comment><comment><USER18> "J.P. Morgan open sources..." \-- that's so cool

</comment><comment><USER19> Amazing, despite the fact that some heavy-lifting is done by highcharts and hypergriid.

What's missing for this to effectively kill all typical BI tools like PowerBI, Tableau?

<comment><USER20> Expensive sales teams. Also neither of those handles streaming data.

</comment></comment><comment><USER21> @dman Cool, but I'm curious why WebAssembly was chosen for this project. What was the value of using it here versus just using the Web API?

<comment><USER2> The following features made wasm compelling here

a. Filter / Pivot / Aggregate moving clientside means a lot of load off the servers.

b. Performance in wasm is surprisingly close to same C++ code running natively on the desktop.

c. Ability to reuse existing C++ codebase and use it to build both native and web apps.

</comment></comment><comment><USER22> Presumably, the point of using WASM and service workers is for performance, but I see no benchmarks. I also have trouble imagining that this actually improves performance, unless you're doing all of your compute in the browser and it's CPU bound (this seems like bad design).

What is the performance of doing it this way vs. without WASM and workers?

Until we see numbers, this smells like a recruiting play.

<comment><USER23> For ticking data being pushed into bespoke pivots, running this on the backend and, say, pushing renders to the frontend isn't generally better. You're not likely to be sharing much of the grunt. Also, latency will be an issue so you need to be pretty careful with GC runtimes that aren't optimised for latency.

> What is the performance of doing it this way vs. without WASM and workers?

@dman says in another thread that the original was in Python and this was 10x faster. If this met their performance goals, it does the job. It may be possible that another way is better, for some definition of better, but who cares if it works as required?

> Until we see numbers, this smells like a recruiting play.

It's presumably OK not to use it if you don't want to.

And what if they think this may help recruiting? Seems like a reasonable trade to me.

</comment></comment><comment><USER24> First, let me say this looks awesome! I'm curious if your considered React.js for the presentation layer (i.e. the js/html5 parts) - on the surface it seems like it would be a good fit - and if so, what you saw as the benefits or drawbacks of it vs the approach you went with.

<comment><AUTHOR> We chose to go with a Web Components based interface for compatibility across frameworks, but alot of where we go in the future will be determined by the expertise of the developers we hire to work on it, and the community if there is interest there.

<comment><USER25> First of all, great work everyone involved! I know first-hand how hard it is to push something like this past compliance ;)

Going with WC is a sound decision since its trivial to wrap it into ember, react, or any other framework-du-jour... especially so since more and more of them are adopting WC patterns and design practices.

I might try to wrap this into react and will see if bosses permit opensourcing it!

</comment></comment></comment><comment><USER26> For those interested, keep in mind the only way to use WebAssembly with CSP in Chrome is by turning on 'unsafe-eval'. FF/Edge/Safari all at least support compilation from URLs with more locked down policies

<comment><AUTHOR> True - worth pointing out that this library gracefully falls back to ASM.js if your browser does not support WebAssembly, though.

<comment><USER26> Does it fallback if Window.WebAssembly doesn't exist, or does it fallback if WebAssembly.instantiateStreaming fails?

<comment><AUTHOR> The former. In practice, it seems some runtimes are still a bit buggy - so we also revert to ASM.js if e.g. you are on an iPhone

</comment></comment></comment></comment><comment><USER27> This is seriously cool. Unfortunately I have no use-case for it in the product I currently work on, but still fascinating to flick through the source code and play with it.

</comment><comment><USER28> really cool. would love to see a Rust version.

<comment><USER29> build it

</comment></comment><comment><USER30> What are you using for UI, any framework (Polymer, D3) or just plain WebComponent?

<comment><AUTHOR> Plain web components. The UI is quite light in terms of functionality so far.

</comment></comment><comment><USER19> Does the C++ code use vectorization? If not, is it planned?

</comment><comment><USER31> So, what there is about visualisation?

I read your docs, and found nothing about how to actually render stuff to the page.

</comment><comment><USER32> I followed the directions to the letter, and everything installed correctly on MacOS. When I tried the same on Linux, though, I got tons of the following errors on the build step (keep in mind I do have boost development libraries installed in /usr/include):

(Sorry about the formatting.... I tried <code>). Anyway, TL/DR it cannot find boost.

$ ./node_modules/.bin/lerna run start --stream lerna info version 2.8.0 @jpmorganchase/perspective: > @firstname.lastname@example.com start /home/dj/usr/src/perspective-clone/packages/perspective @jpmorganchase/perspective: > npm run compile && (npm run perspective & npm run compile_test & npm run compile_node & wait) @jpmorganchase/perspective: > @email@example.com compile /home/dj/usr/src/perspective- clone/packages/perspective @jpmorganchase/perspective: > mkdir -p build build/wasm_async build/wasm_sync build/asmjs && (cd build/; emcmake cmake ../; emmake make -j8; cd ..) @jpmorganchase/perspective: -- Configuring done @jpmorganchase/perspective: -- Generating done @jpmorganchase/perspective: -- Build files have been written to: /home/dj/usr/src/perspective- clone/packages/perspective/build @jpmorganchase/perspective: Scanning dependencies of target psp @jpmorganchase/perspective: [ 1%] Building CXX object CMakeFiles/psp.dir/src/cpp/base_impl_win.cpp.o @jpmorganchase/perspective: [ 2%] Building CXX object CMakeFiles/psp.dir/src/cpp/arg_sort.cpp.o @jpmorganchase/perspective: [ 4%] Building CXX object CMakeFiles/psp.dir/src/cpp/calc_agg_dtype.cpp.o @jpmorganchase/perspective: [ 5%] Building CXX object CMakeFiles/psp.dir/src/cpp/aggspec.cpp.o @jpmorganchase/perspective: [ 8%] Building CXX object CMakeFiles/psp.dir/src/cpp/aggregate.cpp.o @jpmorganchase/perspective: [ 8%] Building CXX object CMakeFiles/psp.dir/src/cpp/base.cpp.o @jpmorganchase/perspective: [ 9%] Building CXX object CMakeFiles/psp.dir/src/cpp/base_impl_linux.cpp.o @jpmorganchase/perspective: [ 10%] Building CXX object CMakeFiles/psp.dir/src/cpp/build_filter.cpp.o @jpmorganchase/perspective: [ 12%] Building CXX object CMakeFiles/psp.dir/src/cpp/column.cpp.o @jpmorganchase/perspective: In file included from /home/dj/usr/src/perspective- clone/packages/perspective/src/cpp/calc_agg_dtype.cpp:11: @jpmorganchase/perspective: In file included from /home/dj/usr/src/perspective- clone/packages/perspective/src/include/perspective/calc_agg_dtype.h:12: @jpmorganchase/perspective: In file included from /home/dj/usr/src/perspective- clone/packages/perspective/src/include/perspective/schema.h:13: @jpmorganchase/perspective: /home/dj/usr/src/perspective- clone/packages/perspective/src/include/perspective/base.h:29:10: fatal error: 'boost/unordered_map.hpp' file not found @jpmorganchase/perspective: #include <boost/unordered_map.hpp>\n ^<comment><comment><comment><comment><comment><comment><comment><comment> </code>

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><AUTHOR> If anyone finds this project exciting and is interested in learning more about working on Open Source at J.P.Morgan, feel free to send me a message - we are always looking to hire experienced, passionate talent!

<comment><USER33> I would like to work on cakeshop-- how do I get on touch with you?

<comment><USER34> For the blockchain projects, please email email@example.com

</comment></comment></comment><comment><USER16> Poor naming choice. Google Perspective has been around for a year or two I believe.

<comment><USER35> in that case, its actually a good naming choice, as this existed (in a closed source form) for much longer than that.

<comment><USER16> I'm not knocking the code...I think it's brilliant. I just think you're going to cross wires with Google here. Will perspective mean "filtering troll comments" or will it mean "displaying analytics in web assembly" is an unfortunate set of choices.

<comment><USER2> The name had been in place internally since 2013, so the naming ship had sailed a long time ago.

</comment></comment></comment></comment><comment><USER36> It's open sourced from an investment bank, so you'll never see it updated again. Beware of integrating it into your projects.

Good on whoever took on legal to get this out the door though. Hope you make it to MD or whatever it is you were gunning for.

<comment><AUTHOR> We very much plan to continue developing this entirely in the open! It is reputationally important we do not just dump our dead projects on the internet as Open Source, which is one of the reason why we chose Perspective for this project in the first place.</comment></comment>


NYT op-ed claiming scientists underestimated climate change lacks evidence - <AUTHOR> https://climatefeedback.org/evaluation/new-york-times-op-ed-claiming-scientists-underestimated-climate-change-lacks-supporting-evidence-eugene-linden/ <comment><USER2> Scientists didn't get climate change wrong. Once modelling began in earnest, the results of the models were so extreme and alarming that scientists were ignored/silenced and only the milder scenarios were made visible to the general public.

Now evidence is making it impossible to pretend any longer that those mild scenarios are playing out. The opposite is happening, the most pessimistic models have turned out to still fall short of the mark due to the number of positive feedback loops involved in global warming.

Scientists didn't underestimate anything, they were told to shut the fuck up and stop inciting mass panic if they wanted to keep their jobs. The fact that mass panic might have been justified didn't cross the minds of the politicians involved.

Climate change is a hard, perhaps fatal, lesson that society cannot be governed by career politicians. Opinions don't matter, election cycles don't matter, personal beliefs don't matter, 'this will ruin the economy' doesn't matter. What matters is an existential threat has presented itself and the scientists best placed to address it have been suppressed by the political technically ignorant ruling class so that it can continue its existence unimpeded for just a little bit longer.

<comment><USER3> > only the milder scenarios were made visible to the general public.

The public has been given all kind of predictions, some were quite extreme ( "Children just aren't going to know what snow is") and have failed to materialize.

<comment><USER4> There's a difference between scientific predictions and popular-press predictions. Your example ("Children just aren't going to know what snow is") is not a scientific one, but one spread by popular press with no scientific research to back it up.

The difference is important, because inaccurate reporting by the popular press undermines science.

<comment><USER3> The question then is why Dr David Viner, a senior research scientist at the climatic research unit (CRU) of the University of East Anglia, was saying such things to newspapers twenty years ago.

</comment></comment></comment></comment><comment><USER5> I cancelled my NYT subscription because of that article last week, and cited it as the reason. Might have to take something for my schadenfreude.

</comment><comment><USER6> I usually don't read news article about climate change, because 1. I don't expect any breaking news on this subject, 2. I rather read what has been written and validated by an assembly of international scientists.

Everything is synthetized and well-written in the GIEC report.

</comment><comment><USER7> That's ridiculous. If anything, scientists overestimated the climate change. There were predictions of climate change displacing 50 million refugees by the year 2010, northern snow cap should have already melted and hurricanes should have become more common, but none of that occurred.

<comment><USER4> Please cite the scientific articles (not newspapers) making such claims. I don't think there is any credible report of these allegations.

<comment><USER8> I couldn't find that specific one, though I did find this article from 2007 predicting an ice-free Arctic summer by 2013...

[http://news.bbc.co.uk/2/hi/science/nature/7139797.stm](http://news.bbc.co.uk/2/hi/science/nature/7139797.stm)

Edit: Also I just found a brand new article predicting it'll actually happen by 2044:

[https://www.express.co.uk/news/science/1205850/Climate- chang...](https://www.express.co.uk/news/science/1205850/Climate-change-news- Arctic-ice-disappear-global-warming-human-blame-study-UCLA)

I wonder what the prediction will be by 2044.

<comment><USER9> Not really. That's a well known headline taken out of context. A model predicted ice free _summers_ by 2013, and the article includes two scientists discussing that they think the model overcooks the prediction, but both thinking it will come far sooner than previously believed. e.g. the first

"In the end, it will just melt away quite suddenly. It might not be as early as 2013 but it will be soon, much earlier than 2040."

and from the second

"A few years ago, even I was thinking 2050, 2070, out beyond the year 2100, because that's what our models were telling us. But as we've seen, the models aren't fast enough right now; we are losing ice at a much more rapid rate.

"My thinking on this is that 2030 is not an unreasonable date to be thinking of."

The Daily Express are a credible source for nothing since their purchase by Desmond.

</comment></comment></comment></comment><comment><USER10> Reminds me of this recent article I found on RealClearPolitics:

[https://www.lawliberty.org/2019/11/14/the-ongoing-decline- of...](https://www.lawliberty.org/2019/11/14/the-ongoing-decline-of-the-new- york-times/)</comment>


Bitcoin Mining Uses 7x Less Energy Than Aluminum Mining - <AUTHOR> https://blocklr.com/news/bitcoin-mining-7x-less-energy-aluminum-mining/ <comment><USER2> Blatant manipulation of the findings of the study in order to further the aims of what looks like some kind of crypto-rag. From the abstract of the paper:

"indicating that (with the exception of aluminium) cryptomining consumed more energy than mineral mining to produce an equivalent market value."

In reference to the other metals studied. This is neglecting the even more obvious point that it's a completely irrelevant comparison, we should compare to equivalent alternatives!</comment>


Allo, Google's new messaging app - <AUTHOR> http://www.theverge.com/2016/5/18/11699122/google-allo-messaging-app-announced-io-2016 <comment><USER2> > you might think is meant to replace Google's other messaging app, Hangouts. > But you'd be wrong.

Oh thank goodness! I'm so happy to have another vaguely defined and horrifically executed messaging/chat/collaboration/VTC/whatever app from Google. This will simplify things.

<comment><USER3> Remember back when every app used a common protocol, or when one app unified multiple protocols?

Those were the days, right?

</comment></comment><comment><USER4> Unfortunately tied to your phone number. I realise this is what makes WhatsApp popular, but it's a UX nightmare for travelers/multinationals.

I'm currently doing without WhatsApp because I have no way to activate it on my replacement phone (dropped original one) - the SIM tied to my WhatsApp account doesn't work overseas and I'm using a local SIM.

It's a frustrating, confusing experience. What's wrong with tying this to your Google account?

<comment><USER5> This is meant to be a WhatsApp competitor.

<comment><USER6> As opposed to Hangouts, their existing chat system for sending and receiving text/images/video between phones on multiple networks and operating systems. That's obviously in a different market.

The fragmentation of chat systems is already crazy, and now Google needs to have _two_?

My prediction: Allo runs for two years then gets a half-hearted merge into the Hangouts client, bringing over a couple of major features but not the ones that made people actually prefer it as a chat client.

</comment></comment></comment><comment><USER7> So Google is trying to collect the data necessary to impersonate the text- conversational style of anybody who uses their new app. Interesting.

</comment><comment><USER8> Google is doing another mistake....</comment>