Writing great documentation - <AUTHOR> http://jacobian.org/writing/great-documentation/ <comment><USER3> Four rules that should be tattooed on the back of every technical writer's hands so they can't accidentally forget it.

1\. Poor grammar and bad writing are often a sign of poor comprehension.

2\. Good documentation takes time.

3\. Deep expertise is not automatically a prerequisite for good documentation.

4\. Don't let working cultures that put too great a premium on knowing everything dominate - i.e. being 'in the know' should be a tool for helping others up rather than beating them down.

<comment><USER4> > 1\. Poor grammar and bad writing are often a sign of poor comprehension.

Or a sign of a non-native speaker.

<comment><USER5> Is it common practice to let a non-native speaker write your technical documentation? (Honest question.)

<comment><USER6> Yes. English is used everywhere and by everyone.

</comment></comment></comment></comment><comment><USER7> I wish I could upvote this ten times.

I loved the comment about not making your tutorial so easy that it becomes unrepresentative of the level required to use the technology.

<comment><USER8> That can backfire if there's a big gap between the tutorial and the reference documentation. I had a huge and extremely unpleasant initial frustration with Boost Python. The tutorial had me download the Boost source code, build it, and work in the Boost source tree. It was slick and easy. A very exciting start! After I did the tutorial I blew away the Boost source tree, installed the libboost-python package, and got utterly stuck. The reference documentation provided no guidance. There was no libboost-python-dev version of the package at that time, so I thought installing libboost-python would give me everything I needed to develop. Oh well, I eventually figured it out and rebuilt the Boost source.

But to build code that _wasn't_ inside the Boost build tree, I had to read the documentation for the Jam build language so I could modify the build files! I had to learn the damn build language so I could fix the build files so I could get Hello Freakin' World working in a top-level directory. After that I never had to touch the build files in any meaningful way again. A page of documentation could have saved me a whole lot of work.

Partly I blame the tutorial for raising my expectations of the documentation. I've come to accept that software often requires fiddling, but the Boost Python tutorial was so slick and easy that I figured the answer HAD to be in the documentation, right in front of me. The whole time I was working on figuring out the build files, about 10% of my brain was working on the problem and 90% of my brain was screaming, "You _idiot!_ This is a well-documented project! You don't have to think this hard to get Hello World working! Stop fiddling and go back to the documentation and find what you missed!" And I did waste a whole hell of a lot of time re-reading the documentation looking for what I missed.

</comment></comment><comment><USER9> From the "What to write" article:

 _This means you need to playtest the tutorial under all sorts of different circumstances, making sure that it always works (even on Windows)_

Just a little offhand comment. MSFT is totally screwed when this is the average developer's mindset. We were always so worried about 'Linux being ready for the desktop' that nobody noticed that Mac & Linux have owned the developer desktop for years, long enough for the author's comment to be not even noteworthy.

<comment><USER10> I usually have to struggle to make things work on Windows.

I have a friend -- an electronics hacker -- who insists on using Windows for everything. He recently wanted to play with a couple of web frameworks so he could pick one for a website he's building for an early stage startup. Getting him set up with Symfony and Rails was crazy. Now I fear the day he might want me to set up Django or Pylons :(

I once tried to set up a decent development environment for myself on Windows 7. Needless to say, I failed. Windows is excellent for .NET development (VS has no competition), but for anything else you're better off with a decent UNIX.

<comment><USER11> > I usually have to struggle to make things work on Windows.

My strategy for this has been to start with a "any Windows support is entirely accidental" approach, and then once someone steps forward to fix it place them in charge of Windows compatibility. There are never very many Windows users who are actually interested in helping though, especially compared to the number who complain about it not working.

</comment></comment></comment><comment><USER12> Personally I'd rather someone not write an opensource project than write it and not document it. Understanding someone else's thought process is _hard_ and it gets to be an order of magnitude more difficult without documentation. If it's easier for your average hacker to write his/her own implementation than use your library, you've failed.

<comment><USER13> I really doubt that's true. You're saying that instead of using a poorly- documented mencode filter to fade a video in and out, you'd rather have to write your own filter or not be able to use mencode for the job at all?

While working on a project with a tight deadline, I've needed complex functionality that wasn't well-documented, and I've needed complex functionality that wasn't there. When it wasn't there, I was forced to produce complex functionality that wasn't documented. If I'm generous enough to release that for others to use, reference, and modify for free, then the last thing I want to hear is somebody bitching about how I didn't document it well enough for them. I have other things to do, and for me it was a one-off project.

In a pinch, source code is documentation, and it's pretty hard to make an argument that undocumented source code is worse than nothing at all. At least then when you're implementing your nicely-documented tool (because you'd rather have documentation than _get stuff done_ ), you'll have a reference implementation to look at and test against.

Note: I'm not arguing that documentation isn't important, I absolutely agree that it is. I just think it's absurd to rank the importance of documentation above the stuff that it's documenting.

<comment><USER12> It's my personal preference, so it's true whether you doubt it or not. :-p

Using undocumented code is like programming in a language I hate. Mentally it's a really shitty experience and I'm not in a position where I have to settle for that. If I needed to do it to put food on the table, obviously I would.

You're also creating this false dichotomy between getting stuff done and documenting your code. I've never been in a position to have to choose between the two. If you have time to write a good program but not enough time to document it, I would question whether the program you wrote is actually good. If I'm writing a paper, sure I can spew shit out on a page for a couple hours and produce a "paper". But realistically if I'm actually going to produce a paper I need time for outlining and proofreading.

(Note that "documentation" isn't really what matters, it's that the code is understandable. If the code is self-documenting or the program is small enough, I consider that documented code.)

<comment><USER13> Quite often, "getting stuff done" and documenting your code _is_ two separate steps. The example I made up above was not something I pulled out of the air. I've been doing a lot of different little jobs for a client, and one of those was to create a program that could automatically publish a finished video based on a raw video input (adding an intro and outro sequence, fading in and out, etc.). To do that, I used ffmpeg.

ffmpeg had recently dropped support for an old filter system and began using a new, not-fully-fleshed-out system. The filter creation process was pretty well documented, and there were a few well-documented filters. There was a filter or two that I needed which was documented poorly but had a couple usage examples, just enough to get me going. I was very grateful for these! Then there were a few filters I needed that weren't there. I had to write them, which involved some level of trial-and-error to get working correctly.

My line of work is not video filters. The work I typically do for clients does not involve video processing. If I quote a client an amount for a job, the more time I spend on a one-off job, the more money I'm subtracting from my hourly, and the longer until I move onto the next job. Quite literally, I can get more stuff done, or I can document something that I'll never use again.

</comment></comment></comment></comment><comment><USER14> I'll throw OpenBSD up there among the "best documented open source" projects. It's fantastic, and one of the many reasons I use OS.

</comment><comment><USER15> Reminds me of one of my favorite quotes from an IT manager whose project was slowly going mushy. She assembled the team and told everyone they had to stop all work and "write some emergency documentation." I was working with another group a few cubes over and so had enough detachment to savor the phrase "emergency documentation" without personally wanting to leap from the nearest ledge. The "documentation culture" phrase from the article seems like the opposite-in-a-good-way strategy from "emergency documentation."

</comment><comment><USER16> _Most documentation fails in giving too little overview. The trees are described, the bark and leaves are commented, but there is no map of the forest._

\- p.165 _The Mythical Man-Month_ (ch 15, Anniversary Ed.) Some is dated, but like the rest of the book, most is incredibly modern.

Totally agree about lack of overview. eg. Java's docs on JTree are detailed and there is no shortage of tutorials and samples online, but I've yet to find an overall description of how it fits together. One has to piece it together from carelessly left clues.

Auto-generated documentation can be quite useful for working out how things fit together, and you can click through linked types to follow the connections. This is one advantage of statically typed languages like Java (bonus: combining source and doc-comments - "literate programming" - <USER2> them synchronized, or helps to). I often scan javadocs by return type and/or arg types to find the method I need. Haskell has an amazing doc tool where you enter the type signature, and it tells you the functions that match. (BTW: I love this, but do haskellers find it useful on real-world projects, in practice?) Python benefits greatly from not having static types; this is one of the few disadvantages.

The author was honest enough to admit some particulars where he didn't follow his advice. It's easy to advise on the right thing to do, but if you find it difficult to get it done yourself, is it really _practical_ advice, under real-world pressures, on those particulars? Else we mouth an empty folklore, like Catmull's architect who said to design "inside out" but didn't.</comment>


Intel admits Apple 'helps shape' its roadmap - <AUTHOR> http://www.engadget.com/2011/05/19/intel-admits-apple-helps-shape-its-roadmap-keeps-foot-lodged/

<comment><AUTHOR> Even though I posted this article, I find my self wondering, Isn't Microsoft equally engaged in helping to shape the Intel roadmap?

Customers help shape the roadmap for any major partnerships like this, don't they?</comment>


NLP,DM – General Architecture for Text Engineering (University of Sheffield) - <AUTHOR> https://gate.ac.uk/ <comment><AUTHOR> I intend to use this platform to build my own text parser (in a product). Some queries:

1\. How robust it is? 2\. I have written my code in C#, and to migrate it to GATE I have to write all code in GATE Developer from scratch using JAPE. Is there a way to speed up this migration?

Thanks</comment>


"If you're over 30, you're a slow old man" – Zuckerberg. He turns 30 tomorrow. - <AUTHOR> http://thedailywyatt.wordpress.com/2013/08/21/young-people-are-just-smarter/ <comment><USER3> Seeing this on the front page makes me ashamed of Hacker News. I would have killed the post hours ago, but I was on a plane.

The alleged quote that the submitter put in the title appears to be completely bogus. Is that so? Googling it [1] brings up nothing but this HN page and a few other web pages from today.

If the quote was just made up, then this post manages not only to be asinine linkbait, but fraudulent as well. You don't put made-up horseshit in quotation marks and attribute it to someone.

Apart from that, what an unredeemably stupid thread. This is a shining (or should I say a steaming) example of what we don't want on Hacker News. That ought to be obvious! If it isn't obvious to you, please pay closer attention, and kindly don't post anything until it is.

Now off to bed without any supper, all of you.

1\. [https://www.google.com/search?q=zuckerberg+"slow+old+man"](https://www.google.com/search?q=zuckerberg+"slow+old+man")

<comment><USER4> This guys says he was there:

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

<comment><USER3> You're confusing two things: whether Zuckerberg spoke at Startup School (he did, of course), and whether he said "slow old man" (which someone seems to have just made up). It's bad enough to stir up dumb indignation about something someone said years ago. But to rewrite their words to make them even more offensive? Eesh.

The larger issue, though, is that these discussions are so lame. Young people think they're smarter? You don't say!

It's also lame that we live in a world where interesting people can't speak their minds. (Most thoughts are wrong. Some are interesting anyway.) In a position like that, make one slip and a thousand cackling magpies instantly descend and start pecking at you. How many such experiences before you're trained to dumb down and sanitize everything you say—two? three? After which, of course, people will criticize you instead for spouting vetted corpspeak. Talk about a lose-lose. We're all poorer for it, because it makes discourse much more tedious.

</comment></comment></comment><comment><USER5> I came to realize that Zuckerberg didn't program computers: he programmed _people_. His skill was in understanding how people thought and how to manipulate them.

So it doesn't surprise me that he said that to a room full of young wantrepreneurs ready to kill themselves working 100-hour weeks in hopes of an acquihire (probably by Facebook). It also doesn't surprise me that he blew $100 million on the good cause of helping his home school district -- looked great in the press and continued the narrative he wanted for himself. It manipulates large numbers of people in a way he wants them manipulated. This is his medium.

I wish him the best -- and that maybe he learns a little bit. I know that probably sounds condescending, but Zuck is at a huge disadvantage compared to the rest of us, similar to that disadvantage faced by rockstars: he's at the top of his game. The job has to be a killer, but as far as _social feedback_ goes, he's unlikely to screw it up. When I was 25, if I went in and told my boss he was an idiot, I would lose my job. People would ask me what my problem was, and I'd have a good chance to do some introspection. He has no similar natural social limitations. So he can keep on saying and doing things like this without the opportunity for introspection most of us would have.

That sucks.

EDIT: Removed the first clause, which seemed to be giving some people problems.

<comment><USER6> the social network was a movie.

<comment><USER5> Good grief. It was a shortcut. I absolutely don't make such broad generalizations based just on films. If you would like me to support my premise, just ask. Happy to provide it.

<comment><USER7> Irrespective of your reply to the person above, I think the default position for making claims should always be supporting them and your premise.

<comment><USER8> You just made a claim without supporting it.

Which is perfectly understandable, because that's how humans normally converse, particularly on topics that are not known to be very controversial.

</comment></comment></comment></comment></comment><comment><USER9> I think I was quicker and smarter when I was younger. Now I have experience and a broad skill set with which my younger self would not be able to compete. And in ten years from now I plan to be saying that again about my current self. The stuff I produce now is rock solid and well architected. I don't need to work 12-15 hour days because I know how to get things done right, I know the appropriate solutions for a wide variety of problems. I know what works and what doesn't.

<comment><USER10> That's what I tell myself, too. ;)

Seriously, what I've found I'm better at:

1\. Seeing the big picture. It used to be about the technology; now, it's about people. Technology is the means to an end, not an end in itself (usually; sometimes playing is just fun).

2\. Predicting pain points. School of hard knocks and all that. I've also seen a lot of technological change from my first BASIC programs on a TRS-80 and Atari 600, which informs that.

3\. Knowing when to be passionate. Some things really matter; others, not so much. Those things that matter need the time and energy they deserve; the things that don't matter, well, don't. I'm much better at letting unimportant things go under the bridge, freeing time, energy and mental capacity for more important things.

This does mean it doesn't come without a cost. Here are the tradeoffs (for me, not speaking generally):

1\. Much less time available. Life competes, kids have plays and soccer games, yard work has to happen, etc.

2\. The desire to beat my head against a problem for 96 hours straight has waned significantly. I'm much more likely to go off and do something else and come back to it later.

3\. Learning is different. It's not slower, but the process is different. For things that have a positive pattern match from the past, learning is very fast; but if there is no pattern match, it takes more repetitions to make it stick long term.

Over all, I think I'm a much better software developer today than I was 15 years ago. My code is better, stronger, faster, and I'm not running in circles as often.

</comment></comment><comment><USER11> We were all young once. We all made hilariously incorrect assertions.

<comment><USER12> Is it an incorrect assertion?

[http://www.plosone.org/article/fetchObject.action?uri=info%3...](http://www.plosone.org/article/fetchObject.action?uri=info%3Adoi%2F10.1371%2Fjournal.pone.0094215&representation=PDF)

Taken literally, it seems to be true. Your reaction time slows down after 24, as the data shows.

<comment><USER13> Reaction doesn't matter so much if your reactions aren't correct.

<comment><USER14> That's the whole story of HFT.

</comment></comment></comment></comment><comment><USER15> I look back at things I said and thought a couple years ago and am amazed at how little I knew then. Then whenever I think I really understand something I remember that this has been a pattern for more than a decade.

Now I just admit that I am probably clueless and just try to make the best decision with what I know now. It's helped me to be a lot less cocky.

<comment><USER16> I'm on the same boat. I tell myself that I will always be smarter five years from now than I am today.

</comment></comment><comment><USER17> _"Why are most chess masters under 30? I don't know. Young people just have simpler lives. We may not own a car. We may not have family. Simplicity in life allows you to focus on what's important." ---Mark Zuckerberg_

Because chess is more important than family.

I love this place, but will not deny that the Bay Area tech community's hubris is at astronomical levels.

...I'm just glad we're done talking about splitting California into smaller states.

<comment><USER18> Good point. The counter-quote could easily be something like _" Why do most Nobel Prize winners do their prize winning work in their mid/late 30s? I don't know. Older people have more experience. They prioritize. They have families. Having more responsibilities forces you to be more efficient."_

But I won't knock Zuckerberg for being young and naive once. I was too. Hopefully he's growing up a bit and realizing that there is a lot more to success than founder age.

</comment></comment><comment><USER19> Fluid intelligence (basically ability to process new things quickly) falls with age while crystallized intelligence (basically knowledge/experience) continues to improve, eg:

[http://examinedexistence.com//wp- content/uploads/2013/12/cry...](http://examinedexistence.com//wp- content/uploads/2013/12/crystallized-fluid.jpg)

Depending on what your problem is you may want a younger person or an older one, or both.

</comment><comment><USER20> The youth think they know everything, but the old know they don't know everything.

Honestly though, 30 isn't that old. Perhaps it was growing up with older parents (they had me when they were over 40) but I've never viewed even 40 as "old". Getting there, sure. But not old. Old is like 70 -- retirement home.

<comment><USER21> I have to agree completely with you there...

My parents were in their 40s while I was starting elementary school, and can't help but see that as 'old'.

</comment></comment><comment><USER22> Zuck invented FB as a 20-something. Bradeen, Brattain, and Shockley were 37-45 when they invented the transistor. See: [http://m.theatlantic.com/health/archive/2014/02/big- breakthr...](http://m.theatlantic.com/health/archive/2014/02/big- breakthroughs-come-in-your-late-30s/283858) (breakthroughs happen in late 30's).

</comment><comment><USER23> I'd be interested to know the number or ratio of startup created by under 30 and have failed vs number of startups created by over 30 and failed. My guess is there'd be less failure by over 30 founders.

<comment><USER24> Data/results from it would be near useless unless you were able to question only people with zero-responsibility (ie no family, commitments) and equal risk.

<comment><USER18> Not necessarily - depends on your goal in such a study. If you were looking to see the impact of age and age alone, sure that'd be tough to control for with all the added factors. However, startups don't occur in a vacuum and I think it'd be interesting to see some comparisons without worrying about age as the only factor.

Most research points to mid/late 30's as the peak of technological breakthroughs (largely determined by age of Nobel winning work). I'd actually be somewhat surprised if successful company founders weren't largely distributed around that same range.

</comment></comment></comment><comment><USER25> So what are some technological feats that people under 30 have achieved? The only one I can think of is Linux, I think that Linus was like 22 when he started it. That being said, I don't know how l33t were first versions of Linux.

<comment><USER26> Facebook.

<comment><USER25> I doubt that first version of Facebook should be considered some pinnacle of engineering.

<comment><USER27> AFAIK, Facebook is the most used software in the world. That is some achievement. Even technically - serving so many people is kinda mind blowing

<comment><USER28> > _Facebook is the most used software in the world._

This is very obviously not true. For example, more people use PHP than use Facebook (supposing that there is at least one user of PHP who does not use Facebook, such as e.g. myself). I'll let you construct additional examples for yourself.

And if, btw, you argue that the users of Facebook don't "use" PHP, then I'll argue that they don't "use" Facebook in exactly the same way, since their web browser (or mobile client) is an intermediary.

</comment></comment></comment></comment></comment><comment><USER29> I don't think younger people are smarter. Some people younger than I am are smarter than I will ever be, simple as that, especially when it comes to niche topics. But that's true for people older than me, too.

That being said, I feel like silicon valley gives preference to younger people in large part due to ingrained social expectations. A young 20-24 year old that pitches gets a lot of lee-way.

They have a passion and fire in them, so anything they say seems more impressive especially because you might not expect it of them. It's like a 5 year old regurgitating some obscure or advanced factoid...wow you say, what a smart young man! Objectively the kid isn't smart, but relatively speaking he appears very smart, especially compared to other 5 year olds.

The standards increase as you get older. You can't just walk in and pitch like you're an idealistic 20-something. You have to project complete confidence...essentially you need to act like the boss society expects you to already be. In contrast, younger entrepreneurs benefit from a sort of stereotype: younger people are "fresher" ideas, aren't held back by convention, etc. Older people are expected to know how to run shit and aren't allowed to just skate by on vision alone.

</comment><comment><USER30> I was there at that YC startup school where Mark said younger people are smarter. The atmosphere in the air was part humor and part insight, not some seriousness to mean that older people are stupid in anyways.

The most important thing he said that day I can remember was that his company was, no matter what, a "software" company, and even his chief legal team lawyer codes as well, and stressed the importance of understanding and doing coding.

Now, I'm 32, and made a lot of money in my late 20's, and also in my early 20's, but lost everything right before I turned 30 in some legal grow op investments in California. I've never had a successful startup, even though I had a successful affiliate program in college, and am beginning to feel old.

When I was 22, in college and making more than a plastic surgeon because I figured out how to generate oodles of mortgage leads online during the mortgage bubble, I not only felt different, the world itself was different. Everybody seemed to be happier, friendlier. The world is just simply a different place when you're making lots of money and building things, whether its in internet marketing or in the startup world. The world is a very shitty place when you're stagnant, barely making any money, and just rotting away some like dead animal.

Its hard to even think straight any more. It's like a part of me is just not there that once was. I exercise and eat healthily, but its just not the same. Maybe I need to start getting on some HGH treatment, but that's nearly 30k a year. Its probably more mental than hormones.

So yeah, if you're over 30, you're a slow old man, only if you let it get to you deep down.

<comment><USER31> Interesting. I felt like you at age 25, when I was hit by poverty, uncertain direction, and health problems.

I'm 28 now, and feel like I'm getting younger as I age. But not quite as young as when I was 21. There's definitely aging there, I think.

The three things that have produced the biggest impact for me have been:

      1. Barbells
      2. Mindfulness + stoicism (Seneca)
      3. Finally earning a good amount of money

The first one was the easiest to implement. Have you tried barbells?

Mindfulness I only really managed after a health crisis forced me to deal with the stress constructively. Money I can't advise on.

But barbells are very easy to implement. Takes me about 30 minutes, three times per week + a $40 gym membership.

<comment><USER30> Barbells I've got down solid. I was on Stronglift's 5x5 for quite a while. Now I've been getting more gains from a hybrid zyzz's workout, with enough compound lifts mixed in. My diet could use some work though, as that's what accounts for most lifting gains.

I'll look into #2. Maybe that can help with #3. When I can think straight and focus, I can stomp my foot on the ground and money seems to spring up around it. Thanks for the advice.

<comment><USER31> Good luck! Money's still out there for entrepreneurs.

The Miracle of Mindfulness was a good read. Actually, the first ten pages was enough for me. It got me to try being totally mindful for a morning as I went about my affairs, and that stuck with me. I am solidly in the present most of the time.

Letters from a stoic is what I read for Seneca. He taught me that we will lose everything eventually, but accepting this lets us enjoy what we have without fear. And he taught me to rehearse any scenarios I fear and write them down, to see that they're ultimately not so bad, or the common fate of us all.

</comment></comment></comment></comment><comment><USER32> I not only feel more mature in my reactions and my thinking but also feel I am a much better coder and creative thinker. You don't need to be 20 to code or start a company. Age discrimination in Silicon Valley is real though. It has nothing to do with intelligence. It has to do with trying to hire people like yourself. Of course a 20-year old would not want to hang out with a 50 year old dad. Asking silly quizes in interviews to a professional engineer to judge decades of experience is beyond idiotic. The reason older people are not good at solving quizes is because that's not what we do in the real world so you don't develop that skill. That's what you do in school. The best ideas come after hitting the wall a few times. A good workplace needs diversity of skills, experience, cultural background, gender, etc. Startups who ignore this are not only breaking the law but are also missing out on great people. I would love to hear suggestions on how we can change this culture. Is it possible to prove age discrimination? Should companies adopt a standardized and open protocol for hiring?

</comment><comment><USER4> Yes, this is Mark Zuckerberg. He went on to say:

"Why are most chess masters under 30? I don't know. Young people just have simpler lives. We may not own a car. We may not have family. Simplicity in life allows you to focus on what's important."

Then, have a look at this list:

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

<comment><USER33> Zuckerberg was wrong about the age of chess masters. Chess players peak in Elo rating, on average, at age 35.

Former world champion Anand hit his peak rating at age 41.

[http://theconversation.com/anand-vs-carlsen-the-age- effect-i...](http://theconversation.com/anand-vs-carlsen-the-age-effect-in- the-world-chess-championship-20120)

</comment></comment><comment><USER34> In every craft you get better with age, as long as your keep you mind and body active.

Zuckerberg will learn this as he gets older.

<comment><USER35> He's the original Buzzfeed. Start out talking a lot of crap, then try to earn goodwill by improving.

</comment></comment><comment><USER36> 116 comments and exploding: I commented a few points on the blog and I will say it quickly here. I know what he said and why he said it because I said the same thing at the same time when I was only two years younger than him and I believe the same thing now.

He said this: Do not avoid hiring young people. They are great and terrific and amazing and full of ideas and energy. Give them more power and more responsibility. Just baby sit them periodically and gently guide them when they need it. Value them and utilize them.

Every other interpretation of that quote is just bizarre. Btw, when you are that young and have taken such a deep ownership of life and world, you see things other people just don't see, and one of them is the power of the twenty-somethings. And you might remember the power of 18-20 crowd.

</comment><comment><USER37> Does ageism have as much of a perceived presence in tech culture in regions other than the valley?

<comment><USER38> I do not see it much in the southeast US. .Net and Java dominate the programming language culture here, and you do not just jump in and learn all of .Net or Java in a year or two. For all of its many shortcomings, the south does seem to have a reverence for age and experience (which might contribute heavily to aforementioned shortcomings).

Even at startups, I would guess that the average programmer is over 30 in my area (Charleston, SC). An older programmer here can pretty much live like a king/queen on their salary with nearly limitless employment, assuming they keep somewhat up to date ("up to date" being more like "knows how to use OOP and a standard ORM", not "has a prolific Github profile and uses TDD"). In fact, many of the top programmers you see here are people who left SF or NYC for more stable employment in finance, cushy consulting, and better real estate prospects.

[Disclaimer: I am neither an older programmer nor a .Net/Java dev, but this has been my anecdotal experience]

</comment></comment><comment><USER39> I'm understanding and doing stuff now in my mid-thirties that my young self only wished he could do. To boot, I'm more excited and passionate about my craft than ever; certainly more excited than I was in my mid-twenties. I don't see this trend changing anytime soon.

Then again, I'm probably an old engineer at heart :) I love talking to those guys in their 50s that were programming COBOL or assembler before I was born. I was sitting in a career course thing recently and some of the older guys were sharing their experiences applying for jobs; all I could think was that I'd love to hire these guys if I had the means. Give me a wise engineer any day.

</comment><comment><USER40> I had my 40th on Sunday. I had an interview on the Friday and I had the distinct impression that I did match the interviewers picture of the team member he wanted. This was as Security Engineer working on a relatively large Security team within a large company that hosts a lot of domains. Point of this comment is that this is the first time I walked away thinking 'does he think I'm too old for that role'. Maybe I shouldn't be saying how much I want to work around people who know things I don't.. how much I want to learn. Perhaps I'm expected to be a manager now :(

<comment><USER41> As a forty something manager - I want to work around people who know things I don't - I want to learn from them. And I do every day :) But ageism is real and you most likely felt it. You might want to focus on team leadership, but certainly never lose your enthusiasm.

</comment></comment><comment><USER42> Tech innovation is accelerating.

The old guys vastly underestimate the productivity difference between old tech and hip new tech.

The young guys vastly overestimate how much of their productivity is due to their own smarts rather than using hip tech, and don't sufficiently appreciate that when they get older, the experience they've accumulated won't be worth much, either. Re-learning everything every 5 years is only fun the first and second times.

But certainly, years of experience with some tech is becoming less and less valuable, as the tech is changing faster and faster.

<comment><USER43> The old guys are watching the "hip new tech" with amusement because they've seen it all before and know why it didn't work last time around.

</comment></comment><comment><USER44> There's no reason to be insulted by this quote. Either Mark is wrong, and someday he'll learn, or he's right.

When kids say mistaken things about stuff they don't understand, adults usually just ignore them because they're confident they know better. They don't (ordinarily) get upset. I think people denounce a quote like this for being naive _and_ get upset about it because they worry it might be true.

<comment><USER45> I doubt they would care if they weren't worried it could actually disadvantage their employment prospects. The tech community is full of fads and it's hard to know which will catch on (regardless of whether they reflect reality or not).

</comment></comment><comment><USER46> I'm over 40 and I happen to agree with Zuckerberg. Young people do think faster.

But on the flipside, there is probably a good reason the US doesn't allow people to run for president before age 35. And most powerful leaders in the modern world are considerably older than that.

You lose something with age I have found. But, you gain something just as valuable. Thinking fast doesn't necessarily mean thinking better.

<comment><USER46> I guess the one thing I wish I had realized when I was younger is that I wouldn't stay young forever. I probably would have made better use of my efforts.

</comment></comment><comment><USER47> Let's be honest. The only reason anyone thinks Zuckerberg is "all that" is because he made a shitload of money. You know who else made a shitload of money? Edison. How many HN readers would put Edison over Tesla?

How much money a person makes is a _very_ poor indicator of .. well, anything, except how much money got made.

</comment><comment><USER44> I have no clue whether or how much being over 30 matters, but I find this article to be full of poor arguments.

> I would guess that a fair majority of the human race has, at one time or > another, been young.

This supports Mark's point more than counters it.

> Most chess masters, he tells us, are under 30, and he explains why. Oops, > sorry, no he doesn't. Turns out he doesn't know why, so he asks us. This > seems something of a failure on two counts. First on his knowledge of the > subject itself, and second, on the wisdom of bringing up your own lack of > knowledge in a speech about the superiority of your mental abilities.

Not really; the statement is more in the spirit of "here is theory; here is data; data matches theory; I don't know why the data is, though." What matters here is _whether_ most chess masters are under 30; if that's false, he should just say that.

> I have to give credit to Mr. Zuckerberg here. He has made me think, and I am > a house divided; 50% laugh, 50% throw up.

What values do these sentences add?

> Jesus, if you so believe, was a simple man, who saved the world. Ghandi > simplified his life in order to lead people to freedom. Buddha decamped to > the wilderness, as did Moses. Mandela lived an enforced simple life for 27 > years in prison because of the importance of his ideas. That is Importance. > Those are concepts, beliefs, visions, that require a life of simplicity. > Pulling an all-nighter to run a debugger in your cubicle just doesn't seem > the same somehow.

Here he acknowledges that simplicity matters, but says it doesn't matter the way Mark claims it does because it's less admirable or heroic than in the cases of Jesus and co. That's not the point. Mark's argument is simply that young people are smart _er_ because they lead simpl _er_ lives, which lets them focus on things that matter, presumably to them. (Not things that are heroic.) And pulling all-nighters to run debuggers in a cubicle is something he says, not Mark.

> The difference is, all those 40 year olds have been through that 21 year old > stage and know it well. They have learned how to be more focused, more > efficient, more productive in less time so they can actually devote time to > the things that really are important, like those kids. These are the people > who can teach you how to build a happy, sustainable, productive, and > satisfying life while still getting a job done.

He is probably agreeing with Mark here, but they are certainly not disagreeing.

> Take a stroll through the nearest cemetery some day. Look at the > gravestones. Read the inscriptions. These are whole lives pared down to one > phrase. Search for the ones that say CEO, or Chairman, or Acting Vice > President, or President's Club for Sales. Go ahead I'll wait. Oh really? > Well what do they say? Hmm, Loving Father, Devoted Mother, yes, that sounds > about right. They all speak of love, family, the home, the heart.

When Mark made the remark about being younger and smarter, he was at a YC startup event. He was most likely stressing the importance of being younger and smarter _in starting a startup_. What this man's saying is irrelevant.

Overall, I personally feel this was upvoted to the front page more because of the controversiality of the topic than because of the quality of the article. All it does is throw a bunch of objects at random at something Mark Zuckerberg said _at a startup event_ , and then reiterate a couple (old) irrelevant arguments about wisdom and experience.

<comment><USER48> One thing I can agree with you on is that it sounds like Zuck was taken out of context as a blanket statement about working in tech, when maybe he didn't mean it that way.

However, what does your comment really add other than attacks? Everything you wrote is practically calling the author an idiot, when does it really matter that part of his blog post may be in agreement with Zuck? The author makes excellent points, although indirectly, about how a person's value as a founder/engineer/whatever can't be decided based on age. That sort of prejudice discourages valid innovations and inventions that come from people with experience on two fronts: 1) You're telling older people that they can't contribute. 2) You're telling VCs that older people can't contribute, and VCs often make judgements in far too little time. When you're Mark Zuckerberg, you tend to be listened to.

>That's not the point. Mark's argument is simply that young people are smarter because they lead simpler lives, which lets them focus on things that matter, presumably to them.

The author understands that and he's directly arguing that point. Young people may understand what is important _to them_ , but they don't understand what is important _in life_. That sort of understanding is important in more areas than you seem to think.

<comment><USER44> I might have expressed myself poorly, but this was really my main point: _Overall, I personally feel this was upvoted to the front page more because of the controversiality of the topic than because of the quality of the article._

I wasn't trying to attack the author. I was just trying to point out where his arguments were flawed. If any part of my comment was unnecessarily mean- spirited, please tell me.

I pointed out the parts where he is agreeing with Mark as a way of pointing out the flaws in his argument, since his intent was to disagree.

You're right that people are rightly indignant that someone as highly regarded by VCs as Mark is saying such disparaging things about older people.

> That sort of understanding is important in more areas than you seem to > think.

I disagree that having an appreciation for love and family is related to being a successful startup founder in the way Mark meant his statement, except perhaps in the vague sense of, say, being happier and therefore more productive. I agree it matters _in life_.

If I'm agreeing with the author here, if that was his real point, then I believe the title of this submission is linkbait.

<comment><USER48> I think what bothered me is that your comment was entirely negative about someone else's work without any sort of balance. The author of the blog post you're responding to was able to demonstrate that you can disagree with one thing someone says while agreeing with other things. If you're concerned about controversy, pure negativity can only add to it.

>I disagree that having an appreciation for love and family is related to being a successful startup founder in the way Mark meant his statement, except perhaps in the vague sense of, say, being happier and therefore more productive.

I took "the importance of love and family" as examples of things that, along with other undeniable benefits, come with experience. To deny the importance of those things excludes people who can contribute more than simple boundless energy.

</comment></comment></comment></comment><comment><USER49> "Von Neumann used to say that a mathematician is finished by the age of thirty. As he got older, he increased the age to thirty-five, then to forty, to forty-five, and soon to fifty." .- Indiscrete thoughts, ch. XX. / by Gian- Carlo Rota.

</comment><comment><USER23> Particularly on the topic of having children, buying cars or homes, being loyal to a company or the concept of risk taking, the current 30 - 40 year old would have a complete different mindset than the 30 - 40 year old from 10 - <USER2> years ago.

</comment><comment><USER50> "Is he still a member of the smarter set? Or has he aged out? If not, what is the cut off?"

Also, can we please raise the cut off if it's really young? Please?

</comment><comment><USER51> "...unless you have truckloads of money paying under 30 slaves" \-- slow old man Zuckerberg.

</comment><comment><USER52> I think there can be a certain inquisitiveness that those under 30 have which dwindles as one ages. I wouldn't say 30 is the point where that all breaks, but certainly he has a point. That inquisitiveness, I think, leads youngsters to try new things and come at problems from a new angle.

</comment><comment><USER53> I stopped reading went the author brought up religious figures.

<comment><USER54> You regard that as your cue to stop listening? That's rather narrow-minded of you. (You also missed a fairly important point that the author was trying to make.)

</comment></comment><comment><USER55> We'd be lost without the nuclear reactor of young hubris.

</comment><comment><USER56> By that logic I'm old, but I'm also wiser.

</comment><comment><USER57> To be fair, he's a slow old billionaire man.

</comment><comment><USER58> Older people are better at creative things (think writing, art, etc). Younger people are better at math, programming, etc.

<comment><USER44> That is actually a striking thought if it's true. Can you please tell us why you think it is?

</comment></comment><comment><USER59> Hmmm :-) :-) This is a GREAT opportunity to dispel myths & confirm truths

What Zucka said, I'm presuming he did, but haven't checked, has truths & flaws all at the same time. Actually it matters little who said it. This is a great discourse potential. Indeed, I've said similar things in the past,probably way more stupid. What this demonstrates is your IQ to the world, albeit at a singular point in time. But the world is an unforgiving place, & the bigger they are the harder they fall. Reasonable we can assume that the numbers wanting to have a dig at you increases in a power-law-like manner, the `bigger´ you are and the more you say; if he'd thrown the word `women´ in there somewhere, it would have gone-up so much he could have been literally toasted, maybe even contract kill from some nutter. Still, it doesn't demean my respect of him, we all have stupid off-days. One has to look at the (verbal + doing) batting average, but I agree if the verbal average per se is low but it's best not to speak! Question is, are you prepared to cast the first stone? I'm not, 'cause I screw-up constantly. I've tripped over so many of my biases, I'm biased that I've biases.

As for me, I'm 45. Anyhow, that's what it says on my passport, but I don't believe it 'cause I still feel 12 on the inside. Moreover, I consider myself faster, more efficient, more clued-in & way smarter than I ever was. Physically, I was a former multiple WR in deep-sea freediver, but I can still do what I did way back when. So what gives? Secretly I'm running nature's `smart pills´. Want some?

Anyhow, back to the story. Innovation is not so much about IQ (I know plenty of `box-tickers´ with IQ of +140). But it takes more than IQ & speed. BIG innovation, which is or should really be the name of the game, requires MQ (= CQ + IQ) (C, for creativity & perspective-shifting, M, moonshot). Most people under 30 still have a deluded self-centered view of the universe (even secretly) which makes this incessant sense of self-centeredness difficult to allow for any majorly significant perspective-shifts to do 0 to 1. On the other hand, the `program´ in `old dogs´ is also pretty entrenched, which makes the field fairly level.

One last thing: I actually, paradoxically, agree with him(!), i.e., if you're doing incremental or `me too´ innovation, bu not if you're looking to do or invest in real-world (i.e., physical) moonshot innovation, of the type that will magically defy steadfast & age-old laws of nature, not the 140 characters stuff. Sure 140 characters will make money, but I'm not talking about that, I'm talking altering the real fabric of reality & your existence. In this extraterrestrial landscape the brain-strain & the chasm of difference is so deep & wide (think Mars' Valles Marineris vs. Grand-Canyon) that there simply ain't no way, no how you're going to generate or process, say, condense, the broad based & deep knowledge required to go from 0 to 1 in a short time. It can happen, but then we're talking about a special type of person (another conversation for another time perhaps). I'm talking about the BIG opportunities, the stuff that exists at the intersection of fields & which require really deep, sometimes life-long domain knowledge acquisition; the stuff of Newton, Galileo, Da Vinci, Taleb, & Co.). Some evidence for this:

[http://www.forbes.com/sites/singularity/2013/09/11/peter- thi...](http://www.forbes.com/sites/singularity/2013/09/11/peter-thiel- promised-flying-cars-instead-we-got-caffeine-spray/)

Peter's experiment wasn't the program per se, it was the young- & smart-guns lack of really deep & really broad basic fundamental education (self imposed or otherwise) that requires more time than going from kindy to even college, where by enlarge you're made to jump through pointless hoops over & over again, ad nauseum. No doubt, there is an education problem & a hack in the waiting. The problem with his approach was that it takes time for flowers to blossom, & to paraphrase Taleb:

 _"I'd rather be dumb & antifragile [i.e., old & experienced] than extremely smart & fragile [i.e., young & inexperienced], any time."_ \- Taleb (2012)

The bottom-line: risk saying or doing nothing & the outcome is certain: nothing. The trick is to have a willingness to alter your position if demonstrably shown to be wrong, 'cause that'll certainly boost your IQ, & most notably. All good!

</comment><comment><USER60> Stopped reading the article when the author misspelled Gandhi as Ghandi.

<comment><USER61> Stopped reading when you misspelled गांधी as Gandhi.</comment></comment>


Ask HN: What direction should i take for building my web app - <AUTHOR>

I am trying to build a mobile web app whose content has top be crawled by search engines, its an idea that we are willing to test call it an MVP. Currently we are considering using AngularJS on the front-end and then Ruby for the webservice.
I have been thinking about how well angularJS apps work well with search engines as it is imperative that the site is crawlable and also what would be the most efficient language to build a fully functioning, scalable web service. We have the option of PHP, Ruby, Python.
Thanks in advance <comment><USER2> You might want to check this for the crawling issue: [http://blog.earlyclaim.com/get-your-javascript-website- perfe...](http://blog.earlyclaim.com/get-your-javascript-website-perfectly- crawled-with-docker/) For the webservice I would choose Symfony but it really does not matter what language you choose.</comment>


James Fallows: One potential reason Google couldn't win in China - <AUTHOR> http://www.theatlantic.com/science/archive/2010/03/three-google-china-follow-ups/37941/ <comment><USER2> I know (directly from a worker involved) that the relevant UK government authority gets data from Google about searches for illness and disease symptoms so they can track what's going on with the population's health around the country.

Suggesting that the Chinese authorities might have slightly more ulterior motives doesn't sound unreasonable to me.

</comment><comment><USER3> Potential reason? It's a bloody foregone conclusion.</comment>


A very complete looking Python cheatsheet - happy-go-lucky https://www.pythoncheatsheet.org/ <comment><AUTHOR> It's not a cheatsheet. It's 83 page pdf/web page.

Low level python intro with examples.

</comment><comment><USER2> Looks good. Thanks for sharing this!</comment>


CSS Reference - <AUTHOR> https://cssreference.io/ <comment><USER2> A lot of the CSS properties documented on MDN (reference of all properties available [1]) come with interactive examples, for instance background-color and flex to pick two random samples. There are great introductions to CSS concepts in general on MDN as well (flexbox, grid).

Contributions to MDN are welcome. All you need is an account, and their reference reads more like documentation and less like an ad :)

[1]: [https://developer.mozilla.org/en- US/docs/Web/CSS/Reference](https://developer.mozilla.org/en- US/docs/Web/CSS/Reference)

<comment><USER3> > All you need is an account

You can even log-in via GitHub nowadays.

</comment></comment><comment><USER4> The author of this site is also the author of Bulma ([https://bulma.io/](https://bulma.io/)) - my goto CSS framework. He's also created another similar site for HTML: [https://htmlreference.io/](https://htmlreference.io/)

</comment><comment><USER5> [https://github.com/jgthms/css-reference](https://github.com/jgthms/css- reference)

</comment><comment><USER6> The first page I looked at, for align-content, says:

The remaing space is 150px

[https://cssreference.io/property/align- content/](https://cssreference.io/property/align-content/)

Also, I lead a fairly ad-free life, so there's way too many ads for me to consider using it regularly - those fixed-on-the-screen ones are especially intrusive. A shame as it looks like a good idea.

<comment><USER7> I don't get the 150px things your are saying - what do you mean?

<comment><USER8> It's a typo: "remaing" instead of "remaining"

</comment></comment></comment><comment><USER9> Cool, but slow. Couldn't all the data be packed into frontend? Waiting even a sec to check out some property is impractical.

</comment><comment><USER10> This is really useful - bookmarked.</comment>


Five States Are Considering Bills to Legalize the 'Right to Repair' Electronics - <AUTHOR> http://motherboard.vice.com/read/five-states-are-considering-bills-to-legalize-the-right-to-repair-electronics# <comment><USER3> I don't see how this kind of state legislation solves any issue.

In the example given...Apple has never authorized a company to repair iPhones, but there are literally hundreds of companies out there who do it anyway...they just can't advertise that they're certified by Apple. The big problem seems to be the Department of Homeland Security raiding small local businesses and harassing them over "counterfeit parts". First of all, in most cases you're just dealing with typical small circuit boards and pieces of aluminum or glass or plastic. Second of all...why is this a matter for the DHS? Aren't they people who should be looking for bombs and things and dealing with actual important stuff?

Now, this law might make some supply of official parts available, so that's kind of positive, but there's an issue with that. Does that mean that every repair company can now only buy parts from Apple or risk a raid? This limits potential suppliers of commodity parts from many to just 1 and could jack up prices. The end result is that the consumer gets a piece of "Official Apple Glass" or "Official Apple Circuitboard" and pays much more for the privilege. As a consumer, I don't see a significant benefit to that.

<comment><USER4> _why is this a matter for the DHS?_

The DHS was created by aggregating 22 existing agencies. Those agencies are still responsible for their traditional functions.

The US Customs and Border Inspections is one such agency, it enforces laws against counterfeit goods and violations of US companies intellectual property rights.

</comment></comment><comment><USER5> While this could turn out to be a logistics nightmare, I think this could be absolutely wonderful for Out-Of-Warranty users. There's a desire for people to have access to replacement parts but, for example, Apple doesn't sell their service inventory.

Some repairs (such as iMacs) do require a substantial amount of care. Even after 8.5 years of Mac repairs I still found myself running into issues - <USER2> "fat fingering" connectors, to defective Logic boards that still pass all hardware diagnostics sent to us - some of this stuff is not for the faint of heart. Imagine using a plastic "pizza cutter" to cut off the VHB tape that holds the incredibly fragile $800 display of an iMac, and then remembering to connect the display back up before you put new tape on during reassembly.

My guess is Apple fought the NY bill because they know how these machines are designed. There's a reason they charge a flat rate of $39 for Labor, but then only when a hardware repair is actually completed.

On the other hand, the charge to backup your data is $99 for a drag/drop or a time machine backup - something you should do yourself. :-)

</comment><comment><USER6> I sincerely hope this succeeds, and is ultimately extended to recognize software as being just another part in a modern device. Especially once a manufacturer stops supporting a device with software updates, they should have no right to prevent users from fixing defects in those devices on their own.

<comment><USER7> Would you believe that simply loading a program into RAM with the _intent_ to fix is copyright infringement?

</comment></comment><comment><USER8> This seems like the sort of thing FOSS advocates should lobby for (hopefully FSF is looking at this).

</comment><comment><USER9> I think that this might be related to the "patent exhaustion" argument being put forth also by the EFF towards Lexmark's case against a cartridge refilling company. Essentially the idea of patent exhaustion is that a product, once sold, has paid it's patent holder for their invention and so there aren't any further rights or protections to be conferred. With that argument, the EFF claims that "Impressions v Lexmark" was incorrectly ruled by a lower court in favor of Lexmark.[1] [1] Impressions bought quantities of used Lexmark cartridges, refilled them and resold them.

</comment><comment><USER10> I fail to see how "last-minute lobbying from groups backed by Apple and others" won't stop the bill this time around again. And next year. And to 2050, for example.

Fact of the matter is, lobbying is actually legal, which is a whole different problem from which many others stem -- including the one discussed in the article.

</comment><comment><USER11> I'm curious to see how this turns out, especially considering things like TouchID which is paired to the Secure Enclave. Allowing anyone to perform that pairing fundamentally undermines their security model.

<comment><USER12> There's no reason for the physical sensor to be combined with the key/credential storage other than to intentionally interfere with third party replacement parts.

<comment><USER13> Apple claimed to have a security reason that was in the interest of the user and not only anticompetitive; does someone have a link to an article explaining this? I remember reading about it at the time.

<comment><USER14> Here is one article I found, the basic claim is that the Touch ID sensor is (cryptographically?) paired to the secure enclave and replacing it requires Apple magic sauce to revslidste the sensor/enclave pairing.

[https://9to5mac.com/2016/02/05/error-53-iphone-6/](https://9to5mac.com/2016/02/05/error-53-iphone-6/)

<comment><USER13> Thanks for the reference!

</comment></comment></comment></comment></comment><comment><USER15> FTA, repair.org is the lobby/advocacy group behind this - it's a wonderful thing and I hope Australia looks at something similar soon.

<comment><USER16> If any countries anywhere in the rest of the world had any balls whatsoever, 'right to repair' laws would have been put in place _before_ companies like Apple were allowed to enter those markets. This is the kind of consumer rights issue you'd expect organisations like the EU to take a stand on (cf. mobile roaming charges). But everyone's so frightened of upsetting the likes of Apple, this is allowed to continue.

I single out Apple in particular as they actively go out of their way to make it as difficult as possible for anyone outside of Apple to undertake repairs: Schematics are not released and have to be sourced from unauthorised channels, many of which charge ridiculous amounts for dodgy copies, likewise with Boardview files. Also, many components on Apple boards have no markings at all, making it almost impossible to identify them, without reference to one of the 'top secret' schematics.

The whole setup stinks.

Thank god for free resources like:

[http://www.apple-schematic.se](http://www.apple-schematic.se)

<comment><USER10> Situations like this one make me want to travel back in time and see for myself the first ever meetings where it was decided that people shouldn't have a right to repair the tech they bought.

I'm really curious on when did that happen for the first time ever?</comment></comment></comment>