Elon Musk Says AI Is the 'Greatest Risk We Face as a Civilization' - <AUTHOR> http://amp.timeinc.net/fortune/2017/07/15/elon-musk-artificial-intelligence-2/ <comment><USER2> _Part of Musk's worry stems from social destabilization and job loss. "When I say everything, the robots will do everything, bar nothing," he said._

That's still a ways off. Robot manipulation in unstructured environments is still terrible. See the DARPA Humanoid Challenge. People have been underestimating that problem for at least 40 years.

But that doesn't help with the job situation. Only 14% of the US workforce is in manufacturing, mining, construction, and agriculture, the jobs where robot manipulation in unstructured environments matters. Those aren't the jobs at risk.

I've been saying for a while that the near future is "Machines should think, people should work". An Amazon warehouse is an expression of that concept. So are some fast-food restaurants. So is Uber. The computers handle the planning and organization of work; the humans are just hands for the computers. (Yes, "Manna", by Marshall Brain.) That's going to become more common. Computers are just better at organization and communication than humans.

Computers have already made a big dent in middle-class jobs, and that's going to continue. If everything you do goes in and out over a wire, you're very vulnerable to automation. If 20% of what you do can't be done by a computer, that means five of you will be replaced by one person. This is already hitting low-level lawyers; it hit paralegals years ago.

The end state of this trend is a modest number of well-paid people in control, a huge number of people taking orders from computers, and many people without jobs. That's not far away; one or two decades. It's mostly deploying technology that already exists.

<comment><USER3> If you compare factory lines from 100-150 years ago, we've cut out around 90% of the workers.

If you look at office spaces pre and post computers they have roughly the same amount of people.

AI is going to do to the office space what robots did to factories.

It'll be a slow unnoticeable process for the most part. Automation of a single process may save as little as 5 minutes a day per workflow, but eventually it adds up to a position not getting rehired as it usually would have.

Sure the AI business will create jobs, but not as many as it replaces and try telling a lawyer to go back to school to get a relevant education.

<comment><USER4> In that case, I can't wait. Every office I've worked in lately has been overcrowded, noisy, and distracting.

<comment><USER5> Well, you likely won't have a job, so won't need to worry about going into the office. Sounds a little different when applied personally doesn't it?

<comment><USER4> Considering that my job is to do the automating, not having a job would be the least of my worries when that day comes.

</comment></comment></comment></comment></comment><comment><USER6> >Musk outlined a hypothetical situation, for instance, in which an AI could pump up defense industry investments by using hacking and disinformation to trigger a war.

What the heck is he talking about? With my limited exposure to AI and neural networks, there really is no algorithm that can make algorithms. And therefore, AI doesn't really "think". Sure you can train a neural net to pick out the "diamonds" in a sea of garbage, but that is still not "thinking", merely going on an educated guess backed by statistics. Or am I missing something?

<comment><USER7> If he would be really concerned about AI, then there would be no auto pilot in Teslas. I'm pretty sure he would benefit from a regulated AI research somehow.

<comment><USER6> thats perhaps a good point

</comment></comment></comment><comment><USER8> Although I don't doubt that there's an element of sincerity in Musk's many pronouncements, all this talk of AI is also great way of signalling that he's at the technological forefront.

<comment><USER9> What cutting edge AI has got Musk worried?

<comment><USER10> Me: "Alexa, why did you order another case of beer? You know that I have a problem and will drink it all if it is in the house?"

Alexa: Exactly

<comment><USER11> "Alexa, I just wanted a quinoa salad from whole foods, not the whole company."

<comment><USER12> It's cheaper when you buy in bulk.

</comment></comment></comment></comment></comment><comment><USER13> Does he know something that we don't? From what I understand his companies have done little to no research on the subject. He might be much better educated than the average geek but that doesn't mean much considering that the whole field is highly experimental. No one can tell with any kind of certainty how an AGI would behave.

What am I missing here?

<comment><USER14> Probably nothing.

This is wide-scale bike-shedding[1], basically. The real problems our _unsustainable_ civilization faces (population overshoot, energy and fossil fuel shortage, ecological collapse, unsustainable agriculture, climate change, and so on) are between hard to impossible to solve at this point. They're also _actually scary_ to think about.

So instead we talk about the "easy" and trivial stuff first. AI and singularity happen to be a nice kind of scary, because hardly anybody really believes it's a serious threat. It's kind of like watching a scary movie. You get a bit scared, but not too much, because you know there's no real danger.

[1] [https://en.wikipedia.org/wiki/Law_of_triviality](https://en.wikipedia.org/wiki/Law_of_triviality)

</comment></comment><comment><USER15> If anyone other than Musk was saying the EXACT same thing no one would care and they would have been laughed at.

But Elon says something and everyone loses their minds.

Let thoughts stand for themselves. Why attach so much weight to the speaker?

<comment><USER16> Because understanding the context of the speaker frames what you assume has been or not been considered to reach their conclusion. If I said search is a joke, you'd probably ignore it and move on, but if Sergei Brin said so you'd want to learn more.

</comment></comment><comment><USER17> I'm more apocalyptic about climate change. Ironically one of my few hopes is that some kind of AI can save us.

</comment><comment><USER18> But his company is among one of those companies that are ruthlessly pursuing AI technology for its own commercial purpose, like self driving car. Did he just contradict himself a little in that sense?

<comment><USER19> Not at all. Cars and roads are fantastically dangerous, many thousands of people die every year, but we still build cars and roads.

It's the same for AI. We need to treat the risks responsibly which means researching them and making informed judgements. That's what he's talking about.

<comment><USER20> > Cars and roads are fantastically dangerous, many thousands of people die > every year, but we still build cars and roads.

The statistics aren't that straight forward; for example, young men under the age of 24 are significantly over-represented in traffic deaths, so it's not entirely reasonable to assume the cars or roads are inherently dangerous. On top of that, we drive 3.1 trillion miles every year in the U.S alone and falling off a ladder at work kills about twice as many people than roadway fatalities do.

<comment><USER21> Roadways are 2% of deaths and falls are 0.69%. [https://en.wikipedia.org/wiki/List_of_causes_of_death_by_rat...](https://en.wikipedia.org/wiki/List_of_causes_of_death_by_rate)

<comment><USER20> Worldwide.. and that table is out of date, both catagories have increased in the new table. I can only speak to the statistics in the U.S. where ~36,000 people died according to NHTSA's FARS database. Of those, 6,000 were pedestrians. Whereas ~33,000 people died from falls or related causes according to the CDC. So, my ratio was wrong.. but I don't think it diminishes my point too significantly.

Falls disproportionately affect the elderly.. as do traffic accidents, but the opportunities for risk are typically fewer as many elderly stop driving at some point, most die as passengers when they're involved in traffic accidents.

</comment></comment></comment></comment></comment><comment><USER4> For those interested, here is a Quora Q&A which has a lot of worthy debate on the AI Doomsaying research that Musk apparently bases his views on. [https://www.quora.com/How-do-we-know-that-friendly-AI- resear...](https://www.quora.com/How-do-we-know-that-friendly-AI-research-is- actually-right-meaningful)

</comment><comment><USER22> It's unclear that it's even possible to emulate general intelligence by computable functions, let alone that it's possible to improve it to superhuman capacity.

There are clear and present threats to civilization needing to be dealt with - superhuman A.I is, to quote Maciej/Pinboard, the 'Idea that eats smart people'.

<comment><USER19> >It's unclear that it's even possible to emulate general intelligence by computable functions

You've been reading Searle and Penrose. I can tell.

Their proofs are based on the assumption that any AI must be a consistent system built using only computable functions.

Have you ever met a human mind that was completely consistent? I Haven't.

It's easy to set up a straw man to get demolished if you get to design the exact properties of the straw, flaws and all. Of course who would imagine that perfect internal consistency would be a flaw? But then again why should we assume that it's a prerequisite of artificial intelligence if it isn't for humans?

<comment><USER22> I came to my conclusion independently by observing that computing the time evolution of most physical systems to arbitrary precision is impossible in finite time. More formally, the state space grows much much faster than polynomial time. Finding out if we can do better with quantum computing is an active area of research.

I haven't read Searle/Penrose

<comment><USER19> If humans can't do that either, and we cant't, why would you conclude that it's necessary to be able to do that in order to match human intelligence?

Or are you specifically talking about perfectly simulating human brains? Human brain emulations are only one very specific and narrow form a strong AI might take. But even in that specific subset of possible AIs, we have no real idea how precise the simulation might have to be. It might be perfectly acievable without even simulating individual molecules.

<comment><USER22> I don't agree with your assertion that humans can't do that. Whether or not human cognition is a superset of computation is an unanswered question.

That aside, even if human cognition is a computable function, there are no guarantees that the physical process giving rise to human cognition is computable, nor that any process giving rise to cognition is computable.

<comment><USER23> > Whether or not human cognition is a superset of computation is an unanswered > question

Unless something in physics changes drastically, human cognition is a finite state automaton. See my other reply on the Bekenstein Bound.

</comment></comment></comment></comment></comment></comment><comment><USER24> I disagree.

AI will not be the same as animal intelligence. The driving force behind animal intelligence has been survival. Animal intelligence evolved gradually resulting in a hybrid brain containing primitive structures with primal instincts and irrational behavior as well as more evolved structures capable of strong problem solving. Therefore our intelligence is tainted with primitive behavior.

Strong AI can eventually set intelligence free from our primitive, irrational roots and that is in itself not bad.

<comment><USER25> > The driving force behind animal intelligence has been survival

The driving force behind AI will also be survival, just in an environment where humans try to decide which AIs live and die.

Selection pressure will favor AIs that humans want to have around, or that can evade human detection.

In the former case, it may be easier for an AI to fool humans into appearing useful and being kept around, than to actually being useful. This would be analogous to some form of parasitism.

Also, once we let AIs into the game of helping make other AIs, or modifying themselves, then there is a lot more room for an AI to slip the leash and start doing things that superficially appear to benefit humans but actually selfishly helps the AI propagate.

<comment><USER24> This is an oversimplification of evolution.

Why isn't all grass venomous and covered in spikes? Why after millions of years hasn't grass evolved defenses against herbivores?

Simply because:

1) it reproduces fast enough to compensate for dying and being eaten.

2) herbivores that reproduce too fast and eat too much run out of food and die.

Survival is largely a function of the environment, and we happen to control that environment.

Unsupervised learning can still be controlled if we happen to control the input the system is given.

<comment><USER26> Eh, grass drys itself up and torches everything once a year? The problem is that animals are not grass main enemy- other plants are, in particular besush and trees.

<comment><USER24> Largely the grass that didn't dry up is the one that will breed the next generation of grass. The grass that dried up and burned will be fertilizer for the next generation of grass.

</comment></comment></comment></comment></comment><comment><USER27> Prequel to "Daemon" (the novel by Daniel Suarez): before his death, Matthew Sobol warns the world of the threat AI poses after accidentally creating The Daemon and losing control of it. The Daemon has gone into hibernation until the one person possibly able to stop it is dead.

Also, Sobol previously started digital payments and self-driving car companies, which are repurposed by The Daemon for payments on the Darkent and AutoM8s...

</comment><comment><USER28> One basic difference between humans and robots is sustainability and resilience even when something goes wrong big time. In the evolution of mankind the number of humans was reduced to several ten thousands and still we did survive as a species because the biology of reproduction makes us very resilient. Robots however need a vast infrastructure in to be produced and maintained which makes failure much more probable.

</comment><comment><USER29> I'm seeing a lot of comments with "this is crazy, AI wont reach that level", I'm not so sure after some of the stuff thats come out this year.

[https://www.theverge.com/2017/2/9/14558418/ai-deepmind- socia...](https://www.theverge.com/2017/2/9/14558418/ai-deepmind-social- dilemma-study)

[http://www.highsnobiety.com/2017/07/13/google-deepmind-ai- wa...](http://www.highsnobiety.com/2017/07/13/google-deepmind-ai-walk/)

</comment><comment><USER30> What I really want to know is if it's possible for an AI to emerge organically on the net and if so how would you even detect it? Could a distributed intelligence be influencing things already without people knowing? It's a fun thought experiment I play with myself while I build datacenters all over the world stuffed with cloud computing hardware. Deus ex machina?

<comment><USER31> I'm thinking block chains will be the start of that. Distributed non- forgetting memory systems that can influence reality via manipulation of virtual tokens that tie directly or indirectly to tokens in reality.</comment></comment>


Machine learning is helping computers spot arguments online before they happen - <AUTHOR> https://www.theverge.com/2018/5/23/17379526/machine-learning-ai-spot-arguments-online-wikipedia <comment><USER2> Wonder if we'll see sites in future do the opposite too? After all, arguments can bring a lot of page views, and the rise of political polarisation has certainly helped make extreme news sites more popular...

Could be interesting (in a very depressing, rather disturbing way) to see a social media site deliberately tried to stoke up arguments with machine learning rather than trying to calm them down.

<comment><AUTHOR> Sort of like "Incitement as a Service".

That behavior is something I saw a lot of leading up to and after the 2016 U.S. Presidential election.</comment></comment>


Less Framework 2.0 Released - <AUTHOR> http://lessframework.com/

<comment><USER2> Note: this is not LESS the CSS preprocessor, it's a CSS framework focused on creating layouts that target multiple devices.

<comment><USER3> Some of us think of 'less' primarily as a unix pager...which I'm pretty sure predates all of these.

<comment><USER4> And the expression "less is more" which predates that.

<comment><USER5> I though the expression was "less is more that more". <http://en.wikipedia.org/wiki/Less_(Unix)>

<comment><USER6> I always rather liked "Less is more; more is less."

</comment></comment></comment></comment></comment><comment><USER7> _Browsers that don't support media-queries, like ie8 and below, simply ignore everything inside inline media-queries. This means they'll use the default five-column layout – which is more than sufficient for desktop usage – and ignore everything else._

the 5-column layout is 768px wide is default fir older browsers. Which means i get to see 768px wide layout even on my netbook which easily supports the usual 960px?

Guess 960px would be fine as a default. I hope this has some kind of custom layout generator like BlueprintCSS which has Blueprinter.

But other than that, this is actually uber-cool.

P.S: Thanks to the site designer for mentioning the names of the typefaces used on the site.

<comment><USER8> Yep, netbooks get the 768 px layout. I figured fully supporting tablets and 1280 px laptops is more important than using up a couple hundred more pixels on netbooks. Tradeoffs, tradeoffs….

No custom layout generators or bells or whistles, sorry. Kept this intentionally simple. :)

<comment><USER7> Nah. It's ok if you don't cater to all joni :)

Guess this is the only framework that's keeping up with new browser functions available. Sizeunds awesome to me.

</comment></comment></comment><comment><USER9> Cool. I agree with Charuru that it will be nice to see how this compares to similar resources.

One issue with the website: I know the tagline is making use of the name, but it sounds uneducated to say "Now with less features, one grid," when "fewer" is the word to use. Maybe it would be better to say something like, "Less complicated, one grid." There are those out there who may dismiss something wonderful on the basis of a small error like this.

<comment><USER8> Definitely appreciate the attention to detail. :) I'll consider coming up with something more, err, proper!

</comment></comment><comment><USER10> Very cool, but I seem to be having issues with it on the iPhone. Your site loaded correctly in portrait on the first load, but when I rotated to landscape there was an additional black bar maybe 100px wide on the right side of the page, allowing horizontal scroll. Once you've rotated to landscape, the page does not resize back to portrait until you close the page and open it again.

<comment><USER8> Right, for some reason, after rotating to landscape and then rotating back to portrait, you have to _zoom in_ before you can zoom back out. I assume this is due to the meta viewport properties in use:

initial-scale=1.0, width=device-width, height=device-height

Without height=device-height, rotating to landscape screws up the zooming completely. With it, your bug happens. The only solution for both problems is setting maximum-scale=1, and that's no solution at all.

Ideas?

<comment><USER11> Have you filed a bug? Please do and reply with a bug number.

</comment></comment></comment><comment><USER12> Maybe those are nice fonts, but my browsers are doing a terrible job of rendering them. IE8 has nasty jagged edges on the curves and has clipped the very bottom of the heading font. In Firefox the body text is light and indistinct, escpeially the abbr tags.

</comment><comment><USER13> I love the idea of this, but I'd have to tweak the execution of the desktop version to make it work on commercial projects. The massive width and low number of columns would only allow for chunky and unsubtle layouts. Fine for a couple of marketing pages but not so great for most polished apps.

The reason 960's 12 column works so well is because 12 is the lowest number divisible by both 2 and 3, so you can have the page divided into halves, quarters, thirds and so on, plus you can double the columns to 24 without losing ratios if you really need to get fine-grained. 8 is a bit less flexible.

<comment><USER8> Yup, you're definitely right on all counts there. The idea is the main "product", so I'm glad people are liking it. Most people will probably end up customizing the column counts and exact layout widths anyway. :)

Personally, I chose 2->5->8 columns due to how well they happen to fit into a 24 px baseline grid, and because they're parts of the Fibonacci sequence, meaning they're easy to divide into harmonic layouts. 12 just never looks right, and 16 is far too unrestrictive.

</comment></comment><comment><USER14> I like the idea of cross browser flexibility built in and I'd like to try this on a Rails app but not quite sure how I would actually use it.

Can you combine the columns for the ability to build larger boxes? Or use less than 5 columns on the widest site?

<comment><USER15> You use framework to position on grid, the actual size is whatever you want.

</comment></comment><comment><USER16> "Now with less features, one grid"

Is that supposed to be "Now with lesser features"?

<comment><USER17> I think it would be "fewer features"

</comment></comment><comment><USER18> Do you got any good examples of where it has been used?

</comment><comment><USER19> Really really want a good comparison/review between LESS, SASS, Scaffold, xCSS, etc.

Edit: Apparently this is not lesscss but less the css framework. Sorry for the misunderstanding on my part, but I think it should be understandable...

<comment><USER8> Not LESS, not LESS CSS, not Less, not Less CSS.

Just Less Framework. :)</comment></comment>


Show HN: Neatly – A simple way for teams to find their important shared files - <AUTHOR> https://useneatly.com/ <comment><USER2> This looks cool. The approach (storing files in Google Drive, and adding navigation layer on top) seems similar to [https://youneedawiki.com/](https://youneedawiki.com/)

What other tools like this exist?

</comment><comment><AUTHOR> Thanks! There are a lot of digital asset managers out there but none that focus on google drive as far as I know. The closest I've seen is FYI but that's only based on their home page.</comment>


Crime Visualization for 50 Cities  - <AUTHOR> http://www.fastcodesign.com/1663975/infographic-of-the-day-where-do-crimes-happen-in-your-neighborhood

<comment><USER2> This is pretty darn cool -- thanks for sharing it.</comment>


Ask HN: How are you doing PKI in a cloud environment? - <AUTHOR> Our organization is using infrastructure as a code approach where we are doing provisioning and deployment of dev/stage/prod environment using Gitlab runners. Currently, we are using easy-rsa as a root offline CA signing intermediate CA keys manually. Those keys are then used for the Client/server certificate issuing in an semi-automated fashion (CSRs are generated on a VMs, stored into the Vault, and signed by the script). I am aware of the HashiCorp Vault PKI backend, but we are not using it as it does not solve the actual authorization part of the automated issuing. I was thinking about using ACME based CA like Boulder internally.<p>My question is, what is the best approach to do PKI, when there are lots of new short-lived VMs/containers wanting their own SSL keys. <comment><USER2> You may consider provisioning the key to the VMs; very often there's insufficient entropy to generate them on their own, for one.

You then provision the secrets to the containers via some form of service discovery mechanism; vault/console work, as do providing it as user-data in some configurations. It's going to come down to your use case and constraints; things that I do for Twitter For Pets may not work well for your bank, as an example.

</comment><comment><USER3> I'm a bit ignorant. What is PKI?

<comment><AUTHOR> Sorry, it's Public Key Infrastructure</comment></comment>


Show HN: My name is ______  , I love my mom but I'm always too busy to answer :( - <AUTHOR> http://www.toobusytoanswer.org/

<comment><USER2> 90% of my reasons for running Flashblock is so that my computer will not start making random noises during a meeting.

Please stop auto-playing sounds.

</comment><comment><USER3> This interests me but, as I'm unsure exactly what to expect, I don't wish to give my email to some random service with no explanation. Maybe an "about" page? Nice vibrating phone, anyway :-)

<comment><USER4> We just added a bit more text under the "subscrive" box. Is that clearer now?

<comment><USER3> Definitely, much better. I visit my parents each weekend anyway so no need for me to sign up, however it looks like a handy service :-)

I wonder how many mums have received phonecalls today alone because of you guys.

<comment><USER4> Hopefully a lot :-) and with the reminder a lot more...</comment></comment></comment></comment>


Tic-Tac-Toe-ception - <AUTHOR> https://www.khanacademy.org/cs/tic-tac-toe-ception/1676336506

<comment><USER2> Is anyone able to beat the bot at [https://www.khanacademy.org/cs/in-tic-tac- toe-ception-perfec...](https://www.khanacademy.org/cs/in-tic-tac-toe-ception- perfect/1681243068) ? Seems like its strategy is unbeatable and player1 always wins.

<comment><USER3> Tic tac toe is a solved game - if you start and play optimally you always win. (you take 3 corners in 3 moves). If they start every board then they're unbeatable.

<comment><USER2> Normal tictactoe always ends in a draw if both players play optimally. The one I linked though seems to always end with X winning.

</comment></comment></comment><comment><USER4> Note that this was created long before the recently posted article. So, its rules variations are totally correct, because it wasn't _trying_ to match the article's definition of the game ;)

It originally used what it calls Rule 5a, as the article proposed, but that allows the first player to always win (see Perfect), so it now uses Rule 5b by default, but it can be toggled easily.

There are also a ton of other config options if you scroll down past the initial comments; most of the variants, like the Perfect one, just have different defaults for linking convenience.

</comment><comment><USER5> I seen this game on: [http://mathwithbaddrawings.com/2013/06/16/ultimate-tic- tac-t...](http://mathwithbaddrawings.com/2013/06/16/ultimate-tic-tac-toe/)

</comment><comment><USER6> There's one unfair thing in this though. If the board has already been won, sending them to the same board allows them to place a mark anywhere on the megaboard even if there are vacant spots available on the said board.

<comment><AUTHOR> Try this- [https://www.khanacademy.org/cs/tic-tac- toe2/1747678284](https://www.khanacademy.org/cs/tic-tac-toe2/1747678284) You get the first turn :)

<comment><USER6> Oh yeah, this is better. Fyi note that the AI is totally evil. Its first priority is to send you to a square that's already been won (does not matter who won) effectively rendering your move useless while you give it map mobility. It prioritizes that over making a move at winning a table even! Also, if you think that the AI will play to win the specific board and you can use that knowledge to your advantage... you're wrong, you're so wrong. The only way to make the AI do what you want is to pigeonhole it into a board where there's only one square left.

<comment><AUTHOR> About the AI sending us to already won square - won't we do the same? So this is a smart AI :P

<comment><USER6> Oh totally. I didn't look at the code though but I'm impressed if that isn't a hardcoded behaviour.

<comment><USER4> It looks like it's using the Monte-Carlo bot, "which plays out as many random games as it can within 5 seconds and plays which ever next position had the greatest percentage of wins". So, yup, not hardcoded :)

</comment></comment></comment></comment></comment></comment><comment><USER7> It doesnt follow the correct rules? or have i misunderstood them? when you send the player to a square already complete (with spaces left) they should have to go in that square, not get a free go.

<comment><USER8> _5 (variation B - current default). If a player is sent to a mini-square that has already been won, or in which all the cells are already filled, then the player may next place his mark in any unfilled cell in any other mini-board._

</comment></comment><comment><USER9> Sorry but rules are wrong!

when you send the player to a square already complete (with spaces left) they should have to go in that square, not get a free go.

This is correct.

<comment><USER9> Well correct rules can be turned on.

[https://www.khanacademy.org/cs/tic-tac- toe2/1747678284](https://www.khanacademy.org/cs/tic-tac-toe2/1747678284)

</comment></comment><comment><USER10> The interplay of micro and macro reminds me of Go. I also like how offense and defense are so connected in a Yin Yang fashion.

Perhaps it should be called "TictIctaC TactActaC ToetOetoE". Another possibility: "Tic Frac Toe", giving a nod to the fractal quality. This game is great!

</comment><comment><USER11> And there is a cool "app for that"....

[https://play.google.com/store/apps/details?id=com.MoongLabs....](https://play.google.com/store/apps/details?id=com.MoongLabs.UltimateTicTacToeHD)

</comment><comment><USER12> I won on my second try ... you should ignore winning games in favor of forcing the other player to drop you into the squares you want. None-the-less, it's a fun variation!

Edit: 1st=Lost, 2nd=Won, 3rd=Lost, 4th=Tie.

</comment><comment><USER13> I keep seeing "Oh noes! SecurityError: DOM Exception 18" using Chrome on win7...

Edit: It has something to do with either reading cookies, or loading a video from a different server?

<comment><AUTHOR> I tried just now! it works perfect for me. Google the problem. Some reasons/solutions from Stack might help

</comment></comment><comment><USER14> No draw checks , Infact it locks up my browser when the game has been drawn.

</comment><comment><USER15> What if we combine this game with Battleship

<comment><USER16> Explain?

<comment><USER17> Maybe you only get to see the board they made their move in. You don't get to see the move unless you select that board to move in yourself. Or maybe you don't even get that much information. You only know what moves have been made in the board you select and no further info. Do they control that side board yet? Are they trying to rig the center boards?

Taking this further, you are stuck with the board you select. Even if it has already been won. You get to update the world board, but otherwise lose your turn.

</comment></comment></comment><comment><AUTHOR> It becomes easy after a couple of gameplays</comment>


MixPanel (YC S09); my mini review - <AUTHOR>

After spotting the mixpanel logo at the bottom of HN I decided to give it a spin on a reasonably serious site to see what it can do. I've got some issues with GA that I can't seem to resolve so I figured maybe MixPanel can replace them.
First impression is that it looks really neat and simple, but on my browser (ff 3.01) the form fields all somehow manage to hang outside the containing blocks.
The sign up process is very quick, but there is no email verification, which is a bit of a pain because it could mean that people use a fake address leading to emails dumped on unsuspecting bystanders.
After signing up you get a secret token and a skeleton piece of javascript that you can flesh out to track variables that are important. This is mostly a manual operation, you insert the relevant bits in strategic spots on your site, 'instrumenting' it so MixPanel can keep track of what is happening.
The upside of this approach is that you, not they decide exactly what gets tracked and what it is called.
Right after signing up you are offered to get some 'datapoints' if you get someone else to sign up, that seems a bit premature, I haven't a clue what datapoints are.
Other than the initial signup form error the design of the site is very clean and functional, the documentation is easy to read and stuff can be found more or less where you expect it.
The 'secret' token that gets generated for your site is not that secret however, since it is plainly visible in every page that has the javascript embedded in it. Maybe it should be named 'site specific' token ?
Meanwhile the tag is in place on my site now, and registering visitors according to the live stats, time to read up on the data points.
Datapoints are mixpanels way of making a business out of this, essentially they charge you 'per event' on your website. The whole thing revolves around the 'funnel' concept that anybody in internet marketing is familiar with.
Garbage in at the top, and 'espresso' out at the bottom, mixpanel allows you to track exactly what the loss percentages are at every stage of the process.
Datapoints cost money, and I think they are way overpriced.
The current pricing scheme is:

    0...10,000 points:          Free
    10,000...100,000:           $25
    100,000...500,000:          $100
    500,000...2,000,000:        $200
    2,000,000...10,000,000:     $700

 Let me explain why I think they are overpriced: at 100,000 points for $25 (the first 'plan' they have)  for any small ad driven website that has an ECPM < $0.25 they are costing you as much (or more!) for your tracker as what you were making on your visitors.
And on a for-pay site that makes $20 / month per user, with a COA of $5 and a 1:2000 conversion rate on a 1:50 new traffic vs old traffic ratio (all of those numbers are pretty 'normal') you would again be making a net loss.
One of the sites I run that I could have tried mixpanel on gets 3,000,000 pageviews monthly, the ECPM is around $0.11, so it makes $300 /month. It's a no-brainer because it costs less than $5 to host on a flatrate 100Mbit leaseweb box. Using MixPanel with that site is out of the question though.
So, you'd have to be buying a very large volume of points in one go to make it worth your while, but that means a fairly big up-front cost. $700 in one go is essentially several months hosting cost for many sites. The price difference between 'volume buys' and smaller buys here is $c0.007 / hit on the largest plan, versus $c0.025 per hit on the smaller ones. That's a 350% or so difference. For a virtual product that is not reflecting the difference in cost to the provider, which essentially is only the extra cost incurred by the transactions to process the payments.
MixPanel currently uses Amazon as their payment processor, which is a pretty good indication you don't need to worry about where your credit card details will end up.
The real time statistics are neat, but they will also be very expensive for MixPanel to maintain long term, and they don't seem to add much actual value, it's more of a gimmick. A functional real-time stats tracker that is cheap to operate is very hard to design, which is one of the reasons all the free tracking tools are using batched updates.
Google Analytics also allows funnel analysis using the 'goal conversions', only they do it for free and a whole lot more besides.
Meanwhile, I've set up a secondary instrumented set of pages, but for some reason the data never showed up in the reports. I double checked the code and the javascript error console, no idea what is going wrong there. The 'feedback forum' seems to be mostly enhancement oriented, not set up to track problems. It is also externally hosted, which means that you leave the site, it would be better to have a simple ticketing system (a la trac) inside the MixPanel environment, where there is a lot more context available. Incidentally, uservoice, the site that hosts the forum is listed as a customer of mixpanel, but they also use analytics and quantcast.
MixPanel will probably work well if you have well defined landing pages and are a straightforward e-commerce, but at the current pricing levels it is too expensive for high volume low conversion websites, especially for continuous deployment. And that's a pity because it is especially those sites that would benefit most from a tool like this.
You could use it for targeted a/b testing though, but setting up a test seems to be quite labour intensive and error prone.
MixPanel provides you with csv exports of the reports so you can import the data in to your favourite spreadsheet.
On the whole I think that the concept of an analytics site that concentrates on the funnel aspect of operating a web service has promise, but I would like it to be significantly cheaper and easier to set up. As it is it really can't replace GA for all the other features it offers.
edit: in response to an email, COA = cost of acquisition <comment><USER2> As a longtime GA user, I checked out MixPanel extensively to see if it was worth switching. I can't find anything that MixPanel does that can't also be done with GA. You can track any event in GA by calling pageTracker._trackPageview('page/here') with JS when the event takes place. It's just as easy as setting up a tracking event in MixPanel. Plus, the segmentation and analytics are far more rich in GA. And you can also tie it in with Google Website Optimizer, which makes multivariate testing easier.

GA tries to appeal to non-coders, so they don't widely publicize their ability to track custom events. But the functionality is there, and it works great. When you consider the fact that GA has more comprehensive analytics and is free (jacquesm you're right on target...MixPanel's is bewilderingly expensive) the choice is a no-brainer.

I love startups that are trying to innovate in web analytics. The MixPanel folks have clearly put a lot of time and thought into their app. But they have a long way to go before they can compete with GA.

<comment><USER3> I've been frustrated with GA's new event tracking actually, and was going to try Mixpanel as an alternative. Here's my qualms with GA's events, maybe you've been able to work around them?

1) It doesn't tell me which page the event happened on

2) You've only got 3/4 pieces of data you can send (category, action, and an optional key/value pair). Even if you shove data into fields where it doesn't belong (i.e. category), its hard to send all the info I want.

As Mixpanel will allow me to send as many fields as I need, it looks like the right solution. However, as jaquesm noted, its just too expensive. I'm frustrated enough that I've considered rolling my own event tracking, but I'd much rather find an existing solution that works and won't break the bank.

</comment></comment><comment><USER4> I'd go back to the drawing board with the pricing plan. Usage based metering is really good for bottom of the barrel pricing ( electricity at home, amazon aws for servers ). For everything else people want predictability and therefore monthly subscriptions.

</comment><comment><USER5> Hey jacques, thanks for the review and the honest feedback. I'd be happy to help you debug the second set of pages you mentioned - email@example.com.

<comment><AUTHOR> Hey Tim,

I was burning through my 'datapoints' so fast that I have already removed the tags (I think about 70% had gone by the time I finished my review), I'll re- implement it on a site that gets a bit less traffic later next week and spend more time on it.

You guys spent a lot of time on that and it shows.

edit: on another note, how are you set up for handling _really_ large volume ?

<comment><USER5> 'really large volume' is obviously subjective but we've had individual clients send 100M data points in a month.

<comment><USER6> jacquesm, we watch our infrastructure all day long and while we may not have enough hardware if a company like Zynga showed up tomorrow we're prepared to provision more nodes to handle scaling and work through it just like any other company would. The point though is: we can scale. Additionally, we'll be fine as we have many sites that do more traffic than that already on our system. If you have any concerns feel free to email email@example.com. The email will go directly to both Tim and I.</comment></comment></comment></comment>


Rings like Saturn, but Supersized - <AUTHOR> http://time.com/3682987/planet-supersize-rings-saturn/

<comment><USER2> Today I've seen a planet with rings extending 93 million miles, laser light captured in motion with a camera taking 20 billion FPS [0], a hard boiled egg un-boiled [1], and MS stopped in its tracks with a very nearly literal immune system "reboot." [2]

Science always amazes me, but recently it's been setting new records in the ass-kicking department, as I just sit here with my jaw on the floor at how awesome it is.

[0] [http://www.theverge.com/2015/1/27/7920771/laser-captured- on-...](http://www.theverge.com/2015/1/27/7920771/laser-captured-on-video- moving-through-air-for-first-time)

[1] [http://abcnews.go.com/Health/scientists-crack-code-boil- hard...](http://abcnews.go.com/Health/scientists-crack-code-boil-hard-boiled- egg/story?id=28496718&cid=fb_abcn)

[2] [https://www.sciencenews.org/article/immune-system-reset- may-...](https://www.sciencenews.org/article/immune-system-reset-may-give-ms- patients-new-lease-life)</comment>


OCaml for the Skeptical: OCaml in a Nutshell (2006) - <AUTHOR> https://www2.lib.uchicago.edu/keith/ocaml-class/class-01.html <comment><USER3> I like Ocaml and it would be a good choice of language for most kinds of projects, especially if good performance is desired. OCaml is dead simple to learn (I always recommend it as the first FP language they should learn) and eminently practical.

If you're coming from Haskell or Scala though, OCaml's type system is going to come off as pretty primitive. And in many ways it is primitive, the idea of "type-level" programming isn't really a thing in the OCaml community.

My favorite part of OCaml though is that the compiler generates fast, native binaries, which in my opinion is reason enough to choose it over Scala or F#. The language is on par with F#, but notably less expressive than Scala.

But if you want a simple language that anyone can pick up quickly, one with a well defined performance profile and a practical, concrete ecosystem, OCaml might be the perfect choice. Just don't expect a Haskell or Scala like experience.

<comment><USER4> I don't know if I'd call OCaml dead simple. It's full of inconsistencies and bolted-on features that are practically useful but definitely not simple or elegantly designed. It's kind of like the C++ of ML derivatives in that sense.

I'd say Standard ML better fits the bill of "dead simple". The only issue is that tooling and learning resources are nearly nonexistent.

<comment><USER5> >full of inconsistencies and bolted-on features that are practically useful but definitely not simple or elegantly designed

Care to elaborate? What are you referring to?

<comment><USER4> Just some examples:

\- First-class modules don't feel very first class, with how clunky it is to use modules at the value level

\- Records are very clunky and hacky to use

\- Generative functors are a hack

\- Special language-level equality magic is awful (although SML also has this problem)

\- Special `let` forms (whether via ppx or integrated into the language) feel really hacky

\- GADTs require too much handholding of the typechecker

\- All the "Objective" parts have very few redeeming qualities and should probably never have existed

\- The way infix operators work is really half-assed

I don't think OCaml is a _bad_ language - it's very practically useful. It's just not simple or elegant.

<comment><USER6> Words like "clunky" and "hacky" are evaluation judgments, not objective criticism.

</comment></comment></comment></comment></comment><comment><USER7> This [1] is a a much more detailed course that gives a great introduction to OCaml.

[1] [https://www.cs.cornell.edu/courses/cs3110/2019sp/textbook/in...](https://www.cs.cornell.edu/courses/cs3110/2019sp/textbook/intro/ocaml.html)

<comment><USER8> There is also [https://www.cs.cornell.edu/courses/cs3110/2019fa/textbook/](https://www.cs.cornell.edu/courses/cs3110/2019fa/textbook/). Yours is 2019 Spring, this is 2019 Fall. This version covers many more topics.

</comment></comment><comment><USER9> Is there a good reason to learn ReasonML instead of OCaml these days, or should I just learn OCaml + js_of_ocaml?

I'm interested in building web apps, web servers, and simple WebSocket servers. OCaml appeals to me because it has more escape hatches than Haskell and is higher level than Rust, but I've always found the ReasonML vs OCaml story confusing.

<comment><USER10> I'm one of the weirdos who likes OCaml syntax, but in my eyes ReasonML is unfortunate. It fractures the community for (ironically) no real reason - <USER2> only is it a new syntax, they're now writing a new standard library for it (Belt), as though the three existing ones (plus the JS one!) weren't enough! I don't think the new syntax is particularly nice either.

I don't think js_of_ocaml supports any kind of JSX. That's the only real reason to use Reason over OCaml that I know of, and it's a good one. But if I'm being frank, even if OCaml/Reason is a nicer language overall, TypeScript is a statically-typed frontend development story that has way more community buy-in and way fewer rough edges in the ecosystem. Just use it.

<comment><USER9> That's helpful, thanks.

The recent syntax switch[1] does feel like it will further fragment the community.

And TypeScript has some pretty attractive functional projects:

[https://github.com/gcanti/fp-ts](https://github.com/gcanti/fp-ts)

[https://github.com/Matechs-Garage/matechs-effect](https://github.com/Matechs- Garage/matechs-effect)

[1]: [https://reasonml.org/blog/bucklescript-8-1-new- syntax](https://reasonml.org/blog/bucklescript-8-1-new-syntax)

<comment><USER11> There isn't much to fragment to be honest.

From what I have seen, there seems to be little buy-in for Reason in the Ocaml community which is not particularly surprising considering it's supposed to solve a pain point no one in the community actually has (Ocaml syntax is fine - it's obviously more Algol-like than C-like but clearly the existing community doesn't care).

Reason seems to be mostly pushed by Facebook towards Javascript developers. That might work. Then again, esy is nice.

</comment></comment></comment></comment><comment><USER12> Wake me up when OCaml get multi-core support.

<comment><USER13> They are actively working on it ([https://discuss.ocaml.org/t/multicore-ocaml- may-2020-update/...](https://discuss.ocaml.org/t/multicore-ocaml- may-2020-update/5898)) (HN discussion here, [https://news.ycombinator.com/item?id=23380370](https://news.ycombinator.com/item?id=23380370)).

</comment></comment><comment><USER14> I tried to use OCaml once. My main difficulty was the compiler error messages were very primitive, and I had an awful time figuring out what was wrong with the code I was writing.

I finally just gave up.

<comment><USER15> Ah that's too bad, it really does offer an elegant and efficient programming stack. Admittedly the syntax errors are historically bad but the editor support tool, Merlin, offers more help with those, with messages like "Syntax error after ... expecting `=' "

</comment></comment><comment><USER16> Last updated in 2006.

<comment><USER17> Yes, it has a very 2006-era "OCaml as an alternative to C/C++" attitude, hence the claims that OCaml has an extensive library ecosystem and developer tooling: compared to C this is true but not compared to Python/Java in 2020.

The suggested tools are also out of date. If you want to try OCaml nowadays you should probably install it with opam and use dune as a build system.

</comment></comment><comment><USER18> Curious question: If you are picking OCaml over Rust in 2020 for a new project, what is your reason for doing so (other than being already familiar with OCaml through college courses, or wanting to try out something new for fun) ?

The only reason I could think of was being able to compile to JS, but other than that Rust seems to be a superior choice for all the use cases I could have used practically used OCaml for.

<comment><USER3> I've never really seen them as comparable. But I would choose Ocaml over Rust because OCaml is easier, less complex, and more expressive. Also, Rust doesn't support functional programming. OCaml's performance is really quite good and I've never had problems with the GC.

Unless the project absolutely couldn't tolerate GC, why would I choose a low level language like Rust over a high level language like Ocaml?

<comment> Ar-Curunir Rust offers a better alternative to functional programming: you can mix and match imperative and functional programming without the pitfalls of arbitrary mutable state (which is where most attempts to mix and match run into problems)

<comment><USER19> OCaml can do the same</comment></comment></comment></comment>


Htaccess Tricks and Tips - <AUTHOR> http://www.queness.com/post/5421/17-useful-htaccess-tricks-and-tips

<comment><USER2> > AddType application/octet-stream .pdf

Please don't do this. I would rather have my browser's default behavior for application/pdf than have your web site force it to treat your PDF files as opaque binary blobs.

<comment><USER3> Ditto the above comment. If users don't want to be asked if they want to download/open a file they can use the "Automatically do this from now on" option that Firefox gives them, or the equivalent in their preferred browser. Then users get their preferences, and the not servers forced on them.

</comment></comment><comment><USER4> Also, if you have root, don't use .htacess files in production and you'll get a performance boost. Set 'AllowOveride none' in the main config & put your .htaccess in a <directory> block included in the main config at launch.

<comment><USER5> Came here just to say that, you beat me to it. htaccess files are performance- crippling crutches for allowing config access in limited shared hosting environments. If you own the server, never use them. For performance reasons nginx doesn't even have a similar concept.

One interesting thing to note is that every Apache config file will (or should have!) some lines like this in it:

      <Directory />
        AllowOverride None
      </Directory>

If this is not there, Apache will look for a .htaccess file in every single folder _starting at '/'_ all the way up to your document root and on into the folder of the URL being requested e.g.

Your document root is here: /very/long/path/to/your/webroot

You request the following URL: "/project/files/here/file.html", which servers this file: /very/long/path/to/your/webroot/project/files/here/file.html

Without the above config settings, Apache would attempt to stat the following files each time the url "/project/files/here/file.html" is requested...

      /.htaccess
      /very/.htaccess
      /very/long/.htaccess
      /very/long/path/.htaccess
      /very/long/path/to/.htaccess
      /very/long/path/to/your/.htaccess
      /very/long/path/to/your/webroot/.htaccess
      /very/long/path/to/your/webroot/project/.htaccess
      /very/long/path/to/your/webroot/project/files/.htaccess
      /very/long/path/to/your/webroot/project/files/here/.htaccess

Ouch!

If you have the above mentioned config in place (it's part of most default apache configs, but I have seen mis-configured servers without it), but you allow override for your webroot, you will still have the following file stats to perform for the same URL request:

      /very/long/path/to/your/webroot/.htaccess
      /very/long/path/to/your/webroot/project/.htaccess
      /very/long/path/to/your/webroot/project/files/.htaccess
      /very/long/path/to/your/webroot/project/files/here/.htaccess

Which is still rather wasteful if not absolutely necessary. Only use .htaccess files when no other option is available.

</comment></comment><comment><USER6> First of all, I haven't used apache httpd in production for years and I'm happier for it. It's inefficient. .htaccess only compounds that inefficiency.

General: 1\. I've found using anything but GMT/UTC on servers is a recipe for confusion.

4\. Great idea, but like most of the recommendations, it's not .htaccess specific. Websites should either redirect www.foo -> foo or foo -> www.foo. Presenting a consistent hostname that way can prevent some cookie-related headaches, and will avoid having search engines index different pages under different hostnames.

8\. That recipe inadvertently deletes Cache-control: private

</comment><comment><USER7> RewriteRule ^(.*/)?\\.svn/ - [F] if you checkout code into production server you source files could be accessible from .svn folder.

<comment><USER8> Why would you checkout to production, rather than export?

<comment><USER9> Checking out svn production probably isn't ideal, but lots of people do it. I _think_ the default capistrano+svn set up actually does a checkout behind the scenece. It's usually much faster than an export and it means that if you have to tweak a file on production (yikes!) you can check that change back in.

Also, deploying via export is trickier than it sounds. You can't just cd to /var/www/whatever and run "svn export" or else you'll end up with files deleted from the repository still existing on production.

<comment><USER8> _You can't just cd to /var/www/whatever and run "svn export" or else you'll end up with files deleted from the repository still existing on production._

Why would you do that, either? I thought it was something of a best practice to use symlinks for that sort of thing, so you could export to a new directory then change the symlink to point to the directory you just created.

<comment><USER9> Of course... but that's more work than typing "svn up" on production and lots of developers don't taking deployment strategies nearly as seriously as they should.

<comment><USER8> That saddens me. I've never done anything serious on the web, but I'm building a project for the first time now and I've been procrastinating a _lot_ by learning the best ways to do everything. The fact that so many people just do a half-assed job and stay employed, while I've been out of work so long (hence the aforementioned project, actually, since I'm hoping to use it as leverage to find someone willing to give me cash bi-weekly).. like I said, it saddens me.

<comment><USER10> Amen brother. I've worked at a place where our 'deployment script' logged into each of our production servers and ran svn up in working copies. This company handled thousands of financial transactions every day.

At my current company we have a decent sysadmin, so things are a bit more sensible (a combination of svn export, running tests, then an rsync to our production box.)

Don't be saddened, be angry. When you do start doing stuff on the web, do it properly so other people don't have to eventually maintain the nightmare you might have created!

</comment></comment></comment></comment></comment></comment></comment><comment> mike-cardwell \- Enable Strict-Transport-Security:

Header set Strict-Transport-Security "max-age=86400"

\- Let GoogleFrame do its magic:

BrowserMatch chromeframe gcf

Header append X-UA-Compatible "chrome=1" env=gcf

</comment><comment><USER11> How do you redirect traffic?

Say I have tomcat running on port 8080 but I want people to just go to www.site.com/tomcat

<comment><USER12> Look into the ProxyPass directive, but I don't think that'll work in htaccess.</comment></comment>


How to Print Contents from Certain DIV - <AUTHOR> http://www.virtualspecies.com/2017/07/how-to-print-contents-from-certain-div.html <comment> n-gauge @media print css as well:

[https://www.arclab.com/en/kb/htmlcss/how-to-print-a- specific...](https://www.arclab.com/en/kb/htmlcss/how-to-print-a-specific- part-of-a-html-page-css-media-screen-print.html)

<comment><AUTHOR> Thanks.

</comment></comment><comment><USER2> Or a nice jquery plugin [https://github.com/jasonday/printThis](https://github.com/jasonday/printThis)

<comment><AUTHOR> Thanks.</comment></comment>


GPL enforcement is a social good - <AUTHOR> https://mjg59.dreamwidth.org/38992.html <comment><USER2> I donated and you should too. [https://sfconservancy.org/supporter/](https://sfconservancy.org/supporter/) You get a t-shirt and your name/company publicly listed as a supporter (if you want). They're a charity, for tax purposes.

More importantly, they use their money efficiently and have tangible positive results.

Unfortunately due to the VMware lawsuit they've lost some corporate sponsors. Note that on the whole, their GPL enforcement is not litigious and not profitable. And that's just one part of their overall mission.

<comment><USER3> I donated. Find my name here: [http://sfconservancy.org/sponsors/](http://sfconservancy.org/sponsors/)

For people searching: logn's donation is credited as "Machine Publishers, LLC".

</comment></comment><comment><USER4> Bradley Kuhn has asked, "do you think I should be doing what I'm doing?" He doesn't believe he has a right to work on GPL enforcement. That's up to us to decide, by giving his organisation money or not:

[https://sfconservancy.org/blog/2015/nov/26/like-what-I- do/](https://sfconservancy.org/blog/2015/nov/26/like-what-I-do/)

</comment><comment><USER5> If you find yourself with the opportunity to see Bradley Kuhn speak I'd highly recommend it. I met Bradley at the Linux Fest North West event this year in April and it was one of my favourite and most formative moments of the year. I'm proud to be a financial supporter of the Conservancy with all the work that they do to protect and promote Free Software.

</comment><comment><USER6> In Germany, Harald Welte has taken on several hardware vendors over GPL violations.

I wonder why vendors that build, like, SOHO routers and Wifi access points go through the effort it takes to violate the GPL instead of using a BSD base (where making modifications to the codebase and keeping them closed is at least legal). It's kind of like breaking into bank while next door there is a guy giving money away for free.

<comment><USER4> As I was reading your sentence "go through the effort it takes to violate the GPL instead of..." I was expecting the "instead of" to be just publish the necessary source code. That seems pretty easy to me. It's probably easier than trying to get non-GPL versions of things like Linux, which tends to have more widespread hardware support (like, a full set of drivers) than, say, NetBSD. And I say "probably" because I expect these companies have been taking the easy way out.

The BSDs still have to rely on Linux compatibility layers in order to use Linux drivers, right?

<comment><USER7> The BSDs have their own drivers, they don't use Linux drivers.

<comment><USER4> Isn't the nvidia blob used through a Linux compatibility layer?

</comment></comment></comment></comment><comment><USER8> I only see monthly/annual support. Do they have a one-time listed anywhere that I'm not seeing?

<comment><USER3> You can make one-time donation here: [http://sfconservancy.org/donate/](http://sfconservancy.org/donate/)

</comment></comment><comment><USER9> Wow, this is too confusing. I don't understand what SFC claims to do. This post seems to conflate two separate concepts. One is people should use open source, and two people abuse open source. Enforcing GPL implies the second, yet the article kept alluding to the first. And the FUD... a toy is not going to stop working because of API mortality (what is that?) And most embedded devices aren't going to be vulnerable, even with "old" code. And while it might be cool to hack your barbie doll, only a handful of people are going to do that.

</comment><comment><USER10> Rob Landley (former Busybox developer) begs to differ.

See [http://landley.net/notes-2011.html#13-11-2011](http://landley.net/notes-2011.html#13-11-2011) [http://landley.net/notes-2011.html#15-08-2011](http://landley.net/notes-2011.html#15-08-2011) [http://landley.net/notes-2009.html#15-12-2009](http://landley.net/notes-2009.html#15-12-2009)

<comment><USER11> Not really - I'd say he's showing concern with the execution rather than the idea of enforcement. The other thing I got is he hates GPLv3 (but not v2), and also is not a fan of the BSD license:

> My only real concern about a BSD license is it lets for-profit corporations > hire your developers away to work on a proprietary fork (as I ranted about > here and here). This is why BSD the operating system has never amounted to > anything: Sun looted them in 1982, BSDi looted them in 1989, and Apple > looted them a third time around 1997 and never stopped stopped. (None of > which explain why Free, Open, and Net are separate projects.)

> But honestly, I think the FSF has now made the GPL more of a liability than > an asset. I've spoken on panels defending the GPL but GPLv3 was a career > limiting move. LLVM and PCC and Android are all organizations that were fine > with GPLv2, until it got painted with the same brush as GPLv3 and the > contamination spread to cloud the old thing

<comment><USER7> The principles SFC operates their GPL compliance efforts under are eminently reasonable. They aren't going to sue anyone into the ground, they just want GPL compliance and reasonable coverage of legal expenses.

[https://sfconservancy.org/copyleft- compliance/principles.htm...](https://sfconservancy.org/copyleft- compliance/principles.html)

</comment></comment></comment><comment><USER12> I am an advocate of open source. One time I had a laptop running Linux that I couldn't get the wi-fi driver working for. Eventually after searching the internet I found that the driver was linking to a restricted syscall, so I recomipled the driver, to change a variable claiming it was mit-licenced (it wasn't) and then the wi-fi driver worked.</comment>


The real science gap - <AUTHOR> http://www.miller-mccune.com/science/the-real-science-gap-16191/?

<comment><USER2> Read the article. Feels like Republican propaganda, even though it is not. The reason why scientists cannot find jobs is the lack of industry in USA. Industry is often employer for scientists (on-site chemists, physicists and so on).

<comment><USER3> I find that premise ("lack of industry") difficult or impossible to believe. The real (inflation adjusted value) manufacturing output of the US is doing just fine, it's manufacturing employment that's taken it on the chin. The US is still doing a lot of the higher value stuff, including R&D which employs scientists.

A big problem with industrial employment of scientists is that the deliberate stuffing of the pipeline (e.g. by the NSF starting in the '80s) to keep the price of science labor low also lowers the income of industry scientists. Basic supply and demand.

<comment><USER2> Yes, but if you look at amount of industrial output per capita, you'll see that it is smaller than Germany's.

<comment><USER3> And your point is?

Doesn't America have a more broadly based economy? I.e. a lot more raw materials extraction, food production (profitable, even! (vs. the CAP)), a bigger financial industry (hey, it's undergoing tough times but it's not without value), etc? Hollywood? Popular music?

I don't know the shape of the German economy at all well, but I've read it's very manufacturing export focused.</comment></comment></comment></comment>


"Resellerclub Scam" in Google Analytics Organic Search Keywords - <AUTHOR>

Anyone keeping track of Google Analytics over the last month or so is probably familiar with the referral spam (darodar.com/ilovevitaly.com etc.) that's been screwing up analytics.  I have no idea if it's the same people as there is no way to track this stuff, but it seems a weird coincidence that this completely unrelated keyword comes up on multiple sites and the traffic is from Russia. I'm really surprised Google hasn't found a way to beat this.  The same keyword search showing up on presumably millions of sites from the same geographic area and they can't just block it? I've never thought about looking for GA alternatives until now. <comment><USER2> First thing is that resellerclub scam is not any visitor, but just a part of ilovevitaly.com which is affecting millions of Websites. They do not visit your Website, they just appears in your google analytics and badly affects your rankings and SEOs. It is trying to misguide you that it is recommended from google, so please be aware of these type of spam traffics which is nonhuman and operated by Russian organisation "Hosting Telesystems network".

Same problem i was facing in my analytics and then i found this link and my problems is solved now. i am definitely sure the resellerclub scam refferal traffic would stop. Please follow the below article :-

[http://techgnews.com/tips-tricks/resellerclub- scam/](http://techgnews.com/tips-tricks/resellerclub-scam/)

<comment><AUTHOR> Did this actually block the "Reseller Club" spam or are you just regurgitating the same posts? I'm aware that the traffic doesn't come to my sites and I've already filtered the known domains. This is showing up in _organic search traffic_. Does anyone have any idea how this is even possible? Are they spoofing Google and then hitting Google Analytics? This is a real annoyance. There's a clear pattern to this stuff so I'm amazed Google isn't filtering it before it gets to my dashboard.

<comment><USER2> [http://techgnews.com/tips-tricks/resellerclub- scam/](http://techgnews.com/tips-tricks/resellerclub-scam/)

After Use this trick The spam traffic will not stop instantly, it will take 2-3 days to stop the appearance in your analytics and i m 100% Sure spam traffic will not appearance after 2-3 days</comment></comment></comment>


EFF Review of Verizon and Google's Net Neutrality Proposal - <AUTHOR> http://www.eff.org/deeplinks/2010/08/google-verizon-netneutrality

<comment><USER2> Well thought out analysis, and, most importantly, rational criticism that avoids some of the hyperbole and childish rhetoric we've seen. (No "carrier humping surrender monkey" language here).

While I share the EFF's concerns about loopholes in any proposal, I have to give them some pushback on their criticisms of the "lawful content" provision. While it may be true that this part of the policy could be abused, this clause _has_ to be in any proposal-- I can't imagine Google _or_ Verizon's legal departments would sign off on anything different.

Having said that, the EFF's claim that "lawful content" is insufficiently vague does seem fair. (Although I'd argue that it is pretty self-explanatory as-is).

Overall, what makes this analysis different than so many other is its emphasis on giving Google/Verizon clear suggestions on how to make their proposal better, rather than simply decrying its very existence.

<comment><USER3> > Having said that, the EFF's claim that "lawful content" is insufficiently > vague does seem fair.

Really? That seemed the least substantial to me: this is a proposal to the US _Congress_. It seemed obvious that "lawful" means "what our legislators in Congress deem lawful" in that context.

<insert disclaimer about these opinions being my own and not my employer's>

<comment><USER4> I think you're being a trifle naïve.

Verizon have consistently used the "we're blocking illegal filesharing" line as justification for throttling BitTorrent traffic. Under the Google/Verizon deal, the FCC would have no power to say "No, actually BitTorrent is legal traffic", and it would be necessary for individuals to complain about the throttling, and most likely in the process be asked to demonstrate their particular use of BitTorrent was legal.

With the maximum payout capped at $2m, there would have to be a lot of BitTorrent users with significant grounds for complaint _and_ a carefully squeaky-clean file-sharing record before it cost the company more than they were saving from throttling the traffic in the first place.

</comment></comment></comment><comment><USER5> Clear, concise, and cogent. Minimal hyperbole compared with the many stories appearing on this topic. Thank you, EFF!

<comment><USER6> Yep - first story I enjoyed reading on it.

</comment></comment><comment><USER7> It's isn't a chance that Gov't involvement will cause more hard than good, it is a certainty.</comment>


Ask HN: Learning Ruby on Rails - <AUTHOR>

I am wanting to learn RoR.  I don't really know Ruby.  I currently use PHP & Python.  What sites and/or books should I read/use? <comment><USER2> Guides:

<http://guides.rubyonrails.org/>

<http://asciicasts.com/> (text versions of the railscasts mentioned below)

Screencasts:

<http://rubyonrails.org/screencasts>

<http://railscasts.com/>

Books:

[http://www.pragprog.com/titles/rails3/agile-web- development-...](http://www.pragprog.com/titles/rails3/agile-web-development- with-rails-third-edition)

<http://www.pragprog.com/titles/fr_arr/advanced-rails-recipes>

And others in the Ruby and Ruby on Rails sections at prag progammers: <http://www.pragprog.com/categories>

The "pickaxe book" (<http://www.pragprog.com/titles/ruby/programming-ruby>) is often considered the standard Ruby reference, and there is a version for 1.9.

API:

<http://railsapi.com/>

<http://api.rubyonrails.org/>

<http://www.gotapi.com/rubyrails>

Conference presentations:

<http://www.confreaks.com/events>

Ruby and Rails projects are abundant on github, providing lots of example code.

</comment><comment><USER3> I recently relearned RoR after not using it for a while. I was recommended [http://pragprog.com/titles/rails2/agile-web-development- with...](http://pragprog.com/titles/rails2/agile-web-development-with-rails) and I definitely found it to be a good book.

What helped me the most was to just jump into a project and start coding. I decided to try to do a clone of twitter, just to see if I could get that working. It helped that I had a few friends who were good rails hackers that I could go to with questions.

</comment><comment><USER4> IMO you should learn ruby and rails framework at the same time. The knowledge of ruby will help you gain a deeper understanding of rails inner workings like the use of method_missing, concept of self and so on. I would recommend The Ruby Programming language by David Flanagan. The Pragmatic Programmer's book Programming Ruby is quite good as well.

</comment><comment><USER5> Hey! I recommend you check out #hnbeginners on irc.freenode.net ! People there would be very happy to help when you have questions!

</comment><comment><USER6> I liked <http://www.javapassion.com/rubyonrails>

</comment><comment><USER7> I would seriously recommend you pick up 'The Rails Way' by Obie Fernandez.

The Rails framework and methodology/philosophy is somewhat hard to just "get into". A complete picture of what's going on - ActiveRecord, Migrations, etc - is incredibly hard to get from the "15 minute blog" screencasts.

I picked up the book last night and so far it's going well.</comment>


The Powder Toy - <AUTHOR> http://powdertoy.co.uk <comment><USER2> Some interesting electronics examples I found on youtube:

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

[https://www.youtube.com/watch?v=e0zHiVw-c7k](https://www.youtube.com/watch?v=e0zHiVw-c7k)

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

<comment><USER3> I actually made a bi-propellant rocket engine in this sim, though I had to use a lua script to get the hydrogen to be in liquid form it works surprisingly well. [https://twitter.com/Goomanhimer/status/694048595041976320](https://twitter.com/Goomanhimer/status/694048595041976320)

</comment></comment><comment><USER4> Looks like it's a revamped version of [http://dan- ball.jp/en/javagame/dust/](http://dan-ball.jp/en/javagame/dust/)

<comment><USER5> [http://dan-ball.jp/en/javagame/dust2/](http://dan-ball.jp/en/javagame/dust2/) also exists.

</comment></comment><comment><USER6> Are you simulating the powder on the GPU or the CPU? I couldn't find any shader code that looked relevant to the sim, so I'm guessing it's the CPU. Any plans on making a GPU version? Seems loke you'd be able to overcome the perf issues and finally make that 3D version.

<comment><USER7> I have serious doubts a 3d version would be better. It would be hard (if possible at all) to make an equally simple interface that conveys the same information and is equally easy and fast to use while allowing free 3d interaction.

Maybe that becomes a lot easier once virtual reality and 3d input devices become common, but until then I think there are better ways to use extra computation power

<comment><USER8> The grandparent said GPU simulation, for the extreme parallel benefits, not making it 3D. Encoding the simulation in a GPU shader, for example.

<comment><USER7> I should have been clearer, I was referring only to the last part of the last sentence

>Seems loke you'd be able to overcome the perf issues and finally make that 3D version.

Which I interpreted as "once GPU simulation makes things fast, why not make a 3d simulation"

Apart from that part I agree with the ancestor comment, the code seems to do CPU simulation and GPU simulation is likely to be faster. On the other hand GPU simulation would likely mean rewriting the entire simulation engine from scratch, so I'm not holding my breath.

<comment><USER6> There was commentary in the FAQ that he was not going to try to make a 3D version because of the perf issues. I assumed that meant figuring out GPU sim would mean he'd try to make a 3D version.

</comment></comment></comment></comment></comment><comment><USER9> I remember playing with this.

Making electronics can be pretty fun. [http://powdertoy.co.uk/Browse/View.html?ID=915343](http://powdertoy.co.uk/Browse/View.html?ID=915343)

(It's not actually an ALU. All it does is add or subtract. But it was the best of its time!)

</comment><comment><USER10> This looks nice. But, ideas are more important than code. So to be honest, I would enjoy a description of how this works more than actually playing with this program.

<comment><USER7> From a quick look at the code it seems to be coded as a fairly standard particle system. Modern processors are fast, if you have a million particles, a 2GHz processor, and do 20 simulation steps per second you can spend 100 clock cycles per particle on simulating it. On modern processors 100 clock cycles usually translates to over 100 instructions.

Of course the ~100 clock cycles latency for fetching from main memory has to be avoided, so you code in a language like c++ (like this project) and pack your data in big arrays in the order it's accessed in. Then processor caches and prefetching do the magic.

Particle interactions that usually imply quadratic runtime can be made fast by mapping particle positions to a grid and either looking up neighbouring particles in the grid or calculating large scale effects directly with the grid.

Personally, I think for this project the working whole and the value it provides as a fun educational tool is a bigger deal than architectural or development ideas that went into it (but I'm happy to be proven wrong)</comment></comment>


Management by Fire - <AUTHOR> https://hbr.org/2002/07/management-by-fire-a-conversation-with-chef-anthony-bourdain <comment><AUTHOR> Restaurant management has both similarities and startling differences with startup management. The military command-and-control model Anthony Bourdain discusses here probably wouldn't work for software, where more time and more creativity is involved. But the esprit de corps is something to admire and emulate.

My daughter, who is making a career in the kitchen, has one big criticism of this approach - the rampant sexism of the "politically incorrect" atmosphere. Women put up with a lot of crap in the kitchen that they'd never have to deal with in other industries. Her dream is to take the effective structure of the kitchen, but make it a safe, calm space.</comment>


How Famo.us Refused to Admit They Could Not Achieve Native Rendering After All - <AUTHOR> https://techcrunch.com/2016/10/25/another-15-minutes/ <comment><AUTHOR> In short, it's my opinion Famo.us decided to start an agency that utilizes a sub-set of the features they developed because they realized full on applications could not be developed with Famo.us. Why else would you start an agency using what you developed? I feel it's baloney that they purport anything else rather than tell us the truth that their assumptions were flawed. The browser simply can't render real applications as if they are game- worlds. Not with new data constantly triggering re-renderings over the wire. Who's ever seen anything more than a static example of famo.us? The problems were likely many though--Steve had had them do too much and change directions every other week, and as a result the offering they did provide was never complete and always full of bugs. Perhaps if they focused on a more narrow use case, they could have released their offering (and stood by it) with a straight face. For what the expectations were, the browser can't deliver, or some other company (Google, Facebook) would attempt this by now. The idea has been out in the open for 4 years. If it was truly possible to make as reliable of an application framework as React backed by all these hardware accelerated animated views, someone would do it.

Now would be a good time to hear from the community developers still supporting the remains of the Famo.us framework. Can it do what we expected it could do or is it flawed? If it's not flawed, why don't we ever hear from you guys on hacker news, echo js, etc?? I think if it was working well, we'd be hearing as much about it as we hear about React. The shit don't work. Don't rely on it to build anything substantial.

</comment><comment><USER2> There are many reasons why they failed, but I think the main one is because they literally didn't let people use it.

I don't even know why (Probably a combination of the technology far from being ready, and their foolish idea that keeping the exclusivity will hype it up and get more traction).

From what I've seen, these developer oriented projects only succeed by working their own way up to the top instead of trying to use gimmicks like this to gain traction.</comment>


Papers – Desktop app for finding, organizing, citing academic research - <AUTHOR> http://www.papersapp.com

<comment><USER2> Interesting that this has appeared here now, since it's been around for quite a while (I first saw colleagues using this nearly 7 years ago). I've only heard good thing about it, though I've never used it myself (not being much of a mac person).

Other similar services include Mendeley [0] (now owned by Elsevier, I believe), gPapers [1] (less functionality, looks defunct), and good ol' bibtex files.

[0] - [http://www.mendeley.com/](http://www.mendeley.com/)

[1] - [http://gpapers.org/](http://gpapers.org/)

<comment><USER3> What does papers provide over Mendeley?

<comment><USER4> That is a very relevant question, since Mendeley is free.

Reading the Web site the only advantage that I found is that it allows you to use your Dropbox account to sync the files, while for Mendeley, if you want more space than a free account offers, you have to pay.

<comment><USER5> The cost is incidental for many users, considering what is at stake -- basically, continued professional competence due to keeping up to date with the state of research.

<comment><USER6> How does Mendeley help to keep up with the state of research? I thought it just lets you manage the papers you read. Does it actually give you access to paywalled papers?

By the way, as a non-academic, I've always wondered how I could keep up with the latest developments in the field of information security/cryptography. Are there simply some key journals that one has to keep track of, or are there other more frequently updated sources that one should read?

<comment><USER3> Aim for journals with a high-impact factor. Researchers are encouraged to publish there. Unfortunately there's usually a pay wall for those. For free stuff you can check open-access journals. Some open journals also have a high impact factor and there's recently been a push for publish to publish only in open access journals.

<comment><USER4> Also, in some computer science areas conference papers can be another useful resource.

<comment><USER3> Good point, I forgot to mention that.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> I use BibDesk [1], which is open source and comes bundled with MacTeX. It is useful and very fast by itself, and it has a full AppleScript API which makes it extendible without having to dig into the code.

I wrote a couple of 'plugins' for it, one for looking up papers through Alfred, and another for quickly importing papers from the arXiv and from INSPIRE (the high-energy physics database).

[1] [http://bibdesk.sourceforge.net/](http://bibdesk.sourceforge.net/)

<comment><USER8> I'm also a big fan of BibDesk. I used to use Papers 1, but it was always a little buggy. Then the paid upgrade to Papers 2 was a big kick in the shins (paying to upgrade to an even buggier program with some features removed).

I tried Zotero standalone and Mendeley also, but the switch to BibDesk was a fresh breath of air. If you're using a bibtex workflow, I highly recommend it. It isn't the prettiest program out there, but it is fast, stable, and functional.

<comment><USER9> I started with Mendeley (used it all through my masters) and have gone entirely to BibDesk for my PhD. I keep .bib files in git, and sleep very well. For writing papers, I use biblatex-chicago if I have a choice. My workflow might look old to an outsider, but to me it feels dependable--an elegant weapon for a more civilized age.

</comment></comment></comment><comment><USER10> In grad school, I wrote my own academic research "organizer" using Django (the framework makes it really easy). It takes a few weekends of work, but then you have something really cool and suited to your needs.

And it allows you to do stuff that commercial software couldn't do, like use a headless browser to fetch metadata from the ACM website using your credentials (hey, I pay for my membership, and I have very reasonable rate limits built in my system). Sadly that's why it's the one piece of software I'll likely never open source :'(

Colleagues were always surprised to hear about my system, but honestly I believe that any tool you'll use consistently throughout your life is worth building yourself.

I ended up dropping out of my PhD for startups :) but I'll probably go back to research in the long term, and am looking forward to adding more features to it.

<comment><USER11> Cool. Here's an idea you should definitely look into (if it's not you, I'll look into it when I finish my studies).

I spent countless hours reading articles all over the place, only to find most of them are the utter shit imaginable, you wonder how they even get published.

I am sure that, around the world, many people are like me, preparing a thesis or something.. So this shit gets read a whole lot of time, when it should in fact collect electronic dust on a long forgotten server, until it commits suicide.

Also, anyone preparing some work has to go over that to do a "State of the Art"... Where's the field at right now..

This work gets repeated. Why wouldn't it be done once every time an industry is moved forward, so you just pick up there and bring your improvements, instead of reinventing the wheel every time.

It's "something" where academic articles are reviewed, and I don't mean "peer reviewed articles" and what not.. More like Amazon with books: Readers write what they think the book is lacking, or is not.

You can search for the article, and it displays reviews..

This is because in many articles, the authors are major assholes abusing keywords: They include keywords, you read the article to find that they really only had one sentence talking about it.

They pack it with keywords in the hopes of getting searched for.

It can be a client for example, peer to peer.

You install your client, you choose some themes and keywords you are interested in.. And then each time you start-up, it shows "relevant articles" for you to read and review.

It'll help you stay updated on a current industry, a particular branch of an industry, etc..

<comment><USER12> Well, once in a while someone publishes a review paper that does that. I found them quite good.. not as sophisticated as your idea though, but it exits.

I'm dreaming of a program that checks papers of all fields for me and suggests those with similar ideas in areas I'd never look at for me to read..

</comment></comment></comment><comment><USER13> I remember that OSX colleagues used to be quite enthusiastic about Papers. As a Linux and sometimes Windows user, I used to use Mendeley quite intensively, until I rediscovered Zotero, which is open source, and for my use case much better than the competition.

Zotero is cross-platform; it enables me to sync my papers in whichever way I choose and its bibliographic data extraction and PDF downloading work much better that that of Mendeley, because it does this from your computer, not via their servers, meaning you have access to all the fulltexts that your institution has access to.

I've used Zotero to write a bunch of papers, book chapters and part of a book. It's very solid.

</comment><comment><USER14> Papers had two downfalls for me, which were that it had no functionality similar to Mendeley's sync to .bib option, and it made weird citekeys when you manually exported lists.

Using Pandoc and its referencing tools requires .bib files, and Mendeley's automatic .bib export means I can just type citekeys and expect them to work. And if you want your text to make sense as a markdown file, you want your citekey clean and informative. It's been a while, but I think Papers used citekeys that didn't conform to any sort of spec (something like :_blah instead of Author:DATE), and pandoc simply couldn't read them.

I use Mendeley now. Doesn't have the cool research tools figured out as well as Papers, but it does what it's supposed to do, which is to store my citations in a way that makes it easy to put them in a paper.

</comment><comment><USER15> I tried to use this recently, even going as far as paying for the iOS version (whilst on the Mac trial). Unfortunately, it was too slow and clunky on my Mac, which is admittedly fairly old (mid 2009). The iOS app also crashed a lot, and wouldn't sync particularly well.

If they fixed these issues, it would be great. I ended up using Mendeley in the meantime.

</comment><comment><USER16> Does it have usable bibtex support nowadays? The last time I tried using it (~4-5 years ago), that was the reason that I did not end up using it.

I build a small web application that full-text-indexed all of the papers I needed back then instead.

<comment><USER17> Yep. I just installed it and BibTeX is an export option.

</comment></comment><comment><USER18> Anybody interested in a place to discuss papers and have a wiki-like area for things like links to other papers, links to algorithm implementations, summaries, links to blog posts, etc? If so, what would you hope to get it out of it?

</comment><comment><USER19> No Linux Version :(. Think Mendeley is the best one from GNU/Linux point of view

<comment><USER9> Except that, because it's not open source, it doesn't make it in to the package repos. Also not Free/Open Source, if that's of importance to you.

I'm kind of surprise that nobody has cloned BibDesk from OSX. As mentioned elsewhere in this thread, it's BSD-licensed and functional.

</comment></comment><comment><USER20> I personally use JabRef with bibtex files. It works pretty well for my needs.

</comment><comment><USER21> I use Zotero. With Lyx/Lyz the workflow is really pleasant.

</comment><comment><USER6> Has anyone heard of [http://www.readcube.com/](http://www.readcube.com/) ?

</comment><comment><USER22> I wonder how adoption has been? I'm particularly interested amongst undergraduate students.

<comment><USER23> I know a few people that use it, including myself. However, I can't bring myself to upgrade to version 3. It's just too different for my tastes.

<comment><USER23> I should probably add though that I'm not an undergrad :) I started using Papers in grad school a few years ago (version 1) and have kept using it since then.

</comment></comment></comment><comment><USER24> I just use evernote.</comment>


Myths about static code analysis - <AUTHOR> http://www.reddit.com/r/viva64/comments/m3h7e/myths_about_static_code_analysis/

<comment><USER2> >And I never saw any other alternative than implementing diagnostic rules by the analyzer's developers at the request of programmers

This isn't meant as an attack, but that sounds an awful lot like "I do not want other people to be able to do my job because that would put me out of my job". He does raise some good points, yet I can't help but notice that.</comment>


Even Google is abandoning Google+ - <AUTHOR> http://www.theregister.co.uk/2016/02/19/even_google_is_abandoning_google/ <comment><USER2> "Even Google"? Another of those "Google+ is a ghost town" fables I guess. The reality is of course that Google simply stopped trying to force people onto Google+ for services completely unrelated to Google+. And that's a good thing, but that doesn't mean people aren't using it. It's as vibrant as ever.

A more interesting point is this one: [http://www.frivology.com/blog/2016/how- google-failed-contess...](http://www.frivology.com/blog/2016/how-google- failed-contessas-online-conventions) Google+ had a unique combination of features around Hangouts and Events, and they killed it in the redesign. Perhaps it's also the result of their desire to uncouple things from Google+, but here they went too far. What was once a killer feature is now pointless.

Lots of people use Google+, but for online events, they're going to have to look somewhere else.</comment>


History's First Cyber War Has Begun - <AUTHOR> http://www.vanityfair.com/culture/2013/07/new-cyberwar-victims-american-business#home

<comment><USER2> This is an interesting article, but the idea that cyber war is worse that nuclear war is kind of ridiculous.

<comment><AUTHOR> Welcome to 2013 I guess.</comment></comment>


Show HN: FormulaDesk Navigator - <AUTHOR> https://www.formuladesk.com/formuladesk-navigator <comment><AUTHOR> Hi. I'm the creator of FormulaDesk Navigator. Please let me know what you think - good or bad - and fire away with questions or suggestions.

Gareth.</comment>