Watchy: a distributed system monitoring solution - <AUTHOR> http://redbrain.github.io/watchy/ <comment><USER2> By "distributed" they seem to mean "writes to a shared database"?

<comment><USER3> That is what it looks like to me too. Although it looks like it can operate against a Mongo cluster so its distributed.

<comment><USER4> So not distributed then.

</comment></comment></comment><comment><USER5> I really like that people are valuing monitoring and making tools to do it, but I mean how is this better then SNMP? It doesn't look like it gives any more information then the prTable of the UCd-SNMP-MIB ([http://www.net- snmp.org/docs/mibs/ucdavis.html](http://www.net- snmp.org/docs/mibs/ucdavis.html))

Also if you used snmp instead of rolling your own agent you would get security and encryption (SNMPv3) and the ability to use one of any number of existing monitoring tools.

</comment><comment><USER6> Monitoring background services can be difficult due to changing process ids. If anyone is looking for a commercial product that does this, I would recommend checking out Stackify. We do server monitoring, app monitoring, errors, logs, metrics, etc all in one app. [http://www.stackify.com](http://www.stackify.com)

<comment><USER4> That's a very strange comment. I've never had that problem across several years, platforms and monitoring systems.

Perhaps for a fast respawning process I can see potential problems monitoring it, but that is usually indicative of a problem in itself and something you generally watch for.

<comment><USER6> A good example of this is Windows performance counters since they are process ID based. That is more complicated than knowing if a service named X is running. It's tough if you want to know more than just if the app is running.

<comment><USER4> But in which monitoring system is that a problem? I've just never seen it.

</comment></comment></comment></comment><comment><USER7> UDP might be a rather poor-choice security-wise, especially if you rely on this monitoring to alert you if something goes down.

It's much easier to spoof a UDP packet from an arbitrary source-IP address than it is with TCP.

It gives a fairly easy opportunity for attackers to fake all your service metrics, make it look like everything is Up/Down etc...

<comment><USER8> TCP's spoof protections are fairly limited and weak. If you are worried about being spoofed, address it at layer-7. I wouldn't let spoofing concerns drive my choice of layer-3 protocol.

<comment><USER9> I personally hope you chose IP as a layer-3 protocol.

You might want to decide between TCP and UDP for layer-4, though, but as gingerlime pointed out it is stupidly easy to successfully spoof UDP comms, there's not even need to have a MITM situation. Same goes for ICMP.

<comment><USER8> > I personally hope you chose IP as a layer-3 protocol.

ROTFL! Whoopsie. ;-)

> You might want to decide between TCP and UDP for layer-4, though, but as > gingerlime pointed out it is stupidly easy to successfully spoof UDP comms, > there's not even need to have a MITM situation. Same goes for ICMP.

Yes, but TCP's protections are quite weak. If you are really concerned about spoofing, you are much better off handling that with cryptographic solutions.

</comment></comment></comment></comment><comment><USER10> What about false alarm rate? Do we know what it is? Can we adjust it? Since Watchy is for distributed systems, can it do well detecting problems that have 'distributed' causes?

</comment><comment><USER11> If you're looking for really basic website monitoring and notifications, Vigil is a handy iOS app.

[http://vigil-app.com](http://vigil-app.com)

<comment><USER12> Is it only for smart phones? Do you have the usual version of the tool? I am in search of a website monitoring tool and I am ready to listen to any options. At the moment I like a lot Anturis, which is all in one monitoring tool, but they have just developed iOS app and it is still fresh. I am ready to consider anything else.

</comment></comment><comment><USER13> How does it compare to nagios/icinga?

<comment><USER14> At least looking at its current featureset it looks much closer like it wants to be Logstash or Apache Flume, but with an included frontend. They note the deep inspiration from statsd as well.

Also all communication is over UDP at the moment, which could be bad for poor quality links, but probably OK for most servers.

The main difference from just a log shipper is including a frontend web service to look at data, and a library to link in the app to deliver stats instead of using a more standard protocol like syslog / collectd / ganglia, etc. and having the server parse / ship it.

So it's more of an integrated solution than combining different logging pieces.</comment></comment>


'Viagra for Women' Is Backed by an F.D.A. Panel - <AUTHOR> http://www.nytimes.com/2015/06/05/business/panel-backs-a-drug-to-increase-womens-sex-drive.html <comment><USER2> I'm all for women having more choice/options, but it seems very odd to me that the FDA was delaying this drug due to concerns over its safety, and now after an "intense lobbying campaign" it is approved. Is that normally how drug approvals work? You ignore safety concerns if there is a big public outcry?

If women literally start to suffer negative health effects, it will be on the FDA's hands but also on the hands of these "women's charities" who wanted to ignore the health effects to "even the score."

I like this quote:

> "To approve this drug will set the worst kind of precedent — that companies > that spend enough money can force the F.D.A. to approve useless or dangerous > drugs," Dr. Adriane Fugh-Berman of Georgetown University told the committee > Thursday. She is the director of PharmedOut, a project that questions the > influence of drug companies on the practice of medicine.

I just think the drug should be approved just like any other, on the basis of its safety Vs. relative merits. As far as I know Viagra and other male- orientated drugs also had to go through that same rigor.

PS - Men likely benefit from this just as much as women. However men too will suffer if their love ones are injured by poorly evaluated side-effects.

</comment><comment><USER3> Why is everyone - even the headline - comparing this to Viagra? Even when the body of the article makes the disclaimer "(Viagra treats erectile dysfunction, not low sexual desire.)" they put it in parentheses as if it were insignificant.

<comment><USER4> Your point is a completely valid one. But given the field of available oral medications what would you more properly compare this to; in the capacity of a headline writing journalist?

(a screwy aside: in the pharmaceutical research business we occasionally hear said in hushed tones: "could this be the next 'viagra'??"; by which, sales figures, not functionality, are implied)

<comment><USER3> For headline purposes, it would help if this had a catchy brand name instead of floxy-whatever. But you don't have to make a comparison to anything for a headline. "FDA panel backs sex drive booster for women" gets the point across in as many characters.

</comment></comment></comment><comment><USER5> I'm sure I'm not alone in thinking that a decreased libido is actually desirable.</comment>


37signals publishing uptime data - <AUTHOR> http://37signals.com/svn/posts/3067-lets-get-honest-about-uptime

<comment><USER2> Best part of the article:

"we're not juking the stats here by omitting "scheduled" downtime"

Nice, you score some karma points there. Excluding "scheduled" downtime has always bugged me (including when my employer does it). When you're down you're down, thats kind of the end of the story. Whether or not your customer can do what they payed you for is all that matters to them.

</comment><comment><USER3> tldr; 37signals has average uptime, like everyone else.

Next up: 37signals publishes office room temperature...

<comment><USER4> Go ahead and dismiss this, but I found it valuable. It's not often that a high-profile company publishes their own uptime data, and it has a clear and useful purpose to me. When I'm planning for uptime and making agreements with our customers, it's nice to have a point of reference. In other words, if 37Signals has a hard time getting to four-nines, I would anticipate similar struggles. I may write a four-nines (or five-nines) SLA, but I'll write the penalties in a way that doesn't shoot a hole in my boat.

Yes, we have our own uptime data, but we're a young company, and we're still scaling. Coincidentally, on a similar stack to 37Signals. More data is better.

</comment></comment><comment><USER5> the data is pretty meaningless unless they include a definition of downtime and how they are measuring it.

For instance, they could be monitoring from an internal network and their methodology might not pick up external network outages that take their DC off the air (just an example of why the method and definition are important...).

I don't doubt that they have a great track record of reliability, but this presentation seems a bit thin.

<comment><USER6> We use pingdom to measure external uptime, so network issues will count as downtime as well.

Do you have any other questions about methodology? I'd be happy to elaborate.

<comment><USER5> No not really, although again the value of the stats all depends on what is being monitored and how, etc. For example, Pingdom can report that an SMTP interface looks just great while at the same time it is impossible to send mail on that port because of a bad disk or another failure somewhere else. We use pingdom too and it is a great tool and transparency is definitely great but any number of user impacting events can and do go unnoticed (depending on how you are monitoring and what you are monitoring...)

A great example is that as I write this, I just realized that our public Pingdom network status reports are offline... I count this as downtime against our global availability stats, but it isn't an event that would show up in my pingdom reports :)

<comment><USER5> Stats are back... weird :-) <http://about.hover.com/networkstatus> (as an aside, making it easy for customers to see uptime/downtime and network events eases the burden on customer service and makes it much easier for potential customers to check your credibility. easy to implement and definitely a plus for the business overall).

<comment><USER6> That's nice but feels more like a status page to me than a way to gauge long- term uptime (which is what we were going for here).

For our application outages, it's been pretty well correlated that if pingdom can't get a 200 OK on the test pages we've set up, it's been down. And I don't think we've had much if anything slip in under a 200 OK but still being down.

I'm sure we're still off by a couple of minutes here and there, but the big picture should be quite accurate.

<comment><USER5> Its both, but primarily status. If you drill down, you'll see the long term stats.

</comment></comment></comment></comment></comment></comment><comment><USER7> I was a bit surprised when I checked out their hosting situation. Only in one DC (suburban chicago) and up until about a year ago they were only using one network provider. Now they're on three, apparently they had some real pain points before being multi-homed. I'm guessing the year's timing isn't accidental.

Still not bad numbers considering. Running multiple DC's can be quite a pain in the ass and a money drain, and maybe that's one of the advantages of having really loyal customers. A good example of there being many viable paths to a goal.

<comment><USER8> The timing is not tied to our move off of Rackspace and on to our own hardware, or our move to multiple providers. Noah and JD finally had time to work on making this data public and so we did. The fact that it happened at the end of the year is coincidence.

Re multiple sites, we're working on it.

</comment></comment><comment><USER9> The good thing about 2012 being a leap year is you can have a full day down to do maintenance and still meet a 99.997% 24*365 uptime (credit to @steve_evil for this).

</comment><comment><USER10> Is this what 37s has been up to? I feel they are going the way of ENTP ( see Lighthouse ticket tracker ) ...

<comment><USER11> How do you mean?

<comment><USER10> They have a few products that haven't had any forward momentum in a while (stagnant) -- go look at entp and lighthouse if you want more of an example

</comment></comment></comment><comment><USER12> Following David's lead, we've published our stats for Forkly as well:

[http://blog.forkly.com/post/15190891337/lets-get-honest- abou...](http://blog.forkly.com/post/15190891337/lets-get-honest-about-uptime- forklys-take)

</comment><comment><USER9> Finally, a HN post where <http://damnyouwilljessop.com/> is directly relevant :-)

</comment><comment><USER13> For real transparency you'll have to allow a third party to provide your public uptime data

<comment><USER8> This is something we may make available in the future, but we believe this presentation is easier to digest for the majority of our customers. Right now Pingdom data is going straight into our internal metrics dashboard which produces the public pages, so minus our internal annotations, it's exactly what you'd see in Pingdom. In the past we used a different site monitoring product, and we had to import all the data before closing our account there. (So we can't make that available directly anymore.)

</comment></comment><comment><USER14> This is great! It would be also cool to see a response time report.

</comment><comment><USER15> How is this news?

<comment><USER10> Its news in that every time they make a blog post its the best thing in the world and has to be on the front page

</comment></comment><comment><USER16> Maybe 37signals is thinking in launching 37HerokuYardCloud.

<comment><USER16> why the down vote? :S</comment></comment>


Ben Horowitz Explained - <AUTHOR> http://fitsnstarts.tumblr.com/post/72678355503/ben-horowitz-explained <comment><USER9> To contribute a little to an excellent post:

The best class I ever took was _Race, Rhetoric, and Poetry_ , which stitched together early African-American poetry and hiphop. The central thesis of the class was that self-expression is proof of humanity, especially for African- Americans: one of the most iconic parts of being a slave (and thus being subhuman) was illiteracy; just as Wheatley, Hammond, et al argued their humanity through their works (explicitly and implicitly), generations of hip hop artists escaped their fates by recording their life and finding success in the written and spoken word.

There's a lot of depth and lineage in hiphop, lurking barely under the surface: whether it's Drake sampling Gil Scott-Heron who references Nat Turner, or Kanye cribbing Nina Simone's cover of Billie Holiday's Strange Fruit (which of course was written by Abel Meeropol). There's a reason that self-glorification and bildungsromans are such pervasive motifs; it's not just self-aggrandizement, its self-affirmation.

If hip-hop was a codebase, it would be a massive lump of spaghetti, spiraling into itself with migraine-inducing dependencies. It would be impossible to refactor or decouple, and I mean this in an incredibly positive way.

<comment><USER10> Perhaps Dawkins' "meme" ([http://en.wikipedia.org/wiki/Meme](http://en.wikipedia.org/wiki/Meme)) is a simpler - and not negatively associated like spaghetti code - way to describe it's evolution?

<comment><USER11> All the great human artifacts are messy; because humans are messy. I appreciate the bracing asceticism of Scheme, but I love the impossibly complicated English language.

</comment></comment></comment><comment><USER12> This is a beautiful post. I don't know these people personally but I've deep respect for those that understand inequality, and wish to pay it more than just lip service.

They are completely correct. You can't just create separate clubs for new cultures entering the system, you have to help them to connect into the dominant networks and that means legitimising their own culture in the dominant one. This is one of the reasons I've found it so disgusting how the tech community reacts around the site RapGenius: there's this undercurrent of hatred for baller/rap/black (so-called "douchebag") culture which seems to aggravate every single PR problem they have.

I remember a couple of weeks ago seeing a few people turn their noses up at poetry.rapgenius.com (and other networks on the same platform) but I can't think of a better way to let both cultures cross-pollinate.

>> Networks equal access to jobs, funds, and deal flow, and the networks that run silicon valley are Stanford, Harvard, MIT, Google, HP, Ebay, Facebook, Apple, and PayPal.

Is anybody else genuinely annoyed that sites such as angel.co use these as legitimising signals of worthiness?

<comment><USER13> _there 's this undercurrent of hatred for baller/rap/black (so-called "douchebag") culture which seems to aggravate every single PR problem they have._

Douchebag culture and black culture are radically different. First, there are several different black cultures: everything from upper-middle-class to working-class to poor African-American, plus several Afro-Caribbean cultures, plus a huge number of distinct African cultures.

Douchebag culture (which is in vogue among the VC darlings, especially in the elite networks OP described) is a historically white phenomenon: popped collars, brogramming, saying shit like YOLO and WHPH ("work hard play hard"). Douchebag culture _is_ a dominant culture in the Valley (not the only one) and we need outlets like Valleywag to remind everyone how ridiculous it is.

<comment><USER12> >> Douchebag culture and black culture are radically different.

You're talking about a bunch of white guys creating a rap site and telling me that they're not trying to channel black culture. If the stylings and bravado at RapGenius weren't related to culture from rap/hip-hop I'd be very surprised.

In the past in the UK we used to have "Wigger" culture [0] and it actually was fairly similar... I don't think this anger has anything to do with being a douchebag. I've met people that dressed and spoke weirdly that have been perfectly nice people. I think that people recognise the style as douchebag because it's uncomfortable for them to see white people "acting black".

[0] [http://en.wikipedia.org/wiki/Wigger](http://en.wikipedia.org/wiki/Wigger)

<comment><USER14> Stop.

>> You're talking about a bunch of white guys creating a rap site and telling me that they're not trying to channel black culture.

Oh, they're _trying_ alright.

Said douchebags are roughly as representative of black culture as Ali G was. Though it would seem they're not in on the joke.

There is no "channelling" going on. You can be a person of any color who appreciates and celebrates hip hop culture without reducing its participants to cardboard cut-outs.

<comment><USER12> There's no joke here. And little harm being done. RapGenius is a well loved by its market.

If you believe that how people dress and speak defines their worthiness as a human being (and it seems you do) then go along your own way.

I do not.

<comment><USER14> This isn't complicated.

There's a difference between identity and affectation. When your affectation conflates "acting black" (as if that's even a thing one can do) with "acting moronic", your affectation is intrinsically racist. And when you willfully adopt a racist affectation because despite being a Yale/Stanford Law grad you're apparently incapable of understanding how fucking offensive that is, I am not obligated to show you one single iota of respect.

These guys don't represent anyone but themselves, and—of late—they're doing a poor job of it.

(btw — I think Rap Genius is a great product. I hope its founders don't ruin it.)

<comment><USER12> >> This isn't complicated.

Stop insinuating that I don't understand you. I understand you, I just disagree with you.

>> There's a difference between identity and affectation. When your affectation conflates "acting black" (as if that's even a thing one can do) with "acting moronic", your affectation is intrinsically racist.

Do you think that they believe they are acting moronically?

Or is this perception of moronic behaviour your own? If it's the latter - which I expect it is - then you are projecting racism onto them. It's not something which is intrinsic - it requires the perceiver to have your value system.

(My perception is that they are not acting like morons. And that it's all just good fun.)

The problem I have with this whole argument is that even if a guy had a popped collar, was wearing dark sunglasses inside and kept saying everything was "baller", I'd prefer him infinitely over the guy that looked at him and declared him to be "moronic" and a "douchebag" because of his style. One is harmless but the other is something which to me signifies a close-minded asshole.

<comment><USER14> You asserted that the douchebags with popped collars saying stupid shit are "channel[ling] black culture." You further asserted that the primary objection to "'wigger' culture" (wow) is that white people "acting black" makes other white people uncomfortable.

Your assertions are objectively false.

You also suggested that the negative reaction to the objectionable behavior of the Rap Genius founders is in fact not a reaction to specific behavior by specific individuals, but part of an "undercurrent of hatred for baller/rap/black (so-called 'douchebag') culture". I don't even know what to do with that.

>> _The problem I have with this whole argument is that even if a guy had a popped collar, was wearing dark sunglasses inside and kept saying everything was "baller", I'd prefer him infinitely over the guy that looked at him and declared him to be "moronic" and a "douchebag"_

Good for you. I know plenty of black folks who wouldn't.

<comment><USER12> >> You asserted that the douchebags with popped collars saying stupid shit are "channel[ling] black culture."

I didn't say anything about people saying stupid shit. A negative statement like that would be inconsistent with the rest of my argument.

I also didn't say that they were douchebags. I said "(so-called "douchebag")" which is a british word to show that you believe a term is unsuitable and not correct [0] also I said: "I think that people recognise the style as douchebag because it's uncomfortable for them to see white people "acting black"." I was implying that it was just a term which people use to describe a behaviour that they do not like for classist/racist reasons but which allows them to dodge allegations as such.

>> You further asserted that the primary objection to "'wigger' culture" (wow) is that white people "acting black" makes other white people uncomfortable.

Yes. I believe there is a heck of a lot of underlying racism there - and that we're seeing the same thing here.

>> Good for you. I know plenty of black folks who wouldn't.

Who am I to take away somebody's right to be a dick or offended?

I don't want to continue arguing anyway - my core point was that we shouldn't judge books by their covers: there are plenty of people that speak differently and wear very different clothes from both you and me and we should allow them to be and (in the case of the OP, instead of RapGenius) actively include them in our own culture.

[0] [http://dictionary.cambridge.org/dictionary/british/so- called](http://dictionary.cambridge.org/dictionary/british/so-called)

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> "Let's deconstruct the common misuse of the word "diversity" as thrown around. In Silicon Valley the word means "non whites"."

"The fact is that we don't have enough black and latino founders"

I'm not sure why, but South and East Asians are often ignored in discussions of Silicon Valley's diversity. If you expect that Silicon Valley's "lack of diversity" means that tech workers are immersed in white American culture all day, you are greatly mistaken. It's the kind of place where it is easy to hear 5 languages sitting at a coffee shop.

<comment><USER16> Do you think that Asians are discriminated against, perhaps in different ways? I've never been to the Valley and have been curious about its dynamics for some time.

<comment><USER15> On the one hand, Asians don't count as "minorities" because there are too many successful Asians. Your startup isn't "diverse" because you have 30% Chinese engineers. On the other hand, their success isn't dismissed as the fruits of unfair privilege like white people (this accusation comes mostly from other white people). Part of the reason that writers ignore Asians is that they upset social justice narratives.

On the ground, there are few social barriers between whites and Asians. The exception is that I seldom saw an Asian man dating a white woman, as a commenter mentions below.

In the tech blogs, the large contributions of Asian people and culture to the Valley are just ignored. It is easier to find a noodle shop than a breakfast place. I think Cupertino had the first majority-Asian city council in the US.

<comment><USER16> Are there limits to how high Asian/Indian employees advance up the corporate ladder into management? Are there differences between foreign Asians and American Asians?

<comment><USER15> Asian CEOs and VCs do exist, but I would guess those demographics are underrepresented. I would guess this is due to the first few waves of entrepreneurs being mostly white (Fairchild and Microsoft company photos were much paler than a typical company today). Remember, the whole country was much whiter then, and the United States as a whole has over 5x the proportion of Asians today as compared to when SV was getting started[1]. Asian VCs I can think of made money off of late 90s companies and Facebook.

[1] [http://thesocietypages.org/socimages/files/2013/05/Screen- Sh...](http://thesocietypages.org/socimages/files/2013/05/Screen- Shot-2013-05-07-at-7.33.46-PM.png)

</comment></comment></comment></comment></comment><comment><USER17> >> For so long hip hop culture has been the culture of poor people. The art of beta culture. An oddity that voices the raw emotion of the poor, and that glorifies the suboptimal traits that keeps poor people from mobilizing up the ladder in society. To outsiders, that's all it is. But by using his voice and stage to elevate rap as a useful medium for informing business, it is creating a legitimacy in the business world for this culture and those that come from it.

This is problematic and untrue. There is a great deal of sophistication and cultural consciousness in hip hop and it certainly has its share of successful businesspeople. Sean Combs (formerly Puff Daddy), Jay-Z and Dr. Dre come to mind immediately.

<comment><USER10> That's only 3 people and they have all come up as entertainers first. Why entertainers first?

I agree that hip hop is packed with sophistication and cultural consciousness, but hordes of young wealthy teens listen to rap music almost exclusively as entertainment. They often don't parse the emotional and powerful context of the lyrics - as they are often tied to racial, social, and financial issues they have never had to deal with. They often listen to it as outsiders in that regard.

By prefacing his posts with lyrics, Ben is focusing on the good parts of rap music - hustle and determination - as opposed traditional media which very rarely does that. In that regard he is "legitimizing" rap in the eyes of many people, or at least opening up their eyes and mind in a positive manner.

Excluding entertainers - if you look at CEOs, executives, tech startups - <USER2> think what he's saying is extremely evident. It's also especially strange how few there are considering how influential hip hop culture is in current youth culture, and how influential African American culture has been in the history of America.

Are investors rational decision makers? or gate keepers? It's hard to say in a system he so eloquently and accurately described in the first few paragraphs, and where so few companies actually get funded.

<comment><USER18> >> There is a great deal of sophistication and cultural consciousness in hip hop and _it_ certainly has _its_ share of successful businesspeople.

Read carefully.

</comment></comment></comment><comment><USER19> "Ben is using his power and time (and trust me he is the _only_ one doing this) to build and advocating and acting on the design and construction of an authentic network that facilitates participation and adoption of the culture." \- I would suggest others are doing this; however, I think none are doing it AS WELL as Ben is these days.

It's funny because people think Ben's cultural/rap thing is a shtick. I've worked around Ben a long time. It most definitely is not a shtick. It's like his love of bbq and the raiders....just part of who he is.

</comment><comment><USER20> All I can say is when I started working for Ben back in 1999, he was relentless in his passion for HipHop and Rap, and spent some time trying to educate us in the difference between the two genres. His love for that broad category of music goes way back. Also possibly related - the Oakland Raiders were his favorite team at the time...

<comment><USER21> What's the distinction? I listen to a bit (mostly backpack rap stuff like De La and Tribe, plus ultra-mainstream stuff like Jay-Z and Kanye before he started sucking) and before reading this comment I would have assumed the two were synonyms.

<comment><USER22> Mostly in the eye (or ear) of the beholder. One way to look at it is that rap is something you do, hip-hop is a way you live.

More specifically, hip hop is a _cultural_ phenomenon that developed as an interplay between Jamaican immigrants and the Bronx of the 1970s and 1980s, and includes MCs, DJs, B-Boys and graffiti artists as primary drivers. Rap is a specific element of hip hop, practiced by MCs, in the same way that turntablism (e.g., scratching, mixing, cutting and juggling) is an element practiced by DJs.

<comment><USER21> Ok, but, as musical genres (however seriously you want to take that concept), this isn't a distinction I need to care much about?

<comment><USER23> Rap is the story telling medium of Hip Hop. Hip Hop is a style of music that can encompass everything from RnB to Soul to even some Electronic Music. Rap is Hip Hop that has a specific emphasis on lyricism, meaning, and narrative. All Rap has elements of Hip Hop, but all Hip Hop does not have elements of Rap. Obviously this is all subjective to a certain degree.

To answer your question, Jay-Z's MCHG is probably more Hip Hop than Rap, while old school Kanye is mos(t) def(initely) Rap. However, unless you plan on getting into conversations like this in the future I really wouldn't worry about the difference.

<comment><USER21> Ok, this makes sense. I pretty much invariably call the hip-hop/rap music I listen to "hip-hop". De La Soul? Hip-hop. Jay-Z? Hip-hop. The Roots? Hip-hop. Run DMC? Hip-hop.

<comment><USER24> As somebody who listens to a bit of hip hop, but very little rap, I find the distinction useful. Some hip hop (not rap) in my music library:

      - <USER3>
      - Flying Lotus
      - <USER4>
      - <USER5>
      - Prefuse 73
      - Clams Casino
      - <USER6>
      - <USER7>
      - <USER8>

Exceptional examples: [http://youtu.be/hYZ5uL35kpU](http://youtu.be/hYZ5uL35kpU), [http://youtu.be/2om8SMeDJPY](http://youtu.be/2om8SMeDJPY), [http://youtu.be/HbkRvclQS4M](http://youtu.be/HbkRvclQS4M)

</comment></comment></comment></comment></comment></comment></comment><comment><USER25> "Ben is using his power and time (and trust me he is the _only_ one doing this) to build and advocating and acting on the design and construction of an authentic network that facilitates participation and adoption of the culture."

The above statement is completely false. Two examples of many - Dave McClure at 500 Startups and Mitch Kapor at Kapor Capital, among others, are deeply dedicated to building highly diverse networks of talent and capital that encompass diversity in every respect you mentioned and more.

</comment><comment><USER26> So what attack is this responding to? I'm a bit lost here, it looks like someone is stepping in to defend Ben from something, but what?

Is it related to [http://www.newyorker.com/online/blogs/currency/2013/12/addre...](http://www.newyorker.com/online/blogs/currency/2013/12/addressing- silicon-valleys-race-problem.html) ?

<comment><USER27> Sam Biddle of Valleywag, of course. Who else? [http://valleywag.gawker.com/prominent-venture-capitalist- dis...](http://valleywag.gawker.com/prominent-venture-capitalist-discovers- black-people-1486759377)

<comment><USER26> People read Valleywag??

</comment></comment></comment><comment><USER28> Am I the only one who feels that rap/hiphop has become the dominant culture in tech (see VC darlings Rap Genius)?

These days, having a traditional professional demeanor and not knowing a thing about Drake seems far more likely to get you ostracized.

</comment><comment><USER13> _Networks equal access to jobs, funds, and deal flow, and the networks that run silicon valley are Stanford, Harvard, MIT, Google, HP, Ebay, Facebook, Apple, and PayPal._

This is precisely why Silicon Valley is past peak. When it was becoming great, Silicon Valley technologists _were_ the network. You like computers and technology? So do I, let's see what we can do for each other. Or just hang out. Often the best "networking" isn't called that; it's just people with shared interests getting together.

The fact that there's such a thing as a "Paypal Mafia" is a fucking disgrace. Same with the influence of Stanford or MIT connections; nothing against these schools, but after 5 years the signal is gone and it shouldn't matter.

What made Silicon Valley great is that there was an era when common interests were enough to get you in. That's what gave it its initial power: a lot of smart people who wanted each other to succeed.

Now it's dominated by a bunch of horrid little good-ole-boy clubs that don't even respect technology.

<comment><USER15> When successful hackers from the last generation stick around, that probably helps the culture more than if they disappeared, even if the hierarchical structure thereby created is less aesthetically pleasing to some.

<comment><USER13> You seem to have missed what I am saying completely.</comment></comment></comment>


Principles of the American Cargo Cult (2003) - <AUTHOR> https://web.archive.org/web/20030812081806/http://klausler.com/cargo.html <comment><USER2> I found this very helpful. It gives clear language for a number of things I've thought and felt about public discourse in America. To name a few in particular, the belief that complicated explanations are suspect and that certainty is strength. I've repeatedly observed that successful people seem to have very strong opinions and wondered if that was a contributor to their success.

While it seems most things in this list stem from one or more logical / informal fallacies, the way the principles are categorized and described makes the fallacy obvious and, for me, familiar. Since 2003 when this was published, I believe the network effects of social media have significantly increased the frequency at which these sorts of fallacies are uttered.

What are the systems at work here that lead to this so-called cargo cult? Is it easier, psychologically speaking for people, and Americans in particular, to walk with these mental crutches? Is our education system broken? What variables are at play here?

<comment><AUTHOR> Largely, the American people have been targeted with campaigns to make every possible combination of events into sport. This isn't a conspiracy, the people responsible have said as much.

From a _New York Times_ article that quotes the president of _CNN_ , Jeff Zucker:

 _Zucker is a big sports fan and from the early days of the campaign had spoken at editorial meetings about wanting to incorporate elements of ESPN's programming into CNN's election coverage. "The idea that politics is sport is undeniable, and we understood that and approached it that way."_

[https://www.nytimes.com/2017/04/04/magazine/cnn-had-a- proble...](https://www.nytimes.com/2017/04/04/magazine/cnn-had-a-problem- donald-trump-solved-it.html)

To quote the former-CEO and founder of _Fox News_ (and media consultant for the Nixon, Reagan, and H.W. Bush Presidential campaigns, on top of an advisor to the Trump Campaign for debate prep) Roger Ailes in an interview with _The Hollywood Reporter_ :

 _" We're competing with TNT and USA and ESPN."_

[https://web.archive.org/web/20150409110830/http://www.hollyw...](https://web.archive.org/web/20150409110830/http://www.hollywoodreporter.com/person/roger- ailes-0)

These people have worked outside-in to make _everything_ in America sport. When everything is just a game, nothing matters, and every occurrence is equal: the only thing that matters is that whatever you're wanting gets in the headlines _enough_ to where people know what it is.

Some, like Ailes, go into politics to make sure their candidates are entertaining enough to be known by the widest net of people possible (that means they win, because it's easier to get people to love you than it is to get them to hate your opponent).

Others go into the private sector and reap the benefits of making every headline equally temporary.

You weren't talking exclusively about politics, but I think most of the cargo cult stems from political/economic desires that have bled into having an impact on everything else by making all other forms of information have to wrestle control from the sportsified headlines, time-slots and ad spots.

<comment><USER3> It's one step deeper than that. It's not that everything is sports. If you watch sports coverage, the coverage is less and less about the actual sports and more and more about the underlying drama. Not even sports is sports anymore. Instead, both sports and politics are being transformed into a combination of sports and melodrama.

Which American institution lies squarely at the intersection of sports and melodrama? Professional wrestling. I'm not saying that politics (or even other sports) are turning into professional wrestling in the sense that the outcomes are completely rigged, but they are being covered and treated much like wrestling, even by the participants themselves. So it's no coincidence that the current President is a member of the WWE Hall of Fame.

<comment><USER4> Pretty good article making this same observation: [https://www.edge.org/response-detail/11783](https://www.edge.org/response- detail/11783)

</comment></comment></comment></comment><comment><USER5> _Tragedy is a synonym for calamity_

It took me a little while to figure this one out, since I've always treated the two words as synonyms (non-ironically, I hope). In case anyone else also paused at this one, a tragedy is something horrible happening because of a weakness in someone's character, whereas a calamity is just something horrible happening. The point of the principle is that victims* of the American cargo cult treat every tragedy (blame or causality) as a calamity (no blame or causality), thus losing the opportunity to reflect on their own potential responsibility.

*term used ironically, I hope

<comment><USER6> That seems like an anachronistic meaning of the word tragedy. In the context of dramatic productions, a tragedy does indeed imply a flaw or weakness in character leading to some unpleasant outcome. But I don't think that implication is generally present when using the word in other contexts. I doubt many if any modern Europeans or Americans would find fault with the statement, _" It's a tragedy when women die during child birth."_ Where the implication of a personal flaw present in that statement, it would be a deeply offensive statement. But in practice I think that's an agreeable statement.

It could be the case that Americans have a bias towards seeing calamity instead of tragedy (that rings true in my opinion), but I don't think that bias is evidenced in you or other modern English speakers treating the two words as synonyms.

<comment><USER7> Tragedy is avoidable, while calamity isn't.

There's a difference between saying _someone_ is responsible and _the victim_ is responsible.

The Cargo Cult decries the principle of legitimate responsibility, and consistently attempts to deny the guilt of the true architects of tragedy in numerous ways - victim-blaming being a very popular one.

In this example, a significant number of Americans would rather an adult woman die in childbirth than terminate a dangerous pregnancy.

If adult women - who may well be married and have a family - actually do die because legal abortion is unavailable, those Americans become responsible for avoidable deaths.

But the magic of the Cult's moral inversion means they continue to consider their position a wholly good one.

"Good intentions suffice."

This is not the same as - for example - a climate denialist buying beachfront property in Southern Florida and then being amazed when it floods in a storm and becomes impossible to sell.

"Consequences are things that happen to others."

These look opposed, but the MO is the same in both examples. Legitimate responsibility is denied, and replaced by a simplistic self-affirming moralising certainty which is actively hostile to mature empirical rationality and empathy.

<comment><USER6> To be clear, I wasn't trying to make a political point about womens' healthcare. I think most people would say such a death was a 'tragedy' _even if_ state of the art medical care had been provided. Somebody dying young is generally considered tragic in the modern casual sense of the term, _particularly_ if it was through no fault of the victim.

In retrospect I should have chosen a less sensitive example, so I'll do that now: In the common modern sense somebody being killed by a falling tree branch is more tragic than a drunk driver fatally striking the same tree. But in the more traditional sense of the word tragedy, that's flipped backwards.

</comment></comment></comment></comment><comment><USER8> > I wrote these principles after reflecting on the content of contemporary > newspapers and broadcast media and why that content disquieted me.

I agree that the principles listed are highly present in American media, especially during an election year. However:

> I really think that most Americans believe these things at a deep level.

I don't think most Americans "believe" these things, so much as these are just typical human cognitive biases that Americans succumb to. If you were to ask most Americans whether they agreed with these statements, they would say "no". But come election time those same people who answered "no" would probably go and vote for a candidate who exhibited these principles. Or given the choice to save money for the future or buy some junk on Black Friday, they would probably choose the junk.

</comment><comment><USER9> To some extent I have all of those.

To a lesser extent, I believe we all have those, even my thoughtful non- American friends. Some of those flaws might be more characteristic I some people than in other peoples.

So why call it "American" cargo cult? The only uniquely American aspect is that our inability to rise above these flaws is destroying the country.

(I'm actually not American. I've just lived in the US for over a decade)

<comment><USER10> I think the author isn't doing any kind of comparison between Americans and other people - it's just that his focus is entirely on his own country and culture, so he calls this an American problem. I.e., it is a problem in America - but might as well be a problem everywhere else too.

</comment></comment><comment><USER11> Maybe I'm missing some nuance here, but most of these (excepting maybe "Complicated explanations are suspect" and "All interconnection is apparent") just seem like different manifestations of fundamental attribution error.

<comment><USER6> It reads like a list of fairly reasonable (imho) grievances, but except for a few they don't really seem related to the cargo cult phenomenon.

Namely these two _do_ seem related to cargo cults: _" The end supports the explanation of the means: A successful person's explanation of the means of his success is highly credible by the very fact of his success."_ _" Emulate the purported behavior of successful people: This is the key to the cargo cult. To enjoy the success of another, just mimic his rituals."_

But for instance, this one: _" Good intentions suffice: You can always apologize."_ How is a culture of casual forgiveness related to cargo cults? That sounds like a Protestant approach to the topic of forgiveness, and insofar as Protestantism has been influential in America that approach to forgiveness probably does accurately generalize the American public. But where is the cargo cult angle?

<comment><USER12> Because it's magical thinking to believe that the harm caused by the consequences of your actions is ameliorated by your intentions beforehand or your apology afterward. A civilization built on Protestantism wouldn't be less superstitious for holding these as cultural values. Which is where I guess the cult part comes in.

<comment><USER6> It may well be magical thinking, but magical thinking isn't synonymous with cargo cults. Cargo cults seem like a particular sort of magical thinking; a subset of magical thinking. As I understand the concept, a cargo cult is specifically characterized by one group of people superficially emulating another without understanding the underlying mechanisms in play.

If the Protestant approach to forgiveness is relating to cargo cults, perhaps it's because they witnessed Catholics talk about forgiveness and decided to adopt that aspect of the Catholic philosophy without also appreciating the importance of the Catholic concept of penance (Catholics talk about forgiveness a lot, but don't give so freely as Protestants.) So perhaps Protestants are cargo culting Catholics.

I know a few Catholics who'd probably smirk in agreement with the above, but I'm not convinced of it myself. I'm neither a Protestant nor a Catholic and although I was raised as one and grew up surrounded by the other, I never felt I understood either particularly well. So it's possible I've gotten it all wrong.

</comment></comment></comment></comment><comment> d-d I can't say I agree with most of these points, but

 _> Certainty is strength_

 _> [and survivorship bias]_

This I have definitely seen and experienced. Back when I thought I knew everything some people followed me and copied what I did. I unwittingly became a leader simply by being arrogant. Now that I have a little wisdom that's all out the window.

Confidence is magnetic even if its foundations are nonsense. I think the mechanism is similar to clickbait but maybe less intentional.

<comment><USER10> Yes, the phenomenon is true, but the point of the article is that it's a _problem_ , and leads to bad outcomes. In your example, you've "became a leader simply by being arrogant". Were you, in your arrogance, to make a mistake, wouldn't your followers walk right into it and suffer the consequences?

</comment></comment><comment><USER13> > Emulate the purported behavior of successful people

This one is very obvious and appears everywhere. People are fascinated by Jobs and the like, some even go as far as trating their employees like he did, considering this is one of the critical factors of his success.

</comment><comment><USER14> This is scarily accurate, thanks for sharing kick.

<comment><AUTHOR> You're welcome! Always happy to share!

</comment></comment><comment><USER15> Why is this called a "cargo cult"? Whatever the merit of these observations, this is not what a cargo cult is.

<comment><USER16> """ Emulate the purported behavior of successful people

This is the key to the cargo cult. To enjoy the success of another, just mimic his rituals. """

</comment></comment><comment><USER17> How does this compare to non-American media and culture? Is it simply a human problem?

</comment><comment><USER18> This is great. And not uniquely American.

</comment><comment><USER19> Such a terrible experience on mobile. Sigh. WTB a new Internet where only ten html tags are allowed.

<comment><USER20> Is it? I find a raw page like this better for pure reading than the majority of "well designed" websites, and reader mode works wonderfully.

<comment><USER19> Here is my experience: The text is tiny and I cannot double-tap to zoom into the article. When I use "reader view" the article disappears except for the donation section. When I rotate my phone to try to be able to read the text by making it bigger, a bar at the top eats a chunk of the page at all times and cannot be closed. A plain vanilla raw page is exactly what I'm wishing for.</comment></comment></comment>


Move off the venerable Newtonsoft.Json library and move to System.Text.Json - <AUTHOR> https://www.hanselman.com/blog/UpdatingMyASPNETPodcastSiteToSystemTextJsonFromNewtonsoftJson.aspx <comment><USER2> Worth reading the comments on this one. People don't seem to have such an easy time switching, because a lot of basic functionality is missing or behaves slightly differently.</comment>


The story of Shutdownify, the best metaphor Silicon Valley never had - <AUTHOR> http://www.dailydot.com/technology/shutdownify-startup-shuts-down/

<comment><USER2> Wait this is a joke right. What the fuck is wrong with Silicon Valley.</comment>


Open Source SVG Icons Library – Vivid.js - <AUTHOR> https://webkul.github.io/vivid/ <comment><USER2> It's nice to see an _hour old_ project pop up on HN.

So essentially this project is:

\- Collection of two-color SVG icons

\- JS library to allow changing one of the colors programmatically

What about splitting these two features into different projects? There's already a database of millions of monochrome icons at [https://thenounproject.com/](https://thenounproject.com/) and [https://icomoon.io/app/](https://icomoon.io/app/). Is there a way to leverage that to somehow produce two-color icons from monochrome icons?

Instead of combining your JS library with your specifically-designed SVGs, why not invent and advertise a technical SVG standard that icon designers can comply with in order for them submit them to your two-color icon curration project that I'm proposing. Then, the JS library would simply implement the ability to change colors assuming the icon follows the SVG standard. To promote openness, note that I'm not proposing a design standard/language to be accepted into a database but a technical standard just for allowing the JS to function. The icons in your own collection _should_ follow your own design language (which looks very professional), but the database should include all design languages.

<comment><USER3> > advertise a technical SVG standard that icon designers can comply with

> Then, the JS library would simply implement the ability to change colors > assuming the icon follows the SVG standard

No need for JS for styling: just use CSS custom variables. The only thing that needs to be standardized are the two variable names.

Just define an icon like this:

icons.svg

        <svg xmlns="http://www.w3.org/2000/svg">
          <symbol id="calculator" viewBox="0 0 48 48">
            <path class="icon-primary" style="fill: var(--icon-primary-color, black)" d="..."></path>
            <path class="icon-accent" style="fill: var(--icon-accent-color, gray)" d="..."></path>
          </symbol>
        </svg>

Then use it like this:

        <style>
          .icon {
            --icon-primary-color: DarkBlue;
            --icon-accent-color: DeepSkyBlue;
          }
        </style>
        <svg class="icon"><use xlink:href="icons.svg#calculator"></use></svg>

See a demo here: [https://glitch.com/edit/#!/piquant- ladybug?path=index.html:1...](https://glitch.com/edit/#!/piquant- ladybug?path=index.html:1:0)

<comment><USER4> I think most people would like to go this route but IE 11 support holds them back.

<comment><USER5> Isn't all of IE at something like 3% market share these days? If so, is it worth holding back web development for such a small user base?

<comment><USER6> Depends on your market, it appears for me, most of Europe is Safari / Chrome, but Japan is almost entirely IE 11, China is mix of IE / 360 Browser. Sometimes it's not easy to not care.

<comment><USER7> Do you have a source for that (DeviceAtlas or similar)?

<comment><USER6> This is just observation based on stats from Google Analytics at work. I hope you're not assuming that my statement is the overall usage of browsers by country.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> I started disabling Javascript by default a few weeks ago using uMatrix, and I find it puzzling why people would use this? I currently use Font Awesome on my own site, and one task on my backlog is switching out to plain svg files to save on bandwidth (and not require a webfont download). I also have two layout elements that require Javascript I want to try to get rid of as well.

I think we should see more of a movement to get away from Javascript for displaying basic content.

<comment><USER9> So I guess you don't edit many documents, book any flights or enjoy your emails automatically refreshing, huh?

<comment><USER10> I think that last one is the thing I enjoy most of all. I HATE my email automatically refreshing. I'll check it when I'm good and ready!

</comment></comment></comment><comment><USER11> Since this looks more like advertising for a project I'll offer my 30 second review.

\- Regardless of two-tone scheme chosen the icons look pretty awful

\- Many icons made me think what they might mean. The first rule of this type of visual design is: don't make me think.

Keep going. You'll make it eventually.

<comment><USER12> > \- Regardless of two-tone scheme chosen the icons look pretty awful

How is this helpful? It's probably high contrast to show you that you can configure the colors via config [1]. I'm sure you didn't look that far, though.

1 - [https://webkul.github.io/vivid/docs.html#customization](https://webkul.github.io/vivid/docs.html#customization)

<comment><USER13> > \- Regardless of two-tone scheme chosen

It's about the design of the icons, not the colour scheme. They just aren't very good icons (IMHO at least, and presumably that of the previous commenter)

</comment></comment></comment><comment><USER14> Here's another one: [https://feathericons.com](https://feathericons.com)

<comment><USER15> Thanks for this link. This lib is awesome.

</comment></comment><comment><USER16> IonIcons is another good resource for SVG icons. Used them last week in a Qt Frontend and they look great. Open-source and both material and iOS styles:

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

</comment><comment><USER17> Is it permitted to solicit upvotes on product hunt?

<comment><USER18> If it isn't, it sure feels like the entirety of Product Hunt is breaking the rules. So, given what I've seen: probably no.

</comment></comment><comment><USER19> As no one is talking about the design of this icon library, let me be the first.

These icons are 'okay', but none of the examples show sizes less than 48px. The frontpage, uses even larger sizes.

Under 16px width, the icons are difficult to distinguish--even from one another. The color choice of high contrast combinations exacerbates this because it uses zebra striping _within_ the element, rather than using contrast to help distinguish the borders.

If you are planning on using this lib, keep that in mind and use the icons in the largest possible format--perhaps for branding pages. I wouldn't use it for complex application UI, especially not on mobile.

</comment><comment><USER20> Couldn't having an id per SVG icon cause namespace clashes when inlining?

<comment><USER21> They don't seem to have an id?

<i data-vi="user"></i>

</comment></comment><comment><USER22> I am in the market for a decent icon set so I am quite specific about what I want in an SVG icon.

Realistically I need a few icons for buttons, account login things, edit buttons and so forth.

I want to have extremely lean and speedy code. This means having a simple inline stylesheet with 'use' being how I put icons in my content. So the account navigation at the top has the icons e.g. 'account' (which is some weird head and shoulders icon type of thing). The forward - next buttons for browsing an image gallery need to be in there as does a popup modal closing 'x'.

The forward button is the same as the back button with it rotated around 180 degrees, the original def being just two lines.

Instead of using some style tags baked into icons I want to set fill and stroke to be 'currentColor'. In this way if I change the link colours then the SVG icons update.

I also don't want width and height in my icons. I want just the viewbox.

My icons are not a semantic element so I also want to put them in the stylesheet with ::before and ::after pseudo elements. Except for in places like the header logo where an inline SVG is legit.

Because I want to 'use' elements I want a master arrow where I can change it and know my changes will be in both the forward and back arrows, or even the up/down wherever arrows.

I also want some space saving social media icons that are not styled but as Facebook/Instagram/Pinterest/Twitter designed them. I want the blue bird not some 'creative designer' effort at improving on the icon. This is for reasons of 'Don't Make Me Think'.

I also want to have titles and descriptions in my icons, in this way I can have useful mouseover text.

Maybe I get my 'service worker' to do the work rather than have the icons embedded as inline on every page. The page can then render nicely on a poor connection even if the icons are missing. This will involve a repaint though as 'svg use' markup might have nothing to 'use'.

A telephone icon would be nice, as would a letter icon for email. In this way I can have a 'call' or 'email' icon in there. The unicode versions of these are no good as the size jumps all over the place.

What I don't want is:

Yet another bit of render blocking javascript

Yet another download

A library of icons including the cruft I am not using.

Icons which need a lot of fettling to be used inline

Icons with style definitions baked into all of them.

Another toolkit to learn.

Another CSS color gig to learn, I want just currentColor.

Paths that are compressed. If I want to compress them then I will do that with defs and use, to keep the original components, e.g. that arrow, as something that makes sense.

So please, if you want to write another SVG icon set, get it to work with 'use', keep the icon content out of the markup, e.g. in the CSS without hacky 'i' tags.

Give me some instructions too about doing it the proper way that works for screen readers as well as those that can read.

<comment><USER23> Does this work?

[https://diafygi.github.io/svg-font-to-svg-sprite- converter/e...](https://diafygi.github.io/svg-font-to-svg-sprite- converter/examples/)

<comment><USER24> very cool. I didn't know about that. thanks.

</comment></comment></comment><comment><USER25> White on yellow is bad contrast.

</comment><comment><USER26> Huge fan of Webkul. Really liked earlier open source project, Coolhue!

</comment><comment><USER27> awesome. I always love free and malleable icons :D

(also, 'with a blaze' is slightly awkward, i think.)</comment>


The World's First Vegetable Powered RISC (1988) - <AUTHOR> http://www.async.caltech.edu/~mika/potato/potato.html

<comment><AUTHOR> _The Caltech Asynchronous Microprocessor (1988) was the first asynchronous microprocessor (1988). Caltech designed and manufactured the world's first fully Quasi Delay Insensitive processor. During demonstrations, the researchers amazed viewers by loading a simple program which ran in a tight loop, pulsing one of the output lines after each instruction. This output line was connected to an oscilloscope. When a cup of hot coffee was placed on the chip, the pulse rate (the effective "clock rate") naturally slowed down to adapt to the worsening performance of the heated transistors. When liquid nitrogen was poured on the chip, the instruction rate shot up with no additional intervention. Additionally, at lower temperatures, the voltage supplied to the chip could be safely increased, which also improved the instruction rate—again, with no additional configuration._

\- [https://en.wikipedia.org/wiki/Asynchronous_circuit#Asynchron...](https://en.wikipedia.org/wiki/Asynchronous_circuit#Asynchronous_CPU)</comment>


Peak Everything? - <AUTHOR> http://reason.com/archives/2010/04/27/peak-everything <comment><USER2> Exponential Growth is a magical thing. The doubling time of something growing at a constant rate is approximately 70 divided by that rate. For example, something growing at a 10% annual rate will roughly double in size every 7 years. I don't doubt the potential of human ideas, but unless the rate of growth in natural resource consumption goes to zero (or becomes negative), we will at best defer depletion. While the author points out some novel ideas, he doesn't show the math to prove these ideas will reverse the growth in consumption. Until that's shown, we are at best just buying time.

<comment><USER3> This is a historically ignorant argument. It's unlikely we'll actually run short of any of these metals. The more likely scenario is that if and when we do start to exhaust the most easily mined sources prices will start to rise, spurring investment in new extraction technologies and exploitation of previously uneconomical sources. Increasing production and amortization of R&D costs will then lead to lower prices in the future. This has happened innumerable times with innumerable resources throughout history.

Which is, indeed, the conclusion of the linked article as well.

<comment><USER2> Unless we stop consuming a finite resource we will eventually run out, by definition. Your argument simply demonstrates how rising prices will lead to extracting 'harder to get' resources. When something is harder to get that means it's scarce, which is the opposite of abundant. In other words, it means we are running out.

<comment><USER3> _"Unless we stop consuming a finite resource we will eventually run out, by definition."_

Timescales matter here. If we're going to run out of a "finite" resource in 10 billion years vs. 1,000 years or 10 years it makes all the difference in the actions you take.

Also, when something is "harder to get" it may mean merely that we haven't developed the technology to extract it yet. Aluminum used to be more precious than Gold because it was "harder to get" than Gold, though it was not scarce. And today Aluminum metal is far from scarce and far from expensive.

</comment></comment></comment></comment><comment><USER4> How about peak arable land? [http://www.news.cornell.edu/stories/March06/soil.erosion.thr...](http://www.news.cornell.edu/stories/March06/soil.erosion.threat.ssl.html)

It is estimated that about 10 million hectares a year is lost (the size of the state of Indiana), 30% of the arable land in the last 40 years. 1mm of topsoil lost takes about 20 years to replace. The United States is losing soil 10 times faster -- and China and India are losing soil 30 to 40 times faster -- than the natural replenishment rate.

<comment><USER5> Can't we pop up soil artificially when that becomes a big enough problem? Sprinkle compost on it or so?

<comment><USER4> Not to be rude but I don't think you are comprehending the scale of the problem. Where would the compost come from? A rough calculation (10 million ha, assume a thin 80 mm layer of topsoil is lost, 1 mm of soil over 1 ha is 13 tons) estimates that 10 billion tonnes of compost would be needed per year to replace the lost organic matter.

It's a feedback system since good land produces lots of organic matter. Once eroded away, it's extremely difficult to restore. I have a hard time figuring out how we could avoid serious troubles in this area in the not too distant future. Some years ago there was a big push in North American to improve farm practices (stop burning straw, reduction or elimination of tillage, etc). That helped a lot but developing countries have not or cannot adopt such practices.

<comment><USER5> Thanks for the numbers and details.

By the way, what's so bad about burning straw? Or is it just that composting straw gives more soil?

<comment><USER4> I'm not sure we should turn this thread into a farming lesson but I'm happy to explain. ;-) Burning straw causes a lot of nutrients to end up in the atmosphere (see [http://www.topcropmanager.com/index.php?option=com_content&#...). It really is horrible practice but old habits die hard. It also reduces soil organic matter and the surface "trash" (broken up straw and chaff), making the top soil much more likely to be eroded by wind and rain.
In the 1930's drought (the dirty thirties, the Dust Bowl) soil drifted in the wind like snow. North America had a worse drought in the late 1980's (http://en.wikipedia.org/wiki/US_Drought_of_1988) but erosion was not really a problem due to much improved farming practices. Crop yield during the late 1980's drought were also much higher than in the 1930's because the new farming practice was much better at preserving soil moisture. That said, it was still not a fun time to be a farmer.

<comment><USER5> Thanks. Farming is quite an interesting but underrated subject.

E.g. the improvements in farming that eventually lead to the industrial revolution in England are rarely looked at.

</comment></comment></comment></comment></comment></comment><comment><USER6> Despite regular evidence to the contrary going back for generations, so many are ready to fall in to the trap that advancement and innovation is done. If materials, goods, and skill markets are reasonably free and fair, the price signals alone will drive others to innovate and develop alternatives in resource use, resource access/extraction, or resource reduction through the use of other materials or technologies. As long as the rewards for innovation remain, alternatives are likely to be found and developed.

<comment><USER7> You know, not every problem is solvable by creating another startup. :-)

In particular, it takes a bit more than the spirit of innovation to move the developed world from a depleting energy source to a more renewable energy source.

<comment><USER8> But market forces will do it.

For example, it's not like oil is going to disappear overnight. When gas prices get up to 5, 10, 15, 20, 30 dollars a gallon... at some point, people are definitely going to start buying electric cars. Same goes for trucks, ships, everything else that uses oil. But innovation to make alternatives available isn't going to happen until market forces make it profitable.

<comment><USER3> For pretty much any location in the world outside of perhaps France an "electric" car is, in most cases, a coal powered car. There is far too much coal in the ground for it to run out in the near future, market rates alone aren't going to get rid of coal power plants.

<comment><USER9> > _There is far too much coal in the ground for it to run out in the near > future_

And "640K should be enough for anyone," right? The idea that something will never 'run out' is usually predicated on the assumption that consumption levels will remain the same (or at least only increase linearly rather than exponentially).

</comment></comment></comment></comment></comment><comment><USER10> Peak [insert metal here] isn't directly comparable to peak oil/coal/combustible for the obvious reason that when the former is used up and discarded, it can be reclaimed, while the latter is gone forever. Obviously you can still hit limitations, such as when demand is greater than the entire supply on earth, but that at least puts the problem further out, buying more time for innovation and reducing demand for less valuable things that also require those resources.

<comment><USER3> The problem with the peak hydrocarbon argument is that there is more than enough of _some_ variety of hydrocarbons in the ground to satisfy a world population 10 billion people all consuming hydrocarbons at 1st world levels for hundreds of years. The peak hydrocarbon argument relies on a chain of hypothesis, none of which have been backed up by evidence. Firstly, there must be no discoveries of new reserves. Secondly, there must be no advances in technologies in extraction or refinement. Thirdly, there must be no advances in technologies to convert different hydrocarbon sources into others (e.g. manufacturing gasoline from coal), worse than that there must be no adoption of known hydrocarbon conversion technologies (coal gasification is a decades old technology).

Anyone who's looked at the numbers for reserves of coal, tar sands, methane clathrates, etc. is unlikely to take peak hydrocarbon arguments seriously, there's just too much of the stuff. Ultimately the peak oil argument comes back to a visceral hatred of petroleum and a wish to see a world without it, but wishes aren't reality.

<comment><USER11> Let's talk about peakers' "mistakes": > Firstly, there must be no discoveries of new reserves.

Wrong, all it takes is that the demand grows above the discoveries rate. If I remember correctly, demand to discoveries ratio was about 4:1 in the last decade. (and demand is to go even higher as emergent countries create middle classes that aspire to follow the American dream)

> Secondly, there must be no advances in technologies in extraction or > refinement.

That is irrelevant. Efficiencies can only buy you more time. Every grade school kid knows fossil fuels are non renewable resources. We could debate whether the Peak Oil is one year, or one decade or one century away, but this is something that will eventually happen.

> Thirdly, there must be no advances in technologies to convert different > hydrocarbon sources into others.

This is frankly foolish! It takes energy to transform materials from one "format" to another, and it takes serious energy to do that at an industrial scale. Specially, if you want to take low concentrated energy sources and make then highly concentrated, you will waste most of it away! (while screwing the environment on unprecedented scales) There is a good reason the Nazis tried an all-in and attacked Russia. They could not afford to keep converting coal into synthetic oil for much longer!

> Anyone who's looked at the numbers for reserves of coal, tar sands...

One thing that has to be said about this, is that the good stuff is already gone. Clearly, there is plenty of cheap, dirty, low yield fossil fuels around. But the sweet crude, the one that yielded 100:1 returns on energy invested, was burned during the economic expansion of the 20th century.

This is not to say that we are doomed, and that we are back to the dark ages (when I see the stupidity around in Facebook, I sometimes think we are indeed, but it clearly has nothing to do with peak oil). The catch is that we need to recognize that our whole civilization is built over a non renewable resource, and we have to use whatever we have left of it in an strategic way (which I think may last for the 21st century, give or take). It would be nice to make the jump now that we have still some capacity for retooling, than later on when we have less so.

<comment><USER5> According to the table at <http://en.wikipedia.org/wiki/Energy_density> coal doesn't fare too bad compared to gasoline in terms of J/kg.

Another factor in the attack of Germany on the Soviet Union was that both countries had quite insane leaders..

</comment></comment></comment></comment><comment><USER12> Also peak helium: <http://seedmagazine.com/content/article/going_going_gone/>

<comment><USER13> "Federal Helium Reserve", "Saudi Arabia of Helium", "The world's lone Helium Superpower"

Wow!

<comment><USER7> They also forgot "the helium capital of the world", one of Amarillo's nicknames (I happen to have family in Amarillo).

</comment></comment></comment><comment><USER14> There's only one planet Earth, finite in size - and therefore a finite amount of natural resources exist within it. Once we've split all the uranium and washed all the phosphorus into the ocean, that's it - you can't think up more Zinc, Rubidium or Lithium - once it's gone, it's gone.

I'm sure we could do vastly more recycling, use alternatives for some things, improve efficiency, develop magical new technologies, etc, etc... but almost no-one I've spoken to about this appreciates just how terrifyingly rapidly we're approaching these limits. If we run out of available mine-able Zinc & Copper in 30 years - which is quite possible - what then? Do we have enough time to switch to coping strategies? Will that be a smooth ride? It seems to me that the front of the train has already hit the buffers, but we've still got our foot on the gas pedal, back here in the cab.

Most of the useful mineral resources on Earth are only available in vanishingly tiny quantities elsewhere in the solar system. We currently do almost no recycling of anything, compared to our consumption. The human population is huge, growing in number, affluence and resource usage per capita. We're on course to run out of the minerals required to run our economy & infrastructure within most of our lifetimes.

Nice infographic with some estimated timescales for various resources: [http://www.newscientist.com/data/images/archive/2605/2605120...](http://www.newscientist.com/data/images/archive/2605/26051202.jpg)

The Greatest Shortcoming of the Human Race is our inability to understand the exponential function: <http://www.youtube.com/watch?v=F-QA2rkpBSY>

I'm not being alarmist - sometimes things are actually alarming.

<comment><USER5> We are sitting on a huge ball of matter. And with enough energy--which we can get from the sun for another 5 billion years or so--we can recycle almost anything.

Of course coping may not be easy in the first place.

<comment><USER14> It's not really the long term future that I find alarming, it's the near-term transitions. It seems like globally we're finally bumping up against a load of fixed environmental, resource and population buffers almost all at once. Bumpy road ahead, possibly.

<comment><USER5> The population bomb is already defusing. The environmental and resource limits might create some serious problems.

</comment></comment></comment></comment><comment><USER15> "Is it realistic to predict that knowledge accumulation is so powerful as to outweigh the physical limits of physical capital services and the limited substitution possibilities for natural resources?"

Yes, unless we figure out the knowledge required to synthesize these elements, recapture them, or develop substitutes.

Knowledge has a habit of disrupting what otherwise looks like a zero-sum game.

</comment><comment><USER16> It seems natural that humans have always reproduced until they ran into some limiting factor. No matter how much we conserve, we will just have more babies. There is an out though. Research suggests that educated woman have less babies. <http://www.eubios.info/EJ124/ej124i.htm> . Just imagine a life where no one had to worry about limited resources because there are a lot less people on earth. _That_ would be a utopia.

<comment> a-priori That rule, to reproduce until you reach a limiting factor (food, money, whatever) applied until the introduction of birth control. Today, we see that in places with good access to birth control people end up being quite conservative about reproducing, trending to replacement rates or lower.

<comment><USER17> Actually, that change took place well before the introduction of reliable birth control. See "A Farewell To Alms" for an account of the transition from resource-limited birth rates to the modern world: [http://www.amazon.com/Farewell-Alms-Economic-History- Princet...](http://www.amazon.com/Farewell-Alms-Economic-History- Princeton/dp/0691141282)

</comment></comment></comment><comment><USER18> see also: <http://news.ycombinator.com/item?id=1283172>

</comment><comment><USER19> An important topic to keep in mind. We...or a distant future generation...will probably need to develop alternatives and agressive recycling.

I wonder when we will reach "peak peak-resource stories"?

</comment><comment><USER20> I guess at some point mining our solar system will become technologically and economically feasible. Maybe waiting for and 'roping in' a passing Asteroid would also work - aren't those things chock full of useful elements?</comment>


Ask HN: What's the 'Hello World' program of neural networks? - <AUTHOR> <comment><USER2> MNIST data, which is the hand written number data. Download Tensorflow and do the examples. You will find it there.

</comment><comment><USER3> Tensorflow has a whole bunch of tutorials, but those are the "Hello World"s of tensorflow, not of neural networks.

In order to get started with neural networks, begin with drawing simple neural nets for basic operations like addition, multiplication, XOR. Just represent boolean tables as neural networks.

Once you can do that, move on to implementing the algorithm yourself. A simple 3 layer network is enough to understand how the concept works. 4/2/2 nodes is plenty. Just understand how the calculations work.

Then move on to a framework - only after you understood the math. The machine learning course on coursera by Andrew Ng(?) explains the algorithms.

</comment><comment><USER4> XOR for fully connected networks, and mnist for convolutional networks

</comment><comment><USER5> Make sure to implement backprop yourself: don't use Tensorflow, just use numpy and write out the matrix multiplications yourself.

<comment><USER2> Not bad advice, but to get a feel before you dive into the deep end, use the libraries and then, by all means, follow this advice. You should always know what's underlying the functionality a library provides, but don't hesitate to start simple. I remember "C++ Neural Networks and Fuzzy Logic" at 16 and being intimidated because I had to develop and understand the code without having a background in statistics, calculus, or linear algebra. Don't let it intimidate you.

<comment><USER5> If backprop is "the deep end," then I really don't know what you're doing...

</comment></comment></comment><comment><USER6> Probably the XOR dataset.

</comment><comment><USER7> Not trying to be a smartass, if "Hello, World" is the most basic program, why would a single layer perceptron model not be what OP is looking for?

<comment><USER3> Because that would be the equivalent of telling someone to write "Hello World" on a piece of paper in order to show them how programming works.

A single layer isn't a "neural network". The difference between logistic regression and a really simple neural network is the ability to behave in a non-linear way.

A single layer amounts to a matrix multiplication. Matrices are linear operators.

</comment></comment><comment><USER8> 1\. using a simple nn to do xor bit operation

2\. mnist hand written digit recognition

</comment><comment><USER9> XoR

</comment><comment><USER10> I once implemented a simple back propagation algorithm in Haskell (without any libraries) that could identify the pattern (one amoung 'A', 'B', 'C' or 'D') represented on an 8x8 matrix...

Here is the code..

[https://bitbucket.org/sras/haskell- stuff/src/b58f3fc017ce303...](https://bitbucket.org/sras/haskell- stuff/src/b58f3fc017ce303fd9733184f599e916739f6ed2/snn.hs?at=default&fileviewer=file- view-default)</comment>


Ask HN: How to transition from developer to product manager?  - <AUTHOR>

The question is summed up in the title. As a web developer, how would one transition into a career as a product manager? <comment><USER2> I was a developer at a company for a few years and decided I wanted to get into product management. The first thing I did was tell my boss who was somewhat supportive. He let some of the product managers in our department know. We had several conversations but that never led to anything.

So I started being a product manager on my own skunk work projects at work -- writing product requirements and prototyping demos of new ideas that fit in well with the business.

After a while of doing this it wasn't hard to find someone who sponsored the transition from developer to product manager. You just have to demonstrate your ability to execute. Someone will take a chance on you.

</comment><comment><USER3> Hide behind your user's chair and see how they are using your app ;)</comment>


Ask HN: My nephew wants to learn programming. What should I recommend? - <AUTHOR> My 11-year old nephew has been asking me how to get started programming. I'm thinking of suggesting Python because of its structure and clarity, though Javascript is tempting because of its web advantage. (There's Lisp of course, but I'm trying not to unfairly privilege the home team!)
What do you guys think? What language should he start on and what resources can you recommend for it? I think the goal should be to get him to rewarding feedback as quickly as possible, then he can either become an addict like the rest of us or drop it and move on.
Let me see what else... he's very smart and probably would prefer the straight goods to anything kidsy. Oh yeah, and (needless to say?) he wants to make games. <comment><USER2> I'd say python with pygame hits the sweet spot of being simple and rewarding (for 2D stuff anyway), while still exposing enough of the underlying mechanics to be a good learning experience. You need to implement the main loop yourself, call collision detection functions, update and redraw sprites, etc.

Considering that, the interval between sitting down and having _something_ that actually runs in front of you is still reasonably short.

<comment><USER3> To add to this, I'd recommend a particular free book for learning programming through game writing: <http://inventwithpython.com/chapters/>

</comment></comment><comment><USER4> Logo. It's the gold-standard of introductory programming languages. It has also been described as "lisp without the parenthesis", so it should have many of the lisp fans on here on board.

Finally, it's just fun. I have fond memories of moving that little turtle around with simple commands like "FORWARD 100" and "RIGHT 90", when I was introduced to programming at around the same age as your nephew. You really couldn't ask for a better first language.

</comment><comment> b-man I would recommend several things,

Squeak by Example[1], or better yet etoys[2]

How to design worlds, as already mentioned here

Alice[3], with something like [4].

Good old scratch from the logo tradition would also be cool[5].

[1] <http://squeakbyexample.org/>

[2] <http://www.squeakland.org/>

[3] <http://www.alice.org/>

[4] <http://www.aliceprogramming.net/>

[5] <http://scratch.mit.edu/>

Check them all out and decide for yourself. All of them are very consistent and fun.

<comment><USER5> I wish someone had handed me Smalltalk at that age instead of telling me that all real programming was done in C. I think one of the most important things is being able to see results quickly to give it a hands-on feel.

</comment></comment><comment><USER6> Ruby would be a good choice, I hear the Prag Prog Learn to Program book is great and uses Ruby.

I was at my daughters new school the other day and I talked to the Librarian who is also teaching technology and he talked about using Scratch (<http://scratch.mit.edu/>) which looks very cool and is somewhat game focused.

<comment><USER7> Seconding Ruby. The tutorial that later got expanded into the Prag Prog book is available free online: <http://pine.fm/LearnToProgram/>

I'm told it's very good.

And then there's always Why's Poignant Guide to Ruby, which is fun to read and teaches surprisingly well.

</comment></comment><comment><USER8> I recently had a kid that wanted to program as well. He's about 12. Wanted to program games, but didn't get very far in a directX book.

I had a couple choices for him, due to some requirements: 1) Something easy to install or didn't have lots of things to install 2) Something with a all-in- one gaming library 3) Something with some sort of community around it. 4) It'd be nice if there was a book for it.

So with those there, there was: Ruby and HacketyHack. <http://hacketyhack.heroku.com/> It also has a app framework called shoes that you can use to build both games and apps. However, since _why left, all this requires a lot of hand hold to set up.

Lua and Love. <http://love2d.org/> Lua is an easy language to pick up as it's pretty minimal, and love's 2D engine is pretty fantastic. I've used it before and it's pretty easy to get started with, and plenty of examples, as well as a vibrant community.

Python and Pygame. <http://www.pygame.org/news.html> Pygame has all of the above, and for me, the final winner, since there was a book that walks the kid along from basic text games to the graphics part. <http://inventwithpython.com/>

<comment><USER9> Thanks for the Hackety Hack shoutout...

If I could find a copy of Windows XP, and someone who had a Mac, I'd have installers done. Unfortunately, it's been a little hard to find people, even for just what amounts to a recompile.

<comment><USER8> Yes yes. :) I've not gotten around to it yet. Soon!

</comment></comment></comment><comment><USER10> My son wrote a program for school in grade 8 with Python and PyGame that modeled mutation and natural selection among populations of predators and prey. It was a great learning experience for him, and introduced him to: classes and methods; inheritance; functions; datatypes; modules and namespaces; cartesian geometry; for, if and try blocks; and so on. It was challenging but not impossible for him to understand the stuff. Now he wants to be a video game designer when he grows up.

</comment><comment><USER11> In order to accelerate learning, I believe it is best to try to learn one concept at a time. That's why I like to introduce people to the LOGO programming language if it's their very first programming language. It introduces many basic concepts that we programmers take for granted, for example:

* the fact that a computer will take everything you do literally and can't read your mind

* commands

* sequential iteration of commands

* loops

* conditionals

It's also easy to get quick results which keeps an early learner from getting discouraged. Once the learner is bored with LOGO, then you take them to a more powerful language. Ruby is nice because--even though it can get complex--you can start off very simple.

I would recommend this book for learning Ruby as a first language: [http://www.amazon.com/Learn-Program-Second-Facets- Ruby/dp/19...](http://www.amazon.com/Learn-Program-Second-Facets- Ruby/dp/1934356360/)

</comment><comment><USER12> How about DrScheme? I can't imagine more direct, rewarding feedback than the built-in graphics libraries. It's totally usable for games. It comes with a solid development environment, with a good step-capable debugger.

<comment><USER11> I would not recommend Scheme as a first language. The syntax is too far from what we normally use, so it provides a barrier to learning.

Ruby:

      a = 7 * 8 + 10

Scheme:

      (let ((a (+ (10 (* 7 8)))))

Ruby:

      print "you are big" if height > 80

Scheme:

      (if (> height 80) (display "you are big"))

<comment><USER13> Lisp:

       (loop for i from 1 to 10 collect i)

Ruby:

       [1..10].collect { |x| x }

But anyway, it turns out that people are not born with an inherent ability to parse infix operators. Infix is just as arbitrary as prefix or postfix. Anyone, even a kid, will figure the syntax out either way.

(Infix leads to confusing bugs, like "why doesn't 'foo < bar < baz' work?" Prefix eliminates this ambiguity.)

</comment></comment></comment><comment><USER14> Processing. It's simple, requires very little setup, and most importantly it's FUN. You can give other people the things you made, and it works very easily with cool stuff on your computer. (webcam, sound) You can do animations and make simple games really easily. Spend a few evenings playing with it and I think you'll agree.

</comment><comment> Tristan-Leroux I'd say Python too. It was the first language I ever tried and it was very rewarding in terms of what I could do at such an early level. But I was a couple of years older and very much into technology already. But I stand by Python.

</comment><comment><USER15> He's in love with the idea of writing a game. He might not actually like programming.

So, you need to start with something simple that will get him immediate results. Which really means HTML these days as everything else needs umpteen objects before you can see any results.

If he takes to it, you can then move to CSS and javascript. And if you get this far then the leap to actionscript or python or whatever isn't that big and you'll know that you have a good student,

</comment><comment><USER16> Following hacker tradition, you should throw K&R at him and see if it sticks :)

<comment><USER17> You sound like my grandfather telling me how he learned to swim. :-)

</comment></comment><comment><USER18> I second Javascript. It is widely and immediately available (even gui comes for free), allows using and learning different styles of programming, can be used to immediately write useful little programs, and scales up to moderately sized projects.

Python is good too. Not always immediately available, but easy to install. Other than gui (which would need to be learned), shares many advantages of Javascript.

</comment><comment><USER19> HTML and Javascript worked for me.

Basic(4th grade) -> HTML(5th grade) -> Javascript hacking(using view source)(8th grade) -> Visual Basic(8th grade) -> ASP(9th grade) -> PHP(11th grade) -> Python(uni)

My personal learning route between ages 10 - 20.If I could change...

1\. I wish I had hopped onto PHP earlier.

2\. Also wish I didn't waste a huge chunk of time in middle school struggling with Java.

</comment><comment><USER20> I'm a game designer now, but I definitely wasn't back then; instead, I got my start playing with scripting in RPG Maker. Kids, I think, don't want to make new engines or mechanics; they mostly just want to create content to use with their favorite pre-existing mechanics.

It didn't really ground me much into the why or how of what the game engine was doing, though; today, I'd recommend playing with a genre-specific game framework written in LÖVE—not least because learning Lua will actually count toward your resume in the games industry, and because it's easy to distribute on multiple platforms with no fuss.

</comment><comment><USER21> definately python over javascript!

-interactive shell

-easy to debug

-lot of great simple graphics libraries too

-making 3d shapes is funner than div containers

For 3d shapes, <http://vpython.org> is a good simple library. He will be able to figure out how to get balls rolling around in no time.

For a media library with sound for making 2d games, definately go with SFML (simple fast multimedia library) over pygame: <http://www.sfml-dev.org/>

It's faster and also has versions for C, C++, .Net, D, and ruby, so if he wants to learn one of those languages later he can try to port his game.

</comment><comment><USER22> He's 11? By the time I was 11 I was pretty darn good in Z-80 Macro Assembler. If he wants to make games, it's much better to get comfortable learning the hard stuff first. At his age, learning to kick a sprite across the screen will seem pretty... childish.

I've been reading the new edition of Jeff Duntemann's "Assembly Language Step by Step." While I don't particularly like how he teaches hex (which is terribly necessary to understanding Assembly), the rest of it made me think that it was the book I wish I had when I was a kid.

</comment><comment><USER23> Definitely start with Python. I found this great book <http://www.manning.com/sande/> that is a good start regardless of age. In any defense, read this article (Section: "The Pitfalls of Java as a First Programming Language") to determine why learn with a language like Python rather than Java. [http://www.stsc.hill.af.mil/CrossTalk/2008/01/0801DewarSchon...](http://www.stsc.hill.af.mil/CrossTalk/2008/01/0801DewarSchonberg.html)

</comment><comment><USER24> Make him a language: let me elaborate. Use Python or Ruby and write a library of functions that he can call in particular ways that will make a "game." Let him learn how they work, and let him dive into the source code and figure it out and eventually make his own functions and classes and ... etc.

Discovery is the most rewarding part of learning to program, and having fast payoffs is always nice to keep a kid interested. Worked for me (I started with Logo around his age, but Python/Ruby is _way_ better.)

</comment><comment><USER25> I suggest checking out this talk at Nashville's Barcamp '09.

<http://www.ustream.tv/recorded/2370164>

Christopher did a good job talking about his approach to teaching a group of kids how to game. Syntax isn't as important at first - if you get them hooked on something simple like processing (<http://processing.org/>), then they will learn syntax later. Most kids just want to see results as quickly as possible.

</comment><comment><USER26> Teach him Java J2EE, Spring, Struts 2, Hibernate, PL/SQL, and cure him of this blight immediately. This is what I do daily and you don't want him to end up like me :-)

I kid, of course. Probably the best thing to start with would be something like Perl, Python, or perhaps even Lua. In fact, Lua might be something he could even use in the gaming industry later. Whatever you do, don't introduce the poor kid to C# and DirectX :)

edit - on second thought, follow the advice of others and teach him guitar

</comment><comment><USER27> diveintopython3.org + pygame

11 might be a little young (not for programming, but for what I've recommended above).

</comment><comment><USER28> Something with immediate results.

Mine were HTML, TI-83 Basic, and Visual Basic. All of these could get something visible and interactive relatively quickly.

These days, I would say things like Javascript/Ruby/Python, while more simple than C/C++/Java, still don't have a direct pipeline to results that matter (for a learner).

Pygame would be my choice if ¥ou had to go the scripting route.

</comment><comment><USER29> play guitar instead

<comment><USER30> Good advice.

After you have learned the basic open chords, scales and the fretboard notes, and "Wonderwall" - and are bored with the strings. You could go always back to silicon and build

a) an Arduino interface to an software/hardware mixer such as Ableton Live for live mixing and improvisation

b) an machine-learning program that takes GuitarPro tabs of the entire catalog of your favorite band and permute MIDI compositions/new guitar tabs based on the band's style.

c) Program your own synth in Max/MSP.

d) Develop a real-time music note recognition software that tab/annotate the chord changes, drum tabs, make music sheets for live online music jamming.

Also try to play the sitar/banjo/mandolin, there's already lots of guitar players.

</comment></comment><comment><USER31> This is an excellent series of blog posts about a father trying to teach his 6 year old son to program a simple game. Maybe you can draw some inspiration from it.

[http://davidbau.com/archives/2005/07/27/a_programming_questi...](http://davidbau.com/archives/2005/07/27/a_programming_question.html)

</comment><comment><USER32> Not sure if this is available, but is there a class near him which has kids about the same age? Thats how I got started in programming. It was great because the teacher knew how to teach kids and having other people around as enthusiastic as myself created a great environment.

</comment><comment><USER33> I cannot believe that someone has not mentioned a LEGO Mindstorm yet. My 3 year old is already learning formal Logic with this and as a side effect he is learning robotics. My 10 year old has already dropped the graphical language for a C style language for robotics.

</comment><comment><USER34> He might like Robocode <http://robocode.sourceforge.net/>

Teaches basic programming as a side-effect of trying to make your take kill the other tank.

I haven't tried it, but what I've seen of it looks pretty interesting.

<comment><USER35> You need to learn Java before you write for Robocode, which is a fairly big task on its own.

</comment></comment><comment><USER36> Okay, I throw something different in:

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

<http://2010.igem.org/Main_Page>

We'll see what kind of games he'll produce. :)

</comment><comment><USER37> Kind of obscure, but you might want to check out NodeBox. It's a bit like Processing, but for python. <http://nodebox.net/code/index.php/Home>

</comment><comment><USER38> There are two languages that would be a good first choice:

Ruby with the Ruby On Rails framework

CFML using the open source Railo with the CF on Wheels framework

Follow up second language would be javascript

</comment><comment><USER17> The Little Schemer: <http://www.ccs.neu.edu/home/matthias/BTLS/>

That's all you need.

</comment><comment><USER39> I'd personnaly show him a bit of python and start him with small games. Sorry, but I don't think scheme is the way to start for a kid.

<comment><USER17> Why not? Lisp's grammer is much simpler than just about anything else. And there's literally _decades_ worth of material on it.

<comment><USER18> Lisp is clean and the grammar is simple, that is true. But many kids want to see results as soon as possible, and there are languages (or rather systems based on certain languages) where this can be achieved faster and easier. Perhaps a lisp (scheme, specifically) may be a good first choice for a mathematically inclined kid, or more likely a teenager. I think that most kids would struggle with lisp.

</comment></comment></comment><comment><USER40> XNA studio is nice because it comes with a finished game that you can edit, and there's no pointer nonsense to get tripped up on.

</comment><comment><USER41> Ruby and Shoes are a great pair to introduce people to code. Quick and elegant results.

</comment><comment><USER42> A hairshirt and a whip, possibly, or sackcloth and ashes. At least a good talking to.

Seriously, by the time he's in college programming will likely be near the bottom of the list of skills in demand. While programming has provided many a good job for several generations, another field such as biotech or nanotech would be better for the next generation.</comment>


An estimated $1 trillion left China in 2015 - <AUTHOR> http://shanghaiist.com/2016/01/26/china_capital_outflow_1_trillion.php <comment><USER2> It's all here in Bay Area real estate!</comment>