The economic effects of automation - <AUTHOR> https://www.singlelunch.com/2019/10/21/the-economic-effects-of-automation-arent-what-you-think-they-are/?customize_changeset_uuid=d86dd569-b17f-49f7-9f42-6f722fbf0dd6&customize_autosaved=on <comment><USER2> _When ATMs were introduced to banks in the 1980s, people thought bank tellers would quickly stop existing. Over time, each bank branch did end up employing fewer tellers. However, ATMs made it cheaper to operate bank branches, so more bank branches opened and there were eventually more bank teller jobs over all._

This comforting trend ended several years ago.

Here's a blog that plots teller employment numbers up through 2015:

[https://greatdisruption2018.com/the-project/the-parable- of-t...](https://greatdisruption2018.com/the-project/the-parable-of-the-bank- tellers/)

Here's the BLS data and outlook for the future:

[https://www.bls.gov/ooh/office-and-administrative- support/te...](https://www.bls.gov/ooh/office-and-administrative- support/tellers.htm)

Teller employment peaked in 2007 at over 600,000. It's down to 472,000 as of 2018 and projected to decline another 12% by 2028.

You need to keep following the numbers to distinguish "the prediction of technological unemployment was premature" from "the idea of technological unemployment is mistaken."

<comment><AUTHOR> Author here.

> Teller employment peaked in 2007 at over 600,000. It's down to 472,000 as of > 2018 and projected to decline another 12% by 2028.

By that point we're not talking about the effect of ATMs anymore, which were introduced in the late 1980s/early 1990s.

This effect is more likely due to online banking and banking apps. We don't know yet how this change reallocated

> "the prediction of technological unemployment was premature" from "the idea > of technological unemployment is mistaken."

Not really.

If you look at the other example (spreadsheet apps and bookkeepers) you see that even if a job stops existing, the remaining tasks get allocated elsewhere over time.

This overall dynamic is supported by the researchers in labor economics (see papers linked in the post)

This doesn't mean the transition is smooth, or even benefitial, for the job holder, but it doesn't translate to long run unemployability.

<comment><USER3> Even if the decline in teller employment is not due to ATM's, the parable still suffers if another convenience innovation came along and did kill jobs.

<comment><AUTHOR> It didn't kill jobs in aggregate -- unemployment is at its lowest in decades.

The bank teller jobs might be disappearing over time, but they'll get reallocated.

The point of the article is that that reallocation process can be painful for those affected and increases inequality.

<comment><USER4> is unemployment really as low as the reported figures?

i dont know what to think after looking at [http://www.shadowstats.com/alternate_data/unemployment- chart...](http://www.shadowstats.com/alternate_data/unemployment-charts)

<comment><AUTHOR> Shadowstats is garbage.

Their inflation index is literally the official CPI index plus a constant (~2.8 last time I looked). He's that lazy about his scam.

The maintainer of shadowstats isnt in the business of maintaining an honest set of metrics, he's in the business of selling misinformation around hard to measure things.

</comment></comment></comment></comment></comment></comment><comment><USER5> "Similarly, as tasks are automated in the modern economy (such as manufacturing tasks) workers will shift their time into other tasks like the growing service economy"

I like to call this the "lump of labour fallacy fallacy". It falls down because complete fungibility isn't actually a thing. You can't turn a dumpster diver into a brain surgeon, no matter how many hours of training you apply. As tasks are automated new jobs and tasks are created _generally at a higher skill and intelligence level_.

This excludes an increasing fraction of the workforce all of whom still need something to do of service to others for their own mental wellbeing as well as to fulfil the social contract requirement of reciprocity.

<comment><AUTHOR> > It falls down because complete fungibility isn't actually a thing.

Agreed.

Studies on those who lost their jobs in the manufacturing towns (Autor, Dorn & Hansen 2016, linked in the article) shows that losing your job to automation is a harrowing experience.

The jobs reallocate _over time_ but it's a bumpy process that can ruin the lives of those affected.

> As tasks are automated new jobs and tasks are created generally at a higher > skill and intelligence level.

Not really. Automation tends to hollow out middle skill jobs, leaving high skill and low skill jobs available.

This increases inequality.

<comment><USER6>
      The jobs reallocate over time but it's a bumpy process that can ruin the lives of those affected.

This is why broadly speaking the historical Luddite's were right, from their own perspective. It may the best thing to do for an overall economy, but pretending people won't get screwed over in the process isn't doing anyone favors.

Not addressing this fundamentally as a matter of policy is a choice. I'm not saying it is the wrong choice, just that being transparent about what that means would seem to be the best course.

<comment><USER4> > being transparent

being transparent means the admission that public policy has failed the vulnerable and those in need. I dont believe this problem will ever be "admitted to" \- and it's more likely that the gov't will let it "blow over" (read, let those who got automated out of a life to fend for themselves, and eventually they either die/find new opportunities on their own, or the family slack picks them up).

</comment></comment></comment></comment><comment><USER7> There are issues with some of the earlier points, for example:

> We automate tasks, not jobs

We automate both. One popular example is trucking. There are 3.5 million truck drivers in the US alone. And of course this is an area where complete automation is on the horizon. The tech exists, it's getting close to ready for large scale deployment and big players are working on it.

The industrial revolution comparison is apt but only to a point. The rate of innovation in tech is speeding up and our ability to automate jobs away faster than we can adapt along with it.

That said the article goes on to focus on what I think is one of the key points in the automation conversation: wealth inequality.

If we don't come up with a way to share the wealth produced by increasing automation, the current system will funnel almost all of it to the top.

<comment><AUTHOR> > And of course this is an area where complete automation is on the horizon. > The tech exists, it's getting close to ready for large scale deployment and > big players are working on it.

That's incorrect. We're really far off still from level 5 self driving cars if you follow developments in that area.

However, the major task in the truck driving job (highway driving) is automatable already. Other ones (urban maneuvering, loading/unloading, etc.) are much harder to automate.

> That said the article goes on to focus on what I think is one of the key > points in the automation conversation: wealth inequality.

I'm the author, thanks for echoing my reading on the dynamics.

People focus on an imaginary problem when a very real one is happening underneath our noses.

<comment><USER7> The rate at which we're approaching full self driving capability (especially with trucking where, for many routes, it's almost all freeway driving) is fast enough that it's safe to say those 3.5 million truckers will not be ready for the change. Even if it takes 10 years they won't be ready for it.

And that's just the easiest example. Past revolutions which have decreased the cost to provide basic needs happened considerably slower than the digital revolution is happening.

I don't think it's an imaginary problem at all. Overblown yes, I completely agree... but if that's what it takes to keep the conversation moving, I'm ok with that.

The urgency, I think, is not "all the jobs will go away tomorrow", but that it's a big enough problem that the time to start solving it is now. And unfortunately the world is really loud these days, it takes volume to be heard over the noise.

</comment></comment></comment><comment><USER8> > Any argument whose logic assumes there's a finite amount of work in the > economy is fallacious and wrong.

Finite resources says it is the case though.

</comment><comment><USER9> This is like reading a global warming denier. The earth has heated up and cooled down before. Global heating has never been catastrophic before so why would it be now?

This guy literally uses graphs and charts from the industrial revolution and and generalizes the results over to automation as a _concept_. And then he confidently states that this proves that the _concept of automation_ benefits the highly educated. Yeah, well when high level signal processing is automated that won't be true will it?

Just like global warming, this isn't a problem that can be understood by looking at localized effects in the recent past. It's a problem that can only be understood through first principles reasoning. Greenhouse gasses heat the planet. Therefore global warming is a thing. Humans are high level signal processing machines. Therefore the automation of high level signal processing will displace humans in the global market. It's just inescapable. And yet people mental-gymnastic their way out of it.

And whenever I see "alarmist" in someone's argument, it's never a strong argument. The alarmists are right.

<comment><AUTHOR> > This is like reading a global warming denier.

It's the opposite. The reading from the consensus experts is that the labor effects of automation aren't unemployability, it's worsening job prospects and increasing inequality.

Those are different things which require different solutions.

> And then he confidently states that this proves that the concept of > automation benefits the highly educated.

I'm the author. I linked to 30 or so sources in the article, most of them academic publications from the most respected researchers in the field (David Autor, Daron Acemoglu, etc.)

The article is basically a literature review and vulgarisation for laypeople audiences. It's not some theory I just came up with.

> It's a problem that can only be understood through first principles > reasoning.

3 papers by Daron Acemoglu linked to in the article do that and test their theory against recent trends to see if it holds.

<comment><USER9> Wow, hello. I'm about to clock In the for the day so I'm afraid I can't address your sources until later tonight. But in the meantime, saying that other people think this is true doesn't advance your argument in my mind. I don't care what "experts" say, although I have no problem picking it apart, because there are no experts in AI that doesn't exist yet. Nobody has first hand experience studying a real world example of what we are talking about. High level signal processing is the only thing that humans monopolize. The more of that that gets automated, culminating with AGI, the closer we are to the obsolescence of humans. It's just blindingly simple. And please don't call me an alarmist. I'm genuinely concerned here. I don't ruminate in this because it's fun.

</comment></comment></comment><comment><USER10> > Job automation underpins the explosion of economic growth we've seen since > the 1830's industrial revolution.

What underpinned the explosion of economic growth in the 1830s to 1850s was opium money we stole from china and whale blubber. What underpinned economic growth since the 1850s was oil and population explosion along with dumping large populations in small areas in order to boost consumption.

We know for a fact that automation doesn't underpin economic growth because if it did, Japan and most of europe would be the centers of economic growth. Why has automating Japan lagged so far behind china or the US since the 90s? Their population has stagnated. While China added 300 million more people and the US added 100 million people in that time, Japan added hardly any.

Here are the list of the fastest growing economies. Automation isn't the first word to come to mind when I think of many of these countries.

[https://en.wikipedia.org/wiki/List_of_countries_by_real_GDP_...](https://en.wikipedia.org/wiki/List_of_countries_by_real_GDP_growth_rate)

Economic growth is essentially population growth + moving that population to cities so that they can consume more efficiently. If automation truly underpins economic growth, that list of GDP growth rates would be led by primarily america, european nations and a few east asian nations.</comment>


California, Poverty Capital - <AUTHOR> https://www.city-journal.org/html/california-poverty-capital-15659.html <comment><USER2> The plastic bag jab is an odd thing to include. It really doesn't fit the narrative they are pushing at all.

It's a _single use_ plastic bag ban, and it was pushed to a public vote by the plastic bag manufacturers themselves as an apparent delay tactic so they could sell more bags in the interim and adapt to making recycled plastic bags. Industry and the people had their say.

[https://www.sacbee.com/news/politics-government/capitol- aler...](https://www.sacbee.com/news/politics-government/capitol- alert/article113898813.html)

<comment><USER3> Per my earlier comment, one déformation professionnelle with being a libertarian "researcher" is that your funders expect you to tie the grand principles that make your soul sing to their parochial interests. "Keep your Pigovian taxes and Coasean bargaining away from my bottom line if you value your salary."

</comment></comment><comment><USER4> The writer mentions the late 80s and 90s welfare reforms without mentioning how much the overall economy grew in the 90s, and doesn't mention that welfare itself dropped but in many ways the public assistance just changed from cash payments to other forms of assistance and that income did rise for these people, partially as a result of minimum wage increases, in Michigan at least, but not always enough to lift them out of poverty. Studies in Michigan also showed that a very large percentage of those that left the welfare system did so without obtaining work. I think to blame California's poverty mostly on welfare is more than disingenuous, it's wrong. For many of these people it's not keeping them poor, it's keeping them alive. The great disparity of wealth and income between classes is the problem imo.

</comment><comment><USER3> The article is bylined "Kerry Jackson is the Pacific Research Institute's fellow in California studies." Their Mission Statement [1] opens:

"The mission of the Pacific Research Institute (PRI) is to champion freedom, opportunity, and personal responsibility for all individuals by advancing free-market policy solutions. Since its founding in 1979, PRI has remained steadfast to the vision of a free and civil society where individuals can achieve their full potential. Put simply, public policy is too important to be left just to the experts. Individuals are the real decision makers when it comes to their schools, health care, and environment."

In other words, those funding Mr. Jackson's work have known the answers to California's problems in 2018 since at least 1979. More here: [https://www.sourcewatch.org/index.php/Pacific_Research_Insti...](https://www.sourcewatch.org/index.php/Pacific_Research_Institute)

[1][https://www.pacificresearch.org/mission- statement/](https://www.pacificresearch.org/mission-statement/)

<comment><USER5> Ad hominem. Can you address the issues?

<comment><USER3> "Those funding Mr. Jackson's work have known the answers to California's problems in 2018 since at least 1979" is not ad hominem, it's meta. Ad hominem would be "he's a jerk." PRI is a stopped clock. You are free to decide this is one of the times they are correct.

<comment><USER5> Ad hominem applied to the institution...

</comment></comment></comment></comment><comment><USER6> If we built more housing, SV would be a lot better positioned to help. Instead, they can't even move the needle on housing. Too many obstinant city councils. Much of VC capital goes to rent, as a few VCs recently lamented.

</comment><comment><USER7> Yeah, I went to a tech conference in San Francisco a few months back, it was at Moscone center.

I saw scads of homeless people, poop on the sidewalk, and heard cop cars from my hotel room all through the night.

California had better make some changes, quickly. It didn't look good.</comment>


El Paso Times censors FBI probe into DA - <AUTHOR> http://www.elpasonews.org/2012/05/03/el-paso-times-censors-own-article-into-fbi-probe-of-da-jaime-esparza/

<comment><USER2> 'The published article, that was later removed, states that District Attorney candidate James D. Lucas "asked the FBI and two state agencies to investigate his allegations against District Attorney Jaime Esparza which he had posted on a website this week".'

The story, then, was not about an FBI probe, but about a request from one candidate for office that the FBI investigate another candidate, the incumbent. I don't know El Paso politics, but could it be that the paper followed up with the requests and decided that Mr. Lucas had manipulated it into publishing an article of no substance?</comment>


Will Donald Trump send the marijuana industry up in smoke? - <AUTHOR> http://finance.yahoo.com/news/will-donald-trump-send-the-marijuana-industry-up-in-smoke-232828404.html <comment><USER2> Trump has already said in many cases that he wants to leave it up to the states, rather than the federal government. I don't see this as being any different.</comment>


The DSM may soon classify anti-authoritarianism as a mental illness - <AUTHOR> http://nestmann.sovereignsociety.com/2010/09/16/are-independent-thinkers-mentally-ill/

<comment><USER2> you're not my real dad! stop telling me what to do!

</comment><comment><USER3> people already prescribe behavior drugs for bad hair days anyway</comment>


Tablet Market: 95% iPad, 5% Everyone Else - <AUTHOR> http://www.readwriteweb.com/archives/tablet_market_95_ipad_5_everyone_else.php

<comment><USER2> Tablet market: 2% iPad, .5% everyone else, 97.5% people who will buy a tablet but haven't bought one yet. I'm not trying to be sarcastic, I really do think this is the better way to think about the market right now. A market of one credible contender is not enough to draw conclusions about what will happen when there are more. (Android will _soon_ be credible but I'm not sure it's there yet.)

<comment><USER3> The poster should have quoted both titles in the article:

"Tablet Market: 95% iPad, 5% Everyone Else; Things Will Change in Q4 2010"

</comment></comment><comment><USER4> Surely this surprises no one. The tablet market was dead for years until Apple showed us all how beautiful a tablet appliance could be. It's about to get very competitive and it will play out just like smartphones. Apple blew everyone away with the iPhone, but two years later the cloners had finally honed their game and now Apple is watching themselves get nudged towards the luxury niche they're so comfortable with.

It happened with their computers. It's happening with phones. And it will happen with tablets.

Not that there's anything wrong with that. Being an industry trend setter and purveyor of luxury computing appliances is an enviable enough existence.

<comment><USER5> _The tablet market was dead for years_

Aside from a robust but small market in PMPs (by companies like Archos), the "tablet" market is but an offshot of the netbook market: People just wanted to browse the web and consume media, and the iPad is Apple's entrant into that realm.

The Netbook market was all the rage until Apple decided to essentially hop on that bandwagon. Netbooks have suffered because the iPad is a decent competitor and brings some of the advantages of being a much lighter internet appliance of the sort that Andreeson really dreamed of.

Heck, you could even say that the iPad was a me-too entrant in the eReader market. While this has been largely forgotten, when the iPad was introduced the comparative focus, including by Apple, was against products like the Kindle and the Nook.

 _Apple blew everyone away with the iPhone, but two years later the cloners had finally honed their game and now Apple is watching themselves get nudged towards the luxury niche they're so comfortable with._

Luxury? Really?

People with McJobs have iPhones. It isn't a luxury item. Apple sells products at or below the low price end in virtually every market they touch.

They are the perfect definition of a mass-market, consumer product company.

In any case, after leveraging the huge ecosystem of iPod tie-ins and mindspace, Apple managed some good inroads into a quickly evolving smartphone market (which, it should be noted, they feared would take away from their MP3 player market). They got some good momentum, but now they're seeing vigorous competition.

</comment></comment><comment><USER6> Somewhat offtopic but I'm curious, is it possible to have a resistive touchscreen and capacative on the same tablet?

Then you get the best of both worlds, and could use a stylus for fine input, and your finger for navigation, etc.

<comment><USER7> I believe there's quite a few companies selling styluses that work with the iPad.

<comment><USER8> Yes, but it feels like you're writing with a dull Sharpie.

</comment></comment></comment><comment><USER9> When are we going to acknowledge that distinctions like "tablet" are anachronistic in the first place?

It's all about the software platform. I'm sure the folks at Google make little philosophical distinction between the Android "tablet" software and the Android "mobile" software, for instance. Nor does Apple call its iPad OS a totally different name than it calls its iPhone OS. Other than some minor cosmetic differences, the code is 99.9% the same.

Tracking share in the "tablet" market is going to seem very silly in a few years.

<comment><USER10> Mobile devices are tied quite tightly to carriers (at least in the US). Tablets are not. I think that's probably enough of a distinction to warrant tracking them as separate markets.

<comment><USER9> Fair point, though I wonder whether those dynamics will shift in the coming years -- either for or against the carriers. What's funny is that I could see the balance of power going in either direction in the US. Either way, it'll be fascinating to watch.

</comment></comment></comment><comment><USER11> Is this counting Windows? In 2008 there were 1.3 million Windows tablets sold. Not sure of 2009/2010 data. But even at 1M that puts them at much larger than 5%.

</comment><comment><USER12> "Tablets" use pens as input: the iPad is a "pad". Some may claim that "tablet" is a generic term for this form factor of device, but the correct term would be "slate". Please note that Apple never uses the term "tablet" to describe this device: not because they are being "different", but because they really don't sell a "tablet".

<comment><USER13> Wikipedia disagrees with you.

<http://en.wikipedia.org/wiki/Tablet_computer>

<comment><USER14> What's funny is that article was just a redirect to "Tablet PC" until about a month after the iPad was announced.

[http://en.wikipedia.org/w/index.php?title=Tablet_computer...](http://en.wikipedia.org/w/index.php?title=Tablet_computer&action=historysubmit&diff=349233651&oldid=41011656)

<comment><USER12> Yeah: people are redefining the term "tablet" in order to allow for market comparisons between the iPad and Tablet PCs. As far as I can tell, the iPad exists in a different market segment than true tablets: it isn't fun, however, unless you can define the world in terms of conflict.

(As another example, people are now trying to compare the $1300 (due to memory and CPU upgrades) 11" MacBook Air I just bought to the $250 HP mini (bought on a lark when my ThinkPad X61 failed during a conference), as if they were /directly/ competing for the same users.)

</comment></comment></comment></comment><comment><USER15> To be honest, all of the Android tablets I've seen so far have been underwhelming (and I'm holding out for a decent one). The Galaxy Tab isn't too bad, but it's small and overpriced. The best one I've seen is the Archos 101, and that still needs work.

I'm hoping that next year sees some decent contenders.

<comment><USER13> The reason that Android tablets don't seem to be any good is that Google never intended Android to run on tablets at all. Chrome OS is the netbook and tablet OS, while Android is the phone OS.

Android's openness lets anyone put it anywhere so of course we'll see Android tablets, especially given that Chrome OS isn't officially out yet (this month, though, right?)

Anyway, yeah, next year should have a lot of Google-related free software tablets, either Chrome OS or Android.

<comment><USER15> Naah. Galaxy Tab shows that it can be done.

The reason most of the Android tablets I've seen so far have been rubbish is that they've had resistive screens and slow processors.

</comment></comment></comment><comment><USER16> What market share does the Apple Newton have ? ;)

<comment><USER17> Completely off topic, sorry but I have to share this: Reading this comment, it clicked for the first time ever that "Apple Newton" is a pun.

Wow.

<comment><USER18> also - Pippin, Macintosh :)

</comment></comment></comment><comment><USER19> A thousand or a million people using tablets to do their 'INDIVIDUAL' thing is not at all impressive.

What would be impressive would be a thousand or a million people using tablets to work collaboratively together toward accomplishing something beneficial for everyone in the group.

From this perspective Apple has utterly failed us even as it has succeeded spectacularly for the people who work at Apple and who have Apple shares to sell to others who hope to be able to sell those shares to yet others for a greater amount of money.

<comment><USER20> "A thousand or a million people using [product X] to do their 'INDIVIDUAL' thing is not at all impressive.

What would be impressive would be a thousand or a million people using [product X] to work collaboratively together toward accomplishing something beneficial for everyone in the group.

From this perspective [company Y] has utterly failed us even as it has succeeded spectacularly for the people who work at [company Y] and who have [company Y] shares to sell to others who hope to be able to sell those shares to yet others for a greater amount of money."

It seems that by these measures you would be disappointed with any combination of product X and company Y producing it. 'Cars' and 'Ford', 'Android Phones' and 'Google', etc.. So, what was your point again?</comment></comment>


The Mechanical Keyboard Guide - <AUTHOR> http://www.overclock.net/t/491752/mechanical-keyboard-guide <comment><USER2> For UK people I heartily recommend <http://www.keyboardco.com/>

I picked up a Filco Cherry MX Brown switch keyboard a few years ago and it's still going great: <http://www.keyboardco.com/keyboard_details.asp?PRODUCT=646>

It's the right balance between tactile feedback and just a little less noise than the blue switches.

I actually need another for my workplace (the one I already have is at home), and this time around I'm going for the ninja variant when they get it back in stock: <http://www.keyboardco.com/keyboard_details.asp?PRODUCT=932>

<comment><USER3> I also own a Filco majestouch with brown switches and am the envy of my friends ;) Although it is very nice, if all you do is type, and you don't mind extra sound I can very much recommend blue switches. I've tested these at a workplace that has them for all workers and in my experience they are a bit less stiff and the feedback is just great.

<comment><USER4> I love my blues, but my girlfriend sleeping the other side of the door does not. D:

</comment></comment></comment><comment><USER5> I totally agree. The keyboard space hasn't seen any innovation in the past 30 years or more. While most of us spend hours using this old device wasting unnecessary energy, it is time for a new cost effective technology to change this. Now the important part is not the change the existing experience we have today.

<comment><USER6> You need a way to roll the tech out. We've got tons of unknown tech if you search the marketplace hard enough. For example a couple people suggest the Truly Ergonomic website. But that's never going to sell me, because I have no idea how it actually feels compared to my "current" early 90s model M.

What we need is a middleman, maybe MLM, who will do keyboard "tupperware parties" or maybe a stealth middleman under the cover of business RSI prevention consulting. In the old days I could go to compusa and try keyboards, err... and looks like best buy is failing too now... so if you want to actually try a keyboard you're pretty much limited to walmart and the apple store and they've only got one POS to try.

Its interesting how a pretty core part of the clothing retailing business model is built around try before buy, but keyboards don't allow that. If I have 14 business shirts I'll try on the 15th before buying it to "make sure" even though if I totally screw up I still only have to wear it 1/15th of the time even if it doesn't fit perfectly. Yet the keyboard that I have to use every day for hours, eh, just order the cheapest, online, sight unseen, who cares if the employee's hands rot and fall off we'll just hire another...

<comment><USER7> This is part of the reason that I have an extra Kinesis; I lend it out to friends to try and get them to consider switching from shovelware garbage.

</comment></comment></comment><comment><USER8> I feel kind of strange that my two favorite keyboards are the Das Keyboard Professional Silent (Cherry MX Brown) scissor wired USB Apple keyboard. Kind of on opposite ends of the spectrum. I'm also ok with Lenovo or Apple laptop keyboards, although they do feel a bit mushy.

<comment><USER9> We have similar preferences, but I've recently had to switch to a Cherry MX Brown from my Apple keyboard because of a hardware-level delay on the caps lock key that Apple somehow thought was a good idea. Emacs users, beware.

<comment><USER8> Am I the only Emacs user (admittedly, I don't live in it; I use the shell for more) who leaves capslock unused, and leaves control as control? What I hate is the Fn key position on the Apple Wireless keyboard, though (which strangely doesn't bother me as much on the laptops)

<comment><USER9> I'm sure you're not the only one, but for me at least, it was a no-brainer when I started using Emacs. The caps lock key requires about a fifth as much pinky movement as the control key does, and moving my pinky to the control key also affects the rest of my left hand because of the awkward angle. I almost stopped using Emacs after a day or two of trying it out before my friend told me about using caps lock.

</comment></comment></comment></comment><comment><USER10> <http://www.reddit.com/r/keyboards> is also a good community for mechanical keyboards.

<comment><USER4> Also: <http://www.reddit.com/r/MechanicalKeyboards/>

<comment><USER11> Also also: <http://geekhack.org/>

<comment><USER12> Also also also: <http://deskthority.net>

</comment></comment></comment></comment><comment><USER13> Two questions:

* How many readers on Hackernews use a Model M keyboard?

* Who uses a keyboard that is better than a Model M (if such a thing exists)?

<comment><USER7> I use a Kinesis Advantage Pro, which is a Cherry brown equipped ergonomic. It is fantastic. I used to use a Model M; also an old Sun; an old Next; a variety of boutique mechanical keyboards (the HH, among others). For a variety of reasons, I've come back to the Kinesis. I have three; I lend one out to friends and coworkers who might want to try it.

I'm largely dissatisfied with the world of keyboards; I wish there were a better way to interact with my computer, and until such a time, that people would stop just getting by with whatever garbage the OEM decides to least common denominator them with.

<comment><USER14> Assuming you write code, how do you feel about the key remapping? I have seen people complain about the location of brackets and other keys; which is enough to keep me away.

<comment><USER7> I've never noticed the brackets slowing me down; the only remaps I do are Caps to Ctrl-L (which can now be done on the Mac side) and Shift-R to Cmd.

The big problem for me is that there's no way to create new modifier keys (I spend all my time in Emacs, and having a Hyper and Super would be really nice), but that's more a HID problem than a Kinesis one. A minor irritation is that the USB hub doesn't output sufficient amperage to be useful for anything. An even more minor irritation is that sometimes the keyboard will get confused and apply a modifier lock function, but because of some weird quirk will lock Meta rather than Shift, and my windows will go berzerk. It's a trivial state to escape from (I just hit Meta and Caps), and it doesn't happen often enough to rise to the level of I MUST FIX THIS NOW.

</comment></comment></comment></comment><comment><USER15> Also of note - <http://stevelosh.com/blog/2012/10/a-modern-space-cadet/>

</comment><comment><USER16> Most of the mechanical keyboards I see are advertised as "gaming keyboards". If I bought a keyboard it would primarily be used for writing code or english text (don't see how a mechanical keyboard would improve gaming that much unless you are a 300APM starcraft fiend).

What sort of keyboard should I look for for code typing?

<comment><USER17> For coding, you're gonna be fine with literally any keyboard, including some $20 logitech piece.

Mechanical keyboards can be fun if you enjoy their feel, or if as a gamer, you're needing to be able to hit a key 5+ times per second and have it pick up each and every one. But honestly, for coding, you can get it done on just about anything, as speed isn't the necessity, planning is.

<comment><USER18> quanaut, sorry if i sound pedantic.

Here's my question - could you please share your experience with a mechanical keyboard to conclude on your statement "For coding, you're gonna be fine with literally any keyboard, including some $20 logitech piece". I am genuinely interested to know.

In my opinion, what you wrote in reply to jiggy2011 is b.s. Mechanical keyboards are good for gaming and equally good for coding (or for that matter even data entry/processing jobs). The reason is they are way more responsive and quicker than a membrane one that usually is on a laptop. It (imho) also helps in your wrist pain and is easy on fingers (as in you don't have to go pressing a key all the way down). If you have hands on a blue-cherry mechanical keyboard, try for a month and then try typing on a laptop keyboard.

@jiggy2011 - i have many keyboards of varied styles. my personal favorite is the CM QuickFire Rapid(tenkeyless and cheaper compared to others). If you are looking for the best in the class (go Filco - made in japan and flawless). Don't fall for the hyped keyboards - daskeyboard,razer,steelcase etc. They are good, but not up there in quality. Specially daskeyboard used to be good when they started out - i would not pick on any daskeyboard built after 2008. They used to make keyboards sourced from Taiwan(better quality), but now source it from an OEM from China. good luck!

<comment><USER17> My experience is that while a mechanical keyboard is more enjoyable and slightly easier, I've never once in my life gotten frustrated at some cheapo keyboard while coding. I've never needed to know the exact millisecond a key was pressed, the rebound is just fine.

Lets be honest here. Programming is not some intensive exercise. Nor should you be getting carpal tunnel as a programmer- if you are, you need to dial back the boilerplate.

I don't enjoy laptop keyboards if only because they force my palms to be raised- I have large hands, so for me it's natural to rest the bottom of my palms on the desk or even on the side of the desk, whereas on a laptop it's at an equal height to the keys- which is annoying as hell. I also dislike the shape of too many laptop keyboards, if only because they seem to prioritize style over feel and key differentiation(lookin' at you, Apple).

But this isn't intense stuff. If you're gaming, or doing high-speed data entry, or even if you're a prolific writer, you may have a real claim. But as a programmer, claiming that you need a mechanical keyboard is nonsense. They're nice, and if you want nice tools, that's okay, and I encourage you to invest. But they're not required, and they're never going to make you a better programmer.

</comment></comment></comment></comment><comment><USER19> Xah Lee has given serious thought to keyboards. Though you may find something to disagree with, this page of his articles, reviews, and images is highly informative:

<http://xahlee.info/kbd/keyboarding.html>

</comment><comment><USER20> I use a Razer Blackwidow Ultimate, with Cherry MX Blue switches, that I got for free. I love the thing though it is quite loud, loud enough to where I'll have to turn up the volume of movies or music if I'm listening over speakers instead of headphones. Also, typing on a rectangular keyboard for hours on end doesn't bother me whereas some folks may have RSI issues.

</comment><comment><USER21> In this context one should mention

<http://deskthority.net>

which holds gems like this:

<https://news.ycombinator.com/item?id=2415265>

and their wiki, which sorts this knowledge a little bit more accessible:

<http://deskthority.net/wiki/>

</comment><comment><USER22> I have a Das Keyboard with Cherry MX Blue switches. At the moment it's just gathering dust as the home entertainment centre keyboard. The sound really got annoying after using it for awhile. I couldn't type at night because of it.

I switched to the standard Apple keyboard instead. I can't type as fast on it, but it's tolerable at least.

</comment><comment><USER8> The keyboard I really want to try is the DataHand Pro II (<http://www.datahand.com/products/proii.htm>) -- but it's a bit expensive. I've used them briefly in the past, and it was interesting for typing, but didn't work as well for keyboard+mouse.

</comment><comment><USER23> An all time classic for reading.

I have just started using a mechanical keyboard a year ago or so. I had already used a few but very little and did not pay attention to the issue they were mechanical until a pro-gamer said he was playing better with mechanical keyboards than normal keyboards.

My Keyboard is one black keyswitches from SteelSeries.

</comment><comment><USER4> I am using a Ducky Shine 1 (DK-9008) with Cherry MX Blue switches. It's a lovely keyboard and I've really enjoyed using it. Definitely a keyboard I would recommend. The Shine 2 is out now, but afaik the difference is minimal. You can probably pick the Shine 1 up for a bit less now.

</comment><comment><USER24> I spent years as a technical translator. When I understood the source documents well, typing speed was the main limitation to how much money I could make in an hour, and so the keyboard I used was very important.

I discovered the key to fantastic typing under those conditions was not the mechanics of the keyboard--it was the layout of the letters.

After working at it full-time for a year or so, I started suffering wrist pain so bad I had to use voice recognition software (which sucked). I switched to the Dvorak layout and by the time I was proficient, the pain had disappeared, and I could type about 10 WPM faster. The pain never came back

It took about six months to remap my brain and muscle memory. Nowadays, it's sometimes a pain if I have to temporarily use another computer and I don't have access to the settings that change the layout. If I see that situation coming, I just bring my own keyboard to work. The only time it became a bigger problem was in a job where IT required a doctor's note before even allowing me to connect another keyboard to the computer or change the setting. I solved that problem by getting another job.

I use a keyboard that can be switched between Dvorak and normal, mainly for the convenience of non-Dvorak users who need to use my computer from time to time (This one: <http://www.typematrix.com/>), but I find the mechanics or type of keyboard (for example ergonomic or not) fades into insignificance compared to the difference between Dvorak and QWERTY.

Still, a nicely built keyboard can really improve the typing experience. My laptop is a Lenovo, and I love the feel of the keyboard on it.

I don't care what the keycaps say, because I totally touchtype. I bought the cheapest keyboard available for my Raspberry Pi, and the cheap feel is kind of annoying, but the difference between that one and the Lenovo is like between 70% and 90%, despite the quality difference, and most of that is based on having to get used to a different layout of the non-letter keys like delete and control, and not the quality of the mechanism.

I've been coding a lot these days and the work happens much more in the brain and less on the keyboard than in translation. That being the case, I think the appeal of a very high-quality keyboard for programming is probably more a matter of taste than practicality. It's like owning a Ferrari. You will never push it near its limit, but its really fun to drive.

Another consideration: programming makes very heavy use of symbols compared to text writing, and I think a true programmer's keyboard would be one that puts those symbols in easy reach.

So my keyboard recommendations to hackers would be: Find a keyboard with a layout that supports your programming efforts. Next consider what feels good and appeals to your taste. Finally, if you write a lot of text in other contexts besides coding, and if you have some time to suck at typing for six months before getting much better at it, try Dvorak. It will speed up those really long HN posts.

</comment><comment><USER25> compact G84-4100 Cherry mechanical keyboard here, $20 new off eBay ;-)

Makes a racket _if you hammer away_

Wish the cord was a bit shorter (might be 6 feet), other than that, love it, tiny little gem.

</comment><comment><USER26> Why is the Truly Ergonomic missing? I tried TEK, Kinesis Advantage and SteelSeries Keyboards, and I think the TEK is the most comforable one and I definitely love it.

I suggest that you take a look at <http://www.trulyergonomic.com>

<comment><USER27> Could you comment more on why you thought the TEK was the more comfortable one, and how does it compare to the Kinesis? I'm thinking about getting either a Kinesis, a TEK, or a Ralforce (never tried those topre switches though). I was leaning so far to the Kinesis, thinking it was the more comfortable of the three. But I never tried the TEK, so I have no way of comparing.</comment></comment>


DHH tweets about recruiter contacting for RoR dev position - <AUTHOR> https://twitter.com/dhh/status/175658131429400576

<comment><USER2> From Raganwald's new ebook, _How to Do What You Love_ :

"Recruiters are simple keyword-oriented pattern matching machines."

</comment><comment><USER3> This has happened to me before wrt software I've written. Them: "Do you have any qualifications on $FOO?", Me: "..."

</comment><comment><USER4> LOL ..finally somebody's got some balls to recruit DHH lmao !!

<comment><AUTHOR> LOL... Sr. RoR developer...</comment></comment>


Team Chat Apps and the Illusion of Communication - <AUTHOR> http://themodernteam.com/team-chat-apps-and-the-illusion-of-communication/ <comment><USER2> Interesting-sounding headline AND a seemingly custom-designed art piece to go with the story? To the top of HN we go, regardless of whether the story itself is valuable or not. (There is a lesson to be learned here for spammers, err, I mean marketing people.)

This particular story can be simplified to something that isn't a particularly new or deep insight: E-mail is asynchronous and instant messages are not.</comment>


Show HN: Rubik's Cube - <AUTHOR> http://slides.com/tobipch/how-to-solve-the-rubiks-cube-1#/

<comment><USER2> Nice job.

I used to have the solutions memorized... it helped me get a job offer once because the hiring manager left to get some water and came back less than a minute later with the cube on his desk solved. When you don't know the tricks it can be impressive when someone does that. If you know the tricks it is just a silly time waster.

It's a neat thing to learn. Of course some people like to try to figure out the patterns on their own. :)

<comment><USER3> Classy!

</comment></comment><comment><USER4> One Christmas I got my ~6 yr old son a Rubik's Cube. He loved it and carried it around for a couple days. Then I took it from him to explain how you're supposed to mix it up and solve it. He cried when I couldn't get it back together! I felt so terrible. I spent about a week watching videos, reading move patterns, and practicing at night, and finally figured it out.

I have to get out a cube every couple of months and solve it or I forget. It's funny how a few of the patterns still to work from some strange muscle memory or something - and I only have to think about what piece I need where, and then my hands just do it.

The best part of knowing how to solve one is when you come across a mixed up cube at someone's home or a business... they think I'm some kind of genius, yet really I just memorized patterns to put pieces where I need them. But who am I to tell them what to think ;)

<comment><USER5> I once picked up a rubik's cube because I thought it would be related to a problem I was trying to solve at work, given the kinds of manipulations you could do on it. Turns out it wasn't at all, but I did learn a couple ways to solve it and got to the point where I could solve it in sub-minute times reliably, just by doing it when someone had messed it up from my desk (and they did this a lot).

It was not at all useful as a skill but it's a decent social experience to teach someone how to solve it, and as you say it makes people think you're a genius for some reason (HA!). Well worth the $10 you would spend on a new one.

<comment><USER6> We buy these[1] $2 cubes ten at a time and hand them out to the kids on the street, cube pusher style, get 'em hooked early ya know. Well, not really, but we do give them away to people we meet who seem interested in learning how to solve the 3x3x3. They're surprisingly high quality and smooth for two dollars.

1\. [http://www.championscubestore.com/index.php?main_page=produc...](http://www.championscubestore.com/index.php?main_page=product_info&cPath=344&products_id=2341)

</comment></comment></comment><comment><USER7> This account has been suspended. - [http://www.crider.co.uk/](http://www.crider.co.uk/) All the images are hotlinked from this domain

<comment><AUTHOR> So are unfortunately a bunch of Cubing-Sites... May it be because of HN- Traffic? The site was up some hours ago :/

</comment></comment><comment><USER8> I would implore anyone who's thinking about playing with a Rubik's Cube to not read any of those "how to solve it quickly" things.

It may have taken me a year of chipping away at it and my process is definitely suboptimal, but at least I have the satisfaction of having worked it out myself.

Also, play with it! It's an incredibly simple but totally mind bending device.

<comment><USER9> I would encourage a hybrid approach if you are getting nowhere.

There is a trick to finding solving patterns known as commutators. For instance, see [http://w.astro.berkeley.edu/~converse/rubiks.php?id1=basics&...](http://w.astro.berkeley.edu/~converse/rubiks.php?id1=basics&id2=concom)

Once you learn the basic idea of the commutator, you can easily make up you own system. Essentially you select a part of the cube and make some specific change to it. For instance, you come up with a move sequence that turns one top corner but doesn't affect any other top cubie. If you were to reverse that move, you would be back to normal or course. So if you rotate the top before reversing the move: 1) The only change on top will be a different corner turning 2) The rest of the cube will go back to it's original state.

Therefore, the only difference is that you rotate two corners. It takes some practice to learn how this is done, but I can solve any cube-like puzzle (ok... except Square-1)and I don't have any memorized system.

Thus [A] B [A'] B' is all you need. You just need to find a proper [A]

<comment><USER8> :) that was pretty much my approach.

The way I attacked it (and suspect people naturally would) was a layer at a time. When you're doing that you try to preserve what you've already solved.

Once you have 2 layers sorted and you're trying to do that last one there's not much room to manoeuvre. I spent countless hours coming up with a combination that preserved my top 2 layers and following where each individual piece moved in the final layer. If nothing else, it's great for memory and spatial awareness.

</comment></comment></comment><comment><USER10> For those interested in getting a sub 60 second solve time then try learning CFOP. [http://badmephisto.com](http://badmephisto.com) has some very good resources to get you started.

With more practice and learning the correct algorithms then a sub 15 second solve is achievable.

CFOP stands for (C) = Cross = Cross on bottom layer - (F) = F2L = First 2 Layers = Solve bottom two layer edge and corner pieces at once - (O) = OLL = Orient last layer - (P) = PLL = Permute last layer

</comment><comment><USER11> FYI For whatever reason, the images are not loading on my machine.

<comment><USER12> Same issue. I'm on the latest version of Chrome (mac).

Edit: Oops... just saw the reason why.

<comment><USER13> Mind sharing the reason?

<comment><USER14> Image source is [1], and if you go to that domain [2] you'll see (~2200GMT 8 July anyway) "account suspended".

[1] [http://cube.crider.co.uk/visualcube.php?size=400&pzl=3&bg=t&...](http://cube.crider.co.uk/visualcube.php?size=400&pzl=3&bg=t&fmt=png) [2] [http://crider.co.uk](http://crider.co.uk)

</comment></comment></comment></comment><comment><USER15> Looks like this site is down: [http://cube.crider.co.uk/](http://cube.crider.co.uk/)

:(

</comment><comment><USER16> If you want to get a cube to muck around with, don't frustrate yourself with something default - either pull apart and lubricate one of the standard ones, or pay a little bit more and get something used by at least keen amateurs. The cheap ones are pretty miserable to use.

I have one of these and it's smooth: [http://lubixcube.com/lubix_dayan_guhong_v1.html](http://lubixcube.com/lubix_dayan_guhong_v1.html)

Bad Mephisto has already been linked elsewhere - he has some really helpful videos and a cheatsheet to refer to.

<comment><USER17> I highly recommend any cube from Dayan, but this is my favorite:

[http://www.amazon.com/dp/B008U6V50U](http://www.amazon.com/dp/B008U6V50U)

It's smooth as butter, and there are no stickers to cheat with.

<comment><USER18> Stickerless cubes were until very recently illegal in competitions. The new regulations (in effect from July 2015) allow these now, meaning a stickerless Zhanchi is a really good purchase.

</comment></comment></comment><comment><USER19> Took me a moment to notice that this is a presentation with multiple slides (despite the site name).

<comment><USER20> Me too. Instructions on the start page would help.

Interesting though. Last Century a couple friends and I figured out the cube. We did it different than all the methods I've seen: 1 side then all corners, opposite sides, then middle layer.

They are very satisfying to move.

My favorite rubiks cube variant from the 80s (clones where everywhere) was the cube that had all the same colors so you couldn't mess it up.

</comment></comment><comment><USER21> If you want to get serious, invest in a 'speedcube', the Dayan Zhanchi or the Aolong v2 are great cubes. I use the Aolong v2 myself. 15,2 seconds is my personal best :)

</comment><comment><USER22> Cool site. I just skimmed through the slides. Seems like it will be an aid for someone who is following some video tutorial if not the standalone source of learning.

</comment><comment><USER23> I must try this, i have never been able to solve a rubik cube. I usually just mess around and trash it until there is no escape.

Many thanks :)

</comment><comment><USER24> The images are not loading on mobile for me

<comment><AUTHOR> The site which provides the image is unofrtunately down :/</comment></comment>


Everpix.com adds WebP support (easy dynamic setting in preferences) - <AUTHOR> http://status.everpix.com/post/49548095046/

<comment><USER2> For the 5 people that might want it?</comment>


Ask HN: Where to start learning web development in 2017? - <AUTHOR> Hi!
My background: formal visual literacy/art instruction, but sadly with little hands-on experience with modern media. Experience in design mostly for print, passion for typography, played with Python and Arduino, done some websites for friends using Bootstrap.
What I'm willing to accomplish: know Bootstrap and modern UI frameworks even better, understand how modern browsers work, study how to write HTML/CSS/Javascript that is up to date with the current standards.
Where do I start? How can I catch up with the new things out there?
Things change so fast and every tutorial I read seems to be either too vague to be useful, or too specific and already outdated.
Thank you all! <comment><USER2> I keep a big list of links to high-quality tutorials on React and related topics ([0]). As part of that list, I have a couple categories that point to info on learning Javascript ([1]), using the new Javascript ES6+ features and syntax ([2]), and understanding what the many modern dev tools do and how they fit together ([3]). That last category also has links to some "suggested learning approach"-type pages.

Hopefully these help!

[0] [https://github.com/markerikson/react-redux- links](https://github.com/markerikson/react-redux-links)

[1] [https://github.com/markerikson/react-redux- links/blob/master...](https://github.com/markerikson/react-redux- links/blob/master/javascript-resources.md)

[2] [https://github.com/markerikson/react-redux- links/blob/master...](https://github.com/markerikson/react-redux- links/blob/master/es6-features.md)

[3] [https://github.com/markerikson/react-redux- links/blob/master...](https://github.com/markerikson/react-redux- links/blob/master/basic-concepts.md)

</comment><comment><USER3> What are you more interested in learning, front end or back end development? Only asking since you mentioned Python and Bootstrap can be used/learned with server side rendered pages.

My extremely general advice would be to avoid frameworks until you have a solid understanding of the fundamentals of both JS and HTML for front end stuff. This way you can understand what is happening behind the scenes with these tools.

For back end Python is a great place to start. I would suggest learning some data structures (queue, stack, graph, binary search tree) and implementing them yourself along with some sorting algorithms (insertion, merge, quick, radix). That will give you a pretty decent exposure to the language. Try using Flask for a web framework as it's very simple on it's own and doesn't have as much magic as something like Django.

</comment><comment><USER4> Hi,

I'm a self-taught web developer and I quit my job in business consultancy and hustled for 11 months before getting my first junior web developer job.

From my experience and numerous talks with other self-taught web devs I would suggest the following: \- to start with the "why" and then with the "what" and the "how". What I'm trying to say is that you should start to learn to some extent how the internet works (DNS, http protocols, client/server cycle). \- after that you can start with the HTML, CSS and Javascript and learn the plain languages and then the frameworks. I say that because frameworks come and go, but the language from which they stem remain pretty much the same.

If you want to chat more about this topic you can email me at email@example.com

I wish you the best in your endeavour! Alin R.

</comment><comment><USER5> From scratch... start with the basics, HTML (definitely first), Scripting Language (PHP/Python/whatever), bits of javascript. Don't jump into CSS too early, it just messes with your brain (its very anti-logic compared to HTML and scripting languages). Once you are confident in the scripting add in a database if that's your thing. Once you are adept at getting data in and out from the server then look into prettifying things up with CSS.

A good beginning reference for CSS is "Stylin' with CSS: A Designer's Guide" by Charles Wyke-Smith, good basics. Problem with CSS is there is a lot of crap overload out there mainly because of browser variation - strive to find the simpler solutions.

</comment><comment><USER6> If you know python and want to learn web development, work through [http://chimera.labs.oreilly.com/books/1234000000754](http://chimera.labs.oreilly.com/books/1234000000754)

</comment><comment><USER6> If you are looking to understand CSS layout and want to trade focused time for a solid mental model, check out [http://book.mixu.net/css/](http://book.mixu.net/css/)

</comment><comment><USER7> Real Python covers both client (JavaScript, HTML, CSS) and server (Python) and the focus is on learning through building.

Note: I am the co-founder/Author

<comment><USER7> [https://realpython.com](https://realpython.com)

</comment></comment><comment><USER8> Start web development by using [http://www.freecodecamp.com](http://www.freecodecamp.com)

I learnt web development from here. It'll teach you all you need to know to become a full stack web developer. It takes time but is totally worth it.

Enjoy!

</comment><comment><USER9> Hi, I simply recommend you to learn by doing. You can start with [https://www.codecademy.com](https://www.codecademy.com)</comment>


Javascript Module Pattern In Depth - <AUTHOR> http://www.adequatelygood.com/2010/3/JavaScript-Module-Pattern-In-Depth

<comment><USER2> Very thankful for this.</comment>


Show HN: LinkedIn profile replacement and resume builder - <AUTHOR> Are you tired of being spammed by recruiters, having your personal information sold to strangers, and being forced into yet another news feed? We are, and that's why we built Standard Resume.
Standard Resume imports your LinkedIn profile in one click and creates a web and PDF resume for you. The web resume works as a replacement for your LinkedIn profile for things like HN Who's hiring, informal referrals, and linking to from your personal website or GitHub profile.
Our resume templates are professionally designed, and are reviewed by tech hiring managers. We also have a few monospace templates for developers.
Check it out and let me know what you think. We are iterating on the product and are open to feature suggestions.
Homepage: https://standardresume.co/
Example: https://rsm.io/rileyt <comment><AUTHOR> Clickable links:

Homepage: [https://standardresume.co/](https://standardresume.co/)

Example: [https://rsm.io/rileyt](https://rsm.io/rileyt)</comment>


A whole new way of surfing the web - <AUTHOR> http://www.surfbysize.com

<comment><AUTHOR> surfbysize is the original website where you can discover entirely new content by resizing your browser.

Resize your browser and at every pixel, discover a whole different page, video, embed, iframe... could be anything!

A unique opportunity for businesses and artists alike, the pages are yours to get creative and market on. Starting at 1$, the price for a page goes up 1$ with every page sold, on a first-come-first-served basis.

There are a few demo pages but all sizes are for sale as of today.

Happy surfing and we can't wait to see what the page will become.

team surfbysize</comment>


Ask YC: What do you do about fraudulent clicks? - <AUTHOR>

Hi there. One of the sites we run suddenly had an increase in Adword costs, maxing our limit each day, without any increase in sign-ups.  We've done some log analysis and it appears as though some IPs are clicking on Adwords on a regular basis, therefore costing us money. Some of our clicks are up to $3 a click, so when one IP has clicked 40+ times on our terms it looks like it could be a competitor trying to cause us problems. For anyone on here who has experienced the same thing, what have you found to be the best way to deal with Google to either get a refund or to try to block this practice? <comment><USER2> You can block certain IPs. It's in the documentation. You can also complain to google support and they might refund it. Also: try yahoo's search advertising. It's actually not too bad.

<comment><AUTHOR> Thanks. I didn't know that we could block some IPs. That will really help EDIT: Just done this. They allow up to 20 IPs to be blocked (just if anyone is interested)

</comment></comment><comment><USER3> With Google, I've found that it's almost always best to know someone there. In this case, the OSO team.

Barring that one, you've just to got to follow up with Google. They respond, it just takes time. Ask the AdWords boards. Pull any words that seem to be the targets of fraud. Become more creative with your ad campaigns.

No system's perfect, unfortunately.

<comment><USER4> They probably don't want their system to be perfect. Just on the same level as the competitors, because fraudulent clicks bring them money as well.

If an IP clicked 30 times on the same ad, then there is something fishy going on. If you were using Adsense, and it happend on your site, you probably wouldn't get paid per click or would get banned, if they track the Ip to your ip adress

<comment><USER5> Fraudulent clicks don't bring Google more money in the long run. They reduce the amount of actions per clickthrough the advertiser sees, causing the advertiser to value each click less and therefore bid less.

So if it increases your clickthrough rate by 5x (without increasing signups at all) you'll simply pay 1/5th the cpc. Long run of course.

They also cause small guys to quit using AdSense. Therefore Google has significant incentive to combat it.

<comment><AUTHOR> I don't agree to be honest. Its not that we will quit, its just that we need to pay more money for each customer we ultimately receive. We can't _not_ advertise on there unless/until we have another means of driving qualified traffic in, so we have to just take it in some respects. We have another product, SourceGuardian, where we were paying considerable sums each month. We switched off the network adsense sites and our sales didn't drop at all. We haven't monitored this site for fraudulent clicks, but we're spending around $300/day on this other site so we thought we should check everything

<comment><USER5> But in the end it's all about CPA, not CPC. CPC is sort of just a go between. You base your bottom line decisions around CPA. If it takes 10x the clicks to get the same CPA, then you'll pay 1/10th the CPC (or you'll go out of business).

</comment></comment></comment></comment></comment><comment><USER6> On the other hand, I was getting about (please, don't laugh) US$10 a month out of AdSense in my blog (which is not really a blog, but I gave up naming it anything else) when Google said there were fraudulent clicks coming from my site and that they would not tell anything more about it because that would compromise their detection techniques, but, still, I was banned from AdSense for life.

In the end, it worked out: I changed banner providers (I started rotating between two international networks and two local web merchants, adjusting probability of each source according to origin and revenue stats) and have a much better ad revenue (which is not to say it is anything great, but just about anything is better than US$10/month)

I wonder how many people have similar experiences.

<comment><USER7> I've been experimenting with adroll.com a bit. Mind mentioning the two international networks you started favoring?

<comment><USER6> Oxado and Adbrite. I am not very happy with any of them. Started with Adroll because of your message. Ads seem more on spot than Adbrite and on par with Oxado.

</comment></comment></comment><comment><USER8> Have you looked into the IP address? On a Unix command line, do 'whois 0.0.0.0' to find out what network they're on, possibly where they are. Contact abuse@ at that ISP and tell them one of their customers is violating Google's Terms of Service -- most ISP ToSs say it's a violation of their ToS to violate anyone else's ToS.

</comment><comment><USER9> It's a win/win situation for Google regardless of what they do. If they ignore and let the fraud happen they get paid more, if they combat it, they look like the "defender of online advertising" and people love them for it.

They key is to monitor your AdWords every day, it's all in the numbers.

</comment><comment><USER10> I've heard aggressive blocks of geographic regions and specific origin sites that appear to be sources of problem clicks helps. Also, dropping AdSense and off-Google search partners entirely, if necessary.

<comment><AUTHOR> Thanks. I've done this so its only pure Google searches now. I think its one or two of our competitors ensuring that we pay more on a daily basis. On IP clicked on us in one day 15 times. It doesn't sound like much, but it cost approximately $50 just for this one day.</comment></comment>


Is Google Killing $150 Million In Ad Revenue? - <AUTHOR> http://www.forbes.com/sites/danieltack/2013/09/16/is-google-killing-150-million-in-ad-revenue/

<comment><USER2> I hate how the article frames this as a bad thing.

I would much rather sacrifice my immediate bottom line for the sake of building more loyal users that will stick around for generations of new phones and operating systems.

It's a smart move and to frame this as something that "Can hurt thousands of developers who depend on these practices" is just bullshit

Who gives a shit about those developers, users deserve a better user experience and if you rely on SPAM to get by because you've built a less than impressive product I have no sympathy for you

<comment><USER3> In a word: yep!

In no way is restricting spammy and annoying tactics a bad thing, if your product is good you do not need to resort to such tactics.

</comment></comment><comment><USER4> GooG was not losing a $1 as they are NOT into these creepy ads. It in fact helps them because advertisers who are using these creepy ads will move to more standard ad formats used by admob and others.

These ad formats were destroying android ecosystem because new breed of developers are coming to android with sole aim of making quick money before they get banned.

Glad finally Google took the right step.

<comment><USER5> Reducing spammy advertising could easily turn out to be worth more than $150 million to Google if it keeps more people on Android.

</comment></comment><comment><USER6> As always:

1\. Look at the URL

2\. Read the headline; surprise: it's a question.

3\. Sigh heavily, mouth "no!", and move on.

</comment><comment><USER7> My opinion is that this will only hurt those devs who would rather push ads to people in shady ways than pull people into their app with a design and functionality worth opening more than once. If I ever happen upon an app that does either of the things Google is killing off I immediately get rid of it anyway. I don't see how this is a negative thing at all.

</comment><comment><USER8> I don't know if $150,000,000 is a good number or not, but it probably is a lot of money for sure. This is actually not a surprise because frankly, these kinds of ads shouldn't have existed in the first place.

As are so many things on the internet, this was a short lived opportunity that made some people a lot of money, but is not a long term viable business model.

However, like many of these short lived businesses, there will be a few who made enough money to pivot into other adjacent opportunities. The short sighted ones who build their businesses like Google's policies would never change will be left holding the bag.

The same thing happened in CPA based affiliate marketing for things like ringtones, work from home offers, and acai berry supplements after the FTC cracked down.</comment>


Instacart Featured Products: How to Get Started - <AUTHOR> https://jungletopp.com/instacart-featured-products/ <comment><AUTHOR> Did you know about Instacart Featured Products? Customers will see these ads when they search for related keywords using the Instacart App. How can you take advantage of this?</comment>


20% of all Node.js modules found vulnerable to injection attacks - <AUTHOR> https://blog.acolyer.org/2018/03/12/synode-understanding-and-automatically-preventing-injection-attacks-on-node-js/ <comment><USER2> This headline is entirely false - 20% of Node modules use 'eval' or 'exec'. While these are certainly less secure and a strong secure coding standard would probably ban them or at least reduce their use, it's entirely possible to use both in safe ways.

<comment><USER3> Further on:

> 18,924 of all 51,627 call sites are found to be statically safe (36.66%)

> The templates for the vast majority of call sites have at most one hole, and > very few templates contain more than five.

If you've got a dependency that calls eval or exec, those aren't great odds that they're doing it safely.

<comment><USER4> That still requires you to know whether either is being called with user- provided values before you can say it's unsafe.

If, for example, someone had a utility which resized user-uploaded images you couldn't say simply calling exec to run something like ImageMagick was unsafe before checking whether it used the user's filename.

<comment><USER3> I think that's what they're saying in those quoted lines though. That 36% appeared to be statically-safe (i.e. the string sent to eval or exec was generated using only strings defined in the code) and the others were not.

<comment><USER4> True — it wasn't clear to me whether e.g. a random temporary filename would be considered static or only actual fixed strings in the code. (Similar questions would arise if e.g. a web app saved things using a database primary key so it's technically not static but the attacker doesn't control it even if they control the file contents)

<comment><USER3> Ahhhhh nice, I hadn't considered the "random temporary filename" or "db primary key" aspect either. That's something that gives me a small chill, but it's not the end of the world compared to "arbitrary user input piped to exec()"

Who knows how elaborate their static analyzer actually is in practice? I wrote a Python analyzer in grad school, and the results were both pretty interesting (type inference tracing through function calls) and pretty mediocre. It was also fiddly-as-hell to get working. Plus... the first rule of statically- analyzing dynamic languages is that the results get weird after the first eval()--anything could happen!

<comment><USER4> Yeah, as a developer I see plenty of appeals to dynamic languages but they're certainly a nightmare for tool authors. I know OpenStack was working on a security scanner for Python – I wonder what percentage of the open issues start with "this is probably very hard but…"

</comment></comment></comment></comment></comment></comment></comment><comment><USER5> > thousands of modules _may_ be vulnerable

(emphasis mine)

Apparently any module that uses eval or exec counts in "may", regardless of whether there's an actual vulnerability. Then using dependency analysis they extrapolate the 3% of packages that actually use these features to 20% that depend on something that use them.

Maybe uses of eval or exec should be more closely audited for safety, but blanket stating that any use of core language features makes you vulnerable is just vacuous clickbait.

This is a Synode sales pitch.

</comment><comment><USER6> "Vulnerable to injection attacks" seems like a bit of a stretch to me.

Direct quote: "then about 20% of all modules turn out to directly or indirectly depend on at least one injection API"

Where "injection API" is a reference to either the eval() or exec() functions.

<comment><USER7> To be fair they follow up with

> A staggering 90% of the call sites do not use any mitigation technique at > all.

> Another 9% attempt to sanitise input using regular expressions. > Unfortunately, most of those were not correctly implemented

</comment></comment><comment><AUTHOR> This was posted 9 hours ago with the paper title as the name, and got 3 upvotes:

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

I thought it was interesting and relevant for this audience, so I put a more sensational (but arguably accurate - you can argue the semantics of vulnerable all day) headline in the title to grab HN reader's attention. Now it is top of the front page with 40 votes in 25 minutes.

If you want to read papers like this everyday, I got it from the morning paper mailing list: [https://blog.acolyer.org/](https://blog.acolyer.org/)

<comment><USER8> That's against the site guidelines. Would you please read them and follow them when posting here?

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

<comment><USER9> Hi Dan — along with rebuking the poster, I wish you had also fixed the title. There are substantive issues here worth discussing.

<comment><USER8> Ok, how about we put [https://news.ycombinator.com/item?id=16566587](https://news.ycombinator.com/item?id=16566587) in the second-chance queue (described at [https://news.ycombinator.com/item?id=11662380](https://news.ycombinator.com/item?id=11662380) and links back from there).

Edit: it's on the front page now.

</comment></comment></comment></comment><comment><USER10> The title here (20% of all Node.js modules found vunerable to injection attacks) seems more sensationalised then that of the actual article:

 _> Understanding and automatically preventing injection attacks on Node.js_

The article further guards the hyperbole with phrasing like "may be vulnerable" which is not reflected in the HN submission title.

As click-baity as the title here could be interpreted, the article _is_ highlighting what could be a significant problem: people often don't perform input validation well or create designs which make it difficult to do well at all.

The article may be understating the issue by concentrating on specific types of attack: it seems to be referring only to calls to exec() and eval(), so could underestimating the problem by only considering served-side JS and shell/OS injection vectors. I would think that database vectors and client- side vectors (resulting on possible XSS attacks) are pretty common too, probably more so. They certainly are in a lot of code I've seen both online and in private codebases, due to lax input sanity checking or worse: architectures that make good validation in this respect practically impossible.

This is not at all unique to node.

 _> A staggering 90% of the call sites do not use any mitigation technique at all._

Many libraries simply assume that the caller are performing input validation and only sending them sanitised commands. This is not safe, particularly in a publicly available library, as a lot of naive programmers will assume that the library is performing some validation and will raise exceptions in the presence of something dangerous. Even documenting the lack of validation won't help in many cases because how many people read documentation in detail until something goes wrong?!

 _> Another 9% attempt to sanitise input using regular expressions. Unfortunately, most of those were not correctly implemented._

This is a common problem too, the most problematic issue being people using regular expressions to try identify bad inputs. Trying to enumerate the bad is generally impossible as the range of bad inputs is usually infinitely larger then the range of good ones.

</comment><comment><USER11> Title should be changed to "Synode: understanding and automatically preventing injection attacks on Node.js"

The issue is an important one to bring attention to, but as I leave this comment all the other comments are arguing whether the submitted title is accurate/click-bait.

</comment><comment><USER12> The research paper was accepted at NDSS, so thats something.

Here is the video of the conference: [https://www.youtube.com/watch?v=xVfLW2JhBq8](https://www.youtube.com/watch?v=xVfLW2JhBq8)

IMHO static code analysis for this seems utterly useless, dead-end path to improve real-world NodeJS security.

But this is definitely not a security software company trying to spread FUD like some suspecting here

</comment><comment><USER13> "Vulnerable" due to eval() or exec()? Not really an "injection API".

</comment><comment><USER14> That's click-bait

</comment><comment><USER15> tl;dr people pushing security tools for nodejs say security tools are the new most important aspect of node servers because some of them use calls that could maybe possibly be used in an unsafe manner but currently don't appear to be.</comment>