Did you know how to react?

Last winter, I was assaulted at ApacheCon. I was shocked, upset. I had no idea how to react. The conference organisers, a team I was part of, had no idea how to react either.

In the end, I wrote about what happened. I expected a worried phone call from my mother, the most faithful reader of this blog. I hoped that I could pass out the link to trusted friends, and ask for their support without having to explain the whole story over and over.

Instead, it got picked up in the wildfire that is the internet, and I nearly took down the machine it was hosted on, a shared machine belonging to an old Irish friend.

People turned up in droves. Jerks told me I deserved it. They said I should be grateful for the attention, because I wasn’t hot enough to get a boyfriend. They thought it was my own fault for going to a technical conference, and joining in the evening activities.

And reasonable people turned up, saying they couldn’t believe that this kind of thing still happens, either the assault or the violent responses. Many of them just had no idea how to react to this.

Luckily, I have a strong group of awesome and supportive friends. One of them, Valerie Aurora, spearheaded the writing of a Conference Anti-Harassment Policy that was soon adopted by a variety of conferences and events.

Valerie wasn’t ready to stop there, and with Mary Gardiner and a team of advisors from around the worlds of open technology and culture, she established the Ada Initiative.

The Ada Initiative is dedicated to a simple vision: a world in which women are equal and welcome participants in open technology, open data, and open culture. Their strategy for change is simple: give concrete, straight-forward advice to willing and eager audiences. They focus their effort on programs that are scalable, reusable, and effective, and they are committed to providing their work completely free of charge.

Of course, it still takes money to do these things. And that’s where you come in. The Ada Initiative has just opened a limited funding round, aiming to raise the seed money required to bootstrap the legal structures that will enable them to accept larger, long-term funding.

If you want to support their vision, if you think women should be able to attend conferences without fear of being assaulted, if you want to help make sure that the next generation of women are welcomed into computing, consider contributing to the Ada Initiative Seed 100 campaign.

Neurochemistry is a pain

(No, I am not in danger; yes, I am getting professional help. Either way, I still need friends.)

In one sense, I have every right to be depressed. It’s not all that long ago that I was assaulted, torn into by strangers, and misguidedly told how I could have, should have prevented it. It’s even more recent that Stephen and I got divorced. This week, I need to gather the paperwork for last year’s taxes. I could make a list a mile long of things that are stressing me out right now. But of course, none of that is the point. That’s not how it works.

Depression is not a logical thing. There’s no scale I can heap up with the good and the bad, and even if there were, the good would probably come out tops.

By any measure, my life is awesome. I live in a country that, while often infuriating, is stunningly beautiful. I have a job that’s the envy of friends and colleagues alike, and I have choices coming out my ears if I want a change. I’m solidly in the top 1% of rich people worldwide, and even on a more local scale, I have no debts or ongoing financial obligations–I could quite happily support myself for a year or more, even at Swiss prices. I successfully fed two lovely vegans yesterday, unexpectedly, using only the supplies I already had to hand (ok, they were pretty easygoing vegans, but still!).

I can list off a hundred people who are worse off than I am; a thousand reasons I have to be grateful. But does it change how I feel? Not one iota.

I spent today alternating between bawling crying, and curled up in bed wishing the whole world would wink out of existence. I completely failed to attend the BBQ I’d been looking forward to, because of a combination of paralysing apathy and hateful self-doubt. Promising myself fun, socialisation, probably good food, and beer, all failed to motivate me to do anything other than wish I lived in a remote Tibetan valley.

But I eventually managed to turn things around, to console myself, to climb out of that despair. And three things helped me do that.

One of them was realising that I am not the only person who feels this way; some of the most amazing people I know have arguments with the black dog on a regular basis. The next was reading someone else’s account of hitting rock bottom.

Two things stuck out from that: I’ve got to find a reason for someone to care and I call my wife and ask her to remind me why I’m worth keeping around

See, part of the problem is that when my brain wants to hurt me, it has all of the weapons. It knows where the soft spots are. It tells me no one has any reason to care about me, and because it’s in charge of the thinking, I believe it. Even when I know it’s being a lying toad, even when I can conclusively say it’s wrong and people do care, important people, people I love, it doesn’t shut up, and it’s very convincing. It tells me that all of the awesome things I do could be done just as well, and with less fuss, by someone else.

And the final thing that helped me turn today around was realising that there is help out there. There are people who care about me specifically and personally, and there are people who care about the things I’ve done, and there are people who care about me just as a plain ol’ human being.

The dog is gone home for today, but he’s not dead yet. And when he does come back, when he’s looming over me, sometimes it’s hard to remember that other people feel this way, that people care about me, and that there is help.

And so, I write this, as a reminder to myself, and as an offer, and as a request.

If you want to talk, let me know. If I can help you out, please, ask. I know it’s hard to do, but I care about you, and if I can, I’d like to help. If I can’t, phone or email the Samaritans (UK & Ireland), or phone the Samaritans (US).

And if you want to help me out, leave a comment, or send me an email. Share a cute animal picture, or a memory that makes you smile, or just tell me that you care. Chances are, I won’t want to talk about this much more, so if you’re open to talking about it, let me know, but don’t take it personally or hassle me if I don’t want to. (Mum, I love you, but I still don’t want to talk about this. Thanks.)

Comments are moderated–I generally publish any that aren’t obviously spam, but if you don’t want yours published, just say so.

Neurochemistry is a pain, but for now, mine is on my side :-)

A chapter closes

This morning, at 10:00, Justice Lieb declared Stephen and I divorced, in a Zurich court.

The whole process was mercifully simple, primarily because Stephen and I had a very simple situation: no kids, no debts, no major assets. No one needed alimony, and both of us consented to the proceedings. The Swiss divorce situation is also very carefully set up to prefer a “no fault” divorce if at all possible.

Because of the language barrier, the complexity of almost any interaction with the courts, and our mutual desire to ensure that the divorce would hold water later, we did engage a lawyer. Stephan Buchli was fantastic – he spoke excellent English, was kind and friendly, was willing to do the legwork on some papers we needed from various branches of the Swiss bureaucracy (but also advised us that it wasn’t too hard to do ourselves if we wanted to spare the cost), and had no problem with the minor complications that did in our otherwise simple case.

Those complications were twofold: first, we hadn’t been in Switzerland long enough to have accumulated all of the requested paperwork to prove that we were each financially independent, and not requiring of maintenance. This was solved by sending Stephan all the paperwork that we could easily muster, and him passing it on to the judge, with an explanation, ahead of our court date. The second complication was that, since we hadn’t been married (or in Switzerland) long enough to have accumulated significant pension benefits during the marriage, we wanted to opt out of the normal requirement that pension funds accumulated during the marriage be split equally. This was primarily to avoid paperwork and hassle, although technically Swiss law requires that the accumulated pension benefits be split. Stephan added the necessary bits to our Scheidungsprotokoll (divorce agreement), and again, explained the situation in advance to the judge.

Once we turned up at the court, the whole thing took about half an hour. The judge introduced herself, the stenographer, and her assistant, as well as introducing the interpreter and reminding her of her obligation to provide a true and accurate interpretation. Somewhat scarily for me, the judge spoke Swiss German throughout, although in the end I was able to handle it just fine, she didn’t seem to have any problem with me answering in High German, and I only needed the interpreter once, when I was on the spot and fell back to English.

First, with both Stephen and I present, the judge asked me to confirm various relevant details: my name, date of birth, address; the fact that I had signed the Protokoll, that I still wanted a divorce, and that I was doing this with due consideration and of my own free will. She went through various details of the divorce agreement one by one, too. The only stumbling block arose when she read out the date of marriage as 15th November 2007, which I corrected to 14th. She double-checked that she had understood my correction, and accepted it, acknowledging that I knew better than she :-)

Then, she asked Stephen to confirm all the same details. Of course, he confirmed the date of marriage as 15th November, at which things got confused. I mentioned that I had the marriage certificate with me, and the judge came over to look at it. I dropped back to English and explained to the interpreter that we had been legally married on 14th November but had celebrated a religious service on the 15th. The judge seemed happy enough with that, and I think having the marriage cert helped.

Once that was all sorted out, she asked Stephen to leave the room, and reconfirmed that I had considered things carefully and wasn’t under any compulsion. It was barely a minute before I was sent to switch places with Steve, and I assume he was asked the same things :-) About 2/3 of the way through that time, I wondered what was taking so much longer for him, until I realised everything was being interpreted, which obviously slows things down.

Stephen and the interpreter came out together, while the judge considered the case. After several minutes, the stenographer called us back in, and the judge pronounced the divorce. She explained the judgement, went through the Protokoll once more, as well as the various other parts of the pronouncement (covering costs etc). Finally, she explained that each of us had ten days during which to change our minds and appeal the judgement, after which the judgement would become legally binding. She offered each of us, one after the other, the opportunity to waive that period, which we each did. Finally, she declared the divorce binding immediately.

There are still a few bits of paperwork to tidy up, and bills to pay, but all of the hard stuff is done. Switzerland used to require a two-month waiting period, followed by confirmation that the couple still wanted to divorce, but that’s no longer the case. We should have the final decree within a couple of weeks.

I haven’t worked out yet how I feel: relieved, exhausted, saddened, freed. Chastened that I didn’t listen, and grateful for what I had. Looking forward to the future, whatever it may bring, although somewhat dreading the paperwork surrounding reversion to my maiden name. And honestly? Kind of proud at how well I managed half an hour of legal proceedings in Swiss German :-)

A hell of a time

I had a hell of a time last night – in good and bad ways.

The good came first. The ApacheCon lightning talks were, as usual, hilarious. The talented Paul Fremantle brought out his tinwhistle and I danced an only-slightly off-time hornpipe. Bertrand revealed the secrets of the members@ mailing list with a speaking chorus. A crazy person with a graphing calculator and a psychedelic three-ring binder gatecrashed and spoke about no-one’s sure what. Ross, Paul and I did an “Ask Me!” talk. Leo, Rich, Shane filled their five minutes in traditional and hilarious and moving fashions. Jean-Frederic had us saying Hello World in more languages than I could count. We laughed as we counted hesitations, repetitions and deviations. It was great.

The party moved up to my room. We had beer, and beer pong, and altogether too many people crammed in. It was more egalitarian than I remember last year’s being – lots of new people, lots of people who weren’t part of the old Apache guard. A charming Southern gentleman with the most awesome belt I’ve ever seen (Carl, where did you get that!?), an excited Berliner who picked me up and whirled me around and somehow managed to avoid having me kick anyone in the head. I lay across the bed, sat on laps, generally tried to squish in to any available space and get time to talk to all the fabulous people thronging the place.

At some point, it was too late and too loud to reasonably continue. Everyone cleared out (Nick, you are a *god*, for spending the extra five minutes to clear the carnage, so that I could wake up in a room that showed no signs of what had happened the night before!), and we headed to the Irish pub next door that has become our local.

Some food, a few more beers. Squeezing everyone up so I could sit next to someone I wanted to talk to. Laughing at the events of the week, and the night.

And then I went to the loo, and as I was about to go in, Florian Leibert, who had been speaking in the Hadoop track, called me over, and asked if he could talk to me.

I’m on the board of Apache. I’m responsible for our conferences. I work on community development and mentoring. If you’re at an Apache event and you want help, information, encouragement, answers, I will always do my best to provide. So this wasn’t an unusual request, and it wasn’t one I expected to end the way it did.

He brought me in to the snug, and sat up on a stool. He grabbed me, pulled me in to him, and kissed me. I tried to push him off, and told him I wasn’t interested (I may have been less eloquent, but I don’t think I was less clear). He responded by jamming his hand into my underwear and fumbling.

I broke away, headed back to the group, and hid behind some of the bigger, burlier infra guys, while Bill sorted out all the people who’d left stuff in my room, so that I could reasonably escape. We headed back, people got their stuff, Bill stayed around, and I slept.

When Bill woke up, I pretended to still be asleep, because I couldn’t deal with speaking to anyone. I sent a mail to our planning committee to say that I’d been assaulted. Charel came to talk to me, and then I e-mailed Nick, who came up and helped me sort things out so I could get to the keynote and feel safe. Florian didn’t turn up today, and it’s probably for the best.

I had a few drinks. I was wearing a skirt of such a length that I had cycling shorts on under it to make me feel more comfortable getting up on stage and dancing. I had been flirting with a couple of other boys at the party.

It’s not the first time something like this has happened to me, at all. It’s not the first time it’s happened to me at a tech conference. But it is the first time I’ve spoken out about it in this way, because I’m tired of the sense that some idiot can ruin my day and never have to answer for it. I’m tired of the fear. I’m tired of people who think I should wear something different. I’m tired of people who think I should avoid having a beer in case my vigilance lapses for a moment. I’m tired of people who say that guys can’t read me right and I have to read them, and avoid giving the wrong impression.

But I don’t give the wrong impression, and it’s simply not true that guys can’t read me right. I don’t want to be assaulted, and the vast majority of guys read that just fine. It is not my job to avoid getting assaulted. It is everyone else’s job to avoid assaulting me. Dozens of guys succeeded at that job, across the week. In the pub, in the stairwell, on the MARTA, in my bedroom.

One guy failed, and it’s his fault.

ETA: My heartfelt thanks to the Atlanta police for their sensitivity and professionalism.

A new world in the morning

As I write this, it’s a little over a fortnight since Stephen and I split up, and almost exactly a week since we told most of our friends. I’ve danced to remember and danced to forget. I’ve been taken care of by family, friends and acquaintances locally and across the world – truly, it’s been a 24hr support network, and to all of you, I am deeply grateful. In particular to all those in Zurich who have provided hugs, and to those at the top of my chat list who have been bombarded day and night, thank you.

Stephen has already published his take on what went wrong, and how it could have gone this badly. Many of you have responded, and I love and thank all of you who’ve supported him, publicly and privately. Some of you have also asked whether I’d write something similar from my own perspective, and a few of you have suggested that I should be taking more responsibility for the breakdown of our marriage.

With those latter few, I respectfully disagree. To me, taking responsibility suggests that blame should be assigned, and implicitly assumes that the breakdown is “bad news”. In fact, when I first shared the news with my family and a very small group of friends, in an e-mail written while I sat at the airport gate, that was the subject of the missive. But someone I trust deeply responded, saying:

I view these things as local minima that need to be overcome so you can reach global maxima.

It’s taken me a while to get my head around that, but I think it’s true. To help make sense of it, let me bring you on a whirlwind tour of the last three years.

Stephen was unwell before we got married. I knew that, and it affected our lives, but I was happy to make those sacrifices. We were a busy couple, and our lives weren’t without stress – my graduation ceremony was the week before the wedding, and our honeymoon brought us to Hong Kong expressly so that I could help out with a conference there. (That didn’t work out in the end, but we had a lovely time all the same!) I also had my moments – our first Christmas dinner was pasta bake with a special delivery of antibiotics for the shocking chest infection that had kept me out of the kitchen :-)

Stephen’s memory had never been great, but when we moved to Zurich, things got harder. The trouble he had remembering things compounded the trouble he had learning German, which massively compounded the trouble he had with integrating (and Switzerland’s not easy to start with!). Combine that with having to start over on all of the medical care he needed, and it all caused a lot of stress, which didn’t help anyone. Where I had previously had to keep an eye on things (like our finances) that we managed together, I now had to single-handedly take care of all the details.

To give Stephen his due, over time, he stepped up on the things that he was able to do – but, like so many other things, the division of labour was always dictated by his health, and it left me feeling isolated and overworked.

Nine months ago, Stephen went into hospital for surgery that, we hoped, would make things drastically better. So much hope was poured into that operation. If it works, his bladder problems will get better. If his bladder problems get better, his sleep problems will get better. If his sleep problems get better, his memory will get better, our ability to do fun stuff/travel/share time will get better, and so on.

Day surgery turned into almost two weeks in hospital. A few days in, I left for the airport, and headed out to ApacheCon, straight from his bedside – having always planned that there would be plenty of time to get him home and help him recover before I had to leave. Our friends, as usual, filled the gap – and again, huge thanks to those who visited him daily while I was away.

We had planned to take our dream holiday, our second honeymoon, a couple of weeks later. Until pretty much the day we left, it wasn’t at all clear that Stephen would be able to do it – and I remain grateful that I never had to decide whether we should cancel it or whether I should go alone. As it was, we had a wonderful time – but many aspects of it still sucked. In fact, before we had even left Venice, we thought we would have to pack our bags and head to the hospital.

In all of that chaos, as we looked at plans we had made together and re-evaluated them in a context where we couldn’t simply wish things better, I started spending more time introspecting, thinking, trying to work out what was really important to me. And as 2009 turned into 2010, I started building more of those things into my life. After a year of a fairly serious “flight ban” (I took nine flights in 2009), I started to travel more – in fact, I spent the first six weeks of the year in San Francisco, three of them with Stephen.

It was during the latter three weeks, after he had gone home, that I had the epic swing-dancing/Superbowl weekend. But both before and after, as I tried new things or just did the things I wanted to do without having to worry about whether he’d be waiting up for me to get home, I was conscious of how much sacrifice our relationship required, from both of us.

“Life is pain, Highness” – this I know. And I truly understand the value of compromise. But I would say that I now understand it better than ever, having seen how far compromise can go before things break.

There were many compromises in our relationship. On his side and on mine, we settled and agreed and worked within our limitations. But ultimately, the things that had brought us and kept us together were no longer strong enough to make the sacrifices seem reasonable, desirable.

It’s easy to get into the game of “if-only”. If only Steve’s sleep hadn’t been so compromised, maybe we could have had more time to do things together, and maybe that would have seen us through the memory issues. If only I had faced less stress at work, maybe I could have given more energy to the relationship and kept things going more smoothly. If only Steve’s memory had not impaired his language learning, maybe he would have had an easier time integrating and been less likely to get depressed. If only I could have been more understanding and patient, maybe we could have found better ways to meet in the middle rather than relentlessly sacrificing. If only our sex life had not fallen by the wayside, or if only it had been possible to revive, maybe we could have relied on basic instinct to keep us together!

But none of that makes any difference, in the end.

I married Stephen because I wanted to spend the rest of my life with him, and to share in the rest of his. We have split up because those things are no longer true – for me, at least. And as I’ve learnt, slowly, but inexorably, my primary responsibility is to myself. I have dreams, and hopes, and ambitions, and I would willingly sacrifice many of them, but I can’t sacrifice all of them, and I can’t sacrifice the essence of who I am.

Some of you have asked about regrets. I don’t regret a minute of it. Not the worst days I can remember, nor the worse days I’ve tried to forget. I don’t bear any ill-will towards Stephen, I still think he’s great, and although things are hard right now, I hope and intend that we might remain friends.

I met a man who had a dream he had since he was twenty. I met that man when he was eighty-one. He said “too many people just stand and wait until the mornin’. Don’t they know tomorrow never comes?”


Last week, I enjoyed the beautiful environs of Keble College, Oxford, and the rather noisier hospitality of the University Club, to attend TransferSummit/UK, and the associated BarCampOxford.

What a show! It was a great freedom to be able to attend–and speak–without having to run around making sure everything was planned, organized, working. I love putting on the events I’m involved with; I had a fantastic time at the Retreat in Ireland, and we have a brilliant crew who come in to put on ApacheCon, but there’s still always a “background radiation” level of stress and tension that means it was a very different experience to just “show up” and get on stage :-)

My talk was a lot of fun to give – I was delighted that my mum could attend, and it’s always a thrill to have a packed room, whether it’s big or small :-) The audience were a mix – some friends for backup, others for mild heckling, and a whole lot of people, academics and engineers alike, who were completely new to Open Source. I’m too much of a perfectionist to ever be pleased with my presentations, but the feedback was universally positive, and I hope they’ll have me back next year! The organizers very kindly invited mum to share lunch with us before she had to head back home, and it was lovely to be able to introduce her to some of my “Apache friends” ;-)

The conference was unusual, in that it had essentially been assembled by a crack team who decided who they wanted to have speaking, wrote up the abstracts, and then asked those speakers to speak to the chosen topics :-) It ended up being a really solid program, with lots of interesting talks from a great cross-section of the open-source and academic communities.

Once I’d gotten my talk done, it was much easier to relax, and Thursday night started off with a wee dram in my room. We had a variety of things to taste, and some excellent (and knowledgable!) company. We didn’t get too very far before it was time for the gala dinner, in an unmatchably beautiful setting – the Dining Hall at Keble College. It was a lot of fun, although I was eventually warned off dancing on the “precarious” floor, a little while after Paul brought out his whistle. The only thing for it, of course, was to move back to my room, where he kept the music going until well past bedtime! Happily all the neighbours were in attendance, and no one seemed to mind too much :-)

The rest of the conference was, of course, of a standard – unsurprisingly! But the fun didn’t stop with the closing plenary, as we headed on for a pre-BarCamp dinner. I retired early, but sadly didn’t get much sleep – World Cup, a warm night, and accommodation above a bar with a great BBQ menu conspired to keep me awake rather longer than I’d wished. And there was no opportunity to sleep on in the morning, despite staying at the BarCamp venue – some tour organizer was wandering up and down the corridors from early morn, trying to determine where her charges were sleeping by yelling for them :-(

The BarCamp more than made up though – a packed schedule, great content, fun presenters, and lots of audience participation. Robert of Bunnyfoot gave a particularly memorable talk about the use of eyetracking, and my sincere apologies to the Apache crew, on whom I completely accidentally bailed, and only turned up for the second half of the “Apache Way” talk I had intended to co-present.

We had a truly delicious Indian dinner afterwards, whereupon I discovered the first person I know who didn’t grow up in Dublin but has heard of “Jesus: The Guantanamo Years” :-) Some of the Americans bailed on the Indian to have Whetherspoons fish & chips, so of course we had to rejoin them and provide appropriate mocking! By then, of course, USA/Ghana was kicking off, and we turned up in a (briefly!) very quiet pub to watch the match.

Much hilarity ensued, a good proportion of it stemming from those unaccustomed to the Irish style of sports supporter laughing at me :-) The result didn’t work out as we hoped, but overall I think everyone had fun, and if they were truly traumatised, the Americans did a good job of hiding it.

Thanks to all involved for not one, but two great events! Hopefully, I’ll see you all again next year ;-)

Ada Lovelace Day - We love you Sheila, we do!

I almost didn’t take part in Ada Lovelace Day this year. Between recently taking up dancing, where I find myself suddenly in a pretty solid majority, and being bogged down with work (both $dayjob and Apache), the unicorn status has firmly lost any sheen it might ever have had. The performance is just exhausting.

But perhaps at times like this, it’s even more important to reflect and to celebrate those women whose achievements have inspired, have made possible, my own participation in technology and science.

Dr Sheila Gilheany was the first female lecturer in Astronomy at the Armagh Planetarium, a place I still remember visiting as a young girl. My first encounter with Sheila, however, came when she took up the directorship of the then-new Irish Centre for Talented Youth (CTYI). (Yes, I’ve heard all the jokes about the spelling of the acronym.)

Sheila Gilheany, via

In that role, Sheila was not only a vocal supporter of Ireland’s academically-gifted youth, but also an inspiring educator. I first learnt to program at CTYI, using Logo to learn simultaneously about geometry and angles, loops and variables :-) Over the course of several summers, I studied everything from Visual Arts to Creative Writing, from Pharmacology to Psychology, from International Relations to Legal Studies.

When, at twelve, I was in bits trying to get my head around what exactly pH was, Sheila was there to cheerlead, and wipe away the tears if necessary! (I already knew pH was a measure of the acidity of a substance, but trying to calculate the anti-log of the hydrogen ion concentration should perhaps not have been introduced on Day 1!)

Later on, when I decided that Decision Maths just wasn’t what I wanted to spend my summer on, she let me switch to the International Relations class, which turned out to be even more bizarre than the discussions of Martians and umbrellas that I had left behind :-) Sheila always expected the very best from everyone she worked with, but she provided support in abundance. From the Quaker we elected (democratically!) to office of God, to the girl who wore a Beanie Baby on her head for three weeks, if she was fazed, she never let on! (If any of you have pictures of the Beanie Baby, I want a copy!)

By the time I went back as a teaching assistant, the range of classes had grown vastly (I helped teach Forensic Science, as well as Computational Linguistics). Sheila had, by then, moved on, but her legacy was clearly thriving.

But Sheila’s infectious love for science benefitted not only the CTYI students. As Director of the Centre, she also oversaw the launch of the Pfizer Science Bus, possibly the coolest coach in the country :-) The Science Bus contained a well-equipped mobile science lab, fully connected with gas, water, electricity and even an internet connection! The bus visited schools around the country, and students were invited to investigate everything from optics to satellite technology, from chromatography to the chemistry of food. Of course, there were also explosions, colourful experiments, shiny demonstrations, and much more!

Sheila is now a Policy Officer at the Institute of Physics, but it cheers me greatly to hear that she is still keenly involved in science education :-)

A cave-walk, you say!?

Yesterday, I joined some of my colleagues on a cave walk. Having previously experienced Ailwee Cave in the Burren, I was expecting a leisurely walk through some beautiful geological features. In retrospect, the name of the cave–Hölloch, or Hell Hole–should perhaps have provided a clue.

Switzerland’s wonderful public transport got us easily to Muotathal, where the cave is situated. Four-minute connections between Swiss trains are a solid guarantee that you’ll get there on time – unlike Ireland, where they’d be a pretty good guarantee that you’ll miss your connecting journey and have to re-route via the furthest point on the island.

The first clue should perhaps have been when we got to the caving center, and they asked for name, address and phone number – specifying that they didn’t want our mobile numbers, but a number that could be used in case of emergency :-) Next clue, had I been watching, might have been the welly boots, full suit overalls, heavy gardening gloves, and good solid helmets. But I wasn’t watching, and once we were all suited up, we headed off happily up the mountain to the cave entrance.

We crossed a few small bridges on the way up the mountain, which I found a bit terrifying – but I pressed on, assuming that once we got to the cave, all would be well. Our guide stopped for a moment along the way, and asked if anyone had asthma, was afraid of heights, or narrow spaces. Thinking back to the last time I was asked that latter question, in Newgrange, I thought “well, yeah, I am petrified of truly narrow spaces, but the spaces in Newgrange weren’t so bad, so maybe this will be fine.”

I am, I will readily admit, an idiot.

So, we walked in to the cave, it’s not nearly as beautiful as Ailwee (and we’re all on headlamps – no artistically arranged electric lighting here!), but that’s ok, we’re only at the entrance. Next up, the guide warns us, is a little bit of scrambling. I’m mostly ok with that – I’m afraid of real climbing, and heights, but this is more just low ceilings and craggy floors.

Mild terror sets in when we come to a bit where you have to lie down and wiggle through the crack, but it’s a very short stretch, and I can see that it opens up to standing-room on the other side, so it’s fine. We all get through, and the guide takes a photo of us from way above, down through a fairly narrow gap. He had gone around the other way, and I’m assuming we all now go back the way we came, and on the way he had gone. But no. Now we’re meant to climb up there!?

Offsite at Hölloch

With a bit of a boost to get me up as far as the first foothold, and plenty of encouragement from those who’ve done it, I manage to get up. Argh! Scary!, but I’ve made it. We get everyone out, and start walking down further into the cave. As we walk along, I’m thinking “y’know, he asked about heights and claustrophobia, but he never asked about fear of the dark. It’s pretty dark in here. I’m kinda scared”. I try not to be a scaredy-cat, but heights, narrow spaces, climbing, and the dark are all things that will set me off.

Next stop, whaddaya know, it’s time to turn the lights off. There is no place darker than a cave with all the lights off, unless it’s a few hundred meters into the cave, and several hundred meters down, and even if there were cracks to the air above, they’re all filled in with an alpine winter’s worth of snow… And now he wants us to walk along like this!?

I put my left hand on the shoulder of the guy in front, and the guy behind me puts his left hand on my shoulder. Right hands are on the rock face, and off we go. The guy in front races ahead, and I’ve lost him within seconds – the guy behind keeps gently pushing me forward. I didn’t scream, but only because my breathing was far too panicked to get enough power into my lungs. I’m sure we can’t have gone too far, but it was horrific.

We spent about 3hrs exploring the cave, and I’d estimate less than half an hour of that was in spaces where I could stand straight. We climbed and crawled across sharp rocks, wedged ourselves into spaces to keep from slipping back on sandy spots, and at one stage traversed a two-foot-deep pool across a space that can’t have been more than 3’6″ before the water came. I was crying by the time I made it across – and I would never have made it at all if it weren’t for a colleague holding my hand, coaching me, telling me to breathe, keeping my balance right! Thank you Matthias!!

Two-thirds of the way through, we stopped for a rest, and an optional side tour. Stephen, Pierre and I opted out, and sat down on the rocks. Then, it started to get cold. So Steve and I found the one spot where we could stand mostly-upright, and broke into the Charleston :-) With a bit of encouragement, he even managed to do a swing-out, although I had to be careful where I stepped, as we had a “slot” just wide enough for one foot at a time between the rocks!

The break, and the dancing, did me good. When the guide returned with the others, he suggested that I stick straight behind him – keeping the whole group at the pace of the slowest member. I would have felt bad at doing so earlier, but I was getting tired and sore, and I was glad of his help. With lots of grit, and plenty of help from my friends, I made it through to the last hurdle.

“There’s a ladder”, he said. “You should go last, so I can help you”, he said. We got to the spot, a ravine with a ladder stretched over it. Hard to see what was on the other side. The guide went over, then the first of our gang. Across the ladder, and then somehow “up”. Rocks in the way, no way to know what happened next. Sitting beside the chasm, petrified of the ladder. Everyone else goes across. The guide tells the other person who’s afraid of heights “just look at me, don’t look down”.

I can do that. I have to, to get out of the cave. I crawl across to the ladder, fix my eyes on the flame of the guide’s lamp, and slowly make my way across. Hang on, it’s a dead end. Where now? Up!?

The way out of the cave is a 50m climb, straight up. Through a narrow crack. In the dark.

I can’t even get my foot to the first foothold. I climb up on the guide’s knee, and make it from there. I have never been so afraid. There are metal rungs sticking out of the rock. Some of them, I can get. Most of them are a few inches too high. Sometimes, the guide can push my foot up, and I make it. Other times, I just have to wedge my back against the wall behind me and make that leap of faith. It was, without exaggeration, the scariest thing I’ve ever done. It seemed to go on forever. Towards the end, the rungs turn into a ladder. There’s more space, but there’s also a ladder in the way :-) And it’s offset, a couple of feet to the left of the rungs I’ve been relying on.

I’ve screamed a couple of times along the way, and cried once. But it’s nothing to this ascent, which is punctuated by a stream of terrified invective against the cave, the ladder, and my slippery wellingtons! By the time I make it to the top, I’m barely breathing, and shaking from head to toe.

In the finest Swiss tradition, we finish with an Apéro. Beautiful plates of cold cuts are laid out, with fresh bread, and delicious wine. I go straight for the bottle of water, fill my cup, pass it on, take it back to refill my cup, and repeat until I’m almost calm. I’m still shaking, but the food helps a little. My lungs are full of cave dust – it’s a solid eighteen hours before I can breathe properly again. We head out of the cave, and back down the valley, where the wonderful Swiss transport system conveys us safely home.

Yesterday, every muscle in my body was jelly. I could barely stand (although I did an almost-convincing Charleston a couple of times on railway platforms to keep warm!). Every movement felt like fire. My legs were constantly threatening to cramp.

And yet, amazingly, today, I’m generally alright. By some miracle, I can move, I can walk, I’m not a solid mass of stiffness. My right shoulder is oh-so-sore, and my neck is beyond painful. My knees are skinned, and bruised to halfway down my shins. My back is blue and purple, my left forearm is yellow and blue, my right upperarm is just solid purple. But overall, I’m just thrilled that I made it out alive!

Lessons learned:

  • When someone suggests an offsite, do some research before signing up.
  • When someone suggests an offsite outdoors, be doubly careful.
  • When someone suggests an offsite in a cave, just say no.
  • When in doubt, Charleston! It’ll keep you warm if you’re cold, take your mind off the cave if you’re panicked, loosen your muscles if they’re threatening to get stiff :-) (A swing-out is an acceptable alternative, but requires slightly more space, and should perhaps be avoided on busy train platforms.)

Does anyone have some arnica?

The morning after three nights before!

Or “It seemed like a good idea at the time!”

Over the last couple of weeks, I’ve made several new friendships, and spent time with old friends, among my Google colleagues. It seemed like half the engineers formerly-known-as Sysops were in Mountain View, and I had already stayed up til 6AM with Tiarnan more than once before last weekend.

Last weekend, however, truly set the bar for future great nights out, or indeed whole weekends :-) The previous bar was hazy: depending on how you measured, it could have been any of many nights at CTYI, one of a few nights in Munich, or a particularly memorable night during the offsite-residential part of one of my courses while I was studying in Munich, when we stayed up til dawn singing (including some awesome German on-the-spot rapping, a citronella candle full of bugs, and swimming in Chiemsee).

Looking back, the following seem to be common threads in any great night:

  • Staying up far later than is reasonable…
  • With people who are generally insensibly bright, and experts in their chosen field…
  • But who still manage to be socially stimulating…
  • Listening to good music, particularly if it’s of a genre I’m not especially familiar with…
  • Telling stories, sharing jokes, having a laugh…
  • And trying things I wouldn’t normally do, or that I haven’t tried before, or that are generally inadvisable (in the sort of “but why would you want to set a styrofoam cup on fire?” “Just to see what happens?” way)…

Last weekend involved all of these, and more!


It started out on Friday evening, with a reasonably sedate dinner at a delicious Vietnamese place. Present were Dim, my flatmate in the corporate apartment; Gordon, a Sysops manager; Liam, another Irish EngProd exile visiting from Zürich; Tiarnan, whose official function is not yet clear to me, but appears to be some kind of anti-productivity mission; and I, your humble narrator.

After dinner, Dim, Liam, Tiarnan & I had planned to go to Bourbon & Branch, possibly my favourite bar in San Francisco. Our plans were sadly foiled by the fact that Liam’s passport was back in Mountain View, and they were being especially strict about the types of ID they would accept (which they had failed to relay to me in either the phone call or the e-mail I had received that afternoon, confirming our reservation :-( ). Not to be put off by such a piffling defeat, your intrepid party carried on to an almost-equally-fine establishment nearby, which was immeasurably improved by the presence of a pool table down the back, which had lots of free space around it.

(At this point, I must refer back to my foursquare feed to be quite sure of what that establishment was called :-) It was Rye.)

I was disappointed to learn that a strawberry daiquiri was out of the question, but found myself suitably consoled by their Hemingway. We stayed at Rye until well after midnight, at which point we attempted to relocate to Swig. Unfortunately, they were being just as fussy about ID as B&B had been, so we retired to the corporate apartment that Dim & I were sharing.

We happily polished off a bottle of the delicious Judd’s Hill “Magic”. As I went to explain the story behind the wine, Tiarnan idly remarked that the magic was that it erased memories, and pointed out that we’d shared a bottle of the same stuff previously :-)

Magic wine

Liam left us sometime about 02:00, and Dim retired closer to 03:00, leaving Tiarnan and I to sort out a bottle of the eminently drinkable “Hess Collection Mount Veeder 19 Block Cuvée“. We did our best, and Tiarnan gladly educated me on the talents of several artists I’d never before heard of, including the truly fabulous Jewel, using the magic pixies behind Grooveshark! I also had my first taste of swing dancing, and was utterly confused by what now seems like a relatively simple triple-step :-)

Shortly before 06:00, we continued on our way, and finding the Muni just about to pull out as we got to Brannan, we hopped onboard! Happily, we were on the right line, as we headed towards Carl & Cole on the N Judah. Our luck wasn’t entirely to last, as we missed our stop and ended up walking back a ways. We stopped in to an early-morning cafe, where they took one look at us and pointed us straight down the street to Kezar Bar & Grill. We missed the kickoff, but caught most of the Ireland-Italy match, interrupted only briefly by a reasonably authentic full Irish.

The England-Wales match saw us sharing our second-breakfast, a plate of French toast deep-fried in sugar. It kept us awake until Liam arrived to rejoin us, and once the match was over, some bright spark suggested we head to Dottie’s. Unfortunately, some time between leaving for dinner the night before, and leaving the pub after the second match, a flaming ball of nuclear energy had appeared in the sky. We were none too pleased with this development, but soon found ourselves queuing up for a third breakfast.

In front of us in the queue were a teacher with her 5mo old baby, and her cousin Stacey. The teacher was in San Francisco for a conference, and Stacey had come to help with the baby. We chatted away, laughed at each other’s jokes, and generally shared good cheer as we waited for yet more food (preferably tiramisu), deep-fried in sugar. At some point, Stacey gave me not only a phone number and an e-mail address, but also directions, in case I should ever find myself lost or bored in Dunsmuir, all charmingly scrawled on a sheet of beautiful flower notepaper :-)


By the time we had eaten breakfast, Tiarnan & I were thoroughly broken, and Liam had to return to Mountain View. For those of you keeping score, I had been up for >30hrs by that time, and Tiarnan was only an hour or two behind. We headed back to the hotel for a brief kip, and woke again conscious, if not refreshed, some time around 18:30. Tiarnan was planning to go out dancing, and just as I was about to head home, foolishly extended an invitation for me to join him :-)

But before we could dance, it was time for fourth breakfast dinner. Dim rejoined us for a delicious Indian, and Tiarnan & I made plans to be at The Rent Party in time for their drop-in Swing class at 21:30. We got there at 21:00, only to find out that the class had started at 20:30. Tiarnan graciously offered a crash-course, during which I learnt the aforementioned triple-step, and succeeded in tying myself in rather impressive knots every time he tried to swing me out :-)

The Rent Party

It wasn’t long before his friends (henceforth, the Sacremento posse) arrived, and our lesson was interrupted. Tiarnan’s friends, it should be pointed out, are overwhelmingly female. This worked out famously for me, coming from the typical Google world, where I can tell that it’s a writing-team meeting if the proportion of women tips above 10%. The Sacremento posse in particular are people who know him from the dancing world. For the record, Tiarnan has been dancing for many years, and is, to put it mildly, accomplished. This became relevant sooner than I had expected.

Tiarnan graciously shared the first dance with me, and I think I acquitted myself reasonably. This may have been because he confined his dancing to the two steps he had taught me so far, but we won’t speculate too far on that. I was about to sit down when one of the Sacremento posse invited me to dance. Knowing full-well that there’s only one polite reply to such an invitation, I acquiesced gladly. This dance went about as badly as the previous one had gone well. It improved somewhat, about halfway through, when the lead stopped for a moment, looked at me, and said, as politely as I’m sure he could, “you don’t know East Coast, do you?”. I explained that no, we hadn’t been introduced, and in fact, I had only started dancing in the prior half hour, which he took with great grace. He proceeded to teach me the basic East Coast step, which I promptly forgot.

My third dance, in which I learned the value of a good lead (or the additional difficultly that a poor lead presents to a new follow :-)). Nonetheless, I had fun, but now I needed a break, and some time to shove my rapidly-melting brain back in to my ears. I found the water coolers, wrote my name on a cup (not much contention for “Noirin”, really!), and tried to process.

The rest of the night went swimmingly. I managed about a dozen dances, with no fewer than eight leads. I mostly survived, and the leads were all very gracious. I may have broken one of them just a smidge, when I proceeded to hijack the dance slightly, and teach him the triple-step, but overall I think all involved had fun. I enjoyed watching some stunning dancers, particularly in the Blues room, and suffered only a minor shock on returning to the Lindy room from the Blues room and discovering that the music was approximately twelve times faster :-)

Tiarnan having warned me that he planned to leave before midnight, I was not entirely surprised when we ended up closing the joint, and the magic of the internets (and the cars of the Sacramento posse) got us to Grubstake. I wasn’t really ready for their delicious chips, but did enjoy the gallon of ice-cream that I was served in the guise of a milkshake.

I managed to remain conscious long enough to get out of the diner and into a taxi. We headed back to the hotel, and rounded three sides of it before we found an open door, and crashed into bed. It was about this time that Tiarnan sent the following tweet, and yes, noirins was well and truly broken, although I would point out in my defence that it wasn’t so much the 30 hours that killed me, as the night of dancing that followed.

Sunday, I’m almost sure…

We were woken at some truly unmerciful hour, it can’t have been much past noon, the next day (for those of you who’ve lost track, the narrative has now made it to Sunday, at least in some universe), by the hotel fire alarm. I was perfectly content to die in the fire, as long as it didn’t involve moving anything below my hips. Tiarnan, on the other hand, insisted that we evacuate, a decision that was happily overruled by the lady on the intercom assuring us that the alarm was under investigation and we would be informed if there were any further developments. It wasn’t long before she returned to tell us that it was a false alarm, but by then we were awake.

For full disclosure, we had woken to the sound of Tiarnan’s alarm shortly before 07:00. Happily, he had been unable to stream the Scotland-France match over the internet fumes that the hotel provided, so we had rapidly returned to the embrace of Morpheus.

Anyway, once the fire alarm had woken us for real, I conducted a thorough study of the ceiling while Tiarnan conversed with no fewer than a dozen people via at least three media. We got up and found the most hip of San Francisco’s many hipster cafes. I had a swig of his mocha, and was surprisingly impressed. Tiarnan had thus introduced me to Swing and coffee in one weekend, a combination I feel confident will reoccur at some point.

At this point, I had planned to go home, get changed, and head to a Superbowl ad-watching party. Not the most dreadful state, but one from which I was rescued by yet another invitation to join Tiarnan’s friends. Given that the ad party was being held in the Internet Archive’s location, I figured I’d find a more fun gender-balance with his mates, and the decision was made. San Francisco being truly, wonderfully San Francisco, it was no problem for me to run out, get clean socks and a t-shirt, even in the twenty minutes I had before we were due to leave. For the record, if you’ve been wearing the same clothes for two days straight, and can only change one thing, make it your socks. OMG, that felt good!

Who dat!?

After possibly the wildest taxi ride of my life, including both San Francisco hills and driving down the street on the sidewalk, we found the party, and I settled in between the wonderful N’Awlins Helena and a dancer called Dana. Helena provided illegally delicious BBQ shrimp, with a sauce you could just drink. Dana, not to be outdone, explained the rules of American football as only a woman can, and we proceeded to transmit as much sound energy as possible directly back through the screen to the Saints.

I will readily admit to a certain fondness for New Orleans, and was only too happy to support the Saints. The football was, surprisingly, more entertaining than the ads, although I will give full props to Dove for possibly-unintentional comedy value, and to Google for a very well-received Parisian Love. (The football may also have been made more fun by the fact that Dana had placed a small bet, and we were therefore screaming for specific scores at both half- and full-time, not just for a single winner :-))

Once the game was over, and the victory celebrated, the weekend seemed almost complete. But no! What of the ad-watching party!? We headed back towards the Tenderloin to meet up with Tom, and find out how the party had been. Sadly, Tom’s companion had just been turned away from Swig, because her ID didn’t meet their exacting standards :-( So we retired to the hotel bar for a bevvy (and no, I still hadn’t gotten my strawberry daiquiri!). Tom & Pam left us after one, and since both Tiarnan & I were in possession of the magic harp-stamped documents, we returned to Swig just one more time.

The lack of strawberry daiquiris at Swig rapidly became moot, as we shook our booty to a rousing chorus of “Oh when the Saints” from the live band. It was almost as fun as Hallowe’en in New Orleans, and possibly better since it involved slightly more manageable crowds. I had my first taste of Blues dancing, and any preference for Lindy that I might have expressed on Saturday was rapidly forgotten as I fell in love with yet another new dance.

The end of the night was marred by a drunken Irish idiot, who didn’t understand the basics of “no”, but Tiarnan did an absolutely impeccable job of looking after me, and really, the whole affair should not be mixed up with the absolutely fabulous weekend I enjoyed.

And thus you have the tale of possibly the best weekend I’ve ever had. I made new friends, I got in more girl-talk than I’ve had in the last very-long-time, I fell in love with two new dances (and I’m already signed-up for Lindy classes when I get home!), I got to talk all night long, for several nights in a row, I discovered new music (listen to Jewel & Sarah McLachlan’s “Water is Wide”!), I had, in short, an absolute blast.

Unfortunately, I have now returned to work, where I am trying to write concise, informative documentation, on a shockingly short deadline. I would have made this post more brief, but I just didn’t have time. If you made it this far, my apologies for the length. Remind me the next time we’re in the same city, and I’ll buy you a pint :-)

v1.3 is dead, long live v2.3!

The Apache HTTP Server team recently released 1.3.42, the final release of the hugely-popular 1.3 codebase. I wrote a bit about our reasoning, and where we’re going next, in response to some questions from El Reg. A lot of people have been asking about the decision to stop support for 1.3, so I thought I’d republish what I wrote.


In June 1999, the Apache Software Foundation was incorporated in Delaware.

A year previously, Apache HTTP Server 1.3.0 had been released, and it was rapidly becoming the most popular web server on the planet.

Not known for resting on their laurels, it was barely nine months later that the Apache HTTP Server team released the first alpha of Version 2.0. This was a significant rewrite of much of the original code, focused on improving modularization and portability. It made general release in April 2002, and remained best-of-breed until Version 2.2.0 came out in December 2005.

More than ten years and forty revisions later, Apache HTTP Server 1.3 has reached end-of-life status. Version 2.2 has been available for more than four years, and is widely deployed across the internet. Although critical security fixes may be released as patches for Version 1.3, there will be no further releases or support from the Apache HTTP Server team. We encourage all users of Version 1.3 to upgrade to Version 2.2 as soon as possible.

If you’ve been reading closely, you might be wondering what happened to 2.1, and what the developers were doing between April 2002 and December 2005? Since the advent of Version 2.0, the Apache HTTP Server team have reserved even-numbered minor versions for stable versions of the software. The odd-numbered minor versions are made public as alpha and beta releases, allowing developers to try out the bleeding edge of new features, and giving module authors a chance to prepare their software for the next release.

For anyone working on code that integrates with the Apache HTTP Server, these odd-numbered revisions are your best opportunity to request changes in the API, before it is released as stable!

The current best-of-breed stable version of Apache HTTP Server is Version 2.2.14, released in September 2009. But if you’re already itching to take Version 2.4 for a test drive, you can get a headstart by installing the alpha Version 2.3.5, released just last month. This version includes significant improvements to caching and proxying behaviour, and will eventually be released as Version 2.4.

Why will the 1.3 code no longer be supported or updated?

As I previously mentioned, Apache HTTP Server 1.3.0 was originally released in June 1998. To put that in perspective, it would be another three weeks before Microsoft Windows 98 became available, a product which, despite significant commercial support, reached end-of-life four years ago. The first production 1GHz processors didn’t ship for another two years; today, if you want to buy a 1GHz processor, you’re probably in the market for a new phone!

Version 2 is a significant improvement over 1.3. The API has been rewritten to prevent many of the problems with module ordering and priority. Better support exists for non-Unix platforms, and smart filtering is now available. Version 2.0 includes support for IPv6 and multiple protocols, while Version 2.2 adds LFS, enabling you to serve files over 2GB in size. The core modules for authentication and authorisation have been greatly improved, as well as subsystems from caching to proxying.

In short, technology and the Internet have come a long way in the last twelve years, and Version 1.3 is simply no longer the best-of-breed solution it once was.

What has happened to 2.0? What should 1.3/2.0 users do now?

Version 2.0 continues to enjoy bugfix releases, but does not see active development.

We encourage all users to upgrade to Apache HTTP Server 2.2.14.

What’s the planned features roadmap and release schedule for the next version?

The Apache HTTP Server team release software when it’s ready – we prefer to ensure that our releases represent the best software available, rather than worrying about shipping deadlines. Features currently under development include further updates to auth modules, as well as state-of-the-art cache and proxy modules. If you’re impatient to try these things, you can check out Version 2.3.5 (alpha). Or, if you’d prefer a more academic look at the subject, you might enjoy Roy Fielding’s presentation, “Apache 3.0 (A Tall Tale)”.

Key facts

  • Apache HTTP Server Version 1.3 has now reached end-of-life status.
  • The current best-of-breed stable version of the Apache HTTP Server is Version 2.2.14 – we encourage all users to upgrade to this version as soon as possible.
  • For those who prefer to try out new features as soon as they become available, Version 2.3.5 provides an alpha preview of what will become stable Version 2.4.
  • The latest version of the Apache HTTP Server is always available from our download page.