Last weekend saw the PHP NorthWest user group run their fifth conference. Spread over three days, it gave over 400 folks who attended great talks on a wide variety of topics from speakers both established and new. Once again, Jeremy, Rick et al ran an excellent conference, and I’m already looking forward to next year’s event.Be the first to leave a comment »
I haven’t really talked much about my upcoming tutorial session at #phpnw12 next month before now, but I hope there’s still time to convince you to come along and learn how to use Git as your team grows in size.
That’s what I’m teaching: a strategy, plus supporting tools for Git called HubFlow, that will help you stay sane – and more importantly help you keep delivering – as your team starts to collaborate on your product.
It isn’t my strategy: the credit must go to Vincent Driessen, who first blogged about GitFlow at the start of 2010. And they aren’t my tools: again, they originally come from Vincent. All I’ve done is adapt them for working against GitHub – hence the name “HubFlow”; but if BitBucket is more to your taste (or wallet) then rest assured that both tools and strategy work can be adapted for there too.
Maybe you don’t need this strategy. If you’re working on one-off consulting gigs for clients, where you can get in quick and get out quick, then HubFlow might not be necessary. But if you’re working on any sort of product or service, either commercially or open-source, then I can strongly recommend HubFlow to you – even if you’re just at the one-man startup stage. And the benefits of adopting HubFlow only increase as your team grows in size.
I’ve already put a lot of effort into documenting HubFlow, and if you’ve previously read the docs, you might be feeling confident enough to adopt it by yourself. If you do, I think that’s awesome, and you should go for it without delay. Please do email me if I can help in any way. I’m passionate about everyone adopting the fundamentals of software engineering, and few things are more fundamental than good source control.
But if you’re still reading at this point, I hope that I can convince you to buy one of the remaining tickets for my tutorial session at #phpnw12. I don’t personally profit by it – all of us teaching at #phpnw12 are volunteers – but maybe you will.
What I’m teaching is the approach that I’ve introduced to DataSift. You might not have heard of us yet; we provide a platform for filtering social data in real time, handling terabytes of data a day at full firehose-scale, and many thousands of incoming data every second. And every piece of that data goes through code written in PHP.
Although we’re a young startup, we’ve already grown beyond 20 developers, and with that many people collaborating to build that platform, with every team working at their own pace, we needed to adopt a common way of working together with Git and GitHub so that the company continued to scale well.
- It had to be a way that allowed every developer to take full advantage of Git, especially when it comes to committing their work early and often.
- It had to allow developers to form ad-hoc teams that worked at their own pace.
- Remote working is a fact of life these days, and it had to work just as well whether everyone is in the office or working from somewhere else.
- It also had to ensure that only work that had been finished made its way into any of our releases.
- We wanted to make sure that there was an opportunity to review every change before it went into a release. Code reviews play an important part in delivering high-quality work time after time after time.
- We didn’t want pending releases to hold up new development, ever.
- And if something did screw up in production, we needed a way to go back to our last known good version, fix it, and release *that* – all without disrupting any pending releases or existing ad-hoc teams.
- Finally, it had to be easy to teach to people who are new to Git and GitHub, preferably by wrapping complicated Git operations up inside a single command each time.
Those are the benefits that HubFlow gives us. And at #phpnw12, I’ll be teaching everyone who attends my tutorial session how to get those benefits too.
What makes me qualified to teach this topic? And what makes me qualified to be teaching at all?
I’ve got 18 years of experience setting up and/or running software configuration management, taking in systems as diverse as RCS, CVS, Perforce, Continuus, Clearcase, Subversion, Mercurial, and Git. I’ve done this with, and for, organisations as small as a one-man team all the way through to large international corporates. I’ve even built a version control system for one company in the past. (Git is much better! 🙂 And I was around long enough to see (and learn from) the failures as well as the successes. (I’m a big believer that success teaches you a bit, but failure teaches you more). Plus, I’m the author of the HubFlow strategy, and the maintainer of the HubFlow extension for Git.
It simply isn’t possible for me to distill all of that rich and lengthy experience down into the documentation that I’ve written for HubFlow. I think the documentation is good – I wouldn’t have put my name to it otherwise – but I think you can learn even more from me in person.
I’m a qualified teacher of adults. I’m trained how to teach, and I’ve had a lot of practice doing so. My first PHP conference appearance was back in 2004 on Marco’s php|cruise, and since then I’ve spoken at the PHP NorthWest and PHP UK conferences several times. I co-wrote the Zend Certification Study Guide for PHP4. Once a year, I teach at the University of Aberystwyth, helping their Comp Sci students prepare for applying for jobs for their year in industry. Plus I’ve done a substantial amount of teaching and mentoring as part of my job and open-source work over many years. And away from computers, I’ve been teaching martial arts for over 12 years.
If you need the benefits that HubFlow brings, then I’d love to teach you in person. You can buy a ticket for my tutorial day on the #phpnw12 website. I hope to see you there.Be the first to leave a comment »
My last set of photos from PHP North West 2011 are the odd ones out, the ones that didn’t really fit into any of the other sets.
I hope you’ve enjoyed my photos from the conference, and maybe – just maybe – they’ve made you think about going to a PHP conference somewhere near you in the near future.Be the first to leave a comment »
No conference – especially one as well-run as PHP North West – can happen without the small army of folks who give up their time to organise and staff the conference. I’m afraid that I didn’t manage to photograph everyone involved on the day (sorry!) but here’s to everyone who made PHP North West 2011 possible.Be the first to leave a comment »
This year, many of the sponsors were here not to drum up new business, but to hire new talent, continuing a trend from PHPUK11 earlier in the year. Sponsoring a conference is cheaper than paying traditional recruiters, with no shortage of motivated attendees to talk to.
Community tech conferences like PHP North West simply could not happen without the funds raised from the organisations who sponsor each conference. This short set of photos is my way, as a conference speaker, of saying thank you to every organisation who sponsored this year’s PHPNW conference.Be the first to leave a comment »
The audience is a key part of any conference, and each year the PHP North West conference manages to attract more and more people back as it establishes its reputation for being one of the very best PHP conferences (and indeed, one of the very best UK tech conferences) around.
If you’ve never been to any PHP conference anywhere before, I hope these photos manage to show you just a little bit of the cracking atmosphere you’re missing out on 🙂
If you like these photos, please do let me know – leave a comment on my blog, or click through each photo to Flickr and leave a comment there. Thanks!Be the first to leave a comment »
This year’s conference line-up was particularly strong, both with the quality of speaker and the quality of topics, but there was one talk in particular that topped them all. It all began with Rowan’s laptop …
So Rowan had this laptop … but no matter how hard he stared at it, it just wasn’t going to work with the projector at the conference …
… so his friends rallied round and swaped his laptop for one that would work …
… the audience watches on with growing hilarity as Ben, Lorna and Ian try to get Rowan’s PDF slides presenting nicely in OSX’s Preview … only to be thwarted when the remote control for moving from slide to slide doesn’t work …
… in the end, Rowan press-gangs the conference’s keynote speaker into being his Speaker Slave (TM), advancing the slides forward on command throughout the talk.
Many speakers would have been destroyed by the sequence of problems, but Rowan successfully turned them into a great warm-up for what was without doubt the funniest talk all day.Be the first to leave a comment »
Once again there were three main tracks to the conference, a total of 15 speakers from both near and wide to choose from. New this year was the fourth track – the Unconference (perhaps lightning talks would be a better description tbh) organised by Elizabeth Naramore. Unfortunately, it was too dark in the Unconference to shoot handheld, but hopefully Rob Allen snagged some of the speakers from there during the day.
At times, I struggled in the main rooms too with the low light, so my apologies to those speakers I didn’t snag clean shots of this year.
These are my photos of all of the speakers from the main tracks on Saturday.
Derick’s talk on building extensions for PHP was so popular that there wasn’t room for me to get the door open far enough to snag a shot, sorry 🙁
Rowan’s talk deserves its own blog post and photo set, coming soon 🙂
If you like these photos, please do leave comments either here on the blog, or on Flickr by clicking on the photo.Be the first to leave a comment »
New this year was Tutorial Day: the opportunity to spend half a day or more in hands-on tutorials getting into the nitty-gritty of useful subjects such as Zend Framework 2, Security, Drupal, Web Services and Component Architectures.
These are my photos from the Tutorial Day.Be the first to leave a comment »
And I have a little bit of prep work for you to do before the session, please 🙂
- This is a hands-on session, so make sure that you pack your laptop and its power supply!
- Please get your dev environment setup and working before you leave – in particular, make sure that you have the latest version of phix (current 0.13.2) installed.
I’ve published installation instructions for:
If your operating system of choice isn’t one of those, there are also manual installation instructions on the Phix Project’s website.
There’ll be a few minutes at the start to help anyone having trouble with their development environment, (and I’m free all morning for anyone who needs longer) but because we only have about 3.5 hours to cover everything, anyone who turns up with a seriously fscked dev environment will be asked to pair-program for the rest of the session, sorry!
- Have a clear idea what you need to get out of our afternoon session together.
- Bring along a list of any questions you might have. Hopefully the session will cover most of these … the rest I’m sure we’ll cover in the bar afterwards!
I’m not expecting you to have read my series of blog posts about creating and maintaining packaged components of PHP code, but you will find the session easier to follow if you have.
Already using phix, and got ideas and suggestions to make it better? I’ll be around throughout the Saturday and Sunday of #phpnw11 (normally with my beloved Nikon at hand – that’s how to recognise me!), and I’d be delighted to get your feedback and discuss your ideas further.Be the first to leave a comment »