Archive for the ‘misc’ Category

justifying hatred of a word

Yglesias responds to Michael Wolff’s ruminations on Chuck Schumer calling a flight attendant a bitch:

…by eliding the term “bitch” he manages to completely avoid the subject of sexism, which I think is at the core of the complaint here. But the term is a pure contentless gender-slur. It’s like you’re saying “I disagree with what you’re doing and also you’re a woman which is a bad thing to be!!!!!!!!”

Even if a woman is doing something legitimately bad, it’s no more appropriate to insult her with that term than it is to break out a racial slur just because a guy you have a legitimate beef with happens to be black. That’s the issue here.

Disclaimer: “bitch” is not a term I like nor one that I use. When I hear other people use it, I think less of them.

But I’m not sure that what Yglesias says above is correct. I wrote something about this years ago, but it came out hopelessly muddled, so let’s try again.

The difficulty here is in figuring out what we find objectionable about the word. It’s easy to become confused by the fact that pejorative language is reserved for unpleasant situations, and give in to the temptation to think that wishing away the word will also make those situations disappear. Yglesias understands that this is stupid way of thinking: people will continue to get upset with one another. And although it’s obvious that we should all strive to be pleasant human beings, there’s nothing necessarily unjust about expressing your strong dislike for someone. Rather, it’s the act of denigration-via-classification embodied by these terms that makes them so odious. This is also correct, I think.

But the comparison to racist language is problematic. It seems to me that as a society we’ve pretty much decided that acknowledging racial differences is inappropriate except in very specific circumstances. It sounds a little weird when you put it that way, but I think it’s essentially what we’ve done and that it’s basically a good idea — a custom that pushes human behavior in positive directions.

It’s not clear to me that a similar societal decision has been made with respect to gender differences. I say this primarily because most people continue to think it’s fine to use gendered pronouns. And if that’s all right, I don’t necessarily see an inherent problem with gendered pejoratives (though certainly there can be circumstances surrounding their use that are profoundly problematic — the practical case against the word “bitch” is quite strong, I think). Heroine/hero, she/he, bitch/dick. There’s a low-resolution take on the continuum. The fact that only the last pair would strike most people as objectionable makes me think that we’re facing the situation I talked about above: wishing that people wouldn’t get angry with one another and use harsh language. That’s a fine thing to wish for, but I don’t think it’s got much to do with social justice.

The other possibility, of course, is that we should be objecting to gendered pronouns with positive or neutral affect (e.g. heroine, she) as well, just the same as we don’t use different words for valorous people of different races. I think this is probably correct, but I also think it’s probably not a position that most of the people engaging in this debate would find appealing enough on an intuitive level to embrace. Come to think of it, resistance to the social project of eliminating gendered pronouns could easily be the thing that eventually earns the “cultural conservative” trophy for my generation (take heart, though, future young people: we’ll be dead before you know it).

studies in musical jerkishness

I still have a whopping seventeen minutes to go until I need to head to the morning’s first meeting (I am told there will be pastry), but Twitter means that I already have compelling internet content to share. To wit!

  • Fugazi were dicks. I realize this was part of the appeal, even as I simultaneously realize that (having not been a part of the Fugazi fanbase at the time of their relevance) I shouldn’t claim to fully understand their appeal. Still, forget the humorlessness, the stories about straight-edge-inspired violence, the earnest para-anarchist nonsense. Just listen to the self-satisfied incredulity in that stage banter (banter admittedly being entirely the wrong word in this case). It’s hard to listen to it without cringing for ever having been young.
  • John Davis, on the other hand, proves himself to be kind of a sweetheart, even as he correctly identifies the flaws in the musical abominations that he’s decided to stick up for, seemingly because he simply rejects the idea of negativity entirely. I mean, The Pina Colada Song? That’s bold. But it’s also sort of strangely big-hearted, and makes me tempted to compare Davis to my friend Chris, which Chris doesn’t like because he worries that people with beards all look the same to the rest of us, and that’s prejudice.

    There is one problem with Davis’ interview, though, and it leaves me in the awkward position of needing to stick up for Dan Snyder. Davis makes the same claim as Wikipedia:

    Snyder eliminated the popular Mr. Six character from Six Flags commercials [citation needed]

    Citation desperately needed! Snyder bought the park in 2005, and I’m certain I’ve seen Mr. Six dancing away his bankruptcy worries since then. More importantly, it should go without saying that the character was never popular, and rarely even tolerable.

Gunsmoke!

Probably the greatest part of the intersection between the late Sunday Chinatown bus and iPhone ownership is the ability to listen to WAMU’s weekly installment of The Big Broadcast without any distractions or even alternatives (thanks, non-functioning reading lights!).  Tonight’s episode of Gunsmoke was particularly strong.  Not because of any particularly great plot twists or character work.  But man, that is how you write a death scene.  Also: Matt Dillon makes a compelling case for preventive detention!

I’m pretty sure that this is the same recording of the episode, though admittedly the radio station seems to have some tape hiss-eliminating filters that make the all-important moments of silence actually silent.  Still, worth a listen — just scour iTunes for the “Dolby B” switch; I’m sure it’s in there somewhere.

You can find a 40M version here, and a hissier (but smaller) version here.

the Jersiest place on Earth

weregladyourhereI was surprisingly surprised to lose money in Atlantic City. Yes, this is self-evidently dumb. But I thought I had prepared myself. I’m no card counter, but I had logged a decent number of hours practicing on my phone, learning the charts while trying to absorb the statistical futility of the undertaking. I was still a little fuzzy at the edges — what to do with a 12, how many fractions of a percentage point favored the house — but these were marginal bits of knowledge. I was confident that I was ready for the tables.

But wow! My last encounter with a blackjack dealer had stunned me with its speed; I was sure that the same thing couldn’t happen again, at least not with the same viciousness. But it did! Three more times! The algorithm I’d enjoyed mastering suddenly seemed dully mechanical, and I started glowering around the room for the waitress who was supposed to be bringing my drink — that consolation having more to do with it being free than the alcohol it contained. I was never up, and barely paused on my way down.

This is all hopelessly naive of me, I know. I’d fooled myself into thinking that a flipped coin ought to produce even results over, if not a sample of 2, then at least a period smaller than my bankroll divided by the minimum bet at the table. I am assured by statisticians, some of whom I am dating, that this is not actually the case.

On Saturday afternoon, in a wild-west-themed casino, I put an exasperated final $80 down on a table manned by an older Asian man who would sing out “Yoo hoo!” every time someone drew 21. In this supportive atmosphere I managed to win back enough money to upgrade my net position from “horrifying” to merely “worst-case” — just enough to redeem my faith in gambling, of course. But it was not a profitable weekend.

It was still a good weekend, though. Not for the food and wine part of the ludicrous food and wine junket, mind you — you’ll hear nary an unkind word from my bought-and-paid-for ass over at the nominal excuse for this trip, but suffice it to say that I would not recommend the festival to a friend, unless for some reason that friend had expressed an interest in paying $30 to stand in line.

It was fun to see some food celebrities, though (I was *this close* to Emeril! I couldn’t see him, but the aroma of sweated-out cajun spices was unmistakable). And Atlantic City seems more plausibly non-seedy every time I go. Nothing changes between visits, mind you, but the elderly slot jockeys recede further from my mental foreground, making the whole thing merely tasteless rather than crushingly depressing.

Surprisingly, the most fun part of the weekend had nothing to do with losing hundreds of dollars. On Saturday Emily and I met up with our friends Tara and John Carlos, who were in town for Tara’s sister’s big family birthday blowout. They’d rented an Indian-themed room inside the blues-themed concert venue in the New Orleans-themed casino, which was both cooler and more aesthetically cohesive than you might expect.

The party was a bit weird. Tara is not really comfortable in her family’s scene, which I can understand but which is too bad because the scene is kind of awesome. It’s admittedly a little strange to see a guy who could easily — easily! — pass as a wiseguy extra on the Sopranos chatting with his daughter’s overtanned and impossibly-provocatively-dressed friends. But it’s all in good fun, and seemingly not an inappropriate amount of fun, except maybe for the really drunk guy who’d apparently just had a stroke a couple of weeks before. It’s Jersey high society, basically, and I say that without derision. Like Tara, I could never feel wholly comfortable in that social milieu, but it was sort of heartwarming to observe it and see how happy its participants seemed to be.

Still, we decided we weren’t on board for the “c’mooon, you gotta daaaaance” part of the evening, though, and decamped to the first non-casino destination of the weekend. We’d spent some time googling for “real atlantic city”, “locals bar atlantic city” and the like, and had come up with three candidates. I can’t recall the name of the first one, but its nickname was “the Blood Pit” and it seemed to no longer exist. The second was the Pic-a-lilli Pub, about which Time Out New York gushed:

Affectionately referred to as “the Pick” by its mirthless denizens, this bar has the feel of an Otto Dix painting. The drinks are cheap ($2.50 bottles), the patrons are local, and the chances are fair to middling that you will hear an ’80s rock pastiche from the jukebox at some point during the evening.

This sounded promising, but we were a little hungry and so instead headed to Tony’s Baltimore Grill, a pizza joint with a 24-hour bar in the front. It was a great decision.

It was a little off-putting to come through the doors, because the whole bar turned to briefly regard us. I hurried to a booth, trying to keep a low profile, but we soon realized this wasn’t really a problem: it’s just that nearly every person to enter the bar was met with cheering and applause in the sort of way that I used to assume only happened in bars filmed before a live studio audience.

The bar turned out to be filled with raucous twenty- and thirty-somethings, only a few of whom seemed to be off duty from the casinos. There was lots of yelling; sometimes exclamations spread through the bar just for the sheer hell of it. Dudes would get into almost-fights, but all it took was a few moments of separation by a grizzled bartender to remind them that actually they loved each other, man. The bar staff started throwing coasters, and then some other people started throwing coasters, and the perfect, perfect, perfect one pictured above hit me in the face. The thrower was mortified — I said “really that’s alright” but he insisted I pound my beer so that he could buy me another one, and who was I to defy local custom? The matronly waitresses looked on from their perch at the register, wary but content that things were going more or less according to plan.

Lager was $2.50 a pint, the pizza wasn’t great but had its cheese broiled to crisp brown deliciousness, and everything was just right. Well, alright, the jukebox could use some work. But really, next time you’re in Atlantic City you should consider losing a ton of money and then buying yourself some very cheap beer. Tony’s Baltimore Grill. Don’t tell them I sent you.

how else can you explain carbon fiber?

During my Artomatic shift on Saturday I finished Charles Stross’s The Atrocity Archives, the first in a series of scifi novels that I heard of via Paul Krugman’s blog, of all places. The book’s conceit is appealing: certain mathematical constructions possess mystical powers — often dangerous ones. Our humble protagonist is part of a highly specialized, highly secret, and highly bureaucratic arm of the British government devoted to suppressing such dangerous technology. It’s Lovecraft + spy thriller + ironic office comedy — brazenly so, to the point where the author breaks down his influences in an irritating postscript essay. Still, it was an enjoyable read.

As an unexpected bonus (though I probably should have seen it coming), the book’s villains include a cadre of Nazi occultists, the sorts of guys who’d love to see a restoration of the Reich, but who, if that doesn’t work out, would be perfectly content to settle for the apocalypse. If you’ve heard me prattle on about Hellboy you know that crazed Nazi sorcerors are among my all-time favorite pulp bad guys (seriously: how much more villainy can you ask of a villain?). So this was a pleasant way for the book to turn out.

It got me thinking, though, that there must be some source text that discusses the Nazis’ bizarre forays into the occult which has influenced people like Charles Stross, Mike Mignola, and anyone else who’s penned a story about Hyperborea, the Spear of Destiny or other WWII-era mystical weirdness. So naturally I started plopping search terms into Amazon, hoping to find a definitive account of the aforementioned malevolent hoodoo.

I’m still looking, but have at least stumbled on an interesting tangent: judging by the name, it’s entirely possible that the Nazis’ secret occult society escaped the war, laid low, and is now manufacturing car luggage. More as this story develops.

bike lawyers

do you think he wears a cape?It’s great that this guy is specializing in cases from cyclists who’ve been in accidents. But it isn’t really necessary. Believe me: if you get a police report filed about your accident (and of course you should — nothing makes an insurance agent happier), personal injury scumbags will wriggle out of the woodwork and plop themselves onto your voicemail almost immediately. When it happened to me I found it pretty annoying, but I suppose it’s nice to know that cyclists’ rights will be protected.

But a legal jihad against drivers won’t change anything. At this point I’m convinced that the only way to make cities bike-friendly is to put fellow travelers (so to speak) into positions of power, like they’ve done in NYC.

two cheers for egalitarianism

ONE: The beginning of the end of the Registered Traveler program. I’ve always been uncomfortable with the idea behind this program — allowing the rich a means of escape from a vexing and arguably arbitrary set of collectively-self-imposed strictures has something of a history, and it’s not a noble one. Props to TSA, though, if the WSJ writeup really can be believed: the article cites the agency’s unwillingness to relax security standards as one of the things that made CLEAR/Registered Traveler not worth the price of admission for many would-be line skippers.

TWO: Via Caralyn, Christopher Weingarten on the present and future fortunes of the music critic. Points for his entirely appropriate level of occupational hopelessness; deductions for failing to make much of a case for the professional music critic’s necessity. With modern publishing and search technologies, the too-many-voices argument becomes a difficult one to make, and, I think, a basically incoherent one when talking about something as inessential and universally accessible as pop music.

This isn’t something I’m happy about. I have friends who are great music critics, and I’d love for them to be able to support themselves by writing record reviews. But this is sort of like saying that I’d love to see the market compensate my friends for playing Halo with me. It’s clear that the costs associated with producing music criticism have fallen to the point where it’s essentially a leisure activity. In a perfect world, this would be great: the resources expended to produce music criticism could be reallocated to more productive ends, and we could still be assured a steady stream of deep thinking about music (now with less market distortion!). In practice, those resources are likely to wind up allocated less efficiently — say, put toward debt service on a loan that financed the unnecessary sale of an alt-weekly to a clueless owner who will preside over its demise. (Woo markets!)

But we’ll still have plenty of music criticism, and plenty of other good writing. I won’t say something pretentious about writers writing because of some irresistible artistic compulsion. But writers will keep writing because they think writing is fun, so they’ll do it when they can. And that’ll be enough for the rest of us, because these days much of the writing they do will inevitably be free, our supply unrestricted. Just look at The Awl, a site run by people who perfected the blogosphere, then watched it blossom, pullulate, and choke itself to death. Now they’re doing it all over again, because hell, it was pretty fun for a while there, wasn’t it?

important questions

Emily and I both read and enjoyed World War Z at the beach. Emily enjoyed it enough to ask that The Zombie Survival Guide be included among her birthday loot, and it was probably the spirit of that book that led us to discuss the technical specifics of vampire abatement strategies.

Unfortunately, no consensus could be reached, so it falls to you, internet, to weigh in on the feasibility of killing a vampire by driving one of the following objects through its heart:

  1. Painted wood (latex/oil/lacquer (e.g. a pool cue))
  2. Particle board
  3. Frozen sawdust and water (see also)
  4. A cone of tightly-wrapped paper

Posit that sufficient force is available to overcome problems related to each material’s sharpness — we are killing these vampires in a laboratory setting, and for the sake of this argument can safely dismiss practical concerns.

Emily felt strongly that the wood’s semantic status was the primary factor at work, leaving her convinced that option one was the only viable method of disposing of the undead. I disagree completely: I think there must be a chemical mechanism at work, which leads me to expect that methods two and three would unquestionably work, and that method four stands a good chance as well. But I have grave concerns about the use of laminated wood, and frankly am surprised that more vampire fiction doesn’t make use of actually-that-stake-was-painted-now-I’m-going-to-bite-you-(SURPRISE!) trope that it makes possible.

What say you, internet? Remember to show your work.

Houstonians are weird

I’m back from the beach, and already rapidly spending down the sleep surplus I accrued there. It’s a little bit strange being back. I find it comforting to have a plan on the horizon — something out of the usual routine to look forward to. There are plenty of events looming, but aside from Emily’s birthday none of them yet have definite dates attached. I crave structure! Otherwise it’s too easy for summer to start looking like an air-conditioned march through sunshine and into autumn.

It is nice being back, though, and I’m itching to start work on a few non-Artomatic projects. First, though, I’ve got to make sure things are working properly at AoM — thanks to Victor my piece was saved from malfunction on opening night, but I haven’t yet had a post-opening chance to get down there and confirm that everything’s working the way it ought to be (I tried to last night, but had forgotten that Artomatic is closed on Mondays and Tuesdays).

But here, the nominal reason for the post: my sister Beth (whose birthday is today!) sent along this link, and it’s worth a look. It’s one of those full-browser 360° panoramic photo dealies, in this case showing off Houstonian attractions that might be of interest to Rice students. Of particular interest are the scenes linked to by the thumbnail of the clown face, and the one two spaces to its right. The first shows off the Orange Show, the bizarre visionary art compound created by an eccentric former orange arbitrageur and his commitment to largely incorrect nutrition education. The second is the Beer Can House, a somewhat less deranged but no less impressive work in which a man fashioned thousands (millions?) of beer cans into artistic armor for his home. Both are managed by the organization that Beth works for and are worth a visit if you find yourself in Houston and temporarily unable to spend the time eating more tacos.

Artomatic Update: Python on the Fonera

UPDATE: Scratch that. I’ve hit a roadblock related to serial communication in DD-WRT. If you’re only interested in using Python for socket communication and simple stuff, the below text is still useful. But I’ve concluded that if you want serial, DD-WRT is not the way to go. I’ve moved on to OpenWRT — you can see the first step in this process here.


You might remember that I’ve done a bunch of work on integrating the Fonera and the Arduino. It’s a handy setup for microcontroller hobbyists: a reflashed router provides a wireless network interface that’s much cheaper than the purpose-built alternatives available for the Arduino, and one which, by virtue of its Linux firmware, is also considerably more powerful. The downsides are its size and power requirements, but for most applications those aren’t big concerns.

Last time around I just ran a cron job on the router that periodically fetched data from a web server and shoved it to the Arduino using the busybox-based command line tools that come with the DD-WRT firmware (wget, bash, stty). For my next project, those tools aren’t going to cut it. I need two way communication between the Arduino and the Fonera, and I need less latency and more flexibility than those command line tools can offer. I need a proper scripting language.

Unfortunately, things are a bit cramped on the Fonera. There’s an apt-get-like system for installing add-on packages to OpenWRT-based firmwares — it’s called ipkg — but it’s broken on the Fonera, and there’s very little space for the installation of such packages.

You can get around this, but it’s a little tricky. First: realize that ipkg is only sort of broken (on the newer firmwares, at least). You can’t update the list of packages. You can locate a package, copy it over and do an “ipkg install filename“. You’ve just gotta find the right one. (Also: note that I’ve read that using ipkg to remove items on the Fonera can badly screw up your filesystem. Better to remove them manually and/or reformat your JFFS partition.)

Packages with “mini” in their name are probably your best bet. Now you just need to find a compatible one. From the DD-WRT List of Supported Devices we can see that the Fonera uses an Atheros chipset. Start running Google searches like this one and you should be able to find what you need. Here, I’ll make it easy for you: this is the ipkg I used to install python on the Fonera. Copy it over to the Fonera with scp or something similar, then run “ipkg install python-mini_2.5.1-2_mips.ipk”. Success!

Well, until you try to do something with it. I needed three things out of this python installation: simple client/server network functionality (the socket module); the ability to fire off shell processes (the os module); and the ability to communicate with the Arduino over a serial link (the pySerial project).

The first is pretty simple. For reasons that I haven’t bothered to figure out, the socket module is named _socket in the minipython distribution. Adjust your scripts to do an “import _socket as socket” instead of “import socket” and you should be fine. I was able to run the first two examples (client and server) on this page, anyway (debugging the other end of the connection with netcat on my laptop). Good enough for me!

Firing other programs runs into problems. Try to import the os module and you’ll get some complaints about a missing UserDict class. I believe that this class wrapper has been deprecated; I cobbled this UserDict.py together from some Google searches, and after placing it in the lib-dynload path (on my router it’s /jffs/usr/lib/python2.5/lib-dynload/), I can import the os module successfully. I have not tested it thoroughly. os.system(‘touch WHATEVER’) works fine, but beyond that I can’t make any guarantees.

Finally, there’s the question of serial communication. This is actually harder than is may sound: there’s a hardware issue we need to work out before we worry about pySerial at all.

The comments on my Dorkbot post revealed a problem I didn’t know I had: the serial voltage of the Arduino is different from the serial voltage of the Fonera. The former uses 5v, the latter uses 3.3v. This is a pretty common situation, actually, and it’s generally solved through the use of a chip like the MAX232. Fortunately, we can get away with even less. The Arduino’s designers anticipated this problem and made the device able to recognize 3.3v serial input, so signals from the Fonera to the Arduino should work fine. This is why my Dorkbot project worked even though I hadn’t accounted for the voltage mismatch.

But the voltage differential of signals sent from the Arduino to the Fonera needs to be explicitly dealt with — we can’t rely on the Fonera to handle the higher voltage as gracefully as the Arduino does. Fortunately, shedding DC voltage is a lot easier than boosting it, so this is also a pretty easy problem to solve. We just need to make a voltage divider circuit that goes from 5v to 3.3v. It’s basically two resistors, simply arranged. Easy! Alternately, you might be able to step the voltage down using the magic voltage-dropping properties of diodes, but I haven’t bothered to try.

Alright! So our signals are aligned. Back to the software problems. pySerial requires the os module, but we’ve already solved that module’s UserDict problem; on to the next headache. This one is called termios, and it’s a compiled library, not just a python class. It’s commonly included with python, but apparently not with the stripped-down version that we’re using. That’s a drag. We need a version of this library that has been compiled for the Fonera’s MIPS processor. Compiling such a thing on a non-MIPS processor (like your computer) is possible, but cross-compilation is fairly involved to set up. I wanted to just find a compiled version and drop it in.

Once again, googling around downloads.openwrt.org turned out to be a good idea. But don’t go looking for termios — you won’t find it. Instead, I looked for a beefier python ipkg — one designed for more powerful machines, and which contains all of the normal libraries that ship with python. I found it, downloaded it and then uncompressed it (ipkgs are just tarball archives with a specific layout). That yielded two more tarballs; I opened the one named “data.tar.gz”. Within the directories spawned by that I found termios.so. I took that file, dropped it into the aforementioned /jffs/usr/lib/python2.5/lib-dynload/ directory, and was immediately able to import pyserial. Well, okay, not immediately — the first version of the python ipkg that I grabbed was built for mipsel processors, not mips, and gave me a helpful error message when I tried to import it. Once I had the right binary everything went surprisingly smoothly. I haven’t currently got the necessary hardware set up to properly test pySerial, but will report back when I do.

For those of you trying to follow my steps exactly, here’s the termios.so that I’m using. This method should work more generally for selectively loading python libraries that you need onto your Fonera.

Incidentally, all of this is a massive overengineering of what’s necessary to finish my Artomatic project: those requirements could probably be satisfied with a wireless doorbell kit from Logan Hardware and a couple of 555 ICs. But I want this system to ultimately work over the internet, so for me it’s worthwhile to create an IP-capable device.