Hackers & Painters – Book Review

Hackers and Painters by Paul Graham is an interesting read – much different from any of the other books I have read in this journey since it is a collection of his personal essays. I am not going to summarize the book like I have others, but I would like to write about some of the key insights I found that made me think a bit. If I had to summarize the book with a couple of key words, they would be: value creation, contrarian, a view inside the world of hacking, big ideas that are well thought out, and brilliant.

There are 15 total essays below is the list along with some of the key takeaways or quotes I took from them. There were a couple that went into the weeds on software languages and programming so I will briefly go over those.

  1. Why Nerds are Unpopular
    1. I took a couple of good notes in this section, but the summary is that the nerds are different and the social pressures of trying to be popular cause the “popularity middle class” students to try and push down the group that is different.
    2. The ‘nerds’ in school are are trying to play a different game from the others- one that is closer to the one played in the real world
    3. Graham says that the teachers do not know how cruel the kids are to one another. They are in a similar position to prisoners: their goal is to keep the prisoners on the premises, fed, and not killing one another.
    4. Things get better for nerds after school because in college and beyond the ‘pool’ gets a lot bigger and they can clump together.
    5. Graham argues that life seems awful to kids because the adults – who have no economic use for you- have abandoned you to spend years cooped up together with nothing real to do in the emptiness of school life.
  2. Hackers and Painters
    1. Graham says that Hackers and Painters have a lot in common. They are both creators. Hackers find themselves mislabeled as the ‘computer science’ which makes it seam like a science- and this has some negative implications from a research standpoint. I won’t labor it though…
    2. Hackers are like artists in that they look at the masters of the past to build in the future – like great painters, programers will look at source code and building upon their work.
    3. If you want to make money at some point – you should understand one of the reasons startups can beat massive companies. Companies want to dampen the variation in their process to avoid disasters. The problem with that is you end up dampening the high points as well as the low points.
      1. Big companies win by sucking less than other big companies- they aren’t shooting for making great products.
      2. The place to fight design wars is in new markets
  3. What you Can’t Say
    1. Ask yourself the following “do you have any opinions that you would be reluctant to express in front of a group of peers?” if the answer is no, you might want to think about that: everything you believe is something you are supposed to believe!?
    2. What would you get in trouble for saying?
    3. Heresy- what is shot down before even looking to see if it is true or not? indecent, improper, un-American, defeatist, etc
    4. Prigs – what are the taboos that we use? Graham suggests looking at what the picture the world looks like that we show our kids as a good place to see where the taboos are. Santa, sex, curse words, etc. A well brought-up teenage kid’s brain is a more or less complete collection of all our taboos – in mint condition!
    5. Mechanism: when everyone imitates the whim of some influential person
      1. “To launch a taboo, a group needs to be poised halfway between weakness and power. A confident group doesn’t need taboos to protect it. And a group needs to be powerful enough to protect it”
      2. Fashions tend to have the early adopters followed by the second, larger group driven by fear – that is afraid if they do not adopt they will stand out because they are afraid of standing out.
    6. Why?
      1. Challenge yourself to think contrarian because it is good for the brain. “to do good work you need a brain that can go anywhere. And you especially need a brain in the habit of going where its’s not supposed to”
    7. Pick your battles-  “argue with idiots, and you become an idiot” The most important thing is to be able to think what you want, not say what you want.
      1. The trouble with keeping your secrets to yourself is that you are missing out on the advantages of discussion: talking about an idea leads to more ideas.
    8. Always be questioning
      1. Everyone thinks that they are open-minded, though they will quickly draw the line at things that are really wrong. “in other words, everything is ok except things that aren’t”
      2. Always be questioning. That’s the only defense. What can’t you say? and Why?
  4. Good Bad Attitude
    1. The term “hacker” to the popular press means someone who breaks into computers. To programmers, this same term means ‘someone who is a good programmer’
    2. Graham tries to show the logic behind the mind of a hacker in this essay. To oversimplify it, it is someone who can master something. Or make it do whatever they want regardless of whether the computer wants to or not. Hackers are notorious for wanting to get inside things they are not supposed to: picking locks, breaking into computers, Jobs and Wozniak’s Blue Boxes to hack free long distance phone calls… etc.
      1. Show a hacker a lock and the first thing they will try to do is pick it
    3. Hackers see intellectual property and patents as a threat to the intellectual freedom they need to do their job
    4. “Hacking is the essence of American-ness. It is no accident that Silicon Valley is in America, and not France, or Germany, or England, or Japan. In those countries, people color inside the lines.
    5. The founding fathers of the US sound more like hackers – “the spirit of resistance to government” Jefferson wrote, “is so valuable on certain occasions that I wish it always to be kept alive.”
    6. Summary: Break the rules
  5. The Other Road Ahead
    1. This essay is about the starting of Graham’s company ‘Viaweb’ there is a lot of good stuff in the essay, but I want to focus on some more specific items
    2. For Hackers, there are two reasons you probably haven’t started a startup:
      1. You don’t know anything about business
      2. You’re afraid of competition
        1. Graham argues that neither of these barriers are big enough to be worried about
    3. There are two things you have to know about business:
      1. Build something users love
      2. Make more money than you spend
        1. “if you get these two right, you are ahead of most startups. You can figure out the rest as you go>”
    4. Making something people love:
      1. Make it clean and simple that you would want to use yourself
      2. Get version 1 out fast and continue to improve the software
        1. listen to users as you do but different users are right about different things
          1. Less sophisticated users show you what you need to simplify/clarify
          2. Most sophisticated users tell you what you need to add
      3. Compare your product to what it could be, not what your competition is
      4. If you can’t design software as well as implement it, don’t start a startup.
  6. How to Make Wealth – page 87 (good one to read again in the future)
    1. A startup is a small company that takes on a hard technical problem
    2. Ask yourself “how much smarter are you than your job description expects you to be?”
    3. If starting a startup was easy, then everyone would be doing it
    4. The key is this: you just have to start doing something people want
    5. Money is not wealth,  it is a side effect of specialization Wealth is created when you do something valuable (something people want)
    6. “Some of the best programmers are libertarians. In our world, you sink or swim, and there are no excuses. When those far removed from the creation of wealth – undergraduates, reporters, politicians,- hear the richest 5% of the people have half the total wealth, they think injustice! An experienced programmer would be more likely to think is that all? The top 5% of programmers probably write 99% of the good software.”
    7. In a company, the work you do is averaged with a lot of other people’s
      1. All a company is is a group of people working together to do something people want. It is doing something valuable that matters, not joining the group.
    8. Companies are not set up to reward people for working harder. You cannot offer to your boss that you will work 10X as hard if he will pay you 10X your salary. The official fiction of the workplace is that you are already working as hard as you can. The other problem is that the company has no way of measuring your work.
      1. This is part of why group work slows down difficult problems: in a large group, your performance is not separately measurable – and the rest of the group slows you down
    9. If you are in a job that feels safe you will never going to be rich: if there is no danger, there is almost no leverage
    10. Your goal is to be part of a small group working on a hard problem: Smallness = measurement
    11. A startup is not merely a group of ten people, but ten people like you
    12. Creating wealth has historically been due to the development of new technology
      1. To do this you need to deliberately seek hard problems
      2. Create barriers to entry
      3. As a rule, start by picking a hard problem, and at every decision point, take the harder choice
    13. For most people the most powerful motivator is not the hope of gain, but the fear of loss.
    14. Investors in startups care mostly about one thing: how many users you have. This is the metric you need to track for yourself.
    15. “A startup is, economically: a way of saying, I want to work faster. Instead of accumulating money slowly by being paid a regular wage over the course of fifty years, I want to get it over with as soon as possible.”
      1. The problem with working slowly isn’t that technological innovation happens more slowly, it is that it doesn’t happen at all.
  7. Mind the Gap
    1. Making money is a specialized skill. Nobody complains that some people are better at painting (writing, basketball, etc.) than others, but when it comes to money people think that inequity is wrong.
    2. Graham has three reasons for disparities of wealth:
      1. Daddy model of Wealth: Children tend to misunderstand wealth, confuse it with money, and think there is a fixed amount of it that is distributed by authorities vs. something that needs to be created and can be created unequally
        1. Kids do not create wealth, so they rely on what is given to them. When you are given something, it seems like it should be distributed equally.
        2. How much someone’s work is worth is not a policy question, it is determined by the market. That is why a CEO gets paid on average 100X the average person. Would you rather have 100 ‘average’ people running your company or Steve Jobs? The point isn’t that they are 100X more productive/skilled, but even if it is 10X, it is concentrated in one person – which makes it a lot more valuable.
        3. Saying certain kinds of work are underpaid is identical to saying that people want the wrong things
        4. The distribution may be unequal, but it is hardly unjust
      2. Stealing it
        1. Taxation/Confiscation
          1. The way to get rich here was not to create wealth but to serve a ruler powerful enough to appropriate it.
        2. The rise of the middle class caused wealth to stop being a zero-sum game
          1. Jobs and Wozniak didn’t have to make us poor to make themselves rich: they made things that made our lives materially richer. They had to or we wouldn’t have paid for them.
        3. For most of the world’s history, the main (and fastest) way to get rich was to steal it.
      3. Lever of Technology – will this increase the gap between the rich and the poor?
        1. It will certainly increase the gap between the productive and unproductive
          1. If you look at High School kids, they could get a job at McDonalds, or they could learn to write software or design websites: only some of them will, the rest will be flipping burgers.
    3. Alternative to an Axiom
      1. Policies are often criticized because they will increase the income gap between the rich and poor – It might be true that this increased gap might be bad, but you shouldn’t say that it is axiomatic.
        1. Graham argues that an increase in income variation is a sign of health: technology seems to increase variation in productivity faster than linear rates. If we do not see corresponding variation in income there are three possible explanations:
          1. Technical innovation has stopped
          2. People who would create the most wealth aren’t doing it
          3. They aren’t getting paid for it
            1. 1&2 would be bad, 3 would mean that only the things that are fun to do would get done
              1. The unfunny kinds of wealth creation would slow dramatically in a society that confiscates private fortunes. Several examples on page 119
      2. Graham finishes the essay saying that “you need rich people in your society not so much because in spending their money they create jobs, but because of that they have to do to get rich. Not trickle down effect where you get hired as the waiter, but if you let Henry Ford get rich he will replace your horse with a tractor. Don’t bust up the incentives for technological innovation and putting in the hard work.
  8. A Plan for Spam
    1. Graham talks about his strategy and program (pet hobby maybe?) for eliminating spam. I won’t go into the details here.
  9. Taste for Makers
    1. “taste” is the topic of this essay, with Graham pointing out that it is one of the ‘half-truths’ adults told us when we were growing up. You have been told that ‘taste’ is just a matter of personal preference but at the same time when you go to a museum you need to pay attention since Leonardo Da Vinci was a great artist. How are we supposed to reconcile these conflicting messages?
    2. Mathematicians consider good work to be ‘beautiful’, but what are the components that make something beautiful?
    3. How do you make good stuff?
      1. “if you want to make something that will appeal to future generations, one way to do it is to try to appeal to past generations”
    4. Good Design
      1. Good design solves the right problem
        1. Make sure you are answering the right question: what makes the most sense? Example of different font style – the most important thing about this decision is legibility, and it is easier to tell apart a lowercase g from y in Times New Roman than other fonts.
      2. Good design is suggestive
        1. They should suggest something, say something. Not telling you something, it lets your imagination fill in the gaps. For example, everyone makes up their own story about the Mona Lisa
      3. Good design is often slightly funny
        1. May not have to be funny, but it’s hard to imagine something that could be called humorless also being called good design
      4. Good Design is Hard
        1. If you’re not working hard, your probably wasting your time
        2. Form follows function, or form should follow function
        3. Wild animals are beautiful because they have hard lives
      5. Good Design looks easy
        1. Like great athletes, great designers make it look easy
        2. “when people talk about getting in ‘the zone’ I think what they mean is that the spinal cord has the situation under control. Your spinal cord is less hesitant, and it frees conscious thought for the hard problems
      6. Good design uses symmetry
        1. Nature uses it a lot, which is a good sign
        2. The danger of symmetry, and repetition especially is that it can be used as a substitute for thought.
      7. Good design resembles nature
        1. Nature has had a long time to work on the problem, So it is a good sign when your answer resembles nature.
        2. It is not cheating to copy!
        3. “The point of painting from life is that it gives your mind something to chew on: when your eyes are looking at something, your hand will do more interesting work.”
      8. Good design is redesign
        1. Experts expect to throw away some early work
          1. It takes confident to say ‘there is more where that came from’
          2. Don’t convince yourself that ‘its not that bad’
          3. Fear that if you try to redo something, it will turn out even worse
        2. “Dangerous territory, that. If anything, you should cultivate dissatisfaction”
      9.  Good design can copy
        1. A novice imitates without knowing it. Next he tries to be completely original. Then he decides its more important to be right than original
        2. If you don’t know where your ideas are coming from, you are probably imitating an imitator.
        3. The ambitious are not content to imitate. The second phase in growth of taste is a conscious attempt at originality
        4. The masters just want to get the answer right, if part of the right answer has already been discovered by someone else, that’s no reason not to use it
      10. Good design is often strange
        1. Not just beautiful, strangely beautiful
        2. “Einstein didn’t try to make relativity strange. He tried to make it true, and the truth turned out to be strange.”
        3. “Michelangelo was not trying to paint like Michelangelo. He was just trying to paint well; he couldn’t help painting like Michelangelo”
      11. Good design happens in chunks
        1. By location: fifteenth century Florence for painting, Silicon Valley, Grand Rapids beer scene
        2. Companies: lockheed’s Skunk Works; Manhattan Project, etc.
        3. Find the current hot spots and go to them
      12. Good Design is often daring
        1. “Today’s experimental error is tomorrow’s new theory. IF you want to discover great new things, then instead of turning a blind eye to the places where conventional wisdom and truth don’t quite meet, you should pay particular attention to them.”
        2. People in the past have made beautiful things by fixing something they thought was ugly
        3. “The recipe for great work is: very exacting taste, plus the ability to gratify it.”
  10. Programming Languages Explained
    1. Skipping this one – he goes pretty in-depth here (starts on page 146 for future reference)
  11. The Hundred Year Language
    1. “What programmers in a hundred years will be looking for, most of all, is a language where you can throw together an unbelievably inefficient version 1 of a program with the least possible effort… Inefficient software isn’t gross. What’s gross is a language that makes programmers do needless work”
    2. The holy grail of programming languages is reusability
  12. Beating the Averages
    1. Ask yourself: what makes your startup odd, unique, different
      1. A startup cannot do what all of the other startups are doing
      2. If you aren’t doing something odd, you’re in trouble
    2. At Viaweb, their secret sauce was the programming language Lisp, which allowed them to rapidly write their software
    3. In business, there is another more valuable than a technical advantage your competitors don’t understand
    4. A startup should give its competitors as little information as possible
    5. A startup has choices: if you have a choice in several languages, it is a mistake to program in anything except the most powerful one
    6. Comments about the power continuum for languages on page 176 which can be applied to other technologies. Basically – if you do not understand something, you do not know if you are looking up or down the power continuum. If you program in an inefficient language, it is easily to look down on other languages, but if you do not understand them, you might not realize that you are actually looking ‘up’ the continuum to something that is more powerful.
      1. “they’re satisfied with whatever language they happen to use, because it dictates the way they think about programs”
    7. Look at your competition to see what technology (languages) they are using- you can see it by taking hints from their job postings: are they looking for a specific type of experience? like C++, Java? etc.
  13. Revenge of the Nerds
    1. Talks about the ‘pointy haired boss’ that:
      1. Knows nothing about technology
      2. has very strong opinions about it
        1. This is why he says you need to use a certain ‘mainstream’ language: because it is a standard
          1. There will always be a lot of java programmers out there (easy to hire)
          2. I won’t get in trouble for using it – its a standard!
        2. He believes that all programming languages are pretty much equivalent
    2. If you start a startup, don’t design your product to please VC’s or acquirers. Design your product to win over the users, everything else will follow
    3. Beware: In technology, the current ‘best practice’ is the average,  not the best technology
      1. Technology should often be cutting edge.
  14. The Dream Language
    1. No real summary here – starts on page 200 about his vision for the hacker’s dream language: fast, efficient in writing, brief syntax, etc.
  15. Design and Research
    1. No real summary here, just a couple of high level takeaways- starts on page 216
    2. “If you think you’re designing something for idiots, odds are you’re not designing something good, even for idiots.
    3. Morale is key in design – for example if you are bored when you draw something, your drawing will be boring.
    4. “building something by gradually refining a prototype is good for morale because it keeps you engaged. In software, my rule is: always have working code. (Coster implications)
    5. “Design means making things for humans. But its not just the user who’s human. The designer is human too.

Overall I enjoyed this collection of essays primarily because they challenge you to question things. They challenge you to think outside of the box you are in. There is a contrarian spirit to this book that is really inspiring and makes me take a look at my life, my biases, my safe spots, and the things that are engrained in by operating system.

RG

 

 

 

 

 

 

 

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s