<?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>matthewkenny.com &#187; Work</title>
	<atom:link href="http://www.matthewkenny.com/category/work/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.matthewkenny.com</link>
	<description></description>
	<lastBuildDate>Sun, 20 Dec 2009 23:10:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>Quick Update</title>
		<link>http://www.matthewkenny.com/2009/11/quick-update/</link>
		<comments>http://www.matthewkenny.com/2009/11/quick-update/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 21:32:29 +0000</pubDate>
		<dc:creator>Matthew Kenny</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Home]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[bit10]]></category>
		<category><![CDATA[home move]]></category>
		<category><![CDATA[london]]></category>

		<guid isPermaLink="false">http://www.matthewkenny.com/?p=99</guid>
		<description><![CDATA[So, I thought I&#8217;d ease into what will (hopefully) be another flurry of posting activity with a quick update on what&#8217;s been going on here recently.  If you&#8217;ve read through earlier posts on this blog then you may well know that I started working at bit10 in September 2007.  I&#8217;ve had a fantastic time working [...]]]></description>
			<content:encoded><![CDATA[<p>So, I thought I&#8217;d ease into what will (hopefully) be another flurry of posting activity with a quick update on what&#8217;s been going on here recently.  If you&#8217;ve read through earlier posts on this blog then you may well know that I started working at bit10 in September 2007.  I&#8217;ve had a fantastic time working at bit10; I&#8217;ve learned a great deal and met many people with whom I&#8217;m hoping to keep in contact.  However, as with all things, I think that it&#8217;s become time to move on.<span id="more-99"></span></p>
<p>I have had the good fortune of receiving an offer of employment from a London-based company, specialising in both Sitecore and ASP.Net MVC solutions (so, right up my street).  I&#8217;ll be starting there in February next year.  I&#8217;m really excited about it and am looking forward to getting stuck in.</p>
<p>As for what this means for me, it does mean that I&#8217;ll be moving to London in a few months.  Until then I&#8217;ll be commuting by train from Coventry, which isn&#8217;t quite as bad as it sounds &#8211; the train to Euston takes only an hour, and then there&#8217;s a short tube trip.  All very manageable in the short term.  Once everything settles down, I&#8217;ll start the process of moving (again).  Fortunately I haven&#8217;t quite unpacked from last time, so there isn&#8217;t quite as much work to be done this time around!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.matthewkenny.com/2009/11/quick-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP.Net MVC Framework &#8211; Initial Thoughts</title>
		<link>http://www.matthewkenny.com/2009/06/asp-net-mvc-framework-initial-thoughts/</link>
		<comments>http://www.matthewkenny.com/2009/06/asp-net-mvc-framework-initial-thoughts/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 11:24:11 +0000</pubDate>
		<dc:creator>Matthew Kenny</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[ASP]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://www.matthewkenny.com/?p=68</guid>
		<description><![CDATA[Having just completed a relatively large project using the newly released ASP.Net MVC Framework, I thought this would be a good time to post my thoughts on the framework.  I have to say that the bulk of my experience with MVC framework comes from my time using Ruby on Rails, so many of my perceptions [...]]]></description>
			<content:encoded><![CDATA[<p>Having just completed a relatively large project using the newly released ASP.Net MVC Framework, I thought this would be a good time to post my thoughts on the framework.  I have to say that the bulk of my experience with MVC framework comes from my time using Ruby on Rails, so many of my perceptions will be coloured by this.<span id="more-68"></span></p>
<p>First of all, for anyone who isn&#8217;t familiar with MVC (or Model View Controller), it&#8217;s a design pattern that emphasises the separation of concerns within the application, essentially: presentation data is kept separate from the application data, which &#8211; in turn &#8211; is separated from the logic relating to data storage, manipulation and retrieval.  The result is &#8211; for the most part &#8211; an application that is surprisingly easy to maintain and adapt.</p>
<p>The idea is to have a controller class, which exposes several public methods &#8211; or, actions &#8211; which can be called by a web request.  These actions execute a task, often involving communication with data storage through the model layer, and then finally pass data to a view, which renders the data and returns that to the user.  Some actions may have filters that run at various stages in the request, and can alter the end result of the request (a common example is to ensure a user is authenticated before processing an action).</p>
<p>For the most part, I have been pleased with the ASP.Net MVC Framework.  It bears striking resemblances in many places to Ruby on Rails, however it is often apparent that the framework is in its early stages as it is not as polished as Ruby on Rails.</p>
<p>Filters were one thing that irritated me somewhat, however they also had some features that I thought were original.  First, I thought that the usage of filters was cumbersome and quite inelegant: filters can be placed either on an action or an all actions in a controller class by decorating the method or class with the appropriate filter attribute.  The result of this method is that your controllers can become a hodgepodge of filter attributes.  I wish I had the syntactic sugar of Ruby on Rails&#8217; <tt>before_filter</tt> function, where it&#8217;s possible to write:</p>
<blockquote><p><tt>before_filter :require_admin, :only =&gt; [:delete, :create, :edit]</tt><br />
<tt>before_filter :require_logged_in, :except =&gt; [:login, :register]</tt></p></blockquote>
<p>I think that something based on the above would be a much neater way of specifying filters.</p>
<p>I liked having access to the &#8220;request context&#8221; from all the main parts of the application.  It serves as a rather straight-forward method of passing data between the layers and of accessing the original request information.  Something that can be difficult to do when you get deep into Rails applications: you lose the context of the request; you can&#8217;t get the original controller action or other request data.</p>
<p>I thought that the approach of using the <tt>ActionResult</tt> type to offload the work of processing each type of result was an excellent idea.  It actually neatly avoids a common source of errors encountered during the development or Rails applications: the &#8220;double render&#8221; error.  This error happens when, for example, a redirect is issued but then the controller continues to issue a view result also (caused because Ruby on Rails controller functions responsible for issuing results do not cause the controller action to return).  Returning the <tt>ActionResult </tt>neatly avoids that issue.</p>
<p>Initially I took great issue with the typical method of passing data into views via the <tt>ViewData</tt> dictionary.  I didn&#8217;t like the lack of strong-typing, the messiness this introduced into the view code, nor the ease with which certain things could be omitted from the dictionary.  I&#8217;m aware that the first and last really also apply to Ruby on Rails: the first I can ignore because Ruby, unlike C#, is dynamically typed; the second however, remains equally valid.  I would like to have some sort of contract between the View and the Controller that specified what data will be supplied, although I&#8217;m aware this is heading more toward the MCP design pattern.</p>
<p>Shortly after my disappointment over the <tt>ViewData</tt> dictionary, I discovered the existence of page models.  The ASP.Net MVC framework allows you to create strongly typed views by use of a page model (in most cases, a class that exposes a number of properties containing information that would normally be passed via the <tt>ViewData</tt>.  It doesn&#8217;t allow you to <em>require </em>values to be passed into the view, but it&#8217;s much better than the alternative.</p>
<p>Then finally we have the Model Binding of the ASP.Net Framework.  This is still a bit of a black art to me; I&#8217;ve not yet had time to sufficiently examine its workings, but it is rather nifty.  It enables the binding of values to objects in the controller and views; this allows controller actions to use model objects (<em>e.g.</em> a user object) as a parameter rather than having a parameter for each field of the user.  It also allows &#8220;sticky fields&#8221; to be implemented very easily in the View.</p>
<p>That&#8217;s all that&#8217;s come to mind right now &#8211; although I&#8217;m certainly sure there are other things that I&#8217;ve overlooked.  You may notice that I&#8217;ve omitted practically any reference to the Model part of MVC; this isn&#8217;t a co-incidence, it&#8217;s an avenue that I&#8217;m leaving open to the possibility of future posts given the fact that the ASP.Net MVC framework does not tie you to one particular ORM like Ruby on Rails does (generally speaking).  It would make the scope of the post far too large, and I feel that this post is pushing the bounds of length regardless.</p>
<p>Anyway, these are my thoughts; if anyone has some other views, contributions or corrections, I look forward to reading them in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.matthewkenny.com/2009/06/asp-net-mvc-framework-initial-thoughts/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PHP4, IIS6 and 64-bit Windows 2003 Server</title>
		<link>http://www.matthewkenny.com/2008/12/php4-iis6-and-64-bit-windows-2003-server/</link>
		<comments>http://www.matthewkenny.com/2008/12/php4-iis6-and-64-bit-windows-2003-server/#comments</comments>
		<pubDate>Sun, 14 Dec 2008 15:37:02 +0000</pubDate>
		<dc:creator>Matthew Kenny</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[iis]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.matthewkenny.com/?p=35</guid>
		<description><![CDATA[If anyone had asked me how to put these three things together a week ago, I would have cringed; my next reaction would be to suggest upgrading to PHP5, using Apache, and one flavour or another of Linux.  Unfortunately that wasn&#8217;t possible at this point so, armed with the usual developer tools (that is, the [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>If anyone had asked me how to put these three things together a week ago, I would have cringed; my next reaction would be to suggest upgrading to PHP5, using Apache, and one flavour or another of Linux.  Unfortunately that wasn&#8217;t possible at this point so, armed with the usual developer tools (that is, the F1 key and Google), I set out to get things set up&#8230; after all, how hard could it be?<br />
<span id="more-35"></span><br />
While I&#8217;m sure I didn&#8217;t say that last bit out loud, I must have tempted fate as I spent the next day or so spouting obscenities at my poor computer whilst flitting about the internet looking for solutions to one problem or another.  My first suggestion is that you read the <a title="PHP installation instructions" href="http://uk3.php.net/manual/en/install.windows.iis.php" target="_blank">instructions</a> in the PHP manual thoroughly; I glanced over them filled with false bravado based on having installed it on Apache many times, but didn&#8217;t really take note of the specifics.  This proved to be my downfall, as points five and nine of the general considerations were especially important.</p>
<p>Once everything had been done, though, it <em>still</em> didn&#8217;t work &#8211; requests just resulted in a 500 error code.  After investigating the issue, I found that (on some machines) installing a particular version of ActivePerl on a machine can break IIS.  This is because it adds an application mapping for the &#8220;.plx&#8221; file extension, but doesn&#8217;t enter an executable path; and this just breaks the server.  Since I didn&#8217;t need to be able to serve these files, I deleted the mapping and this made everything work.  If you do need to serve this sort of file then I would imagine that entering the appropriate path in the mapping would also solve the problem.</p>
<p>So, I hope that helps someone.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.matthewkenny.com/2008/12/php4-iis6-and-64-bit-windows-2003-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Matt Gets Certified</title>
		<link>http://www.matthewkenny.com/2008/09/matt-gets-certified/</link>
		<comments>http://www.matthewkenny.com/2008/09/matt-gets-certified/#comments</comments>
		<pubDate>Mon, 01 Sep 2008 19:10:27 +0000</pubDate>
		<dc:creator>Matthew Kenny</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[certification]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[sitecore]]></category>

		<guid isPermaLink="false">http://www.matthewkenny.com/?p=31</guid>
		<description><![CDATA[Being my first &#8220;official&#8221; certification, I figured I&#8217;d give it a mention.  A couple of weeks ago I got sent down to London to do some developer training for a CMS that we&#8217;re going to be using quite a bit at the company I work at.  At some point, there&#8217;s also going to be some [...]]]></description>
			<content:encoded><![CDATA[<p>Being my first &#8220;official&#8221; certification, I figured I&#8217;d give it a mention.  A couple of weeks ago I got sent down to London to do some developer training for a <abbr title="Content Management System">CMS</abbr> that we&#8217;re going to be using quite a bit at the company I work at.  At some point, there&#8217;s also going to be some interesting work porting existing customer sites to the <a title="Sitecore website" href="http://www.sitecore.net" target="_blank">Sitecore</a> platform.<br />
<span id="more-31"></span><br />
In the meantime, there&#8217;s one large Sitecore project which I&#8217;m due to start development on in coming weeks; so I&#8217;m looking forward to doing some actual work with it.</p>
<p>I think I might start looking at some proper accreditations in the near future, as they can only help my career prospects, and I think they&#8217;d really be quite interesting.  The question is whether I&#8217;ll have to cough up the money myself or if it will be covered under CPD&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.matthewkenny.com/2008/09/matt-gets-certified/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>My first two weeks</title>
		<link>http://www.matthewkenny.com/2007/09/my-first-two-weeks/</link>
		<comments>http://www.matthewkenny.com/2007/09/my-first-two-weeks/#comments</comments>
		<pubDate>Fri, 21 Sep 2007 22:38:12 +0000</pubDate>
		<dc:creator>Matthew Kenny</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[bit10]]></category>
		<category><![CDATA[Vista]]></category>

		<guid isPermaLink="false">http://www.matthewkenny.com/2007/09/21/my-first-two-weeks/</guid>
		<description><![CDATA[Well, I&#8217;ve reached the two week mark at bit10. I&#8217;m quite impressed with myself. So far, I&#8217;m really having a great time (always good where jobs are concerned), and the people are really nice too. The pub lunches, and trips to nice places like Alton Towers help too though . My work really consists of [...]]]></description>
			<content:encoded><![CDATA[<p>Well, I&#8217;ve reached the two week mark at bit10.  I&#8217;m quite impressed with myself.</p>
<p>So far, I&#8217;m really having a great time (always good where jobs are concerned), and the people are really nice too.  The pub lunches, and trips to nice places like Alton Towers help too though <img title="Laughing Out Loud" src="http://www.matthewkenny.com/wp-includes/images/smilies/icon_lol.gif" border="0" alt="Laughing Out Loud" />.<br />
<span id="more-23"></span><br />
My work really consists of a mixture of project work, and support requests.  Projects are fairly self-explanatory, and support requests are when a client either requests a change to the site, or experiences a problem with it, which I then (try to) fix.</p>
<p>The first week consisted mostly of orientation meetings and learning ColdFusion, which went well enough.  There were a few simple change requests that  needed doing, too.  We also got wind of an upcoming project that we&#8217;d be working on, which would kick off in October.</p>
<p>The second week was a little more hectic, with a seemingly endless barrage of support requests being thrown at us.  On the bright side, our shiny, new Vista workstations arrived (although it was a struggle to make everything work).  There was also a trip to Alton Towers for &#8216;team building&#8217;&#8230; great fun &#8211; photos on Facebook.</p>
<p>That&#8217;s a really brief overview, anyway, I&#8217;m being pestered into going to bed.  I&#8217;m a little sleepy too.  I&#8217;ll probably find time to write a bit more at a later point.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.matthewkenny.com/2007/09/my-first-two-weeks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
