Twenty years

Yesterday was the twentieth anniversary of my FreeBSD commit bit, and tomorrow will be the twentieth anniversary of my first commit. I figured I’d split the difference and write a few words about it today.

My level of engagement with the FreeBSD project has varied greatly over the twenty years I’ve been a committer. There have been times when I worked on it full-time, and times when I did not touch it for months. The last few years, health issues and life events have consumed my time and sapped my energy, and my contributions have come in bursts. Commit statistics do not tell the whole story, though: even when not working on FreeBSD directly, I have worked on side projects which, like OpenPAM, may one day find their way into FreeBSD.

My contributions have not been limited to code. I was the project’s first Bugmeister; I’ve served on the Security Team for a long time, and have been both Security Officer and Deputy Security Officer; I managed the last four Core Team elections and am doing so again this year.

In return, the project has taught me much about programming and software engineering. It taught me code hygiene and the importance of clarity over cleverness; it taught me the ins and outs of revision control; it taught me the importance of good documentation, and how to write it; and it taught me good release engineering practices.

Last but not least, it has provided me with the opportunity to work with some of the best people in the field. I have the privilege today to count several of them among my friends.

For better or worse, the FreeBSD project has shaped my career and my life. It set me on the path to information security in general and IAA in particular, and opened many a door for me. I would not be where I am now without it.

I won’t pretend to be able to tell the future. I don’t know how long I will remain active in the FreeBSD project and community. It could be another twenty years; or it could be ten, or five, or less. All I know is that FreeBSD and I still have things to teach each other, and I don’t intend to call it quits any time soon.


Yes, all men

Since Susan Fowler blogged about her experience at Uber in February, the debate about sexism in tech has dominated IT and business news. Note that this debate is not new, and Fowler’s story isn’t all that different from many other stories we’ve heard before. It’s just that for once, finally, people were paying attention, and There Were Consequences. Then matters escalated in June with a string of revelations about sexism—not just discrimination, but full on sexual harassment.

Then came the apologies. Let me tell you about the apologies. The average response from a manager or venture capitalist accused of sexism went something like this:

I apologized unreservedly for my treatment of X. I realize now that my innocent jokes may have been misinterpreted. I’m actually a pretty nice guy, and X’s refusal to sleep with me had no impact whatsoever on my decision not to invest in her startup.

Then came the White Knights:

As a VC, I’m appalled to hear about my colleagues’ behavior towards women. I would like to reassure you all that Not All Men are like that. I myself am actually a pretty nice guy and completely innocent in all this.

Guys, it’s time to face the music. We have all been That Guy. We have all made sexist jokes, or laughed when others made them, or stood by silently while our male bosses, coworkers and colleagues ignored or patronized or belittled or humiliated women. We have all benefited from a system that eliminates close to 50% of our competition before the race has even started.

We are all complicit. We are all guilty.

So what do we do? Where do we go next?

First, take a deep breath, do a little soul-searching, and re-read that paragraph until any impulse, however minor, to say to yourself “OK, but not me” is gone. Yes, you too.

Next, if you’ve ever acted inappropriately towards a female coworker or friend or acquaintance, or stood by silently while others did, consider apologizing.

Third, vow to never do so again, and work hard to keep that vow. Respect the women around you as much as you respect the men. If someone around you acts or speaks inappropriately, speak up, even if there are no women present. Be proactive: make sure that women are given equal opportunity to join those career-building projects, and are included in those backstage chats where decisions are made. If you are hiring, seek out female candidates, keeping in mind that women have a tendency to underestimate their abilities and experience just as men have a tendency to overestimate them. If you are teaching, encourage and mentor female students. Reach out to them if they seem discouraged. Don’t wait until they drop out.

Open your eyes. Open your ears. Listen to the women around you. Believe them. Respect them. Be someone they can vent to and someone they can count on for support when push comes to shove.

You will slip up. When you do, apologize and vow to do better.

As a man, you are, and always have been, part of the problem. Accept it, and start being part of the solution.

Begredelig kundebehandling fra Hafslund Strøm

Jeg hadde en mildt sagt ubehagelig samtale med en selger fra Hafslund Strøm i slutten av april, som endte med at vedkommende la på. Jeg prøvde deretter å ringe både kundeservice og sentralbord uten å nå gjennom, så jeg fylte ut klageskjemaet i stedet. Nesten tre uker senere tok Hafslund endelig kontakt, og jeg sendte dem følgende beskrivelse av hendelsen:

Jeg ble oppringt av en selger ifm at jeg fortsatt står på leveringsplikt i [redigert].

Jeg prøvde å forklare for selgeren at leiligheten står tom og blokken har sentralvarme, at det ikke er noe forbruk bortsett fra håndtverkerne som pusser opp, at jeg er klar over at jeg betaler overpris men at jeg ikke er interessert i å tegne noen avtale om strømleveranse da det uansett kommer nye leietagere om noen uker.

Han ville ikke gi seg. Han fortsatte å mase om at det kostet meg 14 øre mer per kWh (eller hvor mye det nå enn var, jeg tror han ga meg to forskjellige tall i løpet av samtalen). Jeg prøvde å gjenta at leiligheten står tom, at det ikke er noe forbruk å snakke om, og spurte om han kan fortelle meg fra null ganger 14 blir? Så sluttet han å snakke om overpris og begynte i stedet å fortelle meg at jeg «må jo lese av måleren uansett» (som om det har noen betydning i forhold til valg av leverandør?) og jeg fortalte ham at joda, den ble lest av da de forrige leietagerne flyttet ut 15. mars og vil bli lest av igjen når det kommer nye leietagere om noen uker, så han byttet til barnehageonkelstemme og gjentok «du-må-le-se-av-må-le-ren-li-ke-vel» igjen og igjen til jeg kalte ham en tosk, hvorpå han la på.

Dette blir desto mer latterlig når man vet at samtalen fant sted bare noen dager før det ble satt inn ny fjernavlest måler. Så nei, jeg må ikke lese av måleren likevel.

Skriftlig beklagelse undertegnet av vedkommende selger og hans nærmeste leder kan sendes per post til:

Dag-Erling Smørgrav [redigert]

…og det bør helst ikke ta to uker.

Det har gått nå ti dager siden jeg sendte denne eposten, og rundt fire uker siden hendelsen, og jeg har fortsatt ikke fått svar, så jeg overlater saken til Internett.

Oppdatering 2017-06-29: fortsatt ikke noe svar bortsett fra en bekreftelse på at henvendelsen er mottatt.

Oppdatering 2017-09-06: nesten fire måneder uten reaksjon.

Fidelio, Act Two

As promised, here is my adaption of the second act of Beethoven‘s one and only opera Fidelio. Read the first act if you haven’t already.

Scene 1

Florestan: Shit, it’s really dark in here. It’s a good thing I’m really, really righteous and brave! I just hope Leonore is OK.

Scene 2

Fidelionore: Brr, it’s cold as balls down here.

Rocco: Sorry, Pizarro must have forgotten to pay the electricity bill. Anyway, here we are.

Fidelionore: He’s not moving!

Rocco: You think he’s dead? Nah, just asleep. Help me dig. You scared?

Fidelionore: Just cold. Sorry.

Rocco: Start digging, it’ll keep you warm.

They dig.

Fidelionore: I think he’s waking up!

Rocco: Get out of here, I need to talk to him.

Florestan: I have been imprisoned here for over two years, and surely I must know where I am and what has happened, but the audience wasn’t here, so please pretend I don’t know, and tell me who is keeping me here.

Rocco: Pizarro, and believe me, I like him about as much as you do.

Florestan: Pizarro? Shit. Send word to Sevilla, let my wife know where I am!

Rocco: Sorry, bud, no can do. I brought some wine to dull the pain of digging another man’s grave, want a drop?

Florestan: Why the hell not.

Rocco: Fidelio, bring the wine! Hey, you don’t look too good.

Florestan: Poor kid!

Fidelionore: I don’t feel too good.

Rocco: Look, it sucks that he’s going to die, but I’m only following orders.

Fidelionore: Want some stale bread? I’ve been carrying this around for days instead of grabbing a fresh piece at the breakfast table every morning.

Rocco: I am about to become complicit in an innocent man’s death, but it’s all good because I’m only following orders, plus I gave him some wine.

Florestan: I am sorry that I cannot repay you for bringing me a stale piece of bread and the dregs of your wine after you were done digging my grave.

Rocco: Okiedokie, off to tell Pizarro everything is ready.

Fidelionore: Don’t worry, it’ll all work out. Somehow. Maybe. I hope.

Scene 3

Pizarro: All done?

Rocco: All done.

Pizarro: Send the kid away and untie the prisoner while I gloat over his impending doom and make sure to let him know at whose hand it will come.

Florestan: Murderer!

Fidelionore: Murderer!

Rocco: Just following orders.

Fidelionore throws herself between Pizarro and Florestan

Fidelionore: You’ll have to kill me first!

Pizarro: Wut?

Fidelionore: I’m his wife, dumbass. Did nobody notice the hips and the tits and the fact that I’m a ducking soprano?

Pizarro: You’re his wife?

Rocco: You’re his wife?

Florestan: You’re my wife?

Pizarro: Wow, you’re really brave.

Rocco: Wow, you’re really brave.

Florestan: Wow, you’re really brave.

Pizarro: Shit, now I have to kill them both.

Fidelionore: Well, sucks to be you.

The alarm sounds.

Fidelionore: You’re saved!

Florestan: I’m saved?

Pizarro: Shit, Fernando!

Rocco: We’re saved!

Scene 4

Jaquino: Hey boss, Secretary Fernando has arrived.

Rocco: Send the guards down to, eh, ensure Pizarro gets safely up the stairs.

Fidelionore & Florestan: We’re saved!

Pizarro: I’m doomed!

Rocco: Remember, I was only following orders!

Scene 5

Fidelionore: You’re saved!

Florestan: We gonna frick!

Scene 6

Prisoners: We’re free!

Fernando: The King has sent me to free you!

Prisoners: Bonus heart-wrenching chorus!

Scene 7

Rocco: Help! Help!

Pizarro: Shut up!

Fernando: What’s all this then?

Rocco: Have mercy on Florestan—

Fernando: Florestan? Isn’t he dead?

Rocco: Only mostly dead. There’s a big difference between mostly dead and all dead. Mostly dead is slightly alive.

Fernando: Florestan is slightly alive?


Rocco: …with his wife Leonore! Dressed as a man!

Marzelline: Oh shit.

Rocco: Pizarro was going to murder him!

Pizarro: And I would have gotten away with it too, if it weren’t for that meddling kid! Besides, you were helping.

Rocco: For the last time, I was only following orders!

Pizarro is arrested and taken away

Fernando: Here, Leonore, unshackle your husband.

Everybody: WE’RE SO HAPPY!

Florestan: Let this be a lesson to you all, the righteous always prevail in the end!

Fidelionore: Not to mention Tru Wuv.

Everybody: Yeah, yeah, we’re all very impressed.

Fidelionore: We gonna frick!


Thank you, you’ve been a lovely audience.

Fidelio, Act One

I went to see a concert version of Fidelio at the Norwegian National Opera last night. For those of you who aren’t well versed in opera or in the classical or romantic eras of Western music, Fidelio is Beethoven‘s only opera; initially written in 1804 under the title Leonore, oder Der Triumph der ehelichen Liebe, it took ten years and numerous rewrites before it became what we know today as Fidelio. I know Fidelio quite well, having owned a copy of Karajan’s 1970 recording since my teens, but never really paid attention to the lyrics as a whole until I saw it on stage. I was mildly surprised at how progressive and (in places) possibly even scandalous they are, for their time. They deserve wider recognition. So without further ado, I present my abridged and somewhat… improved version of the libretto.


Two years ago, Florestan uncovered evidence of his rival Pizarro’s crimes. Since then, he has been illegally detained by the latter in the prison he governs. Florestan’s wife Leonore has tracked Florestan down and obtained employment at the prison, disguised as a young man named Fidelio (because opera, that’s why). She has gradually gained warden Rocco’s trust. Prison guard Jaquino is infatuated with Rocco’s daughter Marzelline, who is infatuated with Fidelio (because opera, that’s why).

Scene 1

Jaquino: Finally got you cornered! I need to talk to you.

Marzelline: Dude, I got work to do.

Jaquino: Come on, give a guy a break!

Marzelline: OK, spit it out. Just don’t expect me to like it.

Jaquino: I’ve decided that you are to be my wife. We can have the wedding in a few weeks.

Marzelline: LOL WUT

someone knocks


Marzelline: Dude, I don’t even like you. I’m in love with Fidelio.

Jaquino: What can I do to convince you?

knocking intensifies

Marzelline: Good, maybe he’ll let me go now.

Rocco (off-stage): Jaquino, you lazy good-for-nothing, get back to work!

Marzelline: You heard the man, now scram!

Jaquino leaves

Marzelline: Poor guy. I used to like him until I met Fidelio. Now there’s a man in touch with his feminine side!

Scene 2

Marzelline pines for Fidelio

Scene 3

Rocco: Where the f— is Fidelio?

Marzelline: Hell if I know. Oh, wait, there he is!

Scene 4

Fidelionore: Sorry, boss. Dude took forever. Here’s the receipt.

Rocco: Wow, how’d you talk the price down so much?

Fidelionore: I try my best, boss.

Rocco: Good man. Don’t worry, you’ll get what you’re after.

Fidelionore: Say what now?

Rocco: Oh come on, I know you like Marzelline.


Fidelionore: Oh shit.

Rocco: I’m so happy for them!

Jaquino: Oh shit.

Rocco: Good, then it’s settled! We can have the wedding as soon as that ass Pizarro leaves for Sevilla.

Marzelline: Squee!

Rocco: One thing though, Fidelio. Promise me you’ll provide for my daughter. Love means nothing if you can’t put food on the table. Gold, gold, gold, gold, gold, gold, gold!

Fidelionore: Well, I still maintain that true love… but there’s one thing that bothers me. Why don’t you trust me to accompany you down to the lower cells?

Rocco: It’s not that I don’t trust you, it’s that I’m not allowed to let anyone near them.

Fidelionore: But you work your fingers to the bone! Let me help.

Rocco: Well, maybe. But I won’t let you near the oubliette. It’s too gruesome.

Marzelline: Is that where the secret prisoner is kept?

Fidelionore: Has he been there long?

Rocco: Two years. And now Pizarro has ordered me to let him starve in the dark.

Marzelline: Please don’t take Fidelio there, it’ll break his heart!

Fidelionore: Are you calling me a wuss?

Rocco: You need guts to get ahead in life, boy.

Fidelionore: I got plenty. Try me.

Marzelline: Your determination to see a man being starved to death makes me inexplicably proud.

Rocco: Fine! I’ll ask the governor to allow you to assist me. I’m working myself to death as it is.

Marzelline: I am so turned on right now.

Scene 5

Pizarro storms in from who knows where

Pizarro: Man the walls! Let no-one in without my express permission. Rocco, bring me my mail!

Rocco: Here, sir.

Pizarro: Bill—bill—advertising—overdue bill—Sears catalogue—final notice—pre-approved credit card—oh shit, I know that letterhead. “It has come to my attention that you are illegally keeping political prisoners, and I am therefore conducting a surprise inspection. You have a few hours to hide the evidence. XOXO Fernando.” Holy shit, he and Florestan were like besties. Captain! Post guards and sound the alarm the moment you see Secretary Fernando’s limo arrive!

Captain: Sir, yes, sir!

Pizarro: The only thing that can save me now is an act of unsurpassed bravery. And I will finally have my revenge, which I could have had at any time in the two years this man has been my prisoner, but inexplicably postponed! Oh, I can’t wait to see the knife twist in his heart! Rocco!

Rocco: Sir?

Pizarro: Rocco, I want you to prove my bravery, courage and high moral conviction by murdering this man in my place.

Rocco: Let’s not, and say we did.

Pizarro: Wuss. Never mind, I’ll do it myself. Go dig his grave while I put on an unconvincing disguise so I can tell myself it wasn’t really me who did it. And God help you if I get blood on my shoes!

Rocco: Oh well. At least he won’t starve any more.

Scene 6

Fidelionore: WHAT THE F— JUST HAPPENED? I have to stop this.

Scene 7

Jaquino: Marzelline! You used to love me, but ever since this Fidelio…

Marzelline: Leave me alone!

Scene 8

Rocco: Let it go, son. She doesn’t want you.

Fidelionore: Rocco, won’t you please let the prisoners out into the sun? Pizarro doesn’t need to know.

Rocco: Oh, why the hell not. Jaquino, Fidelio, open the upper cells!

Scene 9

Prisoners: Watch as we march dramatically out of our cells and sing a heart-wrenching chorus about how bad it is to imprison people for their political opinions! But not too loud, someone might hear us.

Scene 10

Fidelionore: How did it go?

Rocco: He agreed to the wedding and to let you accompany me to the lower cells.

Fidelionore: O frabjous day! Callooh! Callay!

Rocco: What are you going on about? Anyway, we have to go down to the secret prisoner.

Fidelionore: Is he being released?

Rocco: Released? Oh, no, we are to bury him.

Fidelionore: What?! He’s dead?

Rocco: Well, not quite yet…


Rocco: No, just dig his grave and wash my hands of his murder.

Fidelionore starts crying

Rocco: Oh, grow up. Let’s go.

Scene 11

Marzelline: Dad! Dad! Pizarro is looking for you, and let me tell you, he is PISSED. The guard captain told him we let the prisoners out. You know how mad he gets…

Rocco: Oh shit. Quick, get everybody back inside.

Scene 12

Pizarro: Rocco! ROCCO! Who the FRACK gave you permission to let the prisoners out?

Rocco: Well, uh, it’s, uh, spring, and also the King’s birthday or something? Also, I only let the regular prisoners out, not the secret one.

Pizarro: Oh, shut up, and go dig that grave.

Prisoners: We’re really sad to have to go back inside.

Marzelline: I’m really sad to see the prisoners go back inside.

Fidelionore: I’m really sad to see the prisoners go back inside.

Jaquino: Oh, screw them.

Pizarro: Off you go, Rocco, and stay there until the deed is done.

End of Act One

I’ll post Act Two as soon as that ass Pizarro leaves for Sevilla.

Update: Act Two