FeX: Forum Explorer – Rethinking how we interact with threaded conversations - <AUTHOR> https://www.mcnutt.in/forum-explorer/ <comment><USER2> Funny story, I had almost exactly the same idea in 2013 and prototyped it in Mathematica (probably a lot of people have had this idea). Here's a screenshot of some random thread that I happened to visualize (comments were visible as tooltips in my rough and ready implementation): [https://imgur.com/a/9xfw6cA](https://imgur.com/a/9xfw6cA) (color represents common authorship, size is comment length). I didn't have the Javascript chops to do anything usable, let alone as polished as the linked Chrome plugin; kudos to the author!

Another thing I was doing at the time was visualizing Twitter and Facebook friend graphs, and the first insight there was to deliberately drop the 'ego' node, as it destroys any hope of effectively showing community structure of the friends themselves (it also carries no extra information as everyone is necessarily connected to the ego).

So perhaps a similar thing would be effective for threaded conversations: if you drop the root node, disconnected discussions will become separate trees in the visualization, which will help with efficient use of space, and the tail of singleton comments that no one replied to will become isolated disks that can space-fill the background. Switching to an actual rectangular tree layout as I used in my prototype will also help in that one consistent direction (down) represents nested depth.

<comment><USER3> I've talked to a few people who've had similar ideas! In fact there is a pretty long history of people in visualization/hci communities creating applications like this. There's an extended abstract that goes along with this work that details this history.

Dropping the root node is an interesting idea!

<comment><USER2> Do you mind linking to the abstract? Would like to read that history.

<comment><USER3> I'm trying to figure out if i'm allowed to post it publicly yet, in the mean time shoot me a message (on say twitter @_mcnutt_) and I'll send it to you

<comment><USER3> Follow up here it is: [https://github.com/mcnuttandrew/mcnuttandrew.github.io/blob/...](https://github.com/mcnuttandrew/mcnuttandrew.github.io/blob/master/assets/forum- explorer-paper.pdf)

</comment></comment></comment></comment></comment><comment><USER4> I'm sorry to be a cynic. I love graphs. The web is a graph, web pages are graphs, linked data, machine learning all use graphs. And they can look really cool. I especially loved the hyperbolic graphs that were the rage a decade or two ago. I don't know how many projects I've dropped this type of viz in. Then removed it, because there are three different reactions from end users: It's scary and confusing, it looks neat but it's never used, or it looks neat and it's clicked on a few times. I hope as we move into massive data they become digestable for ordinary UI, but until then they're mostly actually useful for specific edge cases.

</comment><comment><USER5> I like the idea although I can't help but think the visualization sort of draws me to comments with lots of responses....and on HN that is ok.

On sites that heavily rely / encourage getting responses such as Twitter I worry it just encourages posts that are trite, obnoxious and such as those get the most responses.

Granted this is a visualization tool so it's not "responsible" for issues that are largely human / platform issues.

<comment><USER6> +1.

I like that mini-summaries on the left-hand side ("subconversations about XX"), but the graph view seems to prioritise responses with the maximum amount of comments.

E.g. if there is a flame-war going on in one of the subthreads, it will be more visible than a highly rated comment with a few interesting subcomments.

<comment><USER3> I know what y'all mean. As i've used the extension myself I find myself reading a really different type of comments then when i read linearly. It makes it easier to find people have discussions (which are, admittedly, often arguments), and it makes it easier to see when a couple people are just all over the conversation.

</comment></comment></comment><comment><USER7> Can someone explain what exactly does this do? I'm a screen reader user and it seems totally inaccessible.

<comment><USER8> It's not particularly easy to use for people without screen readers either. A pane on the left shows a DAG, with nodes representing Hacker News comments extending from a central node. Mousing over a node shows the comment in a pane on the right. It's impossible to move the mouse pointer from the left pane to the right without changing the visible comment.

<comment><USER3> >It's not particularly easy to use for people without screen readers either.

That's very true. This hasn't really been designed around screen readers, making this type of graph + comment tree interface work accessibly well is a really interesting challenge!

>It's impossible to move the mouse pointer from the left pane to the right without changing the visible comment.

If you click anywhere on the graph then it locks the current comment selection. You can then click to unlock!

</comment></comment></comment><comment><USER3> Hi hackernews! I'm the author of this site/chrome extension/app. I'm happy to answer any questions you might have/field any comments

<comment><USER9> Very cool.

I've got to admit though, I'm a little jaded towards "Chrome only" extensions. Is there a reason you couldn't build this in Firefox?

As web developers, we've really got to stop this practice lest the web become further fragmented.

Anyways, I don't want to come down on you specifically - I realize this is probably just an MVP. You did a great job.

<comment><USER10> Is there a reason _you_ can't build this in FireFox?

How does "someone built a Chrome extension" justify you asking them to explain themselves for why they didn't build it the way you want?

<comment><USER9> Questioning the choice of browser platform is a perfectly valid question (for obvious reasons that I shouldn't need to get into on HN).

OP seems to agree with the sentiment, so I'm not sure why you're bothered.

<comment><USER10> Asking about the choice of browser platform out of curiosity, might be a perfectly valid question.

 _Questioning_ the choice (that is, implying it's wrong), asking for whether the reason is "good" as a value judgement, stating outright that "we have to do better", is not perfectly valid. It's rude.

<comment><USER9> Fair point(s) when taken out of context. But considering (a) I tempered that implied criticism with glowing praise for their work and (b) clarified that I wasn't targeted the criticism at them _personally_ , it seems to me you're looking a little too hard for something to be offended about.

I'm passionate about protecting the open web because I believe a modern and free democratic society _literally_ depends on it. And yes, I know that sounds quite dramatic, but I believe it wholeheartedly.

</comment></comment></comment></comment></comment></comment><comment><USER11> That page has a major layout issue for me: it appears to have a fixed height with no vertical scrollbar, so the bottom portion of the page is completely inaccessible to me even if I maximize the window.

Is that part of what you're trying to test, or is it just an unimportant artifact of the test page?

Also, I'm not actually on board with the visualization -- it just makes everything more confusing and harder to follow. But that might be my personal idiocy.

<comment><USER12> It also happens to me. The graph resizes and reorganizes as the window size is adjusted, but it always shrinks less than it should. There's always a part of the graph that goes beyond the bottom of the window.

<comment><USER3> What type of browser are y'all on? I'd love to fix this issue. It would be a big help if you would file me an issue here [https://github.com/mcnuttandrew/forum- explorer/issues](https://github.com/mcnuttandrew/forum-explorer/issues)

<comment><USER12> [https://github.com/mcnuttandrew/forum- explorer/issues/68](https://github.com/mcnuttandrew/forum-explorer/issues/68)

JohnFen's may more accurately be this other issue:

[https://github.com/mcnuttandrew/forum- explorer/issues/69](https://github.com/mcnuttandrew/forum-explorer/issues/69)

I also made an issue for how it looks on Chrome in Android:

[https://github.com/mcnuttandrew/forum- explorer/issues/70](https://github.com/mcnuttandrew/forum-explorer/issues/70)

On checking Firefox on Android, I wonder if this is the platform JohnFen was trying:

[https://github.com/mcnuttandrew/forum- explorer/issues/71](https://github.com/mcnuttandrew/forum-explorer/issues/71)

<comment><USER11> Yes, my issue appears to be #69. I'm using Waterfox on a desktop.

<comment><USER3> i think these issues should be addressed now? let me know if not

</comment></comment></comment></comment></comment></comment><comment><USER13> Ooh, this is neat, thanks for sharing! I made something similar for Twitter conversations (shameless plug: [https://treeverse.app](https://treeverse.app)) so it's neat to see the UI decisions you made, especially the timeline interaction.

<comment><USER3> I love treeverse! I spent a lot of time looking at treeverse when I was building forum explorer. Did you see that it got used in this paper [https://mw18.mwconf.org/paper/to-journey-in-twitter- canoes-m...](https://mw18.mwconf.org/paper/to-journey-in-twitter-canoes- methods-to-understand-the-mechanisms-and-meaning-in-twitter-conversations/)

<comment><USER13> I did not see that, thanks for the link! Glad I could be an influence :)

</comment></comment></comment><comment><USER14> Although I believe it was a good idea to remove them, I miss the vote score shown on comments. I had a script that would highlight the top comments. This would frequently reveal insightful comments 2 or 3 levels deep in a random thread I would have otherwise missed.

</comment><comment><USER15> Reminds me a little of the "Wikum" project that was worked on at MIT: [http://wikum.csail.mit.edu/](http://wikum.csail.mit.edu/)

<comment><USER3> That's super cool! I hadn't seen that, very neat. That reminds me a lot of this [https://github.com/enamulh/ConVis](https://github.com/enamulh/ConVis)

</comment></comment><comment><USER16> I really hate these, although of course I like the way they look. But the normal way is I come in I start reading there - I need to click on stuff to read things, I loose the context of where I was, if I am hovering nodes I see that node - oh there's a link in the content I want to click on oops I hovered another node I need to go back and hover the node I was on before, click it to lock it in place and then go over to other side of the page to click on the link I wanted to look at.

But I sure do like graphs.

</comment><comment><USER17> [https://www.mcnutt.in/forum- explorer/?id=19615895](https://www.mcnutt.in/forum-explorer/?id=19615895)

The circular tree your code generates is very cool. That presentation makes it a lot easier to see how the different threads relate than a flat tree structure.

It's especially fun to see how the topics weave through the conversations. Though commenters mostly stick to one topic on a particular tree, some of the same topics appear on siblings of adjacent trees.

</comment><comment><USER18> Slight issue, graph node highlight color should be the same as comment highlight color.

Some of the nodes in a vertical tree, for example here[1], are very close to each other while there is room for them to be a bit more separated.

Comment scrollbar goes beyond window edge.

Firefox 67.0b18 64bit Windows 10.

Overall looks neat and interesting, thanks for sharing.

[1]: [https://www.mcnutt.in/forum- explorer/?id=19902965](https://www.mcnutt.in/forum-explorer/?id=19902965)

</comment><comment><USER19> Looks like something I did some time ago[0], nice to see that this space is being explored. Wikum[1] from MIT's CSAIL is also an interesting alternative.

[0] [https://mrandri19.github.io/comments-as-a- graph/?thread=hn3](https://mrandri19.github.io/comments-as-a- graph/?thread=hn3)

[1] [http://wikum.csail.mit.edu/](http://wikum.csail.mit.edu/)

</comment><comment><USER20> Nice. I wonder if this something like this could be applied to code, to easier get a overview of how classes and functions relate to each other.

<comment><USER21> Visual Studio provides a feature called Code Map. To create them you need VS Enterprise, but the other versions can open them.

[https://docs.microsoft.com/en- us/visualstudio/modeling/map-d...](https://docs.microsoft.com/en- us/visualstudio/modeling/map-dependencies-across-your-solutions?view=vs-2019)

</comment></comment><comment><USER22> This is freak'n awesome. Please, we need to do more experiments like this. There are small usability nits about things going out of focus and changing when you move the mouse but for the most part, it is pretty good.

I'd like to see sentiment analysis color code the nodes and maybe node to node distance represent response time. And link width represent number of characters in post.

</comment><comment><USER23> Some visual feedback would be nice, I think that;

* The circle should plot threads clockwise newest<->oldest (or reversible?)

* Node connection length should be the reply delay in the chain

* Node size should reflect comment size

* Node color/opacity should reflect comment score/vote amount (if present, which HN doesn't have.)

</comment><comment><USER24> I feel the main issue with forum UI is the limitation of 2 dimensions. Once AR and VR become more mainstream with higher resolution, I predict we'll have more interesting conversation UI

</comment><comment><USER25> Nice! The Chrome extension description sounds like it works on more than just Hacker News. What kinds of threaded discussions does this work on? (e.g. Disqus? Reddit? Facebook?)

</comment><comment><USER26> Might be very nice, but unfortunately all I see are many lines that say "loading". Is this intended for people with "web browsers" or is it only for those who installed the "Google Chrome" software?

<comment><USER3> The demo page (which is linked above) should transform those loading message into a list of threads you can click into. Would you mind filing a bug over on [https://github.com/mcnuttandrew/forum- explorer](https://github.com/mcnuttandrew/forum-explorer) ?

</comment></comment><comment><USER27> Have you considered keybinds? Vim-like keybinds, for example?

</comment><comment><USER28> Have you seen arguman.org ? Similar ideas (visual wise).</comment>


The Sharing Economy Is Dead - <AUTHOR> http://www.doz.com/tech/sharing-economy-white-paper <comment><AUTHOR> "The sharing economy is dead - long live the marketplace."

Essentially this is an argument for why the notion of sharing no longer describes the economics of Uber, airbnb, DOZ, and others in the 'sharing economy'. Instead, the key feature of all of these companies is a marketplace, and this has significant effects for doing business, writing policy, and making a living.</comment>


Is Superintelligence Impossible? - ml-engineer https://www.edge.org/conversation/david_chalmers-daniel_c_dennett-is-superintelligence-impossible <comment><AUTHOR> Tl;dr: definitely yes, although two philosophers disagree in their prognostications about whether anyone will actually build it. One thinks it's too dangerous and expensive. The other thinks the incentives to try are too powerful to avoid it.

I hesitate to predict the future, but so far everyone who has said, "this is the biggest and baddest X anyone will ever build," has been wrong. Unless that trend reversed, sooner or later we will build a strong artificial intelligence.</comment>


SoundCloud getting creative to attract developers - <AUTHOR>

Go to http://soundcloud.com and checkout the javascript console. Pretty awesome! <comment><AUTHOR> Clickable link here <http://soundcloud.com></comment>


Sci-fi policing: L.A. police predicting crime before it occurs - <AUTHOR> http://www.sfgate.com/news/article/Sci-fi-policing-predicting-crime-before-it-occurs-3677100.php <comment><USER2> There's a lot of upcoming uses of technology and law enforcement that concern me (crowd control, non-lethal weapons, drones, cctv, etc). However, on first glance, this one seems great.

I could see an algorithm come up with a lot of interesting correlations that make sense in hindsight but might not have been thought of ahead of time. For example, maybe a particular stretch of bars the weekend after payday are more likely to have confrontations just after closing time. Or maybe certain neighborhoods are more vulnerable to robberies during a specific holiday. Or maybe specific set of sports teams pitted against each other leads to conflict outside the game.

Using police to passively deter crime rather than punish it seems like a win- win.

<comment><USER3> Police have been doing that for as long as there's been police. They are more likely to have police outside a bar at midnight on a Friday night than 2pm on a Tuesday. They are just doing it better now.

<comment><USER4> I'm not sure I'm willing to make this argument yet, but I think there is at least something to stand on to say, "Yeah, but they can be too efficient."

Perhaps, not in the case of this example. But think about GPS tracking. Before if you wanted to follow someone around you usually had to dedicate at least 4 people 24/7 to watching them. Now, just use GPS and your good to go.

It's not so much about watching the good guys, but in my view it's about not having to make the choice to allocate resources. Is this person really worth taking 8 guys (4 per 12 hour shift) off of another case/patrol, etc to watch one person. That probably prevented a lot of abuse. Now, you slap a tracker on their car and come back in two weeks and pick it up and all the data is there.

<comment><USER5> I think it might be reasonable argument.

Suppose you have an upper class neighborhood that tends to collect a lot of noise complaints on the weekend. In theory sending a cop there might make an algorithm that's trying to minimize response times happy, but the reason cops tend to be stationed else-ware is to better respond to serious crimes because the station is 2 minutes away in case of a serious issues so there are better places to send cops to cover a full county. Sort of how a lot of algorithms made bad risk assessments because they had a poor understanding of what happens during a significant downturn in the housing market.

</comment></comment></comment></comment><comment><USER6> I'm sure this headline invokes "Minority Report" in more brains than just mine, but this isn't pinpointing individuals. It's just Really Good statistical modeling. Sounds impressive and a great way to put tax dollars to work.

<comment><USER7> Definitely. It would seem they are trying to make it sound like MR in order to put people off of it. But really, it's just really good statistical (or data) modelling.

As they said, there probably will be questions about profiling people and neighborhoods, but if the desired result is to reduce crime and it does reduce crime, does that not in fact subvert the notion of the stereotype? That's to say, if people think this might stereotype a neighborhood as one with more than normal criminal activity and this is implemented and this brings down crime, then in time, this neighborhood would be better than normal, in crimes statistically speaking and would rehabilitate the neighborhood, rather than vilify it.

Besides, in reality, it doesn't matter what the police or the mayor's office say, it matters what people on the street say. People on the street are unconcerned with being PC. They will tell you if a neighborhood is good or bad. One of the most honest assessment I have gotten is from RE agents. They don't offer any filters --they just tell you how it is, from my experience.

<comment><USER8> The main question is whether people in those neighborhoods will be treated differently. Written off as second-class citizens, denied rights like privacy rights or protections against stupid warrants, or unwarranted force becoming the default choice.

<comment><USER7> Let's consider two options:

Don't deploy this and let crime continue to be fought traditionally --this results in more neighborhood crime victims and continued view of this neighborhood as crime ridden.

Deploy this technique with a long term result of decrease in crime such that it's less than that of places which did not implement this prevention technique. Once that is achieved, there would be no inclination to treat people in those places differently.

So, given those scenarios, would a neighborhood accept different treatment knowing that long term crime would decrease and thus obviate the need to be treated differently, or would they prefer to continue the status quo knowing this would allow crime to continue as it had but getting to keep their current level of civil liberties?

I know those not the only options, but given those two, I wonder what a group might choose?

Also, we do not know how this technique would affect people's civil liberties. We only guess that it would.

<comment><USER6> Allowing different treatment of individuals for any reason beyond actual reasonable doubt is a dangerously slippery slope. Simply putting law enforcement in an area that has higher crime statistics in an effort to prevent crime is a good idea. Allowing those same officers to harass people in the area that haven't committed a crime is unacceptable.

My only concern is this: if the long term effects of this project will indeed reduce crime, do we have a society that's evolved to be less criminal or so we simply lack the data (because we've actively changed it) to continue to be effective at preventing crime?

<comment><USER7> You're probably right about the slippery slope argument. There is a risk. Still, NYC (and maybe soon SF) has implemented stop and frisk, without a slippery slope, (afaik) and data seem to point to a reduction in crime.

Some people have found stop-and-frisk unacceptable, yet others find it acceptable.

I don't think measuring decrease in crime is that difficult. One can find out statistically or by way of anthropological study at the other end of the spectrum. One of the easiest ways is probably to ask the residents. do they feel that crime has risen or fallen? Ask Real Estate agents --they have a good pulse on a neighborhood.

Now, something unrelated and this is just a hunch, but I guess that neighborhoods with high home ownership would have better reception for this than neighborhoods with low ownership --not because the population prefer crime, but because a reduction in crime would have the side effect of having a positive (higher) impact on rents and that's a negative for most renters.

</comment></comment></comment></comment></comment></comment><comment><USER9> I live in LA, and I can tell you it is huge. Huge in terms of area and huge in terms of population density. Follow any of the police scanner-reporting or neighborhood Twitter news feeds and you can count the crimes as they happen on a minute by minute basis. It's not hard to find crime in LA, and even after being exposed to these feeds I can tell you where to find something going down. But the most puzzling piece of this is how do you measure a reduction in crime? A criminal act that didn't happen isn't a crime and can't be counted as a "missed opportunity." They mention in the article that they have witnessed "double-digit drops in burglaries and other property crimes." Nine burglaries this month compared to ten last month is a double-digit drop, so can you really attribute one "missed" crime as a success? Or how about a reduction of 2 out of 20? (This is a valid example as property crimes in various police districts here rarely go into triple digits monthly, or even on a six-month basis, look for yourself [1]). Why would you assume that 1. the number of criminal acts is near-constant and 2. that your system was the actual reason for a decline? To me this feels like trying to predict roulette wins by looking at the historical numbers - it's pointless. If you can't measure your success with solid numbers, then it sounds like the only thing this system does is compile and report crime info faster than previous systems. And then someone got the bright idea to send officers to "hot zones" where they have been told crime will happen. Something happens - they were looking extra hard for crime and they found it - win, or nothing happened and they called it a "prevention" - win.

[1] <http://projects.latimes.com/mapping-la/crime/>

</comment><comment><USER10> A great idea. And the shape of things to come.

Imagine people people being able to report, not actual crime, but what could be suspicious behavior, to the police. Such "information" could be used to move resources to an area. You certainly can't harass someone based on such suspicions, but certainly can be more ready to respond if a crime does occur.

And property owners might like to know this sort of information. If someone is hanging around your parked car for example. Imagine being able to reply with "Oh, that's my teenager waiting for me to come back." or "That's my psycho-ex stalker girlfriend! And she has a crowbar!"

</comment><comment><USER11> This makes me really excited. Recently I've gotten the distinct feeling that the time period we're living in now will be known in the future as "The Age of the Algorithm." As production and storage of information continues to explode in the next decades, algorithms will match pace, getting more and more sophisticated to deal with the vast array of inputs, and the outputs will be used to enhance society as in this article.

And then we'll accidentally create artificial intelligence! (I hope)

<comment><USER12> Interesting notion....

<https://www.google.com/search?q=The+Age+of+the+Algorithm>

</comment></comment><comment><USER13> Let me add a slightly more negative take. If you follow police technology, no matter what's implemented, crime magically goes down! Although I can see a system like this being a high-level tool for allocating resources, the notion that it can "predict" crime is likely overblown. Where's the deep analysis to show causation, not just correlation?

<comment><USER7> I think the FBI figures are one that are pretty reliable and do not subjugate themselves to an individual department's claims.

I think the Minority Report allusion is purposeful in order to make it sound more sci-fi-ish and thus thus more questionable.

<comment><USER14> _I think the FBI figures are one that are pretty reliable and do not subjugate themselves to an individual department's claims._

If you're talking about UCR that's not completely true. The FBI does have reporting guidelines, but individual departments have been known to "interpret" those guidelines differently for political and funding purposes. That is one of the reasons why the FBI discourages "ranking" of metropolitan areas for crime based on UCR stats.

</comment></comment></comment><comment><USER15> I predict that the criminals will develop similar statistical models to work out where they will not likely be caught.

Most of the data they use is probably available to the public already under various open data schemes, so it's only a case of wiring it up.

It'll turn into a game of cat and mouse like SEO is for example.

<comment><USER16> That may be true for organized crime and for borderline white-collar criminals, but I doubt it will be true for your average "smash and grab" robbery.

<comment><USER17> You could offer it as an easy to use app. The would-be criminal sees an opportunity, pops out the cellphone and gets an accurate estimate of how likely it is that a cop will be around for the next couple minutes. Premium subscribers will also get advice on which possible crimes would be more profitable and likely to suceed with present police force deployment anneighborhood demographics.

The sad part: someone will eventually do it.

<comment><USER12> It turns out that abetting criminal activity is a crime. The app would have to be much more circumspect to get any farther than speed trap apps.

<comment><USER17> Any real-time neighborhood safety app that relies on the same data the police uses (or a similarly complete dataset) intended for mapping areas suitable for, say, nightly outdoors activities, can be used for avoiding police.

The second part, I agree, is completely criminal. I doubt it will become available on any mainstream app store.

Except as part of a sting operation.

</comment></comment></comment></comment></comment><comment><USER18> _"If you are victimized today the risk that you'll be a victim again goes way up,"_

Speaking from personal experience there is validity in that assertion. However, I'm question any algorithm that claims to predict human behavior, particularly when it involves the police.

</comment><comment><USER19> I met some of the founders, the company is called PredPol

<http://www.predpol.com/>

They were pretty awesome and there is a huge amount of space for them to grow.

</comment><comment><USER20> "Crime mapping has long been a tool used to determine where the bad guys lurk."

I'm assuming they mean where poor people live.

</comment><comment><USER21> Here you can see the software in Action: <http://goo.gl/maps/dYRG>

</comment><comment><USER22> They don't say what methods they are employing to do this. I think I have a good idea.

A two layer neural network with input (features) as the profile of a crime in a certain city and all of the related circumstances reduced to numeric columns. That should be able to produce reliable predictions on where/when crimes happen.

Andrew Ng talks about how to build this two layer neural network here: <http://www.stanford.edu/class/cs221/>

Glue it together, feed it the data, refine the inputs, test the outputs and revise the inputs/features, and there you go.

And yes for the liberals, this is going to profile people on all of the politically incorrect data points, race, color, sex, orientation, drug use, etc.

<comment><USER10> orientation is a data point for criminal profiling? that's a new one.

How's that going to be detected?

<comment><USER22> You are right, criminals are not profiled for gay/straight/bi/neither orientation, but if they could, a neural network would find a correlation between that column and the location of their next crime.

Thas one column would not be enough to decide with any certainty at all, however, if you pass in age, sex, weight, orientation, race, skin color, religious affiliation, address, marital status, prior convictions, languages spoken, income, has-vehicle, make/model of car, profession, where they work, smokes, drinks, and hundreds of other spot data points about them, a two layer neural network would be able to pull it all in, and use historical data to train against later data, and use recent data to predict where the crimes are going to occur, and it will be eerily right, gathering information gain from what seems out of thin air.

<comment><USER10> I think its more likely that crime will be predicted by looking at actual behavior. Someone unidentified that is acting suspiciously in a place where no visitors are expected. That sort of detection is going to get automated and will become ubiquitous.

</comment></comment></comment></comment><comment><USER23> I'm going to make a prediction that this will get massive hype and pomp surrounding it, and three or four (or whatever) years from now when the first big result sets roll in, it'll be discovered that it turns out it's not much more (perhaps not at all more), effective than random patrols in bad areas.

Why? Because we live in a dynamic, non-fate based world. Crime is a choice, and cannot actually be predicted (because destiny is not set). I can walk up to the door of a convenience store with a gun, stop, think, and turn back. Thus random patrols in known bad neighborhoods is guaranteed over a large dataset to be as effective as 'predictive' crime technology.

<comment><USER24> actually, you can not predict crimes of passion, but planned crimes, well, you definitely can, cant you?

<comment><USER12> Why can't you predict crimes of passion? People with poor impulse control are easy to predict: they react violently or opportunistically to common situations.

</comment></comment></comment><comment><USER25> I predict a riot.

</comment><comment><USER24> this reminds me of person of interest</comment>


How many of you are interested in M&A dealmaking as a growth strategy? - <AUTHOR> http://www.antiventurecapital.com/billionaire9.html <comment><AUTHOR> Or is this something completely off the radar for most here ?</comment>


Visa outage: payment chaos after card network crashes - <AUTHOR> https://www.theguardian.com/world/live/2018/jun/01/visa-outage-payment-chaos-after-card-network-crashes-live-updates <comment><USER2> Visa issued a single statement on Twitter acknowledging the outage then went dark. Not cool. [https://twitter.com/VisaNewsEurope/status/100257970416195174...](https://twitter.com/VisaNewsEurope/status/1002579704161951745)</comment>


How I Became A 19-Year-Old Associate VC - <AUTHOR> http://techcrunch.com/2012/06/10/how-i-became-a-19-year-old-associate-vc/

<comment><USER2> As Paul Kedrosky says, TC is beyond parody now.</comment>


@BrandonWatson Is Listening - <AUTHOR> http://www.manyniches.com/developers/brandonwatson-is-listening/ <comment><USER2> I don't use .NET because -- honestly -- I'm not quite sure what .NET means.

Does it mean the Visual Studio IDE and tools? I'm not a fan of those. They're good at what they do, but I prefer tools like TextMate, Emacs, or Vim.

Does it mean VB.NET or C#, the two languages I immediately associate with the term .NET? Does it mean the CLR and any/all languages built on it? Either way, I'm a web developer, and it takes me all of two seconds to do:

        rails -d mysql project_name
        script/server

and setting _that_ up took about fifteen minutes of compiling and installing things for free. I could switch to IronRuby, but I don't see the upside.

Does it mean the ASP.NET web stack? I (and my company) deploy to *nix servers, and switching to Windows servers isn't in the cards.

The biggest problem, in my case, is I don't care about .NET -- the term to me implies "the Microsoft way", a catchall term for using MS technologies, which I'm not interested in. I can become interested in an IDE that runs on my platform of choice, and I can become interested in a language runtime that's faster than, say, MRI; but only if these things don't also imply switching to an all-MS stack.

(edit: formatting)

<comment><USER3> I wish I could upvote this 10x. I have no idea what .NET means today other than the little insight I get when listening to the Stack Overflow podcast (which isn't much).

Not only do I not know what .NET means, I wouldn't know where to start learning or what the requirements are ...

Where is the .NET equivalent of these types of resources? (I really want to know):

[http://articles.slicehost.com/2009/1/6/ubuntu-intrepid- ruby-...](http://articles.slicehost.com/2009/1/6/ubuntu-intrepid-ruby-on- rails)

[http://articles.slicehost.com/2009/9/3/ubuntu-hardy-using- mo...](http://articles.slicehost.com/2009/9/3/ubuntu-hardy-using-mod_wsgi-to- serve-your-application)

<http://rubyonrails.org/screencasts>

<http://railscasts.com/>

<http://blog.disqus.net/2007/03/11/a-django-primer/>

Furthermore:

\- Can I spin up a $20/month .NET-compatible VPS?

\- Can I easily tie my .NET apps into cloud services like S3 (I can tie S3 file attachment into my Rails models in minutes)?

I don't ask these questions to be flippant–I honestly don't know the answer because I never bothered to search it out.

<comment><USER4> Awesome, awesome, awesome feedback. I share your frustration and am working like made to get that religion into our core business.

What some fun: type the following query into bing.com: "Getting Started with .NET" - check where the links take you. Try the same thing with PHP, Erlang, Ruby on Rails, etc.

</comment></comment></comment><comment><USER5> Frameworks, popular open source programs and prebuilt social api code.

.Net is great for building things from the ground and enterprise setups but when it comes to hooking into any social site MS just doesn't stack up. Even their sponsored Facebook framework was abandoned. They invested hundreds of millions into Facebook but couldn't keep the simple framework up-to-date for their developers.

No kid is going to say "Hey, I'd love to build an enterprise level reporting program with .net" Instead they're going to want to build cool plug-ins for popular open source programs. The next generation of programmers are growing up on PHP.

<comment><USER4> You mention the Facebook code library. What else could we do for you and this community?

As for the "cool plug-ins" bit, what is driving that decision, in your opinion? Desire for notoriety?

<comment><USER6> Desire for experience. while there are those developers brazen enough to think their first project will change the world, personally i knew my jr. high coding skills weren't exactly enterprise level. i was more interested in playing with different platforms and exploring their limits / figuring out what works. back then i was playing with ASP (haneng & 4guysfromrolla tutorials) and PHP. ASP seemed more expensive (have to pay for a windows server) and there weren't nearly as many places i could use the code (unless i wanted to do something with a DSN or ActiveX / some other piece of windows infrastructure a kid has little incentive to learn) so eventually i stopped paying attention of ASP. now, years later, seeing what the .NET professional developers at my office fill their days with - i'm glad i didn't learn more of it, lest i'd be doing what they do. no sane person should ever be confronted with DotNetNuke.

</comment></comment></comment><comment><USER4> Just to kick off the discussion here, if you are a developer who is building on a platform other than .NET, I would love to know why. Tell me anything. I'm an entrepreneur on loan to MSFT and very much trying to build our outreach to the non-MSFT developer crowd, and listen to and learn about their needs so we can build better products.

<comment><USER5> I'm an MSFT coder and love the mission you're on. We need more coders working with .net or the language will die off.

<comment><USER4> It drives me nuts that I have to download Eclipse to write Python code (instead of using Visual Studio). I am on a mission, and my execs have made it clear to me that they are willing to invest in what I am doing, which is awesome. Phase one, start building some trust with the community, and that starts with listening to them. Since I am in the product group (and not our evangelism group), I have direct product and strategy responsibilty. It's a cool role, and I am looking forward to spending more time doing what I love, which is working with devs and hopefully finding ways to make them more productive.

<comment><USER7> Isn't there a Python.net or something? Is your gripe that Python should be supported by Visual Studio?

Why did nobody write a Python plugin for VS yet? I suppose if you believe in it, you could do it in your spare time, or the 20% time (I know that's Google, but surely Microsoft has copied that model?).

I think a lot of people who use Python don't even like "fat" IDEs like VS, though.

<comment><USER4> Yes, we have IronPython (and IronRuby), and no it's not supported in VS. Don't get me started... =)

</comment></comment></comment></comment></comment><comment><USER8> \-- honestly -- I don't use .NET because:

* I am cheap, there are free stuff that are excellent and free

* I don't trust Windows as a server environment - 1) because of inherited public perception of it 2) lack of experience

* I have a perception of mono as poor .NET clone

most probable reason is no. 1</comment>


How Uploadcare Built a Stack That Handles 350M File API Requests per Day - <AUTHOR> https://stackshare.io/uploadcare/how-uploadcare-built-a-stack-that-handles-350m-file-api-requests-per-day <comment><USER2> User generated content (especially images) are a great attack vector, what do you do to isolate/mitigate against attacks like that ?.

<comment><USER3> How so? Obviously they won't be executing (or likely even analysing) any of the uploaded content.

Similarly, browsers should not generally be particularly vulnerable to malicious content being loaded with appropriate MIME types in appropriate containers (e.g. <img>)

It sounds like you should be asking how browsers protect users from malicious content. Perhaps you could elaborate?

<comment><USER2> Image and Video codecs come under attack quite often see [https://blog.sucuri.net/2016/05/imagemagick-remote- command-e...](https://blog.sucuri.net/2016/05/imagemagick-remote-command- execution-vulnerability.html)

In this context the image manipulation they do with pillow and the underlying libjpeg would be a potential source of vulnerabilities.

<comment><USER4> Significantly, it's not just libjpeg but every format supported by Pillow ([http://pillow.readthedocs.io/en/3.4.x/handbook/image-file- fo...](http://pillow.readthedocs.io/en/3.4.x/handbook/image-file- formats.html)) — many of those vulnerabilities have historically been in obscure formats where the implementation has had far less attention than the mainline JPEG or PNG support.

</comment></comment></comment></comment><comment><USER5> I find it interesting that these sorts of stacks have tons of moving parts. Maybe it's the nature of highly scalable systems? Or does it come from starting with one particular technology and then having to drag in lots of other things to make it work?

<comment><USER6> In the article we tried to convey the main idea behind that — take the best tool for the job at hand. There's no "one size fits all" framework or product to put you money on. It's much easier to handle this zoo than making something do that it's not supposed to.

Furthermore, to get high scalability, you have to make things as loosely coupled as possible. This means you're up to making some choices.

Hope that makes sense and answers the question :)

</comment></comment><comment><USER7> That's a great read. I've always been interested in learning how such tech- oriented companies found their initial traction. Are there any blog posts / articles / podcasts about Uploadcare's early days and the search for the product/market fit?

<comment><USER8> I just got wind of it, we at Uploadcare will soon be releasing an article with more info about the early days :) And, I believe, a podcast or two. Thanks for this question, btw. Would you elaborate on what you would like to know? It'll help us compile a great article, thanks :)

<comment><USER7> Great to hear that!

The reason why it's particularly interesting to me, i.e. to someone with a dev background, is that the lean startup wisdom says you should be very specific about the customer you're after and Uploadcare seems like a solution targetted at a broad spectrum of customer segments. Of course, I'm happy to be proved wrong if there are one or two dominant customer segments that you address Uploadcare to. Also, you might have as well started out with a very specific customer persona and spread to other segments. Whatever it was, curious to know.

I guess many developers dream up products targetted at developers like them selves. Selling to fellow developers is hard. It would be great to read a success story for a change.

</comment></comment></comment><comment><USER9> I wonder what's the breakdown between unique files delivered as opposed to files delivered from the CDN cache. Also, what's the breakdown for file uploads, manipulation and delivery? The 350M API requests per day would make more sense if we get this brakdown

<comment><USER6> Cached/uncached file delivery is close to the universal 80/20 ratio. Cached operations are not included in that number.

Unfortunately, I can't say anything more than that.

<comment><USER9> Curious - does that mean you serve close to 1.75 billion requests per day, out of which 350M are unique requests that exercise your stack instead of being served from a CDN. It'd be interesting to know more about what's the number of transformations you do at peak, if you can talk about it.

</comment></comment></comment><comment><USER10> 350M/day = just about 4K QPS. Is that considered impressive nowadays?

<comment><USER11> Assuming most transactions are a largish file transfer it seems impressive. And I assume the transactions aren't evenly spaced, so the peak is likely much higher.

4k qps of DNS, for example, would be less interesting.

<comment><USER12> In the case of large responses, bandwidth out is a much more interesting metric. I'm sure their number sounds more impressive though.

</comment></comment></comment><comment><USER13> It looks like your certificate expired.

Since it's just a DV certificate from Comodo, have you considered switching to Let's Encrypt? Its automated systems could have helped you automatically update.

<comment><USER14> It's a wildcard certificate, which isn't supported by Let's Encrypt yet.

<comment><USER15> Site appears to be hosted in AWS. Lots of free SSL goodness to be had from Amazon as well.

<comment> King-Aaron It's stretching into off-topic land here, but could you suggest any AWS SSL resources that are worth investigating?

<comment><USER16> AWS has Certificate Manager which provisions free certificates and manages renewals automatically. Usable across ELB, Cloudfront, etc.

[https://aws.amazon.com/certificate- manager/](https://aws.amazon.com/certificate-manager/)

</comment></comment></comment></comment></comment><comment><USER17> By using AWS.

<comment><USER6> It's not that hard to get high numbers with AWS, indeed :p

The hard thing is to make it cost effective. To that end I can proudly say that AWS bill is not in the top list of Uploadcare expenses.

</comment></comment><comment><USER18> All I can say is they don't seem to donate Django project.

<comment><USER19> If that's all you can say, don't say it at all.

<comment><USER6> Oh the irony.</comment></comment></comment>


Uber launches "Uber Works," aimed at connecting workers with businesses - <AUTHOR> https://uk.reuters.com/article/us-uber-workers-chicago/uber-launches-app-aimed-at-connecting-workers-with-businesses-idUKKBN1WI0BN <comment><AUTHOR> The name has a highly unfortunate similarity to "WeWork," but it's actually Uber moving into the temporary shift work space.</comment>


Do you know the 5 causes of low job satisfaction in IT? - <AUTHOR> https://getbadges.io/blog/causes-of-low-job-satisfaction-in-it <comment><USER2> GetBadges already brought brand new "work culture" within my team. I see that my team have more satisfaction from each task they do and In the same way the quality of the code is improving.

<comment><AUTHOR> Thanks kamilgumienny - nice to hear about it!

</comment></comment><comment><USER3> corporate culture/environment are the hardest to adjust too.

<comment><AUTHOR> Yes, they are. What do you think about trying to change a bit organisation's culture to make a better workplace? In some cases (but not all!) a game elements can give good results.</comment></comment>


Product targeted at startups - feedback needed - <AUTHOR>

We are thinking about developing a product that a startup business would use to organize their official documents: corporate documents, contracts, employment documents, tax documents, etc. It wouldn't provide these document forms to you, just help you organize them and get a basic level of guidance as to when particular documents are needed.
It would include intuitive compliance tools, such as helping a user understand when particular documents are advisable and when they are not, monitor legal compliance procedures, and contain a minute book and cap table. It would also include productivity tools, such as board and shareholder notification tools, collaboration tools such as version control and electronic signatures, and similar options.
We're looking for feedback. Is this something you would find helpful? Would you pay for it? <comment><USER2> Personally i dont think there is a market here. Startups do not have money, period.

Startups use tools like dropbox and google docs for storing documents today. Unless you can be a magnitude of 10 to 100x better (not just a little better), dont waste your time.

If you dont want to take this feedback, i suggest you find the simplest experiment you can run (no code involved) to test this out.

<comment><AUTHOR> Thanks! Yes, we'll be testing it extensively, and your feedback is very helpful.

The idea is not to replace cloud storage solutions, but to create a complimentary guide to managing your documents and other legal workflows. In other words, it's not a storage tool, but a productivity and monitoring tool. It's designed to help cut down on both legal expenses and internal time devoted to legal compliance.

When you start a business, would you use such a tool if it were free? When your business got bigger and you have a larger volume of documents to manage, would you pay for premium services?</comment></comment>


Come on you Twits Get on your Facebook & let's blog our way out of recession - <AUTHOR> http://marketingdonut.co.uk/blog/2009/09/come-on-you-twits-get-on-your-facebook-and-lets-blog-our-way-out-of-the-recession

<comment><USER2> No, please don't. There are already about 10,000 spammy 'social media gurus' to every 1 real twitter user.

I'm yet to see any compelling evidence that this has any effect on anything except the signal to noise ratio of what is already a very noisy space.

Interaction of individuals with businesses in social networking sites tends to fall under the category of 'brand loyalty', as in, people _already like_ the brand, and therefore are willing to publicly associate themselves with it. If you already have that kind of brand loyalty, then you don't need 'social media' as a marketing tool - your customers will probably do it for you with very little encouragement.

I think the real business opportunity of sites like Twitter and Facebook is becoming a self-styled 'social marketing' guru and then following 10 million people. That's what everybody else seems to be doing.

</comment><comment><AUTHOR> Appreciate your thoughts. We have seen evidence that raising your profile and brand on Twitter does lead to sales of products, books, services. An element of it is establishing yourself as an expert in your niche but there is a thin line between actually being an authority figure and positioning yourself as one with no substance to back it up.</comment>


Ask HN:why do titles get changed? - <AUTHOR>

It seems that the title of HN posts get changed to the website title after a post gets reasonably popular. This often loses the point the poster wants to make (for instance today with the Manchester website). Why is this? If it's automatic, shouldn't it be turned off? <comment><USER2> Titles should not editorialize.

<comment><USER3> But they should give context, which is often

a) purpose for posting (ie 'I like the design of this site', or whatever), or

b) context that is inherent in the article but not obvious as a submission (ie the topic of a blog).</comment></comment>


Announced at fam Thanksgiving: my cousin's pregnant, my startup just hit $6m run - <AUTHOR>

Family seems concerned... about me.  I'm 29, she's 26.<p>Also, no one understood what "revenue run rate" meant. <comment><USER2> What's your startup?</comment>


BlizzCon 2019 Protest "Full-Steam Ahead," Say Organizers - <AUTHOR> https://www.gamespot.com/articles/blizzcon-2019-protest-full-steam-ahead-say-organiz/1100-6470690/ <comment><USER2> IMO, Blizzards actions have been borderline incompetent.

I completely understand them not wanting their platform to be used to make political statements. This isn't like the NBA situation where Morey used a private social media account to show support for his private political opiniona. This was a platform owned by Blizzard with a very specific content focus.

But banning Blitzchung for _any_ amount of time was just dumb. They have the _right_ to respond that way, but it's still a dumb response.

They should have made a public statement following the incident that went something like this:

"We encourage players and community members to express themselves. However, our tournament coverage is a platform for Blizzard e-sports content only. Any future use of the platform to express personal political opinions on sensitive subject matter without Blizzard's express conscent will be met with punative action."

Follow that up with a description of what that punative action would look like.

I can't imagine any backlash to that. Many people would be unhappy, but I doubt there would be protests or letters from congress.

Blizzard made a mistake and they are refusing to learn from it. Now they get to deal with the fallout.

<comment><USER3> > "We encourage players and community members to express themselves. However, > our tournament coverage is a platform for Blizzard e-sports content only. > Any future use of the platform to express personal political opinions on > sensitive subject matter without Blizzard's express conscent will be met > with punative action."

How about let people say what they want and let the public judge by themselves? Is that so hard to do nowadays? You just don't endorse anything individuals say, that's all.

<comment><USER2> I don't know about you, but I don't want every entertainment platform to be consumed by political discussion. Sometimes you just want an escape and that's something video games help provide.

Those discussions are worth having but there are already plenty of platforms available to have them on.

<comment><USER4> The part I find especially frustrating is the double speak. Why do they say "We encourage players and community members to express themselves" while punishing someone for expressing himself? Just be honest. "We discouraged players expressing opinions that make it harder for us to sell in other markets." That has the benefit of being honest, plus everyone knows it's the truth anyway.

<comment><USER2> It all comes down to the platform. A mod who takes down political threads on a support forum is not "discouraging community members from expressing themselves". They're moderating a forum with a specific content focus.

I definitely think it would be wrong for Blizzard to threaten any kind of punitive action against a player who is making those kinds of statements outside of Blizzard's platform.

</comment></comment></comment></comment></comment><comment><USER5> Blizzard president Brack's statement that their policy limiting player speech is to " keep the focus on the game and on the tournament."

This is curious in such an ad supported game and tournament coverage. Do twitch ads take focus away from the tournament? A five second statement by a player is nothing compared to all the non-game material within and around broadcasts.

This seems to me to be some damage reduction strategy that didn't focus group its statements well enough.

<comment><USER6> > " keep the focus on the game and on the tournament."

I just can't help myself but draw the parallels to the NBA and their current situation as well with China and the utter hypocrisy shown by everyone from GMs to Coaches all the way down to players and media staff. When it came to social issues and black incarceration and inequality in America they spoke up bravely, and stated they wouldn't just "shut up and dribble" as LeBron famously stated.

Steve Kerr, a long outspoken critic of Donald Trump famously stated in 2017, "If you look at the history of the world, the biggest problems come when people don't speak."

Now this is Steve Kerr in 2019 after the China controversy, specifically on whether Morey shouldn't be fired: "I would hope that you appreciate my right to not answer that question because all it does is create a headline"

Sure sounds like the players and coaches are now saying "let us shut up and dribble" and "let us focus on the game"

<comment><USER7> > social issues and black incarceration and inequality in America they spoke > up bravely

people reveal their true values when they have to actually make a sacrifice.

<comment><USER5> I was having a similar conversation about how interesting it is that celebrities are all for easy moral decisions like "you can pee next to me" but when it comes to moral decisions that might hit their pocket book, they are quiet and even suppressive.

Taleb's Skin in the Game gets brought up a lot, but I think it's safe for me to assume that unless someone can suffer a loss, they are just saying blargh.

I know there are a few people who might buy less because they really hate trans people (which is really terrible as people should not hate someone on how they express their gender), but it's not the same hit as 400 million Chinese not buying my stuff.

<comment><USER6> If you want to see someone who has skin in the game in the NBA, look at Enes Kanter. The things he says about the Turkish government are putting his life and his family's lives in actual danger. Makes the "sacrifices" your Kaepernick and LeBron types have made seem pretty tame in comparison (aka not really sacrificing anything)

</comment></comment></comment></comment></comment><comment><USER8> The fact that Blizzard is in a position to throw a 'Con' each year shows that their games and lore are _way_ more highly valued then most games companies. Could you imagine fans paying $230 to visit to an EA exclusive convention each year? Not gonna happen with their reputation. Blizzard is at real risk of losing this community they've fostered for the last 20+ years

<comment><USER9> > Blizzard is at real risk of losing this community they've fostered for the > last 20+ years

I'm reminded of that image of people in a Call of Duty boycott on Steam, playing Call of Duty. Blizzard will lose some money over the next couple of weeks, but aren't at a real risk of anything.

[https://kotaku.com/what-modern-warfare-2-boycotters-are- play...](https://kotaku.com/what-modern-warfare-2-boycotters-are- playing-5403286)

<comment><USER10> That Call of Duty meme has long since been discredited. [https://www.resetera.com/threads/so-you-posted-the- boycott-m...](https://www.resetera.com/threads/so-you-posted-the-boycott- modern-warfare-2-steam-group-picture.110009/)

<comment><USER11> Without seeing the other 17 pages this isn't really discredit it either... they were just as likely to look the same as not.

Slacktivism is a very predictable phenomenon today. I'm seeing plenty of examples of it in both the Blizzard threads today.

</comment></comment></comment></comment><comment><USER12> Blizzard used to be my favorite gaming company. I remember when I was much younger dreaming of being able to work there on World of Warcraft. I played a ridiculous amount of WoW/Warcraft 3/Starcraft as a kid, and more recently a decent amount of WoW/Hearthstone/Overwatch.

I had been a WoW subscriber for over a decade. WoW's quality has been in decline (IMO) recently in BFA, and I stayed because I still occasionally enjoyed it, but it no longer has the same magic that I remember. WoW Classic brought back some of that nostalgia, but it was short lived for me.

BlizzCon last year made it pretty clear that Blizzard has shifted their focus [0]. There is no way they were delusional enough to expect a happy reaction to the Diablo Immortal announcement. It's very clearly targeted at the Chinese market.

Their actions in the past month (and year) are very telling - they are no longer the company I used to admire. I've canceled my WoW subscription as of last week, and I've deleted all of their games from my devices. I know that my actions alone/individually don't really have an impact on them, but I can't go on supporting them after the things they've been doing recently. Bellular has a pretty good video breaking down some of this situation as well [1].

It'll be interesting to see how BlizzCon goes this year.

[0]: [https://www.reddit.com/r/videos/comments/9tsy49/blizzard_get...](https://www.reddit.com/r/videos/comments/9tsy49/blizzard_getting_booed_for_the_first_time_at/)

[1]: [https://www.youtube.com/watch?v=bbPrbqE06Y4](https://www.youtube.com/watch?v=bbPrbqE06Y4)

<comment><USER13> >Their actions in the past month (and year) are very telling - they are no longer the company I used to admire.

"Never meet your heroes".

</comment></comment><comment><USER14> My son-in-law has lived in China and confronted me about my boycott. His position is that the content in Blizz games is kinda subversive to the authoritarianism practiced by the CCP. No other gaming company has the breadth of socially reformative messaging contained in WoW, Overwatch et.al. Should Blizz perform corporate harakiri by appeasing the angry SJW (not spoken derisively) in the West, the CCP would have no problem shutting down access to Blizz and the population would hardly notice. They would however not be exposed to the gaming content meaning the generational war with culture will be lost.

I stood firm and maintained that CCP was now fighting with plutocracy for changes to the culture in the west. An example is Marvel changing a Tibetan male monk to a western woman. His contention is that even that change was handled as well as you could expect. Even choosing the Celts as her culture is a small poke at the Chinese for their oppression of the Tibetans. Making it a woman even more so.

I'm still angry at Blizz and thinking about what he said. I will at the very least boycott past the Nov. 7th earnings call to see how deep it runs.

He does have a point about the greater good. This might be the wrong target for outrage.

<comment><USER15> This is how modern censorship works: let people have some limited margin, some limited freedom of speech when they only talk to friends or to groups of 4-5 people. Monitor them though. Do not believe for one second that Blizzard does not handle all the chat logs to the CCP.

Regular censorship must only happen when it matters: when millions are watching. This is when you strike hard and uncompromisingly.

Shutting down Blizzard in China would be a punishment the CCP handles to its citizens, and a proof to the world that it is not ready to be part of the international culture. It comes with a cost as well. Dare them to do it.

> I stood firm and maintained that CCP was now fighting with plutocracy > for > changes to the culture in the west.

I totally agree and this is a very strong red line to me. I reluctantly agree that it is best that each country does not meddle too much into the national policies of each other, but if China starts to push for universality of their values, we need to stop being shy at pushing back ours.

</comment></comment><comment><USER16> This will be truly interesting to see.

I wonder what can Blizzard possibly do for this not to spiral out of control and please West and China at the same time.

I do not envy their PR department right now.

But then again its all their own doing, so ready up the popcorn...

<comment><USER7> they cannot please both.

They will have to ride out the bad PR in the west, because they cannot afford to ride out the chinese market's dominance and profits.

<comment><USER17> the Chinese are 14% of their business. They could cut in other areas to make up for that loss.

<comment><USER18> No. The _Asia Pacific region_ is 14% of their business. That certainly includes China, but it isn't all China.

[https://www.statista.com/statistics/269665/activison- blizzar...](https://www.statista.com/statistics/269665/activison-blizzards- revenue-by-region/)

<comment><USER17> Even better. That means less cuts in their business to take the right stand for freedom.

</comment></comment></comment></comment></comment><comment><USER19> My 11 year old daughter has been looking forward to her first BlizzCon all year. She has been saving her allowance money so she can buy some d.va gear. She's been planning her cosplay, she's working with her mom to sew a d.va dress together based on a skin she likes. Everyday I walk her to school she's telling me her next Overwatch plan. I understand the protests, I'm angry myself at Blizzard's actions, but I'm not about to break her heart over my political opinions. Blizzard isn't going to be the only one hurt by what's happening.

<comment><USER11> Not everyone has to be a political activist, especially an 11yr old. Life is short and full of competing priorities, I doubt it will get much worse because a father and his daughter didn't protest.

I wouldn't worry about it.

Hopefully no one harasses those who still decide to go or causes any violence. That never helps anyone.

</comment></comment><comment><USER20> I haven't been following this Blizzard situation (debacle maybe?) too closely but does anyone know which has had a greater affect on American's humanitarian interests in Hong Kong, was it Blizzard or the NBA?

It's hard to tell if I'm seeing Blizzard and gaming show up more because of tech overlap but both seemed to have a huge impact on increased discussion among people around me. It really brought a lot of exposure to people who don't follow the news that closely, ime anyways.

<comment><USER7> blizzard, by drawing attention and banning the HS player, has inadvertently caused their own PR nightmare. If they just left it alone, there would've been less issues, and the media wouldn't be discussing it at all.

<comment><USER21> > and the media wouldn't be discussing it at all.

But the Chinese government might. And that might be much worse for them.

<comment><USER22> Unless Activision Blizzard plans to move their HQ to China, having the US government talking about you in a very negative light is likely worse for them.

<comment><USER23> The playerbase for some of their games is apparently as high as 70% China- based [1]. We can't verify this, because Blizzard doesn't release that information publicly, but if even remotely true, losing access to the Chinese market would be financially devastating.

[1] [https://www.youtube.com/watch?v=JSAlh9l-c7Q](https://www.youtube.com/watch?v=JSAlh9l-c7Q)

<comment><USER22> Blizzard does not release player numbers, but as a public company, they do release their financials.

Per Activision Blizzard's investor calls, approximately 10% of their total revenue is from China. So, with a profit margin of 25% and profits in the billions, Activision Blizzard is not going to go bankrupt even should they lose all their Chinese income.

<comment><USER23> Would you be impressed as a stockholder of a company that experiences a 10% reduction in revenue, voluntarily through an avoidable action?

<comment><USER22> If the action is in support of morals I (and much of the US) believe in, absolutely.

Money is not everything. I think it's a shame that so many are willing to support a company who will ditch their morals for just a bit more profit.

EDIT: This isn't just a hypothetical either, ATVI is on a blacklist of stock that I will not purchase. I hope others will do the same.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER24> Blizzard is more vulnerable to financial boycotts than other companies:

1) Their product is only used for fun. 2) They have subscription products that aren't used all the time, and thus easy to cancel if someone is reminded they have it.

I would be surprised if their next quarters earnings projections didnt take a nose dive.

</comment><comment><USER25> Blizzard counts on revenue from China making up for the revenue lost due to censorship.

Gamers in the west hope Blizzard is wrong.

<comment><USER18> Gamers in the rest of the world can all do our part to _make sure_ Blizzard is wrong.

</comment></comment><comment><USER26> At this rate Blizzard will move Blizzcon to China

<comment><USER27> That would be the ultimate capitulation. So I expect it.

</comment></comment><comment><USER28> Best protest is to not attend, offline or online. Ignore the news they share.

</comment><comment><USER29> So, Winnie-the-Pooh outfits for everyone?

</comment><comment><USER30> I think that's the _ruling party_ way of things: They usually try to obliterate into particles whoever dares to oppose them. Or whoever crosses their path; or whoever they don't like for whatever reason. Just take a look at the Uyghurs situation.

* edited because it seems people where taking offence on I miss using the word Chinese instead of "ruling party", that is actually what I meant.

<comment><USER22> How did their idiom go?

"We'll grind you up and crush your bones."

Sure, it is just an idiom, but it speaks to the thoroughness of their punishments.

EDIT: This is a direct, and recent, quote from Xí Jìnpíng when discussing (with foreign leaders) how the Chinese government will treat anyone who tries to split or sew dissent in China.

<comment><USER31> Please don't take HN threads further into nationalistic flamewar. It's not what this site is for.

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

</comment></comment></comment><comment><USER32> Blizzard needs some OG leadership to come in and fix their situation. I hate seeing my childhood get ruined.

<comment><USER33> Like the Ship of Theseus, I don't think Blizzard is the same company you grew up with any longer.

</comment></comment><comment><USER34> As long as the protesters don't disrupt the experience that I paid for too much, they can do whatever they want.

After weighing the facts carefully, I've decided that Blizzard was justified in penalizing the Hearthstone player, justified in penalizing the two casters, and truly abysmal at managing public relations.

My position on Hong Kong is unchanged. I'm still firmly of the belief that China needs to grant Hong Kong full autonomy and/or independence, and that China needs to stop trying to extend its morally bankrupt censorship beyond its own borders.

<comment><USER35> Protest is supposed to interrupt, to be there where it isn't wanted. It is supposed to be inconvenient and blocking.

<comment><USER36> If you stand on the side of the road with your signs, I may read your signs, and I might even be sympathetic to your cause. If you block the road with your signs, I definitely won't read your signs, and I definitely won't be sympathetic to your cause. Same for any type of violence.

<comment><USER35> That might be true. If 500.000 people block every big street in a city, you will read the signs and think about the cause. What a protest can afford depends on how many are protesting.

Going to the specific event in question, the convention of Activision Blizzard, if one person tries to blocks the event with protest, they will be removed, if necessary by physical force. If sufficiently many block the event with protest, the protest will be successful.</comment></comment></comment></comment>


Show HN: Aquarium for Mac terminal - <AUTHOR> https://github.com/doorbell88/Aquarium/blob/master/aquarium.py <comment><USER2> Works with some slight modifications under Python3 on windows in the default- cmd as well, but not flicker-free sadly.

I added colorama [0] for ANSI translation, used a new function to get the terminal size cross-plattform [1] and using Python 3 required a) print- functions and b) explicit integer division for values derived from WIDTH/HEIGHT, since the behaviour of / on ints changed)

[0] [https://pypi.python.org/pypi/colorama](https://pypi.python.org/pypi/colorama)

[1] [https://docs.python.org/3/library/shutil.html#shutil.get_ter...](https://docs.python.org/3/library/shutil.html#shutil.get_terminal_size)

</comment><comment><AUTHOR> I made an aquarium for the terminal, written in Python (needs termcolor module to run). It was a project I wrote to help me learn OOP. It randomly generates a unique aquarium ecosystem every time you run it. It adjusts to your terminal window size, so you can run it fullscreen or just have a tiny little aquarium off to the side to keep you company while you work! Try it out, and let me know what you think :)

<comment><USER2> You could maybe add a gif/video to the readme, especially for us non-mac users. (I think you could use [https://asciinema.org/](https://asciinema.org/) to create it)

<comment><AUTHOR> Ah, great idea - Thanks for the link! I didn't know about this!

</comment></comment></comment><comment><USER3> Other than a slightly buggy top line [1], this seems to work fine in gnome- terminal on Ubuntu.

Really nice work! I'll leave it running when I'm not using the terminal on my side monitor.

[1] [http://i.imgur.com/H3RLPS4.png](http://i.imgur.com/H3RLPS4.png)</comment>


An unexpected journey, a Postgres DBA's tale - <AUTHOR> https://engineering.semantics3.com/2016/07/20/an-unexpected-dba-journey/ <comment><USER2> There are more surprises around Postgres XID to be had:

\- Temp tables cannot be vacuumed by anyone else than connection that owns the table (no way around it) - do not keep temp tables too long, nightly vacuum or auto vacuum will not clear these,

\- Temp tables do not get automatically dropped on recovery if your DB cluster crashes. They get reused but if you have many connections before crash and few after some namespaces will linger - you may need to manually cascade drop temp namespaces if you see the warning,

\- Full vacuum does not touch XIDs - use freeze or just normal vacuum,

\- Check oldest XID per table:

      SELECT c.oid::regclass as table_name,

            greatest(age(c.relfrozenxid),age(t.relfrozenxid)) as age

            FROM pg_class c

            LEFT JOIN pg_class t ON c.reltoastrelid = t.oid

            WHERE c.relkind = 'r'

            ORDER by age DESC

            LIMIT %s

\- Check oldest XID per db:

            select datname db, age(datfrozenxid) FROM pg_database ORDER BY age DESC

<comment><USER3> > \- Full vacuum does not touch XIDs - use freeze or just normal vacuum,

Don't think that's right.

          copy_heap_data(Oid OIDNewHeap, Oid OIDOldHeap, Oid OIDOldIndex, bool verbose,
      			   bool *pSwapToastByContent, TransactionId *pFreezeXid,
      			   MultiXactId *pCutoffMulti)
      ...

      /*
      	 * Compute xids used to freeze and weed out dead tuples and multixacts.
      	 * Since we're going to rewrite the whole table anyway, there's no reason
      	 * not to be aggressive about this.
      	 */
      	vacuum_set_xid_limits(OldHeap, 0, 0, 0, 0,
      						  &OldestXmin, &FreezeXid, NULL, &MultiXactCutoff,
      						  NULL);

      /*
      	 * FreezeXid will become the table's new relfrozenxid, and that mustn't go
      	 * backwards, so take the max.
      	 */
      	if (TransactionIdPrecedes(FreezeXid, OldHeap->rd_rel->relfrozenxid))
      		FreezeXid = OldHeap->rd_rel->relfrozenxid;

i.e. the cutoff is computed in copy_heap_data(). And then in

          void
          rewrite_heap_tuple(RewriteState state,
      				   HeapTuple old_tuple, HeapTuple new_tuple)
      {
      ...
      	/*
      	 * While we have our hands on the tuple, we may as well freeze any
      	 * eligible xmin or xmax, so that future VACUUM effort can be saved.
      	 */
      	heap_freeze_tuple(new_tuple->t_data, state->rs_freeze_xid,
      					  state->rs_cutoff_multi);

<comment><USER2> I'm speaking from experience with 9.1, I perhaps this has changed since (5+ years of dev!). I ran an experiment to demonstrate no XID reset on vacuum full:

I ran a test:

XID age in callback 354015 (0% of max)

task=# vacuum full callback;

XID age in callback 354015 (0% of max)

task=# vacuum freeze callback;

XID age in callback 11 (0% of max)

<comment><USER3> Yea, but that's not the same as not freezing at all - it freezes stuff older than autovacuum_freeze_min_age.

</comment></comment></comment></comment><comment><USER4> It is my vague understanding that a lot of these XID vacuum issues are being massively improved by a patch that landed a few months ago.

[http://rhaas.blogspot.com/2016/03/no-more-full-table- vacuums...](http://rhaas.blogspot.com/2016/03/no-more-full-table-vacuums.html)

"No More Full-Table Vacuums" \- Robert Haas

</comment><comment><USER5> I don't think I've ever read a tech blog post that was so gripping, with twists and turns AND ends with a cliffhanger (until you click on the link to part 2)

<comment><USER6> Haha I agree.

For a second I was conserned about the level of my geekiness.

Then I moved on the the next HN article...

</comment></comment><comment><USER7> I wonder is there a compelling reason that Postgres does not use 64-bit XIDs?

<comment><USER4> There are four XIDs per tuple, so a 64-bit XID would make every row 32-bytes larger. (That's a _lot_ larger.)

<comment><USER8> ...and yet still reasonable for many applications...

</comment></comment></comment><comment><USER9> For the elucidation of the audience: one thing which I found out can kill PostgreSQL (and luckily there are few of those) is temp table over-use. Imagine a busy app where most page loads create and work on wide temp tables. What isn't directly obvious is that temp tables, like regular tables, have their metadata (attributes) stored in system catalogues, and the catalogues themselves apparently are very much (if not identical) like regular tables. So now, there's huge write traffic on system tables which by the nature of temp tables generates huge numbers of dead records, as information on every field of every temp table, etc. is created and deleted. I'm also pretty sure there's some ugly locking also in the mix.

So imagine now that autovacuum was turned off...

The user tables in such a system can survive if they are not updated often, with an occasional vacuum. However, the situation here was such that for every GB of user data, another GB has accumulated in _dead records in system_ tables. Half of disk usage has gone to bloat in system tables!

It's easy to fix, of course, with a full vacuum of everything, if you have the time. Or more quickly, a full vacuum of system tables should be very fast, right? Right, except in that particular old version of PostgreSQL there was a race condition bug with vacuuming system tables which locks up the entire cluster with a possibility of data corruption for the db in question. Guess what happened.

A restore from backup.

</comment><comment><USER10> Given the dangers of the XID wraparound, I wonder if it makes sense for Postgres to auto-launch a Vacuum Freeze, or some minimal variant of it, when it detects that a XID-wraparound is imminent.

<comment><USER11> It does do that. But it runs at very low priority, so it might take a while.

But on the other hand, it starts warning you, first just in the log file, then on every query you issue way before it actually stops working, so if you're not ignoring warnings in your logs / your client-code, there should be ample time to react.

At least, there was for me when I first ran into this a few years ago.

</comment></comment><comment><USER12> 200,000 tables in one database? What?

<comment><USER13> If you have a lot of variable schema datasets that you need to be able to index and query, you can do a lot worse than create a table per data set.

At my job, in our largest environment we only have 30,000 tables in our biggest database, but that's only a year or two's worth of data and the rate of increase is increasing.

<comment><USER14> Can you give me an example of what you're doing exactly? Rapidly expanding the number of tables in a database doesn't make sense. Sounds like you need a flexible document store, and not a relational database.

<comment><USER13> Have looked at what's on the market, and the performance characteristics of what's available isn't as good as a relational DB, in terms of queries that join the rest of our schema, static data, only a handful of warm tables but quick ramp-up time, etc. Specifically we don't want a cluster solution (too expensive in terms of hardware) and our data is almost completely static once it's loaded (so we don't need something that e.g. keeps stuff in memory to optimize updates).

The closest is RethinkDB, but its memory requirements per table are too high.

If you have other suggestions for something that can live on a smallish box (4G) yet support thousands of tables, fairly arbitrary queries, and joins against a relational DB, I'm open to suggestions. Fast bulk updates and inserts are a bonus; a relational DML is a requirement, since a good chunk of our logic is in SQL, and much more readable for it.

<comment><USER15> The idea of a flexible document store is not using thousands of tables. Instead, you get a flexible "table" that can store a big number of different data types.

For some extent, Postgres can do that. But I don't know the extent of flexibility/performance you'll need.

<comment><USER13> We have 10s to 100s of thousands of tables - literally, tables, with rows and columns, each column of a consistent type, that need to be sortable and filterable - with each table having low thousands to low millions of rows.

When browsing any one table, the entire table's contents - more or less - needs to be sortable on any column and served up in a paginated fashion.

A single table with heterogeneous data, with lookup by ID or some simple key, is quite far away from what we need. What we need looks almost exactly like an RDBMS table. It even has foreign keys into tables that are much more conventional.

</comment></comment></comment></comment></comment></comment><comment><USER16> This article mirrors my own experience with Postgres. When something goes wrong, furiously research for 10 days, try a bunch of complex things, then discover a simple command that gracefully fixes everything =)

</comment><comment><USER17> Or just change XIDs to 64 bit...

<comment><USER18> An ironic comment, given yesterday's popular article: [https://news.ycombinator.com/item?id=12202735](https://news.ycombinator.com/item?id=12202735)

</comment></comment><comment><USER19> The title is misleading. The post only talks about Amazon's RDS which is not Postgres.

<comment><USER5> Amazon RDS is the managed version of Postgres (among other flavors of relational DBs). Maybe you are confusing it with Redshift.

[https://aws.amazon.com/rds/](https://aws.amazon.com/rds/)

<comment><USER20> Isn't Redshift also based on PostgreSQL? Edit: it is: [https://en.wikipedia.org/wiki/Amazon_Redshift](https://en.wikipedia.org/wiki/Amazon_Redshift) and RDS supports many different RDBMS flavors: [https://en.wikipedia.org/wiki/Amazon_Relational_Database_Ser...](https://en.wikipedia.org/wiki/Amazon_Relational_Database_Service)

<comment><USER21> Redshift is based on PestgreSQL, but is vastly different. Redshift is a columnar store, and can't do things like create indexes. [http://docs.aws.amazon.com/redshift/latest/dg/c_SQL_commands...](http://docs.aws.amazon.com/redshift/latest/dg/c_SQL_commands.html)</comment></comment></comment></comment>


Public and private spaces, and why Reddit and YouTube comments are so awful - <AUTHOR> http://andrewchen.typepad.com/andrew_chens_blog/2007/12/public-and-priv.html

<comment><USER2> I think early adopters in general tend to be more intelligent, and so leave better comments than late adopters. And with youtube, there isn't much to comment on when it's just a video of a guy falling off his skateboard or whatever.</comment>


Ask HN: What tools do you always set up before starting new project? - <AUTHOR> <comment><USER2> Not quite clear question. I have a lot of all the software that I use Often rely on [https://ahrefs.com](https://ahrefs.com), often resort to the services of [https://callgear.com](https://callgear.com)

</comment><comment><AUTHOR> OP here. Just to clarify the question a little bit more.

For example, I often set up ESLint + Webpack for my web dev projects. On the other hand, it always feels like a pain in the ass to go through that configuration process. But in the end, I know it'll make my programming easier and more productive.</comment>


Drone Memorial - <AUTHOR> http://iocose.org/works/drone_memorial.html <comment><AUTHOR> Drone Memorial represents the first memorial dedicated to war technologies that failed during military operations. Drone Memorial is the symbol of a hypothetical scenario, one where drones share their lives with humans and participate in a world where war no longer exists. However, the absurdity of a memorial for drones reveals the difficulty of imagining such future, and probably its impossibility. Drone Memorial is part of In Times of Peace (2014 – ongoing), a concept project that explores the life of drones after war and terror.</comment>


Steve Jobs and the Art of Fuck You in Leadership - <AUTHOR> https://medium.com/@stanfis111/steve-jobs-the-art-of-fuck-you-in-leadership-200k-mba-7ea7edd01157 <comment><USER2> The title did seem clickbaity at first, and I was like eff this... but the content does deliver on it.. Running two startups and a no profit.. i am going to be honest, i am guilty of the "desire to be liked" sins mentioned in this blog piece.

</comment><comment><USER3> A few weeks later he called Bob Belleville, one of the hardware designers on the Xerox Star team. "Everything you've ever done in your life is shit," Jobs said, "so why don't you come work for me?" Belleville joined the team.

<comment><USER2> Excellent highlight! Wonder where Sir Bellevile is and if he can chime in on his real experience. Something tells me, he must have had a lot of "fuck yous" and "i love yous"

<comment><USER4> [https://www.youtube.com/watch?v=FevE95EJ0TQ](https://www.youtube.com/watch?v=FevE95EJ0TQ)</comment></comment></comment>


Did 37Signals axe Backpack? - <AUTHOR> http://backpackit.com

<comment><USER2> I don't see a way to signup. If you go here <http://backpackit.com/email/> and click on Plans and Pricing it takes you back to the home page.

</comment><comment><USER3> Axe them wot.</comment>


Keynote: Some Mistakes We Made When Designing Implicits – Martin Odersky - <AUTHOR> https://www.youtube.com/watch?v=1h8xNBykZqM&list=PL_5uJkfWNxdl-_ZLKDztCXceKD0l9Kz6n&index=2&t=0s <comment><AUTHOR> [https://dotty.epfl.ch/blog/2019/06/11/16th-dotty- milestone-r...](https://dotty.epfl.ch/blog/2019/06/11/16th-dotty-milestone- release.html)

implicit -> delegate for Y, given

[https://github.com/lampepfl/dotty/pull/6649](https://github.com/lampepfl/dotty/pull/6649)

[https://dotty.epfl.ch/docs/reference/contextual/given- clause...](https://dotty.epfl.ch/docs/reference/contextual/given-clauses.html)</comment>