Category: Writing and blogging

My 2009 essay kinda-sorta about an Anarchist “Internet of Things”

I wrote an essay in 2009 about the Internet of Things, before people were calling it “the Internet of Things.” When I re-read it this afternoon, in 2017, I noticed something rather queer. It wasn’t actually about the Internet of Things at all. It was actually a personal manifesto advocating Anarchism, and condemning techno-capitalist fascism.

Yes, really.

In 2009, despite having barely turned 25 years old, I had already been working as a professional web developer for a little over a decade. (That arithmetic is correct, I assure you.) At the time, I had some embarrassingly naïve ideas about Silicon Valley, capitalism, and neoliberalism. I also had no idea that less than two years later, I’d be homeless and sleeping in Occupy encampments, and that I’d remain (mostly) happily houseless and jobless for the next six years, up to and including the time of this writing.

The story of my life during those two years is a story worth telling…someday. Today, though, I want to remind myself of who I was before. I was a different person when 2009 began in some very important ways. I was so different that by the time it ended I began referring to my prior experiences as “my past life,” and I’ve used the same turn of phrase ever since. But I was also not so different that, looking back on myself with older eyes, I can clearly see the seeds of my anti-capitalist convictions had already begun to germinate and root themselves somewhere inside me.

Among the many other things that I was in my past life, I was an author. I’ve always loved the art of the written word. My affinity for the creativity I saw in and the pleasure I derived from written scripts drew me to my appreciation for computer programming. That is its own story, as well, but the climax of that trajectory—at least by 2009—is that I was employed as a technical writer. I blogged on a freelance basis for an online Web development magazine about Web development. I had already co-authored and published significant portions of my first technical book. And, in 2009, I had just completed co-authoring a second.

That second book was called, plainly enough, Advanced CSS, and was about the front-end Web development topic more formally known as Cascading Style Sheets. But that’s not interesting. At least, no more interesting than any other fleeting excitement over a given technical detail. What’s arguably most revealing about that book is the essay I contributed, which for all intents and purposes is the book’s opening.

My essay follows in its entirety:

User agents: our eyes and ears in cyberspace

A user agent is nothing more than some entity that acts on behalf of users themselves.1 What this means is that it’s important to understand these users as well as their user agents. User agents are the tools we use to interact with the wealth of possibilities that exists on the Internet. They are like extensions of ourselves. Indeed, they are (increasingly literally) our eyes and ears in cyberspace.

Understanding users and their agents

Web developers are already familiar with many common user agents: web browsers! We’re even notorious for sometimes bemoaning the sheer number of them that already exist. Maybe we need to reexamine why we do that.

There are many different kinds of users out there, each with potentially radically different needs. Therefore, to understand why there are so many user agents in existence we need to understand what the needs of all these different users are. This isn’t merely a theoretical exercise, either. The fact is that figuring out a user’s needs helps us to present our content to that user in the best possible way.

Presenting content to users and, by extension, their user agents appropriately goes beyond the typical accessibility argument that asserts the importance of making your content available to everyone (though we’ll certainly be making that argument, too). The principles behind understanding a user’s needs are much more important than that.

You’ll recall that the Web poses two fundamental challenges. One challenge is that any given piece of content, a single document, needs to be presented in multiple ways. This is the problem that CSS was designed to solve. The other challenge is the inverse: many different kinds of content need to be made available, each kind requiring a similar presentation. This is what XML (and its own accompanying “style sheet” language, XSLT) was designed to solve. Therefore, combining the powerful capabilities of CSS and XML is the path we should take to understanding, technically, how to solve this problem and present content to users and their user agents.

Since a specific user agent is just a tool for a specific user, the form the user agent takes depends on what the needs of the user are. In formal use case semantics, these users are called actors, and we can describe their needs by determining the steps they must take to accomplish some goal. Similarly, in each use case, a certain tool or tools used to accomplish these goals defines what the user agent is in that particular scenario.2

A simple example of this is that when Joe goes online to read the latest technology news from Slashdot, he uses a web browser to do this. Joe (our actor) is the user, his web browser (whichever one he chooses to use) is the user agent, and reading the latest technology news is the goal. That’s a very traditional interaction, and in such a scenario we can make some pretty safe assumptions about how Joe, being a human and all, reads news.

Now let’s envision a more outlandish scenario to challenge our understanding of the principle. Joe needs to go shopping to refill his refrigerator and he prefers to buy the items he needs with the least amount of required driving due to rising gas prices. This is why he owns the (fictional) Frigerator2000, a network-capable refrigerator that keeps tabs on the inventory levels of nearby grocery stores and supermarkets and helps Joe plan his route. This helps him avoid driving to a store where he won’t be able to purchase the items he needs.

If this sounds too much like science fiction to you, think again. This is a different application of the same principle used by feed readers, only instead of aggregating news articles from web sites we’re aggregating inventory levels from grocery stores. All that would be required to make this a reality is an XML format for describing a store’s inventory levels, a bit of embedded software, a network interface card on a refrigerator, and some tech-savvy grocery stores to publish such content on the Internet.

In this scenario, however, our user agent is radically different from the traditional web browser. It’s a refrigerator! Of course, there aren’t (yet) any such user agents out crawling the Web today, but there are a lot of user agents that aren’t web browsers doing exactly that.

Search engines like Google, Yahoo!, and Ask.com are probably the most famous examples of users that aren’t people. These companies all have automated programs, called spiders, which “crawl” the Web indexing all the content they can find. Unlike humans and very much like our hypothetical refrigerator-based user agent, these spiders can’t look at content with their eyes or listen to audio with their ears, so their needs are very different from someone like Joe’s.

There are still other systems of various sorts that exist to let us interact with web sites and these, too, can be considered user agents. For example, many web sites provide an API that exposes some functionality as web services. Microsoft Word 2008 is an example of a desktop application that you can use to create blog posts in blogging software such as WordPress and MovableType because both of these blogging tools support the MetaWeblog API, an XML-RPC3 specification. In this case, Microsoft Word can be considered a user agent.

As mentioned earlier, the many incarnations of news readers that exist are another form of user agent. Many web browsers and email applications, such as Mozilla Thunderbird and Apple Mail, do this, too.4 Feed readers provide a particularly interesting way to examine the concept of user agents because there are many popular feed reading web sites today, such as Bloglines.com and Google Reader. If Joe opens his web browser and logs into his account at Bloglines, then Joe’s web browser is the user agent and Joe is the user. However, when Joe reads the news feeds he’s subscribed to in Bloglines, the Bloglines server goes to fetch the RSS- or Atom-formatted feed from the sourced site. What this means is that from the point of view of the sourced site, Bloglines.com is the user, and the Bloglines server process is the user agent.

Coming to this realization means that, as developers, we can understand user agents as an abstraction for a particular actor’s goals as well as their capabilities. This is, of course, an intentionally vague definition because it’s technically impossible for you, as the developer, to predict the features or capabilities present in any particular user agent. This is a challenge we’ll be talking about a lot in the remainder of this book because it is one of the defining characteristics of the Web as a publishing medium.

Rather than this lack of clairvoyance being a problem, however, the constraint of not knowing who or what will be accessing our published content is actually a good thing. It turns out that well-designed markup is also markup that is blissfully ignorant of its user, because it is solely focused on describing itself. You might even call it narcissistic.

Why giving the user control is not giving up

Talking about self-describing markup is just another way of talking about semantic markup. In this paradigm, the content in the fetched document is strictly segregated from its ultimate presentation. Nevertheless, the content must eventually be presented to the user somehow. If information for how to do this isn’t provided by the markup, then where is it, and who decides what it is?

At first you’ll no doubt be tempted to say that this information is in the document’s style sheet and that it is the document’s developer who decides what that is. As you’ll examine in detail in the next chapter, this answer is only mostly correct. In every case, it is ultimately the user agent that determines what styles (in which style sheets) get applied to the markup it fetches. Furthermore, many user agents (especially modern web browsers) allow the users themselves to further modify the style rules that get applied to content. In the end, you can only influence—not control—the final presentation.

Though surprising to some, this model actually makes perfect sense. Allowing the users ultimate control of the content’s presentation helps to ensure that you meet every possible need of each user. By using CSS, content authors, publishers, and developers—that is, you—can provide author style sheets that easily accommodate, say, 80 percent of the needs of 90 percent of the users. Even in the most optimistic scenario, edge cases that you may not ever be aware of will still escape you no matter how hard you try to accommodate everyone’s every need.5 Moreover, even if you had those kinds of unlimited resources, you may not know how best to improve the situation for that user. Given this, who better to determine the presentation of a given XML document that needs to be presented in some very specific way than the users with that very specific need themselves?

A common real-life example of this situation might occur if Joe were colorblind. If he were and he wanted to visit some news site where the links in the article pullouts were too similar a color to the pullout’s background, he might not realize that those elements are actually links. Thankfully, because Joe’s browser allows him to set up a web site with his own user style sheet, he can change the color of these links to something that he can see more easily. If CSS were not designed with this in mind, it would be impossible for Joe to personalize the presentation of this news site so that it would be optimal for him.

To many designers coming from traditional industries such as print design, the fact that users can change the presentation of their content is an alarming concept. Nevertheless, this isn’t just the way the Web was made to work; this is the only way it could have worked. Philosophically, the Web is a technology that puts control into the hands of users. Therefore, our charge as web designers is to judge different people’s needs to be of equal importance, and we can’t do this if we treat every user exactly the same way.6

  1. This is purposefully a broad definition because we’re not just talking about web pages here, but rather all kinds of technology. The principles are universal. There are, however, more exacting definitions available. For instance, the W3C begins the HTML 4 specification with some formal definitions, including what a “user agent” is. See http://www.w3.org/TR/REC-html40/conform.html. []
  2. In real use cases, technical jargon and specific tools like a web browser are omitted because such use cases are used to define a system’s requirements, not its implementation. Nevertheless, the notion of an actor and an actor’s goals are helpful in understanding the mysterious “user” and this user’s software. []
  3. XML-RPC is a term referring to the use of XML files describing method calls and data transmitted over HTTP, typically used by automated systems. It is thus a great example of a technology that takes advantage of XML’s data serialization capabilities, and is often thought of as a precursor to today’s Ajax techniques. []
  4. It was in fact the much older email technology from which the term user agent originated; an email client program is more technically called a mail user agent (MUA). []
  5. As it happens, this is the same argument open source software proponents make about why such open source software often succeeds in meeting the needs of more users than closed source, proprietary systems controlled solely by a single company with (by definition) relatively limited resources. []
  6. This philosophy is embodied in the formal study of ethics, which is a compelling topic for us as CSS developers, considering the vastness of the implications we describe here. []

Software Development as Direct Action

Recently, I was invited to speak at the local Code for America brigade in Albuquerque, Code4ABQ. The presentation I put together with the help of R. Foxtale was the first public articulation of the development methodology we have been using for some time in projects like the Predator Alert Tool, the WordPress SeedBank plugin, and other, newer projects still under development (but here’s a sneak peek). It’s also a term we’ve coined to distinguish between common misconceptions of “hacktivism,” which seem to primarily invoke ideas of digital breaking and entering (cracking), or leaking.

Although “software development as direct action” can legitimately be called a form of hacktivism, its focus is explicitly productive: building new stuff. My presentation told the story of the Predator Alert Tool as a way to showcase what we mean when we say “direct action software development.”

A video of the presentation, along with a transcript, is below. As per usual, all of my presentation materials for “Software Development as Direct Action” are Creative Commons licensed; you are encouraged to download and remix this work for non-commercial purposes. :)

Okay, so we’re here to talk about Software Development as Direct Action, and we don’t have much time. There are big problems out there and they need solving today. In the next ten minutes, I’m going to show you how you can solve them.

But first, I want to introduce you to Professor_Oni. And to Mabus. And John Black. And GamerGeekGuy. And all of these people….

These people have been accused by numerous different women of repeated sadomasochistic rapes. We know who they are because of this tool, a tiny browser extension called the Predator Alert Tool. These two-hundred and sixty or so lines of JavaScript—the entire source fits on this one slide—sparked years of debate and has catalyzed hundreds of thousands of lines of criticism, praise, ridicule, panic, relief, and hope across the blogosphere and in corporate board rooms alike.

The Predator Alert Tool is one example of what we’ve come to call “direct action software development.” The purpose is simple: maximum social impact. The method, simpler: Minimum lines of code.

What is direct action software development?

First, I’m going to assume that you already know a bit about what “software development” is. This is a pretty familiar idea: writing code to build apps, websites, or other technology products for use by people with laptops or smartphones. Writing code is the basic act required to produce software. No code? No software.

But what is “Direct Action”? We’ve found that what people think “Direct Action” really is varies based on, bluntly, how much brainwashing they’ve been subjected to. So let me take a moment to quickly describe what we mean when we say direct action.

When we talk about “Direct Action” we mean:

Any action that immediately addresses the root cause of a problem.

That sounds rather obvious. You may even be asking yourself, “Why would people waste time taking actions that don’t immediately address the root cause of a problem?” Well, there are several reasons:

  • Maybe certain actions aren’t permitted by an authority. Some people will limit themselves only to actions that they have permission to take.
  • Maybe they don’t understand, or they misunderstand, the root cause of a problem. In this case, people will often take actions they think will help, even if those actions don’t make much of a difference.
  • Maybe they don’t have some resource they need; they lack the skills, knowledge, or other materials to take immediate action.

Here are some examples of direct action in the physical world:

In most cases, tackling a problem with the direct action approach provides the most immediate solution. It’s also often dangerous, maybe illegal, and definitely disruptive. If successful, it will piss someone off. But at the end of the day, direct action is the single most effective and efficient thing you can do to make meaningful positive change. Historically, no lasting social change has ever been accomplished without a direct action component. Not once. Not ever.

Back to software. “Direct action software development” is a translation of direct action to the digital realm. It is:

Any code that immediately addresses the root cause of a problem.

Code is action. Remember Professor_Oni? He is a member of a fetish dating website called FetLife. In January 2012, a controversy that had been brewing amongst the FetLife community for years finally rose to national prominence when women came forward to accuse numerous prominent FetLife members of sexual assault. In response, the FetLife management deleted the survivor’s postings and threatened to ban them for violating the site’s Terms of Use. This went about as well as you’d expect: word of the heavy-handed censorship spread like wildfire and within a few weeks, many more women had come forward with similar stories, including some who accused the site’s founder, John Baku, of sexual assault. Once again, FetLife’s response was to delete or edit the new postings.

But by June of that year, the topic of sexual assault within the supposedly “safe, sane, and consensual” BDSM subculture was flashing across headlines of Salon.com, the New York Observer, and other high-profile media outlets. Activists from within the BDSM community had been organizing “Consent Culture” working groups for some time, and their membership numbers swelled.

Rape is exceedingly common in the BDSM scene. In fact, even the community’s own lobbying groups such as the National Coalition for Sexual Freedom—one of their board members doubled as FetLife’s community manager, by the way—admit to a 50% higher occurrence of consent violations among BDSM practitioners than the general populace. That’s nearly as bad as police officers, who statistically speaking are also twice as likely to be perpetrators of domestic violence. The BDSM scene has a self-delusional belief that they are “all about consent,” but in reality, they are at least as bad with sexual consent as everybody else, and likely a lot worse given their penchant for eroticizing abuse. Many women and Submissive-identified people within that community, including myself, had been saying this for a long time, but had been routinely ignored.

Even during the height of these national debates about “the BDSM community’s consent crisis,” the Consent Culture working groups were pitifully meek. They had collectively decided that “something must be done,” but what they chose to “do” was make a petition calling for the removal of the clause in FetLife’s Terms of Use that the site’s management was using as justification for censoring rape survivors. But as is often the case, when you must beg for something from a master, you find that they will not grant your request. Three years later, FetLife has still refused to change their policy and is still censoring rape survivors—unless those survivors use the Predator Alert Tool.

In October 2012, I realized that the root cause of the FetLife problem was simply that site management got to control what users saw when they browsed the site. But the Internet, which was made famous by mashups, allowed a unique opportunity to route around FetLife’s censorship in a way FetLife could not control. I wrote a simple mashup between a public Google Spreadsheet and FetLife that enabled anyone to report a negative experience with a FetLife member. With a mere 260 lines of JavaScript, that information could then be overlaid directly on FetLife.com.

With Predator Alert Tool for FetLife, the problem of FetLife’s censorship all but vanished: FetLife users could now warn other FetLife users about predatory behavior, and FetLife’s site management was powerless to stop it. Just a few weeks ago, we met a woman right here in Albuquerque who had used the tool to alert others about a local “Master” violating her consent.

Users of the tool then began asking for a similar capability on other sites, like OkCupid and Facebook. There are now seven variations of the Predator Alert Tool browser add-on, each designed to work with a particular social network or dating site. Importantly, none of these tools has been developed in collaboration with the social network in question. Most sites have refused to acknowledge the tool, despite inquiries from journalists and community members. Some sites are actively hostile, sending DMCA takedown notices and even threatening to ban Predator Alert Tool users. Meanwhile, the already overwhelming positive response from the user community continues to grow.

Predator Alert Tool arose directly from the needs of the community that it serves. It enabled the user community to do exactly what the authorities at FetLife didn’t want done, or what OkCupid and Facebook don’t want users thinking too critically about. And it accomplished this by just implementing that capability rather than waiting for permission to do so. Its impact was immediate and disruptive—on purpose. These characteristics are indicative of all direct action software development projects.

Today in 2015 the petition proposed by the “Consent Culture” working groups has still not achieved its goal of stopping FetLife from silencing rape survivors. Predator Alert Tool was able to accomplish that goal in one night of coding, with these 260 lines of code, three years ago.

In 2014, Creative Commons creator Larry Lessig appealed to technologists, to you, to take up this cause of immediate, direct action software development:

[T]here is a movement out there that has ENORMOUS needs which you, uniquely, can provide. The obvious ones, the technical needs. This is a movement that will only succeed if we find a way to knit together people in a different model from the television advertising model of politics today. […] This movement is STARVED for people with your skill who can figure out how to make this work. It desperately needs this type of skill offered by people who genuinely believe in the cause as opposed to people who are just trying to get rich.

If you want to change the world, but you don’t want to make a lot of money doing it, let’s talk. We’ve been doing direct action software development since before we knew what to call it, and we’re going to keep doing it. It would be wonderful to find other people who are excited about working with us. There are big problems out there. And they need solving.

Today.

No one understands what censorship even means, because they are being censored

I’ve been enjoying my brief but focused time in The Federation and away from corporate social media so far. (“The Federation” is what we nerds who love freedom and, by extension, free software, call the distributed social network outside corporate-controlled filter bubble prisons like Facebook, Twitter, and Tumblr.) Oh sure, there’s the usual Internet asshole with a dick pic, and I expect there will be more of them as the Federation grows in number. But for now it feels like a much earlier Internet where people generally do not speak without thinking first, are reading what others write with the intention to understand instead of the intention to respond, and best of all, are posting links to tons of stuff I have never even seen before.

Partly, this is because of the inherently international flavor of the Federation. English speakers have not yet reached such numbers that English is assumed to be the default language. Half of my “timeline” is in Spanish, German, French, or some other language. And it’s an absolute joy merely to be exposed to these other languages instead of the monotonous drawl of only one of anything, be it one and only one language, one and only one news source, and so on. Plus, my Spanish and German have been getting better, so while I still need the help of a translator to engage in any sustained way, I feel myself needing it less and less to read other’s comments. Which is awesome! :D

But what’s really noteworthy about this experience is simply the vast chasm between exposure and censorship. I don’t mean censorship in the harsh sense of an iron fist where a block screen comes up as you try to access a blog post, warning you that this content is restricted by order of the government. I mean censorship in the social sense where unquestioned assumptions and complacency are left to fester like boils in our collective minds, or where outright bullying creates fascistic ideological borders that leave emotional wounds whose scars build up like walls against other people and ideas. That kind of sustained psychosomatic injury is also censorship.

But no one recognizes it as such because no one understands what censorship even means anymore, because they are being censored. After all, as the saying goes, the worst thing about censorship is [CENSORED].

This came to the fore on my stream the other day—a stream is kind of like a “Twitter timeline” or a Tumblr “dashboard” or a Facebook “newsfeed,” but without the ads or the prompted posts or the social media gerrymandering that you don’t even know is happening, but it is, and it’s affecting what you can see without your consent—when a new friend posted about her own attempts to articulate the nuances between things like “an echo chamber,” versus “silencing people” and healthy dialogue. Having just made a significant switch in where I placed my social media energies, this was very relevant to my thoughts of the day, so I ended up writing a bit of an essay in response without really meaning to.

I wanted to share that response here. So, here goes:

I have written about this topic a lot so I don’t actually want to repeat myself again from scratch here. However, I will summarize some of my previous thoughts and then share links to my writings elsewhere so you can evaluate them at your leisure. The main points that I feel are most important to bring up in any conversation like this one are as follows:

1. Tactics versus principles

There is a difference between a tactic and a principle. A tactic is a certain action taken for a certain purpose in a certain context. This is different from a principle, which is a general guiding philosophy used to inform a given person’s choice of what action (tactic) to take, when, and why.

Things can get confusing when the same word is used to refer to a tactic and a principle. One very common example of this is the word “violence.” There are strong and compelling arguments to be made that “violent” actions are often necessary to effect the kind of political and social changes that are desirable for all humanity, and it is in fact a form of oppression on the part of people who hold the guns to insist that all actions on the part of the people who the guns are pointed at remain non-violent. Therefore, “violence” is both a tactic (the act of militant resistance against violent killers) and also a principle (the act of forbidding a group to use violence to resist violence).

The opposite is true, too: non-violence can be used as an effective tactic (see, for instance, the Civil Rights marches, the Montgomery Bus Boycott, and so on in the US 1960’s for a few famous example), but it can also be a principle, in the form of political ideologies such as pacifism. These distinction is very important because there are situations in which a violent tactic is used as part of a non-violent principle. See, for instance, Nelson Mandela’s famously advocating the use of guns in the fight against South African Apartheid.

In your case, the question is “censorship,” but I think you are having trouble articulating your thoughts in part because you are not yet clear about the difference between censorship as a tactic versus censorship as a principle.

Second: Power always has a context

Another key point to always be aware of is the idea that “oppression” is not the same as “expression” because the former (“oppression”) always carries with it a contextual power, whereas expression does not. This makes oppression a type of expression, but it does not mean that all expressions are also forms of oppression. (This is analogous to “a square is a rectangle but a rectangle is not a square.”)

As a contrived example, imagine for a moment a child alone in their room, shouting, “I hate grown ups!” This is certainly an expression of something, but is it oppression? No, because a child alone in their room has no meaningful coercive power over adults. (That is, no significant ability to force adults to do what they demand.) The inverse, however, is not true: adults do have demonstrably strong coercive power over the child. (That is, the adult can force a child to do almost anything the adult demands.) Therefore, we say that when the child expresses hatred for adults, this is not oppression, but when we say that adults force children to do things they do not consent to doing, it is oppression, even if the adult’s actions are also well-meaning. For example, it is oppressive to force children to go to school, even though the adult who forces their child to go to school believes such force is in the best interest of the child. Another, less controversial example: it is oppressive to hit children in order to make them behave as instructed, even if the adult believes such force to be in the best interests of the child. Both forceful acts are expressions of oppression, by definition.

The reason this contextualization matters so much is because it explains why “freedom of oppression” is not a meaningful statement (it is an oxymoron) but “freedom of expression” is meaningful, and important. This also explains why there are so many disagreements about what the difference between “oppression” and “expression” actually is in a given context, and I argue that this confusion is largely an intentional effort on the part of oppressors (i.e., on the part of people in power) to muddy the waters by ignoring or discarding important historical, individual, and other contexts. In fact, if you look at history, you will often see groups who take power violently also simultaneously try to destroy historical artifacts, records, and other evidence of a given context. This is not an accident, they know exactly what they are doing: they are creating an environment in which they can control and define what the context is. If they succeed, they can argue that something which was empirically not true is true, such as parents who argue that “my child can force me to do all sorts of stuff!” This is just nonsense, but if people believe it, it does not matter that it is not true, because they collectively act as if it is true. That collective delusion is therefore also an oppressive expression.

This action of rewriting history is called “erasure,” and if you look carefully for it, you will find it all over the Internet, especially (because digital conversations are so easy to erase, and censor). Erasure is a classic pattern of bullying. What you should watch out for is when Person A says something that causes hurt to Person B, and then Person B says something that hurts person A. Person A then typically responds as if the start of the conversation was when Person B said the thing that insulted them, and disregards the fact that Person B was responding to something that they, themselves, said or did that was hurtful.

So, actually, it really matters “who started it,” because that history is part of the context that informs the judgement about whether an act was oppressive or merely expressive.

Third: Words are defined by people’s reaction to them, not by the dictionary

Finally, it’s also important to realize that the single most powerful weapon that oppression has at its disposal, the tool every oppressive act must use in order to sustain itself, is the re-definition of a word or idea to mean something that it originally did not. This is technically called “appropriation” or, sometimes, “assimilation,” and it is a very nasty thing because it is so hard to untangle after it has happened. This can also be understood as a form of erasure (see above), because the point is to re-write the history of how the word or idea came to be in such a way as to make the original meaning or context hard to know.

One very common example of this is the word “censorship” itself. You are using “censorship” to mean a specific thing: the silencing of some voices and opinions in a given space. But that is not the original meaning of censorship at all. Your first clue that this was not the original meaning of censorship is that it is a different word than silencing. ;) Why have two words that mean the exact same thing, if there is not some important distinction or motivation to create the second word?

Censorship actually means “the active suppression of points of view to such a degree that those points of view do not have the ability to influence anyone who might, nevertheless, encounter them.” This is very different from silencing. It is very different from moderating comments on forums. It is a definition that acknowledges the ways in which censorship can be more than just pressing the “delete” button on a comment. For example, by this definition, censorship can also include purposefully slowing down Internet connections (“bandwidth throttling” is a form of censorship).

What’s important to realize here is that people who want to retain power they already have almost always use that power to redefine and narrow the definitions of words that were originally used to resist that power. Another good example of this is “consent,” which many people now treat as “the same thing as” the word “permission.” But these two words are not the same and, again, your first clue that they are not the same should be that they are two different words. Consent is not permission, and permission is not consent, but you can rest assured that most people (especially men) will tell you that they are, in fact, the same.

Okay, that was actually a lot longer than I had intended to write, but it was still just a summary of my many other writings on the topic. You can find a lot of my further writings about this topic by accessing the following websites, and then following links to even more of my writings if they are of interest to you. Some good places to start are:

There are actually a lot more posts than just these. For instance, you already read my “Complicity with Abuse: 101-level information social justice hobbyists are dangerously ignorant of” essay, which has a similar theme to this post. My point is simply that most of the people who are talking about these issues do not do so with much education about the topic, nor with any genuine interest to actually acquire any deep knowledge of it. The ones that do desire this are often frustrated by attempts to prevent them from gaining that knowledge (they are censored), but because these self-motivated learners are starting from a disadvantage, they inevitably believe some of the propaganda and lies that the censors supply. The most dangerous and insidious of these beliefs is that censorship (or oppression) itself is limited only to what the censors or oppressors themselves define as censorship or oppression.

I’m sure you can understand why that is a very clever way to enact censorship. ;)

Cross-post: Announcing Sex Education Everywhere: Because We Learn More Than What They Teach

I’m very excited to announce a new initiative that I’ve begun working on in collaboration with Emma, co-unorganizer of KinkForAll Providence and my co-host on Kink On Tap. The new project, called SexEdEverywhere, is going to be our biggest and most challenging project to date. It also has enormous potential.

(This announcement was originally made on another blog of mine, but I’m cross-posting it here to spread the word rapidly.)

The core of the project is a sexual health education and empowerment video campaign highlighting the reality that we learn about sex from disparate sources in many locations. I believe that the time has come for people to realize that “sex education” is not, has never been, and never should be confined to health class. I believe that young people, sexuality minorities, and certain other disenfranchised groups (still including, sadly, women) have an enormously important role to play in reforming the empty-vessel, top-down model of education and turning it into a peer-to-peer meritocracy where accurate information wins out over misinformation because it saves lives rather than being politically expedient.

And I believe that this change is only possible when it comes from the very people who need such change most: young men, women, and other people like you and me.

That’s why Emma and I have put together a proposal for the project and submitted it to the International Women’s Health Coalition Young Visionaries contest, a contest that, if we win, would seed our project with $1000 USD of necessary funding to get it off the ground. Part of the criteria for winning the contest is based on popular vote, which means I need your votes to win.

If this sounds like a project worth supporting, please go to the Sex Ed Everywhere IWHC voting page and click on “Vote” right next to our picture. And then come back and vote again the next day, and every day until voting ends on March 25, which I understand is totally fair for the competition!

Here is an excerpt of our proposal for the IWHC Young Visionaries contest:

With the $1000 grant from the IWHC Young Visionaries contest we will fund a sexual health education and empowerment video campaign that highlights the reality that we learn about sex from disparate sources in many locations. The heart of this campaign, which we call SexEdEverywhere (“SEE”), will begin with a competition calling for submissions of 30 to 90 second videos that will be reviewed and featured on a network of 5 (or more) microsites over time. The campaign will be based at SexEdEverywhere.com, a website that will actively engage the people to whom it will speak: women and youth across the globe.

[…]

Our vision of lasting change is to create a world in which accurate information about sexual health and freedoms reaches more students and young people than suffer from misinformation or a knowledge deficit. By engaging young people in the creation and distribution of knowledge, we hope to help them recognize their power to enact social justice in their local communities. This would be a world in which women and young people are aware of their sexual and reproductive rights from an early age, and are empowered to make informed decisions for themselves and educate those around them.

Please vote for SexEdEverywhere and help us SEE a world where everyone is aware of their sexual and reproductive rights! Thank you for your daily voting support!

Crosspost: My impressions on the new “sex-positive social network” Blackbox Republic

This post was originally published on my other blog, a much more Not Safe For Work site, at maybemaimed.com. However, it turns out that blog is censored in various countries, such as Dubai. Gotta love Internet censorship. Sigh. Anyways, since I think the material there is interesting and technology-relevant, and in order to help people avoid Internet censorship, I’m cross-posting the contents here. Enjoy.


Social media. Internet publishing. Privacy. Three phrases that have seemed to be at tenacious odds with each other in a multitude of subtle and not-so-subtle ways. For people like me, who have progressive views about sexuality, these three things are constantly on our minds. How do we participate in the online revolution without being forced to “come out” about every sex act we enjoy, some of which are still illegal thanks to draconian restrictions on sexual freedom, even (and especially?) in America.

This month, a new social network called Blackbox Republic (BBR) is attempting to tackle this head-on and aims to create a place for, as Marshall Kirkpatrick put it, this particular large and unserved group of people. Although BBR is clearly a business, it’s a business whose creators have laudable intentions for positive social and cultural change. In that respect, and in many others, Blackbox Republic is worth a close look.

I was informed about the venture via Clarisse Thorn many months ago. I got in touch with BBR and signed up for a limited-offer “founder” account—basically a private beta. The founder account gave me free access to the features of the BlackboxRepublic.com website for what would normally be a $25 monthly subscription fee.

So, without further ado, here are my impressions about Blackbox Republic, and how its launch may be just what the Internet needs to get us moving in the right direction with regards to personal privacy, and mainstream awareness of the different needs of different people on the Internet.

Mainstream sex-positivity or a VIP room in cyberspace? Or both?

Over the past few months, Blackbox Republic has been building a marketing arsenal of anticipation and intrigue. Its creators are successful in non-sexuality-focused spheres of influence: Sam Lawrence is the respected former Chief Marketing Officer of Jive Software, Inc., and April Donato, has experience in community management. They also both jive (pun!) well with the sex-positive movement, discussing it at length in the early stages of their marketing efforts after de-cloaking the new company.

In an interview for Social Networking Watch, Sam Lawrence said,

[Sam Lawrence:] The co-founder [April Donato] and myself are part of [the sex-positive] community. Sex positive means that your sexuality is not an issue. You don’t have an issue with other people’s sexuality. You’re open to what other people are interested in and what their boundaries are, and you’re open with your own.

[…]

[Interviewer:] To what extent do you practice a sex-positive lifestyle?

[Sam Lawrence:] From the perspective of sex not being an issue, I think that love is generated by people being open enough about who they are as people to put all of themselves out on the table. As far as putting all of myself on the table, it’s something that I do every single day.

I have an enormous amount of respect for anyone able to so capably present themselves as authentically as Sam does. On the eve of KinkForAll New York City 2, I met Sam and April at one of their “founder meetups” and had the chance to talk to them face-to-face. Our conversation revolved around the importance of steadfastly holding true to one’s own desires and having appropriate places to express those things with appropriate communication tools. I really liked their emphasis on self-identification over labeling throughout our discussion.

I also really appreciated the way that Sam and April spoke about their target audience. Blackbox Republic will welcome everyone, but it’s not designed for everyone, and I think that’s a good thing. David Evans writing at Online Dating Post says,

BBR has room for everyone, but is not for everyone. Definitely catering to non-mainstream folks, it will soon feature a constellation of micro-communities, or groups, called Camps. BBR doesn’t tell people how to organize their camps; we’ll do it ourselves, thankyouverymuch.

So is Blackbox Republic a dating site, or a social network? Well, both, kind of. Part of BBR’s slogan includes, “Dates will happen. Sex will happen. It matters how you get there.” The implication, of course, being that the current suite of tools for finding love or play online—sites like Alt.com, OkCupid, and countless personals boards—focus too strongly on the end result, turning matchmaking into a meat market instead of the natural process of getting to know one another. The focus BBR is placing on each person’s “journey” is an extremely welcome paradigm shift in the online dating world.

Along with the welcome and (IMHO, painfully obviously better) new approach to online dating, however, Blackbox Republic faces some real challenges. For new users, the service costs a minimum of $5 a month to use (and $9 per month for new sign-ups starting in 2010), which gives access to basic features like a personal profile. For $25 a month, members get added features like the ability to list real-world meet-ups, send private messages, and partake in a virtual “gifting” economy (think LiveJournal’s “virtual gifts“).

For that reason, BBR has been called a “members-only club.” There are some legitimate differences of opinion as to whether this is a positive or a negative thing. In a press release over the summer, Blackbox Republic is reported as stating:

Blackbox Republic will be a members-only experience that will unite the sex-positive community and give them a personal, private and secure way to connect online and in person.

Writing for ZDNet, Oliver Marks likens Blackbox Republic’s approach to online dating to the fashionability of owning an Apple computer:

Think of Blackbox Republic as a fashionable online ‘members-only’ club where you might expect to meet people with similar interests to your own, and ideally the person of your dreams. […] Blackbox Republic is arguably an Apple product to Facebook’s Windows look & feel: a much more intimately crafted, fuller featured personal user interface which should appeal to Apple generation sensibilities.

Many pages on Blackbox Republic's website showcase fashionably dressed women.
Many pages on Blackbox Republic's website showcase fashionably dressed women.

Indeed, almost everything about Blackbox Republic’s marketing and design seems to me as though it’s positioning itself as the equivalent of the hip, new, and exclusive nightclub down the street. There are images of super-chic women in short skirts and tight pants all over the Blackbox Republic promotional pages—way more than there are pictures of men. I was (yet again) put-off by this over-prevalence of women in all advertising material.

This isn’t really a criticism of the site, but rather a statement of disappointment that the marketing gurus behind the effort seemed to me to have succumbed to overwhelming cultural pressure to sell their site with old-school sex appeal: women’s sex appeal, of course. How…traditional.

Not only is the Blackbox Republic intro video markedly gender-skewed, but somewhere along the line Sam and April decided to drop the “sex-positive” phraseology from their marketing:

[L]ike most startups, Blackbox decided it needed to change up. Observers were confused by the sex-positive label.

Oh well. I think this just goes to further showcase how much more social change we really need in our culture.

However, while the clubby, cliquey feel is totally my own subjective perception, there are other issues at play here, too. Most notably, as Clarisse Thorn and many others rightfully remind us very often, the sex-positive movement is overwhelmingly white, middle- to upper-class, college-educated, and privileged in a huge number of ways that many people often take for granted. Even without a for-pay social network, not everyone who wants to can participate in the great-sex-for-everyone party atmosphere of many sex-positive niches.

Will creating a “members-only club” of sex-positivity on the Internet really be a positive thing for “the movement”? Well, maybe. Although it has the potential to exclude lower-income people from the experience, who are sadly also often the people with the most pressing need for the kinds of privacy-related tools BBR offers (school teachers spring to mind!), one upside is that Blacbox Republic promises to pledge a portion of membership dues to a charity of the user’s choice.

It’s $25 a month and $5 of those community dues go to charity. One way to think about it is if you’re sex-positive, you can either spend money on expensive coffee every month or upgrade your social life and meet other sex-positive people like you.

Inescapably, the major selling point of any social network is, of course, the network! If your friends aren’t on Twitter, then you’re probably not going to find it useful. The same truth holds for Blackbox Republic: if the users you want to interact with aren’t there, I doubt you’re going to find the experience fruitful. Due to the membership fees and the socioeconomic realities of the sex-positive community, I’m concerned that BBR’s current business model is too exclusive, and as a result it will have a lot of trouble attracting the kind of diverse community its creators seem to be hoping for.

Yet, some others think differently (pun!). For instance, Dennis Howlett welcomes the for-pay model for a social network:

anyone can join provided they’re willing to pay the $25 a month (I like that he has a pay model from the get go. That sorts out the weirdos and hangers on from day one)

I wonder if adopting a free-mium approach might work better. Still, there are real-world limits to business. Everyone needs to make money, and I don’t think Blackbox Republic’s business model is inherently more exclusive than, say, purchasing access to porn. If anything, BBR’s got some real promise to inject much-needed financial awareness to the sexually insensitive corporate infrastructure of our society. Nevertheless, convincing people to join “the Republic” is going to be a hard sell.

Show me the features!

Let’s say you do decide to join. What do you get? Other than the sex-positive mindset, what’s the benefit?

Well, the bulk of the experience is what you’d expect. Profiles (called “personas”), messaging, user search capabilities (called “explore”), and so forth. A Twitter-like “activity stream” dominates the main page where you can post text, picture, or video status updates. Event listings fill the sidebar. (I’m not going to provide internal screenshots in deference to BBR’s strict confidentiality rules.)

While that’s fun, it’s nothing special. What makes Blackbox Republic different is flexibility, and privacy.

Goodbye drop-downs, hello sliders!

An innovative new interface acknowledges (most of) the diversity in human sexual experience and desire.
An innovative new interface acknowledges (most of) the diversity in human sexual experience and desire.

Blackbox Republic’s most visible feature is the way its interface allows you to flexibly self-identify various facets of yourself. Rather than give you static drop-down menus or radio buttons for things like your sexual orientation and relationship status, you’re presented with sliders you can change at will. Perhaps you’re feeling particularly same-sex attracted one day. Just move the “Orientation” slider towards the “Gay” end and away from the “Hetero” end. If that changes tomorrow, just move the slider back. Sho-weet!

BBR offers you 5 different sliders for your profile. In addition to the one for sexual orientation, you also get one for relationship “status” (ranging from attached to unattached, with Facebook’s famous “it’s complicated” neatly in the middle), whether you’re available for more partners or not, how comfortable you are with casual sexual activity, and how eagerly you’re looking to par-tay. I’m instantly reminded of FetLife‘s innovative, if dull-looking, mechanism for specifying multiple relationships. Blackbox Republic gives you similar flexibility as FetLife does but presented in a superb and far more intuitive interface.

All that said, one slider is conspicuously missing: the one for gender. The sliders are a very interesting idea and might just be the most innovative feature of the entire site. It speaks volumes about the sensitive and thoughtful mindset of the developers, and that’s why I’m so disappointed that the interface for self-identifying gender is relegated to the Sex 1.0 days of a single, binary option of “male” or “female.”

What gives? Are polyamorous people more welcome here than those who don’t fit the gender binary? I hope this is simply an omission that will be fixed as the service matures, since I couldn’t find any other reason why gender was absent from the sliders. For extra credit, I hope to see different profile options for “Sex” and “Gender,” two distinct concepts that frequently and incorrectly get used interchangeably. This would make it possible to represent complex gender presentations like additive gender on a social networking interface for the first time ever, and that’d totally be something to write home about!

Privacy and security

The other major selling point of Blackbox Republic is its careful attention to privacy. The entire offering, including its name, is predicated on letting users very carefully segment their information based on their privacy boundaries. I love some of the things BBR has done to enable this, and I can only imagine it’s going to get better from here.

Blackbox Republic’s Web of Trust

There are three levels of privacy, which (as far as I can figure out) map directly to the level of trust other members have gained within the Republic’s community. It works like a web of trust. New users are “un-vouched.” As they begin to interact with others on the site and, hopefully, make some friends, they should receive “vouches”—or votes of trust—from previously-vouched members. As a member, you get to control whether something you do, such as posting a status update, gets sent to the “public,” (i.e., the entire public-facing Internet), to all Blackbox Republic members (i.e, to both vouched and un-vouched members) or only to vouched members.

Additionally, privacy settings allow you to specify whether you want to allow un-vouched members to send you private messages, to follow your updates, to comment on your posts, or to see you in search results.

Unlike Facebook, which has very good privacy controls that almost nobody on Earth is aware of (thus negating the control’s usefulness), Blackbox Republic makes it a point to highlight their privacy controls at just about every sensical turn. Each of the settings I found defaults to the most private setting, not the most public, which is exactly the right move. I gotta say, I found turning off privacy settings instead of having to turn (or leave) them on to be a really empowering feeling.

You’re not a “friend,” you’re an acquaintance!

Moreover, the Blackbox Republic platform makes a native distinction between “friends” (again, like Facebook, or FetLife) and “followers” (like Twitter). When I friend someone, I’m connected to them in a way that I’m not if I just follow someone. I’m not yet certain what the practical distinction between “friending” and “following” are, other than the fact that your view of the people you’re connected with is segmented based on which button you clicked, but I think the distinction is a very appropriate and natural one to embed in the software.

This separation is probably the single most important innovation in the space of social networks as a medium of communication and collaboration that I can point at. I love that I can indicate without ambiguity which people I want to remain in constant communication with and which I simply want to watch from a distance. After all, aren’t at least some of your “friends” on Facebook really just “acquaintances” in reality? I think that for the first time ever in a social network, Blackbox Republic gets this feature right. Now, if only I could figure out what it actually does. :)

What? No on-the-wire encryption?!

With all that being said, there’s still at least one really frightening problem with Blacbox Republic’s careful attention to privacy: as far as I could tell, no part of my session is SSL/TLS encrypted!

Stunningly, for a site that sells privacy, not even Blackbox Republic's login form is on a secure page.
Stunningly, for a site that sells privacy, not even Blackbox Republic's login form is on a secure page.

The entire BlackboxRepublic.com website is served over HTTP, including the login form and—again, as far as I could tell—every page on the inside of the site. This means that it’s trivial for malicious people who don’t even have a Blackbox Republic subscription to intercept, eavesdrop, and modify my interaction with the site. They could watch—and save—private messages between me and one of my friends (or lovers!), for instance.

In Blackbox’s defense, I don’t know of any social network that protects you from this. FetLife is another example of a website that should seriously consider HTTPS-only pages, but as of this writing hasn’t implemented it. Therein lies one of the most frightening oversights in the entire social networking space: regardless of so-called privacy settings, everything you do on the vast majority of social networks, blogs, and other sites on the Internet are the equivalent of passing notes between friends in a classroom. Better hope that big bully who likes to steal your lunch money doesn’t open the note and read it himself while he’s passing along your login details!

The thing is, few other social networking sites place so strong a spotlight on user privacy and security. Since Blackbox Republic seems to be nobly and rightfully holding itself up to a new standard of privacy, I feel justified in pointing out this glaring omission in their service offering. Given everything else they’ve done so well, and how well-aligned the majority of their technical implementation seems to be with their philosophy, this omission came as a big surprise to me.

Until Blackbox Republic only serves HTTPS traffic for all private areas of their site, I can’t make a recommendation in good conscious that it’s the place to be for privacy-conscious people. But again, despite public opinion to the contrary, I’ve never been able to make that claim for FetLife either.

Conclusion

Blackbox Republic is one of the most interesting websites on the Internet today. Its privacy-conscious and sexually open approach to social networking and online dating deserves huge praise. Its technical implementation—although plagued with some glaring oversights for now—is to be seriously respected.

From a social change perspective, I think the site is a mixed bag. Its exclusivity arguably makes the insularity of the sexuality communities an even bigger problem than it already is. On the other hand, the market-value of that very same exclusivity, if steered toward a benevolent purpose, can end up benefiting philanthropic, non-profit, and other sex-positive endeavors that often struggle to find necessary financial support.

Moreover, Blackbox Republic’s internal gifting economy does seem to encourage a sort of altruistic nature among members. How that may or may not translate into increased support for non-commercial activists has yet to be seen. Nay-sayers should remember that this kind of thing simply hasn’t been done before and the net effect could be quite positive.

Having just launched, however, I don’t think Blackbox Republic should be touted as the go-to site for sex-positive people quite yet. Like other social networks, it needs to grow to become truly useful, and its subscription fee business model poses a serious obstacle to many people. I was fortunate to get in with a free “founder” account, but I have mixed feelings about encouraging my friends to join me knowing they—or someone nice enough to “gift” a limited-time subscription to them—will have to pay for the service.

Additionally, its focus on being, well, a black box and its commitment to not allow Google or other search engines to index its internal content simply doesn’t resonate that strongly with me.

Lawrence emphasizes that what members say in Blackbox Republic will stay private. There’s no danger of what they post inside becoming part of their “Google resume,” as he puts it. He says he would resist efforts from search engines to index content the way Facebook and Twitter allow. “The value proposition is this is the first private, large social network out there,” Lawrence says.

Put simply, and noting that I’m probably not the majority case here, I rely on my “Google résumé,” to use Sam’s words, to live the life I want. My lukewarm reaction to this isn’t a criticism of the goal, simply an observation that it turns out I’m not in the ideal target market for Blackbox Republic’s value proposition.

In other words, I think I’m “too out” for this site to be immediately useful to me. The fact that FetLife is not readily available to the public Internet is the single biggest reason why I don’t sign on to that site very often, and so I have the same reason not to spend all that much time behind the curtains of Blackbox Republic.

Nevertheless, many other people do. If you’re among the cross-section of the populace who’d like a sociosexual experience online and would also like to effectively outsource your social reputation management, if you will, but you feel that sites like Facebook just aren’t cutting it, then Blackbox Republic is definitely worth checking out.

If you do check it out, or even if you don’t, I’d love to know what you think in the comments. And if you’re definitely sold, consider signing up via my partner link. Full disclosure: signing up that way earns me a small commission. If you’d rather sign up but not give me a commission for the referral, just register from the front page.

Too many tears: My first morning back in NYC

A few minutes ago I awoke in a friend’s bed in their apartment in Harlem. I wanted to do nothing but stay there and not get up. I feel like there is too much to take care of, way too much to handle.

My flight from Sydney to New York City was less than good, better than terrible. I already knew I hated United Airlines, now I’m just more committed never to flying with them again. More than that, I’m frustrated that my flight was so dependent on choices Sara’s family made for her without consideration for me. If little else, I’m happy to be finally out of reach of their influence.

It’s been weeks, literally, since I haven’t cried at one point or another, usually multiple, in the day. I’ve been falling asleep in either tears or unmatched stress and restlessness—each has benefits over the other. Last night was no different.

Today I have errands to run for the KinkForAll New York City event I’m helping to run tomorrow. I’m extremely proud of the work Sara and I have managed to accomplish on it not only for the first time ever in our lives but also literally from the other side of the planet.

Simultaneously, I’ve been chasing and feeling continually frustrated by failing to make significant-enough progress on writing my book on CSS. My co-author Joe has been fantastic, and one particular employee, Clay, from the publisher has also been equally supportive. However, the rest of this project feels extremely precarious and that is endlessly aggravating.

It’s aggravating because it was a project I sincerely wanted to see done well, and have been working toward for a long time. I quit my day job something like 6 months ago now in order to focus on getting it accomplished successfully, but I am now further behind than I was then. Despite my best efforts, life kept throwing me curveballs to the point where I already know it’s not going to be the book I wanted it to be. I’m extremely angry at…everything…for that.

As if that weren’t enough, as many already know by now, Sara and I are no longer together, for reasons I’d rather not discuss quite yet. As painful as this would be in general, this is even more painful when seen in light of the fact that it’s one of the reasons my book has suffered. The book isn’t some great money-maker for me, but rather an opportunity for professional exposure and recognition that I’ve been working towards for 8 years—that’s how long I’ve been making money in the web development industry. To have that opportunity suffer pours salt into wounds that moving to Sydney in the first place had already re-opened and which the loss of this relationship is a 3rd degree burn.

All in all, I’m struggling to keep professional commitments afloat, organizing a first-of-its-kind unconference for the sexuality communities in New York City, ending a 4-year relationship (with the person I’m organizing the unconference with), and moving across the planet. All. At. Once.

I want to change the channel off of this ridiculous soap opera, but can’t. Instead, I keep playing everything in fast-forward in my head until I can again see a point somewhere in the hopefully not too distant future where everything I’ve worked on is successful and I’m peaceful once again. Please let that day be soon.

Buy Web Development Books from SitePoint’s 5-for-1 Sale and Donate to Bushfire Relief

For those of you who don’t already know, I’ve been a blogger over at SitePoint for a few months now. Today, I’m even happier to be a participant in the SitePoint community because, for a limited time only, SitePoint is offering the sale of the century: buy 5 SitePoint books for the price of 1. Every last cent of the proceeds from the sale of these books will go towards relief efforts for the recent Victorian bushfires that have claimed over 300 lives and are among the worst fire disasters on record.

The books are full-color PDF downloads, and include some really awesome titles. These are precisely the kinds of books you want as PDFs, too, since you can search through them and always keep them with you while you’re coding and looking for inspiration or a reference (even when you’re without Internet access). I couldn’t help but pounce on this deal, and I’m now the proud owner of the following books, which have all received some pretty great reviews:

In just 3.5 hours, SitePoint has managed to raise over $15,000 AUD, according to employee Kevin Yank on Twitter. And that’s just on this side of the world. All my North hemisphere friends were asleep when this was announced, but not to worry. SitePoint’s sale will last until this Friday, so there’s plenty of time to take advantage of it.

Obviously, I think you should do so. Not only are you getting some really quality content and helping disaster victims at the same time, you’re also sending a loud and clear message that companies whose humanity outshines their accounting are the ones you’re going to support. I’m thrilled to see that SitePoint is one of these human companies, and ever more thrilled to be a part of it.

WP-Oomph: Add the Oomph Microformat Overlay to your WordPress blog

I’ve just developed a completely idiotic (by which I mean brain-dead simple) plugin for WordPress that will add the Oomph Microformat Toolkit to all WordPress-generated pages. If you use a WordPress template that encodes your data with valid microformats anywhere on your page, this means when you install the plugin your users will see the Oomph microformat overlay and will be able to instantly export this encoded data.

This page is a live example, so if you’re using a JavaScript-enabled browser you should see a microformat icon on the top-left of the viewport that is pulling data from (at least) my “The bio” section in my sidebar. Go ahead, click it. I’ll wait.

Pretty nifty, isn’t it? Naturally, all of the credit for this functionality belongs to the Oomph team, not me. If you want to learn how to add microformats to your blog, I’d recommend Emily Lewis’s latest series of blog posts, Getting Semantic with Microformats. If you want to learn how to easily add the Oomph microformat overlay to your WordPress blog, read on.

The backstory

After Ask.com’s announcement that they are adding semantic search capabilities to their search engine, there’s little doubt in anyone’s mind that the semantic web is the future’s web. As far as I know, Google has yet to reveal similar initiatives but they are clearly in the know as well. Mark Birbeck, one of the smart folks who devised RDFa, recently gave a Google Tech Talk that made the point that semantics are the next big thing in the Internet search engine game.

However, for semantic web stuff to really take hold, two things need to happen first. I think these things need to look like this:

  1. Developers must create tools, plugins, and other software that makes it possible for the wider community to create compelling, interoperable applications that support semantic encoding. Thankfully, we are already at this point, with toolkits like the Oomph Microformat toolkit coming out of MixLabs.
  2. Armed with these software tools, CMS and other publishing platforms need to adopt semantics as first-class features of their platforms, and build interfaces that end-users can make immediate use of. This is where we still need to go, though some platforms like Drupal have begun to pave the way for this.

Drupal 7 will be fantastic, I’m sure, but we live in the here and now. I saw the Oomph microformat overlay on Emily Lewis’s blog and was more convinced than ever that if everyone—programmers and laymen alike—had easy access to these tools, they’d simply be pounding down the doors to use them. So that’s why I sat down and wrote a completely idiotic plugin for WordPress that makes it completely, utterly, brain-dead simple for anyone with a microformats-enabled WordPress theme to add the overlay to their site.

WP-Oomph: Download the plugin

My request to add the plugin to the WordPress.org Plugin Directory has not yet been completed, so in the mean time I’m hosting the plugin right here. (When/if it’s accepted it’ll end up being The plugin is hosted on that site permanently.)

The latest version is: 0.1.1.

Download the latest version of the WP-Oomph plugin.

Thanks to the Oomph team’s work, the plugin is a ridiculous 1-liner (for now) that uses WordPress’s wp_enqueue_script() function to call both its included jQuery library and the Oomph library itself. And, well, that’s it. I told you it was idiotic, but at least now the whole process of microformat-enabling a WordPress blog is 100% point-and-click.

WP-Oomph: Frequently Asked Questions

I installed and activated the plugin, but nothing is different. How come?

First, view the source of your WordPres-generated page and make sure you see a line similar to the following near the top:

<script type='text/javascript' src='http://visitmix.com/labs/oomph/1.0/Client/oomph.min.js?ver=1.0'></script>

If you see that but there’s still nothing different about your page, then you probably don’t have any (valid) microformats. You might consider switching to a WordPress theme with built-in microformat support, or modifying your theme’s code to add some of your own. You can learn more about the support WordPress offers for microformats in the Microformat wiki.

The plugin does let me do X thing that I want to do! Why not?

Most likely because I haven’t taken X thing into account. Sorry, I’m not a psychic (as much as I wish I were). However, you’re encouraged to leave a comment on this post or to contact me elsewhere to request that I add capabilities to the plugin. Better yet, if you’re comfortable doing so, send me a patch.

Add a post limit and output format to the WordPress Category Posts plugin v2.0

Tonight I wrote a quick (and idiotic) patch to the very simple WordPress Category Post plugin v2.0. This backwards-compatible patch features:

  • parameter-based post limit to define how many posts the plugin function will print
  • parameter-based format option to output the posts in real <li> elements

The wp-category-posts.php patch file is available for download here. To apply the patch, run the following commands at your shell promp:

cd path/to/wordpress/installation/wp-content/plugins/wordpress-category-posts
patch -p0 < path/to/downloaded/wp-category-posts.patch

I’m hoping this will get integrated as the next version of the plugin, perhaps version 2.1.

How web designers can do their own HTML/CSS: Read Foundation Website Creation

Last month, 37signals published a short but sweet post about why web designers should do the HTML/CSS implementations for their own designs. The bottom line is, as we’ve all been saying for a long time now, that the Web is not the same kind of medium as other mediums like print. It is a fundamentally different kind of canvas than most web designers are used to using. As a result, if you as a web designer are not intimately familiar with it, you’re not going to do great work.

designing for the web is a lot less about making something dazzle and a lot more about making it work. The design decisions that matter pertain directly to the constraints of the materials. What form elements to use. What font sizes. What composition. What flow. Those decisions are poorly made at an arm’s length.

I’ve worked with many web designers in the past who only did abstractions and then handed over pictures to be chopped and implemented by “HTML monkeys”. It never really gelled well. The things that got strong attention were all the things that Photoshop did well. Imagery, curvy lines, and the frame. All the around stuff, never the it stuff.

In other words, to do great web design you have to design in the Web, not in some other medium for the Web. I mean, serious magazine firm employs designers who don’t understand how to work with page layout programs like InDesign. Why, then, do so many web design agencies employ designers who don’t know how to work with web technologies, or even how to use programs like Dreamweaver? It doesn’t really make any sense, and it’s no wonder that the resulting implementation is rarely top-notch work.

But if you’re a graphic designer who doesn’t know much about Web technologies, what are you to do? Well, as a first step, I think you should pick up my new book, Foundation Website Creation. It’s available from all good booksellers (and probably some crappy ones) as of today. The book is targeted towards all manner of web professionals, including graphic designers and website producers, who want to learn more about what it takes to actually implement a site.

If I do say so myself, the chapters on XHTML and CSS are exceptionally thorough. The book doesn’t try to turn you into an exceptional programmer. Instead, it will explain the foundational concepts you need to know to understand how XHTML and CSS actually work, and in so doing will enable you to use the tools you already know to solve problems and get things done.

I think this book will be an excellent starting point for lots of designers and other web professionals. However, it is not going to take you from zero to hero—no book can. That’s why I recommend that, after you read Foundation Website Creation and have a solid grasp of what the technology can do for you and how it actually does it, you next take a look at these excellent books:

  • DOM Scripting by Jeremy Keith — if you’re a designer that needs to add a behavioral layer with JavaScript and Ajax to your pages, you need to read this book next.
  • Mastering CSS with Dreamweaver CS3 – if you’re familiar with Dreamweaver and want to keep using it to create standards-based web sites, then I recommend you follow Foundation Website Creation with this book by Stephanie Sullivan and Greg Rewis to take your Dreamweaver skills to the next level.

As always, most of all, have fun. Because if you’re not having fun, you’re not going to make good web sites no matter what you know.

Note: As of this writing, the book listing on Amazon still publishes the wrong author list, which is very frustrating but out of my hands. At least the image of our book’s front cover lists the correct authors.