New Electric Skateboard

Happy pi day, everyone!

My skateboard was broken for the past five or six months, and rather than get it repaired, I traded it in for a new, more powerful model. For a cost of about $120, I now have a board that can go zero to 20 mph in four seconds. This is a pretty alarming speed and has finally gotten me to buy a helmet, but it also means I’m one step closer to becoming a Kourier. I just need to talk to Neal Stephenson about some engineering issues with those radial-spoke wheels …

For anyone interested in buying a board, I recommend going to eBay and looking for a cheap used one to try the idea out. My first board, a vaguely toy-like e-skateboard ($31 on eBay in 2004) had an 80-watt motor (still surprisingly powerful — it managed to tow four people at one point). I bought a few other cheap used ones, and then, having decided these things were indeed awesome, I decided to spend some more money on a proper board for getting around the city. I got a 250-watt Exkate Raptor 3.0 for $320, which I talked about in an earlier post.

This new board, a Pro Module 600, is also made by Exkate (now Altered Electric Skateboards):

The old 250-watt board was still not quite powerful enough to climb Somerville hills without complaint (I’m at the upper end of the 170-lb weight limit), but this new one has a 600-watt motor, which handles them no problem.

According to Science, 600 watts is about 80% of a horsepower.

This suggests that if you found a smallish horse (say, 75% the strength of a standard one), and started a tug-of-war using this new board, you could actually win.

This is of course dependent on friction and when the board can actually supply maximum power and so on. But let’s pretend it would work.

Edit: Taylor of Exkate posted with some technical info, and I answered some other questions in the comments. He mentions that if you want to order a board, call him (949.951.9500) and mention xkcd for free shipping (which can be significant). Disclaimer: They aren’t paying/giving me anything, they didn’t ask me to write this, etc. If you’re interested but don’t want to spend a lot yet, I recommend trawling eBay for a cheap board to try the idea out.


Ball Pit, Phase II

I posted a while back about a ball pit I’d installed in my room. Everything in that post was true, but the pictures were a little misleading.

Looking at that, you don’t necessarily realize how cramped those people are. I framed the pictures to make it look larger than it actually was (THAT’S WHAT SHE SAID). In fact, the ball pit was only about the size of a large bathtub or small jacuzzi. In the pictures on the site, it was barely deep enough to be buried in, and when we shrunk the area to make it deeper, it was barely big enough for two people.

When people came in and saw it, they were always startled at how small it was (also what she said). There was no room for hide and seek, and barely even space for surreptitious ball-pit groping. This was a terrible state of affairs. It was nice to sit in, but really, why bother having a ball pit if we were gonna do such a half-assed job of it?

Well, as of this week, the situation has been rectified.

We all chipped in and quintupled the volume of the ball pit. It’s now set up opposite a hacked-together server-projector system (yes, that means Guitar Hero in the ball pit — that’s a controller you see on the left). It’s lined with blankets and foam padding, and is oh so comfortable. We’ve had two people fall asleep in it already.

For sanitary reasons, we of course have a few rules:

It’s still only half the size of the recently-constructed ballpit. But it’s finally big enough to really hide in, stretch out, and grab someone’s ass without them being sure who did it.

On the other hand, it has the slightly unnerving effect that we now have no idea how many people are in the apartment at any given time.

For science, the next experiment will be “what do cats think of ball pits?”


Holy crap. This strip’s been up for 800 seconds and it’s already the most controversial thing I’ve ever written, beating out comics about cunnilingus, the Obama endorsement, and my making 4chan tiny on the map of the internet. It turns out everyone and their mother has a fruit opinion, and every one of those opinions is now in my inbox.

Just remember to keep some perspective. If you think watermelon is delicious, and I think it’s only so-so, the important thing is that we each find something we like. Who’s to say whose taste is right?

I am. You are wrong; watermelon is overrated.

Also, I have never liked cantaloupe. It brings down otherwise tasty fruit salads. There, I said it.

The Laser Elevator

Solar sails suck.

In a 2002 paper, Laser Elevator: Momentum Transfer Using an Optical Resonator (available at your local school/library, possibly electronically — J. of Spacecraft and Rockets 2002), Thomas R. Meyer et. al. talk about a neat way to get a lot more speed out of light reflection than with a regular solar sail. The basic physics are pretty simple, and it’s a fun subject to think about.

When a photon hits a solar sail, it gives the sail momentum. If the photon has momentum P and bounces off a stationary sail, it looks like this:

Think of where the energy is in this system. Before it hits, the photon has energy E. After it bounces, the photon still has roughly energy E. But the sail’s moving, so where did it get its kinetic energy? (Remember, energy — unlike momentum — has no direction.)

The answer lies in the word “roughly”. The photon loses a tiny fraction of its energy to Doppler shifting when it’s reflected, but only a tiny fraction. It is this tiny fraction that goes into pushing the sail. This is a phenomenally small amount of energy — far less than a percent of what the photon has. That is, not much of the photon’s energy is being used for motion here.

This is why solar sails are so slow. It’s not that light doesn’t have that much energy, it’s that it has so little momentum. If you set a squirrel on a solar sail and shone a laser on the underside, do you know how much power would be required to lift the squirrel? About 1.21 gigawatts.

This is awful. If we were lifting the squirrel with a motor, railgun, or electric catapult, with 1.21 gigawatts we could send it screaming upward at ridiculous speeds.

This is where Meyer and friends come in. They’ve point out a novel way to extract momentum from the photon: bounce it back and forth between the sail and a large mirror (on a planet or moon, perhaps).

With each bounce, the photon loses a little more energy and adds another 2P to the sail’s momentum. The photon can keep this up for thousands of bounces — in their paper, Meyer et. al. found that with reasonable assumptions about available materials and a lot of precision, you could extract 1,000 times the momentum from a photon before diffraction and Dopper shifts killed you. This means you only need 1/1,000th the energy to levitate the squirrel — a mere megawatt.

This isn’t too practical for interstellar travel. It requires something to push off from, and probably couldn’t get you up to the necessary speeds. It may, they suggest, be useful for getting stuff to Pluto and back, since (somewhat like a space elevator) it lets you generate the power any old way you want (a ground nuclear station, solar, etc). But more importantly, it’s kind of neat — it helped me realize some things about photon momentum that I hadn’t quite gotten before. It’s like Feynman says, physics is like sex — it may give practical results, but that’s not why we do it.

Now we’ll let things get sillier. I spent a while trying to brainstorm how to use this with a solar sail (that is, using the sun). I imagined mirrors catching the sun’s light and letting it resonate with a sail.

But you really need lasers for this — regular light spreads out too fast. Maybe a set of lasing cavities orbiting the sun …

Supplemented by a Dyson sphere …

And since by this point we’ll probably have found aliens …

Why settle for interstellar communication when you can have interstellar war? And we could modulate the beam to carry a message — in this case, “FUCK YOU GUYS!”


Space has been a little disappointing for the last few decades. Since the moon, everything has turned out kind of barren. Every SETI-related result of the past 30 years has been disheartening — “there was once water on Mars” doesn’t really do it for me. There are two big exceptions. One is Jupiter and Saturn’s moons, which are still cool and could do with more checking out.

The other is the search for other solar systems. Starting in 1995, we’ve been finding craploads of planets around every star we look at. The better we build our telescopes, the more planets we see. It seems more and more likely that a lot of stars have solar systems like ours. And if Mars could’ve had water, and we have water, water probably isn’t uncommon. Things are looking up for life in the universe, even if they’re looking down for our neighborhood.

I think we haven’t made contact with aliens by radio yet because we’re looking in a very limited set of places, not because they’re not there. I think it’s more likely that ET is using tight-beam lasers to communicate between star systems; it’s silly to expect them to dump powerful uncompressed signals toward us on the few frequencies we’re searching at the times we happen to look toward them. I think it’s very likely that there’s a lot of life out there; we’ve barely started searching.

In the next decade or so, we’re gonna get a lot better at seeing other solar systems. We’ll be getting new planet-finding telescopes built — there’s immediate-future stuff like Kepler, and there’s also the possibility of giant optical arrays in orbit or on the moon that can directly image earth-like planets around other stars. The data will start pouring in soon, and space will be exciting once more.

All that said, most applications of the Drake Equation are pretty shoddy. You can’t extrapolate from one damn data point no matter how much you want to. But this isn’t really Dr. Drake’s fault. He’s doing the best he can.

Edit: Regarding today’s comic: Dr. Drake’s first name is Frank, not Francis. He is an astrophysicist, not a 16th-century British Vice-Admiral. Thank you to the several readers who wrote in to correct me — I had always thought Francis Drake was just one long-lived and supremely-accomplished person.

Remember limericks? They were huge in the mid-20th century, but fell on hard times over the last couple decades. Now so many dirty limericks are a generation out-of-date, and the really clever ones lie neglected and un-retold.

I want more limericks, and I want the cleverest ones collected somewhere. It strikes me that a certain modern system for collecting bits of funny text might be perfect for both these goals.

So, after a moment’s work, I’ve set up, which you’ll recognize as similar to Submit away, both old and new! Anonymity is encouraged and a respect for meter is required. Dirtiness is not mandatory, but it helps.


Okay, politics time.

I’m a political junkie, but I’ve largely kept that out of xkcd (other than occasional cracks about science and net-related issues). So this will be a one-time thing — after this post, you’ll hear no more political advocacy on this site for the rest of the election. But I think we’re at a balance point, where a few words between friends who are generally in agreement might make a difference, so here goes.

Please support Barack Obama.

I want, for once, someone I can vote for not because I dislike the other candidate, but because I’m proud of mine. Obama is the real thing.

Obama has shown a real commitment to open government. When putting together tech policy (to take an example close to home for xkcd) others might have gone to industry lobbyists. Obama went to Lawrence Lessig, founder of Creative Commons (under which xkcd is published) and longtime white knight in the struggle with a broken system over internet and copyright policy. Lessig was impressed by Obama’s commitment to open systems — for example, his support of machine-readable government information standards that allow citizens’ groups to monitor what our government is up to. Right now, the only group that can effectively police the government is the government itself, and as a result, it’s corrupt to the core. Through these excellent and long-overdue measures, Obama is working to fight this corruption.

Obama stands against bad governing not only in his support of specific practices like open data standards and basic network neutrality, but in his work against corruption from day one. He’s sponsored legislation to restrict gifts to Congress by industry representatives (which also carried a whole slew of anti-corruption measures that were a breath of fresh air). He’s fought against vote fraud. He’s been pushing for election and lobbying reform from the start, and in his campaign he’s refused to take lobbyist money.

Clinton has done nothing of the sort, and when questioned seems baffled that anyone would have a problem with what is, by any reasonable standard, bribery. I find her basic lack of integrity troubling, and I think as president she would continue fighting to maintain the status quo. It’s vital that we start the work of picking up the messes left by the irresponsible governance of the current administration, and, as they say, you don’t get out of a mess with the same kind of thinking that got you in. Obama is the guy to to get us out.

The Democratic party has a long, painful history of nominating unlikable, uncharismatic ‘default’ establishment candidates who are eventually swatted aside by the voters. Nominating Clinton would be continuing that tradition at the very time when we have a chance to do so much better. Let’s not let that chance slip by.

I want someone who can lead the country. When people grow cynical and detached from government, or blinded by partisanship, evil runs amok. Obama represents an honest shot at making our government something we can be proud of. I’m tired of throwing things at CNN. I’m tired of feeling depressed when I read speeches by the founding fathers. I want Jon Stewart to smile again. For a brief moment, next Tuesday, we’ll have a shot at finally getting things right. Please help.

I’m disabling comments because I don’t want xkcd to become a place for ongoing political argument, anger, and hurt feelings. The internet has enough political discussion threads — if you’d like to participate in that, I recommend heading over to sites like reddit. As for this site, there are lots of comics and projects I’m looking forward to on the horizon. Also, someday soon we’ll be able to spectrally image the surfaces of Earth-like extrasolar planets, which is way exciting. Space is on the verge of becoming an adventure again, Windows Vista is flopping, and Mario Kart will be out for the Wii soon. I think the future will be okay.

ROBOT9000 and #xkcd-signal: Attacking Noise in Chat

Edit 2: Oh God Oh God 4chan has Robot9000. soup /r9k/. Have fun with the bot and do one last barrel roll for me.

Edit: As expected, with the huge flood of new traffic after this post went up, the channel is full of new folks coming in and playing with the bot. This is unavoidable and expected for these first few days, and ROBOT9000 is actually controlling the noise pretty well. Still, #xkcd-signal is a social channel — if you just want to play games with the moderator/concept, please use #moderator-sandbox. Thanks!

#xkcd has had about 250 chatters these days. Large communities suck. This problem is hard to solve, but we’ve come up with a fun attack on it — enforced originality (in a very narrow sense). My friend zigdon and I have put together an auto-moderation system in an experimental channel, #xkcd-signal, and it seems to work well, so we invite you all to take part.

When social communities grow past a certain point (Dunbar’s Number?), they start to suck. Be they sororities or IRC channels, there’s a point where they get big enough that nobody knows everybody anymore. The community becomes overwhelmed with noise from various small cliques and floods of obnoxious people and the signal-to-noise ratio eventually drops to near-zero — no signal, just noise. This has happened to every channel I’ve been on that started small and slowly got big.

There are a couple of standard ways to deal with this, and each one has problems. Here’s an outline of the major approaches (skip down if you just want to read about ROBOT9000):

  • Strict entry requirements: This is the secret club/sorority approach. You can vet every new person before they’re allowed to speak. This sucks. It reminds me of Feynman’s comment on resigning the National Academy of Sciences — he said that he saw no point in belonging to an organization that spent most of its time deciding who to let in. The problems are apparent during sorority rush week on college campuses. Not only is the question of who does the vetting (and how) difficult, but the drama reaches horrifying levels as bitter counter-cliques rise up and do battle.
  • Moderators: This is the approach IRC channels and forums usually take. You designate a few ‘good’ people who can deal with noise as it happens, by muting, kicking, banning, or editing content as need be. There are a couple problems here — the circle of moderators has to grow with the community. It eventually becomes fairly large, with complicated dynamics of its own, and the process of choosing moderators leads to sorority/NSF-esque drama and general obnoxiousness. I don’t like the elitism that inevitably develops, and prefer more egalitarian systems.
  • Running peer-moderation: When it’s possible, this is a good approach. It’s used to great effect on comment threads, with Slashdot pioneering the whole thing and sites like reddit stripping it down to an effective core. But it doesn’t work very well for live time-dependent things like IRC channels.
  • Splinter communities: This has happened on most IRC channels I’ve been on — small invite-only side channels sprout up with particular focuses. Often, the older core members of the community go off to create their own high-signal channel, which is generally kept quiet. But this is limited — it lacks the open mixing of the internet that often makes online communities work.

I was trying to decide what made a channel consistently enjoyable. A common factor in my favorite hangouts seemed to be a focus on original and unpredictable content on each line. It didn’t necessarily need to be useful, just interesting. I started trying to think of ways to encourage this.

And then I had an idea — what if you were only allowed to say sentences that had never been said before, ever? A bot with access to the full channel logs could kick you out when you repeated something that had already been said. There would be no “all your base are belong to us”, no “lol”, no “asl”, no “there are no girls on the internet”. No “I know rite”, no “hi everyone”, no “morning sucks.” Just thoughtful, full sentences.

There are a few obvious questions/objections, and I think each of them has been answered by experiment:

Q: Can’t you just tack a random set of letters on the end to ensure your line is unique (or misspell things, add in gibberish, etc)?

A: Of course. The moderator has plenty of holes if you’re acting in bad faith. But if you’re doing that, why are you in the channel at all? Folks who persist in doing this anyway earn (like any spammers) a prompt manual ban.

Q: Won’t it get harder and harder to chat as lines get “used up”?

A: You underestimate the number of possible sentences. We’ve been working off two years (2 million) lines of logs, and it’s not very hard at all — I expect the channel will be able to run for at least a decade before it becomes a problem, and probably long past that.

Q: What about common parts of conversation, like “yeah” and the like?

A: Surprisingly, it doesn’t seem to be a huge problem. In some cases, they can be done without entirely, and in others, you’re just forced to elaborate a little bit on what you’re agreeing with and why.

I talked it over with zigdon, a Perl guru, and he coded it up. We called the project ROBOT9000 (the most generic, unoriginal name for a bot that we could think of). Then we started a sister channel to #xkcd and put the bot in it. #xkcd-signal has been running for the last couple weeks (using the last two years of #xkcd logs) with about 60 reasonably active chatters, and it’s working beautifully — good, solid chat between relative strangers, with very little noise. (We’ll see how it handles the influx of people as we announce the experiment to the wider net.)

In zig’s implementation, the moderator bot mutes (-v) chatters for a period after every violation. The mute time starts at two seconds and quadruples with each subsequent violation, so you have five or six tries to get the hang of it. Your mute-time decays by half every six hours (we’re still tweaking the parameters). When looking for matches, the bot ignores punctuation, case, and nicks.

The big problem we ran into, actually, was meta-discussion overwhelming the channel. Every new person wanted to speculate about the rules and their effect, and every violation was followed by a long postmortem. At first, we had a scoreboard showing who was the best at talking without violation, but this quickly turned into a competition, destroying actual chat. When we took down the scoreboard and banished meta-discussion of the channel to #meta-discussion, everything worked out nicely. (And, of course, for discussion of the concept of #meta-discussion people had to go to #meta-meta-discussion, and for chat about how silly that whole idea was, we created #meta-meta-meta-discussion …)

You’re welcome to come hang out with us. The moderator bot is running in #xkcd-signal on Foonetic ( or But again, it’s a social channel; take discussion of the concept to #meta-discussion.

If you’d like to run this bot in your own channel, zig has published an initial version of the code here: (Perl bot, SQL skeleton, Changelog)