For what it's worth, @steveklabnik's apology was pretty good. I definitely wouldn't describe it as "an insincere non-apology" - he acknowledged the effect he had on the other person, and actually said the words "I am sorry" instead of something passive and weaselly like "I apologise" or "Sorry if...".
"I'm sorry, and feel terrible that I made someone feel terrible" is tantamount to saying "I'm sorry you were offended." He's merely expressing regret at her reaction, not admitting that his actions that caused said reaction--specifically, mocking her for writing a sed-like utility in JS--were uncalled for. Further, I'm confident that if she'd written the program that spurred her undeserved public shaming in Ruby, he and his fellow Twitter bullies would not have voiced any complaint.
I haven't re-read my blog post, but let me be clear: my actions back then are something that I deeply regret to this day. I think about it on something like a weekly basis, still.
I'm not sure you read the same apology I just did.
> SK: i dont want people to think i'm saying "i got caught being an asshole so i'm saying sorry"
> SK: i want to say "I was accidentally being an asshole so i'm sorry"
> So, I'll just leave it at that. Twitter makes it so hard not to accidentally be an asshole.
He's admitting that he was "being an asshole" and is trying to empathize.
"I'm sorry you were offended" means being offended was your choice. "I made someone feel terrible" means I did something bad to that person.
I'm not familiar with the JS community or Steve Klabnik in particular, but that's a pretty straightforward and sincere apology.
> "I'm sorry, and feel terrible that I made someone feel terrible" is tantamount to saying "I'm sorry you were offended."
Wow, I could not read that any more differently.
It's like arguing "I'm sorry, and feel terrible that I hurt your toe" is tantamount to saying "I'm sorry your toe hurts when it's stepped on". I find that notion a little strange.
http://blog.steveklabnik.com/posts/2013-01-23-node