Freelancing Gods 2015

God
16 Jun 2013

Pat's Guide to Running Events

I’m lucky enough to attend quite a few conferences (mostly IT-focused), plus I’ve organised a handful as well (Trampoline and the occasional Rails Camp)… so it could be argued that I know a few things in this area. More accurately, it means I can get quite opinionated on the matter, which was quite clear this evening with a few ranting tweets.

Some friends (rightly) encouraged me to write something down in a longer form, so here we have my recommendations for running events generally, but with a focus on conferences.

Before I get stuck into my thoughts, I want to be clear: organising events is a tonne of hard work, is often thankless, and almost never financially rewarding. I have many friends who run events of all sizes, and this post is by no means an attack on them or other organisers of events I’ve attended. It requires no small amount of bravery and risk to put something together.

Single Track

I’m a big fan of single-track conferences – keep everyone together and focused on the same talks. This does reduce the number of speakers (and thus, ideas being shared on the big stage), but generally it leads to a better set of talks, as you’re selecting the absolute best available.

That said, this is not a deal-breaker – multi-track conferences can certainly work well, especially when the tracks have clear themes.

A tangent for those who are keen to give great talks, technical or otherwise: watch Ben Orenstein’s excellent RailsConf talk – and then watch it again when you’re starting to prepare for your next talk.

30 Minutes or Less

I’m pretty sure no talk needs more than 30 minutes. Keynotes are perhaps the one exception – but hey, if you’ve gone with a single track, there’s no keynotes – and I like the idea of all speakers being equal. And to keep the sessions focused, perhaps have a no-questions rule. Encourage attendees to chat to the speakers one-on-one instead.

Emphasise the Socialising

Don’t forget to add plenty of socialising time in-between talks. I know plenty of people attend events not for the talks but to meet people, to connect with their peers – so do what you can to encourage these opportunities. The excellent Nordic Ruby has a rule that there must be at least 30 minutes break between each session.

Curate Lightning Talks

Lightning talks can be a mixed bag – sometimes they’re great: I remember the final lightning talk at the third Trampoline Melbourne, where a high school business teacher taught us all how to beatbox Billy Jean; sometimes they’re awful: product pitches and advertising bullshit that can mar an otherwise excellent event.

These days I probably err towards having no lightning talks, but I’ve seen it done well and curated carefully, and perhaps that’s the best way to approach it. Anyone can put their hand up, but have someone whose job it is to pick a handful that stand out. The RubyConf Australia lightning talks were top notch, and I largely attribute this to the curation.

No Sponsor Talks

Whatever you do, don’t give away speaker slots to sponsors – every speaker should earn their spot on their own merits. Perhaps you can allow sponsors to recommend some speakers (if you handpick some of your talks), and then they can fork out extra to cover that person’s travel expenses, provided you think they should be part of your lineup.

Be Mindful and Seek Equality

It’s well documented that the technology industry is dominated by men, and that there are plenty of situations where women have been treated terribly. Having a clear anti-harrassment policy is a wise idea, as is making the extra effort to seek out women speakers and attendees (something the JSConf EU team do a stellar job at).

We certainly keep an eye on the male-to-female speaker ratio at Trampoline, and have encouraged women in particular to put their hand up to speak – though we also encourage plenty of men too. The later events have certainly been more balanced than earlier ones.

Parties

Most conference parties suck.

I wish it wasn’t the case, but so often, they’ll be held in some crowded bar with loud music. Whether the music’s good or not is beside the point – I don’t go to conferences for the music, I go to socialise. If I need to yell to have a conversation, the odds of me going home rise dramatically. There’s many in the technology industry who aren’t super adept at being social, and these kinds of environments just make it even harder to connect with other people.

The wise Ashe Dryden raised this point recently, and many chimed in with clear support for parties where there’s more of a focus on conversations.

Also: go easy with the alcohol. I attended one Ruby conference recently where there were trays of shots lined up at the official parties (yes, at loud bars) – a particular shame given the rest of the conference experience was excellent.

I know Rails Camp has garned a reputation in Australia of being quite a drunken affair. I think this is a little unfair – yes, sadly some people do get plastered, but the vast majority are pretty smart with their alcohol intake. Perhaps my issue’s more with the wider drinking culture than with the events/conferences scene.

Somewhat related: I love that Travis CI host meets at cafes instead of bars, running up a coffee tab (and I don’t even drink coffee!).

Start Later

I had the pleasure of hearing Alex Koppel speak at Railsberry earlier this year on the topic of sleep – something pretty critical for everyone, and yet often forgotten, especially when it comes to conference schedules.

There’s sessions all day, then dinners and parties all night – and then you get up bright and early the next day to do it all again. Don’t get me wrong, I don’t want conference organisers to become strict parents, but if you have an official party going past midnight, and then talks starting around 9am in the morning, that might leave just enough time for the recommended 8 hours of sleep. And that’s provided you’re not far away from either the conference or party venues, and the conference is providing you a tasty breakfast.

I’d much rather kick things off in the late morning, let people enjoy their evenings, get a proper rest, take it easy in the mornings, and be awake and focused for all the sessions. Indeed, the next event I run (don’t ask me what it is, I don’t know yet) will begin with brunch, a meal that Melbourne excels at.

Seriously: Melbourne’s breakfasts are the best in the world.

Superb Food & Drink or Nothing

And when it comes to meals, do try to provide excellent food and drink at your event (for breakfasts, lunches, dinners and snacks). You’ve got a great opportunity to keep attendees and speakers all in the same place, all socialising and sharing ideas – but if the food’s bad, people will wander off searching for other options. Of course, this will happen to some extent anyway, but good food is noticed and welcomed.

Good coffee too – there’s always a big cheer for the baristas when conference organisers are closing events.

If you can’t afford these things, that’s okay and completely understandable – but instead of providing limited or average options, give people lists of excellent cafes and restaurants nearby. Or perhaps line up a sponsor whose funds will be directed towards food and drink – and be sure to mention this before meals as well.

We generally haven’t bothered with meals at Trampolines – but at the most recent Sydney event, Caroline and Steve organised simple yet excellent catering, and everyone stuck around, had a great meal and could continue conversations without being caught up in the logistics of finding their own food.

Superb Wifi or Nothing

Good conference internet is hard. I can count the events I’ve been to with close-to-faultless wifi on one hand. You need to decide whether it’s critical for your event, but again, don’t be half-arsed about it: put the effort in or drop it completely.

If you aren’t going to bother with internet (or even if you are), a lovely touch is to go out of your way to organise data-capable SIMs for foreign attendees – and make sure they can be used for tethering. I’ve seen some conferences provide 3G/4G dongles to speakers – which is great – but making that offer to all attendees (even if you charge for it) would be brilliant.

For those in Australia looking to have first class internet access available at their event, I recommend speaking to Donal (once of NodeCity) at Podomere, who knows his networking devices and IP traffic back to front. (I did help him out at a few events – but I was just the dumb labour putting access points in place, he’s got all the smarts).

Superb Schwag or Nothing

Your schwag is almost certainly shit. We don’t need more pens, stickers, flyers, magazines, canvas bags, key-rings and stress balls. They’ll almost always end up being thrown out and ignored – which means they’re a waste of time, money, and materials – all limited resources! Stupidity on so many levels!

I can think of only one conference I’ve been to that had schwag worth keeping – Paul & Eamo’s Funconf. Though to be fair, that event was special on so many levels, and calling what we were given ‘schwag’ is demeaning.

As for the rest – occasionally there’s useful things in the mix, but the goal should be no schwag at all. Sponsors may request it, but be polite yet firm and point out that they’ll get much better returns putting their money towards your food or coffee. You could also look at giving people the choice to donate money to worthy causes instead of creating mindless rubbish.

T-shirts

Perhaps I’m wrong to treat t-shirts separately to the rest of the schwag… much of the same applies, though my rules are slightly different: if you can put together an excellent design and offer it in both mens and womens sizes, and perhaps make it optional (those who really want it can pay for it), then consider it.

But seriously: if it’s not a design that someone who doesn’t go to the event and has no interest in the focus of the event wouldn’t consider wearing, I’d opt for no t-shirt. Don’t bother with sponsor logos either.

Badges

Again, almost schwag, but not quite, as badges can be extremely useful for the duration of the event – as helpful reminders of peoples’ names, as a reference for conference schedules, and even as proof of entry for parties.

But almost always, they’ll be thrown out once the conference is over. Which wouldn’t be such a big deal, except they’re mostly plastic and cords, neither which ever get re-used.

Again, the talented Paul Campbell wins points here for providing simple badges on cardboard, with a ribbon to secure it around your neck. Another option is biodegradable plastic badge holders – but keeping things simple is likely the best option.

Over to you

If you disagree with any of this, there’s a comment box below, let me know – or hassle me on Twitter. There’s a decent chance I’ll amend this post over time as more ideas form in my head, but this should provide plenty to consider right now.

25 Sep 2012

Funconf

This could be a story about a mystery. Or it could be an adventure. Or even a tale of learning and sharing. But ultimately, it really comes down to friendship and trust.

Gaelic Badges

Ah, but where to start? Well, if we look back several years, it starts with my good friend James Healy, introducing me to a programming language called Ruby. That led me to the Australian Ruby community and the very first Rails Camp just outside Sydney, where I met Matt Allen. A year later, Matt Allen introduced me to Geoffrey Grosenbach at RailsConf in Portland, Oregon. A few months later, I found myself in Berlin, where through Geoffrey I met Paul Campbell of Dublin.

And then I met Paul again in Las Vegas, London, Amsterdam, Margate (for another Rails Camp), Berlin, and then finally in his home city of Dublin last year. I now consider myself lucky to call Paul a good friend, and have also had the pleasure of occasionally working with him.

Paul is a man with grand ideas, and one of those is an event he and fellow Dubliner Eamon Leonard concocted called Funconf. Every year as Paul put it together, I would consider travelling around the world to attend, but it just didn’t work out. This year, though, Paul told me the third Funconf would also be last – and so I became determined to be there for it. There were other events in in the same corner of the world I have been keen to see as well, thus it became something of a tour – four months travelling around Europe. Let’s be clear: from the beginning, Funconf was always one of the main reasons for the trip.

But what was I travelling over to be a part of? I knew that it was a conference – well, kind of: there would be some talks, close enough. And it’s a tech crowd that attends, so it’s work related at a stretch. But beyond that, Paul & Eamo weren’t talking.

When tickets were finally released, the website, gorgeous though it was, didn’t shed any light. All it asked was one question: “Do you trust us?”

My answer was always going to be yes.

Even after handing over a not inconsiderable amount of Euros to secure my place, few answers were forthcoming. Food and beds would be covered, but there was no clues as to where those beds would be, let alone what food we would be eating.

So I waited patiently, and began upon my travels. I attended conferences, I wandered through beautiful European cities, and I caught up with many friends along the way.

And finally, I arrived in Dublin at the end of August, still clueless as to what was to come. I wasn’t alone though – about a hundred others had come from across the globe. Most had been to previous editions of Funconf, but they were no more enlightened than I.

We met on Friday morning at a hotel in Dublin – some of us sporting a bit more facial hair than normal, after some tweets from Paul & Eamo – and found ourselves in a situation that felt very conference-like. There was a registration desk, hotel-catered breakfast, and a room with lecture-style seating and a PowerPoint presentation ready to go. This wasn’t what we expected! Werner Vogels, CTO of Amazon, was our morning’s speaker, and the talk was, well, just like any run of the mill conference.

We were being trolled. Or, as we’d say in Australia, Paul & Eamo were taking the piss.

Then, things started to get interesting. We grabbed our bags and were herded onto three big, black limousine party buses (a reference to Funconf 1) and with three shiny Deloreans (a reference to Funconf 2), we were escorted by local police to Heuston Train Station.

The mode of transport stakes were quickly raised – because we were then asked to board a train booked just for us, with the destination being Galway, on the other side of Ireland.

Next stop: Galway

Of course, this was just one piece of the puzzle – what was to come once we arrived in Galway had yet to be revealed. That didn’t bother us much: we all revelled in the experience of the train trip, catching up with old friends and making new ones.

Buses – though nothing fancy this time – took us from the station to another hotel. Again, it was quickly clear that this wasn’t out main destination either as we were led into another function room. This time around, there were no PowerPoint slides, for we were the main attraction: an open mic and an invitation to talk for a few minutes on topics of our choosing.

While most got an opportunity to share – in some cases, more than once – others missed out: as the ideas flowed, Paul was taking a token or so people out of the room at regular intervals, and they weren’t returning. Slowly but surely, the numbers thinned until there were fifteen of us left. If I had been keeping an eye on Twitter, I would have known what was happening – but thankfully, I didn’t catch any of the spoilers. The penny dropped when we grabbed our bags and were led through the back streets of Galway to find helicopters waiting.

Helicopters!

Helicopters!

And so, we arrived in grand style at our actual destination, Inis Mór of the Aran Islands (just off the west coast of Ireland).

All this, and it’s just the journey to get us where Funconf was taking place – the support act, if you like. Of course, with Paul & Eamo planning, the journey is as important as every other aspect of the event.

From there, it was a matter of collecting our amazingly crafted badges (thanks Kilian!) and bags (thanks Kilian’s mum!), settling into a bed & breakfast, and then wandering across the island in search of food, drink and friends.

Arriving on Inis Mór marked a change of pace: not only had we reached the event location (if an entire island counts as such), but part of the mystery of Funconf had been revealed. A large question mark still hovered, though: we had no idea what the next day would contain.

But we would have to wait until the morning for that. Friday evening was set aside for dinner and socialising – a fine way indeed to bring to a close such a uniquely wonderful day.

And once Saturday morning arrived, the rest of Funconf was revealed – well, to some extent. We had our venues: the local church, a nearby hall, a pub; and we had a schedule of when to be at each. The specifics of what would happen in each location was only divulged when required.

Those specifics, for the most part, were talks, and very good ones. None were technical, all were interesting, and they were generally stories or ideas. I shan’t recount each at length, as I would not do them justice (and, well, you had to be there), but my two favourites were Michael Lopp and Tom Preston-Werner (known as @rands and @mojombo, respectively). Fittingly, the focus for both was the topic of trust.

But beside the talks? Well, some of us visited the imposing cliff ruins of Dún Aonghasa, some of us got drenched riding bicycles in the rain (and some of us did both), but throughout there was a constant hum of socialising. While the talks were top notch, I can say with some certainty that the main reasons everyone came to Funconf were the people and adventure.

The evening brought with it a clever talk from Derek Sivers, a rocking performance by Kíla, and much partying – but all too soon, it was Sunday morning and time for us to board the ferry back to the mainland. A subdued ferry ride was followed by buses, and then another private train returning us to Dublin in time for the BBQ after-party.

And just like that, Funconf 3 was finished. A grand success indeed, and perhaps it’s for the best that there will not be another one – for I’ve no idea how Paul & Eamo could top that, plus it makes my experience all the more special, shared with such a superb group of fellow adventurers.

Paul, Eamon: thank you ever so much. I have no regrets for putting my trust in both of you, for it was a brilliantly crafted weekend.

16 Jun 2012

Supporting Smart Social Enterprises in Cambodia

About 18 months ago, I posted here about a campaign some friends of mine ran to kick-start some social enterprises in Cambodia through their not-for-profit organisation Kinyei.

These businesses have taken off, and now my friends want to step back and hand them over to their local staff, so they become completely locally owned and run. This push is also in need of some funds though, and so there’s another campaign. The money raised from this will ensure that the necessary training can be given to the staff, so they’re ready to manage the businesses.

There’s only a few days before the fundraising deadline, and much like Kickstarter, if the target is not met, none of the funding gets passed through – and Kinyei haven’t quite got to that target yet. So, if you can chip in, please do!

Kinyei and Friends

I’ve been lucky enough to visit Battambang in Cambodia in the last year, and was able to see the projects in full flight – and it’s quite clear that the local staff have gained a massive amount of knowledge, skills and life experience from being involved. Particularly of note is their cafe baristas, who have become so well regarded that they compete at the country barista championships and train baristas at other cafes and hotels in Cambodia.

So if you can send some money their way, I know it’ll go to a great cause and make a clear difference. Just head on over to their campaign page to donate.

Seyla, Me and Chouert at Kinyei

02 Mar 2012

Drop in at Inspire9

I was about to write a new post about something technical, but that can wait for another day. Right now, I want to highlight to the world Inspire9, a coworking space here in Melbourne.

Now, Inspire9 is also a web development business, run by the talented and generous Nathan Sampimon. When the word spread a few years ago that he had an office for himself but others could drop by, I started visiting – as did others. Slowly the numbers grew, and instead of being just “Nathan’s office”, there was a growing sense of community and shared ownership, and it had become a much-loved coworking space.

As part of that growth, we had clearly outgrown our existing space – a measly 77 square metres – and so plans were hatched for something much larger. Halfway through last year, we moved into our new residence at 41 Stewart St, Richmond (right beside Richmond Station), with 370 square metres to work and play in (and that’ll eventually double to 720).

IMG_2927

Our office is now a bustling hive of activity – there’s usually somewhere between 20 and 30 people in each day at any one point. Many of us have dedicated desks (it is something I happily pay for). That said, not everyone who works from Inspire9 are residents – anyone is welcome to drop by and use a desk, and it’s free.

IMG_5187.jpg

It’s occurred to me to write about Inspire9 now because of what’s happened in the last 24 hours. Last night, someone stole Kealey’s iPhone while she was making sure an event in the office was running smoothly. Kealey is not only our events manager, but also a key part of the heart and soul of Inspire9 – so we were all pretty upset, and doubly so because it happened in our midst, in our home.

Not content with this situation, this morning Ned got a pledgie running to help fund a new iPhone for Kealey. Within two hours we had the funds, and by the end of today Kealey had a shiny new iPhone in her hands. The full story has been covered on the Inspire9 blog, and I particularly love the title, a very appropriate ‘Restoring Balance’.

While Inspire9 is a fantastic place to work, it’s the community that makes it stand out. I consider myself very lucky to be a part of it.

So, if you find yourself in Melbourne, please do visit. You’re welcome to pull up a chair and get some work done, or perhaps challenge someone to a game of pool. We also now host the Melbourne Ruby and Python meets every month (as well as plenty of other events), and we’re a friendly bunch – don’t be afraid to say hello!

18 Feb 2012

The Ballad of Roger and Grace

One of my favourite times to be in Melbourne is April, because that’s when the Comedy Festival happens in this fine city. And Comedy Festivals are especially fantastic when Daniel Kitson is in town performing – which he will be this year, with a new show.

Daniel Kitson, if you’ve not heard of him before, is not only a talented comedian. He’s also a brilliant storyteller, and often his performances are cleverly woven, heartwarming, and human.

As a rare treat (recordings of his full shows are extremely scarce), he’s put one of his older storytelling shows online – a collaboration between him and his good friend, musician Gavin Osborn, titled The Ballad of Roger and Grace. I actually have raved about it already, back when they performed it in 2008.

If any of this has caught your interest, then I recommend you go and spend the £2.50 (a bargain indeed), set aside an hour, and soak in the intertwined stories and songs.

And then perhaps you should consider buying a ticket to Daniel Kitson’s show at this year’s festival – they’ll soon be on sale, and will disappear quickly (I’m far from the only person in Melbourne who’s a fan).

22 Jan 2012

Backing up with Backup

I’ve found myself singing the praises of Michael van Rooijen’s backup gem twice in quick succession lately – and so, I just want to run through how I’m using it, and how useful I find it.

For those not familiar with it, Backup provides a neat DSL for creating backup scripts with archiving files and databases through to common data stores (S3, Rackspace, SFTP, etc), with notifications via email, Campfire and others. If you want a rundown of all the options, click the link above – there’s quite a few. I’m using the gem to make sure all critical data for Flying Sphinx is stored in multiple locations – and particularly, with different providers.

The documentation’s pretty solid, so I won’t keep you long, but here’s two examples. First up, here’s my script for copying an archive of essential files (including a SQLite database) off to Ninefold – with the private details changed:

Backup::Model.new(:database_backup, "Database Backup") do
  archive :oedipus do |archive|
    archive.add '/mnt/sphinx/oedipus'
  end

  compress_with Gzip do |compression|
    compression.best = true
  end

  store_with Ninefold do |nf|
    nf.storage_token  = 'STORAGE_TOKEN'
    nf.storage_secret = 'STORAGE_SECRET'
    nf.path           = "oedipus/#{`hostname`.strip}"
    nf.keep           = 20
  end

  notify_by Mail do |mail|
    mail.on_success = true
    mail.on_failure = true

    mail.from      = 'support-at-flying-sphinx'
    mail.to        = 'pat-at-freelancing-gods'
    mail.address   = 'smtp.sendgrid.com'
    mail.user_name = 'SMTP_USER_NAME'
    mail.password  = 'SMTP_PASSWORD'
  end
end

For the above, I added Ninefold support to Backup, and Michael was kind enough to merge my commits in.

For my next script, though, I’m syncing directories to both S3 (in Singapore) and Rackspace (in the UK). The current releases of Backup don’t support syncing to Rackspace – but I ended up taking inspiration from fellow Melburnian Ryan Allen’s Sir Sync-a-Lot and rewrote the S3 support with his bulk MD5 approach. The code was simple enough – thanks to Wesley Beary’s excellent Fog – so I adapted the code to handle Rackspace as well.

However, I’ve not written tests for this, and my code does not yet support mirroring – so, I’ve not yet provided a patch back to Michael. If you want to use my code, feel free – but I will get to submitting a proper patch soon.

All that said, here’s the script:

Backup::Model.new(:volume_backup, "Sphinx Backup") do
  sync_with S3 do |s3|
    s3.access_key_id      = 'ACCESS_KEY'
    s3.secret_access_key  = 'SECRET_KEY'
    s3.bucket             = "fs-#{`hostname`.strip}-sync"
    s3.region             = 'ap-southeast-1'
    s3.path               = ''
    s3.mirror             = false

    s3.directories do |directory|
      directory.add '/mnt/sphinx/oedipus'
      directory.add '/mnt/sphinx/flying-sphinx'
    end
  end

  sync_with Rackspace do |rs|
    rs.api_key  = 'API_KEY'
    rs.username = 'USER_NAME'
    rs.auth_url = 'lon.auth.api.rackspacecloud.com'
    rs.bucket   = "fs-#{`hostname`.strip}-sync"
    rs.path     = ''
    rs.mirror   = false

    rs.directories do |directory|
      directory.add '/mnt/sphinx/oedipus'
      directory.add '/mnt/sphinx/flying-sphinx'
    end
  end

  notify_by Mail do |mail|
    mail.on_success = true
    mail.on_failure = true

    mail.from      = 'support-at-flying-sphinx'
    mail.to        = 'pat-at-freelancing-gods'
    mail.address   = 'smtp.sendgrid.com'
    mail.user_name = 'SMTP_USER_NAME'
    mail.password  = 'SMTP_PASSWORD'
  end
end

I’ve been running the first script for several months, and the second for close to a month – both via cron – and had no problems at all. If you’ve not got a solid backup system in place because you’re finding it complex and frustrating, you’ve now got one less excuse.

21 Nov 2011

Cut and Polish: A Guide to Crafting Gems

As I mentioned here earlier in the year, a few weeks ago I had the pleasure of visiting Ukraine and speaking at the RubyC conference in Kyiv. My talk was a run through of how to build gems, some of the tools that can help, and a few best practices.

The video of my session is now online, if you’re interested:

There’s also the slides with notes, if you prefer that.

One of the questions asked towards the end was about publishing private gems, which I’d not dealt with before. However, Darcy was quick to tweet that Gemfury looks like a promising solution for those scenarios.

Please let me know if you think I’ve missed any critical elements of building and publishing gems – or if you have any further questions.

And many thanks to the RubyC team for putting together the conference and inviting me to speak – I had a great time!

RssSubscribe to the RSS feed

Recent Links

Recent Posts

Tag Density

About Freelancing Gods

Freelancing Gods is written by , who works on the web as a web developer in Melbourne, Australia, specialising in Ruby on Rails.

In case you're wondering what the likely content here will be about (besides code), keep in mind that Pat is passionate about the internet, music, politics, comedy, bringing people together, and making a difference. And pancakes.

His ego isn't as bad as you may think. Honest.

Here's more than you ever wanted to know.

Ruby on Rails Projects

Other Sites

Creative Commons Logo All original content on this site is available through a Creative Commons by-nc-sa licence.