GRAHAM - HACKERS AND PAINTERS

why nerds are unpopular

📰 summary: teenage years used to be pre-adulthood (“junior members of adult societies”) but modern school system allows teenagers to create their own societies; necessary in specialized industrial economy, but resulting school system just pure popularity contest bc “no external pressure” to actually educate

📝 article seems unexplicity scoped to American school system

on teenage life

Like a lot of American kids, I read this book [Lord of the Flies] in school. Presumably someone wanted to point out to us that we were savages, and that we had made ourselves a cruel and stupid world. This was too subtle for me…I wish they had just told us outright that we were savages and our world was stupid. [5]

hackers and painters

📰 summary: hacking is messy and creative, and hackers should identify with artists instead of falling prey to physics envy; comp sci is grab bag of mathematicians, engineers, and hackers [18]

beware math envy, identify with artists [22-23]

A programming language is for thinking of programs, not for expressing programs you’ve already thought of. It should be a pencil, not a pen. [22]

collaboration among devs should be interfaced-based: dev 1 owns module A, dev 2 owns module B, they figure out how to make their modules talk [30]

If I could get people to remember just one quote about programming, it would be the one at the beginning of Structure and Interpretation of Computer Programs: “Programs should be written for people to read, and only incidentally for machines to execute” [31]

art

Nearly all the greatest paintings are paintings of people, for example, because people are what people are interested in. [31] Representational art is only now recovering from the approval of both Hitler and Stalin. [42]

what you can’t say

📰 summary: social mores are bad for a limber mind; maintain a close social circle with whom you can question anything

conformist test

do you have any opinions that you would be reluctant to express in front of a group of your peers?…If everything you believe is something you’re supposed to believe, could that possibly be a coincidence?…If you believe everything you’re supposed to now, how can you be sure you wouldn’t also have believed everything you were suppposed to if you had grown up among…the Mongols in 1200? Odds are you would have. [35]

how to be with society

Closed thoughts and an open face. Smile at everyone, and don’t tell them what you’re thinking. [45]

how to be with friends

The trouble with keeping your thoughts secret, though, is that you lose the advantages of discussion. Talking about an idea leads to more ideas…have a few trusted friends that you can speaking openly to…the people you can say heretical things to without getting jumped on are also the most interesting to know. [46]

the other road ahead

📰 summary: the rise of server-side (vs. desktop) software and resulting changes in how software is developed (agile) and companies are formed (startups)

prescience and a sense of the time

I think a lot of the next generation of software will be written on this model [client-server vs. desktop] [56] 🔮

you realize how much software development is affected by the way it is released. [63]

The phrase ‘personal computer’ is part of the language now, but when it was first used it had a deliveratly audacious sound, like the phrase ‘personal satellite’ would today. [77]

If Apple were to grow the iPod into a cell phone with a web browser, Microsoft would be in big trouble. [78 -> 228] 🔮

In a world of web-based applications, there is no automatic place for Microsoft.

customer support should be close to development

At most software companies, support people are underpaid human shields…[at Viaweb] within a minute of hearing about a bug from a customer, the support people could be standing next to a programmer [versus filling out bug report, bug report to QA, QA to dev] hearing him say “Shit, you’re right, it’s a bug” [67] 📍 https://news.ycombinator.com/item?id=17423977

fast development leads to smarter ideas

Have you ever noticed that when you sit down to write something, half the ideas that end up in it are ones you thought of while writting? The same thing happens with software. Working to implement one idea gives you more ideas. [68]

competitive pressure = better incentives

System administrators can become cranky and unresponsive because they’re not exposed to competitive pressure…[sysadmin], like an old bachelor, has few external forces to keep him in line [75]

why big companies buy the most expensive solution

because the people offering expensive solutions can spend more to sell them. [76]

business rules

there are only two things you have to know about business: build something users love, and make more than you spend [84] It’s a lot easier for a couple of hackers to figure out how to rent office space or hire sales people than it is for a company of any size to get software written [85]