While I was searching for electronic formats of my printed books, I stumbled on the book “Hackers & Painters: Big Ideas from the Computer Age” by Paul Graham, published by O’Reilly and copyright 2004. I started reading it on a whim and basically got sucked in, reading on the plane and in between things for the past two days. 250 pages later, I’m antsy to program, and move to San Francisco, more than ever! But first I’ll take a minute to recall the parts of the book I most want to remember before I don’t.
Plans are just another word for ideas on the shelf.
Piracy is effectively the lowest tier of price discrimination.
Middle class: not serfs or warrior aristocracy; supported selves by creating wealth they can keep.
1. Why Nerds Are Unpopular
This chapter talked about social groups in schools, as you might have guessed. Graham also discussed many improvements that could be made to the education system. He explained how schools are basically like prisons, serving little purpose practically other than storing children while parents are at work. Graham thinks much of the problem with children in America is that we have strayed from children being junior members of adult society. In the past, teenagers would often work as apprentices to tradesmen. They were useful and contributed to society. Now, teenagers are kept out of adult society. Part of this is a result of specialization, as it’d be hard for a kid to learn from and assist an adult working a random office job.
In the notes in the back:
So how do you fix schools? The key to the answer may be college. When you go to (a good) college, most of the problems I describe get fixed. So the solution may come from asking, how do you make life for teenage nerds more like college life?
Home-schooling offers an immediate solution, but it probably isn’t the optimal one. Why don’t parents home-school their kids all the way through college? Because college offers opportunities home-schooling can’t duplicate? So could high school if it were done right.
2. Hackers and Painters
Graham studied painting at an art school after finishing his graduate degree in computer science, which seems odd, but he explains how programming and painting are quite similar. “They are both makers.”
“Computer science” is “a grab bag of tenuously related areas,” with mathematicians at one end and hackers writing interesting software at the other, and all sorts of others in between. Graham says typical computer science departments are as if mathematicians, physicists and architects all worked in the same department. For the hackers (“advanced programmers”), code is a medium of expression. They have mostly the same goals as artists and work in much the same way.
The computer science label causes problems for the hackers, leading them to feel they need to write research papers. This can lead to, instead of designing interesting software, designing ugly software that makes a more suitable subject for a research paper. “As anyone who has written a PhD dissertation knows, the way to be sure you’re exploring virgin territory is to stake out a piece of ground that no one wants.” Also, writing about awkward systems yields more substantial papers. “Nothing yields meaty problems like starting with the wrong assumptions.”
3. What You Can’t Say
This chapter was mostly about training your mind to break free from thinking in politically correct terms. It was somewhat interesting. It did make me think about the concept of inappropriate words, though. I admit I tend to think kids shouldn’t swear and am shocked when I hear a youngster use “foul” language. I never used to swear myself till college, where I acquired it from friends.
So for a while you have a state of affairs like something from a musical comedy, where the parents use these words among their peers, but never in front of the children, and the children use the words among their peers, but never in front of their parents.
6. How to Make Wealth / 7. Mind the Gap
Graham discussed how money is not wealth. Okay, some good points there.
Startups are the best way to get wealthy fast. They are a way to compress your whole working life into a few years.
Instead of working at a low intensity for forty years, you work as hard as you possibly can for four. This pays especially well in technology, where you earn a premium for working fast.
To get rich, you must be in a situation with measurement and leverage. You can’t get paid for doing more unless you can be measured. Some jobs, like sales, naturally lend to this concept. Other jobs don’t… but if you’re CEO, the company is your measure. If you’re in a startup, you’re much closer to being measured directly than if you’re one of 10,000. Then there’s leverage. A job with measurement but no leverage is a factory job, where you can perhaps be paid for producing more widgets, but you have no decision making power other than output. You can only increase your earnings by a small factor. Actors have measurement and leverage. The sales are the measurement, and the leverage is that their performance can make or break.
If you’re in a job that feels safe, you are not going to get rich, because if there is no danger there is almost certainly no leverage.
10. Programming Languages Explained
Graham broke down the common claim that all high level programming languages are more or less equivalent, and none is better or worse than others. He described all languages as being on a continuum, with machine code on the basic end, and increasingly abstract languages on the opposite end. The current abstract extreme is Lisp, a language Graham seems to consider to be the “best” language in general. It’s apparently the only language that supports macros, a sort of program writing program.
13. Revenge of the Nerds
“Industry best practice” is code for the safe, average route that will guarantee poor performance. Some things should not be cutting edge in large companies, such as accounting practices. For those you can follow best practices. But in technology, you should be cutting edge, not just doing what everyone else is doing. So use the language that’s best for your purpose, not the language everyone else is using.
15. Design and Research
In design, the goal is to be good. In research, the goal is to be new. These can converge to an ideal good and new, but it’s important to realize design and research may aim for the same target but approach it from different directions.