Where I grew up, it felt as if there was nowhere to go, and nothing to do. This was no accident. Suburbs are deliberately designed to exclude the outside world, because it contains things that could endanger children.

And as for the schools, they were just holding pens within this fake world. Officially the purpose of schools is to teach kids. In fact their primary purpose is to keep kids locked up in one place for a big chunk of the day so adults can get things done. And I have no problem with this: in a specialized industrial society, it would be a disaster to have kids running around loose.


Teenage kids used to have a more active role in society. In pre-industrial times, they were all apprentices of one sort or another, whether in shops or on farms or even on warships. They weren’t left to create their own societies. They were junior members of adult societies.

Teenagers seem to have respected adults more then, because the adults were the visible experts in the skills they were trying to learn. Now most kids have little idea what their parents do in their distant offices, and see no connection between schoolwork and the work they’ll do as adults.


Just start listing ideas at random? Yes, because they won’t really be random. The ideas that come to mind first will be the most plausible ones. They’ll be things you’ve already noticed but didn’t let yourself think.


They may imagine that we are a great deal smarter and more virtuous than past generations, but the more history you read, the less likely this seems. People in past times were much like us. Not heroes, not barbarians. Whatever their ideas were, they were ideas reasonable people could believe.


This has always been a fussy place, a town of i dotters and t crossers, where you’re liable to get both grammar and your ideas corrected in the same conversation.


Within the US car industry there is a lot of hand-wringing about declining market share. Yet the cause is so obvious that any observant outsider could explain it in a second: they make bad cars. And they have for so long that by now the US car brands are antibrands — something you’d buy a car despite, not because of.


The problem is, there are so many things you can’t say. If you said them all you’d have no time left for your real work.

The trouble with keeping your thoughts secret, though, is that you lose the advantages of discussion. Talking about an idea leads to more ideas. So the optimal plan, if you can manage it, is to have a few trusted friends you can speak openly to. This is not just a way to develop ideas; it’s also a good rule of thumb for choosing friends. The people you can say heretical things to without getting jumped on are also the most interesting to know.


If they try to force you to treat a question on their terms by asking “are you with us or against us?” you can always just answer “neither.”

Better still, answer “I haven’t decided.” That’s what Larry Summers did when a group tried to put him in this position. Explaining himself later, he said “I don’t do litmus tests.” A lot of the questions people get hot about are actually quite complicated. There is no prize for getting the answer quickly.


A Dutch friends say I should use Holland as an example of a tolerant society. It’s true they have a long tradition of comparative open-mindedness. For centuries the low countries were the place to go say things you couldn’t say anywhere else, and this helped make the region a center of scholarship and industry (which have been closely tied for longer than most people realized). Descartes, though claimed by the French, did much of his thinking in Holland.

And yet, I wonder. The Dutch seem to live their lives up to their necks in rules and regulations. There’s so much you can’t do there; is there really nothing you can’t say?

Certainly the fact that they value open-mindedness is no guarantee. Who thinks they’re not open-minded?


When people are bad at math, they know it, because they get the wrong answers on tests. But when people are bad at open-mindedness, they don’t know it. In fact they tend to think the opposite.


Believe or not, the two sense of “hack” are also connected. Ugly and imaginative solutions have something in common: they both break the rules.


But two guys who thought Multics excessively complex went off and wrote their own. They gave it a name that was a joking reference to Multics: Unix.


At the same time there might have been thirty actual stores on the Web, all made by hand. If there were going to be a lot of online stores, there would need to be software for making them, so we decided to write some.


When we look back on the desktop software ear, I think we’ll marvel at the inconveniences people put up with, just as we marvel now at what early car owners put up with. For the first twenty or thirty years, you had to be a car expert to own a car.


Death before inconvenience. Most people, most of the time, will take whatever choice requires least work.


Running software on the server is nothing new. In fact it’s the old model: mainframe applications are all server-based. If server-based software is such a good idea, why did it lose last time? Why did desktop computers eclipse mainframes?

At first desktop computers didn’t look like much of a threat. The first users were all hackers — or hobbyists, as they were called then. They liked microcomputers because they were cheap. For the first time you could have your own computer. The phrase “personal computer” is part of the language now, but when it was first used it had a deliberately audacious sound, like the phrase “personal satellite” would today.

Why did desktop computer take over? Mainly because they had better software. And the reason microcomputer software was better was that it could be written by small companies.


One thing that might deter you from writing web-based application is the lameness of web pages as a UI. That is a problem, I admit. There were a few things we would have really liked to add to HTML and HTTP. What matters, though, is that web pages are just good enough.

There is a parallel here with the first microcomputers. The processors in those machines weren’t intended to be the CPUs of computers. They were designed to be used in things like traffic lights.


If you’re a hacker who has thought of one day starting a startup, there are probably two things keeping you from doing it. One is that you don’t know anything about business. The other is that you’re afraid of competition. Neither of these fences have any current in them.

There are only two things you have to know about business: build something users love, and make more than you spend. If you get these two right, you’ll be ahead of most startups. You can figure out the rest as you go.


Don’t get complacent if your competitors’ software is lame; the standard to compare your software to is what it could be, not what your current competitors happen to have. Use your software yourself, all the time.


You may not believe it, but I promise you, Microsoft is scared of you. The complacent middle may not be, but Bill is, because he was you once.


There is a conservation law at work here: if you want to make a million dollars, you have to endure a million dollars’ worth of pain.


Wealth is as old as human history. Far older, in fact; ants have wealth. Money is a comparatively recent invention.

Wealth is the fundamental thing. Wealth is stuff we want: food, clothes, houses, cars, gadgets, travel to interesting places, and so on. You can have wealth without having money. If you had a magic machine that could on command make you a car or cook you dinner or do your laundry, or do anything else you wanted, you wouldn’t need money.


Money is a side effect of specialization. In a specialized society, most of the things you need, you can’t make for yourself, you have to get it from someone else.


If wealth means what people want, companies that move things also create wealth. Ditto for many other kinds of companies that don’t make anything physical. Nearly all companies exist to do something people want.


In a company, the work you do is averaged together with a lot of other people’s. You may not even be aware you’re doing something people want. Your contribution may be indirect. But the company as a whole must be giving people something they want, or they won’t make any money.


That averaging gets to be a problem. I think the biggest problem afflicting large companies is the difficulty of assigning a value to each person’s work. For the most part they punt. In a big company you get paid a fairly predictable salary for working fairly hard. You’re expected not to be obviously incompetent or lazy, but you’re not expected to devote your whole life to your work.


A good hint to the presence of leverage is the possibility of failure. Upside must be balanced by downside, so if there is big potential for gain there must also be a terrifying possibility of loss. CEOs, stars, fund managers, and athletes all live with the sword hanging over their heads; the moment they start to suck, they’re out. 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.


And the people you work with had better be good, because it’s their work that yours is going to be averaged with.

A big company is like a giant galley driven by a thousand rowers. Two things keep the speed of the galley down. One is that individual rowers don’t see any result from working harder. The other is that, in a group of a thousand people, the average rower is likely to be pretty average.


A McDonald’s franchise is controlled by rules so precise that it is practically a piece of software. Write once, run everywhere. Ditto for Wal-Mart. Sam Walton got rich not by being a retailer, but by designing a new kind of store.


Unfortunately there are a couple catches. One is that you can’t choose the point on the curve that you want to inhabit. You can’t decide, for example, that you’d like to work just two or three times as hard, and get paid that much more. When you’re running a startup, your competitors decide how hard you work. And they pretty much all made the same decision: as hard as you possibly can.


In effect, acquirers assume the customers know who has the best technology. And this is not as stupid as it sounds. Users are the only real proof that you’ve created wealth. Wealth is what people want, and if people aren’t using your software, maybe it’s not just because you’re bad at marketing. Maybe it’s because you haven’t made what they want.


Understanding this may help to answer an important question: why Europe grew so powerful. The answer may be that the Europeans rode on the crest of a powerful new idea: allowing those who made a lot of money to keep it.

Once you’re allowed to do that, people who want to get rich can dot it by generating wealth instead of stealing it. The resulting technological growth translates not only into wealth but into military power.


When people care enough about something to do it well, those who do it best tend to be far better than everyone else. There’s a huge gap between Leonardo and second-rate contemporaries.


It may seem unlikely in principle that one individual could really generate so much more wealth than another. The key to this mystery is to revisit that question, are they really worth 100 of us? Would a basketball team trade one of their players for 100 random people? What would Apple’s next product look like if you replaced Steve Jobs with a committee of 100 random people? These things don’t scale linearly.


17th-century England was much like the third world today, in that government office was a recognized route to wealth. The great fortunes of that time still derived more from what we would now call corruption than from commerce.


It seems strange to have emphasize simplicity. You’d think simple would be the default. Ornate is more work. But something seems to come over people when they try to be creative. Beginning writers adopt a pompous tone that doesn’t sound anything like the way they speak. Designers trying to be artistic resort to swooshes and curlicues. Painters discover that they’re expressionists. It’s all evasion. Underneath the long words or the “expressive” brush strokes, there’s not much going on, and that’s frightening.

When you’re forced to be simple, you’re forced to face the real problem. When you can’t deliver ornament, you have to deliver substance.


It takes confidence to throw work away. You have to be able to think, there’s more where that came from. When people first start drawing, for example, they’re often reluctant to redo parts that aren’t right. They feel they’ve been lucky to get that far, and if they try to redo something, it will turn out worse. Instead they convince themselves that the drawing is not that bad, really — in fact, maybe they meant it to look that way.


At an art school where I once studied, the students wanted most of all to develop a personal style. But if you just try to make good things, you’ll inevitably do it in a distinctive way, just as each person walks in a distinctive way. Michelangelo was not trying to paint like Michelangelo. He was just trying to paint well; he couldn’t help painting like Michelangelo.

The only style worth having is the one you can’t help.


In practice I think it’s easier to see ugliness than to imagine beauty. Most of the people who’ve made beautiful things seem to have done it by fixing something they thought ugly. Great work usually seems to happen because someone sees something and thinks, I could do better than that.

Intolerance for ugliness is not in itself enough. You have to understand a field well before you develop a good nose for what needs fixing. You have to do your homework. But as you become expert in a field, you’ll start to hear little voices saying, What a hack! There must be a better way.


If high-level languages are better to program in than assembly language, then you might expect that the higher-level the language, the better. Ordinarily, yes, but not always. A language can be very abstract, but offer the wrong abstractions. I think this happens in Prolog, for example. It has fabulously powerful abstractions for solving about 2% of problems, and the rest of the the time you’re bending over backward to misuse these abstractions to write de facto Pascal program.


The word “essay” comes from the French verb “essayer,” which means “to try.” An essay, in the original sense, is something you write to ty to figure something out. This happens in software too. I think some of the best programs were essays, in the sense that the authors didn’t know when they started exactly what they were trying to write.


In business, there is nothing more valuable than a technical advantage your competitor don’t understand. In business, as in war, surprise is worth as much as force.


And the reason everyone doesn’t use it is that programming languages are not merely technologies, but habits of minds as well, and nothing changes slower.


Ordinarily technology changes fast. But programming languages are different: programming languages are not just technology, but what programmers think in. They’re half technology and half religion.


Of all tyrannies, a tyranny exercised for the good of its victims may be the most oppressive.