Prologue

Chapter 01

#This is not a programming book

https://en.wikipedia.org/wiki/For_Dummies There are a lot of books about programming. Many of them are called some variant of Programming for Dummies. This is not one of those. https://en.wikipedia.org/wiki/For_Dummies

This book doesn't teach you how to write software. It doesn't even tell you what kind of software to write. Instead, I hope this book shows you how to look at a problem, and change the world in such a way that the problem goes away.

That is what a wizard would do.

I'm using the term wizard a lot, and I don't mean it in a way that suggests some level of competence or earned wisdom. I mean it as a different way to look at the world. A way in which nothing is fixed, anything can change, and assumptions only hold temporarily. It's not about what you know. It is about what you see.

But to understand where and how to change the world, you must first understand how it got to be the way it is. And the important part there is that the world is the way it is because we made it that way. Anything we make, we can change.

That's the point of this book.

You may already have good tools, a productive framework and years of experience using them. This book isn't an argument for throwing them away. It's an attempt to look at the choices underneath them: the names, assumptions and boundaries that made those tools possible.

Now, this doesn't mean we should just go about changing anything we like. For one thing, you will find it difficult to convince other people to join you in this mad quest. But if you understand the world, how it got here, and what problem it attempted to solve, then maybe you can find a different way to look at it. A different place to stand, that will show you a new solution.

And the best way to do that is to look at what other wizards have done, and are doing.

Then steal their wisdom.

Most of the chapters in this book are stories about people doing exactly that. They changed the notation. They changed the machine. They changed the boundary between systems. They changed the language people used to talk about the work.

And after that, everyone else said the new thing was obvious.

That's how magic usually works.

One place worth stealing from is the Web. It's one of the very few examples of a software system so successful that it touched everything and transformed it all. Not always for the best, but any change comes with challenges.

The Web is a chaotic place, full of shining new buildings, patched machinery, forgotten corridors, and ruins that still somehow work. All of this, including the ruins, is worth studying. That is why this book will talk about the Web a lot. What problems did it solve? And more importantly, what did it fail to solve? Can we steal its magic to build something even greater?

Let's find out.

Write in the margins

If you are reading the web version of this book, you can add personal notes in the margins as you read. These notes are stored in your browser. They are not sent to me or anybody else. Clearing the browser's storage will remove them.