<?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>Ian's Online Technical Notebook &#187;  &#8211; Ian&#8217;s Online Technical Notebook</title>
	<atom:link href="http://blog.ianroke.co.uk/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ianroke.co.uk</link>
	<description>PRINCE2 Project Management, ASP.NET, C#, SQL Server, WordPress, Web Design, Access &#38; Excel Development</description>
	<lastBuildDate>Wed, 17 Nov 2010 08:51:29 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Breaking Down The Difference Between Two Dates In SQL Server To Their Constituent Parts</title>
		<link>http://blog.ianroke.co.uk/2010/11/breaking-down-difference-sql-server-dates/</link>
		<comments>http://blog.ianroke.co.uk/2010/11/breaking-down-difference-sql-server-dates/#comments</comments>
		<pubDate>Tue, 16 Nov 2010 10:47:06 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://blog.ianroke.co.uk/?p=183</guid>
		<description><![CDATA[I regularly have the need to break down a date in SQL Server. I might need to produce a report by hour or 15 minute intervals so I find the following bit of code useful. It is heavily commented to give you an idea of how it works. This then produces the following result. I [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I regularly have the need to break down a date in SQL Server. I might need to produce a report by hour or 15 minute intervals so I find the following bit of code useful. It is heavily commented to give you an idea of how it works.</p>
<pre class="brush: sql; title: ; notranslate">
-- Variables to hold the start and end dates and the difference between them.
DECLARE @Start datetime;
DECLARE @End datetime;
DECLARE @Diff datetime;

-- Set the start and end date then calculates the difference.
SET @Start = '2000-01-01';
SET	@End = GETDATE();
SET @Diff = @End - @Start;

SELECT @Start [StartDate]
,    @End [EndDate]

-- The number of years between the two dates.
,    DATEDIFF(yy, 0, @Diff) [Years]

-- Add the difference in years to the start date to remove years from the result.
,    DATEDIFF(dd, DATEADD(yy, DATEDIFF(yy, 0, @Diff), @Start), @End) [Days]

-- Use of the DATEPART function to break down the remainder of the difference.
,    DATEPART(hour, @Diff) [Hours]
,    DATEPART(minute, @Diff) [Minutes]
,    DATEPART(second, @Diff) [Seconds]
,    DATEPART(ms, @Diff) [Milliseconds];
</pre>
<p>This then produces the following result.</p>
<p><img src="http://blog.ianroke.co.uk/wp-content/uploads/2010/11/20101116_Image1.jpg" alt="" title="20101116_Image1" width="614" height="81" class="aligncenter size-full wp-image-197" /></p>
<p>I hope somebody finds that useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ianroke.co.uk/2010/11/breaking-down-difference-sql-server-dates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why I Dumb Down The Admin Account On New WordPress Installations</title>
		<link>http://blog.ianroke.co.uk/2010/01/dumb-down-admin-account-new-wordpress-installations/</link>
		<comments>http://blog.ianroke.co.uk/2010/01/dumb-down-admin-account-new-wordpress-installations/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 00:00:52 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[secure]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.ianroke.co.uk/?p=165</guid>
		<description><![CDATA[Quick links What is the problem? So how do I go about fixing it then? Add a new user account with admin role Log in with new user account and dumb down the admin account Secure the admin account to deliberately make it harder for hacking attempts That’s all there is to do! What is [&#8230;]]]></description>
				<content:encoded><![CDATA[<h4>Quick links</h4>
<ul>
<li><a href="#what-is-problem">What is the problem?</a></li>
<li><a href="#how-do-fix">So how do I go about fixing it then?</a></li>
<li><a href="#add-new-user">Add a new user account with admin role</a></li>
<li><a href="#dumb-down-admin">Log in with new user account and dumb down the admin account</a></li>
<li><a href="#secure-admin-deliberately">Secure the admin account to deliberately make it harder for hacking attempts</a></li>
<li><a href="#thats-all">That’s all there is to do!</a></li>
</ul>
<h4>What is the problem?<a name="what-is-problem"></a></h4>
<p><a href="http://wordpress.org/">WordPress</a> prides itself on its <a href="http://codex.wordpress.org/Installing_WordPress#Famous_5-Minute_Install">5 minute install</a> allowing you to essentially upload the core files, create a database and then run a script to join the two together. Easy. But secure it isn’t…</p>
<p>A <a href="http://en.wikipedia.org/wiki/Hacker_%28computer_security%29">hacker</a> with limited knowledge of WordPress knows that the login screen is generally found at the following path of http://blog.domain/wp-login.php and also that WordPress by default sets up an admin account during the installation stage. You would hope the first thing the user then does is logs in with the auto-generated details and changes the password to something memorable and hard to guess right? You would have thought so.</p>
<p><span id="more-165"></span></p>
<p>The problem is most people then rush on creating posts, adding plugins, changing themes and so on because good content equals a good blog that makes people want to come back yet at the same time anybody searching for <a href="http://www.google.co.uk/webhp?hl=en#hl=en&amp;q=%3Cmeta+name%3D%22generator%22+content%3D%22WordPress+2.9.1%22+%2F%3E&amp;meta=&amp;aq=&amp;oq=&amp;fp=698b2be80cf6bcd7">&lt;meta name=&quot;generator&quot; content=&quot;WordPress 2.9.1&quot; /&gt;</a> finds (at the time of writing this article) 5,780 results in Google of which many of them could be unprotected admin accounts or with very simple, easy to guess passwords that could be obtained with brute force.</p>
<h4>So how do I go about fixing it then?<a name="how-do-fix"></a></h4>
<p>There is no magic wand process you can use to secure WordPress it all depends on the type of blog you have and how secure you want it. There are many guides already available such as <a href="http://codex.wordpress.org/Hardening_WordPress">Hardening WordPress</a> from the WordPress <a href="http://codex.wordpress.org">codex</a> and many blogs scattered around the internet but the easiest thing you can do is to deactivate the admin account and set up a harder to guess user account with the same permissions as an admin. Sounds so simple! Even if you do nothing else to your WordPress installation may I suggest that you at least do this because it will eliminate any security issues later on.</p>
<h4>Add a new user account with admin role<a name="add-new-user"></a></h4>
<p>Log in with your admin account and create a new user account by going to <strong>Users</strong> &gt;<strong> Add New</strong> and setting up a new account with all your personal details. You are not able to use the same email address twice so you might have to edit your admin account and change the email address to a dummy one such as dumb-admin@blog.domain to free up your email address.</p>
<p><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="" border="0" alt="" src="http://blog.ianroke.co.uk/wp-content/uploads/2010/01/image.png" width="624" height="516" /></p>
<h4>Log in with new user account and dumb down the admin account<a name="dumb-down-admin"></a></h4>
<p>Once you have added the account, log out of the admin account and log in with your new user account. Go to    <br /><strong>Users</strong> &gt; <strong>Authors &amp; Users</strong> and click on the admin account to edit it. Locate the Role dropdown which is in the Name section and change it to subscriber and then save the changes.</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://blog.ianroke.co.uk/wp-content/uploads/2010/01/image1.png" width="426" height="133" /></p>
<h4>Secure the admin account to deliberately make it harder for hacking attempts<a name="secure-admin-deliberately"></a></h4>
<p>To make it even harder to guess the password I suggest you go to <a href="http://www.passwords.org.uk/different-length.php">http://www.passwords.org.uk/different-length.php</a> and copy the 14 character generated password from this page and change the password to the admin account which of course you will be able to do with your new-found admin privileges!</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://blog.ianroke.co.uk/wp-content/uploads/2010/01/image2.png" width="540" height="65" /></p>
<h4>That’s all there is to do!<a name="thats-all"></a></h4>
<p>You will now have a much more secure WordPress installation without getting bogged down with security and permissions. This should certainly be enough to get you started. Have fun blogging!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ianroke.co.uk/2010/01/dumb-down-admin-account-new-wordpress-installations/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using Amazon S3 To Backup My WordPress Blog</title>
		<link>http://blog.ianroke.co.uk/2009/12/amazon-s3-backup-wordpress-blog/</link>
		<comments>http://blog.ianroke.co.uk/2009/12/amazon-s3-backup-wordpress-blog/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 00:00:24 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[amazon s3]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[cockpit]]></category>
		<category><![CDATA[s3sync]]></category>

		<guid isPermaLink="false">http://blog.ianroke.co.uk/?p=160</guid>
		<description><![CDATA[A couple of days ago I wrote a post on my blog about implementing a backup strategy for archiving the website files and database related to this blog. Although I was happy with the result and they do work well I was still a bit concerned because the files were still on the server which [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>A couple of days ago I wrote a post on my blog about implementing a <a href="http://blog.ianroke.co.uk/2009/12/rolling-own-wordpress-blog-backup/">backup strategy</a> for archiving the website files and database related to this blog. Although I was happy with the result and they do work well I was still a bit concerned because the files were still on the server which meant I had to manually retrieve them off the server to be sure of having a suitable backup should something happen to the server.</p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="" border="0" alt="" align="right" src="http://188.65.115.2/~rokehost/ianroke.co.uk/blog/wp-content/uploads/2009/12/logo_aws1.gif" width="164" height="60" />I decided to try out <a href="http://aws.amazon.com/s3/">Amazon S3</a> which allows you to store files in “buckets” located in America and Ireland. Authentication is used to secure your data and it uses standards-based <strong>REST</strong> and <strong>SOAP</strong> interfaces to allow developers the ability to hook on to the service. They operate a &#8220;Pay For What You Use&#8221; pricing model of $0.15 a month per GB hosted which is about £0.09 a month. Currently all data transfer is free until 30th June 2010 but even after then it is only $0.10 a month per GB which is about £0.06 a month. The prices change after 50TB of data is being hosted but that is unlikely at present. If this trial is successful then I intend to roll it out across my other websites.</p>
<p><span id="more-160"></span>
<p>After I had set my account up I then installed <a href="http://jets3t.s3.amazonaws.com/applications/cockpit.html">Cockpit</a> which is a GUI written in Java for viewing the contents of an Amazon S3 account. It is part of the <a href="http://jets3t.s3.amazonaws.com/index.html">JetS3t</a> toolkit and is free so ideal for what I need. I used it to create a bucket called <strong>blog.ianroke.co.uk</strong> which will contain all the archived files for my website.</p>
<p><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="" border="0" alt="" src="http://188.65.115.2/~rokehost/ianroke.co.uk/blog/wp-content/uploads/2009/12/image21.png" width="407" height="53" /></p>
<p>Next I converted the command line commands I were using <a href="http://blog.ianroke.co.uk/2009/12/rolling-own-wordpress-blog-backup/">here</a> into scripts so that I could continue to tweak them while they were being scheduled. I created a <strong>blog_database_backup.sh</strong> and a <strong>blog_website_backup.sh</strong> script and I also created another script called <strong>s3_backup_refresh.sh</strong> that would refresh the synchronisation between my server and the Amazon S3 server. I wanted to run the database refresh every 15 minutes and the website refresh every hour so that at every 10 minutes past the hour I could run the synchronisation and be sure of a full and complete backup of the database and website had been done.</p>
<p>I made a few tweaks to the scripts while I was doing this too. I created an archive for the latest refreshed file, I also compressed the output from the database refresh which reduced the file size by 90% and I also archived all the archives into one large archive for each day. This kept the number of files down on the server and also on the Amazon S3 server because once this archive was created I deleted all the files that were put in the archive off my server as they were duplicated.</p>
<p>Here is an example of the sort of script I used. Hopefully the comments are self explanatory.</p>
<pre class="brush: bash; title: ; notranslate">
#!/bin/bash

# Set up some variables.
DATE=`date +&quot;%Y%m%d&quot;`
TIME=`date +&quot;%H%M%S&quot;`
DIR=/path/to/database_schema
FILE=database_schema_${DATE}

cd ${DIR}

# Create a dump of the blog database schema.
mysqldump -uUSER -pPASS DB &amp;gt; ${FILE}${TIME}.sql

# Create an archive of the database schema.
tar cf database_latest.tar ${FILE}${TIME}.sql

# Remove the compressed archive of the latest database schema.
# This avoids any file overwrite errors.
rm database_latest.tar.gz

# Compress the latest database schema.
gzip database_latest.tar

# Checks if a compressed archive has been created for the current day.
if [ -f ${FILE}.tar.gz ]; then
    # Uncompress the archive, add the latest archive created then compress again.
    gunzip ${FILE}.tar.gz
    tar rf ${FILE}.tar ${FILE}${TIME}.sql
    gzip ${FILE}.tar
else
    # Create a new archive and compress it.
    tar cf ${FILE}.tar ${FILE}${TIME}.sql
    gzip ${FILE}.tar
fi

# Remove the created database schema.
rm ${FILE}${TIME}.sql
</pre>
<p>I then downloaded <a href="http://s3sync.net/wiki">S3Sync</a> which is a script written in <a href="http://en.wikipedia.org/wiki/Ruby_%28programming_language%29">Ruby</a> which provides an interface for me to communicate with my Amazon S3 account using the Shell command line on my server. I can then create scripts and schedule them to run as and when I require them.</p>
<pre class="brush: bash; title: ; notranslate">
# Sample syntax to synchronise data with Amazon S3
ruby s3sync.rb – r /SOMEFILES BUCKETNAME:PREFIX
</pre>
<p>I had a problem getting the s3sync.rb file to view the settings I had saved in s3config.yml. I had done everything correctly but in the end I only got it to work by making the following change.</p>
<pre class="brush: bash; first-line: 15; title: ; notranslate">
#confpath = [&quot;#{ENV['S3CONF']}&quot;, &quot;#{ENV['HOME']}/.s3conf&quot;, &quot;/etc/s3conf&quot;]
confpath = [&quot;./&quot;, &quot;#{ENV['S3CONF']}&quot;, &quot;#{ENV['HOME']}/.s3conf&quot;, &quot;/etc/s3conf&quot;]
</pre>
<p>I then needed to write a very simple script to synchronise the directories between my server and the Amazon S3 server which I then scheduled to run at 10 minutes past the hour every hour so that potentially the most amount of data I would loose is up to an hours worth which I can live with in worse case situations. The script I used to sync is below. Note that I used &#8211;delete to force S3Sync to do a comparison of the directories with the Amazon S3 version and delete files that are not present on my server anymore. I did this so that if I removed the files it was to be assumed that I have backed them up elsewhere so they are not required on the Amazon S3 server as well.</p>
<pre class="brush: bash; title: ; notranslate">
#!/bin/bash

cd ~/blog_backups/s3sync

ruby s3sync.rb --delete -r /path/to/database_schema blog.ianroke.co.uk:d

ruby s3sync.rb --delete -r /path/to/website_files blog.ianroke.co.uk:w
</pre>
<p>I hope this helps anybody who wants to do this sort of thing on their server. If you do use my examples then please let me know either by email or in the comments below.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ianroke.co.uk/2009/12/amazon-s3-backup-wordpress-blog/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Firefox Add-ons I Can&#039;t Live Without</title>
		<link>http://blog.ianroke.co.uk/2009/12/firefox-addons-cant-live-without/</link>
		<comments>http://blog.ianroke.co.uk/2009/12/firefox-addons-cant-live-without/#comments</comments>
		<pubDate>Sat, 19 Dec 2009 00:00:35 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[add-ons]]></category>
		<category><![CDATA[colorzilla]]></category>
		<category><![CDATA[delicious bookmarks]]></category>
		<category><![CDATA[downthemall]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[fireshot]]></category>
		<category><![CDATA[web developer]]></category>

		<guid isPermaLink="false">http://blog.ianroke.co.uk/?p=144</guid>
		<description><![CDATA[I have used Mozilla Firefox for many years now when I have been developing websites and also for personal use too. It may not be the fastest browser around but I am willing to sacrifice speed for usability in this case as the add-ons available for Firefox are some of the best around. I am [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I have used <a href="http://www.mozilla-europe.org/en/firefox/">Mozilla Firefox</a> for many years now when I have been developing websites and also for personal use too. It may not be the fastest browser around but I am willing to sacrifice speed for usability in this case as the add-ons available for Firefox are some of the best around. I am going to go through some of them and why I use them and hopefully help someone else to discover a useful add-on they might not have heard of before.</p>
<p><span id="more-144"></span><br />
<h3><a href="https://addons.mozilla.org/en-US/firefox/addon/1843"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="" border="0" alt="" align="right" src="http://188.65.115.2/~rokehost/ianroke.co.uk/blog/wp-content/uploads/2009/12/94861.png" width="200" height="150" /></a>Firebug </h3>
<p><a title="https://addons.mozilla.org/en-US/firefox/addon/1843" href="https://addons.mozilla.org/en-US/firefox/addon/1843">https://addons.mozilla.org/en-US/firefox/addon/1843</a></p>
<p>Firebug is a fantastic tool for web development because it allows you to dive into the code behind a webpage and allows you to very quickly inspect and even edit the code. You can make changes to the CSS on a webpage and see the change happening in real time. This allows you to try out changes before you commit them to a style sheet. If you are struggling with the CSS box model implementation then you can see visually how your margin and padding are represented on the page so you can make changes if required. There are many, many more things Firebug can do so if you are interested then check out the <a href="http://www.getfirebug.com">website</a>. If you only ever install one add-on make sure it is this one if you are a webpage developer.</p>
<h3><a href="https://addons.mozilla.org/en-US/firefox/addon/5648"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="" border="0" alt="" align="right" src="http://188.65.115.2/~rokehost/ianroke.co.uk/blog/wp-content/uploads/2009/12/12204295151.png" width="240" height="165" /></a>FireShot </h3>
<p><a title="https://addons.mozilla.org/en-US/firefox/addon/5648" href="https://addons.mozilla.org/en-US/firefox/addon/5648">https://addons.mozilla.org/en-US/firefox/addon/5648</a></p>
<p>FireShot allows you to take a picture of the current webpage and process it in a number of different ways including uploading to a another website, saved as it is or sent to an image processing program for further tweaks. This is very useful to produce screenshots of whole web pages for clients to view work in progress. Another add-on that comes highly recommended.</p>
<p>&#160;</p>
<h3><a href="https://addons.mozilla.org/en-US/firefox/addon/60"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="" border="0" alt="" align="right" src="http://188.65.115.2/~rokehost/ianroke.co.uk/blog/wp-content/uploads/2009/12/12463414141.png" width="200" height="122" /></a>Web Developer toolbar </h3>
<p><a title="https://addons.mozilla.org/en-US/firefox/addon/60" href="https://addons.mozilla.org/en-US/firefox/addon/60">https://addons.mozilla.org/en-US/firefox/addon/60</a></p>
<p>The Web Developer toolbar has been around ever since I’ve been using Firefox, and while its usefulness has been overshadowed by Firebug in my opinion, it still packs a lot of really useful features to help you with web development. This comes highly recommended too.</p>
<h3><a href="https://addons.mozilla.org/en-US/firefox/addon/271"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="" border="0" alt="" align="right" src="http://188.65.115.2/~rokehost/ianroke.co.uk/blog/wp-content/uploads/2009/12/2541.png" width="200" height="150" /></a>Colorzilla </h3>
<p><a title="https://addons.mozilla.org/en-US/firefox/addon/271" href="https://addons.mozilla.org/en-US/firefox/addon/271">https://addons.mozilla.org/en-US/firefox/addon/271</a></p>
<p>Sometimes when you are browsing for inspiration you come across a colour that you would like to use. This add-on allows you to simply pick the colour as you would in a paint program and then utilise it in your own creations.</p>
<p>&#160;</p>
<h3><a href="https://addons.mozilla.org/en-US/firefox/addon/3615"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="" border="0" alt="" align="right" src="http://188.65.115.2/~rokehost/ianroke.co.uk/blog/wp-content/uploads/2009/12/12181350751.png" width="200" height="150" /></a> Delicious Bookmarks</h3>
<p><a title="https://addons.mozilla.org/en-US/firefox/addon/3615" href="https://addons.mozilla.org/en-US/firefox/addon/3615">https://addons.mozilla.org/en-US/firefox/addon/3615</a></p>
<p>If you have an account set up with <a href="http://delicious.com">Delicious</a> like I have then you will agree with me when I say it is a very useful website for saving web pages to come back to later. You can tag pages and then sort by a specific tag which is extremely useful. This add-on makes it even easier to tag web pages and retrieve your bookmarks. There is also a toolbar added to Firefox with the option of seeing your bookmarks in a variety of different ways. Fantastic!</p>
<h3><a href="https://addons.mozilla.org/en-US/firefox/addon/201"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="" border="0" alt="" align="right" src="http://188.65.115.2/~rokehost/ianroke.co.uk/blog/wp-content/uploads/2009/12/12042744751.png" width="176" height="150" /></a> DownThemAll</h3>
<p><a title="https://addons.mozilla.org/en-US/firefox/addon/201" href="https://addons.mozilla.org/en-US/firefox/addon/201">https://addons.mozilla.org/en-US/firefox/addon/201</a></p>
<p>DownThemAll turns the already good download capabilities of Firefox into something even better. You can download single links to a designated folder with just one right-click, download multiple links/files off one page with the ability to filter out by customisable criteria and once the files are in the download manager you are able to specify when you want to download them and when you do download them it opens multiple connections so the only limit is your download speed not the speed of the network or web server which is worth the install alone. Comes highly recommended!</p>
<p>I hope those add-ons have wet your appetite for ways to make your life easier in Firefox. I have not touched the surface of what is available out there. What have you got in your arsenal that you can not live without? Please post your top tips in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ianroke.co.uk/2009/12/firefox-addons-cant-live-without/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Why I Chose To Get PRINCE2 Certified</title>
		<link>http://blog.ianroke.co.uk/2009/12/chose-prince2-certified/</link>
		<comments>http://blog.ianroke.co.uk/2009/12/chose-prince2-certified/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 00:00:38 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Project Management]]></category>
		<category><![CDATA[advantages]]></category>
		<category><![CDATA[disadvantages]]></category>

		<guid isPermaLink="false">http://blog.ianroke.co.uk/?p=81</guid>
		<description><![CDATA[PRINCE2 is a process driven project management framework that has 40 different activities organised into seven processes. These processes are: Starting up a project Initiating a project Directing a project Controlling a stage Managing stage boundaries Closing a project Managing product delivery Advantages of PRINCE2 PRINCE2 is a structured way to approach project management by [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>PRINCE2 is a process driven project management framework that has 40 different activities organised into seven processes.</p>
<p>These processes are:</p>
<ol>
<li>Starting up a project</li>
<li>Initiating a project</li>
<li>Directing a project</li>
<li>Controlling a stage</li>
<li>Managing stage boundaries</li>
<li>Closing a project</li>
<li>Managing product delivery</li>
</ol>
<p><span id="more-81"></span><strong>Advantages of PRINCE2</strong></p>
<p>PRINCE2 is a structured way to approach project management by the use of a framework that is in use all over the world. PRINCE2 describes best practices in how to coordinate people and their activities, how to design and supervise projects and how to realign projects that are starting to slip. Because PRINCE2 is fully scalable it means that the methodology can be used in multi million contracts and also very small and simple projects.</p>
<p>From a business perspective PRINCE2 provides a common and consistent approach with a controlled, organised start, middle and end with regular reviews of progress against the original project plan. There are also flexible decision points within the project with full management control of any deviations from the original plan. There is a good communication structure with the involvement of management and stakeholders at the correct times during the project and a means of capturing and sharing the lessons learned.</p>
<p><strong>Disadvantages of PRINCE2</strong></p>
<p>There is a lot of paperwork and documentation involved as would be required for large scale projects but they wouldn&#8217;t necessarily be useful or important in smaller scale projects. Also because various roles and responsibilities are involved there could also be a blame culture because everybody would blame everybody else if the project failed. As with most methodologies there is also the danger that it is too closely followed in a rigid way and not think about how it can be adapted to any particular project.</p>
<p><strong>So why did I choose it?</strong></p>
<p>I enjoy managing projects and expectations but felt I didn&#8217;t have the skills or understanding required to do it well. I had heard of PRINCE2 and PMP but when I investigated them further I found that PRINCE2 is more widely accepted in the UK. I am now able to apply the principles and processes of the methodology in my projects and as a result I have been able to complete more projects within the agreed time scales and without going over budget. I have also been able to take on more projects at any one time because I have a structured process that I can follow and tailor for each type of project to ensure that communication between sponsors and team members is maintained throughout the project lifecycle.</p>
<p>I am interested in what experiences you have with PRINCE2 or any other project methodology and how you found your experiences were with it compared to before you were certified. Please add your comments below.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ianroke.co.uk/2009/12/chose-prince2-certified/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Rolling My Own WordPress Blog Backup Strategy</title>
		<link>http://blog.ianroke.co.uk/2009/12/rolling-own-wordpress-blog-backup/</link>
		<comments>http://blog.ianroke.co.uk/2009/12/rolling-own-wordpress-blog-backup/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 00:00:23 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[files]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.ianroke.co.uk/?p=117</guid>
		<description><![CDATA[I have been very complacent about implementing a backup strategy for my blog files but after reading about codinghorror.com and haacked.com amongst others recently falling foul to a hardware failure on the server that hosted their blogs and the struggles they had to try and retrieve their content again I realised that something needed to [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I have been very complacent about implementing a backup strategy for my blog files but after reading about <a href="http://twitter.com/codinghorror/status/6573094832&quot;codinghorror.com"><a href="http://twitter.com/codinghorror/status/6573094832">codinghorror.com</a></a> and <a href="http://twitter.com/haacked/status/6581174078&quot;haacked.com"><a href="http://twitter.com/haacked/status/6581174078">haacked.com</a></a> amongst others recently falling foul to a hardware failure on the server that hosted their blogs and the struggles they had to try and retrieve their content again I realised that something needed to be done. In fact Phil Haack sums it up quite nicely in this <a href="http://twitter.com/haacked/status/6587383661&quot;tweet"><a href="http://twitter.com/haacked/status/6587383661">tweet</a></a>.</p>
<p><span id="more-117"></span>
<p>My blog is hosted on a shared Unix server so the first thing I did was look in my server control panel which is cPanel at what was available in the way of backups. Backups of various shapes and sizes were available but I wanted a bit more control on what was backed up and when so I turned to <a href="http://superuser.com">SuperUser.com</a> and asked the question ‘<a href="http://superuser.com/questions/83003/how-do-i-compress-a-directory-on-a-unix-web-server-and-email-it-on-a-sheduled-bas">How do I compress a directory on a Unix web server and email it on a sheduled basis?</a>’ and got an interesting response from <a href="http://superuser.com/users/1339/chealion">Chealion</a> which involved the use of Tar and Crontab to zip up an archive on a scheduled basis. This is more like it!</p>
<p>I then decided that I wanted to backup just my blog files including my uploaded content such as images and also make a backup of the MySQL database my blog is using so that I can remove them to another location offline. I can always extend this further if I need to in the future but this would allow me to get my blog back online very quickly.</p>
<h4>Creating the folder structure</h4>
<p>I wanted to keep the database backup schema separate from the blog website files so I created the following structure on my web server. I didn’t need anything more than this because I intend to suffix the date and time to the filename.</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://188.65.115.2/~rokehost/ianroke.co.uk/blog/wp-content/uploads/2009/12/image3.png" width="417" height="208" /></p>
<h4>Backing up the files</h4>
<p>Compressing files using Tar is very simple. I just want to zip up all the files in my blog directory and save it with the date/time suffixed. The code below will give a filename of something like &#8216;blog_backups_website_files_YYYYmmddHHMMSS.tgz&#8217;.</p>
<pre class="brush: bash; title: ; notranslate">
tar czf &quot;/path/to/blog_backups/website_files/blog_backups_website_files_`date +%Y%m%d%H%M%S`.tgz&quot; /path/to/ianroke.co.uk/blog
</pre>
<p></p>
<h4>Backing up the database</h4>
<p>Backing up in MySQL is done with mysqldump which is a bit trickier to configure. I have to pass the username, password and the database name then give it somewhere to dump the output to. The code below gives you an idea of what is required. This bit was tricky because the database was automatically generated by cPanel so finding out the generated details was required first.</p>
<pre class="brush: bash; title: ; notranslate">
mysqldump -uUSERNAME -pPASSWORD DATABASE &amp;gt; &quot;/path/to/blog_backups/database_schema/blog_backup_database_schema_`date +%Y%m%d%H%M%S`.sql&quot;
</pre>
<p></p>
<h4>Scheduling it to run periodically</h4>
<p>Luckily cPanel has a cron section so I was able to quickly set up these tasks. For the purpose of testing it I wanted to set them to run every minute so I set it as such:</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://188.65.115.2/~rokehost/ianroke.co.uk/blog/wp-content/uploads/2009/12/image11.png" width="584" height="107" /> </p>
<p>After committing changes I waited and nothing happened. Strange. I fired up my email to find that I was getting the <a href="http://superuser.com/questions/83489/having-trouble-running-a-cron-job-in-unix-which-generates-a-dynamic-filename-for">following issue</a>. After escaping the % characters and moving the quote marks it worked.</p>
<h4>Great! Now what?</h4>
<p>Now I have got it working I now need to decide how often I need to run backups. Cron has a great idea where you can specify every X so */2 means every X that is divisible by 2 so for example hours 2, 4, 6, 8, 10 and so on. I think for now I will put the website files at */6 which means every six hours it will backup all the files which is more than enough for the busiest of blogs and for the database backup I will put it at */2 so every two hours to make sure that I get all updates, comments, pings, trackbacks, etc. If there was a catastrophic failure then to loose 2 hours of database activity is not the end of the world in the grand scheme of things.</p>
<h4>Next steps?</h4>
<p>I would like to automate the process of moving the backup files to an offsite backup solution so I am not relying on logging in and moving the files myself. Has anybody had any experience of this? Could you post in the comments any ideas you might have? Cheers.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ianroke.co.uk/2009/12/rolling-own-wordpress-blog-backup/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Adding Tasks And Subtasks To A Plan In Microsoft Project 2010</title>
		<link>http://blog.ianroke.co.uk/2009/12/adding-tasks-and-subtasks-to-a-plan-in-microsoft-project-2010/</link>
		<comments>http://blog.ianroke.co.uk/2009/12/adding-tasks-and-subtasks-to-a-plan-in-microsoft-project-2010/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 00:00:23 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Project Management]]></category>
		<category><![CDATA[prince2]]></category>
		<category><![CDATA[project 2010]]></category>
		<category><![CDATA[project plan]]></category>
		<category><![CDATA[tasks]]></category>

		<guid isPermaLink="false">http://blog.ianroke.co.uk/?p=49</guid>
		<description><![CDATA[First thing I did was downloaded the latest PRINCE2 2009 Process Model diagram which is available in PDF on the PRINCE2 website. Next I loaded up Microsoft Project 2010 and entered the high level task I am going to use which in this case is the ‘Starting up a project’ stage. Next I want to [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>First thing I did was downloaded the latest <a href="http://www.prince2.com/downloads/prince2-2009-process-model.pdf">PRINCE2 2009 Process Model</a> diagram which is available in PDF on the PRINCE2 website.</p>
<p>Next I loaded up <a href="http://www.microsoft.com/project/2010/">Microsoft Project 2010</a> and entered the high level task I am going to use which in this case is the ‘Starting up a project’ stage.</p>
<p><span id="more-49"></span>
<p><a href="http://blog.ianroke.co.uk/wp-content/uploads/2009/12/20091208-001.gif"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" border="0" alt="Click here to view the full screen (71 KB)" title="Click here to view the full screen (71 KB)" src="http://188.65.115.2/~rokehost/ianroke.co.uk/blog/wp-content/uploads/2009/12/20091208001s_thumb.gif" width="604" height="304" /></a></p>
<p>Next I want to add a subtask which will be the start of my list of activities assigned to the ‘Starting up a project’ task.</p>
<p><a href="http://blog.ianroke.co.uk/wp-content/uploads/2009/12/20091208-002.gif"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" border="0" alt="Click here to view the full screen (73 KB)" title="Click here to view the full screen (73 KB)" src="http://188.65.115.2/~rokehost/ianroke.co.uk/blog/wp-content/uploads/2009/12/20091208002s_thumb.gif" width="604" height="304" /></a></p>
<p>To make this task a subtask of the line above click on the <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="" src="http://188.65.115.2/~rokehost/ianroke.co.uk/blog/wp-content/uploads/2009/12/image_thumb2.png" width="25" height="26" /> icon on the ribbon. I then added the other activities in the same way.</p>
<p><a href="http://blog.ianroke.co.uk/wp-content/uploads/2009/12/20091208-003.gif"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" border="0" alt="Click here to view the full screen (79 KB)" title="Click here to view the full screen (79 KB)" src="http://188.65.115.2/~rokehost/ianroke.co.uk/blog/wp-content/uploads/2009/12/20091208003s_thumb.gif" width="604" height="404" /></a></p>
<p>Now I have added my activities as subtasks I can now start to assign durations to them. These can obviously be changed but for now the typical rule is whatever you estimate then 100%.</p>
<p><a href="http://blog.ianroke.co.uk/wp-content/uploads/2009/12/20091208-004.gif"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" border="0" alt="Click here to view the full screen (80 KB)" title="Click here to view the full screen (80 KB)" src="http://188.65.115.2/~rokehost/ianroke.co.uk/blog/wp-content/uploads/2009/12/20091208004s_thumb.gif" width="604" height="404" /></a></p>
<p>You can see that it has underlined the Finish date of the task because I have subtasks that require more time. Some of the subtasks are done in a specific order so I am now going to add the number of the preceding task in the Predecessors cell which will move the tasks around on the Gantt chart.</p>
<p><a href="http://blog.ianroke.co.uk/wp-content/uploads/2009/12/20091208-005.gif"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" border="0" alt="Click here to view the full screen (83 KB)" title="Click here to view the full screen (83 KB)" src="http://188.65.115.2/~rokehost/ianroke.co.uk/blog/wp-content/uploads/2009/12/20091208005s_thumb.gif" width="604" height="404" /></a></p>
<p>I could also add resources and so on but I will leave it there for a simple introduction to adding tasks and subtasks to a project file in Project 2010. You will see that it has moved the entries around but the Finish date of the original task is still the same as before. You could enter in a new date or click on the task and click on the Auto Schedule button on the ribbon or use Ctrl + Shift + A on the keyboard. Now we can see that our project stage is due to end on 24/12/2009.</p>
<p><a href="http://blog.ianroke.co.uk/wp-content/uploads/2009/12/20091208-006.gif"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" border="0" alt="Click here to view the full screen (83 KB)" title="Click here to view the full screen (83 KB)" src="http://188.65.115.2/~rokehost/ianroke.co.uk/blog/wp-content/uploads/2009/12/20091208006s_thumb.gif" width="604" height="104" /></a></p>
<p>I hope that interests somebody. Entering new tasks and subtasks in Project 2010 seems a little more intuitive than with previous versions but only time will tell.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ianroke.co.uk/2009/12/adding-tasks-and-subtasks-to-a-plan-in-microsoft-project-2010/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Microsoft Project 2010 Is The Most Interesting Release In Years</title>
		<link>http://blog.ianroke.co.uk/2009/12/microsoft-project-2010-is-the-most-interesting-release-in-years/</link>
		<comments>http://blog.ianroke.co.uk/2009/12/microsoft-project-2010-is-the-most-interesting-release-in-years/#comments</comments>
		<pubDate>Sat, 05 Dec 2009 00:00:00 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Project Management]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[project 2010]]></category>

		<guid isPermaLink="false">http://blog.ianroke.co.uk/?p=30</guid>
		<description><![CDATA[If you are a project manager dealing with any size of project then you will more than likely have come across Microsoft Project and quite possibly use it on a regular basis. Recently Microsoft announced on their Project Team blog that the public beta of Project 2010 was available for download. They have also produced [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>If you are a project manager dealing with any size of project then you will more than likely have come across <a href="http://www.microsoft.com/uk/project/">Microsoft Project</a> and quite possibly use it on a regular basis.</p>
<p>Recently Microsoft announced on their <a href="http://blogs.msdn.com/project/">Project Team blog</a> that the <a href="http://blogs.msdn.com/project/archive/2009/11/18/now-available-project-2010-beta.aspx">public beta</a> of Project 2010 was available for download. They have also produced a <a href="http://www.microsoft.com/project/2010/">website</a> where they call this version of Project the most significant release in a decade.</p>
<p><span id="more-30"></span>I have downloaded the public beta to play around with and I will be blogging more on what I find out. In the mean time Microsoft have posted a large number of videos on their <a href="http://www.youtube.com/user/MSFTProject">YouTube channel</a> which you might find interesting or check out their videos on Project 2010 below.</p>
<p><iframe src="http://www.microsoft.com/video/en/us/player/embed/0586e3e5-4ad8-400a-ba1e-0f0b254fc0bb" allowtransparency="true" width="430" height="326" scrolling="no" frameborder="0"></iframe><br/><a href="http://www.microsoft.com/video/en/us/details/0586e3e5-4ad8-400a-ba1e-0f0b254fc0bb?vp_evt=eref&#038;vp_video=Project+Professional+2010+Overview">Project Professional 2010 Overview</a></p>
<p><iframe src="http://www.microsoft.com/video/en/us/player/embed/56f150ed-97ec-4c04-964f-237a9b22a363" allowtransparency="true" width="430" height="326" scrolling="no" frameborder="0"></iframe><br/><a href="http://www.microsoft.com/video/en/us/details/56f150ed-97ec-4c04-964f-237a9b22a363?vp_evt=eref&#038;vp_video=What+Partners+Like+about+Microsoft+Project+2010">What Partners Like about Microsoft Project 2010</a></p>
<p><iframe src="http://www.microsoft.com/video/en/us/player/embed/2029f7ae-7c87-4442-8344-cd12a27b64e9" allowtransparency="true" width="430" height="326" scrolling="no" frameborder="0"></iframe><br/><a href="http://www.microsoft.com/video/en/us/details/2029f7ae-7c87-4442-8344-cd12a27b64e9?vp_evt=eref&#038;vp_video=Project+Server+2003+to+Project+Server+2007+Migration+Best+Practices">Project Server 2003 to Project Server 2007 Migration Best Practices</a></p>
<p>More videos are available on the <a href="http://www.microsoft.com/global/project/2010/en/us/RichMedia/secondary/video_showcase.html">video showcase</a> section of their website.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ianroke.co.uk/2009/12/microsoft-project-2010-is-the-most-interesting-release-in-years/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hello world!</title>
		<link>http://blog.ianroke.co.uk/2009/11/hello-world/</link>
		<comments>http://blog.ianroke.co.uk/2009/11/hello-world/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 00:00:00 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[hello]]></category>
		<category><![CDATA[world]]></category>

		<guid isPermaLink="false">http://blog.ianroke.co.uk/?p=1</guid>
		<description><![CDATA[Hello and welcome to my new blog. If you have got this page but you were expecting something else on my site then apologies it is unlikely the page exists anymore.]]></description>
				<content:encoded><![CDATA[<p>Hello and welcome to my new blog. If you have got this page but you were expecting something else on my site then apologies it is unlikely the page exists anymore.</p>
<p>A short while ago I went to log in to my old blog to find that I couldn&#8217;t. After more investigation I found the database was corrupted so a fresh install was required.</p>
<p>I am not too upset by this because I let my old blog slip a bit but this time round things will be different. No really they will.</p>
<p>I hope you stick with me because I have a few interesting posts lined up. Save my <a href="http://blog.ianroke.co.uk/feed/">RSS feed</a> in your favourite news reader and it will be updated soon.</p>
<p>Cheers, Ian.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ianroke.co.uk/2009/11/hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
