Comic Creators, Cosplayers, and Gender Roles

Looking at the site for San Francisco Comic Con, and I see their guest list. First, there’s “Celebrity Guests”, which are a mixed bag. Then come “Comic Creator Guests”: folks named Steve, Allen, Gerhard, Arvell, Casey, Joe, Jack, Erik, Bob, Steve, Mike, Paolo, and so on. There is a Trina.

And then, right under that, there’s “Cosplay Guests”, named Heather, Jennifer, Lisa, and Jessica.

And I cannot help but notice the stark gender divide here.

Okay, I’ll give the organizers props for two things:

  1. They got a female comic creator in there. 1 out of 22, which is 4.5%… I dunno, does that match the industry-wide percentage of female creators? I suspect it might.
  2. They have a guest section for cosplay. That seems kind of cool.

But overall, it looks like: “guys create the comics, and then girls dress up as the characters from them”. It really minimizes any level of costuming skill on the women’s parts, and instead casts them very much in a passive role, to be looked at.

It really doesn’t help that their bios are far shorter than those of the comics creators… and nearly interchangeable, and all three of the ones with bios also list credits as promotional models.

I’m sure fandom itself bears at least a little of the blame, for being more inclined to pay attention to female cosplayers than male ones. (At least if they’re young and conventionally attractive — which, by a curious coincidence, all of SF Comic-Con’s cosplayer guests are.) The con’s organizers have a case to make that “we need to invite the big names in cosplay, not some randoms.” And that would be legit.

It’s a vicious cycle.

But the thing about a vicious cycle is, you can break it at any point in the cycle. And breaking it in fandom — convincing millions of people (just in the US alone!) to change their ingrained habits of who they pay attention to and snap pictures of while they’re at cons — well, that’s a very hard thing to make happen.

But breaking that cycle in the con committees? Getting them to realize that inviting female creators, and male cosplayers, and treating the cosplayers as creators rather than just as eye-candy? That only requires convincing a much smaller number of people to think about the effect their actions have on fandom at large.

So I’d like to see the cons themselves try to move this needle a little more. Hell, a lot more.

Installing Software From the Internet

I’m getting ready to spin up a few new web development projects. I think I want to do them on Ruby On Rails. That means getting a good RoR development environment installed on Finrod.

About 5 levels of yak-shaving later… it looks like I should install RVM so I can get the version of Ruby I want. And most instructions on installing RVM say, “point a command-line web client at this URL and pipe the result into your execution shell.” To which my first thought is, “Oh, hell to the no! Shoot some unknown, untested, executable code straight into an interpreter? What kind of moron do I look like?” (Don’t answer that. It was rhetorical.)

Upon further investigation, this really does seem to be accepted practice nowadays. And I wondered what’s happened to the days when we’d download a tarball that has an autoconfiscated install package with a makefile and all that?

Hmmm, you know… speaking of untested code that I don’t examine before installing…

I guess this newfangled way of doing it really isn’t any less secure than what we were all doing back in the late ’90s. It’s just… honestly, it may well be more convenient, with fewer unnecessary steps (like unpacking that tarball), and it may result in fewer files lying around cluttering up my hard drive afterward.

I’m not sure. I’ll re-evaluate that after I’ve actually done it.

Paying a Fair Wage Is the Opposite of Slavery

I just found out about Alex St. John’s ridiculous article on VentureBeat claiming that developers who object to working uncompensated overtime have “a wage-slave attitude”. Ummm, what?

It sounds like he’s trying to use emotional terms and “snarl words” to make people think that “whatever a ‘wage slave attitude’ is, it must be bad!” But look at what he associates with “a wage-slave attitude”: people asking for fair pay and decent working conditions. A 40-hour work-week with real work-life balance, instead of ongoing, uncompensated “crunch mode”.

Asking for fair pay and decent working conditions is not “slavery”. In fact, it’s about as far from slavery as you can get. It’s the exact opposite of slavery: being able to leave the workplace and go home is freedom.

Someone who tries to convince you that wanting a 40-hour work-week and proper vacation time is “a wage-slave attitude” — or is any other undesirable thing, like “socialist” or “un-American” or “a poor work ethic” — is not someone who has your best interests at heart. It’s someone who’s trying to confuse you, so that they can take advantage of you. Read More »

Things That Are Immune to Warrants

The US government, in the persons of the FBI and Department of Justice, has been claiming that new levels of iPhone encryption turn those phones into “warrant-proof” zones, and that shouldn’t be allowed. But in that case, we have to make sure nothing else is a warrant-proof zone, either. Which means all of these things:

  • The contents of a piece of paper that you ran through a shredder. The entire shredder industry is built around just one thing: putting printed documents forever beyond the reach of any warrant.
  • The things you said to your friend in a room with a Nest or Echo device a couple of nights ago. All of these things need to record everything said near them for up to 6 months, in case the government needs to subpoena that information.
  • The things you said to your friend in a room that doesn’t have any such device. We’ll need to install government listening devices in all rooms. Yes, including the bathroom — if the terrorists know bathrooms are exempt from warrant searches, they’ll just do all their planning there.
  • The things you drew or wrote on a piece of paper in that room with the listening device. It can listen, but it can’t watch. So if you just write out your dastardly plans, then burn the paper afterward, the government can never get that information, even with a lawful warrant.
  • Say, speaking of “burning the paper afterward”… hmmm, shredders aren’t the only thing that can destroy paper. Can we outlaw lighters? Barbecue grills?
  • Where you drove in a car that doesn’t have OnStar or a LoJack device. By current intelligence community standards “where you drove” is practically metadata anyway (compared to things like what you did there or why you went there), so it shouldn’t even require a warrant to get to![1] But if there’s no OnStar, LoJack, or GPS-transmitting device on your car, then that information is forever beyond law enforcement’s grasp. (Naturally, this will need to include rental cars, car-share services, and taxis, as well as rental trucks like U-Hauls and so on.)
  • What you said in the car. When we were installing bugs in every room of every building, we forgot to include all the vehicles…
  • Oh, Gods, pictures again?! Better make sure those in-car monitoring devices have video, of course. If the terrorists realize they can make secret plans by sitting in a car and making sketches, all our lives could be at risk!
  • You know, back during the Cold War, spies knew one of the best ways to avoid monitoring was to meet on a bench in a park, out in the open, away from anyone who might listen in. If you selected a bench more-or-less at random, nobody would know to have placed a bug on it in advance. But now that we want there to be no place and nothing that’s “warrant proof”, the only solution is to plant a tiny listening device on every park bench, everywhere.

You know what is immune to warrants? Most of reality. And law enforcement has gotten along just fine with that. The desire of law enforcement to be able to spy on absolutely everything is understandable — but it’s something we should push back against, with all our might as citizens of a free society.

Because what the FBI and DOJ are asking for is an Orwellian police state.

When you hear “oh noes, immune to warrants!” look at what the endgame is. And fight back.

[1] Note: I’m not saying I agree with this argument, just that it’s one I could easily see pro-surveillance types making. With a straight face. ↑↑

Reasons to Use Ad-Blockers

There’s been a lot of talk lately about the rise in use of ad-blockers, and the various strategies publishers and the online ad industry are using to try to convince people to turn off their blockers. But almost all of this has been framed as a case of people wanting to be freeloaders, wanting to view content without bothering to pay “the price” in the form of also seeing ads.

Sure, ads are annoying. But there are so many other reasons why people use ad-blockers. And if you don’t include these in the conversation, then you’re missing 75% of the debate. You’re not addressing any of the substance of why people are using ad-blockers.

First and worst of all, they’re a major distraction

There are some ads out there that are just static images. They aren’t animated, they don’t play video, or blink, or — absolute sin — auto-play video with sound.

But they’re the minority. Or at least, they sure feel like it.

I keep coming across pages that have more than one animated item in the viewport at the same time, which makes it absolutely impossible to concentrate on reading the text that’s supposed to be the page’s reason for existing.

That’s one of the biggest, for me and for anyone with even a hint of ADD, ADHD, or just plain hard-wired human impulse to look at something when it starts moving. When you put all those flashing, moving, scrolling doohickeys on your page, I physically, psychologically cannot read your content. Read More »

On jQuery’s .data() Call Syntax

I recently had a developer on my team who had some trouble with jQuery’s $(...).data() syntax. In case anyone else has trouble, maybe I can clarify things a bit. I’m anonymizing all the code involved, of course.

We wanted to make certain items have certain behaviors under certain circumstances. And so we set up a “whatToDo” data attribute, which could be any of certain values. Items with the attribute would have a class “specialItem”, to make them easy to find.

So the HTML included things like these:

<div class="specialItem" data-what-to-do="activate">Text Here</div>

<div class="specialItem" data-what-to-do="react">Text Here</div>

<div class="specialItem" data-what-to-do="solidify">Text Here</div>

So far, we only care about when it’s set to activate; the other values are for future extensibility. So my co-worker checked in code that read:

$(".specialItem").each(function() {
    if ($(this).data("data-what-to-do") == "activate") {
        // set it up as desired

In my co-worker’s defense, the setup code that I’ve elided with a comment actually involved a call to a poorly-understood third-party API that we had every reason to expect might prove somewhat difficult. So when he tested and found things not working, he immediately assumed there was something wrong in his third-party call and came to me for help with that.

But I looked at his data() call and pointed out that that was where his problem really was. Because data("data-what-to-do") will always return undefined. And that’s because the leading data- is not part of the name.

Calling data("data-what-to-do") will try to retrieve a value from the HTML <div class="specialItem" data-data-what-to-do="activate"> — note that double “data” there.

In fact, because the attribute names get their dashes converted to CamelCase, as described in various spec documents, you actually want to use data("whatToDo") to read the data-what-to-do attribute. The code should be:

if ($(this).data("whatToDo") == "activate")

It turns out that current versions of jQuery will actually throw you a bone if you don’t realize the CamelCasing thing. The following will work, even though it shouldn’t:

if ($(this).data("what-to-do") == "activate")

But putting that leading data- on it will make it fail.


Here’s the “in a nutshell” version of all this. If you’re trying to read the attribute data-what-to-do, then…

$(node).data("whatToDo") // what you really should write

$(node).data("what-to-do") // will work, even if it shouldn’t

$(node).data("data-what-to-do") // WILL FAIL

I hope someone finds this helpful.

“In a Wheelchair” Doesn’t Mean “Paraplegic”

A lot of people get surprised any time someone in a wheelchair manages to stand up or walk a few steps. Somewhere along the way, the idea got popularized: if someone’s in a wheelchair, their legs are flat-out paralyzed. They’re physically incapable of standing, and they probably can’t even sense anything below the waist.

Well, that’s just wrong. (Source: my wife has used a wheelchair for over 10 years.)

There are a lot of conditions that can put someone in a wheelchair. The vast majority of chair-users can stand up and walk — or hobble — at least a few feet. Maybe up to 50 or so, before they fall over, get tired, one of their joints gives out, or whatever.

So the people going “it’s a miracle!” about the guy in the wheelchair standing up to applaud Roger Federer’s amazing save in the Australian Open are missing the mark. Completely.

This ties in with the usual (horrible) phrasing of “wheelchair-bound”. People who use wheelchairs don’t consider themselves “bound” to them. Quite the opposite; a wheelchair gives them freedom. Freedom to leave their house, to roam around the world under their own power, even if their legs wouldn’t normally be able to carry them that far.

An analogy: most people in the US use cars to go places. (Heck, people in Los Angeles are famous for using cars even to go very short distances.) But we can actually walk. The fact that the average American uses a car to go any further than a quarter-mile doesn’t mean they’re “car-bound” or “confined to a car”.

In fact, most people feel that a car gives them much more freedom. Wheelchair users feel the same way about their own assistive technology.

For wheelchair users, the distance they can walk unaided is just a lot shorter. A few feet or tens of feet, instead of the one or two thousand that seem to be the limit of how far a modern American adult will walk without demanding a car. (That’s a ridiculously short distance for a healthy adult, by the way, and goes a long way toward explaining America’s obesity epidemic. But that’s a rant for another time.)

Yes, that puts it very well.

Asking for Self-Ratings Guarantees You False Information

How many times has an interviewer — either for an actual employer or for a recruiting agency — asked you: “On a scale of 1 to 10, how would you rate yourself at $insert_skill_here?”

If you ask candidates to rate their own skill levels — on any scale; it doesn’t matter if it’s 1-5, 1-10, or “beginner, intermediate, advanced” — you’re just asking to have the Dunning-Kruger Effect mess up your results.

Let’s say you have two candidates for your Java position: One is basically just one step below James Gosling — let’s call her Jane[1]. The other is the self-described “brillant[sic]” Ms. Paula Bean.

You ask Jane Gosling, “How would you rate yourself in Java, on a scale of 1 to 10?” And Jane thinks, “Well, I’ve got years of experience, I know my way around J2EE like the back of my hand. I still remember Hibernate pretty well, and my grasp of Design Patterns is mostly pretty solid. But lots of people have that; it’s totally standard! And my Struts and EJB are both rusty. I could stand to refresh on a few patterns… hell, I haven’t done a Memento in at least a year; I might even have to look it up to get it right. And I know there’s some new stuff coming out with closures, whatever those are. Well, I guess I’m better than average, so a little above a five.”

“Six,” says Jane. “Ummm… maybe a seven?”

Then you get Paula in, and of course, Paula has no idea how much stuff there is out there that she hasn’t even heard of. She knows she’s brilliant! “Ten!” she answers, without batting an eye.

If you believe either of them, you’re going to be wrong. We defined Jane such that if she isn’t a 10, nobody is. She’s just hyper-aware of her own imperfections — like most of the experts in any field — and she doesn’t think she’s all that special. And we all know Paula is a 1.

If you’re an interviewer, why even ask this question at all? It is nearly guaranteed to never get you accurate results.

And if you’re being interviewed, and someone asks you a question like this? Tell them how awful it is, and why. And if they insist on you giving a self-rating of your own skills? Then my advice is to break off negotiations, and tell them you’ll be looking elsewhere for employment.

Consider: Not only are they unwilling to learn when you point out that they’re doing something fundamentally broken, but also, they used this process to hire everyone else you’ll be working with, too. How many Paula Beans are in their office?

You can find someplace better.

[1] There’s a shortage of famous Java programmers. If this were a Ruby example, I could just use Dave Thomas, Yehuda Katz, or DHH; for Perl, there are Randal Schwartz, Damian Conway, Mark Jason Dominus, and Tom Christiansen. (Curiously, Python seems kind of anti-rock star; I can’t find any big names there easily.)

But the “brillant” Paula Bean makes such a great counter-example, I wanted to make this a Java story. Nothing against Java itself; this is all about Paula as a paragon of the Dunning-Kruger Effect.

Obviously, this is excluding the language authors themselves: They have to spend a lot of time working in C to write their languages’ compilers or interpreters, and so they can’t be spending as much time actually writing in their own languages. ↑↑

Let’s Unpack “Professional Victims”

The only thing more annoying than a phrase that’s overused to the point of cliché is when that overused phrase isn’t even remotely accurate — and in fact, borders on completely nonsensical. The one I’ve heard far too many times in the past year is the all-purpose favorite of Red Pillers, MRAs, GamerGaters, and other defenders of the status quo when they want to dismiss the arguments of anyone speaking up against injustice: accuse her[1] of being a “professional victim”.

And I am sick to death of hearing that stupid, overused, and meaningless phrase. Put bluntly: the concept of “professional victims” is bullshit. For one, the accusation is an obvious ad hominem attack that’s supposed to shut down the listener’s critical faculties by casting the target as an unreasonable, weak, whiny person who has no credibility and should be dismissed.[2]

But aside from that, it’s a damned stupid epithet that just doesn’t make any sense. When you hear it, you should be insulted that someone thinks you’ll fall for it. Let’s unpack this odious concept:

Professional: The person does this for a living. It’s their profession. It pays their bills.

Right there, we’ve eliminated a huge number of the people that the Gamergater and Red Pill crowd deride as “SJW professional victims”. Ellen Pao is a great example: she spent hundreds of thousands of dollars (or more) on a lawsuit that she lost. Where’s the profit in that for her?

Or take women like Brianna Wu and Anita Sarkeesian. The Gaters claim those two are “making money from being victimized”, but what’s that supposed to mean? Someone pays them money every time they get attacked or harassed? Sorry, but there isn’t some social-justice slot machine that coughs up a payout, ka-ching!, from nowhere every time an abusive tweet gets posted.

Instead, actual human beings pay Sarkeesian and Wu to do things that they find useful. For example, Wu’s major, full-time job is as head of development at Giant Spacekat games. Think that might pay her a full-time wage? Randi Lee Harper creates software, Anita Sarkeesian produces videos, and Zoe Quinn makes… well, all kinds of stuff, really.

And many of them also get paid for speaking about things. But even if they’re speaking about harassment (rather than, say video games or software development or, you know, their actual areas of expertise), they’re still getting paid for speaking and giving lectures, not for “being victimized”.

For a perfect example of how they’re not getting paid for being victims, consider the incident where Sarkeesian’s talk at Utah State University was canceled in the wake of terrorist threats. Given the circumstances, I expect she did not collect any speaker’s fee, so all the time and effort she spent coordinating with the university and preparing her speech was completely wasted. If she hadn’t been victimized by those threats, then she could have actually engaged in her profession!

Just because someone is still making some money doing something — just because you haven’t completely demolished their livelihood — doesn’t mean they’re making money from their victimhood.

And, about that victimhood, that’s the second part of the accusation:

Victim: Being a victim is not something someone can actively do. “To victim” isn’t a usable intransitive verb, unlike “to eat”, “to sleep”, or “to code”. If someone asks me, “Hey, Kagan, what are you gonna do today?” I can say, “Well, after I eat, I’m gonna code for about six hours, then I’ll sleep.” But I can’t say, “And then tomorrow, when I’m feeling really revved up, I’m gonna victim like you wouldn’t believe,” because that… doesn’t make any sense.

The word you can use as a verb is “to victimize“, but there’s a critical nuance there: that means “to make someone else a victim” — in other words, to attack them.

You can’t make yourself a victim. And you sure as hell can’t make yourself a victim at people, the way the reactionary, conservative elements in tech and gaming keep claiming. If you think someone’s doing that, your move is really clear:

Just stop attacking them. Then they won’t be victims anymore.

And then all the power you claim they have from “being a victim” is gone.

If they really gain their power by “being victims”, then you can take it away from them by the very simple expedient of not attacking them. It’s really easy.

Why don’t you try it?

[1] I say “her” because somehow, the reactionaries never seem to throw this insult at men. I’m not sure if it’s some sexism in their worldview, that they can’t see men in such a victim role? ↑↑

[2] RationalWiki points out that the phrase is a snarl word. (They also suggest my own solution for dealing with such people in a later section.) ↑↑

Why Do We Care About The Force Awakens?

It’s less than two weeks until The Force Awakens hits the theaters. The promotional team has been doing a bang-up job of building advance buzz, with everything from product tie-ins like two flavors of ice cream to getting Pentatonix to do a medley of Star Wars music alongside a 75-piece orchestra at the American Music Awards. To say nothing of coverage ranging from Wired to The Mary Sue. Frankly, there is a huge amount of anticipation and fan squee building up.

I just wonder why fandom is being so gullible about this.

(If you’re enjoying your anticipatory squee and don’t want your buzz harshed, now would be a good time to quit reading this post.)

Lucasfilm’s Track Record is Poor

We’ve been here before, remember? We were all hyped up for The Phantom Menace, and then we got… well, The Phantom Menace. In all its awfulness.

The rest of the prequel trilogy did nothing to redeem Lucas’ reputation, or his studio’s. Sure, Episodes II and III weren’t quite as bad as the first one (until that awful, cheese-tastic “Noooooo!” from Darth Vader at the end of Revenge of the Sith). But “not as bad as The Phantom Menace” is a pretty low bar to meet.

Since then, Lucasfilm’s major achievement has been Indiana Jones and the Kingdom of the Crystal Skull, which is not a very strong argument in its favor.

And really, the suckitude didn’t start with Episode I. You could see the groundwork for Jar-Jar Binks’ annoying cutesiness already being laid in the Ewoks. And you can see more of the same cutesiness in BB-8, the spherical droid who seems designed to appeal to kids and to be made into all kinds of toys. Just look again at those head movements.

J.J. Abrams Does Not Make it All Better

“But it’s not George Lucas this time!” say so many fans. “It’ll be okay, because it’s J.J. Abrams!” Read More »