<?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>Adrian&#039;s The Blog With No Name</title>
	<atom:link href="http://adrianoconnor.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://adrianoconnor.net</link>
	<description></description>
	<lastBuildDate>Sat, 28 Apr 2012 08:54:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Redis</title>
		<link>http://adrianoconnor.net/2012/04/redis/</link>
		<comments>http://adrianoconnor.net/2012/04/redis/#comments</comments>
		<pubDate>Sat, 28 Apr 2012 08:54:21 +0000</pubDate>
		<dc:creator>adrian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://adrianoconnor.net/?p=358</guid>
		<description><![CDATA[When the time comes to optimise performance of your application (and once you&#8217;ve fixed the obvious bottlenecks in your app/database), key-value stores are a great place to start. If you&#8217;re a developer, software architect or just generally involved in building &#8230; <a href="http://adrianoconnor.net/2012/04/redis/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When the time comes to optimise performance of your application (and once you&#8217;ve fixed the obvious bottlenecks in your app/database), key-value stores are a great place to start. If you&#8217;re a developer, software architect or just generally involved in building software, I definitely recommend spending some time learning about and understanding how they work and what they can do for you.</p>
<p>One of the best key-value storage systems out there is Redis (<a href="http://redis.io">http://redis.io</a>), and with 2.6 they&#8217;ve added some Lua scripting magic. I only just learned about this, but <a href="http://news.ycombinator.com/item?id=3899394">from what some people are saying</a>, Lua support is very exciting indeed.</p>
<p>Lua is another tool that developers should spend at least an hour or two playing with &#8212; it&#8217;s incredibly easy to embed Lua inside your project, yet it is incredibly powerful as a language. Lots (seriously lots) of games use Lua to script the &#8216;interactive&#8217; part of the game (with the engine written in C++).</p>
]]></content:encoded>
			<wfw:commentRss>http://adrianoconnor.net/2012/04/redis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Arrrghhhh! Virgin Media!</title>
		<link>http://adrianoconnor.net/2012/04/arrrghhhh-virgin-media/</link>
		<comments>http://adrianoconnor.net/2012/04/arrrghhhh-virgin-media/#comments</comments>
		<pubDate>Tue, 17 Apr 2012 21:37:41 +0000</pubDate>
		<dc:creator>adrian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://adrianoconnor.net/?p=356</guid>
		<description><![CDATA[Jesus H. Christ. What is wrong with these companies?! This is my second complaining/whiny post in a row, I know, but it&#8217;s not without reason. I got lied to by a Virgin Media sales rep. It&#8217;s not a big deal, &#8230; <a href="http://adrianoconnor.net/2012/04/arrrghhhh-virgin-media/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Jesus H. Christ. What is wrong with these companies?! This is my second complaining/whiny post in a row, I know, but it&#8217;s not without reason.</p>
<p>I got lied to by a Virgin Media sales rep. It&#8217;s not a big deal, it seems to be their modus operandi and I expected it &#8212; the guy told me that I could get a free phone line with my broadband package, but that was a lie. The &#8216;free&#8217; phone line is £60 per year more expensive than no phone, according to the broadband page on their site that I just checked.</p>
<p>Anyway, I went to get in touch, using the customer contact form, so they could remove the phone line and lo! look what happens when I click submit:</p>
<blockquote><p>
The following error occurred:</p>
<p>Error:The page you are trying to access is not available. Please contact the administrator for more details.
</p></blockquote>
<p>I only mention it because it&#8217;s the exact same thing that happened last week when I tried to contact Barclays. What is it with these big companies? It makes no sense at all. This stuff is not hard.</p>
<p>The worst thing about the sleazy sales tactics at Virgin is that they actually have a great product. They don&#8217;t need to stoop so low, they just need to be honest and fair and the customers will come. They&#8217;ve been exactly the same ever since they were NTL, and I guess a leopard can&#8217;t change its spots.</p>
<p>Word of warning: if you&#8217;re speaking to a Virgin Media sales rep, don&#8217;t believe a word they say. They&#8217;re lying. But the product is really very good, that bit&#8217;s true.</p>
<p>/rant over. Seriously. Next post will be all fluffy and happy again.</p>
]]></content:encoded>
			<wfw:commentRss>http://adrianoconnor.net/2012/04/arrrghhhh-virgin-media/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Arrrghhhh! What are you doing Barlcays?</title>
		<link>http://adrianoconnor.net/2012/04/arrrghhhh-what-are-you-doing-barlcays/</link>
		<comments>http://adrianoconnor.net/2012/04/arrrghhhh-what-are-you-doing-barlcays/#comments</comments>
		<pubDate>Sun, 01 Apr 2012 20:48:20 +0000</pubDate>
		<dc:creator>adrian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://adrianoconnor.net/?p=350</guid>
		<description><![CDATA[I&#8217;m trying to send feedback to Barclays using their &#8216;contact&#8217; form but, as happens all too often with these big websites, the damned contact form just doesn&#8217;t work. It throws an error. How can it be that you can&#8217;t send &#8230; <a href="http://adrianoconnor.net/2012/04/arrrghhhh-what-are-you-doing-barlcays/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m trying to send feedback to Barclays using their &#8216;contact&#8217; form but, as happens all too often with these big websites, the damned contact form just doesn&#8217;t work. It throws an error. How can it be that you can&#8217;t send any feedback to these big companies? Do they not test these things? Do they not realise how frustrating it is to not even be able to post your message?</p>
<p>So, people from Barclays, if there are any of you that spend your days searching the internet for people who are not happy and trying to fix it (I seriously doubt there are any such people), here&#8217;s what I was trying to send you:</p>
<blockquote><p>
Dear sir or madam,</p>
<p>It is not in my nature to write and complain, and normally I wouldn&#8217;t, but this feels kind of important to me. I just used online banking for the first time since it was updated and I think the new site is awful. If you have a list of customers who do not like the update that you are using to track and shape feedback, please add me to it.</p>
<p>As the founder of a business that builds professional web applications, I do see what the re-signed site is trying to achieve, but the execution is so poor that the site is now far less usable (and far less enjoyable to use) than it ever was before. I would very much appreciate the option to at least switch back to the old layout. The new layout actually makes me feel funny.</p>
<p>I&#8217;m really sorry to give you negative feedback. Barclays online banking has been truly excellent for so long, and I guess I&#8217;ve come to hold you to those high standards.</p>
<p>Thank you for taking the time to read my feedback.</p>
<p>Kind regards,<br />
Adrian
</p></blockquote>
<p>Yeah, the new design for their previously excellent on-line banking system really is that bad. They&#8217;ve added a &#8216;dashboard&#8217;, so you can drag and drop Jquery-UI style panels for various tasks (transferring money and the such like). Seriously. It&#8217;s like they let a bunch of juniors run the project.</p>
<p>Hopefully they have updates in the pipeline. Or at least somebody who is willing to sit in meetings and tell everyone that they are making a good site pretty bad.</p>
<p>/moan over</p>
]]></content:encoded>
			<wfw:commentRss>http://adrianoconnor.net/2012/04/arrrghhhh-what-are-you-doing-barlcays/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>One Thing All Laptops Get Wrong</title>
		<link>http://adrianoconnor.net/2012/02/one-thing-all-laptops-get-wrong/</link>
		<comments>http://adrianoconnor.net/2012/02/one-thing-all-laptops-get-wrong/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 22:52:14 +0000</pubDate>
		<dc:creator>adrian</dc:creator>
				<category><![CDATA[Computing]]></category>

		<guid isPermaLink="false">http://adrianoconnor.net/?p=345</guid>
		<description><![CDATA[I don&#8217;t understand why my laptop can&#8217;t play videos without sounding like a jet plane. My iPad can do it. My phone can do it. It looks to me like it&#8217;s actually a problem we&#8217;ve already solved. What is so &#8230; <a href="http://adrianoconnor.net/2012/02/one-thing-all-laptops-get-wrong/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t understand why my laptop can&#8217;t play videos without sounding like a jet plane. My iPad can do it. My phone can do it. It looks to me like it&#8217;s actually a problem we&#8217;ve already solved. What is so wrong with x86 based laptops that playing video &#8211; even low-quality video from YouTube say &#8211; causes them to get really hot, really fast, which then causes the (annoyingly noisy) fans to spin at full speed? It seems to be the only thing they can&#8217;t really do.</p>
<p>Arm chips can decode full-hd video in real-time and stay at room temperature (which means no need for fans). It&#8217;d be great if laptop makers could figure out a way of including Arm chips along with the Intel/AMD chips so that video could be off-loaded. That&#8217;d be a really difficult task (from an engineering point of view), but I bet there&#8217;d be a way (maybe just regular old DMA or something &#8212; the Arm chip could work as a plug-in card though PCI-Express). I wonder why Apple don&#8217;t do something like this? It&#8217;d be a real selling point, and they have more expertise with Arm-based computers than just about anybody.</p>
<p>Maybe the Arm thing wouldn&#8217;t work, but either way, a few seconds ago I started a YouTube video playing and already the fans are making a lot of noise. Time to get the iPad&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://adrianoconnor.net/2012/02/one-thing-all-laptops-get-wrong/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mojang Are Building A Game This Weekend And You Can Watch As They Do It</title>
		<link>http://adrianoconnor.net/2012/02/mojang-are-building-a-game-this-weekend-and-you-can-watch-as-they-do-it/</link>
		<comments>http://adrianoconnor.net/2012/02/mojang-are-building-a-game-this-weekend-and-you-can-watch-as-they-do-it/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 21:23:12 +0000</pubDate>
		<dc:creator>adrian</dc:creator>
				<category><![CDATA[Games]]></category>

		<guid isPermaLink="false">http://adrianoconnor.net/?p=343</guid>
		<description><![CDATA[Right now, over at www.humblebundle.com, you can watch a live-stream video of the people at Mojang making a game in 60 hours. I&#8217;m not sure if they plan on sleeping or not :) They&#8217;ve got a great atmosphere in the &#8230; <a href="http://adrianoconnor.net/2012/02/mojang-are-building-a-game-this-weekend-and-you-can-watch-as-they-do-it/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Right now, over at <a href="http://www.humblebundle.com">www.humblebundle.com</a>, you can watch a live-stream video of the people at Mojang making a game in 60 hours. I&#8217;m not sure if they plan on sleeping or not :)</p>
<p>They&#8217;ve got a great atmosphere in the office, it looks like a good place to work. I don&#8217;t know how good the game will be once it&#8217;s done, but that&#8217;s not the most important thing this time &#8212; all of the money goes to some great charities.</p>
<p>I don&#8217;t play games all that much any more, but I really like what they do at humble bundle and I always buy the bundles.</p>
]]></content:encoded>
			<wfw:commentRss>http://adrianoconnor.net/2012/02/mojang-are-building-a-game-this-weekend-and-you-can-watch-as-they-do-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CQRS</title>
		<link>http://adrianoconnor.net/2012/02/cqrs/</link>
		<comments>http://adrianoconnor.net/2012/02/cqrs/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 21:13:58 +0000</pubDate>
		<dc:creator>adrian</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://adrianoconnor.net/?p=339</guid>
		<description><![CDATA[This week I came across my first real-world honest-to-goodness example of a CQRS application. It works really well, and it&#8217;s very interesting to see a proper example of CQRS. Even if you&#8217;re a full-time professional progammer, the chances are you &#8230; <a href="http://adrianoconnor.net/2012/02/cqrs/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This week I came across my first real-world honest-to-goodness example of a CQRS application. It works really well, and it&#8217;s very interesting to see a proper example of CQRS.</p>
<p>Even if you&#8217;re a full-time professional progammer, the chances are you won&#8217;t know what CQRS is. <a href="http://martinfowler.com/bliki/CQRS.html">Martin Fowler explains it well in a blog post</a>, though even after reading that you still might not be entirely sure what it <em>really</em> means.</p>
<p>So far as I understand, CQRS means updating your data-model using well-defined commands, which in turn cause events to fire, which in turn can be used to build a read-only view.</p>
<p>It sounds strange, and the name CQRS doesn&#8217;t help. I&#8217;ll be honest here and tell you that I can&#8217;t even remember what the acronym means, and even if I could it doesn&#8217;t really describe the mechanism that well [I just looked it up, and it means Command Query Responsibility Segregation].</p>
<p>Now, the idea of updating a model through commands actaully makes a lot of sense in many ways. It kind of ties in with the way you should do Domain-Driven-Development &#8212; you don&#8217;t want a bunch of properties and a Save() method, you really want operations that describe well-defined business goals.</p>
<p>As you execute commands against your model, events are fired. These events are used by the application to build a view of the data that meets a particular need. For example, let&#8217;s say you&#8217;re building an app for tracking used car sales. If you had a page that listed Prestige Used Cars, you might have a &#8216;NewCarListing&#8217; event handler that only pays attention to events that involve cars over $30,000, and stores that data in a way that is custom-built just for that screen. It seems redundant, and it is, but the goal is to keep your domain logic pure.</p>
<p>As you read the last paragraph, you might have wondered how you could possibly build new reports based on commands and events that have already happened? Well, you keep a history of the commands, so you can replay them. [edit: I got a correction from <a href="http://twitter.com/ToJans">@ToJans</a> on Twitter that you actually replay events, not commands]. This strikes me as the place where any CQRS app is going to start getting overly complicated (compared to an equivelant solution, using an ORM for example), but in the example I saw yesterday (a definitely non-trivial application) it absolutely worked.</p>
<p>There aren&#8217;t many CQRS drop-in frameworks that you can easily use in your own projects, but there is a <a href="https://github.com/gregoryyoung/m-r/">SimpleCQRS example project</a> over on Gregory Young&#8217;s git hub page, and it might be worth looking at the <a href="https://github.com/ncqrs/ncqrs">Ncqrs Framework</a>. Even if you don&#8217;t do CQRS in your own solution, just being aware of it is going to give you some good ideas that you definitely will be able to use.</p>
]]></content:encoded>
			<wfw:commentRss>http://adrianoconnor.net/2012/02/cqrs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alex Payne, On Business Madness</title>
		<link>http://adrianoconnor.net/2012/02/alex-payne-on-business-madness/</link>
		<comments>http://adrianoconnor.net/2012/02/alex-payne-on-business-madness/#comments</comments>
		<pubDate>Thu, 16 Feb 2012 20:19:48 +0000</pubDate>
		<dc:creator>adrian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://adrianoconnor.net/?p=337</guid>
		<description><![CDATA[I love this summary to Alex Payne&#8217;s post about analysing business methods: I am not a business person. I don’t know what makes a good business. It seems like it helps to have a good idea, great people, the willingness &#8230; <a href="http://adrianoconnor.net/2012/02/alex-payne-on-business-madness/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I love this summary to <a href="http://al3x.net/2012/02/12/on-business-madness.html">Alex Payne&#8217;s post about analysing business methods</a>:</p>
<blockquote><p>I am not a business person. I don’t know what makes a good business. It seems like it helps to have a good idea, great people, the willingness to work hard, and an absolute shit-ton of luck. Being certain about much beyond that seems, well, a bit crazy to me.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://adrianoconnor.net/2012/02/alex-payne-on-business-madness/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Another Interview With Tim Schafer</title>
		<link>http://adrianoconnor.net/2012/02/another-interview-with-tim-schafer/</link>
		<comments>http://adrianoconnor.net/2012/02/another-interview-with-tim-schafer/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 22:08:28 +0000</pubDate>
		<dc:creator>adrian</dc:creator>
				<category><![CDATA[Games]]></category>

		<guid isPermaLink="false">http://adrianoconnor.net/?p=334</guid>
		<description><![CDATA[Here&#8217;s another interview with Tim Schafer after the amazing Kickstarter project. The most interesting thing he talks about, for me at least, is the size of budgets for various games. At $1.1M, Tim says they&#8217;ve passed the budget for Monkey &#8230; <a href="http://adrianoconnor.net/2012/02/another-interview-with-tim-schafer/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.giantbomb.com/news/16-million-and-counting/3981/">Here&#8217;s another</a> interview with Tim Schafer after the amazing <a href="http://www.kickstarter.com/projects/66710809/double-fine-adventure">Kickstarter project</a>.</p>
<p>The most interesting thing he talks about, for me at least, is the size of budgets for various games. At $1.1M, Tim says they&#8217;ve passed the budget for Monkey Island 1 &#038; 2 combined, passed the budget for Day of the Tentacle and passed the budget for the far more recent Happy Action Theatre. He goes on to say that Full Throttle was $1.5M, Grim Fandango $3M and somewhere between those two values are the budgets for Stacking and Costume Quest.</p>
<p>Bigger 3D action games typically have much bigger budgets. I&#8217;ve heard $15M mentioned for the original Psychonaughts, and an estimate of about $20M if they are to make a Psychonaughts sequel.</p>
<p>It&#8217;s pretty interesting to get a glimpse behind the curtain. To be honest, I&#8217;m just as excited about the behind-the-schenes documentary that&#8217;s being produced as part of the Kickstarter game as I am about the game itself.</p>
]]></content:encoded>
			<wfw:commentRss>http://adrianoconnor.net/2012/02/another-interview-with-tim-schafer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I Installed WP To Twitter</title>
		<link>http://adrianoconnor.net/2012/02/i-installed-wp-to-twitter/</link>
		<comments>http://adrianoconnor.net/2012/02/i-installed-wp-to-twitter/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 20:18:30 +0000</pubDate>
		<dc:creator>adrian</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://adrianoconnor.net/?p=332</guid>
		<description><![CDATA[I just installed WP to Twitter on my WordPress blog. It looks by far the best plugin for connecting a blog to Twitter. It&#8217;s worth noting that I couldn&#8217;t find it in the plugin search screen, so I downloaded the &#8230; <a href="http://adrianoconnor.net/2012/02/i-installed-wp-to-twitter/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I just installed <a href="http://wordpress.org/extend/plugins/wp-to-twitter/">WP to Twitter</a> on my WordPress blog. It looks by far the best plugin for connecting a blog to Twitter. It&#8217;s worth noting that I couldn&#8217;t find it in the plugin search screen, so I downloaded the zip file from the website and installed it that way.</p>
<p>You can consider this post a quick test to check it&#8217;s working :)</p>
<p>If you want to follow me on Twitter, I am <a href="http://twitter.com/adrianoconnor">@adrianoconnor</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://adrianoconnor.net/2012/02/i-installed-wp-to-twitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What Can You Do With An EC2 Micro Instance?</title>
		<link>http://adrianoconnor.net/2012/02/what-can-you-do-with-an-ec2-micro-instance/</link>
		<comments>http://adrianoconnor.net/2012/02/what-can-you-do-with-an-ec2-micro-instance/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 19:52:03 +0000</pubDate>
		<dc:creator>adrian</dc:creator>
				<category><![CDATA[The Internet]]></category>

		<guid isPermaLink="false">http://adrianoconnor.net/?p=329</guid>
		<description><![CDATA[Warning: This post contains some factual inaccuracies. I&#8217;ll fix it asap. I&#8217;m just trying a few things out on my EC2 servers and measuring the results&#8230; The EC2 Micro instance is very reasonably priced. For about $40/month you effectively get &#8230; <a href="http://adrianoconnor.net/2012/02/what-can-you-do-with-an-ec2-micro-instance/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Warning: This post contains some factual inaccuracies. I&#8217;ll fix it asap. I&#8217;m just trying a few things out on my EC2 servers and measuring the results&#8230;</p>
<p>The EC2 Micro instance is very reasonably priced. For about $40/month you effectively get a virtual private server with 1 small CPU worth of processing power, 680MB RAM and the benefits of EC2 storage (easily expandable to terabytes, can be moved between servers etc). That price is very competitive with any shared host&#8217;s VPC pricing.</p>
<p>So what can you do with one small CPU and 680MB RAM? Well, here are my very unscientific findings: You can run one WordPress blog, and two mid-sized Rails apps, and a good number of HTML-and-static-content-only sites. When I added a third Rails site, I started getting out-of-memory errors and MySQL would crash.</p>
<p>I think a very crude rule of thumb is 80MB for a minimally used MySQL service, 80MB for a WordPress site and about 160MB for a Rails site, and about 200MB for the system to do its thing. If some of those values seem big, don&#8217;t forget that a typical web site will create 10 instances to serve up to 10 simultaneous requests (that might not seem like many, but 10 simultaneous requests is actually enough to service hundreds, maybe thousands of concurrent users &#8212; they don&#8217;t take long, and when needed they just queue up).</p>
]]></content:encoded>
			<wfw:commentRss>http://adrianoconnor.net/2012/02/what-can-you-do-with-an-ec2-micro-instance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Served from: adrianoconnor.net @ 2012-05-19 11:48:02 -->
