GE Engineer Linked to China Stole Power Plant Technology, FBI Says - <AUTHOR> https://www.wsj.com/articles/ge-engineer-linked-to-china-allegedly-stole-power-plant-technology-fbi-says-1533235590 <comment><USER3>
      In 2014, GE's corporate security learned that Mr. Zheng
      had copied more than 19,000 files from a GE-owned
      computer to an external storage device, according to
      the FBI affidavit.

      In late 2017, GE discovered he had saved about 400
      files on his desktop computer using encryption software
      not used by the company.

I don't understand why GE would keep him employed after the first offense. Can someone who understands corporate bureaucracy explain this? Especially knowing that he was literally running a competing business in China while employed at GE.

<comment><USER4> Sometimes you catch a spy, fire them, and have them arrested.

Sometimes you identify, feed them false information, and watch who they talk to...

Sometimes you screw up.

There can be good reasons for GE/FBI/CIA to let a spy keep their job.

<comment> barrow-rider For example, Line X and the Farewell Dossier: [https://en.wikipedia.org/wiki/Farewell_Dossier](https://en.wikipedia.org/wiki/Farewell_Dossier)

</comment></comment></comment><comment><USER5> Why is the act usually perpetuated against the US. China trades with other countries but rarely you hear news of China stealing their tech. Why does China strive to a great deal to steal tech from the US

<comment><USER6> Copying information is not stealing.

<comment><USER7> If you hire me at your company, then I take _all_ the information, code, files, work on your big new project that you've invested all of your company's money into, and go to your competitor with it (for a handsome fee) - you're not going to proclaim 'copying' your IP et al is not stealing. Not unless you're suicidal and don't care about your employees and their jobs.

No business could survive and make long-term plans and large capital investment if that's how the world actually worked.

How about walking out of an accounting firm with private business files and handing them to competitors for a fee? Still not information stealing?

<comment><USER8> Everything illegal is not "theft". Kidnapping, for example, involves many of the same aspects of theft, but still isn't theft. Likewise, illegal copying and corporate espionage, while they may be crimes, are not "theft".

</comment></comment></comment></comment><comment><USER9> I am a Chinese and I am not comfortable with most of comments here. But I see lots of places that China companies can do much better though. I see people are growing awareness of IP or copyright, I hope these companies can do just better.

<comment><USER10> There is a whole society ingrained in "copying". Mainland Chinese don't see IP theft as theft. They see it as simply "copying". It's ok to copy. But not to steal right? So just preach that it's ok by changing the view. Then allow copying to happen endlessly without retribution because without it. The economy is done.

<comment><USER11> Well, it is not theft. Theft means that what you are stealing is not there anymore afterwards. Like actually stealing (unique) plans. Not saying that copying is actually okay, but using more sensational terminology is not really helping.

Same thing is going on with "piracy", in Germany they actually coined the term "Raubkopie" (robbed copy) which implies that a copy is taken by violent force.

<comment><USER10> What about theft of revenue, profits, money spent on new R&D because there is a company or government willing to copy your idea and subsidize its development heavily as to maximise their economic growth.

It's theft. Handbags to manufacturing techniques. Source code to schematics. Science to business models. It's all meant to prop up local business. Pin duo duo just had their IPO. Now there's so many fakes and copies that no one knows what's real on their anymore.

Didi vs Uber is a great example. Didi copied the idea, took government subsidies. But then the government stole the competition completely by shutting down Uber and forcing a merger with Didi.

<comment><USER11> You can't just redefine "theft" as "deprive of potential earnings/subsidies", watering down definitions is helping no one. I agree that the depriving is what is happening here by copying but this is what shouls be called out then, not a made-up theft.

</comment></comment></comment></comment></comment><comment><USER12> companies that use stolen tech should just not be allowed to sell to WTO countries

<comment><USER13> Here's an idea: EU, US, and Japan should slap a 50% tariff on all Chinese goods (made in China, or from Chinese companies). You're stealing our techs to sell products back to our markets? We're punishing you with a 50% cut first.

<comment><USER14> And then China will reply - "with a couple of recent exceptions, we ain't selling back shit - it's your companies who pay us to manufacture stuff for you, and then they sell that stuff to you for 400% the price".

<comment><USER13> And then the rest of SE Asia will reply "we'll gladly take all the manufacturing from China" And then EU, US, and Japan says "we better speed up moving out of China". And China was never heard of again.

<comment><USER14> And then the rest of SE Asia will say, "oooh, juicy IP coming our way, just asking to be copied!".

</comment></comment></comment></comment></comment><comment><USER15> If you look into the story of American Superconductor, Sanyo Shinkansen, Apple's self driving car project and now, GE..it's all similar.

It's their culture, they don't believe in attribution nor fair trade, they're used to growing up in a red ocean. That's the way they are.

I work with Chinese companies on a regular basis, I never give them access to my repos, always uglify my JS code, and ensure strict rate limits for anything other than my office's IP address and carefully monitor access logs from their IPs and always implement kill switches in my software. I know what I'm doing isn't going to stop them if they wanted to, but for most part, it keeps them at bay.

Just watch out if you work in an industry where your IP is everything.

<comment><USER16> I'm curious (and fearful) as a naturalized US citizen of former Chinese nationality--is your sort of paranoia and general attribution of this to culture common? The man arrested was a US citizen (and would have had to give up Chinese citizenship to become one) but would have obviously looked Chinese.

If you had to work with me, would you actively try to obfuscate your work because you believe at a cultural level that I'm keen to steal?

<comment><USER15> > I work with Chinese companies on a regular basis, > I never give THEM > access...

I've clearly explained my stance with Chinese companies. Ie. Companies from China.

I've never mentioned anything at a personal level in my original comment. That's your mis-interpretation. Sorry.

<comment><USER17> Re-read your comment.

You said nasty things about Chinese companies because a US citizen stole IP from GE. And then you wonder why a Chinese-born US would be wary of working with you.

<comment><USER15> I said those because, a US citizen stole IP from GE, but sent it back to Chinese companies.

Hence, I clearly mentioned why I don't trust Chinese companies, whereas the misinterpretation here is automatically the assumption that I have a problem with Chinese as a race, which isn't true.

</comment></comment></comment></comment></comment><comment><AUTHOR> This is NOT a cultural thing folks. I really want to emphasize this basic basic fact. There are over 4 million Chinese Americans living here, 99% the most hardworking, honest, brilliant immigrants in America. The lowest crime, some of the highest success etc.

There are a handful of people stealing technologies though and the point I want to make it ITS STATE SPONSERED. China gives you a handbook on how exactly to steal technology and how to bring it back. The STATE SPONSERED stealing of tech in specific fields is the problem and is estimated to lose the US $150B every year according to a bipartisan report not including the rest of the world. The CIA estimates thousands of government trained espionage operatives are present in California alone, far more than any other country has had ever and this doesn't include the Confucious Initiatives all over the country. This isn't a Chinese problem at all, it's the government of China specifically CCPs fault that should be countered by government policy not mistrust.

</comment><comment><USER18> Hopefully this discovery will help GE turn around its business

</comment><comment><USER19> Going to use a throwaway here as I'm afraid of professional repercussions, despite being from the "land of the free."

Reading the comments here are just so funny. Why is it whenever a Chinese person does something, or rather an "Asian person," it must be attributed to their culture?

Do Chinese people not have personal traits? Could this guy just not be greedy?

There are 1.4 billion Chinese people. The ones that come to the US are over achievers. It should not be surprising in a group of over achievers to have a high percentage of greedy and opportunistic people.

Recently Ron Rockwell Hansen was arrested for spying for China. I wonder what type of cultural norms caused him to do so?

<comment><USER20> Also posting as a throwaway for similar reasons.

This comment brings up a valid point. When I was working in academia, a lab from $large_and_famous_west_coast_university copied some code from a set of open source scripts from another lab in my field on Github, erased the Git history, and then created a new repo with a footnote in passing that they had been "inspired" by the original scripts- pretty much a textbook case of plagiarism. No one involved was Chinese (most were actually white male Europeans).

In general, high profile researchers take incredibly morally repugnant / unethical actions to get ahead.

<comment><USER21> It's "Open source". That's the whole point of open sourcing code. As long as the lab attached the license provided it's good. This is completely different than copying code from private internal repositories.

<comment><USER20> You're missing the point / haven't read my other comment- in the context of academia plagiarism amounts to stealing. Sure, there's nothing that's legally preventing you from copying code and passing it off as your own so long as the license is preserved, but in academia this has political and sometimes economic ramifications.

</comment></comment></comment></comment><comment><USER22> [http://archive.is/eOdFv](http://archive.is/eOdFv)

</comment><comment><USER23> There are lots of bias in the comments. Some blame culture, which is wrong. This is a simple case, just like Uber waymo lawsuit. [https://www.wired.com/story/uber-waymo-lawsuit- settlement/](https://www.wired.com/story/uber-waymo-lawsuit-settlement/)

Lots of Chinese companies don't steal IP and invest heavily in R&D, and they want to contribute. On Github, many contributors are from China.

</comment><comment><USER24> The interesting part, other than fitting into the "Chinese IP theft" narrative, is that:

> [He] removed electronic files with company trade secrets involving its > turbine technologies and hid data files in a digital photograph of a sunset. > Prosecutors say he then emailed the picture to his email account.

[https://www.nytimes.com/aponline/2018/08/01/us/ap-us- general...](https://www.nytimes.com/aponline/2018/08/01/us/ap-us-general- electric-investigation.html)

Edit: Thanks for the downvotes?

<comment><USER25> Someone should make a new database engine for Postgres that has stores all the data by embedding it steganographically in images and then automatically uploading them to imgur. They could then be submitted to Reddit for faster cacheing at edge locations.

<comment><USER26> Interesting idea, but since imgur recompresses photos, so I'm not sure this would work.

<comment><USER27> Steganography can be sufficiently redundant so as to be resilient to recompression. Of course then your signal-to-sunset ratio gets even lower.

<comment><USER28> [https://i.imgur.com/470fzsY.png](https://i.imgur.com/470fzsY.png)

</comment></comment></comment></comment></comment><comment><USER29> I'm sorry, but China has been a pro at stealing IP from the West. I'm actually with Trump on this one (gasp) - but I think it needs to go one step further and actually drop trade all together.

Fact is, China straight up has people from the government who sit in factories reverse engineering the stuff that's built. The Chinese government (after it's been reverse engineered) helps support competitive businesses, then locks out the U.S. or other Western competitors (as it's in the national interest).

It's insane that the west has put up with this, because it's literally going to cripple the west in the long run.

Regarding this case, it's espionage essentially... But not really supprising given the prior events.

<comment><USER30> Exactly. None need look further than the story of american superconductor. American superconductor made wind turbine control systems. They partnered with a Chinese company called sinovel who made the turbines. Eventually some Chinese engineer stole the company's software and gave it to the company. The Chinese company canceled the contract with american superconductor and then used the stolen IP to continue business as usual. American superconductor was nearly bankrupted in the process.

Free trade only works if you have fair trade, otherwise it is every man for themselves. Trump knows that trade with China is rigged so there is no point in having free trade with them. Most people who complain about Trump playing hardball with China are very uninformed about the reality of the situation. China is getting ready to gut the US economy from the inside out. China will make sure it never has a trade deficit with the USA. They will buy some of our stuff but only if they have a trade surplus.

<comment><USER31> Knowledge wants to be free. Adam Smith considered IP laws to be an unnecessary evil. The Chinese are just being good capitalists. American Superconductor nearly went bankrupt because they couldn't compete on a level playing field.

[https://youtu.be/axXTMUmTOyE](https://youtu.be/axXTMUmTOyE)

<comment><USER32> Do you believe that, without IP law, we'd still have companies invest the amounts they do into creating new technology (particularly in high R&D areas like pharma)?

<comment><USER33> Isn't most research done in government labs or universities?

Innovation is great but it's mostly a buzzword to describe the aformentioned research in commercial areas

<comment><USER7> No. The US Government is 18%-20% of all R&D spending in the US. A lot of that is in the military budget of course.

Which makes perfect sense when you consider the size of the private economy versus the share of government spending that could reasonably go to R&D (versus entitlements, military, infrastructure, etc).

Private corporations are around ~$400 billion of the ~$550 billion per year spent in the US on R&D.

The government R&D figure as a share is higher in the EU than in the US, but not dramatically so. The private sector is simply too large by comparison and can focus its resources more narrowly on things like R&D than what a government could be expected to.

<comment><USER32> Not only does private industry spend more on R&D, but I'd personally argue that their $400 billion is required to be more effective at a per-dollar level, given the inherent competitiveness and need to create something profitable.

</comment></comment></comment></comment></comment></comment></comment><comment><USER34> >Xiaoqing Zheng (JOW'-shing zehng)

this pronunciation is so off it offends me

<comment><USER35> Feel free to correct it for those of us who don't have a clue.

<comment><USER34> Sure thing

Should be pronounced like this:

Shiao - Ching - <USER2>

Shiao is pronounced like "shout" without the t, or "ow" (like you hurt yourself) with an sh in front of it

Ching is pretty self-explanatory. Rhymes with sing, but starts with ch.

Zheng is harder to describe. It's similar to "zing" but instead think "zeng" (with the e pronounced like the e in end). Now, to pronounce the "zh" sound try to pronounce "it's" but stop yourself at the interface between the t and the s. That is about the sound that you should be making. Don't make the sssss sound either. It's more of a z sound. Like if you saying "zzzzz" and then moved your tongue back a bit.

<comment><USER36> You described the z initial, not the zh initial. zh is very similar to the English j.

"Sheow Ching Jung" is a better approximation.

<comment><USER34> >zh is very similar to the English j.

I strongly disagree... what makes you say that, Nick Garvey?

</comment></comment></comment></comment></comment><comment><USER37> Modern day Slater. Good for them.

The overall situation annoys me, but congratulations to the person.

</comment><comment><USER38> IP theft by spies just like piracy but between businesses and governments. Governments business should try to keep secrets as much as they can, of course, but losing secrets is rarely net negative globally.

<comment><USER39> do companies have counter intelligence ?

<comment><USER38> They do.

Corporate Counterintelligence and Cybersecurity Services is growing business area.

</comment></comment></comment><comment><USER40> Given there are ~7.5 billion people on Earth, and given we're getting more interconnected every single day, and given there is more "stuff" being invented every single day, at what point will we just assume this kind of stuff is commonplace and it won't make the news anymore?

In the same way a lot of forward-looking people are seeing a future were full- time work will have to be replaced by some form of Universal Basic Income, I wonder when we'll realize the whole IP / Copyright / "It's mine, you can't have it" mentality will have to be replaced.

<comment><USER18> The reason why we have IP laws is that we assume innovators are selfish and will only innovate for personal economic gains.

<comment><USER41> You don't need to assume that they'll _only_ innovate for such gains.

You can avoid absolutes and simply assume that _many_ innovators are selfish, and personal economic gains are a strong motivation that works in _many_ cases; which seems absolutely true and is a sufficient reason why IP laws would be useful.

</comment></comment></comment><comment><USER6> I wonder when we as a human society can get past this silly nationalistic idea that one can steal information or technological ideas or designs. The entire concept of intellectual property is a hack to prop up industry revenues; it is not reality. The free flow of information and discoveries is essential to the advancement of the human condition.

It's sad that more often than not, chinese hackers get this and US hackers do not.

<comment><USER42> Without patents, pharmaceutical companies would cease to do research. Its not feasible in some sectors to do research if someone else can copy it with none of the cost

<comment><USER43> There is no indication that this GE technology is patent protected. With private "trade secrets" which can be kept wrapped indefinitely, the public never gets the benefit of disclosure while incurring the cost of monopoly. There is an argument to be made for non-patent trade secrets being an overall negative.

<comment><USER42> That's a fair point. I wonder if the US Government would let them patent military trade secrets</comment></comment></comment></comment>


Why now is the best time to study quantum computing (2014) - <AUTHOR> http://arxiv.org/abs/1501.00011 <comment><USER2> Although I have studied the basics of quantum computing, I don't think it will become necessary for computer scientists to know the gory physics details of quantum computers. All they will need to know is that a certain function that is normally O(n^2) now has a magical implementation that is O(n), and another function that is normally exponential is now polynomial.

Quantum computers will likely manifest themselves as co-processors, and you'll have a nice well-abstracted API to access those implementations within traditional languages, i.e.

        #!/usr/bin/env python4
        from quantum import qc
        qc.init(device="/dev/quantum0")
        factors = qc.factor(15)

<comment><USER3> Later in the game, sure. Who's going to build the early toolset? Who's going to own it? Will their be a FOSS API, or will we be locked in?

All of that design infrastructure needs to be built by somebody, and that somebody stands to make a forunate. The tasks you listed are a decent summary of the likely eventual outcome.

But:

• Who will do the work to create this beautiful API? • Who will create this coprocessor architecture? • Will this theoretical stack be built by Microsoft, Amazon, Google, etcetera, or be FOSS?

These questions are completely unanswered, and will affect my users of whatever quantum. When analyzing data, one cannot usually just gloss over the underlying math. All abstractions, by definition, are incomplete.

But that's the exciting thing about right now. Most inventions occur when science outruns engineering. When engineering and cutting edge science _just about_ to finally converge, that's when market opportunities are most prevalent.

<comment><USER4> How many people/companies did it take to build GPUs? A lot of people, to be sure, but as a fraction of all software engineers, that number is incredibly tiny.

The vast majority of software engineers---even if we filter to just the set who have actually used GPUs for a project---only know the high-level APIs (OpenGL for graphics, CuDNN for AI, etc.). Fewer engineers are familiar with the more general-purpose APIs (CUDA, OpenCL, etc.), and even fewer still know any of what goes on underneath those layers.

Bottom line: it takes a relatively small community of people to build tools for everyone else to use. People will need to know how to use the highest level of APIs, but most need not understand what goes on underneath that.

<comment><USER5> Or a better way to put it in my own opinion: in the early days of any emerging technology, most of the founding members have little clue what to do except the concepts and ideas, so implementing toolsets which can be used on both quantum computers and non-quantum computers will be a learn-on-job work for most people, leaving a very very very small pools of experts who devoted his/her life to this area.

</comment></comment></comment></comment><comment><USER6> I gave an introductory talk about experimental quantum computing at the 31C3 where I explain how a basic two-qubit quantum processor works and how we can run a very simple quantum algorithm (Grover search) on it, here's the video link:

[https://youtu.be/1PcseLsYZ9Y](https://youtu.be/1PcseLsYZ9Y)

<comment><USER7> That was the best and easiest-to-follow overview I have seen of a quantum computing architecture. You clearly have a talent to explain complex concepts in a way that anybody with a CS undergrad background could understand. Thank you!

Do you any other videos on this topic you would recommend watching?

<comment><USER6> Thanks for that great feeedback, I really appreciate it!

I don't know any other videos, but I really like Nielsen/Chuang's book on Quantum Information. The first chapter is available for free:

[http://www.michaelnielsen.org/qcqi/QINFO-book-nielsen-and- ch...](http://www.michaelnielsen.org/qcqi/QINFO-book-nielsen-and-chuang-toc- and-chapter1-nov00.pdf)

Michael Nielsen has a great blog btw where he talks not only about quantum computing but about machine learning and other interesting subjects as well.

<comment><USER8> Glad you like the book and blog. I did a short video series on quantum computing: [http://michaelnielsen.org/blog/quantum-computing-for-the- det...](http://michaelnielsen.org/blog/quantum-computing-for-the-determined/) Never completed, but some people tell me they find it useful.

<comment><USER6> Nice, I did not know those! Your book really helped my to implement quantum state & process tomography during my PhD btw (much more than most journal articles on the subject), thanks again for writing it. I think together with David Mermin's "Quantum Computer Science" (which is much shorter though) it's still one of the best books on the subject.

</comment></comment></comment></comment></comment><comment><USER9> If I was still a student, I would definitely go in quantum computing. So much opportunities for innovation on a very cool subject.

I often wonder what will happen at the 0-day quantum machine where it's not just a few qbit but the real deal.. I think anyone in possession of such technology will be able to crack any SSL certificate, and thus gain access to almost anything online. I wonder if criminal organisations aren't secretly investing in such thing? And, not to be paranoid, but we're almost certain it will be possible to build them, wouldn't it be prudent to start investing in the defense against such things? What kind of security could we have to counter a quantum computing? Would it only be possible to use quantum computing to defend against quantum computing?

<comment><USER10> > If I was still a student, I would definitely go in quantum computing

Timing the market would be hard. I remember seeing an article in 1999 talking about quantum computing, as if it were "just around the corner". Tons of advances have been made in the field since then, but we could still be 10-20 years out from QC being available/ubiquitous.

<comment><USER11> 20 years sounds optimistic for "ubiquitous". Consider: it took over a century to go from Maxwell's equations (1861 and 1862) to modern cell phones. It took over a century from the time that Babbage proposed his analytical engine to the first working general purpose computer. The dawn of quantum computing can be traced back to, maybe, at earliest, the early 1960s. (Based on cursory Wikipedia browsing.) It took several decades to get Shor's algorithm, which finally got people to take quantum computing seriously. If we have quantum computers comparable to ENIAC by 2060, I'll be pretty impressed.

<comment><USER12> I really don't want to just bang the 'exponential progress' drum but you're probably not accounting for it enough with these examples. The ubiquity of computers and phones isn't just a consequence of the theory underpinning them being developed into industrial applications, but of the myriad related ways that industrial engineering, society, and the economy had to develop to support and necessitate their existence. Those last two were indeed probably the most viscous factors in the way of technological progress, up to this point, more so than the science and engineering challenges involved, though they are clearly all interlinked.

Now, however, it's probably the case that the scientific and engineering challenges are the biggest hurdles - we already have the society and economy hungry for more computing power. Assuming the necessary breakthroughs can be made to make quantum computing a reality in the next 10-15 years (obviously a big assumption, and not intending at all to sweep that aside, it could take decades, but just let's make that assumption) it's not at all difficult to see how it could rapidly find its way into production and then ubiquitous industrial application, and 20 years then does not sound outlandish at all.

<comment><USER11> I admit that if you postulate that all needed breakthroughs are done within 10 years, then it starts looking plausible. But as you said, that's a BIG assumption.

</comment></comment></comment></comment></comment><comment><USER13> Are there slim definition-theorem-proof-exercise-repeat style papers meant to be an introduction into the field? Maybe something in the style of [http://www.jiblm.org/downloads/jiblmjournal/V090212I/V090212...](http://www.jiblm.org/downloads/jiblmjournal/V090212I/V090212I.pdf)

<comment><USER14> Nielsen and Chuang certainly isn't slim, but chances are you won't need to read every chapter. The style is certainly what you're asking for though.

</comment></comment><comment><USER15> Arjen Lenstra was my professor for a year. When he we was asked about quantum computers he replied something to the effect of:

"Back in the 90s, I asked leading quantum computing researchers when quantum computers would become available, and I was told 'in 10 years' time'. I asked them again 10 years later, in the 2000s, and was met with the same reply. And I've asked again just recently, and I was told, once again: 'in 10 years'. Now, I'm a computer scientist, so I my prediction of the future can only be that what has repeated itself will continue to do so. According to this logic, quantum computers will never be available."

(I'm quoting very loosely, because this was just an off-topic remark during a lecture I attended a year ago, so I don't remember the exact phrasing. But I do believe that this was the gist of it).

I'm genuinely afraid that quantum computing will just remain a purely theoretical field, and that we won't see any practical applications to it. To me, that does not make it worth pursuing. I'd love to be wrong, though, because it sounds super interesting.

<comment><USER16> > According to this logic, quantum computers will never be available.

No, it just means that time until quantum computers are available is distributed exponentially.

<comment><USER15> I don't think I really understand what you mean. What he said was that it stays at 10 years indefinitely. Either way, x+10 and e^x both go to infinity, so I guess the conclusion is the same, right?

<comment><USER17> I think the joke was to say that 'quantum computing being discovered' follows a Poisson distribution which models occurrences of events that arrive in a manner so that each one is independent of the previous one. Such as letters arriving in the mail or winning at roulette. Regardless of how long it's been since your last letter, you still guess that the next one will come on average, say, 5 days from now. Regardless of how long its been since you won at roulette, you should still expect your number to come up on average 38 tries from now.

The exponential part is more like e^(-x) and refers to the exponential distribution [1] that gives the distribution of intervals in between Poisson events. So if its 'distributed exponentially' (whatever that means for a one- off event), the joke is that this would then give rise to the situation where researchers are always correct guessing 10 years off, even if they've been saying that for decades.

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

<comment><USER16> > So if its 'distributed exponentially' (whatever that means for a one-off > event)

One-off event is not a problem. You can clone the world many times at the moment when scientists made their prediction and find the distribution over ensemble instead of over time.

</comment></comment></comment></comment></comment><comment><USER18> Learning quantum mechanics is not a big deal if you have a good background in linear algebra. I wrote a book on linear algebra that covers the basics of quantum mechanics as an application.

 _No bullshit guide to linear algebra_ [https://gum.co/noBSLA](https://gum.co/noBSLA)

Here's an excerpt from Chapter 10 on QM: [https://minireference.com/static/excerpts/noBSguide2LA_previ...](https://minireference.com/static/excerpts/noBSguide2LA_preview.pdf#page=107) I also give a (non-hype) overview of the potential and obstacles associated with quantum computing.

</comment><comment><USER19> Has a quantum computer been built that can solve a problem faster or cheaper than conventional hardware? Afaict no. From an outsiders pov quantum computing seems to be advancing, but until the science and engineering can overcome the challenges and build something that can do something useful, then it seems too early to study it (outside of curiosity, the theory is kind of interesting).

</comment><comment><USER20> Is there any theoretical proof that quantum computing is inherently more efficient than current technology ?

We can theoretically make a lot of simultaneous computations but are we sure we will not need exponentially more energy or time to get the result of computation when we add more qubits in future quantum computers ?

<comment><USER21> > are we sure we will not need exponentially more energy or time to get the > result of computation

The minimum free energy that must be expended to operate a computer is theoretically very close to zero, since it is not strictly _necessary_ to use irreversible primitives[0], such as NAND gates, which is something that we do in traditional computers. For irreversible elements the theoretical requirement is about kT*ln(2) at temperature T. DNA uses about 100 kT per bit copied.

I really recommend that you take a look at Feynman's introduction to quantum computing[1].

[0] [http://www.cs.princeton.edu/courses/archive/fall04/cos576/pa...](http://www.cs.princeton.edu/courses/archive/fall04/cos576/papers/bennett73.html)

[1] [http://www.cs.princeton.edu/courses/archive/fall05/frs119/pa...](http://www.cs.princeton.edu/courses/archive/fall05/frs119/papers/feynman85_optics_letters.pdf)

<comment><USER20> Thanks for the links !

</comment></comment></comment><comment><USER22> I took several classes in Quantum Mechanics around 1980. I am sure it would be far more interesting today. At least we have a more practical understanding of what it can do. I do wonder if we have any understanding of how it will change society?

</comment><comment><USER23> Another really fascinating connection is with linear / resource logic and quantum computation. A lot of really neat resource logic connectives have interpretations as setting up quantum experiments.

</comment><comment><USER24> Some of my noticings.. Many of the "founders" of the field are still quite young, which is refreshing. Although they tend to say how back in the old days it was so much easier to get new stuff published. Maybe that is so, but my personal opinion (as an apprentice) is that we haven't reached the hockey stick yet.

</comment><comment><USER25> Heisenbugs, what will become of you?

in all seriousness though, I heard someone talk about their qc research a year or so ago and it was fascinating but I imagine debugging such systems could be quite the challenge

</comment><comment><USER26> If we know now is the best time to study quantum computing then we can't know where the best place to study it is.

<comment><USER27> If we know now is the best time to study quantum computing then we can't know how much energy it will take to study it.

<comment><USER28> Whatever you two are talking about is not a particle so whatever.

<comment><USER29> Simultaneously a buzzkill and realistic.

<comment><USER30> Isn't there generally an overlap?

</comment></comment></comment></comment></comment><comment><USER31> How does this compare to Justin Trudeau's explanation? [https://m.youtube.com/watch?v=rRmv4uD2RQ4](https://m.youtube.com/watch?v=rRmv4uD2RQ4)

<comment><USER32> hmm, they both talk about quantum computing? the guy in the video says one phrase about it. the article says a bit more. strange question.

<comment><USER33> The 'guy in the video' is the prime minister of Canada- the question had value as it asked about someone's understanding of quantum who is in a position of political power.

<comment><USER31> What's more interesting in the video is quantum computing being explained to a general audience. For young people looking for direction, both the video and the paper serve as persuasive pieces.</comment></comment></comment></comment>


Thomas Friedman Op-Ed Generator - <AUTHOR> http://thomasfriedmanopedgenerator.com/

<comment><USER2> This is terrific. Especially if you share Matt Taibbi's opinion that Friedman's writing is a bloviated mess of half-baked ideas and nonsensical metaphors.

[http://trueslant.com/matttaibbi/2009/04/23/tom-friedman- stri...](http://trueslant.com/matttaibbi/2009/04/23/tom-friedman-strikes- again/)

However, I am surprised by the several posters here who feel this is a great approximation _and yet also_ that Friedman is a great author. I am curious how a predictably impenetrable and meandering style is worth reading.

<comment><USER3> Another Taibbi contra Friedman classic:

<http://rolocroz.com/junk/friedman.html>

Sure, it's catnip, but we all deserve catnip sometime. Living life without catnip is like a trout driving a car without a steering wheel, which leads you to a oval world pretty quickly.

<comment><USER4> contra or contre?

<comment><USER3> I believe contra is Latin, contre francais?

</comment></comment></comment></comment><comment><USER5> Hey all--Brian here, I built this little ditty. To answer some questions: Yes, it is a template engine, and there are only two templates. The foreign policy one was written by Michael Ward with some modifications, and the domestic policy one written by a friend of mine. Coded in PHP/MySQL. All articles have permalinks. That's basically it...probably could have done it a better way but it was literally two hours of fun work a couple months ago and until today, I had forgotten about it. Thanks for the kudos and support!

<comment><AUTHOR> Congrats! Had my sides aching for a good long while. Wonder who else you could do?

I bet there's an opening for a Charlie Brooker Guardian column generator, and a "Danny Wallace humorous anecdotal garbage about modern man and parenting" generator

<comment><USER5> I'd personally like to do a Paul Krugman generator. But I don't have the CPU power to crank out that level of bullshit.

</comment></comment></comment><comment><USER6> As a frequent reader of Friedman - I was blown away the first couple times by how clever it was...until I got to articles #3,4,5 (#6 was good) - and then #7,8,9 were basically repeats as well.

It's basically just a template engine, in which (as far as I could tell) there are only a few article written, and they just substitute appropriate Countries, Sayings, Nouns, Names, Topics in the appropriate places.

It's one of those things that _looks_ amazing, until you realize how it's done.

<comment><USER7> That sounds like it nails the Friedman op-ed experience ;)

</comment></comment><comment><USER8> Thomas Friedman is one of my favorite authors but I've never got into reading his column in The New York Times. This is a really good spoofjob though, I actually thought he wrote most of this.

<comment><USER9> What is it about Friedman that you find ... has value? I'm genuinely curious.

<comment><USER3> His intrepid quest to justify elite opinion by searching through every city in the world to find a cabbie willing to say it.

</comment></comment></comment><comment><USER10> The About page, <http://thomasfriedmanopedgenerator.com/about.php>, doesn't say much on how this was done. So far, I see a pattern in the writing style with a lot of:

 _An interesting thought occurred to me today—what if X_Profession sat down with ordinary people like you and me and ironed out some real solutions to our Y_Issue crisis?_

But does anyone know how the rest of it was generated?

<comment><USER11> From the "content from Michael Ward" link at the bottom of the article. [http://www.mcsweeneys.net/articles/create-your-own-thomas- fr...](http://www.mcsweeneys.net/articles/create-your-own-thomas-friedman-op- ed-column)

</comment></comment><comment><USER12> The rough part about seeing this is, it really could be him! Well played sir.

</comment><comment><USER13> Nicely done. Add two dashes of unrepentant war mongering and no one would know the difference.

<comment><USER3> Suck on this, as they say.

And by they, I mean Thomas Friedman, when it comes to justifying wars that cost hundreds of thousands of lives and trillions of dollars.

</comment></comment><comment><USER14> In the very same vein, behold: The Krugman Times - The NY Times by its only columnist

<http://krugmantimes.com/>

My site takes the current view of the NYT and replaces all the material using text extraction. This op-ed generator appears to use mad-libs with defined templates.

</comment><comment><USER15> Wow, this is super impressive. It maintains a consistent theme throughout the article.

</comment><comment><USER16> akanet, I think you're hellbanned. Which is a pity, because that link is hilarious.

<comment><USER17> Could you repost the link please?

<comment><USER3> <http://krugmantimes.com/>

Can't say I love the implementation.

</comment></comment></comment><comment><USER18> Nicely done!</comment>


Making 1M requests with Python-aiohttp - <AUTHOR> http://pawelmhm.github.io/asyncio/python/aiohttp/2016/04/22/asyncio-aiohttp.html <comment><USER2> Re the EADDRNOTAVAIL from socket.connect(),

If you're connecting to 127.0.0.1:8080, then each connection from 127.0.0.1 is going to be assigned an ephemeral TCP source port. There are only a finite number of such ports available, on the order of ~30-50k, which limits the number of connections from a single address to a specific endpoint.

If you're doing 100k TCP connections with 1k concurrent conections, it's feasible that you'll run into those limits, with TCP connections hanging around in some TIME_WAIT state after close().

Not that this would be a documented errno for connect(), but it's the interpretation that makes sense..

[http://www.toptip.ca/2010/02/linux-eaddrnotavail-address- not...](http://www.toptip.ca/2010/02/linux-eaddrnotavail-address-not.html) [http://lxr.free- electrons.com/source/net/ipv4/inet_hashtable...](http://lxr.free- electrons.com/source/net/ipv4/inet_hashtables.c?v=4.4#L572)

<comment><USER3> Generally its the upper 32k ports that are ephemeral, and if your churn more than that per minute in connections, you'll run into that TIME_WAIT issue.

Hacky way to get around that is to enable tcp_tw_reuse which will let you reuse ports, but it can be risky if you get a SYN from the previous connection that happens to lineup with segment number of the current connection (which will close your connection). Shouldn't happen often, and if you can tolerate a small amount of failure is an easy way to get around this limit.

[0] [http://blog.davidvassallo.me/2010/07/13/time_wait-and- port-r...](http://blog.davidvassallo.me/2010/07/13/time_wait-and-port-reuse/)

<comment><USER4> For benchmarking loopback connections, addressing really shouldn't be an issue, as you have an entire /8-subnet to split between your client(s) and server(s) (127.0.0.0/8). You would need some logic to set up eg 10.000 listening servers, and 1000.000 clients to get it working, and at some point you'd probably run into memory or other limits.

I'm a little surprised some simple googling didn't turn up any examples of this - I'm sure someone have tried it out in order to do some benchmarking of high-performance network servers/services?

Apparently ipv6 changes this to a single (loopback) address, but then again, with ipv6 you can use entire subnets per network card.

</comment></comment></comment><comment><USER5> I have a library for doing coordinated async IO in python that addresses some of the scheduling and resource contention issues hinted out in the later part of this post. It's called cellulario in reference to containing async IO mechanics inside a cell wall..

        https://github.com/mayfield/cellulario

And an example of using it to manage a multi-tiered scheme where a first layer of IO requests seeds another layer and then you finally reduce all the responses..

        https://github.com/mayfield/ecmcli/blob/master/ecmcli/api.py#L456

<comment><USER6> This looks really promising. I've often wanted to be able to do exactly this: run a bunch of async code in the middle of an otherwise synchronous block (classic example: writing a Django view which fires off a bunch of parallel HTTP API requests and continues once all of them have either returned or timed out).

<comment><USER5> That's almost exactly the use case I began with. It unapologetically requires python 3.5+ but if you're already there I'd be happy to see and support some of your use cases. Hit me up on github if you want to try it and need some guidance (the docs are nonexistent).

</comment></comment></comment><comment><USER7> I really keep wishing that there would be benchmark comparisons of asyncio/aiohttp with gevent/python2 . Performance would be a killer reason to migrate immediately to Py3.

What I suspect though is that asyncio is not all that better than gevent. Can someone correct me on this?

<comment><USER8> Is there anything inherent to Python3 that is slower than Python2? Or is it just some of the performant packages still have not been ported to Python3?

<comment><USER7> i keep looking for a reason to switch to python 3 and cant find one. Plus if I want to use the cool stuff in Pypy.. then I better not !

overall - very less reason to consider Py3 at all. Performance would have been one - if there were a comparison between gevent and asyncio.

<comment><USER9> >i keep looking for a reason to switch to python 3 and cant find one.

Unicode? Not having to deal with encoding all over the place has been well worth switch to Python 3. If performance is a a huge issue, I honestly don't know why you would stay on Python (regardless of version)

I wouldn't want to switch back to Python 2.7 is I can avoid it. There's honestly no reason not to go with 3.4 or 3.5 at this point, unless you happen to have a large Python 2 code base.

<comment><USER10> This is a superficially trivial bit of syntactic sugar, but an example of the way small tweaks can provide big impact. This:

        > do_something(*some_args, *some_more_args)

is rocking my world right at the moment. That's a massive time saving feature I've been waiting for and worth the price of a 3.5 upgrade.

<comment><USER11> Oh cool, I didn't know about this!

</comment></comment></comment></comment></comment></comment><comment><USER12> The 1 million in the title is misleading (1M per hour is nothing to write home about, only 278/sec). There are frameworks that are able hit 1M per minute plus (16,666/sec).

<comment><USER13> 1M per minute it is something. Could you name those frameworks?

<comment><USER14> Elixir is the name I see thrown around the most when it comes to stuff like this: [http://www.phoenixframework.org/blog/the-road- to-2-million-w...](http://www.phoenixframework.org/blog/the-road-to-2-million- websocket-connections)

</comment></comment></comment><comment><USER15> Does anyone enjoy doing async work in python? I've done a few hobby projects and honestly I was yearning for javascript + async lib after awhile. As great as python is maybe we should _yield_ async programming to the languages designed for it?

<comment><USER16> This is a genuine question: in what ways is Python's async implementation lacking? Could it have been baked in a better way?

In what ways do languages that were supposedly designed for async programming different than Python?

Python is definitely lacking an elegant interface for async programming.

<comment><USER17> I think that Python 3.5 now has a very elegant interface for async programming. I prefer Tornado to the standard library's asyncio, but the new keywords are nice for both packages (disclaimer: I'm the maintainer of Tornado).

The downsides have nothing to do with the design of the language. The problem is that introducing a new concurrency model late in a language's life splits the ecosystem. Most existing packages are synchronous, so if you want to build asynchronous systems you must avoid packages like requests, django, or sqlalchemy and find (or develop) asynchronous equivalents for the functionality you need.

Javascript has an advantage here not because the design of the language is especially well-suited for asynchronous programming, but because it never went through a synchronous/multi-threading phase. Every javascript package is designed for asynchronous use.

<comment><USER18> Yeah, my biggest complaint personally is that combining multithreading and async is a massive pain in the ass. Now, realistically, you aren't usually going to want to do that, except if you have multiple event loops, or are bridging between external synchronous code and internal async code. Otherwise, I really enjoy async python -- of course, I'm also the kind of person who has written my own event loops using synchronous code before, so maybe I'm just crazy like that.

</comment></comment></comment></comment><comment><USER19> I'm the CTO at KeepSafe. We open sourced aiohttp.

We wrote aiohttp for our production system. We build everything on aiohttp. In our production systems we constantly run more request then in the benchmark with business logic on each request.

The main reason we like aiohttp a lot if that you we can write asynchronous code that reads like synchronous and does not have callbacks.

</comment><comment><USER20> IMO you should place all requests within a single ClientSession().

This will provide two benefits:

1\. You won't need to use a semaphore. To limit connections you will need to create a TCPConnection() object with limit set to the limit you used in the semaphore and pass it to the ClientSession() and aiohttp will not make more connections than the limit set (default behavior is to have unlimited number of connections).

2\. With single ClientSession(), aiohttp will make use of keep-alive (i.e. it will reuse same connections for next requests, but it will keep at most the limit of connections you set in TCPConnection() object).

This should improve performance further, and (given sane limit) it'll also solve issue with "Cannot assign requested address" error.

BTW: Even without limit set aiohttp will try to reduce number of connections open so it might still fix the connection error issue as long as individual requests don't take long. It's still good idea to set limit, just to be nice to the remote server.

</comment><comment><USER18> First off, awesome to see more benchmarks (even if it's just personal experimentation) for synchronous vs asyncio performance. I think the real argument for asyncio _right now_ is that it makes it very easy for you to write extremely efficient code, even for hobbyist projects. Even though your experiment is only handling 320 req/s, that you were able to do that so quickly and with very, very little optimization is, I think, a testament to the potential for asyncio.

Some pointers:

The event loop is still a single thread and therefore subject to the GIL. That means that at any given time, only one coroutine is running in the loop. This is important for several reasons, but probably the most relevant are that

1\. within any given coroutine, execution flow will always be consistent between yield/await statements.

2\. synchronous calls within coroutines will _block the entire event loop_.

3\. most of asyncio was not written with thread safety in mind

That second one is really important. When you're doing file access, eg where you're doing "with open('frank.html', 'rb')", that's something you may want to consider moving into a run_in_executor call. That _will_ block the coroutine, but it will return control to the event loop, allowing other connections to proceed.

Also, more likely than not, the too many open files error is a result of you opening frank.html, not of sockets. I haven't run your code with asyncio in debug mode[1] to verify that, but that would be my intuition. You would probably handle more requests if you changed that -- I would do the file access in a run_in_executor with a max executor workers of 1000. If you want to surpass that, use a process pool instead of a threadpool, and you should be ready to go, though it's worth mentioning that disk IO is hardly ever cpu- bound, so I wouldn't expect you to get much performance boost otherwise.

Also, the placement of your semaphore acquisition doesn't make any sense to me. I would create a dedicated coroutine like this:

        async def bounded_fetch(sem):
            async with sem:
                return (await fetch(url.format(i)))

and modify the parent function like this:

        for i in range(r):
            task = asyncio.ensure_future(bounded_fetch(sem))
            tasks.append(task)

That being said, it also doesn't make any sense to me to have the semaphore in the client code, since the error is in the server code.

[1] [https://docs.python.org/3/library/asyncio-dev.html#debug- mod...](https://docs.python.org/3/library/asyncio-dev.html#debug-mode-of- asyncio)

<comment><AUTHOR> Thanks for feedback.

> You would probably handle more requests if you changed that -- I would do > the file access in a run_in_executor with a max executor workers of 1000.

This is really good point. I'm going to check this and edit post adding this information there.

> Also, the placement of your semaphore acquisition doesn't make any sense to > me. I would create a dedicated coroutine like this:

looking into my semaphore code next day after writing it I do wonder if I'm using it correctly. I assumed it works correctly because it fixed my "too many open files" exception, so it seems to mean that I'm no longer exceeding 1024 open files limits. Can you clarify why you think my use of semaphore does not make sense and why your suggestion is better? What is the benefit of dedicated coroutine?

> That being said, it also doesn't make any sense to me to have the semaphore > in the client code, since the error is in the server code.

I admit that I focused more on my client than server. One thing that worries me about my test server is that it does not print any exceptions. Either it does not fail at all, which seems unlikely, or it fails silently, which is more likely and is bad. So I need to check my server code to see what exactly happens there.

> it also doesn't make any sense to me to have the semaphore in the client > code, since the error is in the server code.

main reason for semaphore in client code is that it should stop client from making over 1k connections at a time. My logic here is that if client wont make 1k connections at a time - server wont receive 1k connections at a time and thus there will be no problem of too many open files on server (it won't have to send more than 1k responses). However I see that this logic may not be totally correct, other comment points out that it's possible for sockets to "hang around" after closing: [https://news.ycombinator.com/item?id=11557672](https://news.ycombinator.com/item?id=11557672) so I need to review that and edit post.

> [https://docs.python.org/3/library/asyncio-dev.html#debug- > mod...](https://docs.python.org/3/library/asyncio-dev.html#debug-mode-of- > asyncio)

this looks really great, will look into this thanks.

<comment><USER18> No problem, it's especially hard to find external feedback for side projects and experiments so I try to give it when I can.

> I assumed it works correctly because it fixed my "too many open files" > exception

It works, so at the end of the day that's what matters. The client vs server question, from my perspective, ultimately comes down to a question of test realism; in a real-world deployment you couldn't limit connections with client-side code because there are multiple clients. That's what I mean by "it doesn't make sense given that the error is server-side".

> Can you clarify why you think my use of semaphore does not make sense and > why your suggestion is better? What is the benefit of dedicated coroutine?

I'm saying that mostly, but not exclusively, from a division of concerns standpoint. You're acquiring the semaphore in a completely different context than you're releasing it. On the one hand, that's partly a programming style issue. On the other hand, it can also have some really important consequences: for example, it's actually the event loop itself that is releasing the semaphore for you when the task is done. Because of the way the event loop works, it's hard to say exactly when the semaphore will be released. You want to hold it for the absolute minimum time possible, since it's holding up execution of other connections in the loop. Putting it into a dedicated coroutine makes it clearer what's going on, makes it such that the acquirer and releaser of the semaphore are the same, and means you are definitely holding the semaphore for the minimum amount of time possible (since, again, execution flow will not leave any particular coroutine until you yield/await another). In general I would say that releasing the semaphore in a callback is significantly more fragile, and mildly to moderately less performant, than creating a dedicated coroutine to hold the semaphore and handle the request.

Does that all make sense?

> Either it does not fail at all, which seems unlikely, or it fails silently, > which is more likely and is bad.

That's a fair statement, I think. As an aside, the print statement is slow, so keep that in mind. It might actually be faster to have a single memory-mapped file for the whole thing, and then just append the error and traceback to the file. The built-in traceback library can be very useful for that. That's also a bit more realistic, since obviously IRL you wouldn't be using a print statement to keep track of errors. On a similar note, because file access is so slow, you'd be best off figuring out some way to remove the part where the server accesses the disk once per connection entirely. On a real-world system you'd possibly use some kind of memory caching system to do that, especially if you're just reading files and not writing them. That allows you to use a little more memory (potentially as little as enough to have a single copy of the file in memory) to drastically improve performance.

<comment><AUTHOR> > Does that all make sense?

yeah it does make sense.

> in a real-world deployment you couldn't limit connections with client-side > code

yeah that's a very good point. But in a real world scenario handling this would not be that easy. Limiting number of available connections on the server side is not a trivial task to implement. Setting your server to avoid failures and simply return either 503 service unavailable to some clients or 429 (too many conns) to others would probably require quite a lot of coding. It's also not very clear to me how this would be implemented, how do people implement things like this? Just putting some check for number of open files before line that opens file and setting response code to 500 and 429 before opening file? This would only stop server from opening to many "html" files, but would not stop server from getting flooded with connections. Is my aiohttp app even the right place to add checks like this? Wouldn't it be better to use haproxy or nginx or some other load balancing service in front of aiohttp app and let it handle too much traffic?

Other thing that comes to my mind (need to check this later) is that perhaps some partial "handling" of cases like this could/should be implemented in aiohttp library. I'm not sure how it behaves now, but maybe it should simply fail to open file, return 500 to the client, and print noisy traceback about open files to my logs? I didnt see this behavior when doing my tests, so either it didn't occur, is not implemented in aiohttp, or it occurrred and I somehow missed that. From my experience with Twisted I know that this is how Twisted resources behave, if you have some unhandled exceptions twisted just returns 500 to client and show traceback in logs.

<comment><USER18> Keep in mind that 5XX error codes are for server errors and 4XX codes are for client errors. Returning 429 would imply "too many connections (from your computer)", not total for the service. Choosing to return a 503 for over-taxed servers is, as far as I can tell, done maybe half the time. Depending on the kind of service you're running, you might want to enforce a server timeout that says "after a certain number of milliseconds of local response time, return a 5XX error code and abandon the connection". That would be a particular component in an overall strategy for handling high load, which would heavily bias towards serving the easiest responses first. That may or may not be a good idea: what if the "expensive" requests are from paying customers accessing account pages, and the "inexpensive" ones are from a sudden spike in traffic to your homepage due to some good press somewhere? Of course eventually, you'd want to separate these two kinds of traffic entirely, such that customers are only affected by outages that they create. You can then focus on expanding your capacity to handle customers directly, instead of trying to lump that in with the much more unpredictable behavior of general web traffic.

> Just putting some check for number of open files before line that opens file > and setting response code to 500 and 429 before opening file?

So actually this is one of the big benefits of putting the semaphore limiting file access within its own dedicated coroutine (except on the server side instead of the client). It allows you to handle the connection without having to deal with immediate responses. What that means in practice is that your server will be slower to respond under high load, but until it hits the client's (browser) timeout limit, you'll still be able to respond. It actually doesn't require any extra code to do that. Note that this isn't the only way to achieve this result, but it's probably the most direct, and simplest, especially given the approach you've taken with the code thus far.

A load balancer sits on top of that, ideally monitoring metrics like server CPU usage, memory load, or (most directly) request response time, and then shifts around requests between servers accordingly, to minimize the delay incurred in the aforementioned "wait for semaphore (or other synchronization primitive)" part.

At the end of the day, until you start hitting the limit of concurrent connections that others have mentioned, you don't really actually need to worry very much about how many connections you have open at once. You just want to focus on handling every connection you have as quickly as possible.

</comment></comment></comment></comment></comment><comment><USER21> Looks pretty interesting to do async on python. I once did something similar in node (async by default) with a few lines of code. I think I scraped 12 or 20 million real URLs in 8 hours on a $5 cloud VM. It was limited by network bandwidth.

</comment><comment><USER22> "Everyone knows that asynchronous code performs better when applied to network operations"

Ummm that seems a bit far reaching.

<comment><USER23> It depends on what "network operations" you are trying to do.

For high-concurrency purposes, asynchronous programming is far more scalable (see: epoll/kqueue + state machines).

For high-throughput, low-concurrency operations, it doesn't matter as much.

<comment><USER22> I happen to know of a very major tech company who scale is insane yet their core c++ code is based on highly tuned blocking threads. It's not a given that async is the only way to scale.

</comment></comment></comment><comment><USER24> 1,000,000 requests in 52 minutes is just 320 req/sec.

Am I missing something? What's so amazing about this?

I just deployed some production feed that serves at 1955 requests/second on a cheap VPS in freaking PHP, one of the slowest languages out there.

<comment><USER25> Why you say is not amazing? Honestly curious here :)

<comment><USER24> Because it's trivial.

I would be interested in anything doing 10,000+ req/sec on a cheap VPS. 320 is nothing.

People achieve 2 million requests/second with C++ on EC2:

[https://medium.com/swlh/starting-a-tech-startup- with-c-6b5d5...](https://medium.com/swlh/starting-a-tech-startup- with-c-6b5d5856e6de#.38xs3etwg)

<comment><USER26> Absolutely excellent article. I always keep C++ at the back of my mind in case I need it some day, so I think the list of libraries they used will be useful for me in the future. Thanks.

<comment><USER27> If you want to write fast C++ Web services I recommend a look at Seastar: [http://www.seastar-project.org/](http://www.seastar-project.org/)</comment></comment></comment></comment></comment>


Ask HN: Financial modeling quants at this site? - <AUTHOR>

My first post here - so apologies if I break any protocols inadvertently.<p>Are there any financial modeling quantitative types over here? I am working on an idea (at a very early stage - hence nothing substantial to post) and was wondering if folks who model investment decisions based on analysis of historical data visit this forum. I am a novice in this area as well :) <comment><USER2> I know a few people on HN who are _interested_ , but probably not thaaat much ahead of you. For example, I find the idea quite itneresting myself and have considered getting more intimate with quantative trading software, but have yet to get around to actually doing anything. I do love complex event processing (CEP) distributed computing type projects though. They intrigue me :)

<comment><AUTHOR> Please feel free to send me a message (just put my linked in my contact details). Ideally speaking I am looking for someone who has direct experience in financial modeling

<comment><USER2> Well, I'm far from your ideal contact, since I have no experience besides an interest in such systems from a technical point of view.

</comment></comment></comment><comment><USER3> I am and have spoken with a few others from here that are as well. You should put your contact info in your profile

<comment><AUTHOR> Hey - I don't see much info about you either on your profile:)

Anyways, I put my linked in info - feel free to contact me. IF you do not mind giving me contact info of folks at HN who are interested, please do so. Thanx!

</comment></comment><comment><USER4> I've applied economics to historical and current data to discover where markets were mispricing assets. But for myself, as a hobby. Not sure what you're looking for but might be able to point you to a source of info...

<comment><AUTHOR> i am looking for historical data "easily" digestible by software. As far as I know it is not there (not for free for sure).

I am trying to evaluate an idea based on financial modeling but I am not ready yet to share it (not out of secrecy but out of doing some basic research first:))

<comment><USER5> yahoo finance has a bunch of downloadable stuff. a lot of folks use that to get started...

<comment><AUTHOR> Hi Adrian Just glanced through your profile and was wondering if it is kosher to contact you with a gist of my idea. I think you are overwhelmingly qualified to give some sane advice to me:)

<comment><USER5> Sure, feel free to drop me a line!

<comment><AUTHOR> Done - thanx!</comment></comment></comment></comment></comment></comment>


Ask HN: "Mobile first" strategy - <AUTHOR>

Mobile first seems to be a trendy and hot buzzword for new startup strategy. I wanted to know if anyone could elaborate on where this came from, what it actually means, or share resources on the topic like blog posts. Thanks <comment><USER2> Mobile first is a pattern for responsive design where you start with the lowest common denominator, the phone, and make sure the experience works and then you enhance it as the resolution goes up. Personally, I do it the other way around. Mobile first restricts you and doesn't let you see the whole picture IMO. If you want the best experience start with the best device, the desktop.

</comment><comment><USER3> Like forgingahead said - Ignore it. It may sound cliche but don't follow trends, follow real data.

</comment><comment><USER4> Ignore it -- just build for what your customer base uses.</comment>


Travel wisely, use a phone - <AUTHOR> http://blog.vox.io/post/11696763316/travel-wisely

<comment><USER2> Since there is still no carrier that provides reasonably priced global plans (including data) this looks like the next best thing to me.

I think we will add our vox.io profiles to our business cards when we order the next batch.

<comment><AUTHOR> :) thanks! vox.io profiles are soon to become even more useful, so stay tuned. And our iPhone app is just around the corner.</comment></comment>


Mozilla fixed a 14-year-old bug in Firefox, Adblock Plus uses less memory - <AUTHOR> http://venturebeat.com/2015/09/23/mozilla-fixed-a-14-year-old-bug-in-firefox-and-now-adblock-plus-uses-a-lot-less-memory/ <comment><USER2> Great for everyone still using Adblock Plus. The rest of us switched to uBlock Origin and never looked back.

<comment><USER3> I switched back to ABP when uBlock started universally blocking Sourceforge. I understand Sourceforge has engaged in a number of very shady practices lately, but I need Numpy for my job and I don't have time to work around nanny software.

<comment><USER4> uBlock didn't start to universally block sourceforge, they just added sourceforge to their "uBlock filters - badware risks" list, which is justified imo. If you don't want this behaviour, just disable the list.

<comment><USER5> I'm always happy with the reminder that I happened to follow a link to sourceforge. I don't need anything there..

</comment></comment></comment></comment><comment><USER6> I like how 10 years passes between comment 4 and 6 in Bugzilla: [https://bugzilla.mozilla.org/show_bug.cgi?id=77999#c4](https://bugzilla.mozilla.org/show_bug.cgi?id=77999#c4)

<comment><USER7> And this comment should be a classic:

      Peter 2001-12-01 13:07:33 PST

      Will this really land by Dec 11?

<comment><USER8> Developers are an optimistic breed. Hard bug to fix :)

<comment><USER9> The author of comment 3 there was a manager, if I recall correctly. Which I may not. It's been a while.

</comment></comment></comment></comment><comment><USER10> ABP memory usage in Chrome made me switch to router-level ad blocking. Added bonus: it works on mobile too. I have weird page renderings sometimes, and whitelisting a legit site is a pain, but it's overall a huge value to off-load the blocking to the router.

<comment><USER11> Do you have any documentation on this? It's something I've been interested in setting up.

<comment><USER12> That depends completely on the router software that you use. You will need to use a custom firmware like dd-wrt, tomato, openWRT, etcetera.

I run it here on tomato and use something similar to: [http://www.linksysinfo.org/index.php?threads/auto-dl- hosts-f...](http://www.linksysinfo.org/index.php?threads/auto-dl-hosts-file- and-install.21378/)

<comment><USER11> It's safe to assume I have a standard Linux system. I have an Ubiquiti EdgeRouter now, and a few regular x86_64 always-on systems behind it I can proxy traffic through if necessary.

</comment></comment></comment></comment><comment><USER13> July discussion: [https://news.ycombinator.com/item?id=9809384](https://news.ycombinator.com/item?id=9809384)

</comment><comment><USER14> This amused me - about twenty minutes ago I'd noticed Firefox using _way_ less memory that it usually does, but thought nothing more of it.

Jung would have something to say about synchronicity, I'm sure.

</comment><comment><USER15> Not really a bug, more of an enhancement.

<comment><USER16> This is Mozilla jargon. Anything that is tracked in Bugzilla is a "bug". I've opened bug in Bugzilla to change the chair at my desk, for example (I work at Mozilla).

<comment><USER17> > Status: RESOLVED, VERIFIED, CLOSED Content: chair

> Zarro Boogs found.

I don't know what I expected -- there's no "Other > Desk furniture" in the products list of the public Bugzilla....

<comment><USER16> We've since switched to another system, bugzilla was apparently a bit hard to use for non-technical people, and the new tool has better workflow management features.

</comment></comment></comment></comment><comment><USER5> Does it have a benefit on something else than ABP?

<comment><USER18> There are minor benefits without ABP. For each page/iframe that is created, we can avoid running the CSS cascade (and share those data structures) for the UA style sheets. It's saves something like 100 KiB per document.

If other add-ons insert a common style sheet into all documents (it's plausible Stylish does something like this? though I've never checked) then we'll again be able to avoid running the cascade and having duplicate data structures for the cascade across different documents.

<comment><USER19> I just wanted to take the time to thank you for fixing that bug. Since I keep dozens of tabs open all the time, the memory consumption of FF has caused me a lot of pain (the browser gets really slow if it crosses 2.5GB real RAM consumption).

So, you just made my life better, thanks :)

<comment><USER18> Cheers!

</comment></comment></comment></comment><comment><USER20> I honestly use use Ghostery which blocks all trackers. It prevents a lot of ads from loading/working because they often have to redirect to serve me the right one (which Ghostry prevents). Waaay less of a resource suck.

</comment><comment><USER21> Does anyone know if it's worth switching back from uBlock for?

<comment><USER22> I updated the benchmarks (I published first back in March) for Firefox 41 and Chromium 45. Results: [https://github.com/gorhill/uBlock/wiki/Firefox- version:-benc...](https://github.com/gorhill/uBlock/wiki/Firefox- version:-benchmarking-memory-footprint#results)

<comment><USER23> Any info on Adblock Fast[1] ? They advertise as being lightweight with only 7 rules and I wonder how they compare to uBlock Origin (I'd still choose Origin because of the customization options).

[1] [http://adblockfast.com/](http://adblockfast.com/)

And thank you for making browsing the Internet awesome.

<comment><USER24> It's snake oil. The 7 rules are 7 lines of many many rules. Stay clear of anyone making such misleading marketing claims!

<comment><USER23> Well yes, I'm aware it's highly suspicious, just didn't want any name calling. Just wanted to see the authors opinion about it and if he ever tested it out, or will in the future, specially if they claim such bold enhancements regarding ABP. If anyone can comment on this topic, it's gorhill.

<comment><USER22> Adblock Fast is like BluHell -- last time I looked into it, the seven huge regexes were a direct import from BluHell. I ran a mini-benchmark for which I reported the results here:

[https://news.ycombinator.com/item?id=10198994](https://news.ycombinator.com/item?id=10198994)

uBlock Origin itself has higher memory footprint, but given that it blocks more (using default settings), on average it will cause web pages to consume less memory, so eventually with many tab opened, uBlock Origin may end up being more efficient than Adblock Fast memory-wise.

</comment></comment></comment></comment></comment></comment><comment><USER25> I don't see any percentage-wise memory savings in the article or here in comments. How big a difference does a couple of MB per document make?

<comment><USER9> Depends on the documents and how many there are.

On your typical 50-100MB web-appy page (e.g. gmail) a couple MB is a few percent.

On about:blank, which is normally a few hundred KB, a couple MB is several thousand percent.

So if a page has lots of subframes and those subframes don't have much in them, you get large wins. The canonical things that have lots of subframes are techcrunch and the like, which have "like" buttons for several different social networks and whatnot all over them. Each of those "like" buttons is a separate iframe. [https://bugzilla.mozilla.org/show_bug.cgi?id=988266#c7](https://bugzilla.mozilla.org/show_bug.cgi?id=988266#c7) has some relevant numbers for techcrunch; the difference there was 300MB vs 520MB or so (which means that the page has about 100 iframes, of course).

</comment></comment><comment><USER26> I really prefer Ghostery. Gives a much better analysis of what's being blocked, with fine grain controls, and much nicer UI.

I haven't measured the memory consumption, but I havent had any noticeable issues so far.

<comment><USER27> My one huge problem with Ghostery is that it doesn't appear to provide any way to pinpoint the source of an ad. I only want to block intrusive ad providers, but the only way to go from "see an annoying ad" to "block its provider" in Ghostery is to play trial-and-error with potentially dozens of different trackers, blocking and reloading one at a time until the offending ad goes away. In ABP, you could do this with a couple of clicks.

Am I missing something?

<comment><USER28> personally i dont wanna keep "acceptable ads" because I believe there is no such thing. its unsollicited and always in my face => its an ads, and it annoys me - and im not even going to buy the product behind it.

thus, i find ublock (for ex) much simpler to deal with than ghostery.

<comment><USER27> So what you're saying is that you don't have an answer to my question, but you're not going to let that stop you from replying.

</comment></comment></comment></comment><comment><USER29> yup, it's totally fixed now [https://i.imgur.com/tnys5oB.png](https://i.imgur.com/tnys5oB.png)

<comment><USER30> PEBKAC in your case?

<comment><USER29> I have a reasonable number of tabs open. Besides that, I don't see how this could be my fault (except through plugins installed, but about:addons-memory does not show anything suspicious).

</comment></comment></comment><comment><USER31> Someone needs to get in there and do better bug prioritization...

<comment><USER32> It could be you! ;)

[https://careers.mozilla.org/en- US/position/ooIv1fwm](https://careers.mozilla.org/en-US/position/ooIv1fwm)

</comment></comment><comment><USER33> Hopefully they could also get around to fix the usability bug where the back button on the right click menu disappear if anything is selected...

<comment><USER34> Wow, that's quite weird. Not just the back button but refresh, bookmark (star icon), Save Page As ...

As I type this comment, I'm noticing that you get almost this same reduced context menu when you right click on the edit box (with additional items like Paste and Check Spelling).

Maybe the intent is that you don't unintentionally reload the page or back out when you're selecting.

But then Backspace will navigate back regardless of whether you have a selection, and the main navigation bar's back button also works.

<comment><USER35> It's been that way in Firefox for as long as I can remember (user since Firefox started). I believe the actual intent is that the right click menu is a "context" menu and not a shortcut menu. In this, case, the context is that you have text highlighted. Without a selection, the context is the page.

<comment><USER36> Agreed, It seems to work the same way in Chrome as well. I'm not sure what the problem is?

<comment><USER33>
      It seems to work the same way in Chrome as well. I'm not sure what the problem is?

The problem is for some of us (fast typist/clickers) it breaks consistency.

Suddenly, out of the blue, for no good reason, the user interface changes and my plan of action fails. No big deal but it is part of death by thousand papercuts.

The reason is so non-intuitive that people has made it all the way to reporting it on bugzilla[0] without clear steps to reproduce..! .

A second unrelated problem with your argument: "... It seems to work the same way in Chrome as well". For some of us FF/FF-flone users that is not a very convincing argument. : )

[0]: [https://bugzilla.mozilla.org/show_bug.cgi?id=1144394](https://bugzilla.mozilla.org/show_bug.cgi?id=1144394)

</comment></comment></comment></comment></comment><comment><USER33> Hopefully they could also het arpund to fix the usability bug where the back button on the right click menu disappear if anything is selected...</comment>


Major Grooveshark Security Flaw - <AUTHOR> http://varunsrin.posterous.com/35765306

<comment><USER2> Thanks. This is getting fixed now. -chris from grooveshark.

<comment><USER3> My commendations. This is exemplary behavior. Prompt and courteous. Addressing the problem rather than blaming the person who exposed it. I wish others were such a pleasure to work with.

Great product _and_ great attitude!

</comment></comment><comment><USER4> This is terrible...something must be done post haste

</comment><comment><USER5> damn that's a serious flaw!! hope they fix it soon or else it's gonna become a storm...

</comment><comment><USER6> This is fixed.

</comment><comment><USER7> Shouldn't their priority be _not_ encouraging illegal uploads of music they don't have the rights to stream and then making money off of those streams?

<comment><USER8> Actually, Grooveshark has a licensing agreement with EMI and is talking (I'd assume) with the other major labels about licensing.

<http://en.wikipedia.org/wiki/Grooveshark#Legal_issues></comment></comment>


Don't the Rich Deserve to Keep Their Money? (2016) - <AUTHOR> https://www.jacobinmag.com/2016/04/tax-the-rich-capitalism-marx-socialism/ <comment><USER2> This idea that wealth is somehow related to creating value, and these kinds of incentives are necessary in order to induce people to do this kind of work, is a deliberate marketing ploy, and a fairly recent one at that, pretty much dating back only to the 1970s or so. Before that, the kinds of professions we today associate with being "rich and famous" (as if these two things were inherently related to each other somehow) -- actors, sports players, inventors -- were not particularly well paid. Before the 19th century, there was no such thing as a professional athlete. There were professional actors, but that was considered a borderline dishonorable profession. The history of invention since the industrial revolution is chock full of people who made important technological or scientific breakthroughs who never made a dime off their work. Most early science was done by people who were already rich, mostly through inherited wealth, or people who, like today, had wealthy patrons. The truly rich were, still are, and have always been, the ones in a position and with the inclination to bend the system to their advantage by whatever means they could.

<comment><USER3> > _Before the 19th century, there was no such thing as a professional athlete. > There were professional actors, but that was considered a borderline > dishonorable profession._

And that changed with TV (and cinema).

In the 19th century an actor can play in front of one or two hundred persons each day at most. Now a good movie can be played in front of millions of persons. The same changes applies to sports.

<comment><USER4> It's not that different today the vast majority of actors today are not rich or even well paid. A list actors are and that hasn't changed at all.

Historically "traveling" actors were often looked down on not that differently than say street performers or your Hollywood "acting waitresses" that gets a few gigs a year as an extra.

However the historical equivalent of A list actors would be acting groups like [https://en.m.wikipedia.org/wiki/Lord_Chamberlain%27s_Men](https://en.m.wikipedia.org/wiki/Lord_Chamberlain%27s_Men) or [https://en.m.wikipedia.org/wiki/Lord_Strange%27s_Men](https://en.m.wikipedia.org/wiki/Lord_Strange%27s_Men).

And even in the 16th century many famous actors became very wealthy take the likes of Edward Alleyn and William Knell for example.

</comment></comment></comment><comment> nv-vn My other comment got deleted cause this was flagged while I was typing it. As someone who disagreed with the premise of the article, I'm ashamed that someone else would partake in censorship of this opinion. HN is not for one side or the other, and the expectation coming into HN should not be only finding people who agree with you. I'm certain that most of HN's audience disagrees with Paul Graham on fundamental political issues (including the fact that he disagrees with this very opinion in the article), and yet that hasn't turned HN into an ideological echo chamber where everyone disagrees with him. Flagging should be saved for spam or flame wars, not routine discussion of political issues relevant to startups.

<comment><USER5> I have been flagged for similar posts before. It's a shame so many people use it as a mega-downvote button

</comment></comment><comment><USER6> That tagline made me cringe. Redistribution of wealth is not just about enjoying the fruits of someones labor.

It's about giving a larger group of people the chance to use those resources and that safety net to contribute back to society and maybe even become one of those super rich whom the article is talking about.

I agree with the author that the people on the top aren't different than everybody else. They just managed to get to the top. Those skills and that drive can be found in people of all social layers.

So it's not about getting to the top. It's about getting there by contributing back to society.

Most of the article seems to try and justify taxes. I'm sorry the climate is so bad that taxes need to be justified.

Where I'm from in Europe we see a lot of young entrepreneurs and musicians mostly because we have a strong safety net. You can drop out of school and focus on your music without living homeless, and without having rich parents/sponsors.

Then you can change your mind and go back to school without falling into massive debt.

This gives more people the chance at making something of themselves and thereby contributing back to society at some point. Instead of harshly casting them out of society with crippling debt or just living hand to mouth for the rest of their lives.

<comment><USER7> I don't see that Europe produces more/better entrepreneurs/musicians than say the US.

Maybe they have a less stressful life and feel better.

<comment><USER8> There's a bunch of statistics that show the US is not particularly entrepreneurial.

The US does have very high levels of VC investment, a large single market with (often) consistent regulation and language, and this helps startups survive more than they do in Europe.

I sometimes think of starting a startup back in Australia, but it always seems like a bad idea because of the lack of VC and lack of customers.

But I think the US should see this as an opportunity, if the US had better policies, we could get better outcomes than even now, because we have a lot of non-policy benefits already!

<comment> nv-vn To be fair though, a lot of the more advanced European countries have much lower corporate tax rates than the US does (or at least did). E.g. Sweden's is 22% and there's no state corporate income tax rate on top of that. In fact, the US was one of only a few highly developed countries with an above-average corporate income tax rate until the recent tax cuts, with higher tax rates than all of Europe, China, South Korea, Japan, Australia, Canada, etc. [1]. There are a lot of data indicating that low corporate tax rates do just as much if not more than low income tax rates to spur innovation/entrepreneurship.

[1] [https://files.taxfoundation.org/20170113143228/World- Combine...](https://files.taxfoundation.org/20170113143228/World-Combined- Statutory-Rates-01.png)

<comment><USER8> I don't think high corporate taxes make sense, but I'm not convinced they would have much effect on entrepreneurship. By definition they are taxes on profits, and corporations can deduct a lot more from their taxes than people can.

As someone who has considered starting a startup, corporate tax rates have never really concerned me since the biggest hurdle is just getting back a comparable salary for myself, and anything else, e.g. smoothing income over multiple years, is just gravy. I don't think this logic would be very different for more traditional small businesses either.

And even before the recent changes, effective US tax rates were not significantly different from effective EU tax rates: [https://www.cbpp.org/research/federal-tax/actual-us- corporat...](https://www.cbpp.org/research/federal-tax/actual-us-corporate- tax-rates-are-in-line-with-comparable-countries)

Also, colour-coded maps are a terrible way to make actual comparisons.

</comment></comment></comment></comment></comment><comment><USER9> At large corporations it always seemed to me the people who got promoy into the executive track were 10% people who were really good at their jobs, 90% people who were really good at convoncing their boss they were really good at their jobs.(aka managing up)

</comment><comment><USER10> It won't matter in the end, and I know people like to keep saying that it's not a zero sum game, but eventually when the ecosystems are ruined and worldwide hunger is the norm (again), they'll see that the size of the pie can't keep growing exponentially.

<comment> nv-vn I mean, if that's your logic about this, does the system even matter? If we're eventually gonna hit a stopping point that reverts us back to starvation then it seems like everything is an equally bad choice.

</comment></comment><comment><USER11> Current US tax law clearly taxes the rich more. What's more, about 85% of the taxes are paid by the top 20% [1]

When people, especially socialist, claim the rich aren't paying their fair share, it's just rhetoric.

[1]: [https://www.wsj.com/articles/top-20-of-earners-pay-84-of- inc...](https://www.wsj.com/articles/top-20-of-earners-pay-84-of-income- tax-1428674384)

<comment><USER5> 85% of the taxes are paid by the top 20% because the bottom 80% are so comparatively poor. Note that almost 40% of taxes are paid by the top 1% - knowing what the top marginal rate is, that should tell you just how much more they make than everyone else.

The article even mentions very explicitly that capitalism hinges on the state's ability to protect private property, regulate markets (tort, antitrust), and create infrastructure. Why should the people who most benefit from this system not have to contribute proportionally more?

<comment><USER12> It's actually the poor that benefit most from the system. They suffer most when there's weak law enforcement.

</comment></comment></comment><comment><USER13> Wrong question, if you ask me.

I think people should make as much as they can.

New money comes from risk. It is created at the time of lending and said risk is valued. Basically, does the loan stand a chance of being repaid?

Right now, stats vary on this, but I saw one recently citing 140 million Americans at poverty level or below.

It is very clear, regardless of where one falls on all of that, very large numbers of people, and growing numbers at that, cannot participate meaningfully in also growing numbers of markets.

Their appetite for risk is nil, as they struggle to meet basic needs. Their liquid dollars are also nil, as what comes in goes right back out. A majority of Americans cannot handle a $1000 unplanned expense.

Credit only goes so far too.

On a moral basis, I find the idea of extreme wealth on the rise, while so many people really struggle, dubious.

But, just as a matter of economics, does it not make sense most people should be able to make it, even take some risk when they are working full time?

Who will buy the stuff otherwise?

Keep the money. By all means make more. But, maybe, just maybe paying people enough to participate goes along with the deal too.

Or, if not, why bother?

Failure on the wage front, measured by people unable to make ends meet

, and or,

put another way, failure to actually make it cheaper to live, those productivity gains, greater efficiencies not playing out as real for way too many people, unable to make ends meet on basically flat wages for decades now

, both combine to limit growth, increase overall costs and risks.

These manifest as crime, over dependence on safety net programs, limits on many new products and who can afford them, and a decline in standard of living for many over time.

The basic deal on all this is improvements for everyone in return for great profit and economic freedom for those getting it done.

Great! I am a believer, except for the growing number of Americans in real economic trouble. That kind of growth is toxic. It comes with costs, qnd even larger opportunity costs.

It is all those people checking out, not buying new cars, homes, starting little businesses, not making the next best thing in their garage that will really begin to add up now.

I want the super wealthy to carry on. Go make more. It is OK.

But, I also want those people able to participate and live modest reasonable lives too. As a nation, we will be so strong, capable, innovative...

I feel strongly that somehow capping wealth will not end well. Existing wealth, if no one else does, will fight that.

As they should.

Which leaves the question of labor, which just needs more, or just needs life to actually be cheaper to make things work well.

Some portion of people will fail. I get that, and we have safety nets and such for them. They are not in discussion.

No, this is about a growing body of hard working poor. Automation is not yet able to rid us of basic labors. And we all need those basic labors done too.

...unless we want to have to do them ourselves. I do not. I can do less basic things, and I should. So should everyone here.

But, our garbage people, food handlers, cleaners, diggers, builders, etc... have families too. Our kids probably play ball together.

I have said enough.

Keep the money, make more!

But also give some thought about how it actually gets cheaper to live a modest life, with dignity, family

, or

How do we get those basic labors better funded?

Either can work, and either will improve our growth, standard of living. As more people can participate in the growing number and scale of markets, the investments in them will deliver very nice returns over time.

Seems to me those are much better questions.</comment>


Show HN: ShoHosh – Worldwide wish list on steroids - <AUTHOR> https://shohosh.com <comment><AUTHOR> This idea come to me when I saw how my girlfriend wasting time on finding things in which she fall in love in her instagram feed or somewhere in internet. She spent hours of searching but it didn't bring any results. I start to think that I was also faced with the same problem when I was trying to find table to our apartment. Some things on Pinterest were nice, but it was impossible to find them at local shops. Also it was very hard to find small manufacturers who can make it for the order. I have decided that's not very good to waste time on spending money.

TL;DR: You post what you want to buy or rent - Business and your followers get notifications and make best offer for you It saves time and money for people who can't or don't want spend time for buying things which they want.

Our problem: Is to arrive at a certain scale where it becomes interesting for suppliers to actually start spending time on prospects.</comment>


PostRank in Numbers: 2010 - <AUTHOR> http://blog.postrank.com/2010/12/postrank-in-numbers-2010/ <comment><USER2> Amazing what a team of 14 can do!</comment>


Show HN: Eddy – a chatbot that guides through the world of Product Management - <AUTHOR> http://corpeddy.com <comment><AUTHOR> Hi HN,

We are Victoria and Vitaly and we recently launched Eddy – a chatbot that guides you through the world of Product Management.

I work in Product Management and my co-founder Vitaly, who is a banker, shares my passion in this domain. Split by 7 years of product-related experience, yet we faced the same issue: when it comes to exploration of professional content, traditional approaches to search fail. The search engine's feed is overwhelming, unstructured and doesn't validate the learning outcome for you.

We examined thousands of materials on the Internet and spent long days and nights cleaning-up, curating and systemizing. First, we identified sources well-received in the Product Management community. Then we 'chained' the content into logical sequences and added hand-made quizzes. Now Eddy is here to present what we created and to help you explore the universe of product management. Eddy is not yet another course but a guide that shows you the unbiased overview of Product Management.

Eddy is our first step. We aim to scale into a chatbot-based ecosystem that combines the curation marketplace for job-related skills and corporate education needs.

Eddy helps us to validate our hypothesis – curated content helps people to up- skill efficiently. I can't emphasize enough how valuable the feedback of the HN community is for us. Also, until the Coronavirus crisis is over, Eddy is completely free.

Stay safe and start with MVP (or WUP, or MLP – all questions to Eddy), everyone.</comment>


Kaggle Kernels Compilation - <AUTHOR> https://cryptpad.fr/file/#/2/file/B4c5RwMPa6imWwVwhgt-yaE8/ <comment><AUTHOR> I made a curated list of Kernels on Kaggle that I use to study Data Science.</comment>