The Control-Alt-Backspace Manifesto

Keys arranged to show Ctrl-Alt-Backspace.

Technology is supposed to work for people. From the lever to the Internet, tools designed by people have saved us time and energy and allowed us to accomplish things that were impractical or completely impossible before. While no technology is without its downsides, in general it is difficult to dispute that technology working for people has transformed human society for the better.

Unfortunately, sometimes people end up working for technology instead. This is a strange state of affairs, but it happens just about daily for most of us. As automation takes over many jobs that used to belong to people, we frequently have to spend ridiculous amounts of time fighting with poorly designed computerized systems when we could easily resolve the problem in two minutes if we just had the ability to talk to the person who used to be in charge. Menus and taxonomies are everywhere and force us to squash the incredible complexity of everyday life into boxes where they sometimes don’t fit because we don’t have the option to explain. Meanwhile, we’re being manipulated by addictive technology every day: social media, notifications, advertising, and the like are designed to steal our attention and encourage us to interact with them constantly – not because that actually improves our lives, but because it makes somebody somewhere more money. Even the worst kinds of bureaucracy can be seen as a case of people working for (human) technology.

Of course, you would be right to point out that I’m anthropomorphizing technology by saying that “people are working for technology” – in the end, other people are behind all this technology and are ultimately responsible for the systemic problems it causes. That’s part of the solution: we need to stop being greedy and lazy and designing systems that suck for their users and society. As a software developer, I take personal responsibility for doing better on this front, and in this blog I intend to discuss problems of design from time to time.

But in the modern world, even those of us who spend a good part of our professional lives designing complex technological systems are users of far more systems than we ever design – by several orders of magnitude. To have any hope of improving matters in our own lives, we have to tackle the problem from the other end as well. How do we cope with systems that we didn’t design that take away our agency and force us to work for the technology?

  • We can opt out of using that technology altogether. This is often impossible or inappropriate, but sometimes it really works for people.
  • We can look for alternative options. For instance, I find that the Windows computer operating system and its ecosystem tend to reduce my freedom and empowerment, but other operating systems and ecosystems like GNU/Linux tend to increase it. Whenever I have the choice, I use Linux instead.
  • We can reduce use of the offending system. Maybe you carry your smartphone everywhere but you have rules about when you use it. Maybe you have a complicated diagramming program on the computer that you use for presenting information to others but you save time, trouble, and frustration by sketching with a #2 pencil on a piece of scrap paper when you don’t need something that looks nice. (You would think software developers would be enthusiastic users of computer-based drawing, drafting, and diagramming tools, but there are very few good developers who don’t have a chalkboard or a pad of paper right next to their desk, because it works really well!)
  • We can try to improve the technology. One of the nice things about computers is that they’re customizable. Particularly if the problematic technology is on the computer, it may turn out that you actually have more control over it than you think. There’s plenty of bad software that can’t be extended, modified, or customized to avoid its faults, but most software can be tweaked in some way or another to avoid at least some of its problems. Next time you run into a badly designed system, try poking around in that system or searching the web to see if there’s a solution or someone else has come up with a useful workaround. You might be pleasantly surprised.
  • We can simply become aware of the problems of the technology. Maybe it’s not worth doing anything about yet, or it’s simply impossible to do anything about (for instance, at my workplace there are some tasks for which I have to use a few awful applications that I really can’t improve if I want to keep my job). It’s easier to understand when you can and should apply one of the other tactics once you recognize the issues you’re facing. Even if you never do, it’s a lot less frustrating when you understand what you’re up against. For instance, one early personal computer supported only uppercase letters, but its keyboard still had a Shift key, which was used to send commands to the computer, much like a Control or Command key today. One of these commands was Shift-Q, which would quit the currently running program and reboot the computer, often without confirmation. Unsurprisingly, users regularly lost work while attempting to capitalize a Q out of habit. A user who didn’t think about the problems of the technology might merely be angry at herself for being careless and pressing the button by mistake. A user who understood the problems of the technology would realize she made this mistake because the keyboard (and the software) was designed horribly, and she would have a head start on figuring out how to modify either her own behavior or the computer to prevent the problem from recurring.

In addition to coping with specific systems, many of us are simply in desperate need of things that feel real and that we can be good at. Since the beginning of human history, people have done lots of real work that involves interacting with the world, and now machines and computers are taking over much of it. The same machines and computers are changing our social interactions in ways that are sometimes beneficial but just as often undesirable. It’s time to rediscover some old technologies and ways of living that have fallen away over time – not to do away with their replacements entirely, but to take a good hard look at what they have to offer and how they might help resolve some of the problems we’re having today.

The empowerment that comes from being in charge is disappearing quickly for many people. We have to find ways to take advantage of technology that does things for us while still doing some things for ourselves. That means carefully considering the benefits and problems of each technology, and it means working to make some things more efficient so that we can afford to take our time on the things that make us more competent and that we actually enjoy and care about.

This blog presents a great variety of general strategies and specific tactics for maintaining that delicate balance and for making technology work for us rather than the other way around. Browse around or follow the blog. Pick some of those strategies that sound interesting to you. Try the projects. See what ideas stick, and then run with them. With any luck, your life will get a little bit better.


Ctrl-Alt-Backspace is a keyboard shortcut that works on many Linux computers that instantly kills the entire desktop and all running programs and returns you to the login screen. It’s an apt metaphor for this blog because of its immediacy and the power it gives the user: in Microsoft Windows you have to hope the computer agrees to let you log out or terminate a program when stuff starts going wrong, whereas in Linux as long as the computer has any spare CPU cycles to notice that you pressed the keys, it trusts you and does just what you asked right away. That’s technology working for you.

Keys arranged to show Ctrl-Alt-Backspace.