> But it wasn't inappropriate for the event.
It was absolutely inappropriate, even if not expressly specified so in the (since amended) CoC. It's easy to know that it was not appropriate to the event: mob justice never is an appropriate first-order response.
And no, it was no more appropriate a response to Adria's behavior. The whole clusterfuck is a direct result of recursive mobbing.
> Adria notified the goons [or whatever pycon calls them]
"Staff". Because that's what they are: https://us.pycon.org/2013/about/code-of-conduct/harassment-i...
Also, as I understand how things happened Adria first tweeted the picture (and comment), then notified staff. Your comment seems to imply it happened the other way around and she was essentially forced to tweet due to PyCon staff inaction.
> they came by, talked to everybody, and then nothing happened.
Eh? The guys who had made the inappropriate joke were temporarily removed to a private space, discussions happened, they agreed it was "in poor taste" and apologized, then were sent on their merry way: http://pycon.blogspot.be/2013/03/pycon-response-to-inappropr... Seems enough happening for an inappropriate but rather tame joke in an overhear-able private conversation.
> And the CoC is pretty obviously directed at presenters
You're high as a kite. Here's the third paragraph of the CoC:
> To make clear what is expected, all delegates/attendees, speakers, exhibitors, organizers and volunteers at any PyCon event are required to conform to the following Code of Conduct
emphasis mine. Note that "speakers" are a separate category from "delegates" (company presence) and "attendees" (private individuals). And the text repeatedly notes all attendees are expected to follow the CoC and may be removed upon breach.