Your Open Source Stories

In this post, I am asking for your help and input, although it might seem like a post about nothing in particular to begin with. Please keep reading!

Last month, I gave a talk at TEK-X entitled “Open Source Your Career”. Personally I think that a lot of the high fliers in this profession use their community activities as a boost to their professional development, and I know that this has been true for me too. So in my talk I told stories about situations I’d met in my professional life and how I’d either achieved or made new opportunities by building on skills and experience (and network) that I’ve come across in my community activities.

For example I said to my CTO, Ivo Jansch that I was giving this talk and he asked what it was about. I said that, in a nutshell, I didn’t think Ibuildings would have trusted any of their developers to host the Dutch PHP Conference unless they’d seen that person hosting events elsewhere – as a volunteer co-host of PHPNW, I gained some experience doing this sort of thing. His response really brought home how true it is that getting out there can reap rewards in ways we don’t expect – or in my case don’t even recognise. He simply said “one reason you have the job you have now is the fact that you did an oracle podcast for zend once which I heard when I received your CV”. It hadn’t occurred to me that activities like that would have helped when I was changing jobs.

What I Need From You

I’m giving this talk again, at FrOSCon in Germany in August. It was a huge amount of fun to deliver last time but I’d really like to pull in more stories from other people to include in my talk. So … have you ever got involved with something outside of your day job, only to realise later that it was a good career move? And would you let me tell your story?

Answers on a postcard, by email, or in the comments field below. Any and all input is very gratefully received :)

Text Commands for Skype

I use Skype on linux and the client is quite limited in terms of buttons etc, which doesn’t bother me at all since I don’t use a mouse unless I must (answering skype calls forms a lot of the “must”!). In group chats however, its annoying to have the alerts popping up all the time and I don’t have a menu option to stop them. To disable them I discovered I can just use:

/alertsoff

The / lets skype know its a command – much like IRC! There’s a full list I found on Skype’s support site, very handy :)

DPC Retrospective

I spent most of last week and the weekend in (rather rainy) Amsterdam for the Dutch PHP Conference. This is an event that is in its 4th year, although I was attending for only the 3rd time. Two years ago, I spoke at DPC – my first conference talk. This year, I hosted the event, which was quite a different experience. The event is organised by my employers, Ibuildings, and I was astonished to be asked late last year if I would like to be its host. Hosting an event is quite a different set of anxieties from speaking at one, and although there were a few minor emergencies along the way (lost speakers, really “interesting” CfP submissions, a moment where only half the venue would have wifi and some sessions failing to run to time), nothing worth getting stressed over!

The event was great (can I say that myself?) and with a world-class schedule, excellent speakers who all delivered on the day, sponsors who supported the venture and of course the attendees who showed up, took part, joined in with the uncon and generally made the whole thing into the fun it was – I could not have asked for more. As for the community friends who kept on sneaking up on me with a hug or a word of encouragement … I can’t ever thank any of you enough. On a very personal level it was fanstastic – I’ve enjoyed DPC for a few years and although the weather in Amsterdam was not so kind this year, the friends at the event (both the people I had already met and the friends I made while I was there) made it more than worth it.

Poor Man’s Caching

Describing something as a “poor man’s” version of the thing is to say its a bit of a cheap or short-cutting version. I thought I’d share some VERY poor man’s caching that I came up with the other day.

To set the scene – I’m hosting the Dutch PHP Conference this week and there’s a LOT of information to keep track of. Between tweets using the hashtag, people tweeting either my username or any of the conference twitter accounts, the schedule itself which will change as we’re having a no-prior-scheduling uncon, and the event and talk-related comments coming in via joind.in itself, its quite a bit of stuff to track. Add into the mix the fact that my iphone’s data package will be too expensive to use in NL and although I will have a phone with a data package it wont’ be mine and there’s no guarantee exactly what it will be. Oh and conference wireless, which last year wasn’t bad at DPC but you have to assume there’s a bottleneck.

So I figured that since I have a fast production server with lots of spare resource, it can do the hard work on processing the feeds, and just serve me a basic page with everything on and some internal hyperlinks to get around. So I wrote this monster, which runs a bunch of twitter searches and pulls in schedule and comments from joind.in, and that was good.

Except, it does take quite a long time to run (well, a few seconds, but that’s too long in my book) so I thought about caching each result set in memcache, and writing a cron job to repopulate those regularly, so every time I hit the script, the cache would be warm. Then I realised I was overcomplicating the matter, and simply wrote a cron job to run my php script and pipe the output to a static HTML file every minute! Whenever I hit the page, I’ll get the latest version. It doesn’t scale but it doesn’t need to, its only for me to use for a few days! Here’s the cron job:

* * * * * php -f /path/to/generate.php > /path/to/index.html

Job done! (the actual page I made is/ here if anyone is inquisitive)

Magic Methods on Think Vitamin

I’m happy to announce that my new post 9 Magic Methods for PHP is live on Think Vitamin this morning. I’ve written a series of posts about OOP for the site, with a few more to come, and these “underscore-underscore” methods make for some very neat tricks with PHP, which I’ve tried to show in the post. Hope you like it :)

The Unavoidable PHPWomen

I’m subscribed to a number of women-in-tech mailing lists because, well, I’m a woman in tech. Every few months or so a thread will come round about a technical conference with no female speakers. The issues around this are many, lengthy, and not something I want to write about here (or not today anyway!).

I was pleasantly surprised to note, then, that at the recent TEK-X conference, there was one slot where you could not AVOID seeing a female speaker. While Elizabeth Marie Smith delivered her slightly ranty “Cross Platform PHP”, Ligaya Turmelle was sharing her wisdom in her session “Replication with MySQL”, and in the remaining track there was a community roundtable, with my noble self on the panel! (OK so a panel is not a talk but hey, bear with me!)

I want to say thanks to TEK-X for being an amazing conference, to the community for being generally fabulous, and to the women in particular for being awesome beyond belief – this was a good day :)

DPC10 Has an Uncon

As the Host of the Dutch PHP Conference this year, you can imagine I’m squeaky-excited about the whole event. This story goes right back to last year though, when someone (Ivo? Cal? I don’t know who) conceived the idea of including an unconference in this year’s event. DPC is easily one of my favourite conferences and although I work for Ibuildings, I wasn’t directly involved with its organisation last year. In the autumn I wrote a proposal for running the unconference, and it was agreed that we should do it. Fast forward a bit and I became the host of the main conference, which is great news but left a slightly abandoned unconference behind – until the PHPBenelux user group stepped up and will be hosting the unconference alongside our main event (thanks guys!)

I’m so excited about the unconference, although I don’t know how our wider attendees will take to it as it hasn’t been done before locally. In order to include as many people as possible (and to keep the admin overhead to a minimum) we’ll schedule during the conference, on a first-come, first-served basis. This avoids the in-crowd getting voted into all the slots in advance; the uncon is for everyone to take part, not just for the people who are already well known! The uncon will also give us space to include extra on-demand sessions where people are wanting to see more about a particular topic, or see a demo of something a speaker mentions in a talk. Managing a changing schedule in real time will be interesting, we’re planning a two-pronged approach with twitter and Joind.in and I’m hoping this will allow attendees to hear about things they want to see in time to actually see them!

Its a new venture and I’m really interested to see how it turns out … if you’re coming to the conference then I hope you will give the uncon a look (in between the other awesome sessions on the schedule of course) and also take the time to share your thoughts on this and on the event as a whole. If you’re going to be there – leave a comment and let me know :)

A Three-Year Old Home

At one time I wrote about little else than the house on this blog, but these days its a pretty rare occurrence. However this weekend marks three years since we bought this place and moved in, and it does begin to feel like a home. In fact the house is a lot more than three years old, around 115 years in fact, its a old brick-built semi-detached house, red bricks and set over 4 floors as is fairly common in this part of the world (West Yorkshire).

In real terms, not a whole lot has happened in the house this year. I’m not exactly sure what we did with our time but Kevin changed job twice and I’ve been pretty busy so home improvements have definitely been getting neglected! One major thing we did, which I absolutely love, is we decorated my office (scroll down to see the “after” photos!). I have spent quite an insane amount of time at this desk over the last few months, between working, writing, preparing talks, and who knows what else, so having a place that suits me so well makes that so much easier! Control over my environment and only the cat to interrupt me most of the time is my idea of a good working environment! I’ve been working from home for almost 2 and a half years, and still enjoy this as much as ever, which is good news since although Ibuildings now has an office in Sheffield, that’s still a commute that is way too crazy to do regularly.

The office looks over the garden and the garden is one part of the house project which is really coming together in a way that I like. Looking at those initial photos of the space, and remembering that we just strimmed the 4-foot-high weeds down to a couple of inches for our housewarming party … it was a junk yard, really. And now, the flowerbeds I dug out last year have everything just a bit bigger and better this year, and mum has brought me lots of new plants. The climbers I planted along the edge of the nasty garage are getting the idea and growing themselves into beautiful flowery garage-hiding wallpaper (well and they’re growing across and onto everything else that gets close to them also, I had to rescue the barbecue from getting assimilated this week!) After laying the lawn about 18 months ago, and the patio last summer, we now have an apple tree growing in the lawn and some furniture for the patio … all in all its quite a suburban garden:

New Patio Furniture

For me the garden space always had the potential for this, and now I’ve got my own herb garden, annual flowering things (plus a few pretty weeds that I’m allowing to remain), and rhubarb, it really does feel like home!

For the coming year, we’re hoping to sort out our basement/damp problems, once and for all … if we can afford it!

TEK-X: Conference Report

Its been quiet around here recently, partly because I have been really busy and partly because I was in Chicago last week for the wonderful TEK-X conference. It would be very cool to get to go skipping around the world to conferences, however people paying for my airfares do seem to like me to perform some useful function while I am there and this was no exception with one tutorial and two talks to deliver, plus an appearance on a panel. I’ve attended this conference in previous years however so I knew it would be well worth it :) My sessions and an overview are outlined below:

PHP Best Practices

I was privileged to get a tutorial slot alongside my good friend Matthew Weier O’Phinney for a second consecutive year. This year we presented “PHP Best Practices” which was a lot of fun. We squabbled over topics and took turns presenting them from our own point of view. A description of the session and a link to the slides are on the joind.in page if you are interested.

Subversion in a Distributed World

Now that this talk is finally over, I don’t mind admitting that this was the one that I regretted submitting pretty much from the day it was accepted until the day I delivered it, including some rather sleepless nights. It was an adaptation of my “git folks are fanbois” bar rant but I got so concerned that I wasn’t supporting my accusations with facts that it evolved into a very coherent evaluation of what I consider to be the four main version control tools around at the moment: Subversion, Mercurial, Bazaar and Git. The talk went over better than I could ever have dreamed, and again you can find description, feedback and slides on the relevant joind.in page. If someone could please stop me next time I submit a talk that needs as much work as this, that would be awesome!

Open Source Your Career

I almost didn’t submit this talk, since its so very difficult to get a community talk accepted at the big conferences. They usually have one, at most, and I wasn’t sure I was in the top one of submitters on this topic. But, I had a transatlantic airfare to justify and I figured it might make a good second talk – I also know Cal well enough to know he likes a slightly contraversial take on these things. When he accepted it I was fairly surprised and actually quite nervous about spending an hour talking about myself in a conference session! I spoke without slides, so there aren’t any, but you can read the outline and feedback on joind.in. In a nutshell: get out and do things, you will reap the benefits one day.

In Conclusion

I had a great time in Chicago, and also managed some touristy outings into Chicago:

Garden in the City The Bean

The conference itself was quite a rollercoaster, not least because every session I delivered was written from scratch for this conference and I spoke at two other big events this year already – 4 sessions over 4 days is a tall order however you look at it and I had pushed my own boundaries a bit with the talks I submitted (for the record, I submitted plenty of perfectly nice, ordinary, technical talks that somehow didn’t make the cut!) On the final morning I delivered the career talk and then immediately sat on the community panel. I was aware of people saying to me “have you seen twitter?” but I had to turn around between sessions so I just nodded, smiled, and got settled for the next session. The upshot of that was that I sat in Marco’s closing remarks and read 2 hours worth of tweets about me, plus all the joind.in feedback on both sessions, all in one go.

At the risk of understatement, the feedback was totally out of this world, I couldn’t believe how well the sessions had gone over and it took me about 3 days to get over the shock … which is another reason it took me so long to write this post.

I’d like to say thanks to everyone who was there, left feedback, helped me prepare or just showed up to the conference and joined in the event as a whole. Stay in touch and I’ll see you all next year :)