antiheroes

July 31st, 2010 § 0 comments § permalink

One of many, many things to love about British comics is their uneasy relationship with the idea of the superhero. Alan Moore:

. I’ve come to the conclusion that what superheroes might be — in their current incarnation, at least — is a symbol of American reluctance to involve themselves in any kind of conflict without massive tactical superiority. I think this is the same whether you have the advantage of carpet bombing from altitude or if you come from the planet Krypton as a baby and have increased powers in Earth’s lower gravity. That’s not what superheroes meant to me when I was a kid. To me, they represented a wellspring of the imagination. Superman had a dog in a cape! He had a city in a bottle! It was wonderful stuff for a seven-year-old boy to think about. But I suspect that a lot of superheroes now are basically about the unfair fight. You know: people wouldn’t bully me if I could turn into the Hulk.. I’ve come to the conclusion that what superheroes might be — in their current incarnation, at least — is a symbol of American reluctance to involve themselves in any kind of conflict without massive tactical superiority. I think this is the same whether you have the advantage of carpet bombing from altitude or if you come from the planet Krypton as a baby and have increased powers in Earth’s lower gravity. That’s not what superheroes meant to me when I was a kid. To me, they represented a wellspring of the imagination. Superman had a dog in a cape! He had a city in a bottle! It was wonderful stuff for a seven-year-old boy to think about. But I suspect that a lot of superheroes now are basically about the unfair fight. You know: people wouldn’t bully me if I could turn into the Hulk.

This isn’t new (is anything?). Distrust of superheroes, for example, formed a minor part of the postwar public hysteria over “horror comics“. Here’s a particularly OTT rant from a young Labour MP, in full-throated think of the children populism:

it is the glorification of violence, the educating of children in the detail of every conceivable crime, the playing on sadism, the morbid stimulation of sex, the cultivation of race hatred, the cultivation of contempt for work, the family and authority, and, probably most unhealthy, the cultivation of the idea of the superman and a sort of incipient Fascism.

The fact that Superman had been denounced as Jewish by Goebbels didn’t seem to stop this, nor did the broader Jewish context to superhero comics.
Those denunciations aren’t in themselves all that interesting; more compelling is the history of British comics toying with these ideas, deconstructing and critiquing the superhero rather than ignoring him. This has been one of the main occupations of British comics from the 80s onwards. Here’s Grant Morrison talking it up as national source of pride:

Sick, ironic humour is very cool here. People are poor, drunk and vibrant with twisted creative energy. Taboo-smashing is an artistic pasttime that’s become almost passe….It’s no surprise we’ve produced so many spiky, brilliant, politically-motivated creators like Pat Mills, Garth Ennis, Jamie Delano or Warren Ellis. Alan Moore, Mark Millar and I are almost unique among our peers in our genuine fondness for American superhero characters. Otherwise, British writers pretty much HATE superheroes to a man, preferring ultraviolent soldiers, hi-tech vigilantes or kid gangs. In the saccharine world of 80s mainstream US titles it’s probably easy to see in hindsight why the British Invasion of the 80s and 90s was so invigorating.

Horror Comics

July 31st, 2010 § 0 comments § permalink

Looking through the treatment of comics in the UK parliament, I find (unsurprisingly) that MPs care little and know less. But go back to 1955, and you find this brilliant rant from a young Labour MP, making a (successful) attempt to ban “horror comics”:

it is the glorification of violence, the educating of children in the detail of every conceivable crime, the playing on sadism, the morbid stimulation of sex, the cultivation of race hatred, the cultivation of contempt for work, the family and authority, and, probably most unhealthy, the cultivation of the idea of the superman and a sort of incipient Fascism.

Turns out, this was just a pale reflection of all-out hysteria in the US aroudn the same time, complete with burnings of comics.

"Superheroes now are basically about the unfair fight"

July 31st, 2010 § 0 comments § permalink

Alan Moore:

I’m interested in the superhero in real life, but not the comic book version. I’ve had some distancing thoughts about them recently. I’ve come to the conclusion that what superheroes might be — in their current incarnation, at least — is a symbol of American reluctance to involve themselves in any kind of conflict without massive tactical superiority. I think this is the same whether you have the advantage of carpet bombing from altitude or if you come from the planet Krypton as a baby and have increased powers in Earth’s lower gravity. That’s not what superheroes meant to me when I was a kid. To me, they represented a wellspring of the imagination. Superman had a dog in a cape! He had a city in a bottle! It was wonderful stuff for a seven-year-old boy to think about. But I suspect that a lot of superheroes now are basically about the unfair fight. You know: people wouldn’t bully me if I could turn into the Hulk.

Roma

July 29th, 2010 § 0 comments § permalink

[[Britain](http://www.guardian.co.uk/society/2010/jul/27/dale-farm-essex-travellers-eviction)]:

Dale Farm is the largest Romany Gypsy and Irish Traveller site in the UK, and part of it is due for demolition.
A number of Gypsies and Travellers have lived at Dale Farm entirely legally since the 1960s. Over the years, more families came to join them after councils began shutting down public sites and Travellers were forced to look for permanent places to settle.

France:

French President Nicolas Sarkozy on Wednesday (28 July) announced his government is to order police to round up allegedly illegal migrants of Roma ethnicity for expulsion from French territory and destroy their encampments.
The announcement was the result of a cabinet meeting dedicated to the subject called after officers shot and killed a gypsy youth in the Loire Valley, provoking a riot by others of his community.

More books

July 29th, 2010 § 0 comments § permalink

In a chart of changes over the last decade, this must be the most impressive:

Books published in 2000 in the US: 282,000
Books published in 2010 in the US: 1,053,000

yeahconsole

July 28th, 2010 § 0 comments § permalink

Xmonad is my window manager. I’ve had it configured to use dmenu as an ersatz command-line, but have been fairly unimpressed by its slowness, and by the difficulty of getting any notification of errors.

So I’m turning to yeahconsole. This is a drop-down terminal, something similar to yakuake, and hearking back ultimately to the headsup terminal in quake. To use: Ctrl-Alt-y to bring it up, type/run your command, M-A-y again to hide it.

I leave outstanding two jobs, one easy and one hard. Easy one is integrating it with xmonad, to launch on M-p. Hard one is making it vanish after executing a command; from a glance at the docs it seems this will only be possible by futzing with the source directly

chmod from within vim

July 26th, 2010 § 0 comments § permalink

as simple as

:! chmod u+x %

Saving firefox

July 25th, 2010 § 0 comments § permalink

further to earlier grumbling about firefox, it seems the main culprit is the restore-session facility. This is something I hated anyway, even without realising that it was shutting down my hdd every 10 seconds to churn through all my tabs. Solution: go to about:config. browser.sessionstore.interval controls how often firefox stores its tab data. The default is 10 seconds; setting it to a long string of nines has sped up my computer no end.

and so, firefox is saved for another day.

also of note: the vimkeys plugin, providing j/k scrolling.

July 25th, 2010 § 0 comments § permalink

JSFiddle is a useful tool for editing javascript in a browser window. Raphael puts pretty pictures there. together, they make for a pretty decent learning interface.

July 25th, 2010 § 0 comments § permalink

I doubt very much _why is a Randian, but something in his self-annihilation reminds me of The Fountainhead. There’s something scary about the vigorous assertion that your creations are yours to destroy — something that’s uncomfortably on the border of right and wrong, in an intense and personal way.

Firefox: TINA

July 25th, 2010 § 0 comments § permalink

Becoming increasingly infuriated by firefox eating up a disproportionate amount of my computer’s time. Alternatives, though, seem limited:
– Chromium: best of the alternatives, but has largely-dysfunctional text searching.
– Opera: still around, still not very good on a small screen
– flock: built on firefox, but with more stuff on top of it
– galeon: not even installable in ubuntu, for some reason
– uzbl: nice idea, gaping usability/discoverability problems

..and so I return grudgingly to firefox :(

Webmontag 19.7.10

July 19th, 2010 § 0 comments § permalink

At Web Monday. Presentations:

  • First Trimester, blogging for doctors. Apparently while there are a lot of web projects targetting patients, there aren’t many blogs aimed at providing professional information for doctors.
  • Yourcent, a micropayments system
  • Feed Magazine a free german-language (paper) magazine about the online world. Now at issue 0

Nested dictionaries in python

July 15th, 2010 § 4 comments § permalink

Python’s defaultdict is perfect for making nested dictionaries — especially useful if you’re doing any kind of work with json or nosql. It provides a dict which returns a default value when a key isn’t found. Set that default value an empty dict, and you have a convenient dict of dicts:


>>> from collections import defaultdict
>>> foo = defaultdict(dict)
>>> foo['x']
{}

But it breaks down when you go more than one layer deep:


>>> foo['x']['y']
Traceback (most recent call last):
File "", line 1, in 
KeyError: 'y'

You can get another layer by passing in a defaultdict of dicts as the default:


>>> bar = defaultdict(lambda: defaultdict(dict))
>>> bar['x']['y']
{}

But suppose you want deeply-nesting dictionaries. This means you can refer as deeply into the hierarchy as you want, without needing to check whether the intermediate dictionaries have already been created. You do need to be sure that intervening levels aren’t anything other than a recursive defaultdict, mind. But if you know you’re going to have your content filed away inside, say, quadruple-nested dicts, this isn’t necessarily a problem.
One approach would be to extend the method above, with lambdas inside lambdas:


>>> baz = defaultdict(lambda: defaultdict(lambda:defaultdict(dict)))
>>> baz[1][2][3]
{}
>>> baz[1][2][3][4]
Traceback (most recent call last):
File "", line 1, in 
KeyError: 4
>>>

It’s marginally more readable if we use partial rather than lambda:


>>> thud = defaultdict(partial(defaultdict, partial(defaultdict, dict)))
>>> thud[1][2][3]
{}

But still pretty ugly, and non-extending. Want infinite nesting instead? You can do it with a recursive function:


>>> def infinite_defaultdict():
...     return defaultdict(infinite_defaultdict)
...
>>> spam = infinite_defaultdict() #defaultdict(infinite_defaultdict) is equivalent
>>> spam['x']['y']['z']['l']['m']
defaultdict(<function infinite_defaultdict at 0x7fe4fb0c9de8>, {})

This works fine. The __repr__ output is annoyingly convoluted, though:


>>> spam = infinite_defaultdict()
>>> spam['x']['y']['z']['l']['m']
defaultdict(, {})
>>> spam
defaultdict(<function infinite_defaultdict at 0x7fe4fb0c9de8>, {'x':
defaultdict(<function infinite_defaultdict at 0x7fe4fb0c9de8>, {'y':
defaultdict(<function infinite_defaultdict at 0x7fe4fb0c9de8>, {'z':
defaultdict(<function infinite_defaultdict at 0x7fe4fb0c9de8>, {'l':
defaultdict(<function infinite_defaultdict at 0x7fe4fb0c9de8>, {'m':
defaultdict(<function infinite_defaultdict at 0x7fe4fb0c9de8>, {})})})})})})


A cleaner way of achieving the same effect is to ignore defaultdict entirely, and make a direct subclass of dict. This is based on Peter Norvig’s original implementation of defaultdict:


>>> class NestedDict(dict):
...     def __getitem__(self, key):
...         if key in self: return self.get(key)
...         return self.setdefault(key, NestedDict())
>>> eggs = NestedDict()
>>> eggs[1][2][3][4][5]
{}
>>> eggs
{1: {2: {3: {4: {5: {}}}}}}

Kyrgz miltias

July 15th, 2010 § 0 comments § permalink

Not a good sign:

Amid the early April tumult that brought down former President Kurmanbek Bakiyev’s administration, young men in Bishkek and other cities began forming druzhiniki groups to patrol the streets and restore order. These groups were originally envisioned as a temporary solution to security challenges. But in the ongoing unrest that has plagued Kyrgyzstan since April, militia groups have kept on amassing influence. [Eurasianet

Temperature and clothing: a little project I’ll never find time for

July 14th, 2010 § 0 comments § permalink

I hate hot weather passionately. Or more accurately, lethargically: when the temperature goes above 25, I find myself unable to concentrate on anything.

But now I find myself wondering: what makes people dress down in the heat? Do they choose their clothing based on today’s weather, yesterday’s weather, or some combination of the two?

Fortunately, we have the data and technology to answer this. I’m not going to implement it (see: lethargy). But here’s what I would do, if I had the time/energy — and perhaps I will when autumn comes and I start to wake up.

Skin-detection algorithms already exist. This is the only freely-available code I could find for the purpose; I haven’t tested it.

You’d also need a source of images, tagged by date and location. Flickr will probably give you that, if you choose the right tags to narrow it down to full-body portraits of people. You can get weather information from The US National Weather Service, although it’s not clear what historical data is available. Failing that, you could limit photos to a particular group of dates/locations, for which you manually look up the historical weather. Then just assemble the data, and run some regressions.

Oxford comma

July 11th, 2010 § 0 comments § permalink

“For my parents, God and Damien Katz.”
— Noah Slater’s dedicaiton, in the O’Reilly couchdb book

git pull –rebase

July 10th, 2010 § 0 comments § permalink

Useful post on git by Yehuda Katz. inter alia, strongly suggests using the --rebase flag when merging

Kyrgyz political biographies

July 9th, 2010 § 0 comments § permalink

Ran into this who’s who of Kyrgyz politics looking up the new Interior Minister, but it seems generally pretty worth paying attention to.

Kyrgyzstan: new interior minister

July 9th, 2010 § 0 comments § permalink

Kyrgyzstan has a new interior minister. Probably no bad thing, given that the accomplishments of previous acting interior minister Bolot Sher consisted of:
* pursuing Bakiyev’s relatives
* Making the supremely reassuring statement that “I am in command of 80 percent of the Ministry of Interior…The other 20 percent is still waffling.”

On the other hand his replacement, Kubat Baibolov, is coming straight from an oh-so-successful stint running things in Jalal-Abad

Kyrgyzstan: NYT beats WaPo

July 9th, 2010 § 0 comments § permalink

I’ve been shamefully ignoring Kyrgyzstan. Well, I’ve been ignoring politics in general, busy on vodo and other techncial work. But it’s particularly hideous to start ignoring an area you care about, just as a great many things (good and bad) start happening. Not reading about what’s happening over there makes me feel complicit in the near-total lack of attention in the Western media.

And Kyrgyzstan really is being overlooked to an incredible extent. Washington Post: nothing worth mentioning. New York Times is doing noticeably better, though — in fact, their coverage is pretty decent considering the distance, and the lack of much domestic political significance within the US.

Where am I?

You are currently viewing the archives for July, 2010 at Dan O'Huiginn.