<?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>James Hollingworth's Adventures in Code</title>
	<atom:link href="http://jhollingworth.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://jhollingworth.wordpress.com</link>
	<description></description>
	<lastBuildDate>Sun, 29 Mar 2009 20:24:18 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='jhollingworth.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/48f6545e7bac87f037511cee8ef51d3c?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>James Hollingworth's Adventures in Code</title>
		<link>http://jhollingworth.wordpress.com</link>
	</image>
			<item>
		<title>ASP.NET Calender Validation</title>
		<link>http://jhollingworth.wordpress.com/2008/10/31/aspnet-calender-validation/</link>
		<comments>http://jhollingworth.wordpress.com/2008/10/31/aspnet-calender-validation/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 16:31:26 +0000</pubDate>
		<dc:creator>jhollingworth</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jhollingworth.wordpress.com/?p=42</guid>
		<description><![CDATA[Today I need to validate that a user had entered a date in an asp.net calender only to find that there were no solutions for it so for future reference, if you want a calendar validator use the following:
public class CalendarValidator : BaseValidator
{
protected override bool ControlPropertiesValid()
{
return true;
}
if(DateTime.MinValue == control.SelectedDate)
{
return false;
}
return true;
}
}
protected override bool EvaluateIsValid()
{
var control [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jhollingworth.wordpress.com&blog=1474299&post=42&subd=jhollingworth&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Today I need to validate that a user had entered a date in an asp.net calender only to find that there were no solutions for it so for future reference, if you want a calendar validator use the following:</p>
<p>public class CalendarValidator : BaseValidator<br />
{</p>
<p>protected override bool ControlPropertiesValid()<br />
{<br />
return true;<br />
}</p>
<p>if(DateTime.MinValue == control.SelectedDate)<br />
{<br />
return false;<br />
}</p>
<p>return true;<br />
}<br />
}</p>
<p>protected override bool EvaluateIsValid()<br />
{<br />
var control = Parent.FindControl(ControlToValidate) as Calendar;</p>
<p>if(null == control)<br />
{<br />
throw new NullReferenceException(<br />
string.Format(&#8220;Could not find the control with id {0} on the page&#8221;, ControlToValidate)<br />
);<br />
}</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jhollingworth.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jhollingworth.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jhollingworth.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jhollingworth.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jhollingworth.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jhollingworth.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jhollingworth.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jhollingworth.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jhollingworth.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jhollingworth.wordpress.com/42/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jhollingworth.wordpress.com&blog=1474299&post=42&subd=jhollingworth&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jhollingworth.wordpress.com/2008/10/31/aspnet-calender-validation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bd5217f0c19397986b1f8cb9f2fdb370?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jhollingworth</media:title>
		</media:content>
	</item>
		<item>
		<title>Exams Results</title>
		<link>http://jhollingworth.wordpress.com/2008/06/11/exams-results/</link>
		<comments>http://jhollingworth.wordpress.com/2008/06/11/exams-results/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 19:32:54 +0000</pubDate>
		<dc:creator>jhollingworth</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jhollingworth.wordpress.com/?p=36</guid>
		<description><![CDATA[Just found out I got a 1st for my degree as well as the Sulivan Award for best project for the year!
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jhollingworth.wordpress.com&blog=1474299&post=36&subd=jhollingworth&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Just found out I got a 1st for my degree as well as the Sulivan Award for best project for the year!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jhollingworth.wordpress.com/36/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jhollingworth.wordpress.com/36/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jhollingworth.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jhollingworth.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jhollingworth.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jhollingworth.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jhollingworth.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jhollingworth.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jhollingworth.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jhollingworth.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jhollingworth.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jhollingworth.wordpress.com/36/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jhollingworth.wordpress.com&blog=1474299&post=36&subd=jhollingworth&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jhollingworth.wordpress.com/2008/06/11/exams-results/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bd5217f0c19397986b1f8cb9f2fdb370?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jhollingworth</media:title>
		</media:content>
	</item>
		<item>
		<title>Muney: Organizing a students finances</title>
		<link>http://jhollingworth.wordpress.com/2008/05/26/muney-organizing-a-users-financial-information/</link>
		<comments>http://jhollingworth.wordpress.com/2008/05/26/muney-organizing-a-users-financial-information/#comments</comments>
		<pubDate>Mon, 26 May 2008 23:02:21 +0000</pubDate>
		<dc:creator>jhollingworth</dc:creator>
				<category><![CDATA[dissertation]]></category>
		<category><![CDATA[muney]]></category>
		<category><![CDATA[ofx]]></category>
		<category><![CDATA[collective intelligence]]></category>
		<category><![CDATA[neural network]]></category>
		<category><![CDATA[personal finance]]></category>

		<guid isPermaLink="false">http://jhollingworth.wordpress.com/?p=32</guid>
		<description><![CDATA[This is the first of a series of articles about my dissertation, a personal financial management application for students. The first task was to organize a users finances by importing their financial information and then correctly naming &#38; categorizing it.
A financial application is useless without a users financial information, however manually adding individual transactions quickly [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jhollingworth.wordpress.com&blog=1474299&post=32&subd=jhollingworth&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:left;">This is the first of a series of articles about my dissertation, a personal financial management application for students. The first task was to organize a users finances by importing their financial information and then correctly naming &amp; categorizing it.</p>
<p style="text-align:left;">A financial application is useless without a users financial information, however manually adding individual transactions quickly becomes monotonous. Most on-line banks allow you to download your financial information into a variety of financial document formats and so this was the obvious solution to this problem. One of the most popular formats is the Open Financial Exchange Format (OFX), a widely implemented specification used for communication of financial instructions &amp; data between financial institutions &amp; their customers. There were unfortunately no open source OFX parsers for C# so part of my project was to develop one. I have <a href="http://jhollingworth.wordpress.com/2007/08/07/no-more-ofx-worries/">blogged about</a> my development of this component before and after quite a lot of interest, i will be open sourcing the parser at some point soon.</p>
<p>One problem I found, although importing financial information via OFX documents was one hell of a lot quicker than doing it manually, I still had to heavily edit all of the transaction info after the initial import. This was because most companies added lots of extra metadata in the transaction name (e.g. company name, transaction ID, date, etc) as shown in Figure 1. Personally I found that it was quite difficult to, at a glance, understand what each transaction was actually for. I therefore needed a method of inferring the correct name for a transaction.</p>
<p style="text-align:center;">1271 12DEC07 0000, CO-OP GROUP 310630, ERLEIGH<br />
Figure 1 Example transaction description</p>
<p style="text-align:left;">Wesabe’s solution to the problem was to record changes users make to transactions and then apply those changes to other transactions encountered with the same transaction name. The problem is, since many transactions contain dynamic metadata (e.g. branch id, transaction date), transaction names are rarely alike.</p>
<p>To combat this, i had to develop a method of splitting the transaction name up into pertinent sub-strings and then mapping the sub strings to the correct names. To achieve, this a modified version of the Lempel-Ziv-Welch (LZW) lossless compression algorithm was used. The algorithm consists of a dictionary of strings, initialised with every alpha-numeric character, and a corresponding code. The algorithm then takes the first two letters of the text to compress and checks if it is in the dictionary. If it does exist, it outputs its corresponding code, and then concatenates the next letter to see if that combination has been seen before. If the dictionary does not contain the combination of characters, it adds it to the dictionary and then concatenates the next two characters within the text. The essence of the algorithm is that it is identifying common sub strings within a string. If the dictionary’s state could then be persisted between imports, the algorithm can be used identify the common sub strings within transaction names e.g. it would identify the common sub string “CO-OP” within “CO-OP 310630, ERLEIGH”, “12 Dec CO-OP” and “43943 CO-OP, READING”.</p>
<p>Although this solution solved the problem of identifying the common sub strings within a transaction name, it created a new problem. Now that the transaction name is composed of &gt; 1 sub strings, it&#8217;s not a simple one to many mapping to the correct transaction name but rather a many to many mapping. The problem therefore is, how do you what is the best name? The solution was to use a single layer neural network (Figure 2) with the input layer being the sub strings of the transaction name and then output layer being the correct names. The network is trained any time a user corrects a transaction name and, using then used to compute a best guess for correct transaction name.</p>
<p style="text-align:center;"><a href="http://jhollingworth.files.wordpress.com/2008/05/neural-network.png"><img class="alignnone size-medium wp-image-31 aligncenter" src="http://jhollingworth.files.wordpress.com/2008/05/neural-network.png?w=281&#038;h=300" alt="" width="281" height="300" /></a></p>
<p style="text-align:center;">Figure 2 Single layer neural network for transaction name inference</p>
<p style="text-align:left;">One problem with this solution is, if a single neural network is used for all users then the results would not be personalized and thus not very accurate. However if each user has their own neural network, while the results will be accurate, unless the user has previously trained the network on similar transactions names, the solution will not produce relevant results. To solve this, the concept of branching was developed. The premise of branching is to have both a global and user specific networks. The global network is trained every time any user imports a transaction, while the user specific one is only trained on the user’s personal data. If the application encounters an input not found in the user’s network, it uses the connections &amp; outputs from the global network instead. This means the user has the best of both worlds as the solution is personalized if they have stated a preference, yet will still produce results otherwise.</p>
<p style="text-align:left;">Testing found that the solution can accurately (≈ 90%) identify the correct transaction name &amp; category once the user has used the application for a short period of time. Harnessing the collective intelligence of the users however meant users only encountered a 10% reduction in accuracy for unseen content.</p>
<p style="text-align:left;">This was only the first (and probably simplest) part of my project, next I shall discuss managing a students finances!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jhollingworth.wordpress.com/32/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jhollingworth.wordpress.com/32/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jhollingworth.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jhollingworth.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jhollingworth.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jhollingworth.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jhollingworth.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jhollingworth.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jhollingworth.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jhollingworth.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jhollingworth.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jhollingworth.wordpress.com/32/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jhollingworth.wordpress.com&blog=1474299&post=32&subd=jhollingworth&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jhollingworth.wordpress.com/2008/05/26/muney-organizing-a-users-financial-information/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bd5217f0c19397986b1f8cb9f2fdb370?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jhollingworth</media:title>
		</media:content>

		<media:content url="http://jhollingworth.files.wordpress.com/2008/05/neural-network.png?w=281" medium="image" />
	</item>
		<item>
		<title>Muney: Financial Management for Students</title>
		<link>http://jhollingworth.wordpress.com/2008/05/26/muney-financial-management-for-students/</link>
		<comments>http://jhollingworth.wordpress.com/2008/05/26/muney-financial-management-for-students/#comments</comments>
		<pubDate>Mon, 26 May 2008 23:00:10 +0000</pubDate>
		<dc:creator>jhollingworth</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[castleproject]]></category>
		<category><![CDATA[dissertation]]></category>
		<category><![CDATA[monorail]]></category>
		<category><![CDATA[muney]]></category>
		<category><![CDATA[ofx]]></category>
		<category><![CDATA[buxfer]]></category>
		<category><![CDATA[financial management]]></category>
		<category><![CDATA[microsoft money]]></category>
		<category><![CDATA[personal finance]]></category>
		<category><![CDATA[quicken]]></category>
		<category><![CDATA[wesabe]]></category>

		<guid isPermaLink="false">http://jhollingworth.wordpress.com/?p=26</guid>
		<description><![CDATA[Over the past year, I have spent quite a long time on my dissertation. I’m pretty proud of it and I have had quite a few positive comments from various lecturers (I’ve even been asked to write a paper on it for a journal). I’ve decided to write a few articles about my work, hopefully [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jhollingworth.wordpress.com&blog=1474299&post=26&subd=jhollingworth&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Over the past year, I have spent quite a long time on my dissertation. I’m pretty proud of it and I have had quite a few positive comments from various lecturers (I’ve even been asked to write a paper on it for a journal). I’ve decided to write a few articles about my work, hopefully it will hope someone out. If your interested in it, my final report can be found <a href="http://jhollingworth.files.wordpress.com/2008/05/fast-financial-analysis-for-students1.pdf">here.</a></p>
<p>My project was a personal financial management application for students (the actual title was FAST: Financial Analysis for STudents although my final application was called Muney). Essentially I was having problems with my finances a while ago, being the good programmer that I am, I had a look at what software was available. To be honest, from a students perspective, Microsoft Money &amp; Quicken are pretty terrible. Users are required to have a significant amount of financial knowledge to use them effectively. In their defense, these app&#8217;s aren’t really aimed at the student demographic.</p>
<p>This was obviously a known problem since I found a few web applications such as wesabe &amp; buxfer, which were developed to solve just this problem. Although these applications are much more student friendly they were really basic, not offering solutions for tasks students are commonly pretty poor at performing (e.g. bill management, budgeting)</p>
<p>So based on this, I decided to develop a financial application which automates important monetary tasks and does so in a way which is easy for a student, with no prior financial knowledge, to understand and use. The application was written using C# &amp; Castle Project&#8217;s Monorail framework a screen shot is shown below</p>
<p style="text-align:center;"><img class="alignnone size-full wp-image-28" src="http://jhollingworth.files.wordpress.com/2008/05/website.png?w=449&#038;h=421" alt="" width="449" height="421" /></p>
<p style="text-align:left;">The application had a variety of features including</p>
<ul>
<li>Bulk importing financial information via an OFX parser (currently open sourcing the parser I had to write to achieve this)</li>
<li>Automatically renaming and categorizng transactions</li>
<li>Bill managment (including automatically discovering new bills and recognizing transactions as payments for bills via clustering techniques)</li>
<li>Automatic budgeting (including time series forecasting to predict a users expenditure)</li>
</ul>
<p style="text-align:left;">Since i covered quite a few topics devloping these features, i&#8217;m going to split this blog into a series of articles. The application can be split up into three tasks, organizing, managing and planning a users finances:</p>
<p style="text-align:center;"><a href="http://jhollingworth.files.wordpress.com/2008/05/problems.png"><img class="alignnone size-medium wp-image-29" src="http://jhollingworth.files.wordpress.com/2008/05/problems.png?w=353&#038;h=249" alt="" width="353" height="249" /></a></p>
<p style="text-align:left;">Here are the articles discussing these tasks</p>
<ul>
<li><a href="http://jhollingworth.wordpress.com/2008/05/26/muney-organizing-a-users-financial-information/">Organization</a></li>
<li><span style="color:#888888;">Managment (coming soon&#8230;)<br />
</span></li>
<li><span style="color:#888888;">Planning (coming soon&#8230;)</span></li>
</ul>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jhollingworth.wordpress.com/26/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jhollingworth.wordpress.com/26/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jhollingworth.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jhollingworth.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jhollingworth.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jhollingworth.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jhollingworth.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jhollingworth.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jhollingworth.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jhollingworth.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jhollingworth.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jhollingworth.wordpress.com/26/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jhollingworth.wordpress.com&blog=1474299&post=26&subd=jhollingworth&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jhollingworth.wordpress.com/2008/05/26/muney-financial-management-for-students/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bd5217f0c19397986b1f8cb9f2fdb370?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jhollingworth</media:title>
		</media:content>

		<media:content url="http://jhollingworth.files.wordpress.com/2008/05/website.png" medium="image" />

		<media:content url="http://jhollingworth.files.wordpress.com/2008/05/problems.png?w=300" medium="image" />
	</item>
		<item>
		<title>Subsonic like NHibernate Query Generator button in Visual Studio</title>
		<link>http://jhollingworth.wordpress.com/2008/03/28/subsonic-like-nhibernate-query-generator-button-in-visual-studio/</link>
		<comments>http://jhollingworth.wordpress.com/2008/03/28/subsonic-like-nhibernate-query-generator-button-in-visual-studio/#comments</comments>
		<pubDate>Fri, 28 Mar 2008 19:39:54 +0000</pubDate>
		<dc:creator>jhollingworth</dc:creator>
				<category><![CDATA[NHibernate]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[castleproject]]></category>
		<category><![CDATA[visual studio]]></category>
		<category><![CDATA[visual studio 2008]]></category>
		<category><![CDATA[NHibernate Query Generator]]></category>
		<category><![CDATA[Oren]]></category>
		<category><![CDATA[SubSonic]]></category>

		<guid isPermaLink="false">http://jhollingworth.wordpress.com/?p=24</guid>
		<description><![CDATA[One thing I love about SubSonic, in fact the reason i switched, was how awsome the querying is. I don&#8217;t know why but something like new UserCollection().Where(&#8220;UserID&#8221;, id).Where(&#8220;Password&#8221;, password) just does it for me. Going from that back to either HQL or ICriterion was a rather painful experience. A very clever guy called Oren, has [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jhollingworth.wordpress.com&blog=1474299&post=24&subd=jhollingworth&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>One thing I love about SubSonic, in fact the reason i switched, was how awsome the querying is. I don&#8217;t know why but something like new UserCollection().Where(&#8220;UserID&#8221;, id).Where(&#8220;Password&#8221;, password) just does it for me. Going from that back to either HQL or ICriterion was a rather painful experience. A very clever guy called <a href="http://www.ayende.com/Blog/">Oren</a>, has come up with a solution to this called <a href="http://www.ayende.com/Blog/archive/7186.aspx">NHibernate Query Generator (NQG)</a>. You can do some rather nifty things like FindOne(WHERE.User.Name == &#8220;James&#8221; &amp;&amp; WHERE.User.Password == &#8220;NotGoingToTellYou&#8221;). Many (including Oren) belive that you shouldnt have strings in your code and thus the code to create all these cool queries is autogenerated.</p>
<p>The problem I found was I had to constantly change back &amp; forth between the command line &amp; VS to update the code. To solve this i borrowed a trick from SubSonic. I have created a little button in VS (see below) which will run the query complier for you.</p>
<div style="text-align:center;"><img src="http://jhollingworth.files.wordpress.com/2008/03/button.png" alt="Nhibernate Button" /></div>
<p>To do this, firstly <a href="http://www.ayende.com/projects/downloads/nhibernate-query-generator.aspx">download the latest version of NQG</a>, then copy the exe file NHQG.exe to an safe location e.g. &#8220;c:\Program Files\NHibernate\&#8221;. Next you need to open up visual studio, and click Tools -&gt; External Tools and then click add. Give whatever name you want e.g. NHibernate, and then for the command the location of NHQG.exe, in my case &#8220;c:\Program Files\NHibernate\NHQG.exe&#8221;. In the arguments field, you have a few choices:</p>
<ul>
<li> /Lang: language used, either cs | vb</li>
<li>/InputFilePattern: location of either Nhibernate mapping file or the dll (if your using Castle Projects ActiveRecord)</li>
<li>/OutputDirectory: Directory you want the files to go to e.g. ./Models/Queries</li>
<li>/BaseNamespace: Base namspace for queries, e.g. Priority.Queries</li>
</ul>
<p>so a complete example would look like  &#8220;/Lang:cs /InputFilePattern:bin/Priority.dll /OutputDirectory:Models/Queries /BaseNamespace:Priority.Queries&#8221;</p>
<p>For Inital directory you just add $(ProjectDir) which sets the starting location to be the root of the project directory. Finally, make sure that it is the first in the menu (it will become clear why in a second).</p>
<div style="text-align:center;"><img src="http://jhollingworth.files.wordpress.com/2008/03/externaltools2.png" alt="externaltools2.png" /></div>
<p>Once you click ok, you will now be able to run the application by clicking on Tools -&gt; NHibernate. To create a button for this, you need to click Tools -&gt; Customize -&gt; Toolbars &amp; then click new, a new menu should appear. Next you need to switch back to Commands, Select Tools and the scroll down until you see all the External Command x&#8217;s. Drag External Command 1 onto your new toolbar and then click close. It should change the text from External Command 1 to NHibernate (or whatever name you gave it) and your done!</p>
<p>Hope this helps someone!</p>
<p>Right now that we have</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jhollingworth.wordpress.com/24/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jhollingworth.wordpress.com/24/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jhollingworth.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jhollingworth.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jhollingworth.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jhollingworth.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jhollingworth.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jhollingworth.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jhollingworth.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jhollingworth.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jhollingworth.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jhollingworth.wordpress.com/24/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jhollingworth.wordpress.com&blog=1474299&post=24&subd=jhollingworth&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jhollingworth.wordpress.com/2008/03/28/subsonic-like-nhibernate-query-generator-button-in-visual-studio/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bd5217f0c19397986b1f8cb9f2fdb370?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jhollingworth</media:title>
		</media:content>

		<media:content url="http://jhollingworth.files.wordpress.com/2008/03/button.png" medium="image">
			<media:title type="html">Nhibernate Button</media:title>
		</media:content>

		<media:content url="http://jhollingworth.files.wordpress.com/2008/03/externaltools2.png" medium="image">
			<media:title type="html">externaltools2.png</media:title>
		</media:content>
	</item>
		<item>
		<title>Monorail: Get client&#8217;s browser</title>
		<link>http://jhollingworth.wordpress.com/2008/03/02/monorail-get-clients-browser/</link>
		<comments>http://jhollingworth.wordpress.com/2008/03/02/monorail-get-clients-browser/#comments</comments>
		<pubDate>Sun, 02 Mar 2008 11:19:07 +0000</pubDate>
		<dc:creator>jhollingworth</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[castleproject]]></category>
		<category><![CDATA[monorail]]></category>
		<category><![CDATA[nvelocity]]></category>
		<category><![CDATA[monorail client browser castleproject web]]></category>

		<guid isPermaLink="false">http://jhollingworth.wordpress.com/?p=18</guid>
		<description><![CDATA[For future reference, to get the clients browser:

    $Context.UnderlyingContext.Request.Browser.Browser
This is infact accessing the HttpRequest.Browser property so you can then get all the usual info like browser version:
    $Context.UnderlyingContext.Request.Browser.MajorVersion
Hope this helps someone!
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jhollingworth.wordpress.com&blog=1474299&post=18&subd=jhollingworth&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>For future reference, to get the clients browser:<br />
<code></code></p>
<p><code>    $Context.UnderlyingContext.Request.Browser.Browser</code></p>
<p>This is infact accessing the <a href="http://msdn2.microsoft.com/en-us/library/system.web.httprequest.browser.aspx">HttpRequest.Browser property</a> so you can then get all the usual info like browser version:</p>
<p><code>    $Context.UnderlyingContext.Request.Browser.MajorVersion</code></p>
<p>Hope this helps someone!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jhollingworth.wordpress.com/18/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jhollingworth.wordpress.com/18/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jhollingworth.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jhollingworth.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jhollingworth.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jhollingworth.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jhollingworth.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jhollingworth.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jhollingworth.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jhollingworth.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jhollingworth.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jhollingworth.wordpress.com/18/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jhollingworth.wordpress.com&blog=1474299&post=18&subd=jhollingworth&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jhollingworth.wordpress.com/2008/03/02/monorail-get-clients-browser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bd5217f0c19397986b1f8cb9f2fdb370?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jhollingworth</media:title>
		</media:content>
	</item>
		<item>
		<title>Visual Studio syntax highlighting for Monorail views</title>
		<link>http://jhollingworth.wordpress.com/2008/02/24/visual-studio-syntax-highlighting-for-monorail-views/</link>
		<comments>http://jhollingworth.wordpress.com/2008/02/24/visual-studio-syntax-highlighting-for-monorail-views/#comments</comments>
		<pubDate>Sun, 24 Feb 2008 11:12:54 +0000</pubDate>
		<dc:creator>jhollingworth</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[castleproject]]></category>
		<category><![CDATA[monorail]]></category>
		<category><![CDATA[nvelocity]]></category>
		<category><![CDATA[visual studio]]></category>
		<category><![CDATA[visual studio 2008]]></category>
		<category><![CDATA[visual studio 2008 .net monorail views .vm castleprojec]]></category>

		<guid isPermaLink="false">http://jhollingworth.wordpress.com/?p=16</guid>
		<description><![CDATA[I was just having a look through the options in visual studio 2008 and noticed a new section for selecting the default editor for non-standard files, such as monorail views (.vm).  Up to now i&#8217;ve either had to make do with the basic text editor or mess around with the registry, neither of which [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jhollingworth.wordpress.com&blog=1474299&post=16&subd=jhollingworth&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I was just having a look through the options in visual studio 2008 and noticed a new section for selecting the default editor for non-standard files, such as monorail views (.vm).  Up to now i&#8217;ve either had to make do with the basic text editor or <a href="http://codebetter.com/blogs/darrell.norton/archive/2004/04/21/11837.aspx">mess around with the registry</a>, neither of which is that much fun. The dialog is in options -&gt; text editor -&gt; file extension you can then choose what editor you want to associate  with each file extension. Hope this is helpful to someone!</p>
<p><a href="http://jhollingworth.files.wordpress.com/2008/02/file-extensions.png" title="Adding monorail views to vs 2008"></a></p>
<div style="text-align:center;"><a href="http://jhollingworth.files.wordpress.com/2008/02/file-extensions.png" title="Adding monorail views to vs 2008"><img src="http://jhollingworth.files.wordpress.com/2008/02/file-extensions.png" alt="Adding monorail views to vs 2008" /></a></div>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jhollingworth.wordpress.com/16/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jhollingworth.wordpress.com/16/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jhollingworth.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jhollingworth.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jhollingworth.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jhollingworth.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jhollingworth.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jhollingworth.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jhollingworth.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jhollingworth.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jhollingworth.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jhollingworth.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jhollingworth.wordpress.com&blog=1474299&post=16&subd=jhollingworth&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jhollingworth.wordpress.com/2008/02/24/visual-studio-syntax-highlighting-for-monorail-views/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bd5217f0c19397986b1f8cb9f2fdb370?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jhollingworth</media:title>
		</media:content>

		<media:content url="http://jhollingworth.files.wordpress.com/2008/02/file-extensions.png" medium="image">
			<media:title type="html">Adding monorail views to vs 2008</media:title>
		</media:content>
	</item>
		<item>
		<title>Get the currency symbol for the ISO 4217 Currency Code (C#)</title>
		<link>http://jhollingworth.wordpress.com/2007/12/09/get-the-currency-symbol-for-the-iso-4217-currency-code-c/</link>
		<comments>http://jhollingworth.wordpress.com/2007/12/09/get-the-currency-symbol-for-the-iso-4217-currency-code-c/#comments</comments>
		<pubDate>Sun, 09 Dec 2007 12:58:18 +0000</pubDate>
		<dc:creator>jhollingworth</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[linq]]></category>
		<category><![CDATA[ofx]]></category>
		<category><![CDATA[linq c# money currency ofx]]></category>

		<guid isPermaLink="false">http://jhollingworth.wordpress.com/2007/12/09/get-the-currency-symbol-for-the-iso-4217-currency-code-c/</guid>
		<description><![CDATA[Had a bit of a problem today. After importing a bunch of transactions I needed to display the corresponding currency symbol. The problem was when you import OFX transactions, the currency is in the ISO 4217 three letter format. Basically the little bit of LINQ below will search through all the culture infos until it [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jhollingworth.wordpress.com&blog=1474299&post=14&subd=jhollingworth&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Had a bit of a problem today. After importing a bunch of transactions I needed to display the corresponding currency symbol. The problem was when you import OFX transactions, the currency is in the ISO 4217 three letter format. Basically the little bit of LINQ below will search through all the culture infos until it finds one with the correct ISO Currency symbol. Its little things like this that make me love linq!<br />
<code></code></p>
<p><code>RegionInfo regionInfo = (from c in CultureInfo.GetCultures(CultureTypes.InstalledWin32Cultures)<br />
let r = new RegionInfo(c.LCID)<br />
where r.ISOCurrencySymbol == "GBP"<br />
select r).First();</code></p>
<p>Hope this is helpful to someone!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jhollingworth.wordpress.com/14/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jhollingworth.wordpress.com/14/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jhollingworth.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jhollingworth.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jhollingworth.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jhollingworth.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jhollingworth.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jhollingworth.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jhollingworth.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jhollingworth.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jhollingworth.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jhollingworth.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jhollingworth.wordpress.com&blog=1474299&post=14&subd=jhollingworth&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jhollingworth.wordpress.com/2007/12/09/get-the-currency-symbol-for-the-iso-4217-currency-code-c/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bd5217f0c19397986b1f8cb9f2fdb370?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jhollingworth</media:title>
		</media:content>
	</item>
		<item>
		<title>Web Hosting Workaround for monorail</title>
		<link>http://jhollingworth.wordpress.com/2007/11/30/web-hosting-workaround-for-monorail/</link>
		<comments>http://jhollingworth.wordpress.com/2007/11/30/web-hosting-workaround-for-monorail/#comments</comments>
		<pubDate>Fri, 30 Nov 2007 13:01:55 +0000</pubDate>
		<dc:creator>jhollingworth</dc:creator>
				<category><![CDATA[castleproject]]></category>
		<category><![CDATA[monorail]]></category>
		<category><![CDATA[castleproject monorail webhosting]]></category>

		<guid isPermaLink="false">http://jhollingworth.wordpress.com/2007/11/30/web-hosting-workaround-for-monorail/</guid>
		<description><![CDATA[So I recently needed to put an web app I wrote with monorail  online. Ended up buying hosting through re-invent who have so far have been very good. The one big problem I soon realized was they (like pretty much every web hosting company) don&#8217;t support Castle Project and in particular Monorail. Basically whenever [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jhollingworth.wordpress.com&blog=1474299&post=13&subd=jhollingworth&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>So I recently needed to put an web app I wrote with monorail  online. Ended up buying hosting through <a href="http://www.re-invent.net">re-invent</a> who have so far have been very good. The one big problem I soon realized was they (like pretty much every web hosting company) don&#8217;t support Castle Project and in particular Monorail. Basically whenever I tried to access a page it would just come up with a 404. So after many hours of hair pulling, I was about to give up and have a very painful rewrite in asp.net. Luckily I had another search on the forums and found out that most web hosting companies will block any non standard file names, i.e. .castle. So using the url rerouting in monorail, I just added the following rule</p>
<p><code></code><br />
&lt;routing&gt;<br />
&lt;rule&gt;<br />
&lt;pattern&gt;(.+)(.aspx)&lt;/pattern&gt;<br />
&lt;replace&gt;&lt;![CDATA[ $1.castle ]]&gt;&lt;/replace&gt;<br />
&lt;/rule&gt;<br />
&lt;/routing&gt;</p>
<p>After I added that, I found that everything worked perfectly. There are some problems with it, namely that in methods like RedirectToAction() it will add the castle extension. As a current workaround I have just add the following to the base controller:</p>
<p><code><br />
protected new void RedirectToAction(string action)<br />
{<br />
Redirect(action + ".aspx");<br />
}<br />
</code></p>
<p>I know its not the most elegant solution, but its better than nothing. Hope this helps some people!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jhollingworth.wordpress.com/13/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jhollingworth.wordpress.com/13/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jhollingworth.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jhollingworth.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jhollingworth.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jhollingworth.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jhollingworth.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jhollingworth.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jhollingworth.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jhollingworth.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jhollingworth.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jhollingworth.wordpress.com/13/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jhollingworth.wordpress.com&blog=1474299&post=13&subd=jhollingworth&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jhollingworth.wordpress.com/2007/11/30/web-hosting-workaround-for-monorail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bd5217f0c19397986b1f8cb9f2fdb370?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jhollingworth</media:title>
		</media:content>
	</item>
		<item>
		<title>NVelocity: Get Current Position In ForEach Loop</title>
		<link>http://jhollingworth.wordpress.com/2007/11/16/nvelocity-get-current-position-in-foreach-loop/</link>
		<comments>http://jhollingworth.wordpress.com/2007/11/16/nvelocity-get-current-position-in-foreach-loop/#comments</comments>
		<pubDate>Fri, 16 Nov 2007 15:44:58 +0000</pubDate>
		<dc:creator>jhollingworth</dc:creator>
				<category><![CDATA[c#]]></category>
		<category><![CDATA[monorail]]></category>
		<category><![CDATA[nvelocity]]></category>

		<guid isPermaLink="false">http://jhollingworth.wordpress.com/2007/11/16/nvelocity-get-current-position-in-foreach-loop/</guid>
		<description><![CDATA[Just a reminder for myself, To the get the current iteration number in a foreach loop $velocityCount
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jhollingworth.wordpress.com&blog=1474299&post=12&subd=jhollingworth&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Just a reminder for myself, To the get the current iteration number in a foreach loop <strong>$velocityCount</strong></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jhollingworth.wordpress.com/12/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jhollingworth.wordpress.com/12/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jhollingworth.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jhollingworth.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jhollingworth.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jhollingworth.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jhollingworth.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jhollingworth.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jhollingworth.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jhollingworth.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jhollingworth.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jhollingworth.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jhollingworth.wordpress.com&blog=1474299&post=12&subd=jhollingworth&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jhollingworth.wordpress.com/2007/11/16/nvelocity-get-current-position-in-foreach-loop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bd5217f0c19397986b1f8cb9f2fdb370?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jhollingworth</media:title>
		</media:content>
	</item>
	</channel>
</rss>