<?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>Web Development | Woody Hayday | Blog</title>
	<atom:link href="https://blog.woodylabs.com/category/code/web-development/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.woodylabs.com</link>
	<description>An exploration of life, technology and writing</description>
	<lastBuildDate>Wed, 17 Sep 2025 10:20:57 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://blog.woodylabs.com/wp-content/uploads/2015/01/cropped-woody-hayday-yosemite-glacier-point-32x32.jpg</url>
	<title>Web Development | Woody Hayday | Blog</title>
	<link>https://blog.woodylabs.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Projects 2024</title>
		<link>https://blog.woodylabs.com/2024/10/projects-2024/</link>
		
		<dc:creator><![CDATA[Woody]]></dc:creator>
		<pubDate>Mon, 14 Oct 2024 09:43:20 +0000</pubDate>
				<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[Looking Forward]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">http://blog.woodylabs.com/?p=1203</guid>

					<description><![CDATA[<p>This blog has been gathering dust for almost a decade &#x1f605; I thought I&#8217;d drop one refresher post here detailing my recent projects just so the few of you who end up here have another launch pad to rocket of! This year I&#8217;ve been pursuing the idea of my Ikigai, trying to get closer to [&#8230;]</p>
<p>The post <a href="https://blog.woodylabs.com/2024/10/projects-2024/">Projects 2024</a> first appeared on <a href="https://blog.woodylabs.com">Woody Hayday | Blog</a>.</p><hr /><a href="https://blog.woodylabs.com">Visit Woody Haydays Blog</a><hr />]]></description>
										<content:encoded><![CDATA[<p>This blog has been gathering dust for almost a decade <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f605.png" alt="😅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p>I thought I&#8217;d drop one refresher post here detailing my recent projects just so the few of you who end up here have another launch pad to rocket of!</p>



<p>This year I&#8217;ve been pursuing the idea of my Ikigai, trying to get closer to the best work I can do. I&#8217;m fairly sure at this point that it involves supporting fledgling entrepreneurs who are just about to, or already have made the leap. I&#8217;ve found myself mentoring new entrepreneurs naturally in the past, and have made several businesses helping them with products. Now I&#8217;m trying to hammer down even further and really work out what good I can do.</p>



<p>Here&#8217;s this years projects so far:</p>



<p><a href="https://nichereport.io" title="Niche Report.io"><strong>Niche Report.io</strong></a></p>



<p>A Niche Report is going to be the first step for a new entrepreneur, (or a seasoned one entering a new niche). This new service takes 4 weeks worth of work doing market research, and rips through the process with AI, bots, data crunching and multi-exit oversight (me). In the end you get a market research report on your niche within 24 hours; and it&#8217;s got all the key signals you need to inform how you should proceed into the niche, or even if you should.</p>



<p><a href="https://projectpages.io" title="Project Pages"><strong>Project Pages</strong></a></p>



<p><a href="https://projectpages.io/">Project Pages is a WordPress portfolio maker</a>, in essence. It&#8217;s a plugin I made 8y ago or so, but I&#8217;ve rebooted it. It&#8217;s focus is on helping makers, creators, and generally capable people document their creator journeys and try to connect-the-dots of their work. This runs parallel to my overall search for my own ikigai, and you can see I&#8217;ve updated <a href="https://woodyhayday.com/projects/">my own personal project pages</a> recently. </p>



<p><a href="https://coupleflow.app" target="_blank" rel="noopener" title=""><strong>CoupleFlow.app</strong></a></p>



<p>CoupleFlow is an AI Insights tool for relationship communication. It sits with you in your couples DMs on Telegram and gives you weekly check-ins which help you grow as a couple. CoupleFlow uses tuned AI which is trained on the latest relationship science to observe for the characteristics of a healthy relationship, and steer you towards it. It might help with a range of communication problems with relationships or marriages. (I will keep improving it with feedback over at CoupleFlow.app.)</p>



<p>I also added a <a href="https://coupleflow.app/telegram-chat-analyzer">Telegram Chat Analyser</a> which gives users chat stats on their Telegram chats.</p>



<p>A small side project: <a href="https://crmlist.io/">CRM List.io</a> &#8211; compares various CRM apps so you can find the one which fits your business.</p>



<p>As ever, you&#8217;ll get up to date stuff on my main website (this is an old blog which only gets an update a decade 😀 ): <a href="https://woodyhayday.com/blog/" title="woodyhayday.com/blog">woodyhayday.com/blog</a></p>



<p>Here&#8217;s to all the makers and entrepreneurs! Long may we make things.</p>



<p></p>



<p>Woody</p>



<p>14th Oct 2024</p>



<p>P.S. I&#8217;d also like to mention my friend Mike Stott has started a great new blog on <a href="https://mikestott.me/">Content that Converts</a>, which is also valuable to new entrepreneurs, check it out!</p><p>The post <a href="https://blog.woodylabs.com/2024/10/projects-2024/">Projects 2024</a> first appeared on <a href="https://blog.woodylabs.com">Woody Hayday | Blog</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Checklist Plugin for WordPress</title>
		<link>https://blog.woodylabs.com/2014/02/checklist-plugin-for-wordpress/</link>
		
		<dc:creator><![CDATA[Woody]]></dc:creator>
		<pubDate>Thu, 27 Feb 2014 14:31:24 +0000</pubDate>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Web Technology]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Checklist]]></category>
		<category><![CDATA[Checklist Plugin]]></category>
		<category><![CDATA[Checklists]]></category>
		<category><![CDATA[Fiction]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Release]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress Plugins]]></category>
		<guid isPermaLink="false">http://blog.woodylabs.com/?p=1050</guid>

					<description><![CDATA[<p>It&#8217;s a new year and with a new year comes lots of new developments 🙂 I&#8217;ve launched my fiction page (first novel to be released in may) and I&#8217;ve written a few new plugins (as well as a software as a service for freelancers &#8211; coming soon!) This is a quick post about the first [&#8230;]</p>
<p>The post <a href="https://blog.woodylabs.com/2014/02/checklist-plugin-for-wordpress/">Checklist Plugin for WordPress</a> first appeared on <a href="https://blog.woodylabs.com">Woody Hayday | Blog</a>.</p><hr /><a href="https://blog.woodylabs.com">Visit Woody Haydays Blog</a><hr />]]></description>
										<content:encoded><![CDATA[<p style="text-align: center;">It&#8217;s a new year and with a new year comes lots of new developments <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> I&#8217;ve launched <a href="http://woodyhayday.com/fiction/" target="_blank">my fiction page</a> (first novel to be released in may) and I&#8217;ve written a few new plugins (as well as a software as a service for freelancers &#8211; coming soon!)</p>
<div style="text-align: center;"><a href="https://checklistplugin.com"><img fetchpriority="high" decoding="async" class="aligncenter" alt="Checklist Plugin" src="https://blog.woodylabs.com/wp-content/uploads/2014/02/checklist-logo-sq-450x450.jpg" width="270" height="270" /></a></div>
<p style="text-align: center;">This is a quick post about the first of the plugins. Checklist Plugin (@ <a href="http://www.checklistplugin.com">ChecklistPlugin.com</a>.)</p>
<p><span id="more-1050"></span></p>
<p style="text-align: center;"><strong>Checklist Plugin is a quick and easy-to-use plugin which lets you add check lists to your WordPress posts and pages.</strong><br />
It&#8217;s designed to streamline the process of adding and managing styled check lists to your posts, which are a great way to enrich content, but often are a pain to manage as a blogger. It&#8217;s a snap at $17. You can get it <a href="https://checklistplugin.com/get-checklist-plugin">here</a> (on CodeCanyon)</p>
<p style="text-align: center;">I&#8217;ll include some examples in the post below, but if you&#8217;re a blogger and you want to easily enrich your posts with stylish check lists, get Check List Plugin <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<div style="padding: 20px; background-color: #d9edf7; border: 1px solid #bce8f1; border-radius: 4px;">
<p style="text-align: center; font-size: 22px;">Check List Plugin @ $17 (on CodeCanyon)</p>
<p style="text-align: center; font-size: 16px;">Developers License (Multi-site) @ $85</p>
<p style="text-align: center; font-size: 22px;"><a href="https://checklistplugin.com/get-checklist-plugin">Get CheckList Plugin Here</a></p>
</div>
<hr />
<h2 style="text-align: center;">Example Checklists:</h2>
<div style="width: 700px; margin-left: auto; margin-right: auto;">
<p style="text-align: center;">Each of the following examples has been easily added and inserted directly from the WordPress post editor screen. Checklist Plugin makes it really easy.</p>
<p style="text-align: center;"><link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Gloria+Hallelujah" /><div id="checklistplugin-checklist-1049" class="checklistplugin-checklist handwritten"><h2 class="checklistplugin-checklist-title">This is the default example checklist</h2><ul class="checklistplugin-checklist-items"><li class="checked">Install Checklist Plugin<div class="checklistplugin-checklist-check">✓</div></li><li class="checked">Look at first example checklist<div class="checklistplugin-checklist-check">✓</div></li><li class="checked">Be Awesome!<div class="checklistplugin-checklist-check">✓</div></li><li>Tweet to @checklistplugin<div class="checklistplugin-checklist-check">&nbsp;</div></li><li>Like Checklist Plugin on Facebook<div class="checklistplugin-checklist-check">&nbsp;</div></li></ul><div class="checklistplugin-base">&nbsp;</div></div><div class="cl-clr"> </div></p>
<p style="text-align: center;"><div id="checklistplugin-checklist-1053" class="checklistplugin-checklist linedpaper"><h2 class="checklistplugin-checklist-title">WordPress Install Checklist (Example)</h2><ul class="checklistplugin-checklist-items"><li class="checked">Upload WordPress Zip<div class="checklistplugin-checklist-check"></div></li><li class="checked">Install a security plugin (limit login attempts)<div class="checklistplugin-checklist-check"></div></li><li class="checked">Install an SEO plugin (All-in-one-SEO)<div class="checklistplugin-checklist-check"></div></li><li class="checked">Update WordPress settings<div class="checklistplugin-checklist-check"></div></li><li class="checked">Choose a theme and tweak it<div class="checklistplugin-checklist-check"></div></li><li>Start Posting!<div class="checklistplugin-checklist-check"></div></li></ul><div class="checklistplugin-base">&nbsp;</div></div><div class="cl-clr"> </div></p>
<p style="text-align: center;"><div id="checklistplugin-checklist-1054" class="checklistplugin-checklist standard"><h2 class="checklistplugin-checklist-title">Another Example List: Shopping</h2><ul class="checklistplugin-checklist-items"><li class="checked">Eggs<div class="checklistplugin-checklist-check"><input type="checkbox" disabled="disabled" checked="checked" /></div></li><li class="checked">Milk<div class="checklistplugin-checklist-check"><input type="checkbox" disabled="disabled" checked="checked" /></div></li><li class="checked">Bacon<div class="checklistplugin-checklist-check"><input type="checkbox" disabled="disabled" checked="checked" /></div></li><li class="checked">Bread<div class="checklistplugin-checklist-check"><input type="checkbox" disabled="disabled" checked="checked" /></div></li><li class="checked">Cheese<div class="checklistplugin-checklist-check"><input type="checkbox" disabled="disabled" checked="checked" /></div></li><li>Tea Bags<div class="checklistplugin-checklist-check"><input type="checkbox" disabled="disabled" /></div></li></ul><div class="checklistplugin-base">&nbsp;</div></div><div class="cl-clr"> </div></p>
</div>
<h2 style="text-align: center;">Final thoughts on <a href="https://checklistplugin.com">Check list Plugin</a></h2>
<p style="text-align: left;"><strong>Simple, but effective </strong>&#8211; This plugin isn&#8217;t super complex and it doesn&#8217;t add loads of load to your WordPress. I&#8217;ve purposely kept it lean, but it is very useful.</p>
<p style="text-align: left;"><strong>Extendible</strong> &#8211;  The developers of us out there don&#8217;t want to wade through bad code or have issues tweaking CSS of badly formed html elements. Checklist Plugin has CSS sheets in SASS and is properly formed. It&#8217;s a breeze to style new themes with CSS.</p>
<p style="text-align: left;"><strong>Bold futures</strong> &#8211;  This simple plugin is just the start. Rather than build out a plethora of features, I&#8217;ve kept this small. We&#8217;ll see what the wonderful users of the plugin need it to do, and I&#8217;ll build it out from there.</p>
<p style="text-align: center;"><a style="line-height: 1.5em;" href="https://checklistplugin.com"><img decoding="async" class="aligncenter size-medium wp-image-1051" alt="Checklist Plugin" src="https://blog.woodylabs.com/wp-content/uploads/2014/02/checklist-logo-sq-450x450.jpg" width="450" height="450" srcset="https://blog.woodylabs.com/wp-content/uploads/2014/02/checklist-logo-sq-450x450.jpg 450w, https://blog.woodylabs.com/wp-content/uploads/2014/02/checklist-logo-sq-250x250.jpg 250w, https://blog.woodylabs.com/wp-content/uploads/2014/02/checklist-logo-sq.jpg 500w" sizes="(max-width: 450px) 100vw, 450px" /></a></p>
<p><script type="text/javascript">// <![CDATA[
var suppresssleepinggiant = true;
// ]]&gt;</script></p><p>The post <a href="https://blog.woodylabs.com/2014/02/checklist-plugin-for-wordpress/">Checklist Plugin for WordPress</a> first appeared on <a href="https://blog.woodylabs.com">Woody Hayday | Blog</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Free &#8220;Lite&#8221; Version of Social Gallery released!</title>
		<link>https://blog.woodylabs.com/2013/01/free-lite-version-of-social-gallery-released/</link>
		
		<dc:creator><![CDATA[Woody]]></dc:creator>
		<pubDate>Wed, 16 Jan 2013 09:46:07 +0000</pubDate>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Web Technology]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Social Gallery]]></category>
		<category><![CDATA[Social Gallery Lite]]></category>
		<category><![CDATA[StormGate]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress Plugins]]></category>
		<category><![CDATA[WordPress.org]]></category>
		<guid isPermaLink="false">http://blog.woodylabs.com/?p=966</guid>

					<description><![CDATA[<p>Just a quick post to say that yesterday evening I released the free version of Social Gallery. As Social Gallery has been so popular (now over 700 copies sold on CodeCanyon) it seemed only fair to share some of the awesome out to the WordPress.org family (and to the non-profit&#8217;s and such that asked me [&#8230;]</p>
<p>The post <a href="https://blog.woodylabs.com/2013/01/free-lite-version-of-social-gallery-released/">Free “Lite” Version of Social Gallery released!</a> first appeared on <a href="https://blog.woodylabs.com">Woody Hayday | Blog</a>.</p><hr /><a href="https://blog.woodylabs.com">Visit Woody Haydays Blog</a><hr />]]></description>
										<content:encoded><![CDATA[<div align="center" style="margin-bottom:14px"><a href="http://wordpress.org/extend/plugins/social-gallery-lite/"><img decoding="async" class="aligncenter size-full wp-image-967" alt="Social Gallery Lite WordPress plugin - For Free!" src="https://blog.woodylabs.com/wp-content/uploads/2013/01/social-gallery-lite-wordpress-plugin.jpg" width="600" height="111" border="0" srcset="https://blog.woodylabs.com/wp-content/uploads/2013/01/social-gallery-lite-wordpress-plugin.jpg 600w, https://blog.woodylabs.com/wp-content/uploads/2013/01/social-gallery-lite-wordpress-plugin-450x83.jpg 450w" sizes="(max-width: 600px) 100vw, 600px" /></a></div>
<p>Just a quick post to say that yesterday evening <a href="http://www.socialgalleryplugin.com/social-gallery-lite-free-social-gallery-plugin/">I released the free version of Social Gallery</a>. As Social Gallery has been so popular (now over 700 copies sold on CodeCanyon) it seemed only fair to share some of the awesome out to the WordPress.org family (and to the non-profit&#8217;s and such that asked me for assistance.) This &#8220;Lite&#8221; free version of the premium Social Gallery gives the major functions of Social Gallery but just has all the frill chopped out &#8211; it&#8217;s still a great way to get more engagement out of your blog images and will no doubt help lots of WordPress fledgling bloggers get more likes &amp; comments on their content. I&#8217;m glad to release this free version so as it can be used by all!<br />
<span id="more-966"></span><br />
If you want to try out Social Gallery Lite you can get a copy over at WordPress.org:</p>
<div align="center" style="padding:10px;font-size:20px;"><a href="http://wordpress.org/extend/plugins/social-gallery-lite/">http://wordpress.org/extend/plugins/social-gallery-lite/</a></div>
<p>Or read more about this free version release on the Social Gallery Plugin.com <a href="http://www.socialgalleryplugin.com/social-gallery-lite-free-social-gallery-plugin/">blogpost</a>.</p>
<p>Happy Social-Lightboxing to all!</p>
<div align="center" style="margin-top:14px"><a href="http://wordpress.org/extend/plugins/social-gallery-lite/"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-968" alt="Get Social Gallery Lite Now" src="https://blog.woodylabs.com/wp-content/uploads/2013/01/social-gallery-wordpress-plug-in-by-stormgate-woody.jpg" width="620" height="276" border="0" srcset="https://blog.woodylabs.com/wp-content/uploads/2013/01/social-gallery-wordpress-plug-in-by-stormgate-woody.jpg 620w, https://blog.woodylabs.com/wp-content/uploads/2013/01/social-gallery-wordpress-plug-in-by-stormgate-woody-450x200.jpg 450w" sizes="auto, (max-width: 620px) 100vw, 620px" /></a></div><p>The post <a href="https://blog.woodylabs.com/2013/01/free-lite-version-of-social-gallery-released/">Free “Lite” Version of Social Gallery released!</a> first appeared on <a href="https://blog.woodylabs.com">Woody Hayday | Blog</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>2012 Annual Review: Looking Back</title>
		<link>https://blog.woodylabs.com/2013/01/2012-annual-review-looking-back/</link>
					<comments>https://blog.woodylabs.com/2013/01/2012-annual-review-looking-back/#comments</comments>
		
		<dc:creator><![CDATA[Woody]]></dc:creator>
		<pubDate>Wed, 09 Jan 2013 12:21:48 +0000</pubDate>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Looking Back]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Web Technology]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Writing]]></category>
		<category><![CDATA[2012]]></category>
		<category><![CDATA[annual review]]></category>
		<category><![CDATA[Ardenne]]></category>
		<category><![CDATA[Belgium]]></category>
		<category><![CDATA[Charles Munger]]></category>
		<category><![CDATA[Choosefest]]></category>
		<category><![CDATA[Chris Guillebeau]]></category>
		<category><![CDATA[Dalai Lama]]></category>
		<category><![CDATA[Denmark]]></category>
		<category><![CDATA[Gent 10k Staad Loop]]></category>
		<category><![CDATA[M. Scott Peck]]></category>
		<category><![CDATA[Malcolm Lowry]]></category>
		<category><![CDATA[Oscar Wilde]]></category>
		<category><![CDATA[Romania]]></category>
		<category><![CDATA[Seneca]]></category>
		<category><![CDATA[Social Gallery]]></category>
		<category><![CDATA[StormGate]]></category>
		<category><![CDATA[UK]]></category>
		<category><![CDATA[Wilderness Festival]]></category>
		<guid isPermaLink="false">http://blog.woodylabs.com/?p=939</guid>

					<description><![CDATA[<p>2012 was the first properly organised year of my life, and in this spirit I found my self seeking closure throughout December, a sub-concious bubbling feeling which lead me to write the first ever self-review of a year. I&#8217;m surprised I didn&#8217;t formalise this sooner, but better late than never! Owing to the fact that I just wanted to [&#8230;]</p>
<p>The post <a href="https://blog.woodylabs.com/2013/01/2012-annual-review-looking-back/">2012 Annual Review: Looking Back</a> first appeared on <a href="https://blog.woodylabs.com">Woody Hayday | Blog</a>.</p><hr /><a href="https://blog.woodylabs.com">Visit Woody Haydays Blog</a><hr />]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="alignleft size-thumbnail wp-image-941" style="margin:14px;margin-top:27px" alt="Me after running 10k!" src="https://blog.woodylabs.com/wp-content/uploads/2013/01/woody-hayday-10k-250x250.png" width="250" height="250" align="left" /><br />
2012 was the first properly organised year of my life, and in this spirit I found my self seeking closure throughout December, a sub-concious bubbling feeling which lead me to write the first ever self-review of a year. I&#8217;m surprised I didn&#8217;t formalise this sooner, but better late than never!</p>
<p>Owing to the fact that I just wanted to get everything down and perhaps because it was my first ever, my 2012/2013 review ended up a pretty mammoth document. I&#8217;ve published bits I would like to share here, the actual review though covers as many angles of my life as I can compute <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>If you haven&#8217;t ever done a personal annual review I urge you to give it a try &#8211; it doesn&#8217;t even matter if it&#8217;s later in the year &#8211; it&#8217;s a great way to take stock and remember your big-picture intentions.</p>
<p>I hope to get around to a project this year which will delve into such human &#8220;systems&#8221; in far more detail (I want to write a book on it) &#8211; but from this first year alone I can tell you there&#8217;s a lot of value in this process, give it a try!</p>
<p style="text-align:center" align="center">I&#8217;m Woody Hayday and here&#8217;s my 2012 Annual Review:</p>
<div align="center"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-940" alt="2012 Annual Review" src="https://blog.woodylabs.com/wp-content/uploads/2013/01/woody-hayday-2012-620.png" width="620" height="429" srcset="https://blog.woodylabs.com/wp-content/uploads/2013/01/woody-hayday-2012-620.png 620w, https://blog.woodylabs.com/wp-content/uploads/2013/01/woody-hayday-2012-620-450x311.png 450w" sizes="auto, (max-width: 620px) 100vw, 620px" /></p>
<p style="text-align: center;">(Stolen from my very own facebook)</p>
</div>
<p><span id="more-939"></span></p>
<p><strong>Books</strong></p>
<p>I didn&#8217;t read a whole lot in the first half of 2012 but endeavoured to catch up with myself by the end of the year &#8211; in my eagerness to absorb M.Scott Peck&#8217;s fantastic &#8220;Further along the road less travelled&#8221; and the Dalai Lama&#8217;s &#8220;The Universe in a Single Atom: The Convergence of Science and Spirituality&#8221; at the same time I blew my own mind out of the back of my head in January. This was totally unhelpful to my overall flow of reading (this year I&#8217;m avoiding heavy stuff when I need to keep motivated.)</p>
<p><img loading="lazy" decoding="async" align="right" class="alignright size-thumbnail wp-image-944" alt="Charles Munger: Hero to me" src="https://blog.woodylabs.com/wp-content/uploads/2013/01/poor_charlies_almanack-250x250.png" width="250" height="250" />Here&#8217;s my pick of my 2012 reading &#8211; some fantastic books here, I can hardly give them enough praise:</p>
<ul>
<li><a href="http://www.poorcharliesalmanack.com/pca.php" target="_blank">Poor Charlie&#8217;s Almanack</a> by Charles T Munger &#8211; This coffee table sized book has more value in it than 80% of business book&#8217;s I&#8217;ve read, combined. Phenomenal wit  and fantastic, rational truth&#8217;s. Learn: Margin&#8217;s of Safety &amp; Framework of Models.</li>
<li><a href="http://www.poorcharliesalmanack.com/seeking_wisdom.php" target="_blank">Seeking wisdom &#8211; From Darwin to Munger</a> &#8211; A more consise edited version of Poor Charlie&#8217;s Almanack &#8211; you can read one or the other but you might miss 20% of the good stuff overall. This is incredibly dry until about half way through, but persevere!</li>
<li><a href="http://www.amazon.co.uk/Letters-Stoic-Epistulae-Lucilium-Classics/dp/0140442103/" target="_blank">Letters From a Stoic</a> by Seneca &#8211; Phenominal wisdom from 2000 years ago, shame most of humanity is too preoccupied to absorb it! Absolute imperative read.</li>
<li><a href="http://www.amazon.co.uk/Winning-Concepts-Dave-Gannaway/dp/0946155011/" target="_blank">Winning Concepts</a> by Dave Gannaway &#8211; Simple, positive, 80&#8217;s businessman attitude building</li>
<li><a href="http://www.amazon.co.uk/Rights-Man-Dover-Thrift-Editions/dp/0486408930/" target="_blank">The Rights of Man</a> by Thomas Paine &#8211; American &amp; French Revolution commentary never had such retort, fantastic example of a semi-modern genius rationale, highlighted to me the vacuum of non-correction which seems to exist around societies, specifically Great Britain.</li>
<li><a href="http://www.amazon.co.uk/Heaven-Dwelling-Milestones-Canadian-Literature/dp/0195430069/" target="_blank">Hear Us O Lord from Heaven Thy Dwelling Place</a> by Malcolm Lowry &#8211; Fantastic, mad literature that&#8217;ll catch you off guard.</li>
<li><a href="http://www.amazon.co.uk/Picture-Dorian-Barnes-Noble-Classics/dp/1593080255/" target="_blank">The Picture of Dorian Grey</a> by Oscar Wilde &#8211; A classic, bored me until it won me over in it&#8217;s penultimate pages.</li>
<li><a href="http://www.amazon.co.uk/Alchemist-Fable-About-Following-Dream/dp/0722532938/" target="_blank">The Alchemist</a> by Paulo Coelho &#8211; Storified advice on following your dreams. Well written and enjoyable, a great, stealthy way to get positive drive on a big project.</li>
<li><a href="http://www.amazon.co.uk/Universe-Single-Atom-science-spirituality/dp/0349117365/" target="_blank">The Universe in a Single Atom</a> by The Dalai Lama &#8211; The Dalai Lama is responsible for several great books &#8211; this one is a step heavier than some since and covers the convergence of eastern spirituality and wisdom with modern science, quantum physics and such. Immense but heavy!</li>
<li><a href="http://www.amazon.co.uk/Further-Along-Road-Less-Travelled/dp/1847398634/" target="_blank">Further Along the Road Less Travelled</a> by M.Scott Peck &#8211; If you haven&#8217;t read &#8220;The Road Less Travelled&#8221; read that and come back to this a year later. It&#8217;s dense with reality, wisdom and psychology in the best way possible, but in being so I also found it overwhelming (perhaps I read it too fast.) This is one I&#8217;ll re-read for sure.</li>
</ul>
<p>[None of these are affiliate links.]</p>
<p><strong>Projects</strong></p>
<p>Mixing client <a href="http://www.stormgate.co.uk/blog/web-developer-for-hire/">web development consultancy</a> via <a href="http://www.stormgate.co.uk">StormGate</a> with my own projects, 2012 was still a less fractured year to those before it. I committed to a few major projects which I will mention here but I also didn&#8217;t manage to get round to a few I hoped to (finishing off <a href="https://blog.woodylabs.com/2012/10/4-life-lessons-learnt-from-writing-a-novel-before-its-even-published-my-guest-post-at-myo/">that novel</a>) &#8211; C&#8217;est la vie!</p>
<p><a href="http://www.choosefest.com">ChooseFest</a> &#8211; The largest project I took on in 2012, ChooseFest is &#8220;A festival search engine that matches your music tastes to a better festival&#8221; and was fairly successful, closing the year with 600+ users and some really great feedback. Long-tail search engine rankings and a viral nature have carried it well into 2013, where it should continue to grow. Unfortunately work on this one was cut short early in 2012 due to other things getting in the way, I hope to work more on it this year.</p>
<div align="center"><a href="http://www.socialgalleryplugin.com"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-945" alt="Social Gallery WordPress Social Lightbox Plugin" src="https://blog.woodylabs.com/wp-content/uploads/2013/01/social-gallery-wordpress-plugin-radar.png" width="380" height="96" /></a></div>
<p><a href="http://www.socialgalleryplugin.com">Social Gallery</a> &#8211; A side project founded from a client&#8217;s request, Social Gallery is a WordPress plugin which adds a &#8220;facebook style&#8221; social lightbox to your blog images &#8211; it&#8217;s pretty kick ass <a href="http://www.socialgalleryplugin.com/social-gallery-examples/">as you can see</a>. Though this started out as a small experiment it&#8217;s been fantastically recieved and is now on it&#8217;s second version. It continues to sell well on <a href="http://www.socialgalleryplugin.com/get-social-gallery">CodeCanyon</a>. (Branding on this one was done by the fantastic <a href="http://www.mizbot.co.uk/who-are-you-5/">MRK Designs</a>.)</p>
<p>Other noteworthy side projects: Remote backup &amp; health monitoring system for shared hosts (I can now get insane value by using the best of the shared hosts coupled with this setup.) <a href="http://www.salesrocketpro.com" target="_blank">Sales Rocket Pro</a> &#8211; this client project had some nice gamifaction intentions! <a href="http://www.stormgate.co.uk/blog/goto-envato-sales-assistant" target="_blank">Easy Envato Assistant</a> (tiny project but useful.) <a href="http://www.davidwhitehouse.co.uk/blog/base-crm-contact-form/" target="_blank">Base CRM Contact Form plugin</a>. Seedr&#8217;s listing for ChooseFest (temporarily postponed). Lots more including several innovative facebook integrations, a Facebook HTML5, CSS3 and jQuery animated game, a handful of mobile related WordPress plugins and lots of other alpha release&#8217;s that I can&#8217;t reveal yet <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><strong>Travel &amp; Health</strong></p>
<p>Compared to previous years I only took a fraction of time away from work this year &#8211; I was back and forth between Belgium (Gent) and the UK fairly regularly, with trips to Romania and Denmark. I also got a great week of strategising in a log cabin in the Ardenne. I was glad to see lots of my friends and family visit in Gent, but otherwise had wanted to maintain focus on work. I also hit Wilderness Festival which was cool.</p>
<div align="center"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-946" alt="3 Pianists in a Field - Wilderness Festival 2012" src="https://blog.woodylabs.com/wp-content/uploads/2013/01/wilderness-festival-2012.png" width="620" height="418" srcset="https://blog.woodylabs.com/wp-content/uploads/2013/01/wilderness-festival-2012.png 620w, https://blog.woodylabs.com/wp-content/uploads/2013/01/wilderness-festival-2012-450x303.png 450w" sizes="auto, (max-width: 620px) 100vw, 620px" /></div>
<p>I started out the year averagely healthy and ended it about the same &#8211; my intention had been to pursue the slow carb diet and continue to do MED workouts at the gym, alas I let work get the better of me and did not maintain this. I did manage to run my first 10k (the Gent Staad Loop) though, which was exciting.</p>
<p><strong>2012 Summary</strong></p>
<p>It was a full on year of development, I probably produced more lines of more elegant code, drank more coffee and blogged less than any other recent year. Overall I am happy with the outcomes achieved, what else is there to be, after all <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> ChooseFest turned out to seal the end of a fantastically large learning curve, Social Gallery a surprise hit and I managed to find 3 or so books which have utterly transformed my outlook. I should hope to remember that any future successes should be proportionally devoted to Charles Munger, Seneca and my special way of learning: the practical art of digging yourself holes you then have to climb out of.</p>
<p>I hope to realise enough success in coming years to confidently share the hell of a ride it&#8217;s been so far.</p>
<p>&nbsp;</p>
<p>Have a phenomenal 2013!</p>
<p>P.S. You may get a 2012: Looking Forward post too, if your lucky!</p>
<p>P.P.S. I borrowed this post title from Chris Guillebeau&#8217;s <a href="http://chrisguillebeau.com/3x5/2012-looking-forward/" target="_blank">2012 Looking Forward</a> (hope that&#8217;s OK Chris), if you haven&#8217;t read anything of his stuff check out his latest book <a href="http://www.amazon.co.uk/The-100-Startup-Fire-Better/dp/023076651X/" target="_blank">$100 Startup</a>, it kicks ass.</p><p>The post <a href="https://blog.woodylabs.com/2013/01/2012-annual-review-looking-back/">2012 Annual Review: Looking Back</a> first appeared on <a href="https://blog.woodylabs.com">Woody Hayday | Blog</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://blog.woodylabs.com/2013/01/2012-annual-review-looking-back/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>Social Gallery Plugin Sells 200 Copies!</title>
		<link>https://blog.woodylabs.com/2012/09/social-gallery-plugin-sells-200-copies/</link>
		
		<dc:creator><![CDATA[Woody]]></dc:creator>
		<pubDate>Thu, 27 Sep 2012 15:20:37 +0000</pubDate>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Landmarks]]></category>
		<category><![CDATA[Small Projects]]></category>
		<category><![CDATA[Social Gallery]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress Plugins]]></category>
		<guid isPermaLink="false">http://blog.woodylabs.com/?p=922</guid>

					<description><![CDATA[<p>A small landmark though it might be amongst plugin sellers, it&#8217;s nice to celebrate the little wins. Social Gallery sold it&#8217;s 200th copy last night, just over 2 months after it&#8217;s initial release, and that&#8217;s just through awesome customers sharing and word of mouth! If you have live amongst the majority of bloggers and use [&#8230;]</p>
<p>The post <a href="https://blog.woodylabs.com/2012/09/social-gallery-plugin-sells-200-copies/">Social Gallery Plugin Sells 200 Copies!</a> first appeared on <a href="https://blog.woodylabs.com">Woody Hayday | Blog</a>.</p><hr /><a href="https://blog.woodylabs.com">Visit Woody Haydays Blog</a><hr />]]></description>
										<content:encoded><![CDATA[<p>A small landmark though it might be amongst plugin sellers, it&#8217;s nice to celebrate the little wins. Social Gallery sold it&#8217;s 200th copy last night, just over 2 months after it&#8217;s initial release, and that&#8217;s just through awesome customers sharing and word of mouth!</p>
<p>If you have live amongst the majority of bloggers and use WordPress then go ahead and <a href="http://www.socialgalleryplugin.com/get-social-gallery">get Social Gallery</a>, the next update is going to be BIG and contain lots of awesome new features.</p>
<div align="center"><a href="http://www.socialgalleryplugin.com"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-923" title="Social Gallery - Gallery Share Plugin" src="https://blog.woodylabs.com/wp-content/uploads/2012/09/social-gallery-wordpress-plugin-gallery-share.jpg" alt="" width="624" height="345" srcset="https://blog.woodylabs.com/wp-content/uploads/2012/09/social-gallery-wordpress-plugin-gallery-share.jpg 624w, https://blog.woodylabs.com/wp-content/uploads/2012/09/social-gallery-wordpress-plugin-gallery-share-450x248.jpg 450w" sizes="auto, (max-width: 624px) 100vw, 624px" /></a></div>
<p><span id="more-922"></span></p>
<p style="text-align: center;">[Social Gallery is a WordPress plugin which adds an engaging photo viewer to your blog, it&#8217;s <a href="http://www.socialgalleryplugin.com/gallery-share-plugin/">the original Gallery Share Plugin</a>]</p><p>The post <a href="https://blog.woodylabs.com/2012/09/social-gallery-plugin-sells-200-copies/">Social Gallery Plugin Sells 200 Copies!</a> first appeared on <a href="https://blog.woodylabs.com">Woody Hayday | Blog</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>5 Crucial Points for Hiring a Web Developer</title>
		<link>https://blog.woodylabs.com/2012/07/5-crucial-points-for-hiring-a-web-developer/</link>
		
		<dc:creator><![CDATA[Woody]]></dc:creator>
		<pubDate>Wed, 25 Jul 2012 08:18:38 +0000</pubDate>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web Development]]></category>
		<guid isPermaLink="false">http://blog.woodylabs.com/?p=890</guid>

					<description><![CDATA[<p>Here you can read an excerpt of my latest post over on the StormGate Blog, it&#8217;s the  first in a series where I try and get to the crux of client-web developer relations and add some value for everyone who hire&#8217;s freelance developers or develop&#8217;s on the side for clients. You can read the full [&#8230;]</p>
<p>The post <a href="https://blog.woodylabs.com/2012/07/5-crucial-points-for-hiring-a-web-developer/">5 Crucial Points for Hiring a Web Developer</a> first appeared on <a href="https://blog.woodylabs.com">Woody Hayday | Blog</a>.</p><hr /><a href="https://blog.woodylabs.com">Visit Woody Haydays Blog</a><hr />]]></description>
										<content:encoded><![CDATA[<p>Here you can read an excerpt of my latest post over on the StormGate Blog, it&#8217;s the  first in a series where I try and get to the crux of client-web developer relations and add some value for everyone who hire&#8217;s freelance developers or develop&#8217;s on the side for clients. You can read the full article <a title="5 Crucial points for you if you intend to hire a web developer" href="http://www.stormgate.co.uk/blog/2012/5-crucial-points-to-hiring-a-developer/">here</a>.</p>
<div style="font-size: 12px; background: #e4e9e5; margin-bottom: 30px; padding: 7px;"><strong>Disclaimer:</strong> I am a developer/director who has worked on both sides of the developer-client relationship. I write this with the sole intent of guiding those who are looking to get an early-stage web app or website prototype built. Do let me know what you think at the bottom.</div>
<p>Developer-client relationships go wrong. It’s a fact. Developers that weren’t up to the job, projects that get abandoned, whole web-apps get written that never get used. Hopefully you haven’t experienced this yourself; if you have I am sure that there were some deep lessons learnt from the experience.</p>
<p><strong>The “Win-Win” of web development</strong><br />
<a href="http://www.stormgate.co.uk/blog/2012/5-crucial-points-to-hiring-a-developer/"><img loading="lazy" decoding="async" class="alignright size-thumbnail wp-image-891" title="5 Crucial Points to think about when hiring a web developer" src="https://blog.woodylabs.com/wp-content/uploads/2012/07/5-crucial-points-to-hiring-a-web-developer-250x250.png" alt="" width="250" height="250" align="right" srcset="https://blog.woodylabs.com/wp-content/uploads/2012/07/5-crucial-points-to-hiring-a-web-developer-250x250.png 250w, https://blog.woodylabs.com/wp-content/uploads/2012/07/5-crucial-points-to-hiring-a-web-developer-450x450.png 450w, https://blog.woodylabs.com/wp-content/uploads/2012/07/5-crucial-points-to-hiring-a-web-developer.png 500w" sizes="auto, (max-width: 250px) 100vw, 250px" /></a>It’s not good for either side of this relationship for it to end out of turn, aside from the “cosmic karma” of wrongdoing to others it’s not good business for either party if a software project doesn’t make the cut. To this end, producing a new website or app should be a shared goal between the client and the developer, that’s what the following 5 crucial points try to help you accomplish, a joint vision of a web based outcome.</p>
<p>All the points are crucial, but you can jump here:</p>
<ol>
<li><a href="http://www.stormgate.co.uk/blog/2012/5-crucial-points-to-hiring-a-developer/#have-a-clear-vision">Have a clear vision</a></li>
<li><a href="http://www.stormgate.co.uk/blog/2012/5-crucial-points-to-hiring-a-developer/#developers-will">Developers will</a></li>
<li><a href="http://www.stormgate.co.uk/blog/2012/5-crucial-points-to-hiring-a-developer/#validate-developers-and-test-them">Validate developers and test them</a></li>
<li><a href="http://www.stormgate.co.uk/blog/2012/5-crucial-points-to-hiring-a-developer/#clients-will">Clients will</a></li>
<li><a href="http://www.stormgate.co.uk/blog/2012/5-crucial-points-to-hiring-a-developer/#three-crucial-documents">The three crucial documents</a></li>
</ol>
<p><span id="more-890"></span></p><p>The post <a href="https://blog.woodylabs.com/2012/07/5-crucial-points-for-hiring-a-web-developer/">5 Crucial Points for Hiring a Web Developer</a> first appeared on <a href="https://blog.woodylabs.com">Woody Hayday | Blog</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Facebook-Style Photo Viewer WordPress Plugin</title>
		<link>https://blog.woodylabs.com/2012/07/facebook-style-photo-viewer-wordpress-plugin/</link>
		
		<dc:creator><![CDATA[Woody]]></dc:creator>
		<pubDate>Thu, 19 Jul 2012 13:00:04 +0000</pubDate>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Web Technology]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Aberaeron]]></category>
		<category><![CDATA[Facebook-Style]]></category>
		<category><![CDATA[Lightbox]]></category>
		<category><![CDATA[Social Gallery]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress Plugins]]></category>
		<guid isPermaLink="false">http://blog.woodylabs.com/?p=867</guid>

					<description><![CDATA[<p>It&#8217;s been a hectic few months, many successful client projects, many successfuly additions to ChooseFest and StormGate and I haven&#8217;t let myself schedule any writing time. This hiatus has been intentional and it&#8217;s non lexical productivity has been a positive necessity. Short of writing a list of festival essentials the only thing I have written [&#8230;]</p>
<p>The post <a href="https://blog.woodylabs.com/2012/07/facebook-style-photo-viewer-wordpress-plugin/">Facebook-Style Photo Viewer WordPress Plugin</a> first appeared on <a href="https://blog.woodylabs.com">Woody Hayday | Blog</a>.</p><hr /><a href="https://blog.woodylabs.com">Visit Woody Haydays Blog</a><hr />]]></description>
										<content:encoded><![CDATA[<p>It&#8217;s been a hectic few months, many successful client projects, many successfuly additions to <a href="http://www.choosefest.com" title="ChooseFest Festival Finder">ChooseFest</a> and <a href="http://www.stormgate.co.uk" title="UK High End Web Development">StormGate</a> and I haven&#8217;t let myself schedule any writing time. This hiatus has been intentional and it&#8217;s non lexical productivity has been a positive necessity. Short of writing <a href="http://www.choosefest.com/blog/2012/festivals-guide-essential-items-for-a-festival/" title="Guides: List of items essential for a festival">a list of festival essentials</a> the only thing I have written has been code, tons of the stuff. I will be back with a new blogpost or two soon, anyhow on to the main feature:</p>
<h3>Facebook-Style Photo Viewer &#8211; Social Gallery</h3>
<p>Social Gallery is a WordPress plugin which adds a fancy &#8220;Facebook-style&#8221; photo viewer to your blog images. It&#8217;s a bit of an improvement on the existing lightbox plugins which have served their time well but really haven&#8217;t been innovated in too long. This WordPress plugin came about through the combined timing of a client requirement and a schedule collapse, but the end product has ended up working out quite nicely (you can see it in effect by clicking the image below.) </p>
<div align="center" style="background:#2068c4;color:#FFF"><strong>Click this:</strong><br />
<a href="https://blog.woodylabs.com/wp-content/uploads/2011/01/aberaeron-sky.jpg" class="socialGallery"><img decoding="async" src="https://blog.woodylabs.com/wp-content/uploads/2011/01/aberaeron-sky.jpg" alt="" title="An Aberaeron Sky! - Photo is one of mine I found lying about in WordPress - Aberaeron, West Wales" class="aligncenter wp-image-533" style="width:300px"  /></a><br />(Photo is one of mine I found lying about in WordPress &#8211; Aberaeron, West Wales)</div>
<p><span id="more-867"></span><br />
What your seeing is version 1.0, you can see the full website <a href="http://www.socialgalleryplugin.com" title="Social Gallery WordPress Plugin">here</a> and <a href="http://codecanyon.net/item/social-gallery-wordpress-photo-viewer-plugin/2665332?ref=stormgate" title="Buy Social Gallery WordPress plugin">buy it for $14 here</a>. Future versions will have some fancy additions such as Disqus comments (as well as Facebook comments) and more clever ways to feed content into its sidebar. </p>
<p>Social Gallery rides off the wave that is Facebook, using a similar photo-viewing style to give your users a better media experience as well as garnering the benefits of association with Facebook. If you think about it 900+ million users will be familiar with this way of viewing images so it makes sense for more of us to adopt it, Social Gallery is a really easy way to add this functionality to your WordPress. </p>
<p><a href="https://blog.woodylabs.com/wp-content/uploads/2012/07/SocialGalleryWordpressPlugin-preview.png" class="socialGallery"><img loading="lazy" decoding="async" src="https://blog.woodylabs.com/wp-content/uploads/2012/07/SocialGalleryWordpressPlugin-preview-450x228.png" alt="" align="right" title="Social Gallery - Adding Facebook-style photo viewing to your WordPress Blog. Get it today @ SocialGalleryPlugin.com" width="450" height="228" class="alignright size-medium wp-image-869" srcset="https://blog.woodylabs.com/wp-content/uploads/2012/07/SocialGalleryWordpressPlugin-preview-450x228.png 450w, https://blog.woodylabs.com/wp-content/uploads/2012/07/SocialGalleryWordpressPlugin-preview.png 590w" sizes="auto, (max-width: 450px) 100vw, 450px" /></a><strong>Features:</strong></p>
<ul>
<li>Facebook-style lightbox</li>
<li>Get More Likes &#038; More Shares</li>
<li>Get More Comments</li>
<li>Engage your Visitors</li>
<li>Adds Facebook Comments</li>
<li>Familiar to Facebook’s 900+ million users</li>
<li>Easy to Install</li>
</ul>
<p>If you want to know more just hop over to <a href="http://www.socialgalleryplugin.com" title="Social Gallery WordPress Plugin">SocialGalleryPlugin.com</a></p><p>The post <a href="https://blog.woodylabs.com/2012/07/facebook-style-photo-viewer-wordpress-plugin/">Facebook-Style Photo Viewer WordPress Plugin</a> first appeared on <a href="https://blog.woodylabs.com">Woody Hayday | Blog</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>1and1 Web Hosting &#038; Git &#8211; Installing it for singular dev</title>
		<link>https://blog.woodylabs.com/2012/01/1and1-web-hosting-git-installing-it-for-singular-dev/</link>
					<comments>https://blog.woodylabs.com/2012/01/1and1-web-hosting-git-installing-it-for-singular-dev/#comments</comments>
		
		<dc:creator><![CDATA[Woody]]></dc:creator>
		<pubDate>Mon, 16 Jan 2012 15:43:30 +0000</pubDate>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Snippets]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Web Technology]]></category>
		<category><![CDATA[1and1]]></category>
		<category><![CDATA[ghetto first version]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[ssh]]></category>
		<guid isPermaLink="false">http://blog.woodylabs.com/?p=833</guid>

					<description><![CDATA[<p>I have a new project in the works and I thought it about time to get a verioning setup working beyond locally, I don&#8217;t want to use a PaaS (like Cloud control) though for this one as its Top Secret (for now.) Yeah Yeah I know, shared web hosting, 1and1 &#8211; not so secret eh? [&#8230;]</p>
<p>The post <a href="https://blog.woodylabs.com/2012/01/1and1-web-hosting-git-installing-it-for-singular-dev/">1and1 Web Hosting & Git – Installing it for singular dev</a> first appeared on <a href="https://blog.woodylabs.com">Woody Hayday | Blog</a>.</p><hr /><a href="https://blog.woodylabs.com">Visit Woody Haydays Blog</a><hr />]]></description>
										<content:encoded><![CDATA[<p>I have a new project in the works and I thought it about time to get a verioning setup working beyond locally, I don&#8217;t want to use a PaaS (like Cloud control) though for this one as its Top Secret (for now.) Yeah Yeah I  know, shared web hosting, 1and1 &#8211; not so secret eh? Well behind a .htaccess passworded directory is better than sitting on AWS via a PaaS, it is, believe me.</p>
<p>The benefit of using GIT in the way below is that it maintains version history AS WELL as offering a managed host, i.e. it deals with uploading as well as versioning (in 1 git bash push.)</p>
<p>So here&#8217;s the scenario &#8211; there&#8217;s one of you, or maybe a few core founders/dev&#8217;s and you want to use GIT to version control your developments of a new web app or site. You already have a shared hosting account with 1and1 which works fine up to 20k hits a day or so, is there really need to have the thing scalable on demand from day one? No? Great, read on. If you REQUIRE scalability off the bat (I bet you don&#8217;t, really) then go find a PaaS/jump on AWS, for now here&#8217;s how to get GIT versioning (with automatic publication) working on your 1and1 shared hosting.</p>
<p>Firstly go read <a href="http://toroid.org/ams/git-website-howto" target="_blank" rel="nofollow">this</a>, its a great guide that pretty much* got me there (95% of the credit to Abhijit), there&#8217;s just a few changes to get it to work on 1and1. </p>
<h4>How I did it: GIT on 1and1</h4>
<p>Load up your FTP, get to the root of your hosting and make your main site dir, in this case we will call it AppDev1:<br />
<code>/AppDev1</code><br />
Next make two directories underneath it: &#8220;repo&#8221; and &#8220;live&#8221;, I shall explain these after you have made them:<br />
<code>/AppDev1/live<br />
/AppDev1/repo</code><br />
What these two are going to do is give you a live &#8220;root&#8221; for your web app/site as well as a GIT repository (which stores all the changes.) By separating them you keep everything simple. [live = web root folder, repo (or whatever you call it) = git bare repository.]</p>
<p>Next locally (on your machine) create a folder which you want to develop in:<br />
<code>C:/EpicNewApp</code></p>
<p>&#8230;And load up GIT BASH (assume you have) and enter the following:<br />
<code>cd "C:/EpicNewApp";<br />
git init;</code></p>
<p>Next go ahead and load your SSH client (putty) and log into your 1and1 Account (there is guidance on 1and1 under SSH accounts, if you need it.) Once logged in enter the following:</p>
<p><code>cd "/AppDev1/repo"<br />
git init --bare<br />
cat > hooks/post-receive<br />
#!/bin/sh<br />
GIT_WORK_TREE="../live" git checkout -f<br />
chmod +x hooks/post-receive</code></p>
<p><strong>*note</strong>: This differs from the aforementioned guide in the address entered under GIT_WORK_TREE, this is the only way I could get this setup to work on 1and1.</p>
<p>You can also simply stick these lines into a file called post-receive and upload the file to the &#8220;hooks&#8221; folder of your new bare repository (repo), if you are so inclined. </p>
<p>That&#8217;s it, your done with the SSH, now you can bind a remote location in GIT BASH (replace the obvious:)<br />
<code>$ git remote add web "ssh://u99999999@yourMain1and1Domain.com/~/AppDev1/repo/"</code><br />
&#8230;And go ahead and push to 1and1 (you will need your SSH password to do so.)<br />
<code>$ git push web +master:refs/heads/master</code><br />
All being well this should have pushed a version to your /AppDev1/repo folder and also updated the live files as per your changes!</p>
<p>Happy Ghetto Versioning!</p>
<p><strong>Note</strong>: As per comments, removed .git reference from link, thanks Ano.</p><p>The post <a href="https://blog.woodylabs.com/2012/01/1and1-web-hosting-git-installing-it-for-singular-dev/">1and1 Web Hosting & Git – Installing it for singular dev</a> first appeared on <a href="https://blog.woodylabs.com">Woody Hayday | Blog</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://blog.woodylabs.com/2012/01/1and1-web-hosting-git-installing-it-for-singular-dev/feed/</wfw:commentRss>
			<slash:comments>39</slash:comments>
		
		
			</item>
		<item>
		<title>Recent Projects, Top Freelancer People Per Hour</title>
		<link>https://blog.woodylabs.com/2011/12/recent-projects-top-freelancer-on-people-per-hour/</link>
		
		<dc:creator><![CDATA[Woody]]></dc:creator>
		<pubDate>Fri, 02 Dec 2011 09:45:57 +0000</pubDate>
				<category><![CDATA[Looking Back]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Web Technology]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[freelance]]></category>
		<category><![CDATA[freelancing]]></category>
		<category><![CDATA[people per hour]]></category>
		<guid isPermaLink="false">http://blog.woodylabs.com/?p=826</guid>

					<description><![CDATA[<p>It was a busy November, but it paid off &#8211; completed a good few projects for some great clients, and whats more I won no# 1 Top Freelancer @ people per hour! You can read more about some of my recent projects here, although there&#8217;s only a few case studies up, the most public of [&#8230;]</p>
<p>The post <a href="https://blog.woodylabs.com/2011/12/recent-projects-top-freelancer-on-people-per-hour/">Recent Projects, Top Freelancer People Per Hour</a> first appeared on <a href="https://blog.woodylabs.com">Woody Hayday | Blog</a>.</p><hr /><a href="https://blog.woodylabs.com">Visit Woody Haydays Blog</a><hr />]]></description>
										<content:encoded><![CDATA[<div align="center"><a href="http://www.peopleperhour.com/toprankedfreelancers.php?month=1320105600" target="_blank"><img loading="lazy" decoding="async" class="aligncenter" title="I am Top 1 of 169,000 freelancers for November!" src="http://www.woodyhayday.com/pph/pph-TopFreelancer.png" alt="I am Top 1 of 169,000 freelancers for November!" width="150" height="110" border="0" /></a></div>
<p>It was a busy November, but it paid off &#8211; completed a good few projects for some great clients, and whats more I won no# 1 Top Freelancer @ people per hour!</p>
<p>You can read more about some of my recent projects <a href="http://www.woodyhayday.com/pph/">here</a>, although there&#8217;s only a few case studies up, the most public of the projects was a great life planning app that I built to first iteration, you can check it out (DO IT NOW!) @ <a href="http://www.5years.me" target="_blank">5years.me</a> &#8211; built in the cloud on PaaS, behind the scenes I have also helped develop a social media analytics platform that is a marketeers wet dream, maybe as it gets properly released I will divulge more on that. Needless to say November was a great month of good work for great clients &#8211; off the radar now until my big project in early 2012 <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<div align="center"><a href="http://www.woodyhayday.com/pph/php-mysql-jquery-web-application-built-cloudcontrol.png" target="_blank"><img loading="lazy" decoding="async" src="http://www.woodyhayday.com/pph/life-planning-web-app-built-in-the-cloud-php-jquery-mysql-schema.png" width="640" height="320" alt="Life Planning Web App Built in the cloud (cloudcontrolled.com)" border="0" /></a></div><p>The post <a href="https://blog.woodylabs.com/2011/12/recent-projects-top-freelancer-on-people-per-hour/">Recent Projects, Top Freelancer People Per Hour</a> first appeared on <a href="https://blog.woodylabs.com">Woody Hayday | Blog</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>IP to Location Alternative: Javascript &#8211; Using JS to find Browser Country / Location not from IP</title>
		<link>https://blog.woodylabs.com/2011/12/ip-to-location-alternative-javascript-using-js-to-find-browser-country-location-not-from-ip/</link>
		
		<dc:creator><![CDATA[Woody]]></dc:creator>
		<pubDate>Fri, 02 Dec 2011 09:04:41 +0000</pubDate>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Snippets]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[explorations]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[location]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[timezones]]></category>
		<guid isPermaLink="false">http://blog.woodylabs.com/?p=821</guid>

					<description><![CDATA[<p>Know your audience? Got google analytics aggregating their details? Great, good for you! But doe&#8217;s that add any value in the short term? Improve THEIR browsing experience? In the long run you should use analytics to achieve better sites (although many don&#8217;t) &#8211; but for now, right here you can still add some of the [&#8230;]</p>
<p>The post <a href="https://blog.woodylabs.com/2011/12/ip-to-location-alternative-javascript-using-js-to-find-browser-country-location-not-from-ip/">IP to Location Alternative: Javascript – Using JS to find Browser Country / Location not from IP</a> first appeared on <a href="https://blog.woodylabs.com">Woody Hayday | Blog</a>.</p><hr /><a href="https://blog.woodylabs.com">Visit Woody Haydays Blog</a><hr />]]></description>
										<content:encoded><![CDATA[<p>Know your audience? Got google analytics aggregating their details? Great, good for you! But doe&#8217;s that add any value in the short term? Improve THEIR browsing experience? In the long run you should use analytics to achieve better sites (although many don&#8217;t) &#8211; but for now, right here you can still add some of the future frill. Take this situation: You want to show different content/additional content to each nationalities (maybe aim for a few &#8211; US, UK, AUS) &#8211; Did you know that adding a national flag that a user can associate with may increase sales up to 20%, or More? Go read Ca$hvertising. In any case if your sitting comfortably, take a look below for the how to!</p>
<div align="center"><img loading="lazy" decoding="async" src="http://farm1.staticflickr.com/122/303184034_9ac842c4e1.jpg" width="500" height="358" alt="Mars Landers on Map"><br />
Javascript &#8211; Using JS to find Browser Country / Location not from IP <a href="http://www.flickr.com/photos/toasty/303184034/" title="Mars Landers on Map by ToastyKen, on Flickr" rel="nofollow" target="_blank" style="font-size:10px">Photo by ToastyKen</a>
</div>
<p><span id="more-821"></span></p>
<h4>Common solutions to identifying a users locale/localizing/localising a web client:</h4>
<p>Using PHP / ASP.NET take the users IP and feed into an ip to location service (geo ip) to find a country from ip.<br />
<strong>Pro&#8217;s:</strong> Server-side off the bat, can cache a database of IP&#8217;s (although would you?)<br />
<strong>Con&#8217;s:</strong> Adds another 2 hops to at least initial page load, IP location service&#8217;s can cost or be faulty</p>
<p>Using the request headers (again server-side) to identify an &#8220;accepted language&#8221; and then guestimating their location (taking en-US&#8230;for example.)<br />
<strong>Pro&#8217;s:</strong> Server-side to start with, no extra hops/calls required, this data is already available whether you use it or not, more useful for language (although limited)<br />
<strong>Con&#8217;s:</strong> Unreliable &#8211; mostly because of a few of the BIG browsers default to en-US for all english users, often international users might learn to use a browser in English anyway &#8211; defeating the point</p>
<h4>Another solution (work in progress:)</h4>
<p>A step towards a proper solution, and in my case a solution for MY original problem, is to at least work out their TIMEZONE. What? I hear you say, why the timezone? Well if you know, for example using analytics data, that your user base is 40% US, 50% UK and 10% rest of the world you can at least make a START by dealing with the two major constituents of your audience. I can envisage A more complete solution though, by combining the use of request headers accepted language AND the following Javascript timezone detection:</p>
<p>Searching around a bit I found <a href="http://unmissabletokyo.com/country-detector.html" target="_blank" rel="nofollow">this</a> which showed a lot of promise. This javascript works out the users Operating System time offset, and from that you can define which timezone they are in. Useful, if like me you know your users in a specific timezone are likely to be in one country, not particularly if they are possibly in multiple countries within a timezone. </p>
<h4>A solution / exploration &#8211; location detection in javascript</h4>
<p>The following Javascript gives you both indicators, using navigator.language/systemlanguage it detects the browser&#8217;s language, and then using an expanded upon version of the above script it will provide you with the possible countries from the users OS timezone offset. How useful this is to you is depending on the application, but check it out &#8211; build some fantastic solution off of it, then show me, because I probably won&#8217;t get round to it!</p>
<pre class="brush: jscript; title: ; notranslate">
var langCode = navigator.language || navigator.systemLanguage;
var lang = langCode.toLowerCase(); lang = lang.substr(0,2);

var dateObject = new Date(); //this timezone offset calc taken from http://unmissabletokyo.com/country-detector.html
var timeOffset = - dateObject.getTimezoneOffset() / 60; 
var c = &quot;&quot;; //this will ultimately end up as a country/csv of possible countries
switch (timeOffset) { //I expanded upon this switch, adding all the possible countries
	case 0: 
	 c = 'Algeria, Ascension Island, Burkina Faso, Faeroe Islands, Ghana, Guinea Republic, Iceland, Ireland, Ivory Coast, Liberia, Mali, Morocco, Sao Tome &amp; Principe, Senegal, Sierra Leone, St Helena, The Gambia, Togo, United Kingdom'; break;
	
	case 1: 
	 c = 'Albania, Andorra, Angola, Australia, Austria, Belgium, Benin, Bosnia, Cameroon, Central Africa Republic, Chad, Congo, Croatia, Czech Republic, Democratic Republic of Congo (Zaire), Denmark, Equatorial Guinea, France, Gabon, Germany, Gibraltar, Guam, Hungary, Italy, Liechtenstein, Luxembourg, Macedonia (Fyrom), Malta, Mariana Islands, Marshall Islands, Micronesia, Monaco, Netherlands, Niger, Nigeria, Norway, Papua New Guinea, Poland, Portugal, San Marino, Serbia, Slovak Republic, Slovenia, Spain, Sweden, Switzerland, Tunisia'; break;
	 
	case -1: 
	 c = 'Cape Verde Islands, Cook Islands, French Polynesia, Guinea Bissau, USA'; break;
	 
	case 11:	
	 c = 'New Caledonia, Solomon Islands, Vanuatu'; break;
	 
	case -11:
	 c = 'Niue Island, Samoa (American), Samoa (Western), USA'; break;
	 
	case 11.5:
	 c = 'Norfolk Island'; break;
	 
	case 12:	
	 c = 'Fiji Islands, Kiribati, Nauru, New Zealand, Tuvalu, Wallis &amp; Futuna Islands'; break;
	 
	case 13:
	 c = 'Tonga'; break;
	 
	case 2:	
	 c = 'Botswana, Bulgaria, Burundi, Cyprus, Democratic Republic of Congo (Zaire), Egypt, Finland, Greece, Israel, Jordan, Lebanon, Lesotho, Libya, Lithuania, Malawi, Mozambique, Namibia, Palestine, Romania, Rwanda, South Africa, Sudan, Swaziland, Syria, Turkey, Zambia, Zimbabwe'; break;
	 
	case 3:
	 c = 'Bahrain, Belarus, Comoros Island, Djibouti, Eritrea, Estonia, Ethiopia, Iraq, Kenya, Kuwait, latvia, Madagascar, Mayotte Islands, Moldova, Qatar, Russia, Saudi Arabia, Somalia, Tanzania, Uganda, Ukraine, Yemen Arab Republic'; break;
	 
	case -3:
	 c = 'Argentina, Brazil, Cuba, Greenland, Guyana, Uruguay'; break;
	
	case 3.5:
	 c = 'Iran'; break;
	
	case -3.5:
	 c = 'Surinam'; break;
	
	case 4:
	 c = 'Armenia, Azerbaijan, Georgia, Mauritius, Oman, Reunion Island, Seychelles, United Arab Emirates'; break;
	
	case -4:
	 c = 'Anguilla, Antigua and Barbuda, Aruba, Barbados, Bermuda, Bolivia, Brazil, Canada, Chile, Dominica Islands, Dominican Republic, Falkland Islands, French Guiana , Grenada, Guadeloupe, Martinique, Montserrat, Netherlands Antilles, Paraguay, Puerto Rico, St Kitts &amp; Nevia, St Lucia, Trinidad &amp; Tobago, Venezuela'; break;
	
	case 5:
	 c = 'Diego Garcia, Maldives Republic, Pakistan, Turkmenistan'; break;
	
	case -5:
	 c = 'Bahamas, Brazil, Canada, Cayman Islands, Columbia, Ecuador, Haiti, Jamaica, Panama, Peru, Turks &amp; Caicos Islands, USA'; break;
	
	case 5.5:
	 c = 'Bhutan,India,Nepal,Sri Lanka'; break;
	
	case 6:
	 c = 'Bangladesh, Kazakhstan, Kyrgyzstan, Tajikistan, Uzbekistan'; break;
	
	case -6:
	 c = 'Belize, Canada, Costa Rica, El Salvador, Guatemala, Honduras, Mexico, Nicaragua, USA'; break;
	
	case 6.5:
	 c = 'Myanmar (Burma)'; break;
	
	case 7:
	 c = 'Australia, Cambodia, Indonesia, Laos, Thailand, Vietnam'; break;
	
	case -7:
	 c = 'Canada, Mexico, USA'; break;
	
	case 8:
	 c = 'Australia, Brunei, China, Hong Kong, Indonesia, Macau, Malaysia, Mongolia, Philippines, Singapore, Taiwan'; break;
	
	case -8:
	 c = 'Canada, Mexico, USA'; break;
	
	case 9:
	 c = 'Australia, Indonesia, Japan, Korea, North, Korea, South, Palau'; break;
	
	case -9:
	 c = 'USA'; break;
}

//at this point Lang should be a 2 letter language code (e.g. en), timeOffset will be the users hour offset from GMT and c will be the csv of possible countries!
alert('Lang: ' + lang + &quot;\r\n&quot; + 'timeOffset: ' + timeOffset + &quot;\r\n&quot; + 'Possible Countries: ' + &quot;\r\n&quot; + c);
</pre>
<p>You can get the full source for this zipped <a href="https://blog.woodylabs.com/downloads/javascript.timezone.country-detection.zip">here</a>, included is a minified version wrapped in a function, isn&#8217;t that nice of me? Use it as you will, and if you create something epic, show me!</p>
<p><strong>Countries/timezones:</strong> I built the timezone offset switch based on the wikipedia list of countries and their timezones, so its comprehensive.</p><p>The post <a href="https://blog.woodylabs.com/2011/12/ip-to-location-alternative-javascript-using-js-to-find-browser-country-location-not-from-ip/">IP to Location Alternative: Javascript – Using JS to find Browser Country / Location not from IP</a> first appeared on <a href="https://blog.woodylabs.com">Woody Hayday | Blog</a>.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
