<?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>Ric&#039;s Blog</title>
	<atom:link href="http://richard.qweb.co.uk/feed/" rel="self" type="application/rss+xml" />
	<link>http://richard.qweb.co.uk</link>
	<description>The personal blog of QWeb&#039;s founder, Richard Grant.</description>
	<lastBuildDate>Sat, 17 Mar 2012 00:39:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>That time I updated the world, again.</title>
		<link>http://richard.qweb.co.uk/software/that-time-i-updated-the-world-again/</link>
		<comments>http://richard.qweb.co.uk/software/that-time-i-updated-the-world-again/#comments</comments>
		<pubDate>Thu, 09 Feb 2012 21:06:24 +0000</pubDate>
		<dc:creator>Richard Grant</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://richard.qweb.co.uk/?p=167</guid>
		<description><![CDATA[Those who know me, know I&#8217;m a GNU/Linux guy. Those who know me well, know I run Gentoo. Those who run Gentoo, know what an emotional roller-coaster it can be at times. Gentoo is a source based distribution. We don&#8217;t &#8230; <a href="http://richard.qweb.co.uk/software/that-time-i-updated-the-world-again/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[
<p>Those who know me, know I&#8217;m a GNU/Linux guy. Those who know me well, know I run <a href="http://www.gentoo.org/">Gentoo</a>. Those who run Gentoo, know what an emotional roller-coaster it can be at times.</p>
<p>Gentoo is a source based distribution. We don&#8217;t have such things as wizards or default settings &#8211; at least those of us that choose to follow the classic Gentoo path don&#8217;t. Installation consists of inserting a disk, booting to a text-only interface and running various commands for a couple of days, typing up lots of configuration files, and compiling tonnes of code until eventually you have your chosen graphical interface to boot into, and enough support for your chipsets and hardware devices for that interface to function. Needless to say, things are easily broken in our world, but at the same time when things work again you&#8217;re rewarded with a massive sense of accomplishment and some kind of geeky feeling.</p>
<p>To the point, updating Gentoo isn&#8217;t much different to &#8216;installing&#8217; Gentoo. It&#8217;s a slow process of compiling, fixing, recompiling, fixing again and learning new ways to swear. I&#8217;m pretty sure it also involves a little hair loss. Eventually though, after the 22nd tweak to some core configuration, the boot process makes it to the end, a little cursor appears in the middle of your screen for the first time in 48 hours, and that sense of accomplishment returns.</p>
<p>I haven&#8217;t updated this system for a long time. I haven&#8217;t really dared to as my work takes up about 90% of my time at the moment and as a web developer it&#8217;s pretty important I have a working computer, but I can&#8217;t hold off any longer. I&#8217;m running web browsers that are 3 major versions behind, and I&#8217;ve recently learned that the newer versions of Gimp support more of the features Photoshop PSD files contain, such as layer grouping and proper text layers. While I need a working computer to do my job, I also need recent software versions.</p>
<p>And so it begins, I&#8217;m updating. As I progress I want to keep a sort of diary to demonstrate this roller-coaster and to try and illustrate why, regardless of the headaches, Gentoo is such a great experience. I&#8217;ve absolutely no idea what will break, or how long the updates will take, but one thing can be guaranteed &#8211; I&#8217;m about to bore the hell out of everybody who&#8217;s bothered to read this far!</p>
<p><strong>9pm, Thursday the 9th</strong> <br />I&#8217;ve sync&#8217;d my package manager to the Gentoo servers and I&#8217;ve read through the 291 packages it wants me to update. I&#8217;m happy with the use flags and I&#8217;m ready to start the updates. Among the 1.4GB of downloads are the likes of <a href="http://www.x.org/wiki/">XOrg</a>, ATI drivers, <a href="http://gcc.gnu.org/">GCC</a>, <a href="http://qt-project.org/">QT</a>, <a href="http://python.org/">Python</a>, the whole of <a href="http://kde.org/">KDE</a>, <a href="http://www.gentoo.org/proj/en/base/openrc/">OpenRC</a> and of course <a href="http://www.kernel.org/">the kernel itself</a>. To those who don&#8217;t speak GNU, that&#8217;s pretty much everything essential to a working environment really. Here goes, <strong>emerge &#8211;update &#8211;deep &#8211;newuse world</strong>.</p>
<p><strong>7:45pm, Friday the 10th</strong><br />It&#8217;s been almost 24 hours now. I&#8217;ve just gotten around to checking this system again and it&#8217;s still happily compiling my updates. To be honest I&#8217;m a little surprised &#8211; I don&#8217;t think I&#8217;ve ever known it last this long without flaking out on one of the ebuilds before! Fingers crossed it makes it all the way to the end&#8230;</p>
<p><strong>12pm, Friday the 10th</strong><br />Oh wow, some time in the past 2 hours, the updates completed. I&#8217;ve NEVER known Gentoo update such a large number of packages without any issues. Portage must have improved tonnes recently! I&#8217;ve now put together a list of commands to run next, thanks to the output messages Portage collected along the way, and I&#8217;ve learned about a (new?) <a href="http://www.gentoo.org/doc/en/prelink-howto.xml">prelinking</a> daemon that should increase overall performance. Unless something goes wrong when running these few commands and minor configuration steps, it seems this has been an even more boring blog post than I&#8217;d thought.</p>
<p><strong>4am, Saturday 11th</strong><br />I should have known it was too good to be true.  Upon rebooting I discovered I had no keyboard or mouse input to KDM, my graphical login. I had to boot to a commandline, i.e. runlevel 3, to prevent KDM from kicking in. From here I recompiled X11 and the input driver for my Synaptics as well as evdev. Thankfully this did the trick and I could boot into KDE again.</p>
<p>Next up, it turns out KMail 2, brought in by the new KDE 4.7, has a pretty major bug in migrating e-mail accounts from previous versions. After a lot of messing about I eventually wiped the POP3 entries from Akonadi and created all my e-mail accounts again. KMail remembered my identities and they seem to have simplified the account set-up quite massively so this didn&#8217;t take too long, but it does look like I&#8217;ve lost all my previously saved e-mails for good which is a huge annoyance. I have 8 e-mail accounts set up on here and had a fairly large number of e-mails containing things like obscure passwords and cost approvals from clients.</p>
<p>On the plus side, KDE is running extremely fast, and the Opera web browser seems to be much smoother during page renders too. Probably all down to a combination of the aforementioned prelinking daemon, the new XOrg, and better ATI drivers. I&#8217;ve not yet played around with other updated software but overall things look and feel a little tidier. I&#8217;m even quite impressed with KMail, regardless of it screwing my accounts up.</p>
]]></content:encoded>
			<wfw:commentRss>http://richard.qweb.co.uk/software/that-time-i-updated-the-world-again/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Goal Organiser is shutting down!</title>
		<link>http://richard.qweb.co.uk/internet/goal-organiser-is-shutting-down/</link>
		<comments>http://richard.qweb.co.uk/internet/goal-organiser-is-shutting-down/#comments</comments>
		<pubDate>Sun, 05 Feb 2012 01:16:28 +0000</pubDate>
		<dc:creator>Richard Grant</dc:creator>
				<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://richard.qweb.co.uk/?p=161</guid>
		<description><![CDATA[My fiancée Kate designed a goal management concept long before I met her, and back in 2007 it became a personal project of ours to turn this concept into a real tool, Goal Organiser. I was a programmer with a &#8230; <a href="http://richard.qweb.co.uk/internet/goal-organiser-is-shutting-down/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[
<p>My fiancée Kate designed a goal management concept long before I met her, and back in 2007 it became a personal project of ours to turn this concept into a real tool, <a href="http://goalorganiser.com">Goal Organiser</a>. I was a programmer with a lot of free time at my disposal and Kate had been sitting on her idea for years. Back then when we first fell in love, we really were like two jigsaw pieces and this project became sort of a symbol of this. She gained the tool she&#8217;d been waiting so long to develop, and QWeb gained another project to showcase.</p>
<p>Unfortunately, 5 years later I no longer have enough free time to maintain or further develop a non-profit project and with just under 1500 members, current statistics suggest that there&#8217;s a mere handful of people who still use Goal Organiser. Kate herself has moved on to better algorithms and I don&#8217;t have the time to turn these algorithms into a new website.</p>
<p>Perhaps some day we&#8217;ll put our heads together again and a new tool will emerge, but for now it&#8217;s time to call it a day. As a business, it doesn&#8217;t make financial sense to keep this project running and these days there are better tools out there to use. Check out <a href="http://www.priacta.com/Articles/Comparison_of_GTD_Software.php">the fantastic GTD software comparison list at Priacta.com</a>.</p>
<p>Goal Organiser will shut down this coming June. If you&#8217;re interested in taking the project over, please <a href="http://qweb.co.uk">get in touch</a>. The code is old and doesn&#8217;t really follow any modern day standards or methodologies but the algorithms themselves are still good and I&#8217;m happy to help with server migration. For privacy reasons, user details will <strong>not</strong> be provided so existing accounts will not be migrated.</p>
<p>In all honesty, I&#8217;m a little sad that we&#8217;re letting go of this tool. It was our first project together and I&#8217;m sure it&#8217;s development caused a few of our first arguments too.</p>
<p>It&#8217;s time to move on.</p>
]]></content:encoded>
			<wfw:commentRss>http://richard.qweb.co.uk/internet/goal-organiser-is-shutting-down/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Carcraft. Expensive doesn&#8217;t mean reliable&#8230;</title>
		<link>http://richard.qweb.co.uk/customer-service/carcraft-expensive-doesnt-mean-reliable/</link>
		<comments>http://richard.qweb.co.uk/customer-service/carcraft-expensive-doesnt-mean-reliable/#comments</comments>
		<pubDate>Sat, 17 Dec 2011 13:55:55 +0000</pubDate>
		<dc:creator>Richard Grant</dc:creator>
				<category><![CDATA[Customer Service]]></category>

		<guid isPermaLink="false">http://richard.qweb.co.uk/?p=154</guid>
		<description><![CDATA[In October 2010 I bought a new car. I wanted something with 7 seats as we have 3 kids that are too young to be left at home on their own, so picking other people up was always a problem &#8230; <a href="http://richard.qweb.co.uk/customer-service/carcraft-expensive-doesnt-mean-reliable/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[
<p>In October 2010 I bought a new car. I wanted something with 7 seats as we have 3 kids that are too young to be left at home on their own, so picking other people up was always a problem with a regular 5 seat car. Unfortunately a decent vehicle of this size is expensive, so we decided to buy from Carcraft as they pretty much guarantee to get you finance and without much of a credit rating I was unlikely to get one anywhere else.</p>
<p>We knew from the very beginning that buying from Carcraft would be more expensive. It meant paying for a car on finance that was already over priced. However we were also led to believe that all of their cars were given a 100+ point check before they left the showroom, and were covered on a 2 year mechanical warranty, so you&#8217;d think the additional expense ensured you left with a reliable vehicle, right?</p>
<p>I should have probably twigged that something wasn&#8217;t quite right when I took my chosen car, a Ford S-Max, on a test drive that consisted only of right turns. I thought nothing of it though and decided to buy this one. A whopping £17,000 finance agreement later, plus the trade in value of my old car, and I was driving a new toy home.</p>
<p>On the way home we stopped off at Pizza Hut. It had gotten late after the hours of paperwork and the kids needed feeding. When we returned to the car there was a warning on the dashboard that the alarm had been triggered. My immediate assumption was that somebody had tried to break in. The car was obviously undamaged though so again, we thought nothing of it.</p>
<p>On the way home my left indicator kept turning itself on. Not fun on a motorway! Now things were starting to seem a little odd. Closer to home it started to rain and at this point I realised the wipers didn&#8217;t work. How could a 100+ point check have missed such a basic road worthiness issue?! It&#8217;s not even legal to sell a car with faulty wipers!</p>
<p>This is where the saga began. After many many calls and visits to Carcraft, many rude customer service reps including one guy who put us on hold for 20 minutes before eventually hanging up on us, many electrical faults including the alarm randomly setting itself off, and a total of over a month in a courtesy car, (for the record, we were paying for a 7 seat 2 litre turbo Ford S-Max, and they were providing us with a 1.2 litre 5 seat Vauxhall Corsa which hardly moved once we&#8217;d all got in), they finally replaced almost all of the electrics.</p>
<p>Unfortunately, in replacing the electrics, they had managed to put a massive scratch down the side of the car, and pop one of the driver airbag covers out. It went back in again for a full body spray and a replacement airbag. They also ended up replacing the lid of the storage box between the front seats and all of the fan units in the dashboard before we&#8217;d finished dealing with them.</p>
<p>To be fair, we did receive a considerable sum of compensation as a result of all of this, plus a free valet and the full body respray.</p>
<p>Everything seemed fine with the car after this, until August when we had to replace all of the tyres as they were barely legal any more. These tyres weren&#8217;t great when we bought the car and really I should have asked for replacements before signing the finance agreement. I wasn&#8217;t really bothered though, you have to expect to replace things like tyres every so often.</p>
<p>My  MOT and service date came in October and I was told the exhaust needed to be replaced. This should have been covered by the warranty but as I couldn&#8217;t pick up my car again before it was replaced, I needed to just get it sorted so this came out of my own pocket. Again, you wouldn&#8217;t expect the exhaust to need replacing on a car just a year after leaving the showroom.</p>
<p>Now, in December, my clutch has suddenly died. Hearing quotes in the range of £300 &#8211; £800, I&#8217;m not prepared to pay for this one out of my own pocket when we have a 2 year mechanical warranty on a car that should have never been sold with so many faults. Back on the phone to Carcraft, they first claimed to not provide a 2 year warranty, and then admitted that cars bought over a year ago do come with this but that they don&#8217;t allow you to take the car to a garage of your choice, which completely contradicts what we were told a year ago. Given the last time Carcraft did the work themselves we had to take it back in to repair the damage caused, this doesn&#8217;t sound like a good option. We&#8217;ve also now been told that actually Carcraft warranties are provided by another company, and the company that provided ours no longer exists so whether we&#8217;ll even have a warranty any more is questionable.</p>
<p>I&#8217;m crossing all my fingers and toes that this time we&#8217;ll be given good service and that my car will be sorted for Christmas, but I&#8217;m not getting my hopes up&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://richard.qweb.co.uk/customer-service/carcraft-expensive-doesnt-mean-reliable/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OOP for procedural coders</title>
		<link>http://richard.qweb.co.uk/development/oop-for-procedural-coders/</link>
		<comments>http://richard.qweb.co.uk/development/oop-for-procedural-coders/#comments</comments>
		<pubDate>Sat, 19 Nov 2011 23:29:48 +0000</pubDate>
		<dc:creator>Richard Grant</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://richard.qweb.co.uk/?p=123</guid>
		<description><![CDATA[For all of you who landed on this post looking for a way to give your PHP function full variable scope, please bear with me and my long introductions, or just skip right to the answer. I&#8217;ve been programming for &#8230; <a href="http://richard.qweb.co.uk/development/oop-for-procedural-coders/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>For all of you who landed on this post looking for a way to give your PHP function full variable scope, please bear with me and my long introductions, or just <a href="#answer">skip right to the answer</a>.</p>

<p>I&#8217;ve been programming for over 15 years, and like most coders with that much experience, I started out in BASIC. QBasic to be precise. I&#8217;ve been most active in QBasic, Visual Basic, and Blitz Basic/Blitz3D/BlitzMax. In fact, most of my programming experience has been in languages that derived from BASIC. The problem with programmers like me is that we never really grow out of the methodologies and concepts that these languages promote, even though most of them are considered bad practice these days.</p>

<p>For the past 6 years or so, I&#8217;ve been programming almost exclusively in PHP, a language that has offered a complete framework for object oriented programming since version 5. Although I like the principles of MVC and can build and work with OOP projects, it&#8217;s not really for me. I do things my way, and that&#8217;s procedurally.</p>

<p>One thing that&#8217;s always bugged me about modern languages is that good old gosub routines have been deprecated. You can no longer call a block of code unless that code is in a function, and functions don&#8217;t have full variable scope. I.e. if you have to explicitly declare each and every variable that you want your function to have global access to. To me, this goes against the point of OOP, which is to promote coding techniques that reduce the need to rewrite the same code over and over again.</p>

<p>To get to the point, (eventually), I was working on a project of mine the other day that I&#8217;ve been writing procedurally, and I decided to rework the way the main framework routed the instructions. I needed a chunk of re-usable code that had full variable scope, and I wasn&#8217;t prepared to go back through the entire framework changing the way variables were constructed so that I could easily pass a group of them to this function. The time had come to figure out how to cheat this system, and that&#8217;s exactly what I did!</p>

<p>Procedural coders take note &#8211; <a name="answer"></a>THIS is how we create a function, in PHP, that has full variable scope!</p>

<p>1. Right at the very start of your code, use the get_defined_vars() function to grab an array of everything that&#8217;s already been defined. I&#8217;ll explain why later. If your application uses sessions, you&#8217;ll want to session_start() first to ensure that this function returns your session variables too.</p>

<code><pre>
	session_start();
	$presetGlobals = get_defined_vars();
</pre></code>

<p>2. Next, whenever you make a call to your function, again grab an array of every variable currently defined and pass it along with the call.</p>

<code><pre>
	my_function(get_defined_vars());
</pre></code>

<p>3. Now, it&#8217;s important to note that although functions in PHP don&#8217;t have access to variables defined outside of them, certain variable names are reserved such as $_SERVER and $_SESSION. Your function can already access these so we need to strip them from the array that&#8217;s just been passed to it. This is why we created $presetGlobals above, before running any other code. So here we loop through everything in that list and remove it from the array we&#8217;ve just grabbed, leaving us with only the variables we don&#8217;t already have global access to. Remember you need to make the global call to this original array otherwise it&#8217;s outside of the scope</p>

<code><pre>
	function my_function($theGlobals) {
		global $presetGlobals;
		foreach($presetGlobals AS $key =&gt; $val) {
			unset($theGlobals[$key]);
		}
	}
</pre></code>

<p>4. Oh, and we also want to remove $presetGlobals from this array too, otherwise we have a somewhat recursive nest.</p>

<code><pre>
	function my_function($theGlobals) {
		global $presetGlobals;

		<strong>unset($theGlobals['presetGlobals']);</strong>
		foreach($presetGlobals AS $key =&gt; $val) {
			unset($theGlobals[$key]);
		}
	}
</pre></code>

<p>5. Finally, $theGlobals contains an array of all the variables we need access to. Here we have two choices &#8211; either define each variable again, with the same content, or make a global call to each variable. The difference is that if we define them all again, (code example 1 below), any changes made to them will be lost once the function exits. However if we make a global call to them, (code example 2 below), it&#8217;s the original variable that we&#8217;re working with so changes are kept.</p>

<p>Example 1:</p>

<code><pre>
	function my_function($theGlobals) {
		global $presetGlobals;

		unset($theGlobals['presetGlobals']);
		foreach($presetGlobals AS $key =&gt; $val) {
			unset($theGlobals[$key]);
		}

		<strong>foreach($theGlobals AS $key =&gt; $val) {
			$$key = $val;
		}</strong>
	}
</pre></code>

<p>Example 2:</p>
<code><pre>
	function my_function($theGlobals) {
		global $presetGlobals;

		unset($theGlobals['presetGlobals']);
		foreach($presetGlobals AS $key =&gt; $val) {
			unset($theGlobals[$key]);
		}

		<strong>foreach($theGlobals AS $key =&gt; $val) {
			global $$key;
		}</strong>
	}
</pre></code>

<p>I should note that this is considered to be very bad programming practice and if you&#8217;re following the rules, a better approach would be to declare all your globally used variables within an array so that you just need to call for that one array in your functions, but I&#8217;m sure I&#8217;m not the only programmer out there that&#8217;s been looking for the above, so I really wanted to share this little hack.</p>]]></content:encoded>
			<wfw:commentRss>http://richard.qweb.co.uk/development/oop-for-procedural-coders/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Do something different today. Save a life!</title>
		<link>http://richard.qweb.co.uk/life/do-something-different-today-save-a-life/</link>
		<comments>http://richard.qweb.co.uk/life/do-something-different-today-save-a-life/#comments</comments>
		<pubDate>Wed, 26 Oct 2011 19:51:02 +0000</pubDate>
		<dc:creator>Richard Grant</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://richard.qweb.co.uk/?p=108</guid>
		<description><![CDATA[It&#8217;s been far too long since I last posted to this blog and I&#8217;ve got plenty to write about now, but of everything I could possibly be writing about, this post takes priority. A friend and client of mine, Pete &#8230; <a href="http://richard.qweb.co.uk/life/do-something-different-today-save-a-life/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[
<p>It&#8217;s been far too long since I last posted to this blog and I&#8217;ve got plenty to write about now, but of everything I could possibly be writing about, this post takes priority.</p>
<p>A friend and client of mine, Pete Cohen, needs to raise money to save the life of his partner, Hannah Bradley. Pete has spent his life helping others so if anybody deserves a donation, it&#8217;s him and Hannah.</p>
<p>Hannah, who is only 27, has a form of brain cancer called Anaplastic Astrocytom and needs to raise £150,000 to pay for a treatment that has the potential to save her life. I don&#8217;t want to go into her condition or the back story too deeply as that&#8217;s the purpose of their website, <a href="http://www.teamhannah.com">teamhannah.com</a>, but please watch their videos and read their posts. If you can&#8217;t afford to donate, simply spreading the word would be a fantastic help.</p>
<p>Thank you.</p>
<p><a href="http://www.teamhannah.com">teamhannah.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://richard.qweb.co.uk/life/do-something-different-today-save-a-life/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Design vs development</title>
		<link>http://richard.qweb.co.uk/development/design-vs-development/</link>
		<comments>http://richard.qweb.co.uk/development/design-vs-development/#comments</comments>
		<pubDate>Fri, 22 Apr 2011 23:53:17 +0000</pubDate>
		<dc:creator>Richard Grant</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://richard.qweb.co.uk/?p=104</guid>
		<description><![CDATA[I&#8217;ve been building websites for over 7 years now, and writing software for 15. Even after all this time though, I still wouldn&#8217;t consider myself to be a great designer. Throughout my childhood many people told me I could draw, &#8230; <a href="http://richard.qweb.co.uk/development/design-vs-development/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[

<div id="attachment_105" class="wp-caption alignleft" style="width: 460px"><img class="size-full wp-image-105" title="Designers vs developers" src="http://richard.qweb.co.uk/wp-content/uploads/2011/04/dev.png" alt="Designers vs developers" width="450" height="300" /><p class="wp-caption-text">Designers vs developers</p></div>

<p>I&#8217;ve been building websites for over 7 years now, and writing software for 15. Even after all this time though, I still wouldn&#8217;t consider myself to be a great designer.</p>
<p>Throughout my childhood many people told me I could draw, and a fair number of people told me I could paint. To be honest, I never agreed but I guess if enough people think it, there must be a reason. For a while I also held an interest in computer aided design but I guess I got over that. I can use graphic design software quite competently, and I&#8217;ve owned a fantastic graphic tablet for about 5 years. But still, I&#8217;m no designer.</p>
<p>A few months ago my boss (for those who don&#8217;t already know, I&#8217;m not just trading as QWeb, I also work as a web developer for <a href="http://www.newmediaboutique.com">Newmediaboutique</a>, one of Leeds&#8217; highest ranking web design agencies on Google) stated that developers are technically minded, where designers are naturally creative. Finally after 15 years of developing, the fact that I&#8217;m not too good at making my developments look brilliant without the help of a designer made sense to me.</p>
<p>I got to wondering though, why exactly can&#8217;t a person be both technical and creative? These are essentially two entirely different concepts. Surely the human brain is capable of excelling in both creative thinking and technical knowledge?</p>
<p>It probably sounds quite arrogant of me, but I know that I&#8217;m a fantastic developer. I have both the experience and the knowledge I need to build any website that is proposed to me, and I can slice up any design into standards compliant, well formatted code. It must surely take a good brain to do this, so why doesn&#8217;t this same brain also know what looks good?</p>
<p>The only answer I can think of is that my technical way of thinking is pushing me to use design software such as <a href="http://www.photoshop.com">Photoshop</a> and <a href="http://www.gimp.org">GIMP</a> in the wrong way. I&#8217;m trying to create graphics that show a strong understanding of the tools available in the software itself, because that&#8217;s a technical approach, instead of creating graphics that use advanced techniques made easier by these tools.</p>
<p>With this in mind, I&#8217;m now on a mission to change the way I design. I&#8217;m trying to train myself to make better use of these softwares and to think more creatively, but of course I don&#8217;t want this to interfere with my existing ability to think technically. I want to prove, both to myself and to the design and development community, that one person can fill both roles to a professional standard. Only time will tell whether this is a realistic goal or not.</p>
]]></content:encoded>
			<wfw:commentRss>http://richard.qweb.co.uk/development/design-vs-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remembering to remember everything</title>
		<link>http://richard.qweb.co.uk/software/remembering-to-remember-everything/</link>
		<comments>http://richard.qweb.co.uk/software/remembering-to-remember-everything/#comments</comments>
		<pubDate>Sun, 17 Apr 2011 21:50:20 +0000</pubDate>
		<dc:creator>Richard Grant</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://richard.qweb.co.uk/?p=99</guid>
		<description><![CDATA[I&#8217;ve not been posting to this blog very often recently. Partly because I&#8217;ve been busy with other developments, but mainly because every time I&#8217;ve thought &#8220;Oh, I should blog about this&#8221;, it&#8217;s not been a convenient time to do so &#8230; <a href="http://richard.qweb.co.uk/software/remembering-to-remember-everything/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[

<div id="attachment_100" class="wp-caption alignleft" style="width: 460px"><img class="size-full wp-image-100" title="Evernote" src="http://richard.qweb.co.uk/wp-content/uploads/2011/04/evernote.jpg" alt="Evernote" width="450" height="300" /><p class="wp-caption-text">Evernote</p></div>

<p>I&#8217;ve not been posting to this blog very often recently. Partly because I&#8217;ve been busy with other developments, but mainly because every time I&#8217;ve thought &#8220;Oh, I should blog about this&#8221;, it&#8217;s not been a convenient time to do so and as memory isn&#8217;t something my mind seems to have a great amount of, I&#8217;ve promptly forgotten about it.</p>
<p>The other day I remembered about Evernote, a note keeping application I&#8217;ve blogged about <a href="http://richard.qweb.co.uk/software/remember-everything/">in a previous post</a>. The last time I blogged about this software I hadn&#8217;t really had much chance to use it, but I knew it was a great idea and I knew it would prove to be one of the most useful applications on my smart phone.</p>
<p>Now when an idea comes to me, it doesn&#8217;t matter where I am or what I&#8217;m doing, I can whip out my phone and make a quick note. Then when I have time to write a new post, like now, I just have to open the <a href="http://evernote.com">web based version</a> up and see what ideas I&#8217;ve written down.</p>
<p>Not only does this mean a great win for Evernote, but also more frequent posting to this blog, and with any luck at least some of these posts are interesting or in some way useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://richard.qweb.co.uk/software/remembering-to-remember-everything/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Boycotting postal advertising</title>
		<link>http://richard.qweb.co.uk/environment/boycotting-postal-advertising/</link>
		<comments>http://richard.qweb.co.uk/environment/boycotting-postal-advertising/#comments</comments>
		<pubDate>Sat, 26 Mar 2011 13:24:57 +0000</pubDate>
		<dc:creator>Richard Grant</dc:creator>
				<category><![CDATA[Environment]]></category>

		<guid isPermaLink="false">http://richard.qweb.co.uk/?p=91</guid>
		<description><![CDATA[We all get junk mail, spam, advertising or whatever you prefer to call it. It&#8217;s bad enough that we have to configure complex e-mail filters, screen our incoming phone calls, and even set up temporary e-mail addresses when signing up &#8230; <a href="http://richard.qweb.co.uk/environment/boycotting-postal-advertising/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[

<div id="attachment_92" class="wp-caption alignleft" style="width: 460px"><img class="size-full wp-image-92" title="Junk mail" src="http://richard.qweb.co.uk/wp-content/uploads/2011/03/spam.jpg" alt="Junk mail" width="450" height="300" /><p class="wp-caption-text">Junk mail</p></div>

<p>We all get junk mail, spam, advertising or whatever you prefer to call it. It&#8217;s bad enough that we have to configure complex e-mail filters, screen our incoming phone calls, and even set up temporary e-mail addresses when signing up to new services, but this morning it hit me that the really big problem is actually postal advertising.</p>
<p>Almost every morning the postman brings our mail. Many years ago this would have been an exciting time, with people running to the door to see what had been brought. Today we hear the letter box rattle and wonder which local pizza chain has decided to line the bottom of our bins with the same menu we&#8217;ve seen a hundred times before, or which credit card company is once again trying to throw us into debt.</p>
<p>Fair enough, it only takes a few seconds of our time to check the pile for important letters and throw the rest out, but that&#8217;s not the point. If we&#8217;re all receiving something in the mail every morning that&#8217;s just going to end up in the trash, then that&#8217;s a hell of a lot of trees being cut down for no good reason. A hell of a lot of wasted ink manufactured in polluting factories, and a hell of a lot of space taken up in the worlds landfills and recycling plants.</p>
<p>I&#8217;m not the most carbon conscious person in the world. I drive a big 45mpg diesel car for a start. But equally I don&#8217;t see the need to cause such a huge waste of resources and so much pollution when so many alternative forms of advertising are available to us.</p>
<p>Surprisingly though, all of this junk is paying off for the companies that send it out to us. See, for them to decide that postal advertising is feasible, the profit resulting from the people who read it has to outweigh the expense of producing and sending such a ridiculous amount of mail.</p>
<p>The way I see it, if nobody paid any attention to postal advertising, i.e. we refused to keep any menu that fell through our door, refused to sign up to any service, credit card, or catalog that we haven&#8217;t gone out and looked for ourselves, then these companies would see no sales increase resulting from their advertising campaigns and so would find alternative means such as the the newspapers, radio, television, web banners and, yes, e-mail. We&#8217;d still receive the same adverts in some way so we won&#8217;t even be missing out on anything that genuinely interests us, but we&#8217;d be drastically cutting down on our environmental impact. We&#8217;d also be taking ourselves back to a time when receiving mail was exciting, and that poor postman wouldn&#8217;t have to carry quite so much around any more.</p>
<p>If this sounds good to you then please start right now. Don&#8217;t open any mail you know to be junk, don&#8217;t fall for the offers, and don&#8217;t keep the menus.</p>
]]></content:encoded>
			<wfw:commentRss>http://richard.qweb.co.uk/environment/boycotting-postal-advertising/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Procrastination that pays</title>
		<link>http://richard.qweb.co.uk/internet/procrastination-that-pays/</link>
		<comments>http://richard.qweb.co.uk/internet/procrastination-that-pays/#comments</comments>
		<pubDate>Sun, 20 Mar 2011 16:36:26 +0000</pubDate>
		<dc:creator>Richard Grant</dc:creator>
				<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://richard.qweb.co.uk/?p=85</guid>
		<description><![CDATA[We all have those unproductive moments wasting time on the Internet or playing games, when we know that really we should be doing something more useful with our time. There is a compromise though, and it&#8217;s called Moola. I found &#8230; <a href="http://richard.qweb.co.uk/internet/procrastination-that-pays/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[

<div id="attachment_86" class="wp-caption alignleft" style="width: 460px"><img class="size-full wp-image-86" title="moola.com" src="http://richard.qweb.co.uk/wp-content/uploads/2011/03/moola.jpg" alt="moola.com" width="450" height="300" /><p class="wp-caption-text">moola.com</p></div>

<p>We all have those unproductive moments wasting time on the Internet or playing games, when we know that really we should be doing something more useful with our time. There is a compromise though, and it&#8217;s called <a title="Moola" href="http://www.moola.com/moopubs/b2b/exc/join.jsp?sid=4d544d744e7a51314e6a4d3d-2">Moola</a>.</p>
<p>I found this website a couple of years ago now, and to be honest I&#8217;d pretty much forgotten about it until recently, but I still think it&#8217;s a great concept. Moola is essentially a gambling website, except that it doesn&#8217;t cost anything at all. You win real cash for playing games and putting up with a few adverts, without spending a penny!</p>
<p>The idea is simple. When you register you&#8217;re given a penny to play with. Pick one of the three incredibly simple games and you&#8217;re matched up with another player to compete against. If you win, you claim the other player&#8217;s penny. If you lose, Moola gives you another penny to play with. As your funds increase you get to choose how much to play with and the system will always match you against somebody playing that same amount. Even better, you can set a certain percentage of all winnings to go into a savings account so you don&#8217;t even have to risk it all. You&#8217;ll get a free penny when your funds drop to zero, even if you have money in savings.</p>
<p>So how does Moola profit? Well, even if you reach $100, all that it has cost Moola is the penny you started with, and the sponsors advertising on the site paid for that. Nobody loses out and you get to earn a little cash for procrastinating. In their own words:</p>
<p>&#8220;Sponsors give small amounts of money to millions of people, and then Moola allows those people to compete against one another so that individuals may win more or less, depending on how well they compete.&#8221;</p>
<p>There&#8217;s also a referral scheme where you can earn bonus funds every time a player that you have invited wins something. This means that if you sign up to Moola through <a href="http://www.moola.com/moopubs/b2b/exc/join.jsp?sid=4d544d744e7a51314e6a4d3d-2">my invitation link</a>, and you play often enough to win something, I&#8217;ll get a little extra for it. That said, I wouldn&#8217;t promote any website that I don&#8217;t genuinely think is a great idea, and to be honest I don&#8217;t expect to earn much, if anything, from referrals through this blog.</p>
<p>To be honest it&#8217;s not very likely that anybody will earn enough from Moola to make a difference to their lives, and unfortunately you can still only cash out if you live in the United States or Canada (where, for the record, I lived at the time that I registered), but hey, if you&#8217;re going to waste a little time playing games, you may as well give this place a shot and earn a little something.</p>
]]></content:encoded>
			<wfw:commentRss>http://richard.qweb.co.uk/internet/procrastination-that-pays/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Orange. The future isn&#8217;t so bright</title>
		<link>http://richard.qweb.co.uk/internet/orange-the-future-isnt-so-bright/</link>
		<comments>http://richard.qweb.co.uk/internet/orange-the-future-isnt-so-bright/#comments</comments>
		<pubDate>Sun, 27 Feb 2011 14:56:36 +0000</pubDate>
		<dc:creator>Richard Grant</dc:creator>
				<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://richard.qweb.co.uk/?p=78</guid>
		<description><![CDATA[Thanks to the Orange broadband service, I&#8217;ve been unable to blog for a week now. I&#8217;ve also been unable to work from home which is what I would normally spend most of my time doing. The problem started last Monday &#8230; <a href="http://richard.qweb.co.uk/internet/orange-the-future-isnt-so-bright/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[

<div id="attachment_80" class="wp-caption alignleft" style="width: 460px"><img class="size-full wp-image-80" title="Orange" src="http://richard.qweb.co.uk/wp-content/uploads/2011/02/orange.jpg" alt="Orange" width="450" height="300" /><p class="wp-caption-text">Orange</p></div>

<p>Thanks to the Orange broadband service, I&#8217;ve been unable to blog for a week now. I&#8217;ve also been unable to work from home which is what I would normally spend most of my time doing.</p>
<p>The problem started last Monday when our connection began to drop out for about 10 minutes at a time with only a few minutes of connectivity between drops. This went on until Wednesday when we eventually gave up and called the support line. It was determined that the exchange was sending out data faster than our equipment could handle so the phone operator opened a ticket with their technicians to get this resolved. That was the last we had of any connection at all until Friday and to be honest I still don&#8217;t believe this was ever a problem as a network always operates at the speed of the slowest line or device.</p>
<p>Although back online, our router reported a line speed of 1MBps. We&#8217;re paying for a 20MBps ADSL2+ line which had previously been operating at about that speed, so this was far from good enough.</p>
<p>This connection held until Saturday when the router reported 2MBps but once again we were offline. We phoned back and were told the engineers are &#8216;tuning the line&#8217;. We were also promised compensation once these issues are resolved and we are back up with a strong connection. For this I give them credit as I&#8217;m sure most ISP&#8217;s would simply refer to some legal jargon in their terms and agreements that clears them from having to compensate.</p>
<p>It&#8217;s now Sunday and we&#8217;re back online, but once again at 1MBps. Half of me thinks it&#8217;s time for another phone call, but the other half thinks I can&#8217;t expect much change on a Sunday.</p>
<p>Unfortunately this isn&#8217;t the only time we&#8217;ve had issues;</p>
<p>A while ago I wanted a static IP address so that I didn&#8217;t have to keep changing the Firewall rules on one of the remote servers I use every time I want to log in to that servers administration interface. Orange told me they don&#8217;t provide static IP addresses.</p>
<p>Some time after that I needed to set my e-mail client up to use another SMTP server. QWeb&#8217;s SMTP server runs on a non-standard port but this new server used the standard 25. It turned out that Orange redirects ALL traffic on port 25 to their own SMTP servers! Not only is this an annoyance, it makes no sense at all. We phoned the support line which resulted in both myself and my fiancée Kate telling the operator, numerous times, that he clearly didn&#8217;t have a clue what an SMTP server was and that we needed to speak to a technician. Eventually the guy told us he would transfer the call to his manager and put us on hold. Twenty minutes later we were still on hold so hung up.</p>
<p>It seems Orange just can&#8217;t provide a good broadband service. Their support line operators are mostly nice enough people, with a good understanding of English, but not one of them comes from a technical background and you&#8217;re simply not allowed to speak to somebody who does. I&#8217;m now looking out for a better ADSL2+ provider and don&#8217;t recommend this service to anyone, even if the discount as an Orange mobile customer does make this the cheapest provider I&#8217;ve found so far.</p>
<p><strong>*Update, 5th March 2011*</strong> It&#8217;s been another week now since I was last online, which was the Sunday I posted the above. Today is the first time I&#8217;ve had any connection at all, and it&#8217;s back to 1MBps.</p>
<p>Throughout the week there have been numerous phone calls made to the Orange support line, resulting in numerous tickets being opened by the support team to have an engineer look at the line. The engineers kept closing these tickets and stating that nothing is wrong with the line, it must be internal wiring.</p>
<p>We&#8217;ve now tried an alternative ADSL2+ router, an alternative line splitter, an alternative RJ11 cable between the splitter and the router, and even tried connecting through the test port of the phone socket, canceling out the possibility of a fault on our extension between the socket and the splitter. The Orange support team still don&#8217;t believe us that the fault isn&#8217;t internal, and at one point they told us there was nothing more they could do for us. When your ISP gives up trying to get you back online, you begin to seriously doubt their technical expertise.</p>
<p>Last night, after all of these phone calls and closed tickets that got us absolutely nowhere, the team leader at Orange fault management phoned. It turns out that every single ticket that has been opened so far has been flagged incorrectly, so the engineers have been performing the wrong types of line tests, hence no faults have been found and thus the tickets have all been closed. You&#8217;d think that if a fault has been reported and your tests don&#8217;t return any problems, you&#8217;d move on to different tests until you&#8217;ve either found the cause or exhausted all possibilities. Once again I&#8217;m seriously doubting that any Orange employee has the technical knowledge to maintain a network.</p>
<p>The team leader opened a new ticket, correctly flagged this time, and has promised to phone again on Sunday. She also told us that there would be no chance at all of us being online before Monday, yet here I am updating my blog on the Saturday.</p>
<p>I don&#8217;t think our connection is going to be either fast or reliable again. We&#8217;re stuck in a contract until October before we can switch providers, although as far as I&#8217;m concerned they have broken this contract by not providing us with the service we are still paying for, and by stating that there&#8217;s nothing more they can do for us, it could be said that we&#8217;re being bullied out of a contract we were previously happy with. I expect a hefty sum of compensation for all of this and I&#8217;d quite like to also be given the opportunity to leave the contract without penalty.</p>
<p>Who knows when I&#8217;ll next be able to update this post&#8230;</p>
<p><strong>*Update, 19th March 2011*</strong> It&#8217;s now been two weeks since my last update, and to be honest not much has changed.</p>
<p>We&#8217;re now running at 3.5MBps, and it&#8217;s taken most of these two weeks for the technicians to push us up to that. On Thursday the 17th, <strong>33 days after all of this started</strong> on the 14th February, the team leader at Orange phoned to admit the cause. It turns out that Orange built a new network in our area but neglected to move us onto it, meaning we were still on the old network that for some reason has since been capped to 4MBps.</p>
<p>I guess I&#8217;m meant to just believe that the entire support team, all of the technicians and even the team leader that have been dealing with this fault just forgot about their new network that must have taken months of planning and implementing? If I&#8217;d essentially switched off a network and then received a call from somebody in the same area complaining that their connection had dropped, I doubt very much it would take me 33 days to figure out.</p>
<p>With any luck we&#8217;ll be back to full speed within the next few days. I wonder how they&#8217;re planning to compensate for over 33 days of problems and the severe incompetence of so many members of staff. As a web developer my connection is extremely important to me and at the end of the day, if my business was primarily client based I could have lost thousands of pounds by now. But then we&#8217;re not on a business package which is probably going to be their escape clause. I bet they send a £10 rebate&#8230;</p>
<p><strong>*Update, 14th April 2011*</strong> Yesterday we found out how much compensation Orange decided to give us for what turned out to be a 42 day period of problems, (It took them 9 days to push us up to 14MBps after that phone call on the 33rd day).</p>
<p>£17. Almost laughable really.</p>
]]></content:encoded>
			<wfw:commentRss>http://richard.qweb.co.uk/internet/orange-the-future-isnt-so-bright/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

