Power and Freedom: Individuals and Societies

The other day I saw the following quote on a bumper sticker:

“A government big enough to give you everything you want, is strong enough to take everything you have.”
-Gerald R. Ford

It got me thinking about the relationship between power and freedom, and how that relationship applies not only to governments but also to businesses, authority figures, laws, programming languages, and even games.

The first interesting thing about the relationship between power and freedom is that it works very differently for individuals by themselves than it does for individuals working with groups. For the lone individual, freedom and power are synonymous: the more power you have, the better you are able to do the things you like and avoid the things you don’t like, which is as good a definition of freedom as I’ve ever heard. An individual’s best strategy for maximizing their own happiness and well-being is to maximize their power.

The same is true of groups working with other groups–when things get interesting is when individuals working in groups try to manage each others’ power. For the individuals within a group, it’s still in their best interest to try to get as much power as possible. However, an individual’s power over others in the group is zero-sum: the more one individual has, the less everyone else in the group can have. The best strategy for the group as a whole, then, is to try to maximize the absolute power of everyone in the group (thereby making the group as a whole more powerful), while minimizing differences in relative power.

This is where president Ford’s observation comes in: all else being equal, governments, corporations, and other large organizations benefit by deliberately limiting the amount of power that any one individual within the organization can have over other individuals (as opposed, say, to their influence over the group as a whole, which may necessarily be much greater for some than for others). This extends to the power the organization itself wields: ideally, it should not be much greater than the power any given individual can wield, whether through government processes themselves or by other means. This is the purpose of checks against governmental power (such as due process, the three branches of government, term limits, and the fact that every government official is still subject to the law): they prevent the government from being able to wield too much power over any given individual, while still ensuring that the individuals themselves don’t wield too much power over each other.

Needless to say, the US government could stand some improvement on all those points, but that’s a subject for its own essay or ten. What I find interesting is that this dichotomy seems to manifest itself in programming languages as well as bureaucracies: the most powerful programming languages for working alone or in small groups also tend to be the most flexible, while programming languages for working in large groups are more restricted. On one end of the spectrum, languages like Lisp and Smalltalk are notorious for having dozens or even hundreds of incompatible “dialects,” most of which were created by some lone hacker who wanted to do things just a little bit differently than everyone else. Such languages allow and even encourage this kind of thinking by letting you tinker and meddle with their insides in ways that other languages don’t–they start from the assumption that the programmer knows what they’re doing, and that the language’s job should be to get out of the way as quickly as possible. “You want to be able to access arbitrary bytes in memory and manipulate them directly?” says C. “No problem!” “You want to be able to redefine and extend control flow operators like if, while, and equals?” say Lisp and Smalltalk. “No problem!” Languages like these give the greatest possible freedom and flexibility–and hence power–to the individual programmer.

On the other end of the spectrum are languages like Java and C++ that continue to use inherently limiting features such as compilation, static typing, “special-case” primitive data types, and enforced encapsulation. Even though other features like functional programming, duck typing, run-time modification, and macros lend individual programmers much more power, such “group work” languages shun them. The first reason is simply that programming languages are not just technologies, they are conventions, and nothing changes slower–but the other reason is that for large groups of people, it is more advantageous for them to limit the power of any given individual working within that group. An individual working alone benefits from having the entire source of the language open and available for tinkering, but allowing individuals working in large groups to tamper with each others’ code, let alone the language itself, is asking for trouble.

So how does this relate to games? What would it mean for a player to have more or less freedom in a videogame, and how would that translate to playing a solo game versus playing in a group? Not surprisingly, it turns out that the same principles apply: the most successful single-player games are the ones that allow individual players as much agency, power, and freedom as possible. Consider, for instance, the open-form plot of Mass Effect, the sandbox mechanics of Grand Theft Auto and The Sims, or the one-man-army player characters of games like Uncharted and God of War. On the other hand, successful multiplayer games strive to eliminate differences in relative power between players (except those due to skill), while still retaining each individual player’s sense of power and freedom.

What intrigues me most about this dynamic is the flexibility single-player games have in catering to it. The necessity of either explicit competition or explicit cooperation in multiplayer games means that the game’s goals must be explicit as well. In single player games, however, a player’s “power” can come in an infinity of different flavors, some explicit, some implicit. It could be the narrative freedom of Grand Theft Auto or Mass Effect, or it could be the power fantasy of God of War–but it could also be the interpretive freedom afforded by games such as Braid and Every Day the Same Dream, the intellectual puzzle-solving freedom of games like Portal, or the freedom to explore in games like Gone Home and Proteus. It’s an important lesson: “power” doesn’t just mean “the ability to kill tons of dudes,” power means freedom. I’m inclined to believe we haven’t even begun to explore all the different ways in which games can make players feel powerful, without giving them a sword or gun.  What do you think?

Leave a comment

Filed under Games, Politics, Programming

Lisp, Smalltalk, and the Power of Symmetry

Like many hackers, my first real programming language love was Lisp. Paul Graham, who inspired my own explorations of the language, is a particular advocate and has written quite a bit about Lisp and what makes it different from other programming languages. So what does make Lisp different? Why does Lisp continue to be one of the most powerful, flexible, and concise programming languages in existence, despite the fact that it was invented in 1958–making it the second-oldest high-level programming language in the world? Continue reading

Leave a comment

Filed under Programming

The New Service Economy

As our transition from agriculture to manufacturing shifted the focus from food to material wealth (commodities), we are undergoing a similar shift now where material wealth is becoming as cheap as food became during the industrial revolution (introducing similar problems of overabundance). As material goods were the most valuable things before the industrial revolution, ideas and information are what’s most valuable now–in other words, service industries. This has implications across the economy not just concerning which businesses will make the most money, but how most of that money will be made. Continue reading

1 Comment

Filed under Politics

We Have A New Puppy!

This Monday, July 7th, my fiance and I went to the airport and picked up this little guy:

A tiny baby pug sleeping in a travel crate

His name is Beetle and he is adorable.  Normally I think pugs are hideous (it was her idea), but Beetle is the sole exception.  Obviously. Continue reading

Leave a comment

Filed under Diary, Just for Fun, Programming

Amber Smalltalk

How come nobody told me about this before?  Amber Smalltalk is a dialect of the Smalltalk programming language, which is what caught my attention.  I have been a fan of Smalltalk for years, but the image-based development environment proved a little too cumbersome and monolithic for my tastes.  Amber to the rescue!

Amber is a Smalltalk language for web development.  Now, as I understand it, there is already an excellent Smalltalk-based environment for web development called Seaside.  However, what sets Amber apart from other Smalltalk variants for the web is that it is client-based, and compiles directly to JavaScript.  This means, among other things, that you can go try Amber out right now using nothing but your browser!  It’s the perfect “gateway drug” for the wider Smalltalk world!  I find this especially appealing because it means I won’t have to learn JavaScript to do portable, client-based web programming!  Hurray!

After my initial “project” (modifying the “counter” example to count only by primes), I’ve started working on a web-based game.  It won’t be the much-anticipated port of my game “Press A to Win” (my apologies to both of you who were hoping it would be), instead it will be a game about numbers!  A game about finding numbers’ unique prime factorizations, specifically.  What?  Why are you looking at me like that?  Of course it’ll be fun!

Anyway, you should go check Amber out.  It’s great.  I’ll have something more for you to look at next week.  Until then, stay curious!

Leave a comment

Filed under Diary, Programming

Why I’m Frustrated With 2D Boy’s Games

I’ve expressed unpopular opinions about nerd idols before, but this one is a little harder for me to talk about. My dislike of Terry Pratchett’s books is simple: I don’t like the deconstructionist genre. Easy enough; I can just stick my tongue in my cheek and go on a rant. But my reasons for disliking World of Goo and Little Inferno aren’t so straightforward. Continue reading

Leave a comment

Filed under Art, Games

“What Am I Getting Out of This?” Is the Wrong Question

As a procrastinator, and in particular a procrastinator who is easily addicted, I frequently find myself in the middle of some activity or experience of questionable value.  At that point, my usual response has been to ask myself “what am I getting out of this?”  It’s good to ask something: every second I spend doing one thing is an irretrievable second spent not doing something potentially more valuable.  However, I’ve recently come to the conclusion that “what am I getting out of this?” is the wrong question to be asking.

The problem with asking what you’re “getting” out of something is that it places the burden of responsibility on you.  By suggesting that if you only worked a little harder, you might be able to get more value out of something, it makes you culpable for wasted time.  It characterizes your relationship with media and experiences as exploitative, as though every time you read an article or attended a concert you were trudging down into some Experience mine in order to extract the raw Value ore therein and shape it into…something (swords?)  If you’re not getting enough out of some experience then you could find another, richer vein, sure–or you could just work harder to get more out of what you’ve already got.  This thrifty attitude is great for material possessions, or experiences you’ve already had or cannot avoid, but it’s entirely the wrong way to think about time and art.  There is a cost to getting better possessions–there’s no cost to finding something better to do with your time.

The other problem with asking what you’re getting out of a given experience is that it encourages the idea that you might be “missing out” on something if you stop.  It reinforces the mine fallacy by implying that there might be some hidden, gleaming gem of precious value buried under all that rock that will languish, forever hidden, if you don’t personally unearth it.  This idea is especially problematic for perfectionists like myself–it’s the same impulse that makes me want to 100% every videogame I play, or watch all the bonus content on DVDs, or spend hours on Wikipedia or TV Tropes accumulating mountains of useless trivia.  “Sure, the first half of this article was 98% crap, but there was that 2% I really liked!  What if there’s another 2% in the second half?  If I don’t finish it I’LL NEVER KNOW.”

Time for a reality check: you are always missing out on something.  You can only do one thing at a time, and there are an infinite number of things you could be doing at any given moment.  That’s just how time works: you are always, constantly, continually not doing something of potential value.  So to ask yourself what you’re “getting” out of whatever experience you choose at any given moment is to implicitly task yourself with getting the most possible value out of everything.  It can’t be done!  There are an infinite number of experiences that might be more valuable, any one of which you could be doing instead.  The task of creating value from an experience is not your responsibility–it is the responsibility of the experience.

Don’t ask “what am I getting out of this?”  Instead, ask “what is this giving to me?”–and if the answer is “nothing” or “not much,” then move on!  True, some experiences require an investment if you want to get their full value–a difficult book may be harder to read than a pulp novel, yet give you more to think about in return.  But this is true of all experiences, because if nothing else they at least require the investment of your time.  By focusing on the value the experience is giving to you, rather than the work you’re putting in to derive that value, you place the burden of responsibility back where it belongs: on the experience in which you have already invested.

Your job is to decide what art and experiences to spend your time on; once you’ve decided it is not your job to “make” those experiences work.  If it bothers you that you have to read through two dozen tweets on your timeline before you see one that’s interesting, unfollow some folks!  If you’re halfway through an article and you’re reluctant to read the second half, don’t!  And if you keep giving a videogame your time (and/or money) because you want something from it that it seems reluctant to give you (story, content, “fun,” whatever), then get rid of that sucker!  There are plenty of other experiences out there that will treat you with more respect–your time is valuable, and you should expect a high return for it.


Filed under Art, Philosophy