Architecting Web Services – FOWA Tour

I spoke at the FOWA Tour event in Leeds yesterday, as their local speaker (they set aside a slot for each place they go). It was a great event, good atmosphere and I really enjoyed the both crowd and content. I can’t imagine what the logistics for something like this are like but it seemed like everything was going pretty smoothly.

My talk was “Architecting Web Services” – just a half-hour slot to give an overview of what services are and take a look at some things to bear in mind when designing them. The slides are on slideshare so feel free to take a look and let me know if you have any comments or questions.

I had a great time meeting up with so many friends – old and new – yesterday. Hope that I’ll see some of those again at future events or online. Anyone for Bar Camp Leeds?

php|tek 2009: Quick Round-Up

Last week I was at the php|tek 2009 conference in Chicago. This was a really exciting trip for me – only my second conference as a speaker and the first time I’d attended any of the MTA conferences. I was absolutely delighted to have three of my sessions accepted into the schedule – although it seemed like a lot of preparation, I actually headed out to the conference feeling relatively prepared.

Tutorial Day

I spent the morning finalising slides with my co-presenter Matthew Weier O’Phinney … well, we looked at the slides before we wandered off to Starbucks anyway :) The trouble with preparing talks with someone that is both on the other side of the world and has a wildly important job (and gets promoted in the middle) is that its sort of hard to get together and organise these things. Actually the material was in surprisingly good shape on the day and our session was well-received – the slides are available.

Matthew and I delivering our tutorial

Immediately after our session, Matthew and I were interviewed by Keithy Casey and the video is available if you’re interested.

Thursday

After a relaxing Wednesday where all I did was show up to sessions and get my picture taken with the phpwomen, Thursday was a pretty crazy day. I had two talks scheduled, and both were in rooms that turned out to be unbearably hot. First I gave a talk on a topic I’m actually really excited about – Linux-Fu for PHP Developers – which was an overview of the commands I type when I’m working with linux. You can see the slides but I’m considering splitting this talk into two sections if I want to give it again – one introductory and one all about the tools I used. It’s the tools that are most exciting and I think that came across when I was giving the talk.

A couple of hours later I gave a talk entitled “Using and Understanding the Community” with my Ibuildings colleague Stefan Koopmanschap. I was surprised how many people attended the talk – there was a great atmosphere in the room and best of all were the people who came up to me later to say we’d inspired them to get more involved. I was even more surprised to have Cal Evans inform me later in the day that we had a slot scheduled in the uncon for the following day to give the talk again for those who missed it! There are no slides for this talk, since we only had one slide with a few URLs on it, however the second edition of the talk was recorded so the audio I guess will get published at some point – I’ll post here when this happens.

Things got a bit more light-hearted at this point as we had a slot in the unconference for a PHPWomen Craft Hour. All sorts of people turned up and knitted, crocheted, made lace, dismantled novelty cars, made pipe cleaner animals, and all sorts of other things. We had a great laugh and it was cool to meet some new faces. Hope we do this again sometime!

phpwomen crafty uncon

Finally for this day I gave a more serious uncon slot (with the craft still going on at the back of the room!) entitled “Architecting Web Services” – this is a talk I’ll be giving in Leeds this week at the FOWA Tour so it was great to try out the session with such a qualified audience at php|tek. Many thanks to those to attended and gave their input, I’ve re-worked the slides and will post them after giving the talk tomorrow.

Conclusion

All in all it was a great week – meeting new friends and catching up with old ones, and getting some great technical content in terms of both talks and hallway discussions too. Thanks to everyone who helped me have such a great time there – hope to see you all in the future :)

Linux-Fu For PHP Developers

The slides from my talk at php|tek are now online – Linux-Fu for PHP Developers. Thanks to everyone who attended and left feed back for me on joind.in. Feel free to leave a comment if you were there or if you have any questions about the slides!*

* Unless the question is “why didn’t you include X?” in which case the answer is that an hour-long slot was nothing like enough :)

php|tek 2009: Tutorial Day

I’m currently attending the php|tek conference in Chicago. Today is tutorial day, and I delivered a half-day session with Matthew Weier O’Phinney of Zend. Our session was entitled “Practical SVN for PHP Developers” and the slides are online. The session seems to have gone over pretty well – this is my first time delivering a tutorial and overall it was a good experience.

Later in the week I’ll deliver two more talks – Linux-Fu for PHP Developers and A Guide to Using and Understanding the Community – plus another in the unconference entitled Architecting Web Services in the unconference. So far I’m meeting old friends and new ones, and having a blast :)

Speaking at FOWA Tour, Leeds, May 28th

I’m surprised and delighted to announce that I will be one of the speakers at the rather excellent FOWA Tour even in Leeds on 28th May (two weeks today!). The day is like a roadshow version of the famous FOWA conferences, with a morning of (free!) cloud workshops and an afternoon of excellent speakers. I had been hoping to attend this event anyway so to get the invite to speak is very exciting indeed!

My talk is entitled “Architecting Web Services” and will take a look at the types of service available, and identifying functions which would be useful as a service. I’ll run through how decisions about service and format can be taken and we’ll look at some examples of these while we’re at it. I’ve been building a few services lately for one thing and another and I’m pretty excited about the whole topic! Luckily I only have a half-hour on stage but rest assured I’ll probably still be talking about it over drinks later in the day!

Anyone going? Thinking of going? Let me know and make sure to come and say hi on the day :)

Presenting Under Linux: xrandr

This is a mini-primer on using xrandr to configure a second screen under Linux, but first I’ll start with some background.

I’ve been a linux user for a few years now but when I started working for Ibuildings I started giving presentations, either as a speaker or when delivering training – and for a long time I used to boot into Windows for those, using a VM if I needed to code.

The main reasons I wasn’t comfortable using Linux to present were:

  • I have Powerpoint and I use the presenter view a lot
  • Linux doesn’t automatically find and configure monitors like Windows can.

Since Ubuntu Intrepid Ibex (8.10), its been possible to reconfigure screen in Linux without restarting X. But I was kind of scared of xrandr and I still liked the Powerpoint presenter view so I just carried on with windows. Then I realised that Open Office had also released a presenter view and I gave it a try. With one obstacle removed it was time to learn to work xrandr, which means I can also work external monitors without fiddling with xorg.conf, very useful. I’m now pretty confident with it so here’s the benefit of my wisdom*

xrandr

The first thing to do is figure out what you have and what your options are. So plug in the second screen and run xrandr with no arguments. On my system I get something like this:

Screen 0: minimum 320 x 200, current 1024 x 768, maximum 2560 x 1024
VGA connected 1024x768+0+0 (normal left inverted right x axis y axis) 338mm x 270mm
   1280x1024      60.0 +   75.0
   1024x768       75.0*    60.0
   800x600        75.0     60.3
   640x480        75.0     59.9
   720x400        70.1
LVDS connected 1024x768+0+0 (normal left inverted right x axis y axis) 304mm x 190mm
   1280x800       60.0 +   50.0
   1024x768       85.0     75.0*    70.1     60.0
   832x624        74.6
   800x600        85.1     72.2     75.0     60.3     56.2
   640x480        85.0     72.8     75.0     59.9
   720x400        85.0
   640x400        85.1
   640x350        85.1
HDMI-1 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)

This shows VGA (your external output) and LVDS (the laptop screen) and all the various modes they support. I sometimes see output under HDMI-1, and this seems to cause problems so I always turn off this output by running:

xrandr --output HDMI-1 --off

Next I send a command to set the resolutions on both screens. For projectors I tend to go with 800×600 as this almost always works and it means the text on my laptop screen is then so large I can see it from several feet away!

xrandr --output LVDS --mode 800x600 --output VGA --mode 800x600

Its perfectly fine to have different resolutions on both machines but bear in mind that X has one desktop and will show you sections of it on each monitor so if they’re different sizes you sometimes get either bits missing off one monitor or one of the outputs looks stretched. I don’t really have any general advice with this other than get the projector in the right ratio and then fiddle with the available modes to see what works for you.

To set the second screen to be different from the first (i.e. tiled rather than mirrored), just tell xrandr where you want it.

xrandr --output LVDS --mode 1280x800 --output VGA --mode 1024x768 --right-of LVDS

Again you’ll get sections of a single desktop, not two separate areas, so things might look odd if they are on both screens. For me this command has worked really well since I got to grips with it in the last few months, and I’ve plugged various machines in to various external monitors and given a few different talks. I’m sure there is a lot more to know about xrandr but I haven’t needed it yet – hope this is helpful! If you have any experiences with this or anything to add, just drop a line into the comments form.

* I’m not an expert by any means, but the above works for me on Ubuntu with my Thinkpad T400 and my Acer Aspire One.

Looking Forward to php|tek

This year I’m excited to be heading to the php|tek conference in Chicago (May 19th to 22nd), and even more excited to be going there as a speaker. Over the course of the conference I will present or co-present three sessions; one tutorial and two talks.

The tutorial session is a half-day on Tuesday afternoon – I’m co-presenting with Matthew Weier O’Phinney of Zend and our session is “Practical SVN for PHP Developers”. We’ll be walking through the concepts of source control, adminstering subversion, repository structure strategies and also showing some hands-on use of subversion. We’ll talk about the issues around introducing subversion into a team and looking at how this tool fits in as part of the development process. If you’re a subversion user looking to learn to get more fromthe tool, an architect looking to include it in new or existing setups, or a development team leader or manager looking for information about setting up and managing subversion, then come along!

The next talk I’ll give is on Wednesday when I’ll be presenting “Linux-Fu for PHP Developers”. If you’re already a linux wizard then feel free to drop by and heckle – but if you’re either a beginner or a competent user looking to raise your game then this session is for you. Its a tour of the commands I use day-to-day; an opportunity to metaphorically look over my shoulder and take a peek at the tools I use and how I use them. There are code samples and although there is a lot to take in, I hope it will make command-line linux usevery approachable for everyone – if I can do it, anyone can :)

Finally I get to co-present with my friend and Ibuildings colleague Stefan Koopmanschap a session entitled “A Guide to Using and Understanding the Community”. This session is an overview of what happens in the community outside of people’s nine-to-five jobs, how to access the community and what you might find there if you do. A lot of the value of open source software is in the community but knowing what information and interactions you can find there and how to find them is a mystery to many. For business in particular, free software with no guarantees can be slightly daunting! Stefan and I have lots of community involvement and will give a tour of what’s happening, how you or your employees can gain fromthe community, and how you can give back.

I’m really looking forward to the conference, to meeting old friends, virtual friends, and friends I haven’t made yet – if you will be there let me know and make sure to come and say “hi”!

Speaking at phpGG

Next week I’m passing through the Ibuildings office in Utrecht on business. During the 36 hours or so that I’ll be there, the Dutch PHP User Group, phpGG have kindly extended an invitation to speak at a one-off user group meeting they are arranging. Well, I have a talk that needs some work and it seems like too good an opportunity to miss out on catching up with some Dutch friends that I usually can only virtually “meet”, so I delightedly accepted!

So, I’ll be in Utrecht on Thursday 16th April giving my talk “Linux-Fu for PHP Developers” at Ibuildings’ Utrecht office – let me know if you can be there :)

Open Office Presenter View

I was delighted to discover recently that Open Office have released a working version of their long-anticipated Presenter View. Both Powerpoint (from Microsoft) and Keynote (on the Mac) have these views which allow someone giving a presentation to see the current slide, the next slide(s), any notes associated with the current slide and some timing/progress information. Personally I’ve been booting into windows solely to deliver presentations for a couple of years now, partly for the Powerpoint Presenter View and partly because Linux isn’t very friendly about driving second screens.

Well, one of those problems has been eliminated with this new plugin for Open Office. It only works with Open Office 3 or above (I’m using 3.0.1). You’ll also need to download the extension from the project page which you can find here:

http://extensions.services.openoffice.org/project/presenter-screen

Go to Tools -> Package Manager and browse to the .oxt file you downloaded from the site, and restart Impress – hopefully everything should just work! The settings are hidden in the “Slideshow Settings” screen, look right at the bottom. And with luck, you’ll see your slides on your second screen as usual, and something like this on your main screen:

All I need to do now is figure out why I sometimes have issues with xrandr and projectors, and I’ll be ready to go!

Speaking at GeekUp Leeds

On 18th February, I’ll be making an appearance at Geekup Leeds, to give a talk entitled “Linux-Fu for PHP Developers”. Basically this is a tour of some of my most-favourite command line tools available in Linux, and its a pre-cursor to the talk I’ll give later this year at php|tek in Chicago. What’s different about the Leeds version is:

  1. I have no idea yet if I can type and talk at the same time
  2. Its in a pub
  3. I will be using the Geekup-standard 20/20 format – 20 seconds per slide, 20 slides

I’m not panicking exactly, but I am thinking I need to get some practise in and decide which commands need to be included in this initial short talk version. Suggestions welcome, add to the comments please!