New trends in programming languages - <AUTHOR> https://medium.com/julia-notes/new-trends-in-programming-languages-1876e879651d <comment><USER2> This is a very nicely written article. I especially like the way the author builds up by describing the evolution of dynamic and static languages and how julia does a great job at solving the problems facing most static and dynamic languages in scientific computing.

</comment><comment><USER3> Please change the title to "New trends in programming languages and why Julia is better"

</comment><comment><USER4> When you see this line

        auto values = new std::unordered_set<T>();

in their C++ benchmark code you already know it's gonna be a good article.

<comment><USER5> Sorry, C++ newbie, why is this significant?

<comment><USER4> One because memory allocations can be pretty expensive performance wise, two because you never want to manually allocate memory if you have the standard library accessible to you (you want to use smart pointers instead), three because the allocation is completely pointless here in the first place because std::unordered_map allocates everything it needs internally, you can just create the object on the stack, so you just introduce an additional indirection and an additional allocation for no reason.

All together whoever wrote the code has no idea how to write C++ and was probably just happy that the code didn't crash. (Also this essentially just benchmarks the unordered_map implementation that happens to come with whatever standard library they're using instead of anything intrinsic to the language. How fast unordered_map does certain operations can vary wildly between different implementations, and if you really needed a similar data structure that delivers absolute maximum performance for your use case you would write it yourself.)

Also these "language x is this fast" comparisons are generally useless anyway, if you care about a 5x compute speedup or less you're going to use a native language and fiddle with it until the compiler gives you the binary code you want essentially (which in return means they're all equally fast if you do things correctly), and if you don't care about a 5x speedup you can use whatever language you want, they're all fast enough.

The only "language benchmarks" that are actually useful are ones that compare different coding paradigms, for example using exceptions vs not using exceptions, or inheritance vs function pointers, etc. - but these kinds of things require a fairly good understanding of the language and compiler options, and their conclusion is very often "it depends".

</comment></comment></comment><comment><AUTHOR> Long blog/rant about programming languages and more, written by a Julia user looking for philosophically sound arguments to why you should try #julialang out.</comment>


Are you living in a computer simulation? - <AUTHOR> http://www.simulation-argument.com/simulation.pdf <comment><USER2> I was hoping this was some new insight into the argument</comment>


Ask HN: Crowdfunding for GitHub Issues? - <AUTHOR> I'm looking for something a bit like Kickstarter for specific GitHub issues. Imagine someone creates an issue for "Add feature X". A developer reviews it and determines that she can solve it with $1,000 funding, so she writes a "deliverable summary" in the issue defining her solution proposal, so users can know what they're funding. 100 people want the feature, and on average they pledge $10. The goal is met, so the developer begins work. Once completed, she may claim the funding, and everyone's cards are charged (or funding accounts are debited.) Commission for this service is then taken, and the net amount is sent to her bank account.<p>Does anything like this exist, even in general without being attached to GitHub issues? <comment><USER2> OpenRA on github [0] had that last I checked. See their BountySource [1].

[0] [https://github.com/openra/openra](https://github.com/openra/openra)

[1] [https://www.bountysource.com/teams/openra/issues](https://www.bountysource.com/teams/openra/issues)

</comment><comment><USER3> The idea is cool, as far as I know, i have not seen this type of product ! Have fun programming this sideproject ;)</comment>


Who wants an itunes ftp gateway? - <AUTHOR>

<comment><AUTHOR> The software would allow for continuous and automatic itunes backup to your ftp server.

<comment><USER2> No need. Your music is stored on your hard drive. So all you need is a daemon that synchronizes your music directory with your remote server. Hmm, remote synchronization. Maybe we could call it rsync, for short.

<comment><AUTHOR> rsync won't allow for itunes metadata changes like play count, ratings, etc.

Of course, target market is for people that don't want to bother with scripts.

<comment><USER2> Sure it will. Those metadata changes are stored on your hard drive, just like the music. It's in the iTunes Library and iTunes Music Library.xml files. And they needn't bother with scripts, either; there's already an OS X gui for rsync, and it wouldn't be too hard to build an app that automatically backs things up at a specified time.

<comment><AUTHOR> You can backup XML files but this wouldn't allow for easy individual track restores with metadata preservation.

In addition, our solution allows for backup/restores from multiple Macs. Eg: You can restore a track from your work Mac to your home Mac with metadata preservation.

We already have a similar solution but for S3. Perhaps I can convince you to try it out, newly launched.

<comment><USER2> I already have a solution. It's called "I back up my hard drive." You have a product in search of a market. Good luck.

<comment><USER3> I completely disagree. They're targeting a specific market, though that market does not include you, there are a ton of people who want to have their music, and only their music, backed up.

You're also not really thinking about the big picture. By focusing their product on iTunes, they can add crazy features, like library sync, or library "move." I've helped my mom move her library to a new computer, this product would have been perfect to help her.

The good news is these guys already have a product, so they don't have to listen to bad negative feedback.</comment></comment></comment></comment></comment></comment></comment>


Is it okay to refuse getting involved in a project with no senior developer? - <AUTHOR>

Just curious. I am a newbie programmer (especially web dev).
The owners expect a lot of me, and after realizing that I couldn't deliver features etc. on their schedule, I told them that they need a senior programmer to come into the team and if anything show ME around.
Basically, the old developer bailed on them and they are hesitant about developers now.
Is this the correct approach in this scenario?
Any experience? Tips? <comment><USER2> This is a good opportunity to learn by 'baptism' of fire, and if you can learn fast you can accelerate your path to senior developer. In a bigger org you may be forced to spend years getting to senior developer, but it sounds like you can get there quicker with the responsibility you have here.

There is the stress of dealing with complex code and frameworks as a newbie, with the owner breathing down your neck. So try to negotiate more time for each task, and time for learning general web development. E.g. if they use AngularJS say you need a couple of days to learn it from tutorials etc.

If they are complete assholes about it and pressure you with 'just get it done' 'we need it done by end of day' 'why is this taking so long' then maybe it is time to look elsewhere for a job.

In any case look at this job in terms of if it is good for your career (and more importantly, your mental health!) and if you thrive on high pressure fast learning or prefer to work for a bigger company that has the resources to give you more time.

Out of curiosity how many devs are working there? Is it one man and his dog, and you?

<comment><USER2> Following on from this, a good lesson I have learned is to try to work for profitable companies. You want the $ profit per employee to be as high as possible. I have worked for companies that struggled to make a profit, and guess what they underhire and underpay. I have worked for companies that make good profits and they hire just right and pay nice salary or bonuses.

The follow-on from this is to try to work for companies with good recurring revenue models that are efficiently run. Warning signs are companies that rely too much on one off big sales instead of a broad base of customers. Also another problem is consultancies who are hiring out your time and need you to be 100% billable.

The other warning sign is very small companies that are bootstrapping with tight owners who want to have lots of potential upside in the future by exploiting employees to make them do the work of many people in the early days while giving no little or no equity. Read up on HN and blogs about peoples experience with this, there is a lot written about it.

</comment></comment><comment><USER3> Yep, overall. Be up front, communicate it is not something you are as experienced with so it takes you more time and you are having to learn some new skills. Show them you can do it, but be honest with your estimates and be up front that you will likely make mistakes. Also, tell them when you are running behind before they are expecting something to be complete.

My most important piece of advice though is don't feel like you have to say yes to every request when they bring it to you. That doesn't mean you are telling the owners "no". It means saying something more like, I'll write that down but I am so busy doing X that I won't get to it for at least Y days/weeks. And remind them that if they were to bring in a senior dev it would speed up the process and help you as well.

As long as they are not abusing you, I'd say go for it and use the opportunity to learn. But as bbcbasic pointed out, some companies will try to take advantage of you (abuse you), so keep your eyes out for that as I would be looking for an exit if that starts.

</comment><comment><USER4> By not hiring a senior developer and only paying you, they are spending less money. It should be expected that you will deliver the features slower. That is why you are not getting paid the same thing. Now, it's their job to figure if it's better for them to have only you or to hire someone else.

If you are working your hardest, don't lose sleep over the fact that you cannot meet deadlines.

It is alright to challenge schedules. They may be used to have a certain pace, however that pace need to change if they are not willing to replace the senior dev. that bailed.

That being said, be the senior. Fake it.

</comment><comment><USER5> Yes, it's the correct approach. Always tell them when you can't deliver and why. Communication is key when working in a team. If they understand and address the issues, count your blessings and consider yourself lucky. If they get mad and unreasonable, leave and find a new job. It's better for you, both now and in the future.

</comment><comment><USER6> I mean.. if you were a restaurant and your head chef quit.. and you only had 4 dishwashers left in the kitchen, what would you do? Send the dishwasher to cook?

<comment><USER2> Sounds like they never had a head chef. An analogy would be you run a small cafe on your own, then you hire one person to be chef, barista, floor sweeper, dishwasher, security guard, book keeper, customer service manager, ...

Of course then you need to read the emyth book.</comment></comment>


If Your Boss Thinks You're Awesome, You Will Become More Awesome - <AUTHOR> https://hbr.org/2015/01/if-your-boss-thinks-youre-awesome-you-will-become-more-awesome <comment><USER2> This is true! It will give you motivation to become more better..and more awesome.</comment>


'Superspreading' events propel coronavirus pandemic - <AUTHOR> https://www.washingtonpost.com/health/2020/07/18/coronavirus-superspreading-events-drive-pandemic/ <comment><AUTHOR> > Some people will not transmit the virus to anyone, contact tracing has > shown, while others appear to spread the virus with great efficiency. > Overall, researchers have estimated in recent studies that some 10 to 20 > percent of the infected may be responsible for 80 percent of all cases.

> In a detailed analysis of outbreaks in Hong Kong[1], for example, > researchers found three distinct groups of incidents. The superspreading > individuals, representing 20 percent of the total, were responsible for 80 > percent of transmissions. A second group, involving about 10 percent of > cases, transmitted the virus to one or two others. The final group, 70 > percent, did not infect anyone else at all.

> In Israel, investigators looking at 212 cases[2] concluded that they could > be linked back to 1 to 10 percent of people. And in an outbreak in a South > Korea office tower[3], investigators found that about 45 percent of 216 > workers got the virus from a single person. In the United States, an > analysis from five counties in Georgia[4] found that superspreading appeared > to be "widespread across space and time," and that 2 percent of the infected > seeded 20 percent of the cases.

...

> Most of these events took place in coronavirus hot spots of which most > people are now aware: buildings where people live in close quarters, such as > nursing homes, prisons, worker dormitories and cruise ships. There have been > a fair number of clusters at meat-processing and frozen food factories, as > well as at a curling event in Edmonton, Canada, leading some to speculate > that temperatures could be a factor.

...

> The rest of the known superspreading events were set in a hodgepodge of > social venues where people gather in crowds: concerts, sports games, > weddings, funerals, churches, political rallies, restaurants, shopping > centers. And nearly all took place indoors, or in venues with indoor-outdoor > spaces.

...

> While it's often impossible to identify the person who triggered an > outbreak, there have been some commonalities among those who have been > pinpointed as the likely source in studies. They tend to be young. > Asymptomatic. Social. Scientists suspect these "super-emitters" may have > much higher levels of the virus in their bodies than others, or may release > them by talking, shouting or singing in a different way from most people. > Research based on the flu, which involved college students blowing into a > tube, showed that a small percentage tended to emit smaller particles known > as aerosols more than others. These particles tend to hang or float, and > move with the flow of air — and therefore can go much farther and last > longer than larger droplets.

1\. [https://www.researchsquare.com/article/rs-29548/v1](https://www.researchsquare.com/article/rs-29548/v1)

2\. [https://www.medrxiv.org/content/10.1101/2020.05.21.20104521v...](https://www.medrxiv.org/content/10.1101/2020.05.21.20104521v1)

3\. [https://wwwnc.cdc.gov/eid/article/26/8/20-1274_article](https://wwwnc.cdc.gov/eid/article/26/8/20-1274_article)

4\. [https://www.medrxiv.org/content/10.1101/2020.06.20.20130476v...](https://www.medrxiv.org/content/10.1101/2020.06.20.20130476v2)</comment>


To opt out of Facebook's tracking, I'm going to have to join Facebook - <AUTHOR> http://www.wired.co.uk/article/open-letter-mark-zuckerberg-congress <comment><USER2> Some of the scripts loaded by Wired when you access this article:

> > [http://ads.rubiconproject.com/header/11644.js](http://ads.rubiconproject.com/header/11644.js)

"Rubicon Project, the digital advertising infrastructure company, is on a mission to automate buying and selling for the global online advertising industry"

> [https://tags.bkrtx.com/js/bk-coretag.js](https://tags.bkrtx.com/js/bk- > coretag.js)

"BlueKai is a cloud-based big data platform that enables companies to personalize online, offline, and mobile marketing campaigns"

> [https://www.google-analytics.com/analytics.js](https://www.google- > analytics.com/analytics.js)

"Google Analytics is a freemium web analytics service offered by Google that tracks and reports website traffic."

> > [http://b.scorecardresearch.com/beacon.js](http://b.scorecardresearch.com/beacon.js)

"Through our global research efforts, ScorecardResearch collects data that assists companies around the world in providing products and services that better meet the needs of consumers"

And of course:

> > [http://platform.instagram.com/en_US/embeds.js](http://platform.instagram.com/en_US/embeds.js)

"Instagram is a photo and video-sharing social networking service owned by Facebook, Inc"

> > [http://connect.facebook.net/en_GB/sdk.js](http://connect.facebook.net/en_GB/sdk.js)

It's Facebook.

<comment><USER3> The Web has become unusable without uMatrix.

<comment><USER4> "unusable" is a very extreme word for this.

<comment><USER5> "Unusable for the privacy-aware" does the job

<comment><USER2> Privacy issues aside, it has a noticeable effect on battery life.

<comment><USER3> Not to mention performance and usability.

I never bothered with uMatrix until I picked up a cheap computer to use while traveling. Firefox was borderline unusable without it.

</comment></comment></comment></comment></comment></comment><comment><USER6> "Unless I go full tin-foil hat, you've basically left me with one option. To opt out of Facebook's tracking, I'm going to have to join Facebook"

Or just wait until May 25th and send them a GDPR Subject Access Request. Seriously, Facebook's GDPR team must be having kittens.

<comment><USER7> I'm a US citizen and live in the US, but I'm going to tell FB that I live in the EU and must be protected by GDPR. Hope it works!

<comment><USER8> What about becoming an e-resident of Estonia?

<comment><USER9> " Although e-residents receive government-issued digi- ID's similar to those of citizens, e-residency does not confer citizenship, tax residency, residence, or right of entry to Estonia or to the European Union." – [https://e-resident.gov.ee/faqs/about-e-residency/#about-e- re...](https://e-resident.gov.ee/faqs/about-e-residency/#about-e-residency)

</comment></comment></comment></comment><comment><USER10> Is there ever going to be a way in this world today that one can simply not be tracked? I feel that most every device you use will have some company or another tracking you. I'd love if people could post some ideas around this.

I've done the (becoming) standard uBlock, uMatrix (which makes most sites unusable until you tweak it), setting up "do not track" and "no cookies". Using private browsing with TOR. It doesn't seem like any of this is enough to prevent someone that seriously wants to track you.

So what are the next steps?

<comment><USER11> Some ideas:

\- Developing/using an open source, privacy minded smart phone. \- Use cash or a vanilla debit card that doesn't track you. I was shocked that after I buy a very very particular and specific item at Walmart, I see ads all the time. I believe even Walmart is selling data to advertisers. \- Ask representatives to improve privacy laws.

<comment><USER12> Or an "outdated" platform like (pre-android) Blackberry or Windows Phone

<comment><USER13> If you're going to run outdated platform, at least choose Maemo :P

</comment></comment></comment></comment><comment><USER14> What strikes me the most is how impotent many of us feel in resisting being tracked and profiled so extensively.

</comment><comment><USER15> I love this quote: "then you have made a desert and called it peace"

Originally from Tacitus: "To ravage, to slaughter, to usurp under false titles, they call empire; and where they make a desert, they call it peace."

</comment><comment><USER16> I see a lot of complaints about tracking but has anyone proposed an alternative? These products have to be paid for somehow so how about a subscription fee to not be tracked by them?

For example, I'm sure my search data is less to Google than Google is to me. How much would you consider reasonable for their service? $50-100 per year would seem reasonable to me - I'd pay that for an ad-free non-tracked experience. This might actually be good for them, because I'd finally become an Android user - my main concern is my privacy as I use the Android platform.

They could hire an independent company to regularly audit this and make a report to prove that they are not tracking people who subscribe to the service.

I'm sure there are flaws with this idea but is anyone actually discussing an alternative to tracking? We simply cannot expect a company to offer any product for free.

<comment><USER17> > _non-tracked experience_

You can use DuckDuckGo today to reduce your exposure to tracking:

[https://duckduckgo.com/](https://duckduckgo.com/)

<comment><USER16> I have tried DuckDuckGo in the past and it's pretty good but it doesn't quite have the reach or relevance of Google, at least for the topics I tend to search for.

But perhaps this is because Google tracks me. When I search for "private variable" it knows I'm likely referring to C# as opposed to Java and shows an appropriate result. When I search for "supermarket london" it knows I'm referring to London, UK and not London in Canada.

So perhaps after thinking about it a bit more, what I want isn't feasible.

<comment><USER18> Depending how long ago you used it, you might give it another go.

I spent a while trying and failing to use DDG reliably. Then I took a second pass a bit later, the results were only a little worse than Google.

Then over time, I found myself using the !g command to double check DDG less and less.

I did a !g search for the first time in several months yesterday, and laughed when I saw how much _worse_ Google's results were.

Try it for a month. You may find out that you're just used to a particular way of searching Google. Maybe DDG will offer you something better once you get a little familiarity.

In particular, I find technical topic searches to be head-and-shoulders better with DDG than Google.

<comment><USER16> OK you've convinced me. I'll give it another shot.

Edit: I just actually forgot how to list a directory in C# so I ran my first query:

[https://duckduckgo.com/?q=c%23+list+directory&atb=v112-5_y&i...](https://duckduckgo.com/?q=c%23+list+directory&atb=v112-5_y&ia=qa)

It has a code sample right at the top. That's one better than Google right there!

</comment></comment></comment></comment></comment><comment><USER19> Face it y'all, privacy is dead. Sure, GDPR and the current FB outrage will result in some new rules, legislation, etc. Perhaps we'll all have to opt-in for certain data tracking activities. Maybe the way our personal data flies around the internet will be a little less obfuscated. But we live in a digital world and it's very easy to track every packet of data we send and receive. And because we can do it, eventually we will do it. The new standards we setup may give us a false sense of control but, over time, apathy and convenience will lead us back to about where we're at now.

<comment><USER20> Agreed. Privacy is dead simply because privacy is something that other people give you, and the web has very very clearly indicated that it, as a whole, has no interest in giving us privacy.

All that leaves is secrecy, so we'll have to live with running blockers of various kinds, in a shitty arms race with the web people who want all the data they can get their grubby little hands on.

Fuck the web. It was one of the last truly successful open protocols from the early era of the internet, and it's turned out to be one of the worst (not just because of all the tracking, also because of the insane attitude of web people that it should try and compete with native applications).

<comment><USER21> > also because of the insane attitude of web people that it should try and > compete with native applications

To be clear, the cause of the rise of the "web application" was that there was no other cross-platform, automatically updating, mostly standardized and stable application platform available on every device.

Simple economics demand those features from an application platform, but nothing else offered it. Not Java, Flash, QT, nor any of the mobile native app platforms.

Web apps are the "least bad" solution that meet those critical requirements. And they will never die because of it.

<comment><USER20> The web barely offers the things you describe. The platforms vary so widely in terms of display and input hardware, the standards change so much and are implemented with enough quirks/incompleteness, that it's really not a stable platform.

What you actually end up with are apps that are really hard to test, very poorly integrated with 100% of the platforms they are used on, hard to find and difficult to use if your connectivity isn't consistent.

And it's only going to get worse as WebAssembly really takes hold.

<comment><USER21> Web apps I wrote back in 1998-99 in Classic ASP are still in productive use at a few companies.

The only real maintenance has been OS and SQL Server version upgrades.

How is that not "stable"?

</comment></comment></comment></comment></comment><comment><USER22> What are the best Chrome/Firefox tracker blockers for Facebook? I've been using Facebook Disconnect:

Chrome: [https://chrome.google.com/webstore/detail/disconnect- faceboo...](https://chrome.google.com/webstore/detail/disconnect-facebook- pixel/nnkndeagapifodhlebifbgbonbfmlnfm)

For Firefox: [https://addons.mozilla.org/en-US/firefox/addon/facebook- disc...](https://addons.mozilla.org/en-US/firefox/addon/facebook-disconnect/)

Safari: [https://disconnect.me/disconnect](https://disconnect.me/disconnect)

</comment><comment><USER12> I hate Facebook just as much as the next guy (hey, maybe more), but I suspect Google analytics is present on a lot more sites than Facebook tracking. It's cool right now to hate Facebook, which is why stories like this are getting clicks.

People who opt out of it and then rant about it on the internet are kind of like kids hiding in the bushes yelling "you can't see me!"

</comment><comment><USER23> The bigger question is why have we created a society where cynical ruthlessness is not only adaptive, but also the object of repeated and widespread praise.

</comment><comment><USER24> Dear Mark,

I hate you because you're rich and I'm not. Also, it's the cool thing to do right now, and I have to make money somehow, after all.

Sincerely,

The Bandwagon

</comment><comment><USER25> Just generally stop with the personality cult bullshit, both positive and negative.

As much as I think the best thing that could happen to FB is to just vanish, I can't "hate" this guy I never met who never ever seemed happy and now just looks tired. I doubt the author does, either. So why lie about it? That's both kinda pathetic and predictably unhelpful. It's not like the article doesn't contain information, but that framing sucks.

There's a lot to be said about the actions and words of Facebook as a whole, and of Mark Zuckerberg, but it does more harm than good if it's with the intent to make it about Facebook and Zuckerberg, instead of those things no matter who happens to do or say them, and _our_ responsibilities not just in response, but in action rather than just reaction.</comment>


Did judgmental gods help societies grow? - <AUTHOR> https://www.sciencemag.org/news/2019/03/did-judgmental-gods-help-societies-grow <comment><USER2> Lewis Black, besides his "You can't get milk from soy!" rant, had this rant years ago about religion, and how it was created to give people rules because, well, they were assholes back then. He mentions the Jerry Springer show and asks us to imagine how bad people were back then (Old Testament days). People needed rules to live by, and it made perfect sense.</comment>


Practice does not always make perfect, finds study of violinists - <AUTHOR> https://www.theguardian.com/science/2019/aug/21/practice-does-not-always-make-perfect-violinists-10000-hour-rule <comment><USER2> > "Practice makes you better than you were yesterday, most of the time," she > said. "But it might not make you better than your neighbour. Or the other > kid in your violin class."

I like the ending.

Self improvement should be more important than just comparing yourself with others for most things. And it is up to oneself to figure out if it's worth continuing or that the skill is worth your time.

<comment><USER3> Practice makes better.

<comment><USER4> My choral director long ago liked the phrase "practice makes permanent". Practicing the wrong technique can be deleterious.

</comment></comment></comment><comment><USER5> 2 methodological issues:

>> They interviewed three groups of 13 violinists [...] before having them complete daily diaries of their activities over a week.

You're basically priming interviewees, and without a control group, you're unable to partial out the variance due to "being interviewed". They need diaries from people who were interviewed _after_ taking diaries, and a group of people never interviewed.

>> [... ] complete daily diaries of their activities _over_a _week. While the less skilful violinists clocked up an average of about 6,000 hours of practice by the age of 20, there was little to separate the good from the best musicians, with each logging an average of about 11,000 hours

Extrapolation from a 1-week diary to your entire life until age 20?

</comment><comment><USER6> Gee, something Malcolm Gladwell said in one of his wormy love letters to the upper middle class might be completely false? I'm terribly surprised!

[https://www.theregister.co.uk/2008/11/30/malcolm_gladwell_no...](https://www.theregister.co.uk/2008/11/30/malcolm_gladwell_no/)

[https://staffanspersonalityblog.wordpress.com/2013/10/24/am-...](https://staffanspersonalityblog.wordpress.com/2013/10/24/am- i-missing-something-or-is-malcolm-gladwell-a-fraud/)

[http://monkeysuncle.stanford.edu/?p=541](http://monkeysuncle.stanford.edu/?p=541)

<comment><USER7> So, I get that you like to hate on Malcom Gladwell, but I feel this particular instance it's a little overblown.

There is a huge difference between "Excellence requires 10,000 hours of deliberate practice" and "If you log 10,000 you will be excellent".

The article would disprove the second, but I always came away with the impression of the first (after reading the book).

So to me, in this instance, I'd say "Gee, a misinterpretation of what somebody else said is false? What a surprise".

<comment><USER8> The issue is that Malcolm Gladwell wanted a catchy number/title, and 10,000 hours happened to be one which caught his (and admittedly even my own) fancy. The book "Outliers" does not try to delve into the places where the 10,000 rule doesn't work.

And more importantly, if you read the literature, you'll find that there's a great deal of dependence on the kind of practice you do. Merely performing mindless repetition isn't going to help at all. You require a certain kind of focussed practice to get the benefits of the 10,000 hours rule Gladwell extols. The book "Peak: Secrets from the New Science of Expertise" goes in depth about the fallacies in Galdwell's book. One of the authors of that book is the guy whose research formed the basis of Gladwell's own book. I would recommend you read that in order to understand where Gladwell misleads.

In summary, if what you want from a book is pseudo-scientific reasoning for increasing practice time, Malcolm Gladwell is your man. If his words motivate you to practice harder, go ahead and read him. However, if you want scientific reasoning behind why practicing works and how to extract the most out of it, you'd best look elsewhere. The statement "Excellence requires 10,000 hours of deliberate practice" is itself untrue. This varies wildly with the kind of practice you do, the kind of feedback you get, and the field in which you wish to gain excellence. Oversimplification, as Gladwell does, is an easy way to make yourself a target of accusations of quackery. The statement that "Excellence requires many hours of deliberate practice, and you'd better practice things the correct way for your practice routine to work for you" might be a better characterisation of the science as is currently understood.

</comment></comment></comment><comment><USER9> Anyone who knows anything about violins or violinists, know that the difference between the "best" and the merely "very good" is rather arbitrary, subjective and down to fashion (or even nonmusical factors). It's thus not surprising practice makes little difference - all those violinists are as good at the technical aspects as you can sensibly get.

<comment><USER10> As a classically trained violinist with decades Of experience as a professional musician, this is not at all my experience.

At the age of 16 I was dedicating 6 to 8 hours a day practicing. That was the norm among my classmates.

The lead violinist in our orchestra was a prodigy who picked up and mastered a piece in two weeks which most of us would never be able to play.

Trained violinists can tell the difference between many levels of ability and performance.

The truth is that there are people who can play the instrument beyond the reach of everyone else.

That's true for any highly technical instrument, of which the violin is certainly one.

If studying violin taught me anything, it is that there is a power law to human ability and deliberate practice is simply an augmentation (which is also an unevenly distributes ability).

</comment></comment><comment><USER11> One of my canonical examples of "first, start with talent" is found in the world's great football (soccer) players.

As the most popular sport in the world—and one which a huge share of young persons try to attain some mastery AND where scouts comb every corner of the earth in search of talent—the stars of the sport are outliers on the orders of 1 in 10^7.

This YT clip (2m33s) of Neymar, Jr doing "The Crossbar Challenge" demonstrates how far out on the long tail the best players are.

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

I think it's not controversial to claim no amount of practice could take you to this level unless you "have it."

<comment><USER12> If talent, luck, resources, and a temperament for hard work are assigned randomly, some people will have all of them, and you will find them at the top. What stories they tell themselves or others about the key to success are irrelevant, because only people with _every_ advantage can be the best. That's what being the best is. How can one factor be more important?

</comment></comment><comment><USER13> I believe that the current phrase is: "Practice makes _permanent_."

It's up to the person to make sure that what they practice is correct.

<comment><USER14> Exactly - I have done a number of research studies focused on how musicians do or do not develop robust memory models of the pieces they learn, based on how they practice, and the data consistently pointed to a correlation between robustness and practice approach.

Anyone who has taught piano for example knows the most common mistake of novice students is to omit sharp or flat notes (the black notes) when learning notated music which begins to include them. In this case, the student will practice the wrong notes for long enough before their next lesson that the wrong notes become engrained in their memory model, resurfacing under duress such as in recital. There are similarities for other instruments (strings: intonation, woodwinds: embouchure, percussion: rhythmic accuracy, etc.)

The most talented students seem to gravitate consistently towards robust memory models for their respective instruments technique as a way of freeing themselves up as quickly as possible for the more enjoyable aspects of perfecting a piece of music: refining expression.

Perhaps one day there will be tools which can assist those less naturally predisposed to developing robust memory models, before it's too late for their brain, the way the most talented students do.

</comment></comment><comment><USER15> After reading this article I'm not sure if I read or learned anything new. The article tries to challenge the 10000 hours rule, but fails to provide details or numbers that suggest what other factors would be more important. It briefly mentions things like "talent", but after reading Growth Mindset I'm convinced that talent alone just provides a starting advantage. The book gives plenty of examples of that.

The article should highlight more what kind of practice they refer to and what they think is the main contributing factor.

I think to become an expert in something like playing a musical instrument focused practice and repetition is necessary, so having the right coach is extremely important.

However, the most crucial piece might actually be the passion or willingness to learn in my opinion.

<comment><USER16> I feel like I hold two conflicting beliefs...growth mindset (the brain is a muscle which can be exercised) and inherit talent...

My belief in growth mindset has help me improve my communication skills both oral and written. However I also recognise that I have certain limitations based on natural talent. For instance, I'm likely to never to be as good at word games (i.e. scrabble) as many friends and family members. This is at odds with my growth mindset to a certain extent.

Maybe any skill can be improved upon but natural talent gives us an inherit advantage over the rest of the field.

<comment><USER17> The model I have right now is that talent is learning rate, so I don't see how the beliefs conflict with each other.

Some people pick things up faster than others, but if you put more effort you can still catch up.

It also explains why even talented people still need to practice/learn/etc. to be at the top of their fields.

<comment><USER15> A friend of mine is a professional violinist. People say she is really talented and skilled. The interesting thing is that she gets very upset when people say: you are so talented.

The reason she explained to me once is that people see her perform and play and think that's just how easy it is for her.

She said to me once: "Noone sees the thousands of hours I practiced by myself in a dark rehearsal room without even a window at school". That was quite enlightening to me.

So, if someone says it's just "talent", its quite offensive to her. It's hard and dedicated work.

<comment><USER18> But it is true. Take any random person and get them to train for this many hours, they won't even come close.

Both are necessary.

She gets upset because she bought into the culture that tells us we control everything about ourselves. Which is somewhat of a lie in many ways.

<comment><USER15> No, she gets upset because people ignore the fact that she had to work to become that good.

Also, any random person can learn to play violin sufficient enough to play in an orchestra (besides a physical or mental disability maybe). Maybe not professionally because that needs addition passion and dedication and there is a lot of competition. But playing good enough for a community orchestra that requires audition, pretty much anyone can achieve.

</comment></comment></comment></comment></comment></comment><comment><USER19> As a learning violinist with 2 years experience I can understand this completely, especially with good teaching and focused practice.

I noticed a real difference between when I switched from a teacher more suited to children to one more for adults. My practice became more focused, my time was better spent and overall the quality of my playing drastically improved.

Additionally, if my teacher is away for a week and I go without a lesson, I notice that I can spend a lot of time creating bad habits which then become muscle memory.

So I can understand why 10k hours of poor quality practice can be worth 5k hours of good, focused practice

</comment><comment><USER20> > In the book, Gladwell states that "ten thousand hours is the magic number of > greatness".

> "The idea has become really entrenched in our culture, but it's an > oversimplification," said Brooke Macnamara, a psychologist at Case Western > Reserve University in Cleveland, Ohio.

Yeah, that's because Malcolm Gladwell peddles bullshit.

<comment><USER21> The 10,000-Hour Rule Was Wrong, According to the People Who Wrote the Original Study

[https://www.inc.com/nick-skillicorn/the-10000-hour-rule- was-...](https://www.inc.com/nick-skillicorn/the-10000-hour-rule-was-wrong- according-to-the-people-who-wrote-the-original-stu.html)

<comment><USER22> That article is a list of irrelevant nitpickery and mischaracterization of Gladwell.

[https://www.newyorker.com/sports/sporting- scene/complexity-a...](https://www.newyorker.com/sports/sporting- scene/complexity-and-the-ten-thousand-hour-rule)

</comment></comment></comment><comment><USER23> I feel like this is responding to the extreme simplification simply practicing more produces results which is analogous to the 10,000 hour Gladwell comment.

Most people would agree simply spending hours on something doesn't usually get you very far. It's the quality of that training tied to your own aptitude for the subject.

Sadly or thankfully, since we don't know the limits of our own aptitudes, we can really only do high quality training to see where we peak out.

I think it's easy to believe that the above statement is widely understood, but it's not. Meet any kid who has been forced to do piano, swimming or whatever by their parents.

My parents and I know so many others who simply forced their kids to practice practice practice in hopes it will lead somewhere.

12 years of piano. I barely even know how to read music and play any instrument.

<comment><USER24> Repetition without feedback (from reflection or assessment) is just repetition.

You need some feedback about how wrong you are and in what dimension. You then have to adjust that dimension proportionally to the feedback.

All of that is hard.

</comment></comment><comment><USER25> As an art teacher, I have certainly seen the best artists evolve naturally from those who also work the hardest. As Weisberg mentions in 'Creativity: Beyond the Myth of Genius', when the Beatles moved to Hamburg, they were a run of the mill band. When they returned, they were the Beatles as we know them. The reason: gigging four hours a day, seven days a week over one year.

However, I have also seen other factors play a part. Certainly, the very intelligent artists are prone to self-destruictive criticism, and frequently fade from view. But in my experience, the most important thing an artists can posses is a coherent sense of self.

<comment><USER26> When you think of the "best artists" you've seen, are you making any distinction between technical and creative skill? For example, there are many great studio musicians who are nonetheless nowhere near as good as composers of original music. I would expect that technical skill is a more natural outgrowth of hard work than creative skill, even as the Beatles-in-Hamburg story claims a growth in creative skill.

<comment><USER25> Well... generally I would say that a good artist is a mix of the technically adept, some kind of sense of self, and 'being there where it's at'. That last value refers to how in tune they are with the cultural zeitgeist. There are ways around the first value, but not the second and third.

</comment></comment></comment><comment><USER27> It takes one look at a professional sports team to see that practice is not sufficient to reach the highest levels of ability. This is particularly pronounced in basketball. For example, compare the skill level between two very good players: Steph Curry (6'3") and Shaq (7'1"). Shaq at 6'3" would never have been a pro player. Steph at 7'1" would be the greatest player of all time.

<comment><USER22> How do you know steph could have developed the same way it he were taller?

<comment><USER28> Exactly! If Steph was 7'1", my bet is he would rely more on playing closer to the basket (like Shaq did) and would not have had a need to develop his 3-point shooting to the level that it is today. Also, how do we know that Shaq at 6'3" wouldn't have developed into a different style of pro player?

</comment></comment></comment><comment><USER29> For a much better treatment of the same general idea, read "Peak: Secrets from the New Science of Expertise" by K. Anders Ericsson.

</comment><comment><USER30> 1\. Deliberate practice is different than merely putting in hours. So 5,000 of difficult practice could build skills more than 10,000 of mindless repetition.

2\. "10,000 hours" is a necessary, not sufficient, condition. Further, some fields (like chess) can enable expert performance with fewer hours than other fields (like history) due to the difference in skills required.

<comment><USER31> The deliberate part is so often overlooked since most people only know training with a teacher, where they give the responsibility for the deliberate part to the teacher without even knowing.

If you start learning by yourself from every 10 hours of practice maybe only 1-2 might count as deliberate. If that efficiency is tracked as well, one could argue that even a motivated learner might take up to 20k hours to get to his 10k hours of deliberate practice.

<comment><USER18> Interesting theory, but is it backed by anything other than supposition?

Longitudinal, crossectional pilot studies at least?

<comment><USER31> I have the same google that you have (assuming that you don't live in a country with a "Secret Special Google" project).

What you find feel free to share it here for others to read. :)

</comment></comment></comment></comment><comment><USER32> My karate instructor always said "perfect practice makes perfect". Your teacher helps you define what "perfect" is, and it's up to you to slow down or break up what you're practicing in order to achieve that standard.

</comment><comment><USER33> I like "perfect practice makes perfect" and "practice makes permanent". It's why you often have to spend a lot of time unlearning bad practices before you can move forward to a higher level.

</comment><comment><USER34> Seems obvious, I think we've all worked with that one person who's been writing software for 20 years and still sucks, making the same mistakes over and over again.

</comment><comment><USER22> Article is just a long-winded confusion of correlation vs causation. Nothing to see.

</comment><comment><USER35> But the perfectness always comes with the practicing.</comment>


So you're the CEO, what do you actually do? - <AUTHOR> http://www.tophatmonocle.com/blog/2010/12/16/what-does-a-ceo-do/ <comment><USER2> possibly relevant comment and discussion

"A CEO does only three things. Sets the overall vision and strategy of the company and communicates it to all stakeholders. Recruits, hires, and retains the very best talent for the company. Makes sure there is always enough cash in the bank."

<http://www.avc.com/a_vc/2010/08/what-a-ceo-does.html>

<comment><USER3> That's true once the company reaches critical mass. Before that, the CEO does everything from setting the strategy and recruiting talent, to piping cables and making sure the pixels line up just right.

<comment><USER4> No, before that, you don't _have_ a position called "CEO." You just have a "business guy."

<comment><USER5> Or in the case of the original post, a developer / business guy.

</comment></comment></comment></comment><comment><USER6> This reminds me of my Schnitzelconf talk from last September. Slides here if you're interested: <http://bit.ly/cotoletta>

<comment><USER7> My favorite part was the last slide where you gave an overview presented in a table..I really loved the Feeling row, I can really reflect on it(we're near launching).

doing the time: happy

making it real: not so sure

making the jump: cry

launching: scared <\-- a lot of us are here :(

some traction!: Yes!

gaining momentum: Ack!

growth: AAACK!!

team in place: Adjusting

sustain: Happy

</comment></comment><comment><USER8> What does "coop" mean in this context? ("founders and 2 _coops_, based in my living room") Is this basically an intern from a cooperative education program? If so, I'd love to hear more about your experience as a startup being involved in that kind of program.

<comment><USER9> My school (Rochester Institute of Technology) had a huge coop program. The major difference I think is that coops are short term, paid work. You're supposed to be treated like a short term Full Time Employee (as opposed to someone who is supposed to go make coffee). People in technical majors would often get coops with Microsoft, Apple, Google, Cisco, etc. To complete your Computer Science degree, you were actually required to have completed 4 3-month coops.

<comment><USER10> Hey, another RIT alum, cool! /waves

<comment><USER9> Hi there!

</comment></comment></comment></comment><comment><USER11> Two things I picked up from this:

1) It's really import to have software chops as a startup founder. Top Hat Monocle started off with a CTO co-founder that was dedicated to development, but it seems like coding took up most of the time for all three founders. There's a lot to be said for selling early, but unless you have the funding to hire developers from day 1 you'll be moving much slower.

2) axiom's job description never changed all that much over the last 18 months; it's more just the distribution of time. That's seems like something that can be easily modified to suit the CEO's experience by hiring the right people.

<comment><USER12> Something else can be gained from the first point, and that as a start up, at first, your priority is to get something that you can actually sell and market.

There's no point spending energy marketing or selling something that doesn't exist yet. No point in having a website about it either. Code your product/service first, because without a product/service you can't sell it, and without sales you have no income.

<comment><USER13> I have to half-disagree with this, you CAN "sell" something that doesn't exist and sometimes it's a good way to test interest and ideas.

You don't want to sell complete vapor (as in get a lot of interest then be like, oops now wait 4-5 months or whatever) but you don't want to build something that nobody wants or realize that people don't want it as badly as you thought they did.

</comment></comment></comment><comment><USER14> Email. Lots of email.</comment>


An Open Letter To the 5 Million Confused People Who Bought a Samsung Galaxy Note - <AUTHOR> http://gizmodo.com/5897516/an-open-letter-to-the-5-million-confused-people-who-bought-a-samsung-galaxy-note

<comment><USER2> What is with this arrogant assault on choice? Some people want big phones - get over it!

</comment><comment><USER3> I have big hands. It looks good to me.

Or maybe not - I've actually grown partial to the Nokia 1100. It's got a truly wonderful feature - 7 day battery life.

</comment><comment><AUTHOR> I thought even Samsung was confused - Is it a Phone, or is it a Tablet?</comment>


A bot fixes spelling mistakes in github readme files - <AUTHOR> http://blog.holdenkarau.com/2011/08/automatic-spelling-corrections-on.html

<comment><USER2> Interesting idea, although it would be nice if Github optionally fixed spelling mistakes for you. Pull requests just for spelling errors have got to be annoying. (I just run flyspell in Emacs, so I never make spelling mistakes. Accept when I use the wrong word.)

The code is also pretty interesting. It's old-style Perl with indirect method calls, bareword filehandles, no "use strict", and so on... but then it uses modules that use Moose and MooseX::Traits. So we have a collection of scripts that look like they are from 1987, but that depend on Moose. Excellent!

(Actually, this inspired me to read the source code for Net::Twitter to see if it was using MooseX::Traits. Turns out they just copy-pasted from an older version of MX::Traits to get their traits functionality. Weird!)

<comment><AUTHOR> Sorry the perl code is so poor, it was a post-clubbing quick-hack type project. I'll clean it up when I have some free time again :)

<comment><USER3> You may find the following CPAN modules helpful when you do your refactoring:

* Net::GitHub - <http://p3rl.org/Net::GitHub>

* Pithub - <http://p3rl.org/Pithub>

<comment><AUTHOR> Oh excellent. I only looked at Net::GitHub initially, but Pithub looks more interesting.

</comment></comment></comment></comment><comment><USER4> So git becomes the presentation component of a spellchecker - a novel and interesting re-architecture.

You could do similar with peep-hole optimizations, bizarre bots that transform iteration to recursion (and vice versa), transforms to immutability, factoring-out common code, adding automatically constructed test cases ... I wonder what else.

It would be like _helpful spam_. _EDIT_ or clippy "It looks like you're writing a loop. Would you like help?" Actually, this could be a channel for _code analysis as a service_. You subscribe (for fee or free), it's all hosted and updated remotely and git-based (github public/private, or self-hosted).

</comment><comment><USER5> Is anyone else as amused as I am by the juxtaposition of "I was at jwz's club" immediately followed by "perl and regexes seemed like a good idea"?

(now he's got _two_ problems...)

</comment><comment><USER6> Man, what a fantastic idea. Mildly interesting at the moment, but start running a static analyzer bot over everything, and its golden.

should probably be an opt-in service, but WOW it would rock.

</comment><comment><USER7> I've been working on something like this recently, but I guess this guy beat me to the punch. Here's my nearly-done rainy day code:

<https://github.com/Miserlou/WhitespaceBot> (Python)

I'd like to add some security fixing stuff too. There's plenty that can be done here!

Bots are the secret reason why Wikipedia actually works - there's no reason why we can't have the same benefits in open source software.

<comment><AUTHOR> Your whitespace bot looks nifty :) Will you post the results when you start running it?

</comment></comment><comment><USER8> I can't wait until I get a pull request trying to fix the spelling of my project name.

<comment><USER9> Or for "fixes" like colour/color or centre/center.</comment></comment>


A world without advertising - <AUTHOR> http://bemmu.posterous.com/a-world-without-advertising

<comment><USER2> Seems like the article is just setting up a strawman. You can't send bulk email, so you can't initiate contact at all, so you can't set up an industry event? Seems unlikely -- the result does not follow from the preconditions.

Basically, a world without unsolicited advertising would be one where you type "widgets" into Google and get a list of companies that make widgets. A lot of people do this even in the world _with_ advertising.

Similarly, how do you know that Target exists down the street? Not from ads you see while reading _The Atlantic_... you know it exists because you can see it with your eyes.

So anyway, this argument is not very good. A world without spam and banner ads would be just fine. I'm already living in it.

<comment><USER3> But if I have never seen Target advertised and I haven't made an effort to go inside, how am I supposed to know what they sell? Are customers expected to make a visit to each new store that opens? Are they expected to give them a call or google the name of the store when they get home? How else would they initiate contact?

<comment><USER4> We do not exist in a vacuum. My wife just left on a baby shower with some of her friends. They're going to eat at a local restaurant we've all seen, but only one of them have been to. They said it was good.

How miraculous! How spectacular! How.... utterly ordinary and common.

Most people are complaining about push advertising. I don't know anyone who says they want stores to take down their signs or websites and wants to ensure none of their friends ever talk about any products or restaurants or anything.

</comment></comment></comment><comment><USER5> Advertising is only annoying when it isn't targeted enough. Perfectly targeted advertising will be indistinguishable from any other piece of information in the near future with advanced recommendation engines.

Once everyone is online (in some sense), and that data is made open and accessible (perhaps Semantic Web)... then advertising will still exist. But you will pay a small amount for your message to go out to the exact people that you want it to go out to, in this case, bakeries. And the message won't blanket-out to every bakery, only those that don't already have a fancy bakery business app... plus it will focus primarily on bakeries which hint at a need for such an app (based on their online postings).

<comment><USER6> Ads can be made less annoying by targeting them well. But the major problem is that annoying advertisement and spam _works_. Even though a bulk of them fall on deaf ears, the benefit, that a small percentage of them initiates a sale, more than compensates for the costs. That, followed by the other property that ads can persuade people to buy things that they dont really need, makes it unlikely that annoying ads are not going to go away soon. Companies will continue to have an incentive to show ads to people who don't really need that stuff or have interest in that stuff.

Effectively, the target becomes not that population who will not be annoyed, but the population that can be persuaded to buy with a profitably high probability. The operating point will largely be dictated by the cost of delivery and probability of conversion. Competition sort of guarantees that the former is driven lower and lower.

So far, the loophole has been that the advertisers are not charged an annoyance fee that is over and above the delivery cost. But as treelovinhippie suggests once they start getting charged, things will change.

</comment></comment><comment><USER7> I moved to Warsaw Poland in 1992 for one year of foreign study. The wall had come down 3 years earlier and Poland was quickly transitioning. There were no billboards when I moved there. Nothing. Nada. There might have been the occasional Coca Cola sign on the side of a kiosk but billboards didn't exist.

I distinctly remember when I saw the first billboard in Warsaw. After the first one they just started popping up everywhere, on all the streets. I remember the psychological realization that Poland was now somehow joining in some international conversation. The adverts made me feel less isolated in Poland. But also made me feel small and insignificant. Seeing adverts for the first time in a year, and the first time in my new country, was a catalyst for a psychological reevaluation of my place in the world.

This experience led me to believe that advertising disempowers while also connecting people. And its affect is psychological. Not physical but still profound.

<comment><USER8> Commerce disempowers while connecting people. Commerce also empowers people while creating or reinforcing social distance. There are different trade-offs.

Of course, the effects are profound.

</comment></comment><comment><USER9> There are lots of ways to advertise that don't resemble cold calling, spam, or banner ads. Probably the simplest is article writing.

Write about a problem your customers have, and explain how your product can solve it. Write about a subject popular with your target audience and bring your product into the story (or just stick in a promo paragraph at the end).

If you write well and have a good product, people will find you, and they will tell their friends.

<comment><USER8> A world of _search and micropayments_ would be a world without advertising. Everything would be in the form of information services. You pay for searching to find what you like, then you pay additional when you find it.

I wonder if it's now possible to set up a "Free Market Information Bubble"? Have a browser add-on that removes all ads and makes the Internet operate on micropayments? It seems that there's a subset of the Internet who would be delighted to pay for such a thing.

</comment></comment><comment><USER10> I'm confused: How are you solving problems for a profession when you know nobody who does it? And if you're solving problems for people you do know, why is there difficulty getting the word out?

Also, for what its worth: tech isn't the only industry with magazines, listservs, and conventions.

<comment><AUTHOR> It could be a service that benefits many industries, so you don't necessarily have just those bakers in mind. For example Campaign Monitor could be useful for many industries to improve customer retention. The POS system the bakery uses would be another example.

</comment></comment><comment><USER11> Any smart baker who wants to increase efficiency and lower the costs or who wants to grow or at least remain in the rapidly changing market will never ignore the industry and will try to keep up with latest industry news and listen to recommendations from his fellow bakers. If your app/software really helps bakers save money, increase efficiency, keep the costs down, etc. don't worry, those smart bakers will somehow hear about, you don't have to spam or buy superbowl ads, attending a few bakery related industry expos, etc would be enough. Those bakers will hear you, but those who don't, you don't need them, they are going to be out of the market in a few years anyway. They say only half of the money spent on advertising was worth it, but which half? Nobody knows. While the half that worked are the ads that hit targeted consumers, the other half just annoyed people. Now when even offline targeting will become possible I don't think advertisers will be still willing to pay the other half just to annoy people where they can spend half the budget and target that half of people who are potential consumers.

</comment><comment><USER12> Hmm...

That's a good question.

I'd first ask what is advertising a direct response to? And what was eliminating advertising a direct response to?

For the former, I believe the first ad was placed in like the 1700s. Wait... I'll Google it... the first newspaper ad was placed in 1704 by a seller in Oyster Bay who wanted a buyer for their estate. (Thanks to AdAge for that one: <http://adage.com/century/timeline/index.html>)

So, I'd say that advertising is a form of getting the word out about something, when you know that someone might need it, but you're not exactly who specifically.

Then eliminating advertising would be getting rid of it because too many people were trying to get the word out, so much so that the channels for even knowing what was relevant to the receiver were saturated beyond belief.

I'd say get rid of the profit incentive, not the advertising. If there's no profit incentive for advertising, but instead direct communal bartering gain, then fewer people would advertise. The adverts you would see would be direct needs targeted to direct people who needed that stuff.

This reminds me of Craig's List. I used to love Craig's List because it was so much about community, and people sharing their needs and or looking to fill others' needs. However, when the traffic grew, the profit incentive grew, now Craig's List is over saturated. Way, way over saturated. That's why I'm now a member of Quentin's Friends. I pay $15 bucks a quarter for access to a community of people where there's minimal profit incentive driven advertising and posting, and more communal driven exchanges.

</comment><comment><USER13> I think product sales is a game of incomplete information in which sellers don't know what each buyer wants and buyers don't necessarily know what they want either. It seems to me that advertising, which is effectively gambling on consumers' unknown desires, is the only way for either party to discover that hidden knowledge of what buyers want -- a commercial Monte Carlo simulation of sorts.

"If I had asked my customers what they wanted," Henry Ford once said, "they would have said a faster horse."

</comment><comment><USER14> I don't have a problem with _passive_ advertising. What I find annoying is the advertising that steals the most precious thing I have - time. Spam emails, cold calls and link baiting scraper sites fall into that category.

If you _really_ think your product is in my best interest, pay me to listen to your pitch. Otherwise, place your ad on a web site containing interesting original content or get a web page and let me google you if I need your service/product.

</comment><comment><USER15> In Cary, NC, signs are heavily regulated. Driving around the city is quite peaceful as a result; there isn't much, if any advertising visible. People know what they want and need, and know where to get it, so it's not problematic. However, in the software space, there have been times that I would not have known about a helpful piece of software if it were not advertised.

<comment><USER16> That Cary situation sounds lovely to me. Business signs are naturally engaged in never ending war to be attention getting, new looking, big, bright, high off the ground, and generally impossible to ignore. As far as I can see, only government regulation can address this problem.

</comment></comment><comment><USER17> > "Imagining for a moment that we live in such an ideal world, how will people > find out about new products or services?"

They look for them. I realize that part of salesmanship is making people feel they need something that they did not know existed. The problem is most sales people seem to think that you need whatever they're pandering regardless of whether you actually do. So I'd rather leave the decision of whether I need something or not to myself rather than to salesmen.

Maybe what you're really asking for is not "how will they find out about them" but rather "how will I make them find out"? The answer is you won't. The internet is good enough, thank you. Maybe you'll be covered by my favourite blog or magazine, or I'll hear about you from a colleague.

<comment><USER18> I don't have time to look for things. That is the service advertising affords me. It tells me about stuff I might be interested in.

<comment><USER17> In theory, I agree. In practice, even targeted ads such as google or facebook ads rarely hit the mark. I've clicked maybe one in the past year.

<comment><USER19> It's a hard problem; 99% of everything is irrelevant to 99% of all people.

</comment></comment></comment></comment><comment><USER20> We are already heading towards a world where the advertising someone is exposed to depends on their expressed interests. Advertising the user wants is no longer annoying, it is useful and helpful. If advertising is so negative we could start calling directed advertising 'advice'.

<comment><USER21> I think a really good example of this is Amazon's "other products you might like." Bad examples are distracting banner ads, even if they are targeted. By distracting, I mean blinking, moving, making sounds, or otherwise drawing the reader away from the content they are trying to view.

</comment></comment><comment><USER22> Site wants a lame login to comment, so I'll just do it here:

The solution is you need to know some bakers, who have baker friends. In theory you'd have already developed these connections while working on your bakery software. (Seeking advice on what they'd find useful + testing of early versions)

On advertising more generally, I was once opposed to using adblock and such since it theoretically hurt the ability for sites to pay their bills. Now that intrusive user tracking has become more popular, I figure all bets are off. I think that advertising's worst enemy is itself.

<comment><USER23> Taking this a step farther, the bakery industry would be interconnected via social tools like Twitter and LinkedIn. People in the industry would subscribe to each other's industry-related streams and so would find out about the events without bothering anyone who wouldn't be interested. The key word here is 'unsolicited', obviously if you solicit information you aren't going to be annoyed when it's presented to you.

</comment></comment><comment><USER24> Baker A: lives in a cave and consumes zero information

Baker B: actively pulls in information about surroundings

If the product you introduce actually generates substantial value for bakers, then Baker A will be forced out of the market by Baker B. In the very unlikely event the entire market of bakers is type A, then you launch your own bakery and make a killing. In the unlikely event there are plenty of type B Bakers but none of them have started an information pull source, then you launch your own information pull source and make a killing.

</comment><comment><USER25> Advertising is obnoxious when it is interruptive. Surely, the bakers would like to read more about your product when they are looking for software solutions for bakeries. But interruptive ads (like cold calling, TV ads etc.) do not respect the audience's context.

Make your product easily discoverable but only with the right targeting. And avoid push-based advertising like bulk emails, SMS, cold calls.

</comment><comment><USER26> And here's how that world without advertising would look

[http://www.flickr.com/photos/tonydemarco/sets/72157600075508...](http://www.flickr.com/photos/tonydemarco/sets/72157600075508212/detail/)

Just came about it on Flickr a few days ago, coincidentally.

</comment><comment><USER27> Here's another idea... in world without advertising, there would be a Baker News site that the cutting-edge bakeries would visit and participate in. The hacker would post a link to their software there, and have a chance of it reaching the most forward-thinking bakeries.

<comment><AUTHOR> It might be difficult to have a HN-like addictive site for people in fields in which computers are used less. All my friends work in science / software / engineering fields, so this might be a false assumption though.

</comment></comment><comment><USER28> There is a difference between ads that intrude in our lives or attempt to influence us and those that serve to gently inform us of something valuable. I think we need more of the latter and less of the former.

</comment><comment><USER29> I'd much prefer there was one place to go when you need to buy something. One directory where companies would place their announcements about their products services with full descriptions and current prices and cathegorize it in all ways possible. Directory would be diligently moderated and flaws of the system that could give some people unfair advantage would be fixed daily.

It almost already happened for used goods. If you want to buy used good you go to ebay. If you want to sell used good you adertise it on ebay.

</comment><comment><USER30> This article has an interesting premise.

Some products spread because they are so high quality. Google became a giant because its search was superb, Starbucks its experience great, and Facebook so life-enhancing.

But advertising is just a part of free enterprise. Such quick successes are the exception, and advertising can genuinely create awareness of value adding answers.

<comment><USER23> _...advertising can genuinely create awareness of value adding answers._

While certainly it can, the problem is that the vast majority of time for the vast majority of people it doesn't and is consequently wasteful and annoying. I imagine that there were a small fraction of cases in which leaches were also medically effective.

</comment></comment><comment><USER31> Word of mouth? If a product is good, people will talk about it (there's certainly no shortage of avenues to publish your thoughts nowadays).

</comment><comment><USER32> I already live in a world without ads, thanks to adblock plus (and the fact I don't watch TV, because we have no room for it in our tiny living room, and we didn't care enough to make room for it).

I find out about interesting stuff using the internet. Blogs, stackoverflow, HN, forums, word of mouth, etc.

</comment><comment><USER33> Wait? People need to have heard of a product before they'll buy it? _And_ people who make products need to be the ones to tell people about them? Next you'll try to tell me water is wet or that the earth revolves around the Sun. Surely you have something to add to the subject other than truisms.

</comment><comment><USER34> A world without _bad_ advertising:

Opt-in + Opt-out advertising.

Asking your friends, alpha-geeks are better.

Trusty recommendation engines where I place my interests and earn my respect by don't trying to fool me.

</comment><comment><USER35> Start a bakery

</comment><comment><USER36> SEO.

<comment><USER36> I should flesh this out a little bit... the original poster asked for a world without advertising and how a company would find customers in such an environment.

My answer: SEO.

A world without advertising is a world where search engine optimization rules supreme because you must be at the top whenever someone searches actively for the answer to a problem.

Of course the whole proposition becomes nil once you realize that what we call advertising is really just suboptimally placed commercial information.

We stop calling it advertising when it's relevant.

<comment><USER23> I would suggest that you would do even better if you came up at the top even for unrelated searches, because some small fraction of the people that you reach by doing so will become customers. Of course you'll annoy and inconvenience all the others but that's _their_ problem, isn't it?

</comment></comment></comment><comment><USER37> They would have us believe that cold calling, spam and banner ads, keep countries running strong by bringing innovative solutions to businesses. As if people who run businesses are not actively searching for ways to save money.

<comment><USER38> Many small businesses are too caught up in day to day operations to actively try and refine their operations very frequently.</comment></comment>


Log on, drop out, cash in - <AUTHOR> http://www.sfgate.com/cgi-bin/article.cgi?f=/c/a/2006/12/03/BUGTFMNO261.DTL <comment><USER2> Has anyone else experienced this feeling when pursuing entrepreneurship?

"None of your friends are doing anything remotely like what you are doing," he said. "You lose all common ground."

I know I feel like that sometimes...

or like Hugh MacLeod Said (http://www.gapingvoid.com/Moveable_Type/archives/003642.html)

"Once you become an entrepreneur, you find the company of non-entrepreneurs a lot harder to be around. You've seen things they haven't; the wavelengths alter, it's that simple."

<comment><USER3> Definitely true. I think it's a combination of your friends losing respect for you for "dropping out," combined with the feeling of smugness that comes from the same.

</comment></comment><comment><AUTHOR> I cannot explain in words how true that is for me. It's the very reason I moved halfway across the world to Silicon Valley from London.</comment>


224 Slack communities – Awesome list for anyone in tech - <AUTHOR> https://www.deekit.com/224-slack-communities/ <comment><USER2> Maybe mention that you can't see these awesome lists without signing in. And once you click through on a category the browser back button just refreshes the page. It's a trap.</comment>


Robot Maker Builds Artificial Boy - <AUTHOR> http://www.sfgate.com/cgi-bin/article.cgi?f=/n/a/2007/09/13/financial/f043643D82.DTL&type=business

<comment><USER2> Someone at my company observed _:

My favorite part: "Robotics, Hanson believes, should be about artistic expression, a creative medium akin to sculpting or painting."

Which may be tightly coupled to: "The company, which has yet to break even.."

_ but functionality and beauty aren't mutually exclusive.</comment>


Why is so much memory needed for deep neural networks? - <AUTHOR> https://www.graphcore.ai/blog/why-is-so-much-memory-needed-for-deep-neural-networks <comment><USER2> This would have benefited heavily from a couple of figures showing the calculations. In particular, it is interesting where they discuss that a 50 layer resnet needs about 168 megs of memory.

This is followed by a paragraph that quickly jumps that 168M to 2G. But, that paragraph is also discussing training. I'm assuming the 168 was just the net for execution. But, I'm not sure on that. (In particular, this raises a question I've had of wondering when a GPU really helps with the execution of a network, not just processing enough data to train it.)

All of that said, really cool article. Any points people think casual readers are likely to miss?

<comment><USER3> The 168MB is for storing all of the weights (parameters of the model) and the activations from passing one sample through the network. When you are training, you want to pass a whole minibatch (32 samples in this article) through the network, so the activations (not the weights) are repeated 32 times - that's where the 2GB figure comes from. You need to keep these activations around for backprop to work, so you either store them all, or as the article later suggests, you keep the ones that are expensive to compute and re-calculate the cheap ones. Also note that when training you need to store the gradient of every weight too, so this adds 104mb in this example - almost negligible next to 2GB of activations.

For running a trained model, it depends how it's being used. If you're computing one sample at a time, then the 168MB figure is an upper bound on that (one copy of weights + one set of activations). You could optimize this by only keeping the activations for the current layer because you don't need to save the intermediate activations. If however you're batch processing samples at inference time, that's where you want to make most efficient use of the compute resources, so chances are minibatches are going to be the best route; again the same kind of optimization with not keeping intermediate activations applies here.

As for whether GPUs are useful at inference time, that heavily depends on your model and available deployment hardware. TensorFlow has some support for 8-bit quantized models for targeting mobile/embedded/CPU, so there are ways to optimize for this use case. Even at inference time though, most of your compute work is going to be in matrix multiplies or convolutions so there's plenty of cases where GPUs can help.

<comment><USER2> Apologies, I did not mean to say that the information was not in the article. It mostly was. (I think the only thing missing is that you are saying that of that 168 megs, 104 are the weights and 64 are the activations. This gives 64 * 32 for the 2G of memory. Right?)

The difficulty for me is merely in visualizing.

And I should have said that I was not looking for a single answer on whether GPUs make sense in predicting. A chart with rough guidance on when you will target specific execution environments is all I'm hunting for. My bias is that lower power targets are more common. Phones and the like. But, I would not be willing to bet heavily on that.

</comment></comment></comment><comment><USER4> Short answer is surely an information theoretic one: if a neural net acquires knowledge, it needs to put that knowledge somewhere, and the state of the net is the only place it can be going. Sure, training the net forces it to store that knowledge as efficiently/lossily as it can get away with per the training criteria, but the fundamental information has to go somewhere. Doesn't it follow that if you run a DNN with a smaller memory footprint it will be able to learn less stuff (or its learning will be more sloppy/lossy)?

It sounds like some of this piece argues that implementation choices like SIMD instructions are forcing particular pieces of DNN state to be constrained to certain sizes for efficiency; so I guess the argument there is that there is wasted precision in a lot of implemented state storage that isn't meaningfully useful for the network to capture its learning; that's reasonable - the bit resolution for a network weight should be driven by the mathematical precision of the model, not the practical constraints of hardware. But if you ran those numbers it's also perfectly possible (I guess) that You would find your DNN wants 128bit weights and on current hardware is actually limited by the precision of the weights and states we permit them to store - and that given more memory depth they would be able to learn more.

This seems to start from the premise that we're giving DNNs more memory than they need. Is that actually a given?

<comment><USER5> Interestingly the precision of the weights doesn't seem to affect accuracy much - it doesnt seem like 128bit weights would be that useful. At the moment a lot of work is being done on 8bit (and lower precision, see XNOR) weights

</comment></comment><comment><USER6> If this is the sort of thing that keeps you awake at night: Nvidia has a $700 card (GTX1080ti) with 11G RAM and a GPU that is a slightly modified version of the GP102, which powers the more expensive Titan X.

<comment><USER7> Perhaps more efficient memory use is the answer instead. This article has mentioned most of the published techniques.

As for the 1080 Ti, a better option might be the P100, which can have up to 16GB.

<comment><USER8> A better option... if someone else is paying for it. It is literally ~10x the price of a 1080ti ($700 vs a suggested $7000).

<comment><USER9> The P100 has much better double-precision performance, but it's single- precision perf doesn't justify the cost in most instances.

The DGX1 (w 8 P100's) is another example of an overpriced, turnkey money extraction "solution."

Also worth noting it's hard to get a Ti non-founder edition, which has a hefty premium on it for the privilege of being first. The regular 1080 non-FE cards are probably the best bang/buck right now.

Folking doing ML/AI/DL, or any HPC really, gotta profile their apps to find bottlenecks and root out resource waste: single prec math? ram? algorithm complexity? storage iops? network latency? etc. because throwing money at a problem is no substitute for having a clue how to use money, time and electricity wisely.

<comment><USER10> Compared to what it can replace DGX-1 is not overpriced in any way.

Feel free to invest your time and money into building and debugging issues on your own system. Companies which pay big $$$ to their data scientists have different incentives than regular users - you do not want to waste time of your expensive staff on chasing hardware/software issues.

<comment><USER11> 129000$ for the DGX-1, for anyone interested.

Saves you debugging your way to a workable 8*1080ti, when you look at it from this angle. Not sure if being able to swap out the cards is what makes building them yourself worth it in addition to the cost saving.

<comment><USER12> P100 has double rate FP16 which makes it twice as fast, so make that 16x 1080Ti. Also those won't fit into one machine, so now you're building a cluster, and what are you going to use for the interconnect? You won't get linear scaling, so make that more like 24x 1080Tis plus extra development effort for scaling on a cluster, if your problem even scales that way. Now account for the power usage...

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> "In GPUs the vector paths are typically 1024 bits wide, so GPUs using 32-bit floating-point data typically parallelise the training data up into a mini- batch of 32 samples, to create 1024-bit-wide data vectors. This mini-batch approach to synthesizing vector parallelism multiplies the number of activations by a factor of 32, growing the local storage requirement to over 2 GB."

I would think about that the other way around... batching your data is an ugly hack to get around not being able to load it all simultaneously.

<comment><USER14> Mini-batches are not an ugly hack, batch gradient descent is too slow since you have to go through the whole data and stochastic gradient descent is too high variance (plus you can't do cool things like batch-norm). Mini-batches give you stability and speed, the best of both worlds.

<comment><USER15> A brain learns one example at a time, which probably means a gradient descent is not a very good learning mechanism.

<comment><USER6> These are not brains, they are not even models of brains even if they use the word 'neuron'.

<comment><USER15> That was kind of my point. Brain learns well using one example at a time. ANNs don't. Hence my conclusion.

</comment></comment></comment></comment></comment><comment><USER16> > Combining memory and processing resources in a single device has huge > potential to increase the performance and efficiency of DNNs as well as > others forms of machine learning systems.

Isn't that describing a Field Programmable Gate Array: memory embedded in a sea of logic cells?

What's the best resource to get someone who knows FPGAs, a decent amount of maths and 1990s style neural nets up to speed on today's deep neural networks?

<comment><USER6> [http://course.fast.ai/](http://course.fast.ai/)

<comment><USER16> Thanks for prompting me to do further research on this. I didn't realise from the initial posting, that this course is based on prerecorded videos and can be completed asynchronously, to fit in with life. The site say students "need access to a computer with an Nvidia GPU", but I reckon it could be an exceedingly interesting exercise to try and do the course with an FPGA in place of the GPU.

<comment><USER6> Alternatively you could use some GPU cloud instances but the end result of that is probably that it ends up costing you more than it would to buy a low- end GPU that you can complete the course with.

It'd be very interesting to see how you do this with an FPGA, that would be quite the accomplishment, especially given the monstrous compute capability that GPUs give, and the communications between high level (say: python) and low level (a GPU or some other co-processor) have all been worked out and debugged for GPUs.

If there is room for FPGA work in there it would probably be some specialized function.

Regardless I'd love a write-up if you do this.

<comment><USER17> If my understanding is correct, FPGAs aren't that fast, and while the really small ones are cheap, they don't fit that much. I synthesized a 32-bit multiplier on a spartan 6, and it took up about 1/5 of the footprint. I figure maybe you could fit 4 16-bit fused-multiply adds (which ought to be able to do machine learning) onto a spartan 6, which is not that great.

What is really going to slaughter you for ML performance on FPGAs is memory bandwidth.

If you have access to a really big FPGAs with lots of memory (on the order of $10-30k...) it might make a difference.

<comment><USER6> I'd see more applications on the evaluation than on the training side but even in training there might be a few situations where it could pay off, you'd still be stuck with a huge communications issue to solve.

</comment></comment></comment></comment></comment></comment><comment><USER18> This question might be a bit off topic but does anyone know of a calculator or library (I primarily use Tensorflow and Keras) to calculate the GPU memory footprint of the network? I only have a 1050Ti and I fit my networks in the memory by manually adjusting different parameters. It would be nice to know how much room I have left to expand my network.

<comment><USER19> model.summary() in Keras will provide you the number of parameters. You can use this with the shape of your data to measure the memory cost.

<comment><USER18> Thanks! Can you explain how I can calculate the memory cost with the shape of my data assuming a batch size of 1 and a input data shape of (10,20,3)?

</comment></comment></comment><comment><USER20> > So a transformation called 'lowering' is used to convert those convolutions > into matrix-matrix multiplications (GEMMs) which GPUs can execute > efficiently.

This confuses me a bit, I'd love to know the details of this "lowering"? How is convolution not already a very straight-forward linear algebra operation?

<comment><USER21> [https://cs.brown.edu/~sk/Publications/Papers/Published/bck-l...](https://cs.brown.edu/~sk/Publications/Papers/Published/bck- lowering-opt-trans-frp/paper.pdf)

 _FrTime induces construction of the dataflow graph by redefining operations through an implicit lifting transformation. Lifting takes a function that operates on constant values and produces a new function that performs the same operation on time-varying values. Each time the program applies a lifted function to time-varying arguments, it builds a new node and connects it to the nodes representing the arguments..._

 _...Unfortunately, this implicit graph construction can be very inefficient. Every application of a lifted function may create a new dataflow node, whose construction and maintenance consume significant amounts of time and space...._

 _...The technique works by collapsing regions of the dataflow graph into individual nodes. This moves computation from the dataflow model back to traditional call-by-value, which the runtime system executes much more efficiently. Because this technique undoes the process of lifting, we call it lowering._

edit* or maybe?:

[http://physics.gmu.edu/~joe/PHYS428/Topic5.pdf](http://physics.gmu.edu/~joe/PHYS428/Topic5.pdf)

slide 16?

<comment><USER20> Interesting. Thanks!

</comment></comment></comment><comment><USER17> I didn't see any mention of striding. For convnets, you have to do a very unwieldy data unroll that either copies your data by (nxn) where n is the width of your kernel, or you have to manually stride, which can cause all sorts of problems with memory bank collisions, paging problems, etc.

<comment><USER6> Yes, this is a real problem. I can easily tell if my GPU is having striding issues by looking at the power consumption of the machine. If I manage to get > 40% utilization I consider that pretty good. GPUs are useful but far from perfect for this application and the quickest way to sink performance is to 'starve the beast' by having sub-optimal memory access patterns.

<comment><USER7> So don't use a GPU, don't suffer from old paradigms :)</comment></comment></comment>


Daisy Architecture - <AUTHOR> https://datalanguage.com/news/daisy-architecture <comment><USER2> I'd like to understand what tooling people use to govern process flows in these architectures. The concept is strong and totally makes sense, but with so many services running, how do we automatically monitor the metrics of each one? Not just in uptime, but in queue length, output quality, server cost, time taken, etc?

<comment><USER3> So far, most customers have treated that kind of data as one more additional data source to be integrated into existing business reporting systems. However I think there's a potentially interesting question here about whether existing kanban tools e.g. leankit could be adapted for use optimising pull-based business operations rather than pull-based software delivery</comment></comment>


Facebook Should Pay Us for Using Our Data - <AUTHOR> https://edition.cnn.com/2018/04/11/opinions/facebook-should-pay-us-for-using-our-data-granholm-eldred/index.html <comment><USER2> They are, with a free service.

<comment><USER3> Exactly. It will never cease to amaze me how people are quick to place a high value on their own data which they create with no effort, but treat a free service as if it's basically worthless.

Maybe we need a paid version of Facebook just to make it very clear to these people what the value of what they are getting in exchange for data.

Otherwise, if you want Facebook to make you money become a shareholder.

<comment><USER4> > Maybe we need a paid version of Facebook

This will never work out. It doesn't work with free competitors to FB, who would it work with a paid version? Even though, frankly, a paid version without ads and with advanced settings would be a pleasure to use.

<comment><USER3> It doesn't have to. The only purpose of a paid Facebook is to place a value on the free version of Facebook, and thus stamp out the argument that people are getting their data taken without anything in return.

At last, anyone who complains about privacy could just be backhanded away with a simple statement "Use the paid version". Assuming the paid version does in fact afford greater privacy and no ads and a tweakable feed algorithm and even analytics for your posted content. Wouldn't that be amazing? Might actually start using Facebook again.

</comment></comment></comment></comment><comment><USER5> Without running the risk of side-stepping the overarching issue of privacy and data harvesting, how can credit rating agencies be made to release our data back to us which was not opt-in to begin with?

The more I think this, FB is a free service and was not foisted upon the users and yet media coverage or outrage on the Equifax breach was very limited (in general).

</comment><comment><USER6> We are not Facebook's customers. Their advertisers are. They owe us practically nothing.

</comment><comment><USER7> "If you are not paying for it, you're not the customer; you're the product being sold."

Source: 2010 MetaFilter Comment => [https://www.metafilter.com/95152/Userdriven- discontent#32560...](https://www.metafilter.com/95152/Userdriven- discontent#3256046)</comment>