Episode 129 of The SitePoint Podcast is now available! This week our regular interview host Louis Simoneau (@rssaddict) interviews Lorna Mitchell (@Lornajane) one of a team of 3 co-authors working on an upcoming release for SitePoint, an advanced book on PHP.
Download this Episode
You can download this episode as a standalone MP3 file. Here’s the link:
SitePoint Podcast #129: Taking PHP to the Next Level with Lorna Mitchell(MP3, 32:00, 30.7MB)
Louis and Lorna talk about this new book and what’s inside it, structuring projects with PHP and and how PHP has really grown as a language over the years.
Browse the full list of links referenced in the show at http://delicious.com/sitepointpodcast/129.
Louis: Hello and welcome to yet another episode of the SitePoint podcast. With me today on the show we have the author of an upcoming title from SitePoint which is a more advanced PHP book, Lorna Mitchell, hi Lorna.
Lorna: Good morning.
Louis: Good afternoon depending on which side of the world you’re on. How are you doing?
Lorna: Yeah, I’m good. It’s breakfast time here and I’m having a week full of exciting things, so it’s great to talk to you.
Louis: That’s great. I’m a little bit ill, so regular listeners will notice a slight change in my voice but I’m trying to hold it together. So you were involved in a SitePoint project which will be released in the coming months, it’s a PHP book but a bit different from PHP books we’ve done in the past, so regular SitePoint readers will be familiar with Kevin’s book on PHP which is Build Your Own Database Driven Website with PHP and MySQL which is sort of a very beginner book; if all you’ve ever done is front end stuff, HTML and CSS, how to just dive in and start writing some dynamic server side code that interacts with the database. But this book takes that to another level; do you want to talk a little bit about it?
Lorna: Oh, yeah, I’d really like to. So Kevin’s book is nice, I’ve got it and I really enjoyed that, but I meet a lot of developers in my work as a consultant and as a trainer where they’ve reached that level, they are writing websites in PHP and they’re sort of what’s next, like how do we progress from here. So we put together this book which covers actually a raft of different chapters, but it gives you kind of the next level of the knowledge, so it’s got an OOP chapter in there, we cover how to use databases, how to improve the performance, we’ve got a whole chapter on different kinds of testing, how to work with API’s and it’s a real nice kind of what do you want to learn next, you can pick a chapter from the book, we cover design peterns, and I just think it’s great either whether you read it cover-to-cover or whether you dip into it, for PHP developers who are like, well, I can make a website but how do I make a better website (laughter).
Louis: Or a website that anyone else will be able to read the code and work on in the future.
Lorna: Yeah, and having those kind of best practice attitudes, yeah, it’s just packed with good stuff, I’m really excited about it, it was such a good project to work on.
Louis: It’s interesting because PHP is sort of in that space where it’s sort of the first thing that anyone who is self-taught will learn after teaching themselves HTML and CSS, there’s a lot of sort of awkward practices out there, and PHP has matured as a language over time so there’s a ton of material online but not necessarily all of it showing sort of either modern object oriented programming or automated testing or any of this other stuff. I know for my case I was writing terrible PHP until I learned Ruby on Rails and then I was like oh, wait. So now when I write PHP I have something to base myself on, but for a lot of people out there who have just learned PHP it can be challenging because the material is not always really obvious out there.
Lorna: No, it’s really not. It’s a very — I call it a relaxed language, like it’s very tolerant.
Louis: (Laughs) Yeah.
Lorna: It’s tolerant of everything you want to throw at it, and that means you can persist in your bad habits or you can grow some good ones, but that takes a bit of effort. But it’s up to you, and if you were to hack something together with PHP and you can solve your problem with it then fantastic, go ahead.
Louis: Yeah, absolutely. So, we talked a bit about the book, we’ll come back to that a bit later, but I’m also interested in hearing what you’ve got on outside of the SitePoint world at the moment.
Lorna: Wow. Well, it’s quite a long list (laughter). Because I’m a consultant I work with lots of different people, and this month is bringing a couple of really interesting development projects as well as some training assignments, so I’m getting to teach PHP as well as do it which is a nice combination. Just a couple of weeks ago I relaunched my personal website which like shouldn’t have been such a big deal, but I’ve been blogging for so long that I ended up with nearly 700 posts to migrate, so I learned a lot about WordPress.
Louis: (Laughs) So were you not on WordPress originally and you migrated to WordPress?
Lorna: Yeah. So I’ve been using Serendipity for quite a long time, and I’m a PHP developer but it has to be said that my front end skills are, eh, let’s say lacking; in an effort to be diplomatic it’s just not what I’m good at. So I actually paid someone to create a new design for my site, and they were more comfortable skinning WordPress so I just moved it over. A lot of the other sites that I work with are WordPress so I was really comfortable to go to that.
Louis: Yeah, I think it’s pretty rapidly becoming a safe default for that kind of work.
Lorna: Yeah, so it’s about three years since I previously migrated, and at that time it wasn’t such a clear-cut choice. I really enjoyed Serendipity as a platform, but it just isn’t evolving as quickly because it doesn’t have such a big design and development team behind it. So, yeah, I did that and I’m currently working on — I’m organizing a conference which is local to here which is organized by the community, so that’s my local user group PHP Northwest in Manchester in the north of England, we’re working pretty hard on that conference, it’s exactly a month away.
Louis: Alright, so caught you in the thick of it.
Lorna: Well, yeah, very much. This is our fourth year running the conference, we just have so much exciting stuff going on this year, I’m running in loads of different directions; I basically can’t wait for the event to start because I’m so excited.
Louis: Cool. So if anyone’s in England are there still spots available for that?
Lorna: Oh, yeah, absolutely. You’ve missed our early bird prices but it’s still cheaper than any of the other conferences that I know of in Europe, so conference.phpnw.org.uk.
Louis: Cool, absolutely. Anyone interested in brushing up on PHP should definitely check that out.
Lorna: Yeah, we’d love to see you there, it’s a good crowd.
Louis: Awesome. So, I noticed on your website you’ve also been involved in an open source website project.
Lorna: Oh, right, okay, yeah. So I am the — it’s my project, I lead the Joind.in Project. So, Joind.in, because it’s cool in Web 2, it’s Joind without the e, Joind.in is an event feedback site, and it’s something that as a conference speaker and now as an organizer as well I absolutely love it because what it is, is a site which allows you to give feedback on the talks that you have seen at events, and people just give feedback as they go along through the day, you know you can rate it out of 5 and then there’s a box to put your comments in. So speakers and everybody else at the conference and the organizers have a really good record of what do people think of this talk, how was it, you know, people don’t come up to you and say how did your talk go, they look it up.
Lorna: And just in terms of having a really open feedback loop about the individual event and also each talk is fabulous. And for speakers who, you know, are speaking in perhaps the local area really regularly, if those events have been using Joind.in and they submit to one of my conferences I haven’t seen them speak, I don’t know them from Adam, but I can have a look on Joind.in, see what other people thought, see what topics they’re speaking about, what they have experience in, and it’s almost part of your speaking resume. And I just love it, we have the schedules on the site so when you’re at an event we have apps for iPhone and Android, you can see what’s on next, how a feedback’s going, comment off your phone as well as using the website, so it’s a lot of fun.
Louis: Very cool. And that’s all open source.
Lorna: It’s all open source, we’re on GitHub, and we love new contributors. Sometimes open source projects can be quite difficult to get into, but we love new contributors, if you’re new to Git or new to CodeIgniter or whatever it is that you’re there to learn about or that you want to get into, drop into our IRC channel and freeload and we’ll always help you out.
Louis: Right. So it’s done in CodeIgniter you said.
Lorna: It is, it’s built on CodeIgniter, and it’s a project that’s been around a while, so we’re not on CodeIgniter2 yet, although there’s a movement to basically drag me through the process because I don’t know much about CodeIgniter, I’ve inherited this project. But it’s a really nice kind of standard MVC setup, we have like our build server is public so you can see how all the tests have run and when we’ve released and what builds have happened and stuff like that, it’s really, really open; if you’re not familiar with kind of a running development process you can see everything, and it’s every kind of open, I like that.
Louis: That’s really interesting and it’s something which is, how can I say this, there’s a lot of open source projects out there, but a lot of them in terms of the Web are either toolkits for developing websites, like a lot of the frameworks are open source obviously, and various things like this, but in terms of an actual full operational web application that is fully open source, and where the entire development process is transparent, I can’t think of too many others out there.
Lorna: It’s pretty unusual to have an open source project around like a particular hosted domain, I think most of them, yeah, the idea is you download them when your own. Joind.in grew out of the community, it was built by someone in the community originally, is used by all the PHP community events and now a much wider list of events and it’s completely free to use. So people come to me and say “Oh, I wish it did this or do that or do you know this is broken,” and I just say, well, we’re on GitHub. And more than half the time I’ve got to pool requests for exactly that feature.
Louis: That’s fantastic. It’s great to see this kind of thing, I’d love to see more of that kind of thing out there, people doing their web apps; if you’re doing a web app that is free and that is out there, doing it in this way where people can contribute and really help out to get the features that they want is a lot of fun, because especially if it’s something that you’re doing for free you don’t always have the time to put into it yourself or if you’re a small team of people, so being able to recruit a wider community can be a massive boost I imagine.
Lorna: Yeah, well and different people who run different kinds of events and come from different backgrounds are, you know, each have their own take so they all bring something new and the project is three years old-ish, and yeah, it’s used by all kinds of people and it’s just growing all the time.
Louis: That’s awesome. Yeah, so that’s one of the things that I thought was interesting and that I wanted to talk to you about is the idea that for a lot of people learning PHP as you come to it you’ll learn how to build your own little project which a lot of times is just this massive of thousands of lines of procedural code, but then even when it’s not, even once you’ve learned object oriented programming and design patterns, that’s still really only half the way to where you need to be if you want to be a professional programmer, right, there’s all this other stuff about methodology and that’s to do with testing and version control and all of those different aspects which beginners can be challenged by.
Lorna: I think so. I think it’s genuinely really difficult to learn some of these things unless you’re working in team that does them. So if you’re really lucky and you get recruited somewhere that’s using all these processes then you see them, you know how they fit into the big picture, and if you’re interested you know you can get into working with some of those. For a ‘normal’ person, if you can imagine my air quotes which don’t come well (laughter), for a normal person you know quite often we’re working in teams where we’re just doing the best that we can, and this idea that you would have 80% test coverage, automated deployment and whatever else just seems completely unattainable. But that’s not true at all, I think that open source projects are a really good way to gain experience with, for example, Git; most companies are still using Subversion, but if you’re interested in Git, you know, I know I do a lot of tech support for Git users, people coming who can program PHP but are coming to Git for the first time. When I’m working with Joind.in people get really interested in how they can run the build process and sometimes change it. I had contributions recently to improve our coding standard and to make it a bit more useful for the project, and that’s the kind of thing that you know can be difficult to justify at work, people don’t want to give you the time to do it. But, open source gives you the chance to learn those skills and follow whatever you’re interested in and if you gain some wonderful experience and use it either in this job that you have now or your next one.
Louis: Yeah, I think that’s really important. For a lot of people who are self-taught, and I think that’s more the case with PHP probably than with any other programming language, is this issue that when you can teach yourself the language and you can know the language but for when you go for a job interview that’s like ten percent of what you’re going to be asked, right, there’s all this other stuff about process and working with a team and showing off open source experience is a big part of that. I interviewed Tom Preston-Werner from GitHub on the podcast a few months ago and talked about how he saw their role as providing this way for programmers to advertise their skills to the world so to speak.
Lorna: Yeah, I think that’s absolutely true. I mean I am not a PHP developer by training, I have a degree in electronic engineering, I had been other clients a developer before, and then I got a job. I’ve been doing PHP as a hobby because, like you say, it’s the most accessible way to interact, to be on the Web, and I came into PHP and I had a job in a large company, and I learned important skills like source control.
Louis: Using Mercurial and CVS at the time of course.
Lorna: And then I went to a small company as their senior developer, and the thing about being a senior developer in a small company is you also fix the printer and do the sys. admin (laughter), unplugging the phones; and just because I had done kind of open source stuff and I had my own blog up and things that’s the only way that I kept that job long enough to figure out how to do it.
Lorna: And just you know when you work with PHP if you’re doing it in a day job often all of the infrastructure is in place for you, you don’t need to configure your own stack. When you work with open source you have to configure your own stack, and it might feel like a bit of a hassle but actually you’re learning so much when you do that.
Louis: Yep. Although I have to say sometimes the hassle becomes overwhelming when you’re working on your own stuff, but working on open source projects can be a really fantastic way of learning the stuff. I wanted to talk a little bit about frameworks, you mentioned that this project is built in CodeIgniter and that’s something you’re not terribly familiar with, do you have a PHP framework that you like to work with or are you one of those people who does it yourself every time or what’s the –?
Lorna: Oh, that’s a really good question. I’m a consultant so my favorite PHP framework is whatever my client is using.
Lorna: And what’s nice about that is I’m kind of seeing those things now and it’s getting easier to find my way around in unfamiliar frameworks; that ‘lost in a new framework’ sensation is horrible, it’s like falling almost. And I don’t mind working with lots of new tools, I mean sure it means I’m constantly looking things up and asking people; most of the frameworks have a great set of documentation, the IRC channel will answer your questions, they’ll make fun of you first, but that’s okay (laughter), and so on, so I don’t really mind. A lot of what I work on are very small and performant apps, so I’m specialist in API’s which tend to be very small, not very many classes but under a lot of load.
Lorna: So it’s not that unusual for me to build those without a framework, but I really try not to reinvent the wheel, even if I’m building sort of not using a frameworks MVC I’ll be using helper libraries from one of the frameworks from z2 component, something from PEAR, you know, I really try hard not to reinvent stuff, and there’s loads of places where you can pick and mix and that helper functionality to do your calendar stuff, your PDF stuff, whatever it is you’re working on.
Louis: Yeah, that’s one thing that’s fantastic about it, well, it’s a blessing and a curse in the case of PHP is that there’s all this stuff out there, whatever you want there’s a function that does it; it probably has a completely different interface from every other function though.
Lorna: Oh, well, of course, but the interface is there and you can choose to use it, and when it’s too incongruous, and some of the — even the built-in modules have some really awkward interfaces, you know someone’s always written a better wrapper for it and that can make a great starting point to make it more consistent with the application that you’re working on.
Louis: Right. Did you guys end up talking about frameworks at all in the book or is that something you sort of shied away from because that’s such a big topic to start getting into, all the different frameworks?
Lorna: Well, this is the thing, it’s very difficult to talk in general terms about frameworks, they all solve more-or-less the same problems kind of in different ways, and each one has their own ethos. There are great books out on pretty much all of the frameworks, so I think we pretty much left it at saying Frameworks are a great way of giving you structure in your applications, of giving you something to kind of hang it on, because when we’re building a large application it needs to have some structure in it, it can be quite difficult to architect that; which framework you choose it really doesn’t matter. The way that I choose is I look at frameworks where the documentation seems comprehensive, the people are reasonable, I think I could get help if I get stuck, and beyond that you know it doesn’t really matter; you can build most things with most frameworks.
Louis: Yeah, absolutely. And there’s a lot to be said for just sort of looking at the code of various frameworks as a way of learning how well structured code, or what well structured code looks like.
Lorna: Yeah, and certainly when you’re working with one don’t be afraid to drill in and see how it is solving this problem, where is the magic and how does it work? I just think that can be really interesting to look how people have built that, and sometimes when you need to break the rules for whatever reason you’re going to be overriding that functionality, so it’s a great part of your education almost to bring frameworks into your code base and to really get in; don’t put them in a black box and talk to them from a distance, like get involved and learn about them.
Louis: Yeah, absolutely. That’s one of the things for someone just learning how to do well structured PHP, say, they can be daunting, that step of sort of opening up these framework source files and starting to read through them because a lot of times that stuff looks very over-architected because it’s done to be so generic and usable in all these cases, so things will be abstracted away by a couple levels, whereas you’re used to reading functions in books teaching you PHP or in tutorials or in your own code that it’s one function and it does something very clear, when you read the framework code it can be — it looks much more abstracted but there’s a lot to be learned from that kind of structure, and like you said, when you get to building any app that’s a little bit larger that’s invaluable.
Lorna: Yeah, totally agree.
Louis: Awesome. Coming back to the book, you worked on it with a few other authors, is that right?
Lorna: Yeah, so I had two co-author, and this was really funny because so I’m negotiating with SitePoint and they’re saying “oh we’d love you to work on our book, find yourself some co-authors,” so I’m oh, okay, great, anyone I know? Oh, no I don’t think so; two guys, one is named Matt Turland and one’s named David Shafik. Well, both of them of course speakers on the PHP circuit, even though they live in the U.S. and I’m in Europe they’re friends of mine, I see them when I’m over there at conferences, Dave is actually originally British so he’s very occasionally over here to see his folks, so that was kind of a big surprise and a really positive thing that they’re both people that I knew already, and it just made those IRC arguments about exactly who got to write about which thing where topics were falling between chapters, just made the whole thing easier because we’re already mates, have already done the putting the face to a name process with those guys and they’re both friends of mine. So, they’re also both wonderfully well qualified, so both of them have previous books that they’ve written and were a great support to me, this is my first book.
Louis: Alright, congratulations.
Lorna: Thank you.
Louis: Are you all done; is it in the clear now?
Lorna: It’s still in final language edit so we’re getting a few queries coming back, but I don’t have to actually write anything more, they’re kind of in the process of untangling the last bits making us all sound like each other which is a real challenge for three different people, and if you met us we’re three really different people.
Lorna: But that’s cool because we’ve all sort of brought something different to it, we all have different experiences, and the way that we split up the chapters just everyone wrote about what they were most excited about and it worked out really well.
Louis: That’s cool. Which bits were you working on primarily?
Lorna: Well, of course I think I’ve got the best chapters (laughter).
Louis: And if everyone thinks that we won.
Lorna: (Laughs) Yeah, I think the boys would say the same. So, I have a chapter on databases being able to talk about using PDO from PHP, a little bit about database design, just bringing it from the “this is a table, this is another table, we have a phone key,” into how to add indexes into your project, how to normalize your data; actually working with PDO. We have this great library talking to databases in PHP, it’s object oriented and I think that sometimes puts people off, so I was really excited to write that chapter in particular because if you’ve got a good data structure you can solve most of the problems, there’s also some nice bits about de-normalizing your data in Davey’s performance chapter which kind of follows on.
Louis: Right. So for anyone who’s not familiar let’s say, in the audience, what we mean by normalization and de-normalization maybe you can just drop into that for a second.
Lorna: Oh, yeah.
Louis: The cliff’s notes version.
Lorna: Yeah. So, in a real shorthand, if you have any kind of repeated data in tables, comma separated values in a column, that’s de-normalized data, like we can improve it by refactoring out to a different column, but sometimes it’s hard to identify the patterns where you should have another table or you don’t need one, if you split things out you have to write joins and it can really get a bit complicated, particularly when you’re just learning. So, this idea of normalizing data we showed you when you should split things out, how to identify whether your data needs some more normalization. And then we also show how to do different joins and how to add indexes to make those joins perform much better, so it’s like a real overall database design element. The examples use MySQL but those theories, those concepts, apply to all kinds of different database backends, so I’m hoping they’ll be useful to all kinds of different people.
Louis: Yeah, right. I think it’s probably a pretty safe bet to go with MySQL especially when you’re writing in PHP.
Lorna: Yeah, but I’m increasingly coming across certainly my enterprise clients who are not using MySQL. You know MySQL doesn’t have a salesman that comes around and takes people out for lunch.
Lorna: So sometimes I find PHP developers typically on a heavy Unix or Linux backend or maybe they’re using Oracle, and lots and lots of IAS and SQL server, so I was really — it’s good to get the databases chapter focused on PDO because you can use PDO against all of those backends and many more. So that databases chapter is surprisingly transferable across different technologies, and I think that reflects PHP sort of penetrating different industries now.
Louis: Yeah, that’s interesting. So you say you have clients using PHP on an IAS and SQL server stack.
Lorna: Yeah, absolutely. And something that I’m coming across I’d say increasingly, you know, and I kind of had a couple of them a couple years ago, and now I’d say sort of 25% of the people that I work with are on a sort of non-standard LAMP Stack in whichever direction, and that IAS SQL server is, first of all it’s pretty common, and secondly, it’s absolutely a perfectly acceptable way to run PHP; PHP performs perfectly well in Windows now. So, yeah, I don’t know a whole lot about it but it’s something I’m seeing.
Louis: So it’s interesting to see PHP not only maturing as a language but also sort of infiltrating other environments, for example, on Windows in the early days of PHP would’ve never seen PHP on Windows but now a common occurrence.
Lorna: Yeah, absolutely. And I think a good thing, PHP is ubiquitous, it’s something that 60% of the Web runs on it, that’s cool and I like that’s it’s getting around the place. And I like that in PHP we have things like PDO, there’s a general recognition in the community that it’s totally acceptable to run PHP on Windows, which is a shame because you know I quite enjoyed making fun of people doing it, (laughter) but now I can’t, there’s no reason to. So, yeah, the databases chapter was one of my favorites, they were all my favorites; I don’t know who I’m trying to persuade here.
Louis: Sounds like a lot of fun, I’m looking forward to having a read. So correct me if I’m wrong but the book is supposedly going to come out some time around late October?
Lorna: Yeah, so that’s the way that I understand it, everything’s delivered, they are working on the edits at the moment, we’re all getting the occasional “no I don’t know what you meant” comments coming back (laughter), so once we’ve cleaned up all those glitches, and it’s going through getting printed and everything, it’ll be literally, yeah, the end of October. So I’m kind of excited to have it in my hands and we’re really looking forward to it.
Louis: Yeah, it’s a fantastic thing. From the time I spent working in publishing at SitePoint that moment when the box of books arrives is the winner, especially if you’ve had a couple of very, very late nights finishing it up.
Lorna: Right. I’m really looking forward to that.
Louis: A physical product. And it’s very different especially for us as web developers who spend our time making things that are fundamentally ephemeral, right, things that don’t have a concrete nature to them I guess; in the sense of organizing a conference you’d have some similar experience of something coming together.
Lorna: Yeah. It’s just sort of all arrives, and the conference is like we stand there as the main hall fills up on the morning, and I co-organized with a guy names Jeremy Coates, and every year we’ve done it the two of us have stood there watching this hall fill up and going “what have we done, what have we done?” It’s just amazing and I think it’s going to be a little bit like that, “wow, it’s real!”
Louis: I wish you a very similar experience when you get the printed books.
Louis: So before we close this podcast I just wanted to mention that yourself and the SitePoint podcast have something in common which is to say that we’re both nominated for the .net Magazine Awards, is that right?
Lorna: Yeah, so this came as a complete shock to me. Now, it’s really — it’s much cooler because I read .net mag and occasionally I write for them, and they’re based in Britain so I see them at all the events here and so on, and they’re such cool guys. But somebody, and I have yet to find out who, nominated me for their Developer of the Year, so yeah.
Lorna: There’s all these famous people and me in this list of Developer of the Year nominees, and there’s all these different categories, loads of interesting people, and it’s great because if you go there, I think it’s thenetawards.com, then you have a look and everybody you click through to is doing something really interesting, so yeah, voting’s open until the end of September and, ooh, it’s all kind of exciting.
Louis: That’s awesome. It’s interesting to see this kind of curated list of what’s going on in the Web world, there’s all kinds of cool stuff and their Redesign of the Year and lots of really fun stuff if anyone’s — anyone who is involved in the Web industry even have a look at it, obviously we’re both going to put a plug in there and ask for your votes for both the SitePoint Podcast in the podcast category, and Lorna in the Developer of the Year category. Am I correct in thinking that the Developer of the Year is a new category, was that not there in previous years?
Lorna: It wasn’t, so they’ve made Developer of the Year, Designer of the Year, and they’ve also got, and I think this is awesome, they’ve also got the Young Developer of the Year, and the Young Designer of the Year, actually focusing on people who are right in the start of their careers doing something remarkable, so those four categories are new, they have other new categories as well which escape me of course (laughter). But, yeah, no I think it’s quite exciting, and like I say for me it’s been really interesting to find out about all these other people, not necessarily in PHP specifically but in the Web world doing all this interesting stuff. So while all the listeners are on the page voting for us they should also click through and see all these other things are going on in our industry.
Louis: Yeah, absolutely fantastic stuff. And if I’m reading the list correctly, I’m not sure how good I am with identifying first names, but on the Developer of the Year list you’re the only woman?
Louis: Well, congratulations on that and I wish you really all the best.
Louis: Because it’s great to have more diversity on the backend, and in development in general.
Lorna: Yeah, I think so. I must say that most people have commented how I’m the only PHP developer and how pleased they are to see one.
Lorna: It’s like being a minority for more than one direction.
Louis: (Laughs) That one’s great, I like that joke. Alright, well thanks so much, Lorna; if people want to keep up with you where’s your blog, are you on Twitter?
Louis: Fantastic. Alright, well thanks very much and talk to you again soon I hope.
Lorna: Thanks a lot, Lou!
Louis: And thanks for listening to this week’s episode of the SitePoint Podcast. I’d love to hear what you thought about today’s show, so if you have any thoughts or suggestions just go to sitepoint.com/podcast and you can leave a comment on today’s episode, you can also get any of our previous episodes to download or subscribe to get the show automatically. You can follow SitePoint on Twitter @sitepointdotcom, that’s SitePoint d-o-t-c-o-m, and you can follow me on Twitter @rssaddict. The show this week was produced by Karn Broad and I’m Louis Simoneau. Thanks for listening and bye for now.
Theme music by Mike Mella.
Thanks for listening! Feel free to let us know how we’re doing, or to continue the discussion, using the comments field below.