The Perl Conference in Glasgow

Yesterday (despite the best efforts of Virgin Trains to stop me) I came home from The Perl Conference in Glasgow. I had a great week up in Glasgow, and I thought I’d better write about it before I forgot anything important.


I arrived on Sunday evening. This was the last day of the European Championships which were jointly hosted in Glasgow and Berlin. As I was checking into my hotel, the receptionist happened to mention that there was some celebration of the championships in George Square so, once I had unpacked, I went off to explore. And I found a free festival with lots of great music. It had been going all day, so I only got to see the last couple of acts (Fatoumata Diawara and Shooglenifty) but it was a great way to spend my first couple of hours in the City.

The following day, I had agreed to meet Andrew Solomon (of Geek Uni) at the conference venue so we could see what the place was like before our workshops on Tuesday. Having done that, we went off to explore the city a bit. Following lunch (which was at the excellent Pizza Punks) we retired to our respective hotel rooms to ensure that our workshops were ready. That, at least, was the plan. When I got back to my hotel, I found that my room hadn’t been cleaned, so I set out for another walk. This time I found what’s left of the Glasgow School of Art and King Tut’s.


On Tuesday, I spent the day at the venue, running two half-day workshops. In the morning I introduced a smallish class to the joys of on-page SEO and in the afternoon a slightly larger class sat through my rather experimental “The Professional Programmer” workshop. This was a quick look at some of the things that a professional programmer needs to understand other than programming itself. Both workshops seemed to go pretty well and I’m looking forward to reading the feedback.

That evening, the pre-conference social was held in the venue, so following my workshop, I just had to wander upstairs to meet loads of old friends. Much good food and conversation was enjoyed over the following few hours.

Day 1

Traditionally, the first order of business on the first day of the conference is the announcement of next year’s venue. Thomas of the YAPC Europe Foundation announced that we’ll be going back to Riga in 2019. I’m already looking forward to it.

Then the talks started. Ruth Holloway’s keynote “Discourse Without Drama” proposed a world where we can talk about things (even disagree about things) without every conversation ending in anger and shouting. I’m sure it’s a world that most of us would love to see.

For the rest of the morning, I saw Salve Nilsen talking about the state of Perl Mongering in Europe, Choroba discussing the inconsistencies in type handling between the different versions of various JSON libraries and Leon Timmermans explaining how the Perl 5 Porters have handled language design in recent years. For the last slot of the morning, I saw Makoto Nazaki give an update on what is happening in The Perl Foundation.

After a really good lunch (the venue staff were good at many things – catering was top of the list) I saw Curtis Poe talking about the best ways to sell a legacy code clean-up project to your managers. This was followed by Ben Edwards explaining how Pirum keep their CVS and Git code repositories in step.

The conference day ended with the lightning talks. This included me giving an overview of the twenty year history of London Perl Mongers in five minutes. I think it worked.

Then I made a mistake. The conference dinner was in a restaurant about a forty minute walk or twenty minute taxi ride away. I was due there at about 7:30pm. I went back to my hotel room and got there at about 6pm and laid on my bed for a few minutes. When I woke up and looked at the time, it was 8pm. I could have rushed around and made a late appearance at the dinner, but I decided to take note of what my body obviously wanted and had a quiet night in.

Day 2

Feeling refreshed after a long sleep, I attacked day two of the conference. I started by listening to Thomas Klausner explaining how he has written an asynchronous web application without using any of the usual frameworks. It looked interesting and I’ll be investigating his code in more detail. Following that, I saw André Walker talking about how error messages can be so much easier to understand. He had an example from a module that he had written. It did look good. I then saw Mohammed Anwar encouraging people to follow his lead and submit pull requests to CPAN modules. As someone who has been on the receiving end of many of Mohammed’s pull requests, I can only agree that I’d love to see more people sending me improvements to my code. I try to see at least one Perl 6 talk at every conference I go to and this time I chose my former colleague, Simon Proctor, explaining function signatures, multi-methods and things like that.

I didn’t see much of lunch on Thursday as Andrew Solomon had arranged a “Birds of a Feather” session on “Growing a Perl Team”. A large group of like-minded people (but from many different parts of the industry) talked about the problems they have attracting and keeping good Perl developers. I’m not sure we came up with a clear way forward, but it was certainly good to share ideas.

The afternoon started with Mark Fowler talking though the entries from last year’s Perl Advent Calendar (and asking us to propose articles for this year’s calendar) and I followed that with Andrew Solomon telling us about his experience of running on-the-job Perl training for various companies. Following a coffee break, I saw Tom Hukins explaining what WebDriver is and how to using it with Perl. After that was my talk about the Line of Succession web site. I didn’t get a huge audience, but those that were there seemed to enjoy it.

Then there was a slightly different session. Every year, Larry Wall goes to lots of Perl conferences. And his wife, Gloria, always comes with him. Normally, Larry gives a keynote and Gloria watches from the audience. When he was organising this conference, Mark Keating decided to turn that on its head. He didn’t invite Larry to speak and, instead, asked Gloria to talk to the conference. So we had fifty minutes of Gloria Wall in conversation with Curtis Poe. And it was a really interesting conversation. I recommend you look for the video.

Once again, the day ended with an interesting selection of lightning talks.

Day 3

Friday was good. Friday was the day that I wasn’t speaking. And that meant that Friday was the day I didn’t need to carry my laptop around all day.

I started by watching Wesley Schwengle talking about using Docker with Perl. I keep going to talks like this. Every time I get that little bit closer to understanding how Docker is going to make my life easier. Then I switched to something far less technical and saw Joelle Maslak explaining how mistakes that we all make can make our applications less usable for many people. I followed that with Lee Johnson introducing Burp Scanner and explaining how it finds insecurities in web applications and Ruth Holloway talking about accessibility at conferences and events. I think the people who attended it all found it interesting – it’s a shame that, as far as I could see, not many of them were event organisers.

After lunch I watched Matt Trout introduce Babble, a Perl module that can help you deal with syntax differences between different versions of Perl. Then the final keynote was Curtis Poe talking about some of the possible futures for Perl 5 and 6. After that, there was just another great selection of lightning talks before Mark Keating closed the conference by thanking everyone.

I couldn’t stay around for the post-conference goodbyes as I had to get to Edinburgh to see Amanda Palmer in concert. That was excellent too.


When I heard that Mark would be organising the conference, I knew we’d be in safe hands. Mark has plenty of experience of this and he’s great at it. Of course, he had a great team working with him too and I think it really helped that he chose a professional conference venue to host it.

So huge thanks to Mark and his team. But thanks, also, to all of the speakers and the sponsors. I’m sure all the attendees will agree that this year’s conference was outstanding.

See you all in Riga.


Training in Glasgow

It’s June, which means it’s only a couple of months until the Europe Perl community descends en masse on Glasgow for this year’s Perl Conference (formerly known as YAPC). For me, that also means I need to start planning the training courses I’ll be running before the conference. And for you, it means you need to start deciding which training courses you want to come to before the conference

This year, it looks like there will be one day of training courses on the day before the main conference starts (that’s Tuesday 14th August). There are a number of courses being offered – details are in a recent conference newsletter.

I’ll be giving two half-day courses and, unusually, there will be little or no Perl content in either of them. Here are the details:

Web Site Tune-Up: Improve Your Googlejuice

Many of us have web sites and for most web sites, success is measured by the number of visitors you get. And, in most of the western world, getting your web site to rank higher in Google’s search results is one powerful tool for bringing in more visitors.

In this half-day course, I’ll be introducing a number of simple tips that will make your site more attractive to Google which will, hopefully, improve your search ranking. If you make it easier for Google to understand the contents and structure of your site, then Google is more likely to want to send visitors to your site. (Other search engines are, of course, available but if you keep Google happy, you’ll be keeping them happy too.)

I ran a short version of this course at the London Perl Workshop last year. This version will be twice as long (and twice as detailed).

The Professional Programmer

Some people seem surprised that being really good at programming isn’t the only skill you need in order to have a successful career in software development.

I’ve been working in this industry for thirty years and I like to think I’ve been pretty successful. In this half-day course, I’ll look at some of the other skills that you need in order to do well in this industry. We’ll look at a range of skills from more technical areas like source code control and devops, to softer areas like software development methodologies and just working well with others.

I ran a two-hour version of this course at a London Perl Workshop in the dim and distant past. This version will be updated and expanded.


Both courses will be taking place on the same day. I’m not sure where they will be held, but I’ll let you know as soon as I have that information. Each half-day session costs £75 and you can book places on the conference web site. Places on the courses will be limited, so I recommend booking as soon as possible.

Do these courses sound interesting? Please let me know your thoughts in the comments.


Amsterdam Training Questionnaire

Update: I’ve closed this survey earlier than I expected to. For various personal reasons, I’ve decided that I just don’t have the time to attend the conference in Amsterdam.

It was back in the middle of March that I first raised the question of running some training in conjunction with the Perl Conference in Amsterdam this August. I didn’t mean to leave it so long before following-up, but I’ve a lot of real life to deal with over the last couple of months and I’m afraid a lot of my digital life got shoved to one side.

But I’m back now and we should really get something organised for Amsterdam.

So here’s a Google Form for you to fill out, to tell me what training course you’d like to see me run in Amsterdam. I’ll leave it running for a couple of weeks before making a decision.


YAPC Europe 2016

I’ve been back from Cluj-Napoca for almost a week, so I should really write down what I remember about YAPC Europe before it’s all forgotten.

Day -1

I arrived in Cluj-Napoca on Sunday evening and got to my hotel quickly. There was just time for a quick meal before bed.

Monday was the day that I was going to get to grips with the city. After meeting a few Perl Mongers at breakfast, my wife and I set off to explore. My first target was to find Cluj Hub, the venue where I was running a training course the following day. That was simple and took less than fifteen minutes. We then explored both the Orthodox and Catholic cathedrals before settling into a bar on the main square called “Guevara” for a coffee. After that we decided that we needed to pick up some supplies and whilst on that hunt we bumped into Max Maischein who recommended a visit to the botanical gardens.

On returning to the hotel with our supplies, we met Curtis Poe and invited him to join us for lunch. Wandering at random we found a really good restaurant called Livada and enjoyed a very pleasant meal.

After lunch we spent a very enjoyable couple of hours in the botanical gardens and only just failed to get back to the hotel before it really started raining. That evening we ate in restaurant really close to the hotel called the Crying Monkey (but in Romanian).

Day 0

Tuesday was my “Modern Web Development with Perl and Dancer” training course. This was by far the most successful training course that I’ve ever run at a YAPC. I’ll write more about it when I get the feedback results, but I think that the attendees enjoyed it. I know I had great fun giving it. Cluj Hub was a great venue and Andra Gligor and her small team looked after us all really well.

That evening, the traditional pre-conference meet-up was held on the roof of Evozon’s offices. As always, it was lovely to catch-up with old friends that I only get to see once or twice a year.

Day 1

On Wednesday, I set off in plenty of time to find the venue. It turned out that our hotel was really well located for both sight-seeing and the conference and I got there in ten minutes or so. The registration queues seemed shorter than usual and before long I had my name-tag and bag of conference swag.

As always, there were far too many good talks and it was impossible to see everything. I’ll just talk about the talks that I saw. Everything was videoed, so it will all be online soon.

The day began with Amalia welcoming us to the conference. Then the YAPC Europe Foundation announced that next year’s conference will be in Amsterdam. This is the first time that the conference has returned to a previous city (the second YAPC Europe was held in Amsterdam back in 2001) and I’m looking forward to going.

The first day’s keynote was from Curtis Poe. It was a wide-ranging talk covering the history and future of both Perl and the Perl community. After that I went into one of the small rooms to see H. Merijn Brand talking about his recent improvements to Perl’s CSV parser followed by Alex Muntada on how the Debian project packages CPAN modules. I then went back to the main room to see Mickey Nasriachi talking about PONAPI, which is a Perl implementation of JSONAPI.

Lunch suffered slightly from the inevitable queues, but it was worth the wait as the quality of the food (as it was throughout the conference) was very high.

After lunch I saw Lee Johnson giving some Git tips, Sawyer talking about the XS guts of Ref::Util and Jose Luis Martinez talking about PAWS (the Perl interface to Amazon Web Services). I saw Jose Luis talking about PAWS last year in Granada but really wanted to see how the project is progressing. I think this has the potential to be a great advocacy tool for Perl.

A quick coffee break and then I saw Thomas Klausner give his opinions on writing API endpoints and Tina Müller talking about App::Spec which looks like a great tool for easily writing command line applications.

Then it was was lightning talks. They were the usual combination of the useful, the banal and the ridiculous. I think the highlight for me was Curtis Poe announcing more details of his online game (which is now officially called Tau Station). This was the point at which I announced Cultured Perl – which seems to be going well so far.

That evening was the conference dinner. Which was a buffet party held in the open-air quadrangle at the centre of the Banffy Palace (Cluj’s major art museum). A great time was had by all.

Day 2

Another day, another keynote. This time it was Sawyer X with “The State of the Velociraptor” – an annual round-up of what’s going on in the Perl 5 world. This year Sawyer found a number of volunteers who all gave short talks about their part of the Perl community. This was a great idea which was only slightly marred by the fact that the projector wasn’t at all happy changing laptops – so the switches between presenters weren’t as smooth as they could have been.

After that I saw Max talking about how he uses ElasticSearch on his laptop to give himself a local search engine and Job van Achterberg talking about making web sites more accessible. This was a great talk – particularly the sections where he showed just how bad most web sites appear to screen readers.

Another queue for another great lunch. And also many interesting conversations.

After lunch I saw a former colleague, Mirela Iclodean, talking about how her company have managed to shoe-horn many modern tools and practices into their working day – while still maintaining a nasty monolithic code-base which they are slowly chipping away at. It was a great talk and it made me miss working on that project. I’m hoping that she will repeat this talk at the London Perl Workshop.

Later that afternoon, I gave my “Error(s) Free Programming” talk – in a slot where every speaker was a leader. The talk seemed to go down well, but somehow I ran considerably short.

After that I saw Albert Hilazo talk about his first few months as a Perl programmer. I found this really interesting as Albert talked in some detail about things that other language communities provide but he found hard to find for Perl. In particular, he would like to see more “war story” blog posts showing how people have solved particular problems using Perl tools.

Then it was Matt Trout celebrating ten years in the Perl community by explaining how his career was largely a series of happy accidents and that a lot of the responsibilities he has taken on were just through being in the wrong place at the wrong time – or something like that.

One talk I couldn’t miss was Andrew Yates talking about the work that his team do at the European Bioinformatics Institute. I couldn’t miss it as I was at least partly responsible for Andrew proposing the talk. I ran some training at the EBI earlier this year and during our email conversation YAPC was mentioned and Andrew asked if people might be interested in hearing about their work. I replied “hell, yes!” and sent him a link to the talk proposal web page.

And then, of course, there another ten or so lightning talks to close the day entertainingly.

Day 3

The keynote speaker on the last day was Larry Wall. His topic was “Strange Consistency”. If you’ve seen Larry speak before, you’ll know what it was like.

I followed that by watching Jason Clifford talk about how his team had written a major new toolset in Perl despite management pressure to use other technologies. The project, of course, ended up being very successful.

One of the most interesting talks was Nicholas Clark’s view of an alternative universe where Jon Orwant never threw those mugs in 2000 and the Perl 6 project was never started. The main lesson appeared to be “what goes around, comes around” and his fictional universe didn’t end up too far away from where we are now.

The afternoon had a curious combination of some time slots where I wanted to see every talk and others where I didn’t really want to see anything. So in some cases I’m eagerly awaiting the videos going online and in others I sat in the back of the room only half-concentrating while giving most of my attention to Twitter or Facebook.

I really enjoyed Sawyer talking about the things that were added in Perl 5.24 (and very carefully not talking about the things that were added in previous versions) and also Jose Luis Perez talking about what he has got out of doing the CPAN Pull Request Challenge.

The final lightning talks were as much fun as they always are. The projectors were still giving the speakers plenty of technical difficulties which led to lots of time for “lightning adverts” between the talks. I think that towards the end the differences between the two rather broke down and on the video at one point I expect you’ll hear Geoff Avery saying “I seem to have lost control of this”.

The conference ended, as it always does, with a brief presentation from the organisers of next year’s conference, a final thank-you to all of the speakers and sponsors and a standing ovation for the organisers.

This was one of the best-organised YAPCs I’ve been to for a very long time. And Cluj-Napoca is a city I would never have considered visiting if it wasn’t for the Perl community there. And already I’m considering a return visit. I had a lovely time in the city and returned to London completely recharged and reinvigorated.

See you all in Amsterdam next year.


Training in Cluj – The Poll

A couple of weeks ago, I mentioned that I was planning to run a one-day training course the day before YAPC Europe in Cluj-Napoca this year. There have been a few discussions of my ideas in a various forums, so now it’s time for the next stage.

Below, you’ll see a simple questionnaire. Please use it to give your feedback on what course you would like me to run – and how much you think it should cost.

I’ll collate all of the responses in a couple of weeks and make an announcement about what I’m going to do.