Hackers & Painters: Big Ideas from the Computer Age
Rate it:
Open Preview
53%
Flag icon
If you’re not working hard, you’re probably wasting your time.
53%
Flag icon
Wild animals are beautiful because they have hard lives.
53%
Flag icon
GOOD DESIGN LOOKS EASY. Like great athletes, great designers make it look easy. Mostly this is an illusion. The easy, conversational tone of good writing comes only on the eighth rewrite.
53%
Flag icon
In science and engineering, some of the greatest discoveries seem so simple that you say to yourself, I could have thought of that. The discover...
This highlight has been truncated due to consecutive passage length restrictions.
53%
Flag icon
Perhaps what practice does is train your unconscious mind to handle tasks that used to require conscious thought.
53%
Flag icon
When people talk about being 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.
54%
Flag icon
It’s not cheating to copy.
54%
Flag icon
Attitudes to copying often make a round trip. A novice imitates without knowing it; next he tries consciously to be original; finally, he decides it’s more important to be right than original.
54%
Flag icon
I think the greatest masters go on to achieve a kind of selflessness. They just want to get the right answer, and if part of the right answer has already been discovered by someone else, that’s no reason not to use it.
55%
Flag icon
if you just try to make good things, you’ll inevitably do it in a distinctive way,
55%
Flag icon
Michelangelo was not trying to paint like Michelangelo. He was just trying to paint well; he couldn’t help painting like Michelangelo.
55%
Flag icon
to make Leonardo you need more than his innate ability. You also need Florence in 1450.
55%
Flag icon
Nothing is more powerful than a community of talented people working on related problems.
55%
Flag icon
At any given time there are a few hot topics and a few groups doing great work on them, and it’s nearly impossible to do good work yourself if you’re too far removed from one of these centers.
55%
Flag icon
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.
56%
Flag icon
as you become expert in a field, you’ll start to hear little voices saying, What a hack! There must be a better way. Don’t ignore those voices. Cultivate them. The recipe for great work is: very exacting taste, plus the ability to gratify it.
58%
Flag icon
If you need code to be super fast, it’s better to stay close to the machine.
58%
Flag icon
adding things without looking at what was already there tends to produce the same results in programs that it does in buildings.
59%
Flag icon
For the little, everyday problems that programmers spend so much of their time solving, libraries are probably more important than the core language.
59%
Flag icon
many historians believe that the wars were a byproduct of the forces that created the
59%
Flag icon
staying close to the main branches is a useful heuristic for finding languages that will be good to program in now.
60%
Flag icon
in buying a house you should consider location first of all. Everything else you can fix later, but you can’t fix the location.
60%
Flag icon
Languages evolve slowly because they’re not really technologies. Languages are notation.
60%
Flag icon
I can already tell you what’s going to happen to all those extra cycles that faster hardware is going to give us in the next hundred years. They’re nearly all going to be wasted.
61%
Flag icon
I’m like someone who grew up poor and can’t bear to spend money even for something important, like going to the doctor.
61%
Flag icon
An essay, in the original sense, is something you write to try to figure something out.
61%
Flag icon
Inefficient software isn’t gross. What’s gross is a language that makes programmers do needless work.
63%
Flag icon
it is true that there are a lot of things that those who teach can’t do.
63%
Flag icon
the distinction between acceptable and forbidden topics is usually based on how intellectual the work sounds when described in research papers,
64%
Flag icon
When you learn to drive, one of the principles they teach you is to align the car not by lining up the hood with the stripes painted on the road, but by aiming at some point in the distance. Even if all you care about is what happens in the next ten feet, this is the right answer.
65%
Flag icon
We knew that everyone else was writing their software in C++ or Perl. But we also knew that that didn’t mean anything. If you chose technology that way, you’d be running Windows.
65%
Flag icon
When you choose technology, you have to ignore what other people are doing, and consider only what will work best.
65%
Flag icon
The problem here is, average performance means you’ll go out of business.
65%
Flag icon
if you’re running a startup, you had better be doing something odd. If not, you’re in trouble.
65%
Flag icon
when you’re writing software that only has to run on your own servers, you can use any language you want.
65%
Flag icon
because Lisp was so high-level, we wouldn’t need a big development team, so our costs would be lower.
65%
Flag icon
our development cycle was so fast that we could sometimes duplicate a new feature within a day or two of a competitor announcing it in a press release. By the time journalists covering the press release got round to calling us, we would have the new feature too.
65%
Flag icon
We were just able to develop software faster than anyone thought possible.
66%
Flag icon
there is nothing more valuable than a technical advantage your competitors don’t understand.
66%
Flag icon
A startup should give its competitors as little information as possible.
66%
Flag icon
language available. And the reason everyone doesn’t use it is that programming languages are not merely technologies, but habits of mind as well, and nothing changes slower.
66%
Flag icon
if you have a choice of several languages, it is, all other things being equal, a mistake to program in anything but the most powerful
66%
Flag icon
in general, for application software, you want to be using the most powerful (reasonably efficient) language you can get, and using anything else is a mistake, of exactly the same kind, though possibly in a lesser degree, as programming in machine language.
67%
Flag icon
Blub is good enough for him, because he thinks in Blub.
68%
Flag icon
programming languages are not just technology, but what programmers think in. They’re half technology and half
68%
Flag icon
If you ever do find yourself working for a startup, here’s a handy tip for evaluating competitors. Read their job listings.
68%
Flag icon
The first thing I would do, after checking to see if they had a live online demo, was look at their job listings.
68%
Flag icon
The more of an IT flavor the job descriptions had, the less dangerous the company was. The safest kind were the ones that wanted Oracle experience. You never had to worry about those. You were also safe if they said they wanted C++ or Java developers.
68%
Flag icon
The pointy-haired boss miraculously combines two qualities that are common by themselves, but rarely seen together: (a) he knows nothing whatsoever about technology, and (b) he has very strong opinions about it.
69%
Flag icon
The pointy-haired boss believes that all programming languages are pretty much equivalent.