<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>WeedallAboutIT</title>
	<atom:link href="http://weedallaboutit.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://weedallaboutit.wordpress.com</link>
	<description>Musings on life, IT and programming by Chris Weedall</description>
	<lastBuildDate>Sun, 12 Feb 2012 22:48:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='weedallaboutit.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/d349196eaa0ddb0e71062f56b9af7961?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>WeedallAboutIT</title>
		<link>http://weedallaboutit.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://weedallaboutit.wordpress.com/osd.xml" title="WeedallAboutIT" />
	<atom:link rel='hub' href='http://weedallaboutit.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Changing a bulb</title>
		<link>http://weedallaboutit.wordpress.com/2012/02/12/changing-a-bulb/</link>
		<comments>http://weedallaboutit.wordpress.com/2012/02/12/changing-a-bulb/#comments</comments>
		<pubDate>Sun, 12 Feb 2012 10:26:55 +0000</pubDate>
		<dc:creator>weedallaboutit</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://weedallaboutit.wordpress.com/?p=159</guid>
		<description><![CDATA[How many programmers does it take to change a lightbulb? I drive a mk II Renault Megane, which is a great car and I really enjoy driving it. It&#8217;s not fast, but those 80 frugal diesel slurping horses get me around just fine. Renault in their infinite wisdom; no doubt as part of the drive [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=weedallaboutit.wordpress.com&amp;blog=7927107&amp;post=159&amp;subd=weedallaboutit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em>How many programmers does it take to change a lightbulb?</em></p>
<p>I drive a <a title="Renault Megane II information on Wikipedia (new window/tab)" href="http://en.wikipedia.org/wiki/Renault_M%C3%A9gane#M.C3.A9gane_II_.282002.E2.80.932008.29" target="_blank">mk II Renault Megane</a>, which is a great car and I really enjoy driving it. It&#8217;s not fast, but those 80 frugal diesel slurping horses get me around just fine. Renault in their infinite wisdom; no doubt as part of the drive to make cars a &#8220;black box&#8221; that only the magicians at the garage can understand, decided that changing a headlight bulb should not be a simple task. There should be no opening of the bonnet and simply replacing the bulb. There should instead be a test of willpower and perseverance.</p>
<p>This is roughly what I had to do:</p>
<ul>
<li>Turn the front wheels full lock so I could access the underside of the wheel arch</li>
<li>Remove a dirty, hard to remove plastic panel that felt like it might snap</li>
<li>Reach my arm from the elbow upwards through the resulting small hole with sharpish edges to feel the for the bulb, though from this position I couldn&#8217;t look through the light cover at the front of the car (to position my hand) and reach at the same time.</li>
<li>Except it&#8217;s not there &#8211; it is hidden behind a plastic cap (that I can&#8217;t see). Unscrew the cap (trying not to drop the cap inside the car)</li>
<li>A-ha &#8211; the bulb, I think. It has a plug attached to it (that I can&#8217;t see), and is held in place by a spring/clip (that I can&#8217;t see).</li>
<li>Go looking for a torch, that might help. Found Lauren&#8217;s wind-up penguin torch.</li>
<li>No that doesn&#8217;t really help much, though I can now kind of see some wires attached to a plug behind which is the bulb.</li>
<li>Catch 22 &#8211; the arm hole is big enough to either shine the torch through <em>or</em> put my arm in. Went for my arm as light on it&#8217;s own is unlikely to finish the job. Perhaps if it was a tractor beam torch&#8230;</li>
<li>Remove the plug (should I pull it by the wires or the plasticy bit &#8211; went for the plasticy bit)</li>
<li>Unclip the spring/clip (harder than it sounds, turns out it is only clipped at the top)</li>
<li>Remove the bulb (that I can&#8217;t see). Try not to drop the bulb</li>
<li>Oops &#8211; before doing that I should have tried to remember which side of the bulb mount the notch was facing (that I can&#8217;t see) as that helps in positioning the new bulb.</li>
</ul>
<p>Putting the new bulb in place is then a matter of doing this in reverse, which is trickier than it sounds as the bulb is small and you need to locate the correct rotation for the notch, attach the spring/clip, attach the plug, and screw the cap on, all without being able to see what you are doing.</p>
<p>It turns out I was doing things the hard way. There is a great guide on the <a title="View article on Megane Owners Club website (new window/tab)" href="http://www.meganeownersclub.co.uk/changingmeganebulb.php" target="_blank">Megane Owners Club website</a> that explains that jacking the car up and taking the wheel off first (I kid you not) is the best way to do this. <em>I&#8217;ll try that next time</em>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/weedallaboutit.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/weedallaboutit.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/weedallaboutit.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/weedallaboutit.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/weedallaboutit.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/weedallaboutit.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/weedallaboutit.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/weedallaboutit.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/weedallaboutit.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/weedallaboutit.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/weedallaboutit.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/weedallaboutit.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/weedallaboutit.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/weedallaboutit.wordpress.com/159/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=weedallaboutit.wordpress.com&amp;blog=7927107&amp;post=159&amp;subd=weedallaboutit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://weedallaboutit.wordpress.com/2012/02/12/changing-a-bulb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2c61c47ca6ac105cff4fad9883c501ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">weedallaboutit</media:title>
		</media:content>
	</item>
		<item>
		<title>Coding away from the keyboard</title>
		<link>http://weedallaboutit.wordpress.com/2012/01/15/coding-on-the-move/</link>
		<comments>http://weedallaboutit.wordpress.com/2012/01/15/coding-on-the-move/#comments</comments>
		<pubDate>Sun, 15 Jan 2012 17:26:25 +0000</pubDate>
		<dc:creator>weedallaboutit</dc:creator>
				<category><![CDATA[iOS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">https://weedallaboutit.wordpress.com/?p=147</guid>
		<description><![CDATA[Whilst working on a program to automatically generate mazes, I realised that most of my spare time for this kind of thing is either when watching TV, or when I&#8217;m away from home, such as on the park and ride bus to and from work. As I was looking to solve the problem using JavaScript/HTML [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=weedallaboutit.wordpress.com&amp;blog=7927107&amp;post=147&amp;subd=weedallaboutit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Whilst <a href="http://weedallaboutit.wordpress.com/2012/01/08/creating-mazes/">working on a program to automatically generate mazes</a>, I realised that most of my spare time for this kind of thing is either when watching TV, or when I&#8217;m away from home, such as on the park and ride bus to and from work. As I was looking to solve the problem using JavaScript/HTML there is no compiler involved, so some kind of editor app for my phone would be ideal. Sure enough there are several in the App Store, I settled on <a href="http://itunes.apple.com/gb/app/espresso-html/id487303069?mt=8&amp;ls=1">Expresso HTML</a>, well because it looks nice, has some useful shortcuts to characters such as &#8220;&lt;&quot;, has a handy inbuilt browser to preview my efforts &#8211; oh and it&#039;s free.<br />
<br /><a href="http://weedallaboutit.files.wordpress.com/2012/01/20120115-162704.jpg"><img src="http://weedallaboutit.files.wordpress.com/2012/01/20120115-162704.jpg?w=500" alt="20120115-162704.jpg" class="alignnone size-full" /></a><br />
Coding on the go is fairly tough going, the virtual keyboard obscures half of the screen and doesn&#8217;t allow tabs (double space indentation!), but it is easy to switch between preview and editor mode, and you can work on multiple files. Ideal for small projects and experimenting on the go &#8211; it was enough to get my maze generator finished and working, details of how I got on to follow in a future post. If it had an in-built FTP client it would be great for making for emergency corrections.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/weedallaboutit.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/weedallaboutit.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/weedallaboutit.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/weedallaboutit.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/weedallaboutit.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/weedallaboutit.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/weedallaboutit.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/weedallaboutit.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/weedallaboutit.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/weedallaboutit.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/weedallaboutit.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/weedallaboutit.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/weedallaboutit.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/weedallaboutit.wordpress.com/147/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=weedallaboutit.wordpress.com&amp;blog=7927107&amp;post=147&amp;subd=weedallaboutit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://weedallaboutit.wordpress.com/2012/01/15/coding-on-the-move/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2c61c47ca6ac105cff4fad9883c501ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">weedallaboutit</media:title>
		</media:content>

		<media:content url="http://weedallaboutit.files.wordpress.com/2012/01/20120115-162704.jpg" medium="image">
			<media:title type="html">20120115-162704.jpg</media:title>
		</media:content>
	</item>
		<item>
		<title>Creating mazes</title>
		<link>http://weedallaboutit.wordpress.com/2012/01/08/creating-mazes/</link>
		<comments>http://weedallaboutit.wordpress.com/2012/01/08/creating-mazes/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 10:27:11 +0000</pubDate>
		<dc:creator>weedallaboutit</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">https://weedallaboutit.wordpress.com/?p=138</guid>
		<description><![CDATA[My wife creates printable activity sheets for children, and the subject of how to create mazes came up. Hand drawing leaves too many chances for mistakes, so we settled on using a spreadsheet &#8211; draw a grid, use the table eraser to make paths: Now this works fine, but being a developer I can&#8217;t help [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=weedallaboutit.wordpress.com&amp;blog=7927107&amp;post=138&amp;subd=weedallaboutit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>My wife creates printable activity sheets for children, and the subject of how to create mazes came up. Hand drawing leaves too many chances for mistakes, so we settled on using a spreadsheet &#8211; draw a grid, use the table eraser to make paths:<br />
<br /><a href="http://weedallaboutit.files.wordpress.com/2012/01/20120108-104933.jpg"><img src="http://weedallaboutit.files.wordpress.com/2012/01/20120108-104933.jpg?w=500" alt="20120108-104933.jpg" class="alignnone size-full" /></a></p>
<p>Now this works fine, but being a developer I can&#8217;t help thinking there must be a way to programmatically generate these based on some parameters. Sure enough, <a href="http://www.google.com/search?q=maze%20generator">solutions already exist</a>, but this is a puzzle I&#8217;d like to solve on my own.</p>
<p>Over the next few posts I&#8217;m going to record my progress and my various attempts at creating a solution.<br />
<br /><a href="http://weedallaboutit.files.wordpress.com/2012/01/20120108-104920.jpg"><img src="http://weedallaboutit.files.wordpress.com/2012/01/20120108-104920.jpg?w=500" alt="20120108-104920.jpg" class="alignnone size-full" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/weedallaboutit.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/weedallaboutit.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/weedallaboutit.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/weedallaboutit.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/weedallaboutit.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/weedallaboutit.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/weedallaboutit.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/weedallaboutit.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/weedallaboutit.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/weedallaboutit.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/weedallaboutit.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/weedallaboutit.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/weedallaboutit.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/weedallaboutit.wordpress.com/138/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=weedallaboutit.wordpress.com&amp;blog=7927107&amp;post=138&amp;subd=weedallaboutit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://weedallaboutit.wordpress.com/2012/01/08/creating-mazes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2c61c47ca6ac105cff4fad9883c501ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">weedallaboutit</media:title>
		</media:content>

		<media:content url="http://weedallaboutit.files.wordpress.com/2012/01/20120108-104933.jpg" medium="image">
			<media:title type="html">20120108-104933.jpg</media:title>
		</media:content>

		<media:content url="http://weedallaboutit.files.wordpress.com/2012/01/20120108-104920.jpg" medium="image">
			<media:title type="html">20120108-104920.jpg</media:title>
		</media:content>
	</item>
		<item>
		<title>Infinite scrolling with an ASP.net webform, jQuery, and a little bit of code</title>
		<link>http://weedallaboutit.wordpress.com/2011/10/13/infinite-scrolling-with-an-asp-net-webform-jquery-and-a-little-bit-of-code/</link>
		<comments>http://weedallaboutit.wordpress.com/2011/10/13/infinite-scrolling-with-an-asp-net-webform-jquery-and-a-little-bit-of-code/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 22:47:52 +0000</pubDate>
		<dc:creator>weedallaboutit</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://weedallaboutit.wordpress.com/?p=87</guid>
		<description><![CDATA[Infinite scrolling presents your content as one long page &#8211; as you read (scroll) toward the bottom of the content some more loads in below automatically (and hopefully seamlessly). This allows your site visitor to focus on content without being distracted by enforced navigation concepts such as paging. It also means you only serve as [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=weedallaboutit.wordpress.com&amp;blog=7927107&amp;post=87&amp;subd=weedallaboutit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Infinite scrolling presents your content as one long page &#8211; as you read (scroll) toward the bottom of the content some more loads in below automatically (and hopefully seamlessly). This allows your site visitor to focus on content <em>without being distracted by enforced navigation concepts such as paging</em>. It also means you only serve as much content as the user wants to see, which is espacially useful in today&#8217;s increasingly mobile world. Twitter and Facebook are good examples of sites that do this well.</p>
<p>This post aims to give a hopefully simple example of how to achieve this using the following basic ingredients:</p>
<div style="background-color:#FAFAFA;">
<ul>
<li>ASP.net/C# 4.0 (I&#8217;m using <a href="http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-web-developer-express" title="Link to VWD Express download (external link)">Visual Web Developer Express</a></em>)</li>
<li>An ASP.net webform</li>
<li>A ScriptMethod</li>
<li><a href="http://jquery.com/" title="jQuery website (external link)">jQuery</a> and a bit of JavaScript</li>
<li>Some data &#8211; in this case a list of pretend blog posts</li>
</ul>
</div>
<h2>How it works</h2>
<p>The webform will display the first ten blog posts. When the user scrolls to the bottom of the page some JavaScript will call a method to return the next ten items. These are then appended to the bottom of the page. When the user scrolls to the bottom of that the process repeats until there are no blog posts left.</p>
<p>This is simplified for us by the use of a <em>ScriptMethod</em>, which is like a WebMethod in a web service, except you place it in a normal ASPX page as a static method decorated with the ScriptMethod attribute (code example below). ASP.net then kindly provides a nice JavaScript proxy for us to call this with one line of code. I&#8217;m then using jQuery to simplify the process of adding the resulting array of BlogPost items to the page.</p>
<h2>Blog Post Repository</h2>
<p>First things first, we need some data to display and so I have created a static class BlogPostRepository which provides access to a list of made up BlogPost items:</p>
<div style="background-color:#FAFAFA;">
<pre>

public class BlogPost
{
	public string Title { get; set; }
	public string Summary { get; set; }

	public BlogPost(string title, string summary)
	{
		Title = title;
		Summary = summary;
	}
}

public static class BlogPostRepository
{
	static List&lt;BlogPost&gt; posts;

	static BlogPostRepository()
	{
		posts = new List&lt;BlogPost&gt;();

		for (int i = 1; i &lt;= 200; i++)
		{
			posts.Add(new BlogPost(string.Format(&quot;Post number {0}&quot;, i),
				string.Format(&quot;Discover my thoughts on the number {0}.&quot;, i)));
		}
	}

	public static List&lt;BlogPost&gt; GetPosts(int startAt, int howMany)
	{
		return (from p in posts
			select p).Skip(startAt).Take(howMany).ToList();
	}
}
</pre>
</div>
<h2>The code behind page</h2>
<p>The code behind for the web page is straightforward &#8211; bind the first ten posts to a ListView control during <em>Page_Load</em>, and the ScriptMethod <em>GetPosts</em> will return additional blog posts to the page on request:</p>
<div style="background-color:#FAFAFA;">
<pre>
protected void Page_Load(object sender, EventArgs e)
{
	if (!IsPostBack)
	{
		lvItems.DataSource = BlogPostRepository.GetPosts(0, 10);
		lvItems.DataBind();
	}
}

[System.Web.Services.WebMethod()]
[System.Web.Script.Services.ScriptMethod()]
public static List&lt;BlogPost&gt; GetPosts(int startAt, int howMany)
{
	return BlogPostRepository.GetPosts(startAt, howMany);
}
</pre>
</div>
<p><strong>Note that <em>GetPosts</em> is decorated as a WebMethod and also a ScriptMethod. It also needs to be static.</strong></p>
<h2>The mark up</h2>
<p>The key to making Script Methods work is the <code>&lt;asp:ScriptManager&gt;</code> which needs to have <em>EnablePageMethods</em> set to &#8220;true&#8221;:</p>
<div style="background-color:#FAFAFA;">
<pre>
&lt;asp:ScriptManager runat="server" ID="ScriptManager1" EnablePageMethods="true"&gt;
&lt;/asp:ScriptManager&gt;
</pre>
</div>
<p>This ensures that the necessary JavaScript helper methods are available.</p>
<p>Next up is a <em>ListView</em> control which I really like because of the control it offers over the output in your page. This takes care of the initial output of blog posts:</p>
<div style="background-color:#FAFAFA;">
<pre>
&lt;asp:ListView runat="server" ID="lvItems"&gt;
	&lt;LayoutTemplate&gt;
		&lt;div id="container"&gt;
			&lt;asp:PlaceHolder ID="itemPlaceholder" runat="server"&gt;&lt;/asp:PlaceHolder&gt;
		&lt;/div&gt;
	&lt;/LayoutTemplate&gt;
	&lt;ItemTemplate&gt;
		&lt;div class="post"&gt;
			&lt;h2&gt;
				&lt;%# Eval("Title") %&gt;&lt;/h2&gt;
			&lt;p&gt;
				&lt;%# Eval("Summary") %&gt;&lt;/p&gt;
		&lt;/div&gt;
	&lt;/ItemTemplate&gt;
	&lt;AlternatingItemTemplate&gt;
		&lt;div class="post shade"&gt;
			&lt;h2&gt;
				&lt;h2&gt;
					&lt;%# Eval("Title") %&gt;&lt;/h2&gt;
				&lt;p&gt;
					&lt;%# Eval("Summary") %&gt;&lt;/p&gt;
		&lt;/div&gt;
	&lt;/AlternatingItemTemplate&gt;
&lt;/asp:ListView&gt;
</pre>
</div>
<p>You will notice that each blog post has a container DIV with a class of &#8220;post&#8221;, and that they are all held within a container DIV with an ID of &#8220;container&#8221;. Alternate posts have a shaded background thanks to some CSS and the additional &#8220;shade&#8221; class. The next thing is to add the JavaScript:</p>
<div style="background-color:#FAFAFA;">
<pre>
&lt;script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript"&gt;
$(document).ready(function () {
    $(window).scroll(function () {
        if ($(window).scrollTop() == $(document).height() - $(window).height()) {
            GetPosts();
        }
    });
});

function GetPosts() {
    var howMany = 10;
    var startAt = $(".post").size();
    PageMethods.GetPosts(startAt, howMany, OnGetPostsComplete);
}

function OnGetPostsComplete(posts) {
    for (var i = 0; i &lt; posts.length; i++) {
        var shade = (i % 2) != 0 ? " shade" : "";
        $("#container").last().append("&lt;div class=\"post" + shade + "\"&gt;&lt;h2&gt;" +
                            posts[i].Title + "&lt;/h2&gt;&lt;p&gt;" +
                            posts[i].Summary + "&lt;/p&gt;&lt;/div&gt;");
    }
}
&lt;/script&gt;
</pre>
</div>
<p>Lets look at the script above. First I use jQuery to attach a function to the scroll event of the window. This will fire whenever the user scrolls to the bottom of the page, and simply calls the <em>GetPosts</em> method.</p>
<p><strong>GetPosts</strong> uses jQuery to get a count of items in the page with the class &#8220;post&#8221;. This will equal the number of blog posts output so far. I can then call a JavaScript method provided for us by ASP.net because the GetPosts method in our code behind is decorated as a ScriptMethod. So <em>PageMethods.GetPosts</em> takes the same parameters as the C# code, plus in addition the name of the method to call when the asynchronous web call has completed &#8211; i.e. when we have the results of the call, in this case <em>OnGetPostsComplete</em></p>
<p><strong>OnGetPostsComplete</strong> takes the array of BlogPost items returned by the ScriptMethod and appends them to the end of the items already in the container DIV which holds all of the blog post DIVs. For effect I&#8217;m adding the &#8220;shade&#8221; class to alternate post items which I have defined in CSS to give them a different background colour.</p>
<h2>What next</h2>
<p>I haven&#8217;t tried this with a database as a data source so speeds will vary. When using the in-memory repository there was hardly a noticable delay at all in the new items being displayed. You might want to add an AJAX style &#8220;spinner&#8221; graphic to show when loading is occurring. This can easily be achieved using a hidden DIV and the jQuery toggle() method, e.g. <code>$("#loading").toggle();</code>. Toggle it on in GetPosts, and off again in OnGetPostsComplete.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/weedallaboutit.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/weedallaboutit.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/weedallaboutit.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/weedallaboutit.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/weedallaboutit.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/weedallaboutit.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/weedallaboutit.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/weedallaboutit.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/weedallaboutit.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/weedallaboutit.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/weedallaboutit.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/weedallaboutit.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/weedallaboutit.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/weedallaboutit.wordpress.com/87/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=weedallaboutit.wordpress.com&amp;blog=7927107&amp;post=87&amp;subd=weedallaboutit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://weedallaboutit.wordpress.com/2011/10/13/infinite-scrolling-with-an-asp-net-webform-jquery-and-a-little-bit-of-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2c61c47ca6ac105cff4fad9883c501ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">weedallaboutit</media:title>
		</media:content>
	</item>
		<item>
		<title>iOS5 installation -5000 error</title>
		<link>http://weedallaboutit.wordpress.com/2011/10/13/ios5-installation-5000-error/</link>
		<comments>http://weedallaboutit.wordpress.com/2011/10/13/ios5-installation-5000-error/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 05:42:50 +0000</pubDate>
		<dc:creator>weedallaboutit</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[iOS]]></category>

		<guid isPermaLink="false">http://weedallaboutit.wordpress.com/?p=77</guid>
		<description><![CDATA[Whilst trying to update my daughter&#8217;s iPod 4 to iOS5 I had the following error: An error occured while backing up this iPod(-5000). Would you like to continue to update this iPod? Continuing will result in the loss of all contents on this iPod. That doesn&#8217;t sound good&#8230; I then remembered that we have restrictions [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=weedallaboutit.wordpress.com&amp;blog=7927107&amp;post=77&amp;subd=weedallaboutit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Whilst trying to update my daughter&#8217;s iPod 4 to iOS5 I had the following error:</p>
<div style="background-color:#FAFAFA;"><code>An error occured while backing up this iPod(-5000).  Would you like to continue to update this iPod?</p>
<p>Continuing will result in the loss of all contents on this iPod.</code></div>
<p><em>That doesn&#8217;t sound good</em>&#8230; I then remembered that we have restrictions enabled on this iPod as my daughter is only 6 so no internet, app store, etc. I disabled restrictions and tried again and it has worked fine this time. The only other thing I did was close any open apps. I don&#8217;t know, perhaps turning the iPod off and on again would have had the same result, but this worked ok here.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/weedallaboutit.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/weedallaboutit.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/weedallaboutit.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/weedallaboutit.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/weedallaboutit.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/weedallaboutit.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/weedallaboutit.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/weedallaboutit.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/weedallaboutit.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/weedallaboutit.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/weedallaboutit.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/weedallaboutit.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/weedallaboutit.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/weedallaboutit.wordpress.com/77/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=weedallaboutit.wordpress.com&amp;blog=7927107&amp;post=77&amp;subd=weedallaboutit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://weedallaboutit.wordpress.com/2011/10/13/ios5-installation-5000-error/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2c61c47ca6ac105cff4fad9883c501ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">weedallaboutit</media:title>
		</media:content>
	</item>
		<item>
		<title>HexaClock</title>
		<link>http://weedallaboutit.wordpress.com/2011/08/11/hexaclock/</link>
		<comments>http://weedallaboutit.wordpress.com/2011/08/11/hexaclock/#comments</comments>
		<pubDate>Wed, 10 Aug 2011 23:41:08 +0000</pubDate>
		<dc:creator>weedallaboutit</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://weedallaboutit.wordpress.com/?p=59</guid>
		<description><![CDATA[A little while back a friend of mine Anthony Casey decided to make an iOS friendly HTML5/CSS3 based clock similar to the Flash based The Colour Clock. This is a digital clock where the background colour changes with every second of the day. You can view the completed HexaClock here, though you will need a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=weedallaboutit.wordpress.com&amp;blog=7927107&amp;post=59&amp;subd=weedallaboutit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://weedallaboutit.files.wordpress.com/2012/01/20120121-070519.jpg"><img src="http://weedallaboutit.files.wordpress.com/2012/01/20120121-070519.jpg?w=500" alt="20120121-070519.jpg" class="alignnone size-full" /></a></p>
<p>A little while back a friend of mine <a href="http://www.escapecrate.co.uk/" target="_top">Anthony Casey</a> decided to make an iOS friendly HTML5/CSS3 based clock similar to the Flash based <a href="http://thecolourclock.co.uk/" target="_top">The Colour Clock</a>. This is a digital clock where the background colour changes with every second of the day. You can <a href="http://www.escapecrate.co.uk/hexaclock/" target="_top">view the completed HexaClock here</a>, though you will need a HTML5 browser (no Internet Explorer 8 or below I&#8217;m afraid).</p>
<p>Anthony is a whizz with all things HTML/CSS, and asked me if I could help out by coming up with some JavaScript to make the clock change colour and tell the time.</p>
<h2>Figuring out which colour to show</h2>
<p>First things first, how do I make every second of the day a different colour? As we know the current time of day is made up of three parts, hours (0-23), minutes (0-59) and seconds (0-59). Luckily for us colours on the web are also made up of three parts, combinations of red, green and blue (known as RGB). The amount of each colour to use is a value between 0 and 255, e.g. 255 red is solid red, 0 red is no red at all, and 128 red is a dark maroon type colour. Using this knowledge we can create colours and shades, for example:</p>
<p>Red &#8211; R:255 G:0 B:0<br />
White &#8211; R:255 G:255 B:255<br />
Black &#8211; R:0 G:0 B:0<br />
Yellow &#8211; R:255 G:255 B:0<br />
Purple &#8211; R:195 G:48 B:255</p>
<p>It&#8217;s kind of like the opposite of mixing paint &#8211; here mix lots of each colour and you end up with white instead of a mucky browny black colour. There are <a href="http://www.google.co.uk/webhp?q=what+are+hex+colors#sclient=psy&amp;hl=en&amp;site=webhp&amp;source=hp&amp;q=what+are+hex+colors&amp;pbx=1&amp;oq=what+are+hex+colors" target="_top">plenty of sites out there</a> that explain RGB colours in more detail.</p>
<h2>How much of each colour to use</h2>
<p>The amount of red to use maps to the hour of the day, green to the minute in the hour, and blue to the second in the minute. Using the actual value of hour, minute and second would result in lots of dark colours as we would never get a number higher than 59, so instead we will figure it out as a proportion of 255:</p>
<p>Red = (hour / 24) * 255<br />
Green = (minute / 60) * 255<br />
Blue = (second / 60) * 255</p>
<h2>Making it tick</h2>
<p>With the colour problem sorted the next step is to make the clock update every second. I created a &#8220;tick&#8221; function to show the current time and the appropriate background colour. To make it update once a second the JavaScript setTimeout function was used to call &#8220;tick&#8221; again after 1000 milliseconds.</p>
<p>Web browsers prefer their colour values represented in hexadecimal so the numbers need converting first. After first looking at writing a small decimal to hex conversion function I realised there was no need as I could use a nice feature of JavaScript to specify which number base to use when converting a number to a string, e.g. 15.toString(16) = &#8220;f&#8221;. This should actually be &#8220;0f&#8221; so the <em>fix2</em> function tidies up any one digit hex values.</p>
<p>Here is the full code:</p>
<pre>
<div style="background-color:#FAFAFA;"><span style="color:#3366ff;">function</span> hexClock(bodyId, clockId) {
	<span style="color:#3366ff;">this</span>.body = document.getElementById(bodyId);
	<span style="color:#3366ff;">this</span>.clock = document.getElementById(clockId);
	<span style="color:#3366ff;">this</span>.running = <span style="color:#3366ff;">false</span>;
	<span style="color:#3366ff;">this</span>.fix2 = function (n) {
		<span style="color:#3366ff;">return</span> (n &lt; 10) ? <span style="color:#993300;">"0"</span> + n : <span style="color:#993300;">""</span> + n;
	}
	<span style="color:#3366ff;">this</span>.tick = function () {
		if (!this.running) <span style="color:#3366ff;">return</span>;
		<span style="color:#3366ff;">var</span> now = <span style="color:#3366ff;">new</span> Date();
		<span style="color:#3366ff;">var</span> h = now.getHours();
		<span style="color:#3366ff;">var</span> m = now.getMinutes();
		<span style="color:#3366ff;">var</span> s = now.getSeconds();
		<span style="color:#3366ff;">var</span> hexH = Math.round((h/24) * 255).toString(16);
		<span style="color:#3366ff;">var</span> hexM = Math.round((m/60) * 255).toString(16);
		<span style="color:#3366ff;">var</span> hexS = Math.round((s/60) * 255).toString(16);
		<span style="color:#3366ff;">this</span>.body.style.backgroundColor = <span style="color:#993300;">"#"</span> + <span style="color:#3366ff;">this</span>.fix2(hexH) + <span style="color:#3366ff;">this</span>.fix2(hexM) + <span style="color:#3366ff;">this</span>.fix2(hexS);
		<span style="color:#3366ff;">this</span>.clock.innerHTML = <span style="color:#3366ff;">this</span>.fix2(h) + <span style="color:#993300;">":"</span> + this.fix2(m) + <span style="color:#993300;">":"</span> + <span style="color:#3366ff;">this</span>.fix2(s);
		setTimeout(function(me) { me.tick(); }, 1000, <span style="color:#3366ff;">this</span>);
	}
	<span style="color:#3366ff;">this</span>.start = <span style="color:#3366ff;">function</span> () {
		<span style="color:#3366ff;">this</span>.running = true;
		<span style="color:#3366ff;">this</span>.tick();
	}
	<span style="color:#3366ff;">this</span>.stop = <span style="color:#3366ff;">function</span> () {
		<span style="color:#3366ff;">this</span>.running = <span style="color:#3366ff;">false</span>;
	}
}

<span style="color:#339966;">// this bit runs when the page loads</span>
<span style="color:#3366ff;">function</span> init() {
	<span style="color:#3366ff;">var</span> clock = <span style="color:#3366ff;">new</span> hexClock(<span style="color:#993300;">"body"</span>, <span style="color:#993300;">"clock"</span>);
	clock.start();
}</div>
</pre>
<p>Probably not the best bit of JavaScript that you will ever see but it does the job. At some point I might rewrite it using the Prototype approach.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/weedallaboutit.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/weedallaboutit.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/weedallaboutit.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/weedallaboutit.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/weedallaboutit.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/weedallaboutit.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/weedallaboutit.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/weedallaboutit.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/weedallaboutit.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/weedallaboutit.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/weedallaboutit.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/weedallaboutit.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/weedallaboutit.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/weedallaboutit.wordpress.com/59/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=weedallaboutit.wordpress.com&amp;blog=7927107&amp;post=59&amp;subd=weedallaboutit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://weedallaboutit.wordpress.com/2011/08/11/hexaclock/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2c61c47ca6ac105cff4fad9883c501ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">weedallaboutit</media:title>
		</media:content>

		<media:content url="http://weedallaboutit.files.wordpress.com/2012/01/20120121-070519.jpg" medium="image">
			<media:title type="html">20120121-070519.jpg</media:title>
		</media:content>
	</item>
		<item>
		<title>Website revamp</title>
		<link>http://weedallaboutit.wordpress.com/2011/08/09/website-revamp/</link>
		<comments>http://weedallaboutit.wordpress.com/2011/08/09/website-revamp/#comments</comments>
		<pubDate>Tue, 09 Aug 2011 00:00:28 +0000</pubDate>
		<dc:creator>weedallaboutit</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://weedallaboutit.wordpress.com/?p=51</guid>
		<description><![CDATA[My old weedall.com website hasn&#8217;t been updated since 2005 (!), so I&#8217;ve moved everything onto my WordPress blog. Once I can figure out how to upload zip files I&#8217;ll provide download links to my old QBasic games, just in case anyone wants to give them a try.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=weedallaboutit.wordpress.com&amp;blog=7927107&amp;post=51&amp;subd=weedallaboutit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>My old weedall.com website hasn&#8217;t been updated since 2005 (!), so I&#8217;ve moved everything onto my WordPress blog. Once I can figure out how to upload zip files I&#8217;ll provide download links to my old <a href="http://weedallaboutit.wordpress.com/qbasic-games/">QBasic games</a>, just in case anyone wants to give them a try.</p>
<p><a href="http://weedallaboutit.files.wordpress.com/2012/01/20120121-070815.jpg"><img src="http://weedallaboutit.files.wordpress.com/2012/01/20120121-070815.jpg?w=500" alt="20120121-070815.jpg" class="alignnone size-full" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/weedallaboutit.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/weedallaboutit.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/weedallaboutit.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/weedallaboutit.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/weedallaboutit.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/weedallaboutit.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/weedallaboutit.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/weedallaboutit.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/weedallaboutit.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/weedallaboutit.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/weedallaboutit.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/weedallaboutit.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/weedallaboutit.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/weedallaboutit.wordpress.com/51/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=weedallaboutit.wordpress.com&amp;blog=7927107&amp;post=51&amp;subd=weedallaboutit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://weedallaboutit.wordpress.com/2011/08/09/website-revamp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2c61c47ca6ac105cff4fad9883c501ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">weedallaboutit</media:title>
		</media:content>

		<media:content url="http://weedallaboutit.files.wordpress.com/2012/01/20120121-070815.jpg" medium="image">
			<media:title type="html">20120121-070815.jpg</media:title>
		</media:content>
	</item>
		<item>
		<title>Bye bye Windows? Not quite&#8230;</title>
		<link>http://weedallaboutit.wordpress.com/2010/05/16/bye-bye-windows-not-quite/</link>
		<comments>http://weedallaboutit.wordpress.com/2010/05/16/bye-bye-windows-not-quite/#comments</comments>
		<pubDate>Sun, 16 May 2010 19:54:19 +0000</pubDate>
		<dc:creator>weedallaboutit</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://weedallaboutit.wordpress.com/?p=12</guid>
		<description><![CDATA[Back in my CompSci days the computer labs were Sun machines running Solaris, so I picked up a sprinkling of UNIX knowledge whilst completing various C and ADA assignments. Other than that and a brief dual boot install of BeOS, I&#8217;ve been a Windows user since finally admitting that the Amiga wasn&#8217;t going to take [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=weedallaboutit.wordpress.com&amp;blog=7927107&amp;post=12&amp;subd=weedallaboutit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em>Back in my <a title="Aberystwyth University" href="http://www.aber.ac.uk/en/cs/" target="_blank">CompSci</a> days the computer labs were Sun machines running Solaris, so I picked up a sprinkling of UNIX knowledge whilst completing various C and ADA assignments. Other than that and a brief dual boot install of BeOS, I&#8217;ve been a Windows user since finally admitting that the Amiga wasn&#8217;t going to take over the world, and buying my first PC in 1994.</em></p>
<p>Fast forward to 2010, <a title="Visit Ubuntu.com" href="http://www.ubuntu.com" target="_blank">Ubuntu 10.04 LTS</a> gets a great write up on <a title="Review from The Register" href="http://www.theregister.co.uk/2010/04/30/ubuntu_10_04_review/" target="_blank">The Register</a>, so I&#8217;ve decided to have another look. I&#8217;m not quite brave enough to go for a true dual boot, but using WUBI to achieve kinda the same thing.</p>
<p>First impressions are great, the installation runs without a hitch and all the hardware on my laptop is detected and works. It&#8217;s much faster too than Windows, helped no doubt by not having to run anti-virus and all those task tray programs.</p>
<p>Software wise Firefox is up to date and it was simple to get Flash working. Being a Chrome fan I installed Chromium but it seems to render a lot of text too bold for my liking so I&#8217;ll stick with Firefox which seems to run faster than I remember, but that could be down to not having any add-ons installed. Gwibber and Empathy take care of the social networking side of things and I like the built in broadcast feature (now that I realise what it actually does).</p>
<p>The compatibility issues between OpenOffice and the corresponding MS Office apps have been well documented elsewhere, but it seems perfectly fine for my needs.</p>
<p>I admit have an ulterior motive for looking at Ubuntu; as a C# web application developer by day I want to mix things up for my hobby programming, so I&#8217;ve decided to learn how to make Ruby on Rails apps. I get the impression that it is easier to get things set up on Linux.</p>
<p>Having said that I&#8217;ve been so impressed with Ubuntu and how fast and stable it is that I&#8217;ve been using it daily as my main OS for the last couple of weeks. I&#8217;ve also replaced the XP install on my wife&#8217;s incredibly slow netbook and it now runs like lightening so double win.</p>
<p>I still dip back into Windows to sync my iPod with iTunes and when I need Visual Studio, and I&#8217;ll keep it for Picasa (for now, there is a Linux version) . I&#8217;m converted though, even if I won&#8217;t be saying goodbye to Windows just yet.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/weedallaboutit.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/weedallaboutit.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/weedallaboutit.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/weedallaboutit.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/weedallaboutit.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/weedallaboutit.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/weedallaboutit.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/weedallaboutit.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/weedallaboutit.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/weedallaboutit.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/weedallaboutit.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/weedallaboutit.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/weedallaboutit.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/weedallaboutit.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=weedallaboutit.wordpress.com&amp;blog=7927107&amp;post=12&amp;subd=weedallaboutit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://weedallaboutit.wordpress.com/2010/05/16/bye-bye-windows-not-quite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2c61c47ca6ac105cff4fad9883c501ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">weedallaboutit</media:title>
		</media:content>
	</item>
		<item>
		<title>Hello world!</title>
		<link>http://weedallaboutit.wordpress.com/2009/05/27/hello-world/</link>
		<comments>http://weedallaboutit.wordpress.com/2009/05/27/hello-world/#comments</comments>
		<pubDate>Wed, 27 May 2009 20:29:52 +0000</pubDate>
		<dc:creator>weedallaboutit</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[I really should think of something witty and insightful to put here. Maybe tomorrow&#8230;<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=weedallaboutit.wordpress.com&amp;blog=7927107&amp;post=1&amp;subd=weedallaboutit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I really should think of something witty and insightful to put here. Maybe tomorrow&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/weedallaboutit.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/weedallaboutit.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/weedallaboutit.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/weedallaboutit.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/weedallaboutit.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/weedallaboutit.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/weedallaboutit.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/weedallaboutit.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/weedallaboutit.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/weedallaboutit.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/weedallaboutit.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/weedallaboutit.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/weedallaboutit.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/weedallaboutit.wordpress.com/1/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=weedallaboutit.wordpress.com&amp;blog=7927107&amp;post=1&amp;subd=weedallaboutit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://weedallaboutit.wordpress.com/2009/05/27/hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2c61c47ca6ac105cff4fad9883c501ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">weedallaboutit</media:title>
		</media:content>
	</item>
	</channel>
</rss>
