<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>LornaJane</title>
	
	<link>http://www.lornajane.net</link>
	<description>Lorna Jane Mitchell's Website</description>
	<lastBuildDate>Wed, 22 Feb 2012 12:07:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/lornajane" /><feedburner:info uri="lornajane" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>A Freemium Business Model</title>
		<link>http://feedproxy.google.com/~r/lornajane/~3/fUHUFloevYs/a-freemium-business-model</link>
		<comments>http://www.lornajane.net/posts/2012/a-freemium-business-model#comments</comments>
		<pubDate>Wed, 22 Feb 2012 12:07:14 +0000</pubDate>
		<dc:creator>lornajane</dc:creator>
				<category><![CDATA[random]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[gaming]]></category>
		<category><![CDATA[opinion]]></category>

		<guid isPermaLink="false">http://www.lornajane.net/?p=1496</guid>
		<description><![CDATA[I have an android smartphone, and I have *very* few paid for applications on it. Mostly I have document viewers, the wordpress app, mail/calendar/map from google, and so on - plus a couple of free games. In January I downloaded &#8230; <a href="http://www.lornajane.net/posts/2012/a-freemium-business-model">Continue reading <span class="meta-nav">&#8594;</span></a><p>Lorna is an independent web development consultant, writer and trainer, open source project lead and community evangelist.  This post was originally published at <a href="http://www.lornajane.net">LornaJane</a></p>
]]></description>
			<content:encoded><![CDATA[<p>I have an android smartphone, and I have *very* few paid for applications on it.  Mostly I have document viewers, the wordpress app, mail/calendar/map from google, and so on - plus a couple of free games.  In January I downloaded a new game and I've been playing it pretty regularly since<i>*</i>.</p>
<p><a href="http://www.gameviewstudios.com/games.html"><img src="http://www.gameviewstudios.com/images/TF_And.jpg"></p>
<p><a href="http://www.gameviewstudios.com/games.html">Tapfish</a> is a game where you can buy, raise and sell fish - like a tamagotchi, all grown up and moved to the smartphone platform (and prettier!)  You can play quite a bit of the game without paying for anything - so much in fact that I got quite into it.  When you consider that I've played daily for 6 weeks, 10 quid for the add-ons that will let me play more of the game seems reasonable. <span id="more-1496"></span></p>
<p>Often these types of games are quite aggressive in the way that they take your money from you - you can only play a little bit, or the game just stops completely until you pay.  This one though uses a nice combination of gamification and playability to bring you to the point where you don't resent parting with the cash.</p>
<p>With any freemium model, you will always have users who will never spend money at all, and people who complain that it's a rip-off.  Striking the balance however is really tricky, and honestly?  I think this game got it right.</p>
<p><i>* when I say quite a bit, I mean I'm completely addicted to tapfish and have played it every day even including getting married and going on my honeymoon!!  So yes, quite playable.</i></p>
<p>Lorna is an independent web development consultant, writer and trainer, open source project lead and community evangelist.  This post was originally published at <a href="http://www.lornajane.net">LornaJane</a></p>
<img src="http://feeds.feedburner.com/~r/lornajane/~4/fUHUFloevYs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.lornajane.net/posts/2012/a-freemium-business-model/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.lornajane.net/posts/2012/a-freemium-business-model?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=a-freemium-business-model</feedburner:origLink></item>
		<item>
		<title>Wedding Stationery</title>
		<link>http://feedproxy.google.com/~r/lornajane/~3/80EFmXYcFkA/wedding-stationery</link>
		<comments>http://www.lornajane.net/posts/2012/wedding-stationery#comments</comments>
		<pubDate>Mon, 20 Feb 2012 09:00:25 +0000</pubDate>
		<dc:creator>lornajane</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://www.lornajane.net/?p=1490</guid>
		<description><![CDATA[In case you missed it, ours was a small wedding - which means that the majority of our friends and family weren't actually there! We loved our small wedding but I knew that I still wanted to share a small &#8230; <a href="http://www.lornajane.net/posts/2012/wedding-stationery">Continue reading <span class="meta-nav">&#8594;</span></a><p>Lorna is an independent web development consultant, writer and trainer, open source project lead and community evangelist.  This post was originally published at <a href="http://www.lornajane.net">LornaJane</a></p>
]]></description>
			<content:encoded><![CDATA[<p>In case you missed it, ours was a small wedding - which means that the majority of our friends and family weren't actually there!  We loved our small wedding but I knew that I still wanted to share a small flavour of the day with some of those friends and family, and also get some mementos for our home.</p>
<p>When browsing the <a href="http://moo.com">moo.com</a> site (it is usually best to hide all payment cards out of reach before doing this!) I had seen the postcards that they make and decided this would be a great way to send a small selection of photos to a few people.  Once we got the "official" photos in, I ordered some postcards, and I think they turned out rather well!</p>
<p><a href="http://www.flickr.com/photos/lornajane/6896770755/" title="Wedding Postcards by LornaJane.net, on Flickr"><img src="http://farm8.staticflickr.com/7047/6896770755_1534e991af_m.jpg" width="191" height="240" alt="Wedding Postcards"></a><br />
<span id="more-1490"></span></p>
<p>I've been working on getting a selection of these sent out to various people - a bit like writing the Christmas cards all over again really :)</p>
<p>We don't have photos up in our home (literally, not at all.  We do have maps though!) however I wanted us to have something of our wedding day to have around to remind us of the day.  While looking around on the moo site (told you this works out expensive) I saw this <a href="http://uk.moo.com/accessories/minicard-frame.html">frame for mini moo cards</a>.  Since I'm an engineer married to an engineer, anything requiring a screwdriver makes a good present!!  I took a selection of the photos from the wedding and cropped them in the correct ratio for these tiny cards (2.5:1 if you're interested), taking a small slice out of each shot (probably these make no sense if you weren't there or haven't seen the photos) with more photos than he'd need for the frame so that he could choose.</p>
<p>The cards:<br />
<a href="http://www.flickr.com/photos/lornajane/6896782897/" title="Wedding Mini Moo Cards by LornaJane.net, on Flickr"><img src="http://farm8.staticflickr.com/7061/6896782897_19b1aa906d_m.jpg" width="240" height="180" alt="Wedding Mini Moo Cards"></a></p>
<p>The finished frame:<br />
<a href="http://www.flickr.com/photos/lornajane/6896781521/" title="Mini Moo Card Frame by LornaJane.net, on Flickr"><img src="http://farm8.staticflickr.com/7057/6896781521_a66c9ca22a_m.jpg" width="240" height="180" alt="Mini Moo Card Frame"></a></p>
<p>My stationery worship tendencies were made complete when I realised that the box the frame ships in has printed on it a pattern to cut out a stand for it - what a great idea :)</p>
<p>I've been ordering business type things from moo for ages, they always claim it takes them 10 days to ship anything and then deliver it all in four days, for reasons I can't understand (more than once I've ordered from elsewhere because I need it faster).  It was quite fun to make personal things too, I've never had a good excuse to do that before and I loved how it all turned out - the mini moo card frame was particularly fun.</p>
<p>I also treated myself to new business cards (with rounded corners!) so if you see me at a conference any time soon, you can get one of those too :)</p>
<p>Lorna is an independent web development consultant, writer and trainer, open source project lead and community evangelist.  This post was originally published at <a href="http://www.lornajane.net">LornaJane</a></p>
<img src="http://feeds.feedburner.com/~r/lornajane/~4/80EFmXYcFkA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.lornajane.net/posts/2012/wedding-stationery/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.lornajane.net/posts/2012/wedding-stationery?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=wedding-stationery</feedburner:origLink></item>
		<item>
		<title>Upcoming PHP Courses</title>
		<link>http://feedproxy.google.com/~r/lornajane/~3/6fZIIpqhiCs/upcoming-php-courses</link>
		<comments>http://www.lornajane.net/posts/2012/upcoming-php-courses#comments</comments>
		<pubDate>Thu, 16 Feb 2012 08:36:36 +0000</pubDate>
		<dc:creator>lornajane</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[databases]]></category>
		<category><![CDATA[ntileeds]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[php courses]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[training]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.lornajane.net/?p=1484</guid>
		<description><![CDATA[Since becoming freelance 18 months ago, I've taught a number of courses at my excellent local tech training centre, NTI Leeds. Over the next few months we're running some one-day PHP courses (see my course dates page for more detail &#8230; <a href="http://www.lornajane.net/posts/2012/upcoming-php-courses">Continue reading <span class="meta-nav">&#8594;</span></a><p>Lorna is an independent web development consultant, writer and trainer, open source project lead and community evangelist.  This post was originally published at <a href="http://www.lornajane.net">LornaJane</a></p>
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.lornajane.net/wp-content/uploads/2012/02/Small-black-nti-logo.gif"><img src="http://www.lornajane.net/wp-content/uploads/2012/02/Small-black-nti-logo.gif" alt="" title="Small black nti logo" width="100" height="61" class="alignright size-full wp-image-1485" /></a>Since becoming freelance 18 months ago, I've taught a number of courses at my excellent local tech training centre, <a href="http://ntileeds.co.uk">NTI Leeds</a>.  Over the next few months we're running some one-day PHP courses (see <a href="http://www.lornajane.net/services/course-dates">my course dates page for more detail and the dates</a>, all these are in Leeds although I'd like to run them elsewhere too), targeted at a particular area or set of skills.  These are areas that I find myself delivering consultancy or training on frequently, or things I teach when I go places and realise these gaps exist in their knowledge.  Does this match your experiences of "things I wish PHP developers knew - including me"?<span id="more-1484"></span></p>
<h3>Design Patterns and OOP</h3>
<p>I like design patterns and the joy of teaching this is that it helps to stop some of the big words and unfamiliar terms in object-oriented programming from seeming like rocket science.  Most people will quickly tell me "oh, I've been using this all along!" - which is exactly the point :)  Teaching a few design patterns also gives a great vehicle for teaching some of the advanced OOP concepts in a more interesting way than "this is an interface".</p>
<h3>Databases and PDO</h3>
<p>Web developers don't know what they don't know about databases!  Being able to join multiple tables with different types of join and aggregate data correctly allows you to learn how to normalise data and not be afraid to implement the schema changes.  I like to teach how to do this and get everyone confident with it all.  The PDO extension is a fabulous way of working with databases and I think the prepared statements are in everyone's interests, so that forms a good part of the course too.</p>
<h3>PHP Tools</h3>
<p>A course for all the allied skills you need - configuring apache, a bit of linux command line, quality and performance tools (xhprof, php code sniffer, api documentation, and more) are all included.  There's a splash of source control (because it is the basis of all things!) and we also talk about strategies for deployment (with phing as an example) and managing things like configuration management and database schema changes.  In a one-day course there isn't time to teach unit testing or continuous integration properly but they do get a mention and I try to point interested parties in the right direction for more information.</p>
<h3>PHP Courses</h3>
<p>If any of the above sound interesting and you want to come and learn this stuff with me for a day, you can book the courses through NTI.  Feel free to ping me with questions, comments, or tell me why this isn't the right topic for you - always interested to hear others' viewpoints.</p>
<p>Lorna is an independent web development consultant, writer and trainer, open source project lead and community evangelist.  This post was originally published at <a href="http://www.lornajane.net">LornaJane</a></p>
<img src="http://feeds.feedburner.com/~r/lornajane/~4/6fZIIpqhiCs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.lornajane.net/posts/2012/upcoming-php-courses/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.lornajane.net/posts/2012/upcoming-php-courses?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=upcoming-php-courses</feedburner:origLink></item>
		<item>
		<title>WordPress Contact Form 7 Without Captcha</title>
		<link>http://feedproxy.google.com/~r/lornajane/~3/5qUxAY0hnmE/wordpress-contact-form-7-without-captcha</link>
		<comments>http://www.lornajane.net/posts/2012/wordpress-contact-form-7-without-captcha#comments</comments>
		<pubDate>Wed, 15 Feb 2012 08:55:33 +0000</pubDate>
		<dc:creator>lornajane</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[captcha]]></category>
		<category><![CDATA[comments]]></category>
		<category><![CDATA[contact form 7]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.lornajane.net/?p=1480</guid>
		<description><![CDATA[When this blog moved to wordpress, we added a contact form into the footer, which was available on every page. This seems awesome until you see the sheer volume of spam I got from it in the first day or &#8230; <a href="http://www.lornajane.net/posts/2012/wordpress-contact-form-7-without-captcha">Continue reading <span class="meta-nav">&#8594;</span></a><p>Lorna is an independent web development consultant, writer and trainer, open source project lead and community evangelist.  This post was originally published at <a href="http://www.lornajane.net">LornaJane</a></p>
]]></description>
			<content:encoded><![CDATA[<p>When this blog moved to wordpress, we added a contact form into the footer, which was available on every page.  This seems awesome until you see the sheer volume of spam I got from it in the first day or two.  I hate captchas, not least because I usually fail them at least once myself, so I was in search of alternatives and found two: akismet and the honeypot plugin. <span id="more-1480"></span></p>
<p><a href="http://akismet.com/">Akismet</a> is the first plugin I install on any wordpress site (in fact, doesn't it come enabled by default these days?) - it does a great job of catching comment spam without me having to moderate every message.  It was pretty clear however that it wasn't checking the forms from the <a href="http://wordpress.org/extend/plugins/contact-form-7/">Contact Form 7 plugin</a> by default.  On closer inspection it turns out that:</p>
<ul>
<li>there is <a href="http://contactform7.com/blog/2009/12/01/spam-filtering-with-akismet/">good documentation on akismet and contact form 7</a></li>
<li>when you mark any field to be checked by akismet, then you get the additional feature that all the fields in your form are concatenated together and checked as "content" by akismet as well</li>
<li>the ordering of the directives in the contact form tags does matter, I needed mine before the watermark</li>
</ul>
<p>At this point, things improved and akismet caught quite a lot of the spam - but not all.  The things it couldn't catch were one-word clear nonsense entries - so I kept on looking and found the <a href="http://wordpress.org/extend/plugins/contact-form-7-honeypot/">contact form 7 honeypot plugin</a>.</p>
<p>The honeypot is a field which is designed to catch bots - they will typically fill in any field they see, regardless of whether they should do so or not!  When you generate a honeypot field for your form, you get a field which is hidden and has the instruction "leave this field blank" in it.  Humans can either not see it, or can read the instructions - but a spamming machine will fill it in.  For better results, rename the field something other than "honeypot"; if you view the source on the contact form on the bottom of this page, you can see mine is called "country" - and that seems to work pretty well.</p>
<p>Given the ugliness and sheer unusability of the captcha, I am all in favour of other solutions and these worked well on my own site so I thought I'd share!</p>
<p>Lorna is an independent web development consultant, writer and trainer, open source project lead and community evangelist.  This post was originally published at <a href="http://www.lornajane.net">LornaJane</a></p>
<img src="http://feeds.feedburner.com/~r/lornajane/~4/5qUxAY0hnmE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.lornajane.net/posts/2012/wordpress-contact-form-7-without-captcha/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.lornajane.net/posts/2012/wordpress-contact-form-7-without-captcha?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=wordpress-contact-form-7-without-captcha</feedburner:origLink></item>
		<item>
		<title>My Winter Wedding</title>
		<link>http://feedproxy.google.com/~r/lornajane/~3/J9oFbYhpJb4/my-winter-wedding</link>
		<comments>http://www.lornajane.net/posts/2012/my-winter-wedding#comments</comments>
		<pubDate>Mon, 13 Feb 2012 10:14:25 +0000</pubDate>
		<dc:creator>lornajane</dc:creator>
				<category><![CDATA[random]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[wedding]]></category>

		<guid isPermaLink="false">http://www.lornajane.net/?p=1474</guid>
		<description><![CDATA[Although I usually write only about technology on this blog, it's still a personal site and I have some news that I absolutely must share: I got married!!!! I've been waiting for the official photos before I wrote this post &#8230; <a href="http://www.lornajane.net/posts/2012/my-winter-wedding">Continue reading <span class="meta-nav">&#8594;</span></a><p>Lorna is an independent web development consultant, writer and trainer, open source project lead and community evangelist.  This post was originally published at <a href="http://www.lornajane.net">LornaJane</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Although I usually write only about technology on this blog, it's still a personal site and I have some news that I absolutely must share: I got married!!!!  I've been waiting for the official photos before I wrote this post ("pics or it didn't happen", as the saying goes) so here is the evidence:</p>
<p><a href="http://www.flickr.com/photos/lornajane/6868525295/" title="On the stairs by LornaJane.net, on Flickr"><img src="http://farm8.staticflickr.com/7043/6868525295_17081b1330.jpg" width="500" height="333" alt="On the stairs"></a><br />
<span id="more-1474"></span></p>
<p>For anyone who hasn't been keeping track, I've been dating the same man for a very, very, VERY long time.  Kevin and I met at university and were friends for a while first before we started to date - in 2000, when I was 19.  We went on to obtain matching "his and hers" degrees (we actually both have a 2:1 MEng in Electronic and Computer Engineering from York, graduating in the same year!), and both graduated and moved to Oxfordshire to pursue careers in software.  Since then we've moved more times than I care to think of, bought a house together (on the fourth attempt - I've been blogging long enough that you can read about that if you like), and basically grown up a lot.</p>
<p>The wedding was arranged at relatively short notice - I surprised everyone including myself by proposing and we were married precisely 10 weeks later (it is absolutely possible to organise a wedding on that kind of turnaround. Be decisive and remember that actually, only a few things are really important).  Neither of us really likes crowds or being the centre of attention so we'd always thought that a wedding wasn't for us ... I am so glad now that we realised we could do it any way we wanted!</p>
<p><a href="http://www.flickr.com/photos/lornajane/6868528107/" title="The &quot;Everyone&quot; Photo by LornaJane.net, on Flickr"><img src="http://farm8.staticflickr.com/7190/6868528107_dcc2b73c75_m.jpg" width="240" height="160" alt="The &quot;Everyone&quot; Photo"></a></p>
<p>So we had a small gathering, at a lovely venue local to our home in Leeds, with immediate family and a couple of friends, and a wonderful meal.  We kept the elements of the traditional wedding that we wanted to - a best man, bridesmaids, the dress, <a href="http://www.sansomphotography.co.uk/">the photographers</a>, the rings.  The things that don't mean anything to us, we just eliminated - speeches, dancing, large numbers of people.</p>
<p><a href="http://www.flickr.com/photos/lornajane/6868530135/" title="Walk in the Park by LornaJane.net, on Flickr"><img src="http://farm8.staticflickr.com/7196/6868530135_5ed505cd0b_m.jpg" width="240" height="160" alt="Walk in the Park"></a></p>
<p>Roundhay Mansion sits in a lovely park in Leeds and it's a place we visit often.  Despite getting married in January in Yorkshire, the weather was nice enough for a few outside photos.  Admittedly it was *freezing* but the cloak you see in the pictures was pure wool and I was also wearing woolly socks and my "wedding wellies" under my dress so those (and perhaps the excitement and the champagne) meant I was warm enough even if nobody else was :)</p>
<p>"Happy ever after" seems like a lot to ask, especially when things have run so smooth for us so far, but I am wishing for the grace, wisdom, and small dose of luck that will allow us to negotiate all the twists and turns that lie on the path ahead of us.</p>
<p>Lorna is an independent web development consultant, writer and trainer, open source project lead and community evangelist.  This post was originally published at <a href="http://www.lornajane.net">LornaJane</a></p>
<img src="http://feeds.feedburner.com/~r/lornajane/~4/J9oFbYhpJb4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.lornajane.net/posts/2012/my-winter-wedding/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<feedburner:origLink>http://www.lornajane.net/posts/2012/my-winter-wedding?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=my-winter-wedding</feedburner:origLink></item>
		<item>
		<title>Google OAuth 403 Response</title>
		<link>http://feedproxy.google.com/~r/lornajane/~3/BWLPrcmDpZM/google-oauth-403-response</link>
		<comments>http://www.lornajane.net/posts/2012/google-oauth-403-response#comments</comments>
		<pubDate>Thu, 09 Feb 2012 07:19:17 +0000</pubDate>
		<dc:creator>lornajane</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.lornajane.net/?p=1397</guid>
		<description><![CDATA[I had an issue this week on a system which has been working fine for a while, but stopped fetching some data from google's user account API. I was getting a 403 response from the API, which seemed odd. Luckily &#8230; <a href="http://www.lornajane.net/posts/2012/google-oauth-403-response">Continue reading <span class="meta-nav">&#8594;</span></a><p>Lorna is an independent web development consultant, writer and trainer, open source project lead and community evangelist.  This post was originally published at <a href="http://www.lornajane.net">LornaJane</a></p>
]]></description>
			<content:encoded><![CDATA[<p>I had an issue this week on a system which has been working fine for a while, but stopped fetching some data from google's user account API.  I was getting a 403 response from the API, which seemed odd.  Luckily I was logging <code>OAuth::getLastResponse()</code> to my error logs (this is PHP code, and you need to call <code>OAuth::enableDebug()</code> before you make the request to get this output) so I could see that I was getting the following back from Google:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;errors</span> <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;http://schemas.google.com/g/2005&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;error<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;domain<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>GData<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/domain<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;code<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>sslRequired<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/code<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;internalReason<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>SSL is required to perform this operation.<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/internalReason<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/error<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/errors<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Closer inspection shows that for one of the google endpoints, I had a prefix of <code>http://</code> rather than <code>https://</code>.  Those single-character bug fixes that take hours to find are my favourite!</p>
<p>Lorna is an independent web development consultant, writer and trainer, open source project lead and community evangelist.  This post was originally published at <a href="http://www.lornajane.net">LornaJane</a></p>
<img src="http://feeds.feedburner.com/~r/lornajane/~4/BWLPrcmDpZM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.lornajane.net/posts/2012/google-oauth-403-response/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.lornajane.net/posts/2012/google-oauth-403-response?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=google-oauth-403-response</feedburner:origLink></item>
		<item>
		<title>Speaking at DayCamp for Developers</title>
		<link>http://feedproxy.google.com/~r/lornajane/~3/5ZdMgonYozw/speaking-at-daycamp-for-developers</link>
		<comments>http://www.lornajane.net/posts/2012/speaking-at-daycamp-for-developers#comments</comments>
		<pubDate>Tue, 07 Feb 2012 09:40:52 +0000</pubDate>
		<dc:creator>lornajane</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[dc4d]]></category>
		<category><![CDATA[speaking]]></category>

		<guid isPermaLink="false">http://www.lornajane.net/?p=1433</guid>
		<description><![CDATA[I am delighted to announce that I'm speaking at the upcoming DayCamp for Developers in early March. The idea behind the daycamps is to bring important but non-technical skills to developers everywhere - so the sessions are virtual and so &#8230; <a href="http://www.lornajane.net/posts/2012/speaking-at-daycamp-for-developers">Continue reading <span class="meta-nav">&#8594;</span></a><p>Lorna is an independent web development consultant, writer and trainer, open source project lead and community evangelist.  This post was originally published at <a href="http://www.lornajane.net">LornaJane</a></p>
]]></description>
			<content:encoded><![CDATA[<p>I am delighted to announce that I'm speaking at the upcoming <a href="http://daycamp4developers.com">DayCamp for Developers</a> in early March.  The idea behind the daycamps is to bring important but non-technical skills to developers everywhere - so the sessions are virtual and so are the speakers!  This time around the topic is Business, so we have a series of speakers to give you advice from a practical, developer-centric point of view - on everything you need to know!</p>
<p>My own talk is <b>"Time and Money"</b>; both are pretty important concepts to have a handle on when you are in business, either as a freelancer or when starting or helping to start a bigger business.  Even as an employee, these are really important concepts to understand; most of what I learned about business I learned working with business people in the jobs I had beforehand.</p>
<p>Time is important because we need to figure out how much we have and how to share it around.  Money is important because we all like to get paid.  I'll be sharing my own tactics for keeping both of them under control so I hope you'll join us!</p>
<p>Lorna is an independent web development consultant, writer and trainer, open source project lead and community evangelist.  This post was originally published at <a href="http://www.lornajane.net">LornaJane</a></p>
<img src="http://feeds.feedburner.com/~r/lornajane/~4/5ZdMgonYozw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.lornajane.net/posts/2012/speaking-at-daycamp-for-developers/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.lornajane.net/posts/2012/speaking-at-daycamp-for-developers?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=speaking-at-daycamp-for-developers</feedburner:origLink></item>
		<item>
		<title>Mercurial "Not At A Branch Head" Error</title>
		<link>http://feedproxy.google.com/~r/lornajane/~3/6qlWkjeUjlo/mercurial-not-at-a-branch-head-error</link>
		<comments>http://www.lornajane.net/posts/2012/mercurial-not-at-a-branch-head-error#comments</comments>
		<pubDate>Mon, 06 Feb 2012 09:15:01 +0000</pubDate>
		<dc:creator>lornajane</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[hg]]></category>
		<category><![CDATA[mercurial]]></category>
		<category><![CDATA[sourcecontrol]]></category>

		<guid isPermaLink="false">http://www.lornajane.net/?p=1412</guid>
		<description><![CDATA[Although I write and speak a lot about various kinds of source control (git and subversion are the most popular still as far as I can see), my own development projects are on BitBucket under mercurial (bitbucket also offer git &#8230; <a href="http://www.lornajane.net/posts/2012/mercurial-not-at-a-branch-head-error">Continue reading <span class="meta-nav">&#8594;</span></a><p>Lorna is an independent web development consultant, writer and trainer, open source project lead and community evangelist.  This post was originally published at <a href="http://www.lornajane.net">LornaJane</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Although I write and speak a lot about various kinds of source control (git and subversion are the most popular still as far as I can see), my own development projects are on <a href="http://bitbucket.org">BitBucket</a> under mercurial (bitbucket also offer git hosting these days, and their tools are great).  Recently I was working on an upgrade for <a href="http://bitestats.com">BiteStats</a> (note shiny new theme, with thanks to <a href="http://twitter.com/miss_jwo">@miss_jwo</a>) and I kept getting this error from <code>hg tag</code></p>
<p><b>not at a branch head</b><br />
<span id="more-1412"></span><br />
I had cloned my repo locally, pulled in changes from someone else, committed, merged and pushed them back into my main repo, along with a couple of other changes.  What I had not realised I needed to do was <code>hg update</code> to get those changes applied!  As soon as I did that, the files were updated and and everything was happy again; I was able to tag and deploy.</p>
<p>I don't do a lot of collaboration in mercurial and clearly I don't do enough branching, however I found it difficult to find any documentation on this error message so I hope it helps someone!</p>
<p>Lorna is an independent web development consultant, writer and trainer, open source project lead and community evangelist.  This post was originally published at <a href="http://www.lornajane.net">LornaJane</a></p>
<img src="http://feeds.feedburner.com/~r/lornajane/~4/6qlWkjeUjlo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.lornajane.net/posts/2012/mercurial-not-at-a-branch-head-error/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.lornajane.net/posts/2012/mercurial-not-at-a-branch-head-error?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=mercurial-not-at-a-branch-head-error</feedburner:origLink></item>
	</channel>
</rss>

