<?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>ASP.NET, C# and SQL Developer - Tim Almond</title>
	<atom:link href="http://www.timalmond.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.timalmond.com</link>
	<description>Software and Internet Developer</description>
	<lastBuildDate>Mon, 20 Feb 2012 09:56:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Editing XML in Notepad++</title>
		<link>http://www.timalmond.com/2012/02/editing-xml-in-notepad/</link>
		<comments>http://www.timalmond.com/2012/02/editing-xml-in-notepad/#comments</comments>
		<pubDate>Mon, 20 Feb 2012 09:55:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.timalmond.com/?p=265</guid>
		<description><![CDATA[One of the common things that developers have to do is to edit XML. There&#8217;s a lot of very good paid for tools out there that give you everything you need to edit, view and visualise XML, but one free option is to use Notepad++ with the XML Tools plugin. To get the plugin, go [...]]]></description>
			<content:encoded><![CDATA[<p>One of the common things that developers have to do is to edit XML. There&#8217;s a lot of very good paid for tools out there that give you everything you need to edit, view and visualise XML, but one free option is to use Notepad++ with the XML Tools plugin.</p>
<p>To get the plugin, go to Plugins -&gt; Plugin Manager -&gt; Show Plugin Manager. This will bring up the Plugin Manager. Tick the &#8220;XML Tools&#8221; plugin and click the &#8220;Install&#8221; button.</p>
<p>If you&#8217;re running with User Account Control, you&#8217;ll also have to run Notepad++ as administrator the first time you want to use the plugin. I think it&#8217;s modifying a config file and so needs to do this. On subsequent occassions, it&#8217;s fine.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timalmond.com/2012/02/editing-xml-in-notepad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Analyser v0.2 Alpha</title>
		<link>http://www.timalmond.com/2012/02/twitter-analyser-v0-1-alpha/</link>
		<comments>http://www.timalmond.com/2012/02/twitter-analyser-v0-1-alpha/#comments</comments>
		<pubDate>Sun, 19 Feb 2012 01:58:44 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.timalmond.com/?p=248</guid>
		<description><![CDATA[I&#8217;ve written a piece of software that can be used to analyse what people are saying about a particular word on Twitter, and this gives two lists of information: the links used in tweets about a word, and other words used in tweets. I&#8217;ve built it as software for now, because I&#8217;m not sure it [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve written a piece of software that can be used to analyse what people are saying about a particular word on Twitter, and this gives two lists of information: the links used in tweets about a word, and other words used in tweets.</p>
<p><a href="http://www.timalmond.com/wp-content/uploads/2012/02/Capture.png"><img class="size-full wp-image-257 alignnone" title="TwitterAnalyser screenshot" src="http://www.timalmond.com/wp-content/uploads/2012/02/Capture.png" alt="" width="804" height="437" /></a></p>
<p>I&#8217;ve built it as software for now, because I&#8217;m not sure it would work on the web as Twitter throttle traffic. It&#8217;s Windows only, and you can download it from <a href="http://www.timalmond.com/wp-content/uploads/2012/02/setup.zip">HERE</a>. Each request takes time as it has to follow redirects to resolve links.</p>
<p>If you use it and like it then please leave a comment or contact me on Twitter.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timalmond.com/2012/02/twitter-analyser-v0-1-alpha/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LINQ Subtotalling</title>
		<link>http://www.timalmond.com/2012/02/linq-subtotalling/</link>
		<comments>http://www.timalmond.com/2012/02/linq-subtotalling/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 09:40:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[selfnotes]]></category>

		<guid isPermaLink="false">http://www.timalmond.com/?p=251</guid>
		<description><![CDATA[useful little snippet about how to do LINQ subtotalling http://www.develop-one.net/blog/2007/11/11/LINQSumAndGroupBy.aspx]]></description>
			<content:encoded><![CDATA[<p>useful little snippet about how to do LINQ subtotalling http://www.develop-one.net/blog/2007/11/11/LINQSumAndGroupBy.aspx</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timalmond.com/2012/02/linq-subtotalling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Difference between Programming and Software Engineering</title>
		<link>http://www.timalmond.com/2011/12/the-difference-between-programming-and-software-engineering/</link>
		<comments>http://www.timalmond.com/2011/12/the-difference-between-programming-and-software-engineering/#comments</comments>
		<pubDate>Fri, 23 Dec 2011 02:03:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.timalmond.com/?p=244</guid>
		<description><![CDATA[The terms &#8220;programming&#8221; and &#8220;software engineering&#8221; are often seen as similar, but they are different things. One if about writing code, the other is more about a complete system and its maintenance and lifecycle. To try to illustrate, consider a bridge over a motorway. You have to measure it up, precast some concrete, get the [...]]]></description>
			<content:encoded><![CDATA[<p>The terms &#8220;programming&#8221; and &#8220;software engineering&#8221; are often seen as similar, but they are different things. One if about writing code, the other is more about a complete system and its maintenance and lifecycle.</p>
<p>To try to illustrate, consider a bridge over a motorway. You have to measure it up, precast some concrete, get the concrete to the site, and then fix it in place. You now have a bridge over a motorway. Right now, it&#8217;s a good bridge and if it were for something temporary, it would probably work just fine.</p>
<p>But as a bridge to be used every day for years, we have to consider running the bridge. This is where the parallels of software engineering come in:-</p>
<ol>
<li>Stress loading. In the same way that we would want to test for those big days when everyone goes away for Christmas, or when a whole load of artics goes over the bridge, so we want to do the same thing with software.</li>
<li>Monitoring. We don&#8217;t want to wait until the bridge completely breaks and falls on cars before doing something about it. If the bridge has a fault we need to know about it, and that means continuous monitoring. Same with software. If customers are getting a slow response, we need to know about it before it becomes painfully slow and they go elsewhere.</li>
<li>Maintenance. We need to consider what maintenance we might want to do to both a bridge, or some software, and to consider this in the design of both. If we use a method of construction for a bridge that very few people can fix, it&#8217;s potentially going to cost a lot more, or create problems than if we use something that has a reasonable pool of people.</li>
<li>Exception management. We don&#8217;t want a website to crash when it gets unforseen errors, any more than we want the motorway to close if someone drives off a bridge. When one user has a problem, we want to isolate the problem and keep everyone else moving. In the case of bridges, that means putting up safety barriers. In the case of software that means sanitising user inputs.</li>
</ol>
<p>In summary, it&#8217;s about looking at the software produced as a complete service, whether that&#8217;s a phone app, website or desktop application.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timalmond.com/2011/12/the-difference-between-programming-and-software-engineering/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cranial Oesteopathy In Wiltshire</title>
		<link>http://www.timalmond.com/2011/11/cranial-oesteopathy-in-wiltshire/</link>
		<comments>http://www.timalmond.com/2011/11/cranial-oesteopathy-in-wiltshire/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 09:10:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[oesteopathy]]></category>

		<guid isPermaLink="false">http://www.timalmond.com/?p=228</guid>
		<description><![CDATA[Some years ago I had a head injury which came from some botched dental work, and one of the things that&#8217;s helped me is the cranial oesteopathy provided by Kim Burnett who works out of clinics in Ramsbury, Aldbourne and Newbury. Kim is very professional and for anyone in the Swindon, Wiltshire or East Berkshire [...]]]></description>
			<content:encoded><![CDATA[<p>Some years ago I had a head injury which came from some botched dental work, and one of the things that&#8217;s helped me is the cranial oesteopathy provided by <a title="Kim Burnett, Oesteopath" href="http://www.kimburnett.co.uk/" target="_blank">Kim Burnett</a> who works out of clinics in Ramsbury, Aldbourne and Newbury. Kim is very professional and for anyone in the Swindon, Wiltshire or East Berkshire area, I can really recommend her.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timalmond.com/2011/11/cranial-oesteopathy-in-wiltshire/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Occupy Whatever Works for You</title>
		<link>http://www.timalmond.com/2011/11/occupy-whatever-works-for-you/</link>
		<comments>http://www.timalmond.com/2011/11/occupy-whatever-works-for-you/#comments</comments>
		<pubDate>Thu, 17 Nov 2011 22:25:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.timalmond.com/?p=235</guid>
		<description><![CDATA[I noticed a few days ago that there was a campaign called Occupy Flash which wants to rid the world of the Flash Player. The response was a somewhat sarcastic Occupy HTML campaign, which aimed to stop HTML purism. I tend to agree with the Occupy HTML campaign. Flash was, for a while, a very [...]]]></description>
			<content:encoded><![CDATA[<p>I noticed a few days ago that there was a campaign called <a title="Occupy Flash" href="http://occupyflash.org/">Occupy Flash</a> which wants to <em>rid the world of the Flash Player. </em>The response was a somewhat sarcastic <a title="Occupy HTML" href="http://occupyhtml.org/">Occupy HTML</a> campaign, which aimed to stop HTML purism.</p>
<p>I tend to agree with the Occupy HTML campaign. Flash was, for a while, a very important technology because of what it could give in terms of the user experience of a site. Most of this is now better done in HTML, Javascript and CSS. But there&#8217;s still places on the web where Flash is handy. There&#8217;s a number of Flash gaming sites, and HTML/Javascript hasn&#8217;t replaced these. Flash can give users a better experience with file uploads. It also allows things like voice recording via a website. It allows videos to be shown with Digital Rights Management support.</p>
<p>Of course, if you&#8217;re using Flash, you need to consider some graceful degradation for those users without it. If a user doesn&#8217;t have Flash then you&#8217;ll have to give them a regular file upload.</p>
<p>Like all things, it&#8217;s about what works for your customers, their users and ongoing support.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timalmond.com/2011/11/occupy-whatever-works-for-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Node.Js for .net</title>
		<link>http://www.timalmond.com/2011/11/node-js-for-net/</link>
		<comments>http://www.timalmond.com/2011/11/node-js-for-net/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 12:24:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.timalmond.com/?p=222</guid>
		<description><![CDATA[I see from Matt Baxter-Reynolds that node.js has been released for Microsoft&#8217;s IIS. I&#8217;ve had an occassional glance at node.js as I liked the thinking behind it, but I&#8217;m going to take a more serious look. Microsoft are a very good software tool development company, but they don&#8217;t pick up on things until they&#8217;re reasonably [...]]]></description>
			<content:encoded><![CDATA[<p>I see from <a href="http://www.guardian.co.uk/technology/blog/2011/nov/09/programming-microsoft">Matt Baxter-Reynolds</a> that node.js has been released for Microsoft&#8217;s IIS. I&#8217;ve had an occassional glance at node.js as I liked the thinking behind it, but I&#8217;m going to take a more serious look.</p>
<p>Microsoft are a very good software tool development company, but they don&#8217;t pick up on things until they&#8217;re reasonably sure that they&#8217;re going to be around for a while. They&#8217;re a few steps behind the open source/Linux world, only picking up things like MVC and jQuery once it appeared that they weren&#8217;t going way. So, their backing of node.js is an important sign that it&#8217;s not some flash-in-the-pan, but here to stay.</p>
<p>Node.js seems to be very much pitched as a performance gain, but for me, I like the idea of being able to write code in the same language for 2 purposes. If I&#8217;ve written a function for the client side, then why not also use it on the server side without rewriting it? Right now, I have to deal with 3 programming languages: Javascript, C# and SQL. I&#8217;d much rather have 1 or 2 less, to make my programming more portable.</p>
<p>I&#8217;d really like to find some numbers on how much programmers cost compared to CPU cycles over time. If a programmer is scouring for answers to a problem rather than getting an answer on StackOverflow within a few minutes, how much does that cost a business? That&#8217;s not to say that sometimes performance isn&#8217;t worth spending money on. If you&#8217;re running Google or eBay, then using tools for better performance at the cost of programmer time is probably really worth it, but for most people having reliable and fast tools for development is a much bigger thing than the performance of the software.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timalmond.com/2011/11/node-js-for-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A New Twitter Social Analysis Tool &#8211; Testers Required</title>
		<link>http://www.timalmond.com/2011/11/a-new-twitter-social-analysis-tool-testers-required/</link>
		<comments>http://www.timalmond.com/2011/11/a-new-twitter-social-analysis-tool-testers-required/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 14:54:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[asp.net]]></category>
		<category><![CDATA[c#]]></category>

		<guid isPermaLink="false">http://www.timalmond.com/?p=220</guid>
		<description><![CDATA[I&#8217;m currently developing a tool that will allow users to analyse how keywords are being used in Twitter. It works out what links people are referring to and associated words for your company. This might help you to analyse trends for clients, or to be alerted to possible corporate strategy problems. We&#8217;d love it to [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m currently developing a tool that will allow users to analyse how keywords are being used in Twitter. It works out what links people are referring to and associated words for your company. This might help you to analyse trends for clients, or to be alerted to possible corporate strategy problems.</p>
<p>We&#8217;d love it to be a web app, but because of the limitations of Twitter and the time it takes to process, it has to be installed software for your PC. And Windows only.</p>
<p>If you&#8217;re interested then leave me a comment or reply to me on Twitter (<a href="http://twitter.com/#!/timalmond">@timalmond</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timalmond.com/2011/11/a-new-twitter-social-analysis-tool-testers-required/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dynamically Generating Google Sitemaps</title>
		<link>http://www.timalmond.com/2011/10/dynamically-generating-google-sitemaps/</link>
		<comments>http://www.timalmond.com/2011/10/dynamically-generating-google-sitemaps/#comments</comments>
		<pubDate>Sun, 30 Oct 2011 21:20:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[c#]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[google sitemaps]]></category>
		<category><![CDATA[seo]]></category>

		<guid isPermaLink="false">http://www.timalmond.com/?p=180</guid>
		<description><![CDATA[I was recently doing some work for one of my clients and took a look at the existing Google Sitemap. The client&#8217;s site has 1 page for each row in a database table. Each should be found because of links from categories, but we couldn&#8217;t be 100%, so best to put them in the site [...]]]></description>
			<content:encoded><![CDATA[<p>I was recently doing some work for one of my clients and took a look at the existing Google Sitemap. The client&#8217;s site has 1 page for each row in a database table. Each <em>should</em> be found because of links from categories, but we couldn&#8217;t be 100%, so best to put them in the site map.</p>
<p>Rather than just regenerating the sitemap, I decided that it would be better if the website would regenerate it for me. Also, I wanted to keep the various static pages (for categories) on the site outside of my database-generating code to keep content outside of code. This keeps everything cleaner.</p>
<p>The solution to this was to be found in the <a href="http://www.sitemaps.org/protocol.php#index">Sitemap Index File</a>. Using an index file I could two sitemaps. One would be for the dynamic pages, one for the static pages. The sitemap looks something like this:-</p>
<p>This file replaced the existing website file:</p>
<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
   &lt;sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"&gt;
   &lt;sitemap&gt;
      &lt;loc&gt;http://www.example.com/sitemap1.aspx&lt;/loc&gt;
   &lt;/sitemap&gt;
   &lt;sitemap&gt;
      &lt;loc&gt;http://www.example.com/sitemap2.xml&lt;/loc&gt;
   &lt;/sitemap&gt;
   &lt;/sitemapindex&gt;</pre>
<p>The file <em>sitemap2.xml</em> is just a file, sat on the server, which contains all the pages like home, FAQ, category pages from the original file. <em>sitemap1.aspx</em> isn&#8217;t a file, but an asp.net page. When Google&#8217;s spider comes visiting and asks for the sitemap, it asks for sitemap1.aspx and a program runs on the server that retrieves data from the database and then serializes it as XML formatted for sitemap that gets passed back. The data is therefore right up-to-date.</p>
<p>Whilst I implemented this in asp.net, there&#8217;s no reason the same approach can&#8217;t be taken with any other web language. And if your database has information like when a record was last updated, you could also provide this, and this would help out Google&#8217;s spiders in querying the data.</p>
<p>And how did it go? Well, we&#8217;re already seeing some traffic increase, around 10-12%.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timalmond.com/2011/10/dynamically-generating-google-sitemaps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Viewing very large files</title>
		<link>http://www.timalmond.com/2011/10/viewing-very-large-files/</link>
		<comments>http://www.timalmond.com/2011/10/viewing-very-large-files/#comments</comments>
		<pubDate>Thu, 27 Oct 2011 18:50:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[software development]]></category>
		<category><![CDATA[sed]]></category>

		<guid isPermaLink="false">http://www.timalmond.com/?p=119</guid>
		<description><![CDATA[Viewing files isn&#8217;t normally much of a challenge. There&#8217;s plenty of options free editors out there. Personally, I use Ultraedit which is the Swiss Army Knife of editors. But I recently had to edit about the largest text file I&#8217;ve ever seen which is the full, uncompressed download of Wikipedia articles. I didn&#8217;t need to [...]]]></description>
			<content:encoded><![CDATA[<p>Viewing files isn&#8217;t normally much of a challenge. There&#8217;s plenty of options free editors out there. Personally, I use <a href="https://www.ultraedit.com/">Ultraedit</a> which is the Swiss Army Knife of editors.</p>
<p>But I recently had to edit about the largest text file I&#8217;ve ever seen which is the full, uncompressed download of Wikipedia articles. I didn&#8217;t need to see the whole file, just the headers. But Ultraedit had some problems because at 32GB it was just too large.</p>
<p>The solution I used was the old UNIX utility, SED. This is a command line parser that reads in a file and list of commands and produces output. What can be done with it is to write a script that can just extract a small section of a file. The command to extract the 1st 100 lines only is:-</p>
<blockquote><p>100q</p></blockquote>
<p>which means &#8220;read 100 lines and then quit&#8221;. This runs within seconds because it doesn&#8217;t load the whole file in, and you can output to another file.</p>
<p>You can get SED for Windows from <a href="http://gnuwin32.sourceforge.net/packages/sed.htm">sourceforge</a>.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timalmond.com/2011/10/viewing-very-large-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

