<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>Toby&#039;s Technical Ramblings</title> <atom:link href="http://tosbourn.com/feed/" rel="self" type="application/rss+xml" /><link>http://tosbourn.com</link> <description>A web development blog.</description> <lastBuildDate>Mon, 07 May 2012 10:47:42 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <item><title>How I use MindNode to help craft blog posts</title><link>http://tosbourn.com/2012/05/wordpress/how-i-use-mindnode-to-help-craft-blog-posts/</link> <comments>http://tosbourn.com/2012/05/wordpress/how-i-use-mindnode-to-help-craft-blog-posts/#comments</comments> <pubDate>Sun, 06 May 2012 21:46:05 +0000</pubDate> <dc:creator>Toby</dc:creator> <category><![CDATA[Wordpress]]></category> <category><![CDATA[Blogging]]></category> <category><![CDATA[MindNode]]></category> <category><![CDATA[Productivity]]></category><guid
isPermaLink="false">http://tosbourn.com/?p=1029</guid> <description><![CDATA[I wanted to write a quick post about how I plan out my blog posts, which I will admit is a little meta &#8211; but with so many people writing their thoughts on things in a blog format I thought it would be interesting to start up a conversation on how different people do it. [...]]]></description> <content:encoded><![CDATA[<p>I wanted to write a quick post about how I plan out my blog posts, which I will admit is a little meta &#8211; but with so many people writing their thoughts on things in a blog format I thought it would be interesting to start up a conversation on how different people do it.</p><p>I use a brain storming tool called <a
href="http://mindnode.com/">MindNode</a> to plan out my posts. It lets you quickly get down what you are thinking into small nodes, which you can attach sub nodes to.</p><p>The best way to explain this is of a screenshot, and I figured the best way to do this would be to screenshot the MindNode I made for this post!</p><p><a
href="http://tosbourn.com/wp-content/uploads/2012/05/before.png?9d7bd4"><img
class="alignright size-full wp-image-1030" title="MindNode Before" src="http://tosbourn.com/wp-content/uploads/2012/05/before.png?9d7bd4" alt="" width="789" height="600" /></a></p><p>As you can see I can quickly map out what I think an article might end up containing, this is a really quick way to decide if there are enough talking points to continue writing the full article or not, most of the time I have found you can easily get 20-50 words out of an individual node.</p><p>You might also have noticed that each child node is to the left of its parent node, this is by design. After I have created the MindNode I use it as a todo list, this makes everything really easy to track as I can just move the completed nodes to the right, like so.</p><p><a
href="http://tosbourn.com/wp-content/uploads/2012/05/during.png?9d7bd4"><img
class="alignright size-full wp-image-1032" title="MindNode During" src="http://tosbourn.com/wp-content/uploads/2012/05/during.png?9d7bd4" alt="" width="923" height="407" /></a></p><p>If you have paid attention to the images you will know what I am going to talk about next!</p><p>I like using MindNode because:</p><ul><li>It makes you focus the points of your blog post &#8211; this can help you to avoid waffle or repeating yourself.</li><li>It can exhaust the points you wish to explore &#8211; if you just start writing the article you could find yourself getting to the conclusion by skipping a few steps.</li><li>It is quick to do &#8211; It is almost as quick as jotting them down your ideas on a notebook, only your notebook can&#8217;t be synced with Dropbox!</li></ul><p>Once I have moved everything over to the right hand side I know I am pretty much done with the article.</p><p>If you write content in a blog format I would love to know what you do to prepare it and what tools you use, please leave a comment here or on <a
href="http://news.ycombinator.com/item?id=3936460">Hacker News</a>, or on <a
href="http://www.reddit.com/r/Blogging/comments/ta8b7/how_i_use_mindnode_to_help_craft_blog_posts/">Reddit</a>.</p><p>And for completeness, here is my final MindNode!</p><p><a
href="http://tosbourn.com/wp-content/uploads/2012/05/final.png?9d7bd4"><img
class="alignright size-full wp-image-1033" title="final" src="http://tosbourn.com/wp-content/uploads/2012/05/final.png?9d7bd4" alt="" width="554" height="500" /></a></p><p>Thanks for reading!</p> ]]></content:encoded> <wfw:commentRss>http://tosbourn.com/2012/05/wordpress/how-i-use-mindnode-to-help-craft-blog-posts/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>What would you like to see more of on the web &#8211; a follow up with Zoe Bogner</title><link>http://tosbourn.com/2012/05/web-stuff/what-would-you-like-to-see-more-of-on-the-web-a-follow-up-with-zoe-bogner/</link> <comments>http://tosbourn.com/2012/05/web-stuff/what-would-you-like-to-see-more-of-on-the-web-a-follow-up-with-zoe-bogner/#comments</comments> <pubDate>Sat, 05 May 2012 09:15:32 +0000</pubDate> <dc:creator>Toby</dc:creator> <category><![CDATA[Web Stuff]]></category> <category><![CDATA[Interviews]]></category> <category><![CDATA[Zoe Bogner]]></category><guid
isPermaLink="false">http://tosbourn.com/?p=1025</guid> <description><![CDATA[Just over a year ago I asked the question what would you like to see more of on the web to a couple of people who work with or on the web. As it has been over a year I figured now would be a good time to follow up with the interviewees and see [...]]]></description> <content:encoded><![CDATA[<p>Just over a year ago I asked the question <a
href="http://tosbourn.com/2011/03/web-stuff/interview-what-would-you-like-to-see-more-of-on-the-web/">what would you like to see more of on the web</a> to a couple of people who work with or on the web.</p><p>As it has been over a year I figured now would be a good time to follow up with the interviewees and see if they got more of what they wanted!</p><p><a
href="https://twitter.com/#!/ZoeBogner">Zoe Bogner</a> was one of the participants, she originally said:</p><blockquote><p>This year, I hope to see the web become a more accessible place. I think we’re over the dark days of inaccessible flash objects and poorly used tables, hope the fast uptake of mobile devices, combined with the huge push towards HTML5 as the standard for online video and audio will, perhaps almost inadvertently, greatly improve the ways we present information.</p><p>Already I’ve noticed a very different approach in the handling of Flash-less users; I’m seeing less ‘please install the latest flash player’ and more seamless alternative content (alas, I do not escape those flashing banner ads on my iPad). I’m chuffed to see an increase in the use of alternative delivery methods (e.g. transcripts) and the work being done on the <a
href="http://www.w3.org/TR/wai-aria" target="_blank">WAI-ARIA spec</a>, the WHATWG’s<a
href="http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#the-track-element" target="_blank">&lt;track&gt; element</a> and the efforts of individual browser developers to bring us captioning.</p><p>Most of all, I’m hoping we will not relive the object-embed-satay-swfobject nightmare of previous years, and instead we will see the browser makers and spec writers come to some sort of codec consensus. Here’s hoping for a productive 2011!</p></blockquote><p>So with that in mind here is her new response!</p><p>2011 was a very exciting year for me as a web developer. Although Ethan Marcotte kindly gave us the term Responsive Web Design way back in 2010, and the HTML5 movement was already starting to pick up steam at that time, I think it took a good year before these ideas really gained the traction needed to be considered for too many big, serious projects. When I gave this interview in early 2011, I was in the process of trying to convince my colleagues to develop our first Flashless e-learning courses. I got most of my wish in that project (the assessments were still Flash), but just over a year later we&#8217;re now wrapping up the sequel, which requires no Flash player if you&#8217;re using a smart browser.</p><p>It seems like a no-brainer today, what with so many people now owning smartphones and iPads, but a year ago that idea was a tough sell. &#8220;Nobody is going to use this site on their phone&#8221; I was told. It was an ambitious project, I won&#8217;t lie, but today mobile and tablet access is the most requested feature of our Flash-fueled courses.</p><p>Regarding codecs, I don&#8217;t think we&#8217;ve seen the end of the format wars. I think it&#8217;s now safe to say the battle has died down to a point where browser makers have agreed to disagree, and all efforts are now focused on refining their own &lt;video&gt; and &lt;audio&gt; implementations. It&#8217;s bought us some much needed stability, even if it means we still have to produce and host multiple version of the same video, but at least we&#8217;re no longer aiming at wildly moving targets. However, the &lt;track&gt; element for transcripts that I pine for still looks a long way off.</p><p>2011 was a pretty amazing and groundbreaking year for me. I saw a lot of processes towards an increasing device-agnostic and accessible web future, and I can&#8217;t help but smile at the thought of what the next 12 months will bring!</p><p>Thanks so much to Zoe for taking part, and I am glad that it seems like she got what she wanted from the web in the past year!</p> ]]></content:encoded> <wfw:commentRss>http://tosbourn.com/2012/05/web-stuff/what-would-you-like-to-see-more-of-on-the-web-a-follow-up-with-zoe-bogner/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>The EU Cookie Law website</title><link>http://tosbourn.com/2012/05/development/the-eu-cookie-law-website/</link> <comments>http://tosbourn.com/2012/05/development/the-eu-cookie-law-website/#comments</comments> <pubDate>Tue, 01 May 2012 20:05:44 +0000</pubDate> <dc:creator>Toby</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[CSS]]></category> <category><![CDATA[Google Analytics]]></category> <category><![CDATA[HTML5]]></category> <category><![CDATA[LESS]]></category> <category><![CDATA[The EU Cookie Law]]></category><guid
isPermaLink="false">http://tosbourn.com/?p=1021</guid> <description><![CDATA[So over the weekend I launched The EU Cookie Law.com, there are several firsts for me and interesting features that I wanted to discuss. So the reason I decided to create this site was because I wanted to learn more about the law and how it applies to the projects I work on. Initially I [...]]]></description> <content:encoded><![CDATA[<p>So over the weekend I launched <a
href="http://www.theeucookielaw.com">The EU Cookie Law</a>.com, there are several firsts for me and interesting features that I wanted to discuss.</p><p>So the reason I decided to create this site was because I wanted to learn more about the law and how it applies to the projects I work on.</p><p>Initially I was going to write an in-depth blog post about it but then decided to use it as an excuse to play with some funky new toys I have been meaning to play with for a while.</p><h2>Learning about the law</h2><p>Even the process of learning about the law was pretty interesting &#8211; on a quick pass you find a handful of websites aimed at the law and a few articles on it, but nothing major &#8211; but if you start to refine your search you find that there are hundreds of people chatting about it and there are a lot of conflicting views &#8211; it really depended on how you worded your search .</p><p>There is a question here around how neutral you can make yourself whenever you search on the web, the tone of question could very well dictate the type of answer, but that is for another blog post.</p><p>This project was the first time in a long time that I set myself a homework &#8211; normally I skim read dozens of articles, follow a handful of tutorials and generally coast through new things (I strongly believe this to be the most efficient way to be an excellent generalist).</p><p>This time I gave myself the task of learning about something in depth, writing notes on it and then summarising those notes in a way I felt would be useful to others.</p><p>I really enjoyed the process and I certainly think I am going to set myself more tasks like this &#8211; instead of maybe just following a tutorial, really getting my teeth into each section and writing about it in a longer form format.</p><p>The final takeaway point for learning about the law was the law itself,<span
style="color: #ff0000;"> <strong>it seriously sucks</strong></span>, if you want to know about the EU Cookie Law, naturally you should visit the site but essentially it is just a bollocks law set by people who clearly have no real grasp of the technical issues involved in policing or enforcing something like this &#8211; it will crush small/medium businesses and put European trade on the back foot. Complete rubbish.</p><h2>Technology</h2><p>So the reason I decided to make a site instead of writing a blog post was I wanted a reason to try out Twitter&#8217;s Bootstrap &#8211; just to see if it was any good. Honestly, I found it confusing as hell &#8211; I can see the use as a bit of a quick template to get you going but the experience wasn&#8217;t anywhere close to what I assumed it would be like. I wouldn&#8217;t recommend it.</p><p>Whilst I was looking through the source of the Bootstrap I was reminded though of LESS, which extends CSS to allow it to do a whole manner of awesome things &#8211; LESS is just the bee&#8217;s knees, you can add variables to your code and apply mathematical and graphic methods to them, for example you can darken a colour by a particular percentage, this is so freakin awesome and time saving you wouldn&#8217;t believe.</p><p>I was worried it would be a bit of an arse to set up because I was developing on a machine that I haven&#8217;t really had the time to set up yet &#8211; to be able to compile the LESS files down to CSS I needed to install a node package, to install a node package I needed to install node, to install node I needed to install homebrew and to install homebrew I needed to install Xcode. None of these steps was particularly hard to do, it was just annoying to have to do them!</p><p>Once all the dependancies were installed I was flying, there was even a build package already built for Sublime Text 2 (my current text editor of choice) So I can just type cmd+b to save my less file as a CSS file.</p><p>If you have been to the site you will see that it is <em>very</em> basic &#8211; it is really just one long article &#8211; I had decided to use HTML5 because frankly only the elderly are still writing in HTML &lt; 5, because there was nothing too fancy going on I didn&#8217;t bother including modernizr.js and my tests showed that IE7 handled everything just fine, which is more proof (if proof be needed) that HTML5  should be the standard doctype for your markup.</p><p>I also used this project as an excuse to dick around with responsive design &#8211; before you get too excited the site doesn&#8217;t do a massive pile, in fact it was designed to be flexible regardless of media queries, but I was able to write enough to get my head more around the concepts better than it had been before.</p><p>If you are looking and can&#8217;t see it, it is because it is <em>that</em> subtle, basically the gutters of the page decrease away to almost nothing when viewing it on a very narrow screen.</p><h2>Analytics</h2><p>One of the contentious issues around the EU Cookie Law is that analytics such as Google Analytics is not seen as core site functionality, and as such people need to be given the option to be able to opt in or out of getting the GA tracking cookie.</p><p>Obviously I didn&#8217;t want to have a site about the EU Cookie Law that breaks the law, so I decided not to install Google Analytics, or any other 3rd party analytics tools.</p><p>I have to say I forgot how much you get can out of the information stored by the likes of Webalizer that comes installed cPanel (which comes with my hosting) &#8211; on a project like this were my only real interest in analytics is to look at some visitor counts every so often Webalizer more than meets my needs. I am sure plenty would disagree with me but I am starting to wonder if I need to stop blindly putting GA code into my sites and instead work with what my server can log and give me.</p><p>Because I don&#8217;t have that tracking code installed, or any social networking plugins it means I could get away without any JavaScript on the site at all.</p><p>It has been years since I have been able to write a project that was 100% HTML/CSS and I have to say it was liberating &#8211; no debugging to do, no overheads to be concerned about, brilliant.</p><h2>The Power of Hacker News / Reddit</h2><p>The only promotion I did upon launching the site was to submit it to both Hacker News and Reddit, I had over 1000 hits on the first day and the traffic is still going strong. I couldn&#8217;t have asked for better!</p><p>Sorry for the long rambly post!</p> ]]></content:encoded> <wfw:commentRss>http://tosbourn.com/2012/05/development/the-eu-cookie-law-website/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>HTML5 Rocks Hangout 1</title><link>http://tosbourn.com/2012/04/development/html5-rocks-hangout-1/</link> <comments>http://tosbourn.com/2012/04/development/html5-rocks-hangout-1/#comments</comments> <pubDate>Sat, 28 Apr 2012 18:05:24 +0000</pubDate> <dc:creator>Toby</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[Boris Smus]]></category> <category><![CDATA[Eric Bidelman]]></category> <category><![CDATA[HTML5]]></category> <category><![CDATA[Paul Irish]]></category><guid
isPermaLink="false">http://tosbourn.com/?p=1016</guid> <description><![CDATA[Yesterday I watched a video taken from a Google+ hangout and really enjoyed it. Essentially it is three Googlers (Boris Smus, Eric Bidelman, Paul Irish) talking about some of the cool stuff they have been working on. It includes some tips on some JavaScript performance debugging you can do with the soon to be new [...]]]></description> <content:encoded><![CDATA[<p>Yesterday I watched a video taken from a Google+ hangout and really enjoyed it.</p><p>Essentially it is three Googlers (Boris Smus, Eric Bidelman, Paul Irish) talking about some of the cool stuff they have been working on. It includes some tips on some JavaScript performance debugging you can do with the soon to be new Chrome dev tools and some other pretty rocking stuff.</p><p><iframe
src="http://www.youtube.com/embed/pmqKnEG-6GA" frameborder="0" width="560" height="315"></iframe></p> ]]></content:encoded> <wfw:commentRss>http://tosbourn.com/2012/04/development/html5-rocks-hangout-1/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Review: CodeLobster</title><link>http://tosbourn.com/2012/04/development/review-codelobster/</link> <comments>http://tosbourn.com/2012/04/development/review-codelobster/#comments</comments> <pubDate>Thu, 26 Apr 2012 19:20:59 +0000</pubDate> <dc:creator>Toby</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[CodeLobster]]></category> <category><![CDATA[IDE]]></category> <category><![CDATA[Review]]></category><guid
isPermaLink="false">http://tosbourn.com/?p=1011</guid> <description><![CDATA[I was recently asked by the guys at CodeLobster if I wouldn&#8217;t mind checking out their software and writing a quick review of it. I am always more than happy to review any software or hardware, and there is nothing I like more than a nice IDE, so I jumped at the chance and for [...]]]></description> <content:encoded><![CDATA[<p>I was recently asked by the guys at <a
href="http://www.codelobster.com/">CodeLobster</a> if I wouldn&#8217;t mind checking out their software and writing a quick review of it.</p><p>I am always more than happy to <a
title="Reviews and Interviews" href="http://tosbourn.com/reviews-and-interviews/">review any software or hardware</a>, and there is nothing I like more than a nice IDE, so I jumped at the chance and for the last week, have been doing 80% of my 9-5 coding using CodeLobster</p><h2>What is CodeLobster</h2><p>CodeLobster is a Windows based PHP IDE, its core aim seems to be to allow you to create websites and web applications with the least amount of resistance possible. It has built in support for things like WordPress and CakePHP, which I have to say is pretty awesome.</p><p>I am not going to list out all the features present in the app, just draw attention to some of the things I like and don&#8217;t like about it, for a full rundown you can always visit the website.</p><h2>What I liked about it</h2><p>I really liked how out of the box it came with a lot of stuff, there was the integration with various libraries and frameworks, there was version control, there was build and debug tools &#8211; there was a lot, and of course it had your standard slew of features like syntax hilighting and auto-complete.</p><p>The first thing you will probably say is that your IDE of choice has all those things, and it probably does (pretty much all the ones I have used recently do) but they have had to be installed after the fact as plugins, never really a huge task but with CodeLobster you don&#8217;t have to.</p><p>There is a really nice feature that if you hover over a CSS property, you immediately get shown which browsers support that property, naturally this doesn&#8217;t replace testing but it does mean you can catch stuff as you write it instead of after it has been compiled, uploaded and ran.</p><p>Speaking of CSS, it also gives you a preview of the colour you are using in a property, which is something I have found plenty of editors and IDEs to be lacking.</p><p>Everything seemed really customisable, which is something more and more programs are latching onto these days, you really do get the sense this was written with web developers in mind.</p><p>The level of support I received early on was excellent too, I know they had a vested interest in keeping me happy because I was going to write a review but I did have some questions that were quickly and fully answered.</p><h2>What I disliked about it</h2><p>It felt a little unfinished in places, there are a couple of spelling mistakes and a couple of images have been used without due care and attention. I think perhaps it has been built by programmers for programmers, which is a good thing but maybe needs a designer to take a quick look at it and give them some notes.</p><p>It ran on Windows, not a crime in and of itself but because I run a Mac setup at home I could only really test it in work &#8211; I should say it handled our projects without a hitch and helped me out a lot.</p><p>I had to register to get a free account, this is probably to stop piracy or something but when I download something I want to install it and run it immediately &#8211; not have to fill in forms and copy keys from emails into stuff.</p><h2>Final thoughts</h2><p>I guess my thoughts on this are that it is a really good attempt at a PHP IDE, it ticks all the boxes I would need a development environment to tick and I would have no qualms with recommending others try out the software.</p><p>I probably won&#8217;t continue to use it much to be honest because I have found my current setup to be far more streamlined for my needs and is cross system compatible so I can run it on both of my Macs and my work PC.</p> ]]></content:encoded> <wfw:commentRss>http://tosbourn.com/2012/04/development/review-codelobster/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>What Meteor does when you install it</title><link>http://tosbourn.com/2012/04/meteor/what-meteor-does-when-you-install-it/</link> <comments>http://tosbourn.com/2012/04/meteor/what-meteor-does-when-you-install-it/#comments</comments> <pubDate>Mon, 23 Apr 2012 21:58:31 +0000</pubDate> <dc:creator>Toby</dc:creator> <category><![CDATA[Meteor]]></category><guid
isPermaLink="false">http://tosbourn.com/?p=1003</guid> <description><![CDATA[I have been playing about with Meteor recently and I am going to start blogging about different cool things you can do with it. The first pretty cool thing which I haven&#8217;t seen any applications do before is leverage the power of the pipe for installing Meteor. The command given on the site to get [...]]]></description> <content:encoded><![CDATA[<p>I have been playing about with <a
href="http://meteor.com/">Meteor</a> recently and I am going to start blogging about different cool things you can do with it.</p><p>The first pretty cool thing which I haven&#8217;t seen any applications do before is leverage the power of the pipe for installing Meteor.</p><p>The command given on the site to get you up and running is:</p><pre>curl install.meteor.com | sh</pre><p>If you are not familiar with the command line this can look a little messy, but this is actually very elegant install solution, it makes sure all new installs have the most bang up-to-date version and uses a shell script for the install, which is supported by a large amount of machines.</p><p>The command is divided up into two sections, the section before the pipe (&#8216;|&#8217;) and the section after it.</p><p>The section before uses a command that grabs the content from a URL and displays it (in this case the content of install.meteor.com).</p><p>Only the pipe tells us that whatever output that first command gives to give it to the second command, so it passes the output of install.meteor.com to the sh command instead of displaying it.</p><p>The sh command calls a primitive language used by most *nix based systems. This executes the contents of install.meteor.com allowing the rest of the program to be installed.</p><p>If you want to see exactly what is being installed just browse on over to <a
href="http://install.meteor.com">install.meteor.com</a> to take a look.</p><p>Normally to install things you need to download the .sh file, run a change of permissions to allow the file to be executed, and then call it &#8211; this method gets around all this in one nice neat line.</p><p>You will see for yourself how awesome this platform is to develop on when I start posting some examples and tutorials, but lets just say that when they have made the install this elegant, you can be sure they have made the rest of it just as well.</p> ]]></content:encoded> <wfw:commentRss>http://tosbourn.com/2012/04/meteor/what-meteor-does-when-you-install-it/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>A case for going agile</title><link>http://tosbourn.com/2012/04/other/a-case-for-going-agile/</link> <comments>http://tosbourn.com/2012/04/other/a-case-for-going-agile/#comments</comments> <pubDate>Fri, 20 Apr 2012 10:40:21 +0000</pubDate> <dc:creator>Toby</dc:creator> <category><![CDATA[Other]]></category> <category><![CDATA[Agile]]></category> <category><![CDATA[Slides]]></category><guid
isPermaLink="false">http://tosbourn.com/?p=1001</guid> <description><![CDATA[Ages ago I wrote a quick presentation on why I think a company should adopt an agile way of working. I never had to give it and have since lost my notes, but I figured I would post the small slidedeck up, because why not! The argument for agile development View more PowerPoint from Toby [...]]]></description> <content:encoded><![CDATA[<p>Ages ago I wrote a quick presentation on why I think a company should adopt an agile way of working.</p><p>I never had to give it and have since lost my notes, but I figured I would post the small slidedeck up, because why not!</p><div
id="__ss_9153648" style="width: 425px;"><strong
style="display: block; margin: 12px 0 4px;"><a
title="The argument for agile development" href="http://www.slideshare.net/tosbourn/the-argument-for-agile-development" target="_blank">The argument for agile development</a></strong> <iframe
src="http://www.slideshare.net/slideshow/embed_code/9153648" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="425" height="355"></iframe></p><div
style="padding: 5px 0 12px;">View more <a
href="http://www.slideshare.net/thecroaker/death-by-powerpoint" target="_blank">PowerPoint</a> from <a
href="http://www.slideshare.net/tosbourn" target="_blank">Toby Osbourn</a></div></div> ]]></content:encoded> <wfw:commentRss>http://tosbourn.com/2012/04/other/a-case-for-going-agile/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Interview with Stephen Kinkaid from Big Wet Fish</title><link>http://tosbourn.com/2012/04/linux/interview-with-stephen-kinkaid-from-big-wet-fish/</link> <comments>http://tosbourn.com/2012/04/linux/interview-with-stephen-kinkaid-from-big-wet-fish/#comments</comments> <pubDate>Thu, 19 Apr 2012 12:01:52 +0000</pubDate> <dc:creator>Toby</dc:creator> <category><![CDATA[Linux]]></category> <category><![CDATA[Big Wet Fish]]></category> <category><![CDATA[Hosting]]></category> <category><![CDATA[Interviews]]></category> <category><![CDATA[Stephen Kinkaid]]></category><guid
isPermaLink="false">http://tosbourn.com/?p=989</guid> <description><![CDATA[Today I am proud to share with you an email interview I conducted with Stephen Kinkaid, the owner of Big Wet Fish, a web hosting company based in Northern Ireland. I should say, I am a customer and BWF fanboy &#8211; so was very glad to get this interview, I think a lot of hosting [...]]]></description> <content:encoded><![CDATA[<p><a
href="http://tosbourn.com/wp-content/uploads/2012/04/stephen.jpg?9d7bd4"><img
class="alignright size-thumbnail wp-image-996" title="Stephen Kinkaid" src="http://tosbourn.com/wp-content/uploads/2012/04/stephen-138x150.jpg?9d7bd4" alt="" width="138" height="150" /></a>Today I am proud to share with you an email interview I conducted with Stephen Kinkaid, the owner of <a
href="http://www.bigwetfish.co.uk/whmcs/aff.php?aff=264">Big Wet Fish</a>, a web hosting company based in Northern Ireland.</p><p>I should say, I am a customer and BWF fanboy &#8211; so was very glad to get this interview, I think a lot of hosting companies could learn from what BWF are doing.</p><p>Anyway, onto the interview!</p><p><strong>For those who don&#8217;t know who you are, could you give us a bit of an introduction.</strong></p><p>My name is Stephen Kinkaid and I am owner of Big Wet Fish Hosting in Belfast.  I was born in 1974 (get the calculators out) and I grew up in Derry/Londonderry.  I went to Queens University in Belfast in 1992 to study Computer Science graduating in 1996.  I then completed my Teacher Training at Queens and got my first teaching job in Glengormley High School in 1997.  I moved to te role of Teacher in Charge of IT in Carrickfergus Grammar School in 2000 and onto Head of IT in Carrickfergus College in 2007.  I have been working full time at &#8216;the fish&#8217; for well over a year now and am excited about what we have achieved to date and what we hope to achieve in the future.</p><p><strong>A level students needing web space &#8211; Carrick Grammar must have been pretty forward thinking, did you get to affect much of the curriculum there?</strong></p><p>Unfortunately not. You are constrained by the Curriculum and the need to have the students pass exams. The specification at the time for the web design unit stated that websites should have &#8216;Advanced Content&#8217; so I took that as the chance to host the websites and have a little bit of php and mysql going on (by little I mean real simple stuff but enough for a basic introduction and stir their curiosity). Ironically at an Exam Board training day I was informed that adding a (wait for it) &#8216;Flash Navigation Button&#8217; or an html image rollover or a hit counter would also be classed as &#8216;Advanced Content&#8217; for the purposes of the mark scheme. In my opinion something is seriously wrong with the teaching of IT and Web design if the exam board class an html image rollover as advanced content.</p><p>You may have seen the debate of late about IT in schools and how it fails to deliver what is needed for life at University or the World of Work. Although I am not a teacher any more (well technically I still am just am not teaching!) I tend to agree with many of the critics about the poor state of IT in schools. In defence of teachers, a teacher has to teach the specification in order to have their students pass the examination so it is unfair to pile all the blame on teachers. Take the provided software on the managed service solution to schools &#8211; the only provided software for web design in schools on this date in 2012 is Microsoft Frontpage so unless a school invests from their own budget this is the only tool a teacher has to help a student develop a website. I had to fight to get £3000 to buy en education site license for Dreamweaver from the limited school budget. I have been in classes where teachers have told students that a Frontpage Layer is just like a Publisher Textbox in that you can move it around (yes the teaching of web design IS that poor in schools)! I could go on for paragraphs here but I think you get a sense of how strong I feel about this. The Government is investing millions in a new managed service network for schools and I fear training of staff and proper software provision will be neglected once again.</p><p><strong>So that is your history, but lets talk about the present! For those who are unaware of Big Wet Fish, could you give us a brief history.</strong></p><p>I did an interview for <a
href="http://repknight.com/" target="_blank">repknight.com</a> back in June 2011 and much of what I summarise here can be found on their Blog.  <a
href="http://repknight.com/blog/?p=52" target="_blank">http://repknight.com/blog/?p=<wbr>52</wbr></a></p><p>I started BWF in 2002 as a hobby when I needed some reseller space for my students to use for their websites they were doing for their GCSE and A Level work.  I used to get frustrated at the standard of IT Teaching in schools (I still do!) and I wanted to give my students the ability to host any web work they did on line and to also introduce them to basic php and mysql.  I started selling web plans on Ebay in 2003 but did not really start any serious work until November 2007 when the first BWF website went on line.  I wanted to start a company where clients came first &#8211; where clients were more than a number (the old cliche!) and where clients felt valued.  We always try to go the extra mile for clients using a common sense approach.  Clients are seeing that and our growth in the past 12 months has seen an 85% increase in turnover and we see no signs of that growth slowing down.</p><p><strong>Could you briefly describe the current setup for us, in terms of staff and locations.</strong></p><p>We have servers located in two locations.</p><ul><li>Firstly we have servers (Shared, Reseller, VPS and Cloud) in Bluesquare in Maidenhead near London.  We have been using this data centre for a few years now and have found them to be a solid provider.</li><li>Secondly we have servers (Shared, Reseller and VPS) located in DIMEnoc in Orlando Florida :  <a
href="http://vimeo.com/32164614" target="_blank">http://vimeo.com/32164614</a>  gives you a tour of this facility</li></ul><p>We have a full compliment of staff available 24/7 to support clients with their needs.</p><p><em>Stephen K (myself)</em></p><p>I work from Belfast and manage all sales and accounting enquiries.  I also help out on the helpdesk when needed and I manage any new server build projects.</p><p><em>Giles W (Senior Support Admin)</em></p><p>Giles is our Senior Support Admin and his role is to handle any escalated support tickets from our front line team and also work with me on a daily basis to ensure things run smoothly.  Giles did a design degree from Full Sail University in Orlando Florida and started off his career with Hostdime in Orlando where he worked his way up to a Level 2 support technician.  He left Hostdime Orlando in 2010 and has been working for BWF since that time.</p><p><em>Praveen N (Level 3 Linux Tech)</em></p><p>Praveen works the helpdesk for us office hours Monday-Friday and he is a computer science graduate specialising in Linux Servers.</p><p><em>January W (Administrative Assistant)</em></p><p>January is Giles&#8217; wife and she assists with Level 1 Support tickets, sales tickets as well as accounting issues on a contract basis.  She presently works for us 2 days per week.  Giles and her have just had a baby so her hours fluctuate but many of her admin tasks are not time critical so it works well for us and her.</p><p><em>Nixserv Solutions (remote technical team)</em></p><p>We also have a contract with a remote support company who are based in India.  This company have built up a strong reputation in the industry as being trustworthy and reliable and these technicians are on hand 24/7 to handle support tickets that we do not handle in house. The person who owns this company was a former Hostdime India technician and he came highly recommended by the Vice President of Operations at Hostdime USA.  We trust their judgement so trust this company based on that strong recommendation.   When a ticket is not answered internally within 30 minutes the remote technicians will pick up the ticket and handle it efficiently 24/7.  They are also monitoring the servers 24/7 and alert us the moment there is an issue.  In fact if you check our Twitter feed this morning a client just said :</p><blockquote><p>&#8216;Why to host with @<a
href="http://twitter.com/#!/bigwetfish">bigwetfish</a>? They tell you when something went wrong and you didn&#8217;t know. They don&#8217;t keep you in the dark! The light is on!&#8217;</p></blockquote><p>It is our strong desire within the medium term to bring more dedicated technicians working for us onto the helpdesk and to rely less and less on a remote Indian team.</p><p><em>DIMEnoc</em></p><p>We have contracts in place with DIMEnoc USA and DIMEnoc UK for our servers, bandwidth, IPs etc  There are spare parts for every server we deploy in the data centre and staff available 24/7 to respond in the event of a service outage.  Also in the unlikely event we have a support issue we cannot handle internally DIMEnoc and their sister company Hostdime Level 3 support admins will support us (for a cost) on a per ticket basis.</p><p><strong>Seems like you have a scaleable team, on the theme of scale, Big Wet Fish have been known as a customer service focused company &#8211; do you think that reputation can scale as you grow bigger?</strong></p><p>Yes we really believe we can handle this.  We want to look at examples of other hosting companies and take the positives and negatives and learn from successes and mistakes from other companies.  12 months ago I started the painful process of &#8216;letting go of my baby&#8217; and I firmly believe our reputation today as as strong as it was 12 months ago.</p><p>Hosting Con in Boston in July 2012 has a number of seminars relating specifically to this question.  I plan to attend that conference this year to network and learn from others.</p><p>We built our business on strong customer service and the business will fall if we ever let our guard down.  This is our primary goal to continue to give clients what they need.  As we grow we need to instill this ethos into the entire workforce and enable the workforce to make &#8216;ad hoc&#8217; decisions based on common sense.</p><p>Take yourself last week.  You had been asking about installing Ruby on your cloud server so I made a decision to offer you a free standard VPS server for as long as you had an active cloud server to allow you to test things without the fear of you having issues with your live cloud server.[<strong>Toby Note: I was incredibly grateful for this!</strong>]  It is these sorts of common sense business decisions that help clients to grow to love us &#8211; we need to enable all staff to make such decisions moving forward.  That decision I made for you will cost me a little money in terms of server space I cannot sell to someone else BUT critically the decision was taken to aid an active client and our primary aim is to keep all clients happy.</p><p>Some of the seminars I have in my mind to attend at HostingCon in Boston in July 2012 are:</p><ul><li>From Bedroom to Boardroom</li><li>How to get your whole company thinking and acting like owners</li><li>Maximise productivity by supporting employee freedom</li><li>Growing and Managing a remote workforce</li><li>Take your company to the next level</li><li>Finding your story : Branding yourself in the hosting industry</li><li>&#8216;The next evolution in customer care&#8217;</li></ul><p>As you can see we are focused on moving forward but critically moving forward always with our clients at the forefront of our minds.  We must be doing something right as we were approached recently by another hosting company who do similar things to us to buy us out.  We looked at the offer on the table and politely said no.</p><p><strong>Hosting Con sounds good, but are there any web host events closer to home that you think would be worth a look?</strong></p><p>Were it Web Design then there are loads of local events but for Web Hosting unfortunately much of the current development seems to be in the United States (any excuse for a trip to Boston!).  There are the World Host Days and this year it was held in Germany which I guess is much more local than the USA.  We did not attend but many of the seminars are available online:  <a
href="http://www.worldhostingdays.com/eng/agenda-120322.php" target="_blank">http://www.worldhostingdays.<wbr>com/eng/agenda-120322.php</wbr></a></p><p>That said, the range of speakers at Hostingcon meet the needs more of our organization at this moment in time with much more focussed talks relevant to us.</p><p><strong>What technical challenges have you had to face as your business has grown?</strong></p><p>We stick to what we  know and can manage so that helps us overcome any technical challenge.  For example, we have the ability to deploy Windows Servers on our Cloud but we only will do so on the understanding that it is 100% unmanaged.  We specialise in Linux CentOS servers with the Cpanel Control Panel.  Having all our shared and reseller servers set up in an identical fashion assists us in helping clients with issues.</p><p>We work on a team approach.  We actually do not like clients calling us with technical issues as a helpdesk ticket helps us deal with the issue in a team approach and we feel a client will get better service in this fashion.  If a tech has fixed an issue that another tech is unsure about we have a strict policy that the one tech will instruct the other tech. We all learn things on a daily basis with this approach.</p><p><strong>Any hosting horror stories you can share with us?</strong></p><p>Server 19.  Before we deployed our own OnApp Cloud in Maidenhead we had bought some OnApp Cloud space from a Dublin based Cloud only provider.  I need to say that this particular company has evolved greatly since that time and are now known as a very stable and solid provider but in mid 2011 we started getting tickets that server 19 was off line.  We checked our OnApp logins for this provider and the server had been terminated.  Contact was made with this provider and they informed us that a developer employed by them was working on their &#8216;Hostbill&#8217; module and had issued an API call to terminate some servers.  They said only a few servers were destroyed of which one was ours.  Thankfully we had R1Soft continuous Data Protection backups and this provider provided a technician to get everything back running after a few hours.  They also gave €250 credit as compensation.  They did take responsibility for this but this left us reeling at relying on a Virtual Platform to deliver shared and reseller hosting accounts to clients.</p><p><strong>Thinking to the future now, do you have anything big in the pipeline you want to share?</strong></p><p>Ask me after I attend Hosting Con!  Seriously though there are lots of things going on at the moment.  A summary of some is below.</p><p>Our Cloud is reaching capacity so we need to make some decisions moving forward about that within the next few months.</p><p>We also fully realise that our website is probably our biggest weakness and we have a 4-6 month plan in place to have a new website in place.  This will hopefully enable users to see more clearly what we can offer them and what we can do for them.</p><p>We also have some tentative ideas about how we could split the company into divisions which could happen at the same time as the website launch &#8211; one for our cheap shared servers where we have thousands of clients all paying a little money  - one for our VPS and Cloud servers where we have a few hundred clients all paying a lot of money. This would help us clear up the support channels available to all clients.  There are a lot of &#8216;grey areas&#8217; at the moment we need to clear up.   We love our clients but moving forward as we grow we need to make our support policy much more clear.  For example, if you only pay £2.49 per month (8 pence per day) you would only get helpdesk support.  If you pay £70 per month on a cloud server you get phone support.  Having 2 divisions &#8211; one for basic shared and reseller and one for business shared and Cloud Servers seems like a sensible approach.  These are all in the &#8216;Melting Pot&#8217; at the moment and are all open for discussion between staff.  Anything we change will be customer focused and we will always work hard to ensure our valued clients come first.</p><p>We will also be watching the industry to look to see how we can move forward and embrace new technologies.</p><p><span
style="color: #000000;"><strong>Finally</strong></span><strong>, is there anything else you would like to talk about or mention?</strong></p><p>Yes it seems appropriate to end this interview with a word of thanks to our clients who have made BWF the company it is today.  Without you we would not be here. It is a pleasure to see some clients from our early eBay days renewing year on year.  These clients especially I salute for being with us at the start and sticking with us over 10 years &#8211; watching us evolve into a one man &#8216;bedroom&#8217; operation into a company with many staff providing 24/7 support.</p><p>I feel I also need to mention DIMEnoc/Hostdime in Orlando Florida and in Maidenhead UK.  We are proud hosting partners of yours and have been for ten years.<br
/> Thanks for being there for us when we needed support.  Thanks for continuing to be there for us to assist with the really complex &#8216;head-melting&#8217; issues.  Having the power of a huge corporation behind us gives us and our clients the confidence that we have the contracts in place to handle even the most complex issues.</p><p><strong>##End of Interview</strong></p><p>Thanks so much for Stephen for taking the time out to answer my questions. You can following BWF on <a
href="http://twitter.com/#!/bigwetfish">Twitter</a>.</p> ]]></content:encoded> <wfw:commentRss>http://tosbourn.com/2012/04/linux/interview-with-stephen-kinkaid-from-big-wet-fish/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Copying a CakePHP Project from Linux to Windows</title><link>http://tosbourn.com/2012/04/development/copying-a-cakephp-project-from-linux-to-windows/</link> <comments>http://tosbourn.com/2012/04/development/copying-a-cakephp-project-from-linux-to-windows/#comments</comments> <pubDate>Wed, 18 Apr 2012 10:11:35 +0000</pubDate> <dc:creator>Toby</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[CakePHP]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[Windows 7]]></category><guid
isPermaLink="false">http://tosbourn.com/?p=986</guid> <description><![CDATA[Recently I had to make some changes to a website built on top of the CakePHP framework. Most of the time I would develop within a Linux environment, making the edits locally and running them on a development server before pushing them onto a production server &#8211; the development server being pretty much a clone [...]]]></description> <content:encoded><![CDATA[<p>Recently I had to make some changes to a website built on top of the CakePHP framework.</p><p>Most of the time I would develop within a Linux environment, making the edits locally and running them on a development server before pushing them onto a production server &#8211; the development server being pretty much a clone of the production server.</p><p>This time however I opted to do the changes locally (there were a lot of small changes that make pushing to a development server a bit of a pain).</p><p>My setup is Windows 7 with XAMPP installed on it, but the stages I had to follow should be similar for most setups.</p><p>I already had the website code downloaded onto my machine as that is where I make the edits &#8211; once I set up my hosts file in Windows and the virtual host directives in Apache I figured I would be 90% of the way there. I wish!</p><p>The first issue I encountered was this:</p><pre>Warning: include(cake\bootstrap.php) [function.include]: failed to open stream: No such file or directory in C:\path\to\my\site\webroot\index.php on line 78

Warning: include() [function.include]: Failed opening 'cake\bootstrap.php' for inclusion (include_path='/path/to/cake') in C:\path\to\my\site\webroot\index.php on line 78

Fatal error: CakePHP core could not be found. Check the value of CAKE_CORE_INCLUDE_PATH in APP/webroot/index.php. It should point to the directory containing your \cake core directory and your \vendors root directory. in C:\path\to\my\site\webroot\index.php on line 79</pre><p>Obviously you go where the errors take you, sure enough if I open webroot/index.php I can see that it is linking to a folder structure that I don&#8217;t have locally.</p><p>I jump onto the development machine and grab the files that it was linking to, pull them into a folder and put the correct path in, like so:</p><pre>if (!defined('CAKE_CORE_INCLUDE_PATH')) {
		//define('CAKE_CORE_INCLUDE_PATH', "/old/linux/path/cake" );
		define('CAKE_CORE_INCLUDE_PATH', "C:\new\windows\path\cake" );
	}</pre><p>Now when I go to my site I get this error:</p><pre>An Internal Error Has Occurred</pre><p>Useful! But before that displays I do get some of my layout displaying on screen, so there is a bit of progress.</p><p>In order to squeeze some more information out of cake I go into config/core.php and change the debug level.</p><pre>//Configure::write('debug', 0);
Configure::write('debug', 2);</pre><p>Now when I refresh the page I get plenty of useful information! In my case it was because I was an idiot and forgot to hook up my database &#8211; I won&#8217;t go through the steps to do that but basically export the development database, import it into your local and make sure you set up the same users with the same privileges.</p><p>I tend to try and keep my local setup the same as development so I am not messing about with config files too much.</p><p>My next issue that is immediately apparent after a refresh is that CSS is not getting loaded (and I am going to guess that JavaScript isn&#8217;t getting loaded either).</p><p>I have found that the best way to begin to track down this sort of issue is to view the source of the page, first of all is the code in place to try and load in CSS? In my case it was.</p><p>Next question, does the path to the CSS file look right? Again in my case it does.</p><p>Final question, when you click on the link to the CSS file, does it load? In my case it does not.</p><p>This immediately feels like an issue with either Apache or .htaccess redirects.</p><p>First let me check Apache to make sure that mod_rewrite is turned on, I check my httpd.conf file and sure enough it is enabled. Which means there is probably something wrong with how my site is locally trying to rewrite things. Onto .htaccess!</p><p>Annoyingly in my case htaccess was fine &#8211; in my case it turns out that I stupidly didn&#8217;t have my path in my virtual host set to the webroot, once I added this into my virtual host directive and restarted Apache I started to get my CSS again.</p><p>That is almost us finished &#8211; everything seems to be working but there was one edit made earlier that needs to be tidied up &#8211; the location of the Cake folder is something you want to worry about long term, having to remember to change that whenever you move code about is just a pain.</p><p>You don&#8217;t want to exclude webroot/index.php from any deployment solution because at some stage you might change something that you want to deploy, so I suggest doing something like this:</p><pre>	if (!defined('CAKE_CORE_INCLUDE_PATH')) {
	    $currenturi = $_SERVER['DOCUMENT_ROOT'];
	    $mypos = strpos($currenturi, 'C:');
	    if ($mypos !== false) {
	    	define('CAKE_CORE_INCLUDE_PATH', "C:\my\windows\path\to\cake" );
	    } else {
	    	define('CAKE_CORE_INCLUDE_PATH', "/linux/path/to/cake" );
	    }
	}</pre><p>This will check for &#8220;C:&#8221; in the document_root variable, if it is there then we must be on a Windows machine, so lets display our local path. If not the Linux path will be used. (Note, it isn&#8217;t just because this is Windows vs Linux, any two setups can do this &#8211; with Linux to Linux you might have your files in your home directory, in which case you would look up your name as the differentiator)</p> ]]></content:encoded> <wfw:commentRss>http://tosbourn.com/2012/04/development/copying-a-cakephp-project-from-linux-to-windows/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>I just made an affiliate program.</title><link>http://tosbourn.com/2012/04/development/i-just-made-an-affiliate-program/</link> <comments>http://tosbourn.com/2012/04/development/i-just-made-an-affiliate-program/#comments</comments> <pubDate>Sat, 14 Apr 2012 15:28:14 +0000</pubDate> <dc:creator>Toby</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[Paypal]]></category> <category><![CDATA[Productivity]]></category> <category><![CDATA[The Footy Tipster]]></category> <category><![CDATA[Wordpress]]></category><guid
isPermaLink="false">http://tosbourn.com/?p=977</guid> <description><![CDATA[It is amazing what a few hours of concentrated work can do for you. Months ago me and my buddy who work together on TFT were talking about the idea of an affiliate program for our users &#8211; to try and encourage them to promote the site amongst friends and family, and to maybe entice [...]]]></description> <content:encoded><![CDATA[<p>It is amazing what a few hours of concentrated work can do for you.</p><p>Months ago me and my buddy who work together on <a
href="http://www.thefootytipster.com">TFT</a> were talking about the idea of an affiliate program for our users &#8211; to try and encourage them to promote the site amongst friends and family, and to maybe entice some of the bigger websites to send some traffic our way.</p><p>At the time I thought it would be a neat little project, but once I started listing the edge cases I noticed that this would be a bit of a slog to get right.</p><p>A combination of work and family issues stopped me from looking or even thinking about the affiliate program until recently, when my friend brought it up again.</p><p>This time instead of thinking about all the edge cases and worrying about replicating what some of the bigger affiliate systems do I brought it right back to basics.</p><p>I asked myself two questions.</p><ol><li>What is an affiliate system at its most basic form.</li><li>What is the least amount of effort I can put in (both long and short term) in order to achieve this.</li></ol><p>After spending maybe an hour mulling these questions over I had come up with a solution that would work.</p><p>5 hours later I had written, tested, debugged and deployed a solution that will work and will only need minor time investment to scale should we need to.</p><p>It won&#8217;t win any awards for being the most complete affiliate program in the world, but it will allow my users to make some money from the site and ultimately put more money into my pocket.</p><p>Normally I would love to go into the technical details of what I done, but how I have had to work it is such an edge case that I couldn&#8217;t possibly see it being useful to anyone. The short version is that it speaks to a couple of WordPress plugins and PayPal and to be honest will never win me a programmer of the year award.</p> ]]></content:encoded> <wfw:commentRss>http://tosbourn.com/2012/04/development/i-just-made-an-affiliate-program/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Served from: tosbourn.com @ 2012-05-20 00:50:56 by W3 Total Cache -->
