Diversity Statement

While it’s not my main distro, I have friends on that side and I like to keep an eye on the project. Debian’s Diversity Statement is damn near perfect.

The Debian Project welcomes and encourages participation by everyone.

No matter how you identify yourself or how others perceive you: we welcome you. We welcome contributions from everyone as long as they interact constructively with our community.

While much of the work for our project is technical in nature, we value and encourage contributions from those with expertise in other areas, and welcome them into our community.


I just killed all those buttons, or, as I sometimes think of them, zits on the face of the internet. I’ve felt for a while that they weren’t actually doing anything for me, but we all had a moment there where the conventional wisdom was that every damn page on the internet had to have a row of buttons for twitter and facebook and g+ (and pinterest and dribbble and digg and reddit and stumbleupon and seriously? are we done yet? does anyone really seriously believe that a dozen or twenty different buttons looks like anything but junk to be skimmed past as quickly as possible on the way to where you’re really going?)

The vague noise in the back of my head crystallized with this:

Which was followed shortly by this post from iA. A few highlights:

If you provide excellent content, social media users will take the time to read and talk about it in their networks. That’s what you really want. You don’t want a cheap thumbs up, you want your readers to talk about your content with their own voice.

and especially this

Social media buttons are not a social media strategy, even though they’re often sold that way. Excellent content, serious networking and constant human engagement is the way to build your profile. Adding those sleazy buttons won’t achieve anything. Social media is not easy — there is no simple trick. Usually, what most people do is not the winning strategy but the safe strategy, and safe rarely wins.

Go read the whole post. It’s excellent. And then come back when you’re done; I’ll wait.

The thing that gets overlooked amidst the hype about their bold move to get rid of social buttons is that neither of those sites is doing anything to get rid of either engagement with their readers or spreading the word about their posts — Smashing has a link to Twitter on each post, just a link, like this: Share on Twitter (only theirs works). And the thing is, given their audience of web nerds, I’ll bet that’s more effective for them than any of those other twenty networks (that, let’s be honest, everyone totally ignores), and it loads a heck of a lot faster than the button and all the associated slimy tracking scripts that come with it. And the iA post goes further, incorporating the best of their reactions into the post.

Neither of them is static or dead or remotely like a ghost town. Unlike, say, these:

Which is what all those “17 people shared this” buttons start to look like after a while.

Here’s the thing

I tweet and retweet stuff. Enthusiastically. But it’s not because of any strategy: it’s because my twitter world, which consists of my own stream, a bunch of my best and chattiest friends from several mostly-separate circles, random drop-ins from their friends who often become mine, and… you get the picture — that extended circle lives and feeds on conversation. That’s what social sharing actually means. (I do much the same thing with facebook, but less often.)

That guy over there who followed you four times in a row because he’s using some tool that shows him everyone who hasn’t followed him back? Whose every tweet is a link, no conversation, and the link obviously comes from a button because they’re all formatted exactly the same? Who probably has “strategist” somewhere in his bio? Yeah, that guy. He followed you too (four times). He’s not part of the conversation. He’s creepy as hell and we all secretly kinda hate him.

Quickie redesign

What you’re looking at right now is a one-afternoon redesign. I’ve been running Twenty Eleven on this site for a while, and while I love it, you can’t really escape the fact that it’s pretty much everywhere. That’s what being the default theme gets you. And in the mean time, as I’ve been busy building other sites, I’ve been squirreling away a list of neat tricks that I’ve seen, or maybe even used in various places but never all in one place; not to mention a few ideas that I’ve been wanting to try out where I’m the only one who can get into trouble with it. It’s my tech blog and I’ll cry if I want to!


  • Forge is incredibly cool, except for the parts of it I didn’t like. It’s a toolkit for bootstrapping theme development, and uses LESS or SASS (whichever you prefer. It switches automagically. It’s that kind of cool.), CoffeeScript, and all the new hotness. Better yet, it’s an amazeballs packaging tool: As you develop, you can watch (and optionally live reload) in multiple test environments, and package everything to a zip file when you’re done. As a test for both Forge and my own OCD, I packaged, uploaded, and activated on a live site while resisting the urge to zip, unzip, go back into the generated stylesheet to tweak by hand, run theme check three times over, etc. etc. etc. You’re looking at it. It worked.
  • Speaking of bootstrapping, of course, Bootstrap. I know I’m late to the game on this one, but it has some amazing stuff in it, and it took pretty minimal changes to make it look not totally like a Bootstrap site (but check out the nice glowy blue borders around any active form field. Huge Bootstrap giveaway!) Because learning twelve whole new systems in a day was a little too much even for me, I’ve been playing with this SASS port of Bootstrap. The original framework is written in LESS, which many people like, but for today, I wanted to use the way of writing mix-ins and variables and such that I already know. For what I was doing, it didn’t make much difference, or rather, I didn’t run into anything that I wasn’t able to do just the way it seemed like it should work.
  • Underscores (_s), which I’ve been using for all my new themes lately. My one big gripe with Forge was that it fires up a blank starter theme with templates I didn’t like; it turns out that you can dump whatever files you want into your working directory and get all the live-previewing and packaging goodness, so I just swapped in the ones I like instead. Easy-peasy. But if I keep combining these three (and I will), I’ll have to come up with some less kludgey ways of launching things just the way I like them.
  • Others: Google Webfonts. Subtle Patterns. C8H10N4O2


  • Zeldman wrote a Design Manifesto the other day. Aside from the fact that, yes, he knows, his type is really really REALLY big, it’s got some great thoughts about designing for content and readers (not to mention about the importance playing around with your own site just for the hell of it).
  • Mark’s post on How I Built Have Baby, Need Stuff is really excellent: he goes far beyond playing with front-end goodies to some neat tricks beneath the surface, including some that I’d never even heard of. Plus, unlike me, he actually documents it all.

Miscellaneous notes:

  • Mobile views are passable but hardly awesome: on the iPhone, it’s squishing even narrower than it needs to be – but out of the box and with literally no attention to mobile browsers, it’s readable and looks like itself. I blame the tools. The Kindle Fire has a different set of issues: the whole sidebar is bumped to the bottom, which says “box model weirdness” to me. And I miss my goofy fonts. Still, again, better than a lot of sites out there, with no extra effort. The fact that it bothers me so much is a good sign of how much we really are moving to a default assumption that mobile will be used, a lot, on all sites.
  • I didn’t bother with an editor.css in this theme, and typing this post without matching styles is seriously bugging me. It’s another one of those WordPress things that seems like a small thing until you miss it.
  • I’ve been realizing lately how much I’ve come to dislike 960px fixed width designs even as I’ve continued to use them because they’re easy enough to drop into certain uses. Opening up to fluid, 1140, and percentage-based while still keeping an eye on readable measures, proportions, and plenty of leading and padding for breathing room? Plain old fun.
  • Most importantly, I’ve had it on my list to redesign my main site for, oh, months now. Sometimes, tossing something off as fast as possible is the best thing going.

why we contribute, part eleventy

I can (and sometimes do) talk at great and boring length about this whole crazy project to contribute more to Open Source – how much faster I’ve increased my own skills than ever before, how much I learn from the genius developers around me, how my paid business benefits from unpaid work I do building connections within the community, how helping people in the forums feeds directly into empowering them to make cooler things. But some days, it’s because OH HOLY CARP stuff I worked on is being used by like A BAJILLION PEOPLE


On theme typography and language detection

As both a font geek and a theme geek, I was of course happy to see Drew’s update on typography in Twenty Twelve. But the part that really made me happy was this bit:

I had some concerns about the default web font settings. What about non-western languages? Those users would be out of luck if we had Open Sans turned on by default. They would see a bunch of empty space and garbled characters when they switched to Twenty Twelve. Not a very accessible or friendly experience.

So what to do? I proposed turning Open Sans off by default, and allowing users to switch it back on from the Theme Options menu. Nacin jumped in and suggested we use language detection to turn the font on or off. Non-supported languages would have the font turned off by default and supported languages would have it turned on. Nacin’s idea represented the best of both worlds — awesome!

I spent an entire past career worrying a whole lot about multi-language computing: encoding conflicts, crappy character rendering, input methods, and everything else that comes with it. And as much as I love the brave new world of web fonts and play with them on any project where I can find a reasonable excuse, it distresses me to see how many widely-used web fonts don’t even bother to support the extended-latin range, let alone any other alphabets.

(Open sans has extensive Greek and Cyrillic — not just Russian — support, in the condensed variant as well as the text. I’m such a hopeless sucker for a good condensed.)

The detection/default trick is even cooler, and I’d love to see a similar approach to smart default-setting become a common practice. The option to change it is there, even if the average English-speaking user never stops to think that it’s for anything other than aesthetics or load time: but the theme is making a reasonably intelligent stab at rendering the site without ugly mystery characters from the very first load.

We are all noobs

Michael reminded me of this:


but as you can see if you go follow the ensuing twitter conversation, it’s a rant that I can go on about for way more than 140 characters. So I will.

It’s incredibly common for people in any kind of support environment, or really any kind of tech learning space, to start off a completely reasonable and intelligent question with “hey, so I’m a total n00b, but…” and end even even a perfectly successful interaction with “oh god I’m such an idiot”. And I’m pretty sure that it’s all down to one really, really bad assumption and the consequences that follow from it:

  • The world is divided into two kinds of people, which for now I’ll call noobs and rockstars1.
  • Since there’s nothing in between the two, there must be some kind of infinite gap.
  • So a noob must obviously be a horrible thing to be.
  • Therefore, ohmygodohmygod I suck.
  • If I have a totally reasonable question, I need to crawl in to the channel/forum/classroom and immediately show my belly like a puppy afraid of being savaged.

And they have some very good reasons to do so. People can be real assholes, and nerd spaces have a longstanding rep for being incredibly unforgiving about any perceived stupidity. So playing submissive puppy is an understandable response: after all, why would you want to expose yourself to getting ripped apart by the pack?

It’s not just in support venues, either. If it weren’t for this kind of attitude, we wouldn’t have huge-selling book series on “… for Dummies” and “… for Complete Idiots”. (No offense to friends who have published in both series!) We certainly wouldn’t fall back on tired old tropes like “so simple your mom can do it” — aside from the nasty sexism, it assumes that there’s a whole class of non-technical people out there who are just fundamentally  incapable of getting anything hard.

And so if I think (or just secretly fear) that I’m on that side? Yeah, you bet I’m going to feel like the mere fact of having a question is something deeply shameful 2.

Meanwhile, for rockstars, the whole noob vs. rockstar thing is just as destructive (if not quite as obviously so at first: after all, they’re on the winning side of the equation). If it’s only the noobs who need to ask questions, then if I admit my ignorance on anything, I must secretly be a noob! Oh the shame! Better just not ask and admit weakness… And that way lies a nice self-defeating case of impostor syndrome, for the less confident among us; or the kind of junior dev arrogance that Garann talks about, for the otherwise inclined.

The fact is, learning doesn’t happen without a lot of painful and embarrassing bumping up against the stuff we don’t know, and it’s neither easy nor comfortable to be in that position. I’d even go so far as to say that’s why we learn: the sense of accomplishment that comes from mastering something you couldn’t handle an hour or a decade ago is a powerful driver to get through a painful process, but on an even more basic level, no longer having that awful pit-of-the-stomach feeling is even more so. Unless we’ve convinced ourselves that it’s impossible; in that case, most people just give up and avoid whatever it is that’s making them feel this way.

You’re a noob. I’m a noob. Hell, I’m a noob about all the things that people sometimes try to call me a rockstar about. We need to stop dividing up the world this way. And don’t let me catch you saying things like that about your mother.

  1. I have just as much of a problem with the “rockstar” side of the equation, but that’s a different rant
  2. The flip side is the bully who fronts expertise by calling other people noobs. If you haven’t figured it out yet, don’t do that.