These days computers are everywhere. You pretty much have to use a computer of some kind every day just to work, or relax, or buy things. But I suspect that a lot of people still find computers a bit mysterious; is that the case for you?

Do you feel confused when your computer does something you do not expect? Do you feel worried when you hear in the news about people getting “hacked” and you are not sure how to protect yourself? Do you get frustrated when your computer starts acting slow seemingly for no reason? Then this book is for you.

I am going to teach you the basics of computers. Not enough to be an expert, but enough to have a pretty good idea of what is going on inside them. After finishing this book, you should have a few practical skills for improving your digital life, as well as some theoretical knowledge that will help you understand computer-related discussions in the news.

First a disclaimer: this book is not written for complete idiots or dummies. Computers are tricky things, and you will need some cleverness and determination to get through this. However, you will not need any fancy diploma or prior knowledge to understand this book. I try my best to explain all concepts and terminology before using them.

Still reading? Great! You are already showing that you have the determination to figure this stuff out.

How to Read This Book

This guide is broken into four parts and is not yet complete.

  1. Computers: learn about the fundamentals of computation and how modern computers work.
  2. The Internet: learn about how computers communicate with each other, the basics of computer security, and the mechanisms that make the Internet tick.
  3. Computers in Depth (incomplete): learn how to install and customize an operating system, and create your own software.
  4. The Internet in Depth (planned): learn about the internals of web applications

These parts build upon each other and are written to be read in order, but if you have a particular interest you can easily skip forward to a specific chapter using the list of chapters at the top.


Occasionally you will see little highlighted blurbs like these.

This is a definition. It highlights terms that are important to understand. Pay close attention! All definitions from the chapters (and a few more) are listed in the glossary.

This is a note. It might remind you of older material that is being used again or it will try to clear up a frequent point of confusion.

This is optional material. Sometimes I think of something related to the current chapter that is not essential for your understanding but is just too cool for me to not mention. You should not feel bad about skipping over these if they are confusing.

Most chapters have a few exercises at the end to help you grasp concepts from the chapter. They are not graded, but you should still consider them. And yes there are selected answers in the back.

Sometimes you will see text highlighted in pink or

set aside in a big gray block.

This generally indicates that this is “computer text”. Such text might be typed verbatim into a computer or a computer might output such text as the result of some operation. Occasionally I Insert text highlighted in black to refer to the physical keys on your computer’s keyboard (e.g. the “Insert” key).

Some chapters are marked as (BONUS). Think of these chapters as big “optional material” sections. They build off of ideas from previous chapters or discuss side issues which are not essential for understanding later sections. You can skip them if you like, but I think they are really cool!

A Minor Issue

Occasionally in the book I use some fancy tricks to change the content based on what kind of device you are reading it with. You are seeing this section because it looks like you are using a mobile device. While mobile devices like smart phones are technically computers, they are not the sort of computers this book is focused on. You are seeing this section because I could not figure out what sort of device you are using! Sorry.

That being said, 99% of the book should still be informative. Just feel free to ignore stuff that does not make sense for the particular device you are using. If you are not using a mobile device, please let me know so that I can fix my book! The book should still be 99% useful, but please let me know about your device so that I can fix my book! For now the book will assume that you are reading this with Windows Internet Explorer.

Let’s get started!

Before we get into Part 1 about computer theory, I want to surprise you with a basic fact about computers that you might not know: even though you probably own the computer you are reading this book on, there are a whole bunch of things you can do with your computer that your computer will actively try to prevent you from doing!

Imagine buying a car, trying to change the oil, and the car yells at you “Sorry, oil change is not permitted!” This is actually extremely common in the computer world.

The reason is that most computers have some understanding of a “user”; they try to keep track of which person is interacting with them and what that person can be trusted to do. Whenever you do something on your computer, chances are that your computer first asks itself “Do I trust this user to do that?” This is an important security feature because often there are multiple users sharing a computer and they want to be able to have private information that other users cannot see. And sometimes a “user” is not an actual physical person sitting in front of the computer, but someone on the Internet, controlling the computer from half-way around the world. In those cases the computer tries to figure out if that user is actually a hacker trying to do something bad versus someone legitimately using the computer over the Internet.

It is also important because for users like you, who are just starting to learn about the secrets of computers, it could be surprisingly easy to accidentally break your computer if it did not restrict you in some way. The computer wants to prevent you from doing something that you might regret later!

However, all of these restrictions can sometimes get in the way. For every action that could potentially harm your computer, there are completely legitimate situations where you really do want to perform that action! If you are computer-illiterate, those are the situations where all you can do is take your computer into the shop or call up your computer wiz family member.

However, practically every computer also has some concept of a special user who has no restrictions at all. This user is trusted to do absolutely everything and is often called the “superuser”. Each computer has its own mechanisms for telling the computer “I am the superuser, do not prevent me from doing anything”. In the world of smart phones (which are just small computers), you might have heard of terms like “rooting” or “jail breaking”. These are just slang terms for updating a phone in a way to allow you to become the superuser for it. I think it would be great if more people were comfortable enough with their computers that they could recognize those situations where they want to be the superuser. When your computer tells you “No!” you should be able to ask yourself “Why did my computer prevent that? Am I doing something bad, or should I really be telling my computer that I am the superuser?”

I cannot promise that this book alone will get you all the way to the point where you can do that, but I at least want to give you a push in the right direction.

By now you are hopefully excited. If not, consider taking an invigorating walk. We begin with Part 1.