<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>Amadiere.com</title>
	
	<link>http://amadiere.com/blog</link>
	<description>Blogging while collapsing through Meat Pie induced coding-fests...</description>
	<lastBuildDate>Mon, 30 Aug 2010 16:25:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/amadiere" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="amadiere" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Windows Phone 7: Getting Started Link-dump</title>
		<link>http://amadiere.com/blog/2010/08/windows-phone-7-getting-started-link-dump/</link>
		<comments>http://amadiere.com/blog/2010/08/windows-phone-7-getting-started-link-dump/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 16:25:23 +0000</pubDate>
		<dc:creator>Alex Holt</dc:creator>
				<category><![CDATA[Windows Phone 7]]></category>

		<guid isPermaLink="false">http://amadiere.com/blog/?p=294</guid>
		<description><![CDATA[One of the things Microsoft will be hoping on is a massive uptake of application developers, and to try and encourage that they've released and helped circulate a bunch of things to the community! This post hopes to point to some of the articles, videos, blogs and other sites by both Microsoft and others to help you learn and get started with WP7.


No related posts.]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" title="Windows Phone 7" src="http://amadiere.com/images/blog/windows-phone-7.jpg" alt="Windows Phone 7" width="200" />As you&#8217;re probably aware, Microsoft is finally going to attempt to enter the Smart Phone OS market with it&#8217;s new Windows Phone 7 operating system /platform / ecosystem. It&#8217;s going to have a hard time getting started (Android and particularly the iPhone OS have a gigantic lead and devoted user-base), but I think it has a good chance. Looking at some of the reviews of the hardware and it&#8217;s performance with the new OS, things are looking promising for the big M, if that is, they can pull off the marketing and get enough hardware vendors on-board.</p>
<p>One of the things Microsoft will be hoping on is a massive uptake of application developers, and to try and encourage that they&#8217;ve released and helped circulate a bunch of things to the community! This post hopes to point to some of the articles, videos, blogs and other sites by both Microsoft and others to help you learn and get started with WP7.</p>
<p>Obviously, before you get started, you want to download the various <strong>developer tools</strong>. They are currently in <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c8496c2a-54d9-4b11-9491-a1bfaf32f2e3&amp;displaylang=en">Beta and downloadable here</a>. It&#8217;s been announced that the full non-Beta set of tools on the <strong>16 September 2010</strong>. The tools are free &#8211; the only bit you pay for is a subscription that allows you to post applications to the Marketplace. That&#8217;s currently being listed as £67 GBP</p>
<p><strong>Links:</strong></p>
<ul>
<li><a href="http://windowsteamblog.com/windows_phone/b/wpdev/">Windows Phone 7 Developer Blog</a> &#8211; very useful for keeping up to date with the releases and anything other major happening for the platform.</li>
<li><a href="http://developer.windowsphone.com/">Windows Phone 7 Developer Portal</a> (<a href="http://developer.windowsphone.com/">developer.windowsphone.com</a>) &#8211; another good site for finding videos and other related training materials.</li>
<li>Promotional website for consumers appears to be at <a href="http://www.microsoft.com/windowsmobile/en-gb/default.mspx">Microsoft/WindowsPhone</a>.</li>
<li>Scott Hanselman&#8217;s &#8220;<a href="http://vimeo.com/13727802">Walkthrough of the Developer Phone</a>&#8221; shows some of features of the phone after getting one of the preview devices.</li>
<li>Detailed <a href="http://www.engadget.com/2010/07/19/windows-phone-7-in-depth-preview/">review from Engadget.com on a Samsung device using Windows Phone 7</a> &#8211; very promising outcome, marred only by a few minor let downs (basically, the absence of Multi-tasking and Cut-and-Paste).</li>
</ul>
<p><strong>Videos &amp; Labs</strong></p>
<ul>
<li><a href="http://channel9.msdn.com/learn/courses/WP7TrainingKit/WP7GettingStarted/HelloPhoneWP7Lab/">Hello Windows Phone 7</a>! the obligatory &#8220;Hello World!&#8221; application.</li>
<li>Microsoft&#8217;s Channel 9 has a great series hosted by Andy Wigley and <a href="http://www.robmiles.com">Rob Miles</a> called &#8220;<a href="http://channel9.msdn.com/posts/egibson/Windows-Phone-7-Jump-Start-Session-1-of-12-Introduction/">Jump Start</a>&#8220;. If you like video tutorials and talk through&#8217;s, this is a great starting point. There are som<a href="http://borntolearn.mslearn.net/wp7/m/classresources/default.aspx">e resources available for download</a> as well to help you along the way. As far as things go, I can&#8217;t recommend this enough. It&#8217;s a great set of tutorials that seems to cover a wide area of the platform without going into great amounts of detail about each bit, choosing (wisely) to only wiz along the surface. All the videos are downloadable in a number of formats, including the useful MP4 for sticking on your iPhone (until such a time as you can get your mits on a Windows Phone 7 device of course!):
<ol>
<li><a href="http://channel9.msdn.com/posts/egibson/Windows-Phone-7-Jump-Start-Session-1-of-12-Introduction/">Introduction</a></li>
<li><a href="http://channel9.msdn.com/posts/egibson/Windows-Phone-7-Jump-Start-Session-2-of-12-Building-a-Silverlight-Application-Part-1/">Building a Silverlight Application (Part 1)</a></li>
<li><a href="http://channel9.msdn.com/posts/egibson/Windows-Phone-7-Jump-Start-Session-3-of-12-Building-a-Silverlight-Application-Part-2/">Building a Silverlight Application (Part 2)</a></li>
<li><a href="http://channel9.msdn.com/posts/egibson/Windows-Phone-7-Jump-Start-Session-4-of-12-Building-Games-for-the-Windows-Phone-7-Platform/">Building Games for the Windows Phone 7 Platform</a></li>
<li><a href="http://channel9.msdn.com/posts/egibson/Windows-Phone-7-Jump-Start-Session-5-of-12-Building-XNA-Games-for-the-Windows-Phone-7-Platform-Part-/">Building XNA Games for the Windows Phone 7 Platform (Part 1)</a></li>
<li><a href="http://channel9.msdn.com/posts/egibson/Windows-Phone-7-Jump-Start-Session-6-of-12-Building-XNA-Games-for-the-Windows-Phone-7-Platform-Part-/">Building XNA Games for the Windows Phone 7 Platform (Part 2)</a></li>
<li><a href="http://channel9.msdn.com/posts/egibson/Windows-Phone-7-Jump-Start-Session-7-of-12-Advanced-Application-Development-Part-1/">Advanced Application Development (Part 1)</a></li>
<li><a href="http://channel9.msdn.com/posts/egibson/Windows-Phone-7-Jump-Start-Session-8-of-12-Advanced-Application-Development-Part-2/">Advanced Application Development (Part 2)</a></li>
<li><a href="http://channel9.msdn.com/posts/egibson/Windows-Phone-7-Jump-Start-Session-9-of-12-Advanced-Application-Development-Part-3/">Advanced Application Development (Part 3)</a></li>
<li><a href="http://channel9.msdn.com/posts/egibson/Windows-Phone-7-Jump-Start-Session-10-of-12-Marketing-Your-Windows-Phone-7-Application/">Marketing Your Windows Phone 7 Application</a></li>
<li><a href="http://channel9.msdn.com/posts/egibson/Windows-Phone-7-Jump-Start-Session-11-of-12-Working-with-Media/">Working With Media</a></li>
<li><a href="http://channel9.msdn.com/posts/egibson/Windows-Phone-7-Jump-Start-Session-12-of-12-Final-Silverlight-Topics-and-Wrap-Up/">Final Silverlight Topics and Wrap-up</a></li>
</ol>
</li>
<li><a href="http://channel9.msdn.com/learn/courses/WP7TrainingKit/">Windows Phone 7 Developer Training Kit</a> &#8211; a bunch of labs and tutorials, maybe not as good as the Jump Start stuff, but still good and varied enough to give you a nice overview of all the features <img src='http://amadiere.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>Coding 4 Fun: <a href="http://blogs.msdn.com/b/coding4fun/archive/2010/06/15/10025512.aspx">Building a &#8220;Shuffleboard&#8221; application using Silverlight</a></li>
<li>MSDev.com has a bucket full of bitesize videos in a collection named &#8220;<a href="http://www.msdev.com/Directory/SeriesDescription.aspx?CourseId=158">Windows Phone 7 in 7 Minutes</a>&#8220;</li>
</ul>
<p>More resources:</p>
<ul>
<li><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=3a8636bf-185f-449a-a0ce-83502b9ec0ec">Creating High Performance Silverlight Applications for Windows Phone</a></li>
<li><a href="http://www.microsoft.com/downloads/info.aspx?na=47&amp;p=1&amp;SrcDisplayLang=en&amp;SrcCategoryId=&amp;SrcFamilyId=3a8636bf-185f-449a-a0ce-83502b9ec0ec&amp;u=details.aspx%3ffamilyid%3d369B20F7-9D30-4CFF-8A1B-F80901B2DA93%26displaylang%3den">Application Bar Icons for Windows Phone 7</a> &#8211; a bunch of useful icon&#8217;s that you may want to use in your application.</li>
<li><a href="http://www.microsoft.com/downloads/info.aspx?na=40&amp;p=2&amp;SrcDisplayLang=en&amp;SrcCategoryId=&amp;SrcFamilyId=369b20f7-9d30-4cff-8a1b-f80901b2da93&amp;u=http%3a%2f%2fgo.microsoft.com%2f%3flinkid%3d9713252">UI Design and Interaction Guide</a></li>
<li>Again, Scott Hanselman, this time on his great Hanselminute&#8217;s Podcast he covers <a href="http://www.hanselman.com/blog/HanselminutesPodcast228PerformanceOfSilverlightOnWindowsPhone7.aspx">Silverlight performance on Windows Phone 7</a></li>
<li><a href="http://www.jeff.wilcox.name/2010/08/looking-ahead-at-panorama-and-pivot/">Panorama &amp; Pivot are coming soon</a>, more information is available from Jeff Wilcox.</li>
<li>With the absence of SQL on the Windows Phone 7 (at least initially), there is a market for some free libraries to make relational data management considerably easier. So far, two of the better ones are <a href="http://sterling.codeplex.com/documentation">Sterling</a> and <a href="http://mobileworld.appamundi.com/blogs/andywigley/archive/2010/06/07/perst-a-database-for-windows-phone-7-silverlight.aspx">Perst</a></li>
</ul>


<p>No related posts.</p>
<p><a href="http://feedads.g.doubleclick.net/~a/Roj9V58GEBy6ue_lQSh1QADVC0Y/0/da"><img src="http://feedads.g.doubleclick.net/~a/Roj9V58GEBy6ue_lQSh1QADVC0Y/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Roj9V58GEBy6ue_lQSh1QADVC0Y/1/da"><img src="http://feedads.g.doubleclick.net/~a/Roj9V58GEBy6ue_lQSh1QADVC0Y/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://amadiere.com/blog/2010/08/windows-phone-7-getting-started-link-dump/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Development SMTP Servers for IIS7.5 on Windows 7</title>
		<link>http://amadiere.com/blog/2010/04/development-smtp-servers-for-iis7-5-on-windows-7/</link>
		<comments>http://amadiere.com/blog/2010/04/development-smtp-servers-for-iis7-5-on-windows-7/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 14:43:59 +0000</pubDate>
		<dc:creator>Alex Holt</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[SMTP]]></category>
		<category><![CDATA[Smtp4Dev]]></category>
		<category><![CDATA[Windows7]]></category>

		<guid isPermaLink="false">http://amadiere.com/blog/?p=288</guid>
		<description><![CDATA[For some reason, Microsoft decided they didn't want to include the SMTP Server in Windows 7 anymore (even 'Ultimate' - it might also be the case for Windows Vista). So, I had to find an alternative.


No related posts.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had one of them days. You know? That &#8220;simple task&#8221; that spiralled out of control and resulted in me losing half a day to it&#8217;s tricks! That task? It was sending an email from an ASP.NET (MVC2) application. Previously, I&#8217;ve always done this via setting up IIS and the SMTP server in there, but for some reason, Microsoft decided they didn&#8217;t want to include the SMTP Server in Windows 7 anymore (even &#8216;Ultimate&#8217; &#8211; it might also be the case for Windows Vista). So, I had to find an alternative.</p>
<p>There were a few options available to me:</p>
<ul>
<li><strong>SMTP Server on Localhost: </strong>This was the obvious choice, but after trying Mercury Mail and it&#8217;s quarter of a million settings as it installed (I&#8217;m no Email Admin, so didn&#8217;t know the answer to all of them). It didn&#8217;t work and I&#8217;m not sure why. To rub salt into the would, there was no uninstall either &#8211; it proper irritated me and I gave up using it out of principal.</li>
<li><strong>SMTP Server on Localhost that is really just a Relay. </strong>Well, sounded good &#8211; but again, it was designed by people with bigger brains than me and it failed to send to what I thought was a correctly configured IIS7.5 config pointing to my GMail account.</li>
<li><strong>Fake Server: </strong>Something that doesn&#8217;t actually send emails, but pretends to.</li>
</ul>
<p>The last one is the one I eventually choose and boy am I glad I did! I downloaded the excellent <a href="http://smtp4dev.codeplex.com/">SMTP 4 DEV from Codeplex</a></p>
<ol>
<li>I don&#8217;t have 100&#8242;s of emails cluttering up my email box for starters. <strong>Win!</strong></li>
<li>It was so easy to set-up and it worked perfectly without a change to my code. <strong>Win!</strong></li>
<li>It&#8217;s free. <strong>Win!</strong></li>
</ol>
<p>Here is some fake code that should send an email to the <em>localhost</em>.</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;">MailMessage emailMessage <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> MailMessage<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #FF0000;">string</span> messageBody <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;This is the content of the email will be awesome!&quot;</span><span style="color: #008000;">;</span>
&nbsp;
emailMessage.<span style="color: #0000FF;">Body</span> <span style="color: #008000;">=</span> messageBody<span style="color: #008000;">;</span>
emailMessage.<span style="color: #0000FF;">Priority</span> <span style="color: #008000;">=</span> MailPriority.<span style="color: #0000FF;">Normal</span><span style="color: #008000;">;</span>
emailMessage.<span style="color: #0000FF;">From</span> <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> MailAddress<span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;no-reply@amadiere.com&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span> <span style="color: #008080; font-style: italic;">// obviously, this email address doesn't exist :)</span>
emailMessage.<span style="color: #0000FF;">Subject</span> <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;The answer is 42&quot;</span><span style="color: #008000;">;</span>
emailMessage.<span style="color: #0000FF;">IsBodyHtml</span> <span style="color: #008000;">=</span> false<span style="color: #008000;">;</span>
&nbsp;
SmtpClient mSmtpClient <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> SmtpClient<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
mSmtpClient.<span style="color: #0000FF;">Host</span> <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;127.0.0.1&quot;</span><span style="color: #008000;">;</span>  <span style="color: #008080; font-style: italic;">// localhost</span>
mSmtpClient.<span style="color: #0000FF;">DeliveryMethod</span> <span style="color: #008000;">=</span> SmtpDeliveryMethod.<span style="color: #0000FF;">Network</span><span style="color: #008000;">;</span>
&nbsp;
mSmtpClient.<span style="color: #0000FF;">Send</span><span style="color: #000000;">&#40;</span>emailMessage<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span></pre></div></div>



<p>No related posts.</p>
<p><a href="http://feedads.g.doubleclick.net/~a/0SvBSwnXqovWzFn9svqbv8l2sWI/0/da"><img src="http://feedads.g.doubleclick.net/~a/0SvBSwnXqovWzFn9svqbv8l2sWI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/0SvBSwnXqovWzFn9svqbv8l2sWI/1/da"><img src="http://feedads.g.doubleclick.net/~a/0SvBSwnXqovWzFn9svqbv8l2sWI/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://amadiere.com/blog/2010/04/development-smtp-servers-for-iis7-5-on-windows-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Good Quality Image Resizing in C#</title>
		<link>http://amadiere.com/blog/2010/03/good-quality-image-resizing-in-c/</link>
		<comments>http://amadiere.com/blog/2010/03/good-quality-image-resizing-in-c/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 20:40:58 +0000</pubDate>
		<dc:creator>Alex Holt</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Image Resizing]]></category>
		<category><![CDATA[MVC]]></category>

		<guid isPermaLink="false">http://amadiere.com/blog/?p=283</guid>
		<description><![CDATA[While GetThumbnailImage() is fine for small thumbnail images (the clue I guess, was in the name), it somewhat struggled on the larger versions. To fix the issue, I had to convert the image to a bitmap, faff about with it like that, then export it back to a Jpeg once I was done.


No related posts.]]></description>
			<content:encoded><![CDATA[<p>I encountered a little bit of a problem the other day with some image resizing code from within an ASP.NET MVC application that was misbehaving. The issue was just a general C# and ASP.NET one, not related to MVC or Webforms, but it was that for some reason the images were losing a significant amount of quality when resizing. I&#8217;m talking a pixel sharp 2000 x 2000 picture that when resized to 300 x 300, was woefully blurry. Initially, the code was simply using the GetThumbnailImage() method to produce it&#8217;s resizes, this turned out to be the mistake!</p>
<p>While GetThumbnailImage() is fine for small thumbnail images (the clue I guess, was in the name), it somewhat struggled on the larger versions. To fix the issue, I had to convert the image to a bitmap, faff about with it like that, then export it back to a Jpeg once I was done.</p>
<p>For future me (and anyone else this might help), here is the code I eventually settled on:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;">EncoderParameters encodingParameters <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> EncoderParameters<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">1</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
encodingParameters.<span style="color: #0000FF;">Param</span><span style="color: #000000;">&#91;</span><span style="color: #FF0000;">0</span><span style="color: #000000;">&#93;</span> <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> EncoderParameter<span style="color: #000000;">&#40;</span>Encoder.<span style="color: #0000FF;">Quality</span>, 90L<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span> <span style="color: #008080; font-style: italic;">// Set the JPG Quality percentage to 90%.</span>
&nbsp;
ImageCodecInfo jpgEncoder <span style="color: #008000;">=</span> GetEncoderInfo<span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;image/jpeg&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #008080; font-style: italic;">// Incoming! This is the original image. This line can effectively be anything, but in this example it's coming from a stream.</span>
var image <span style="color: #008000;">=</span> Image.<span style="color: #0000FF;">FromStream</span><span style="color: #000000;">&#40;</span><span style="color: #008000;">new</span> <span style="color: #000000;">System.<span style="color: #0000FF;">IO</span></span>.<span style="color: #0000FF;">MemoryStream</span><span style="color: #000000;">&#40;</span>Picture<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #008080; font-style: italic;">// Creating two blank canvas. One that the original image is placed into, the other for the resized version.</span>
Bitmap originalImage <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> Bitmap<span style="color: #000000;">&#40;</span>image<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
Bitmap newImage <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> Bitmap<span style="color: #000000;">&#40;</span>originalImage, <span style="color: #FF0000;">300</span>, <span style="color: #000000;">&#40;</span>image.<span style="color: #0000FF;">Height</span> <span style="color: #008000;">*</span> <span style="color: #FF0000;">300</span> <span style="color: #008000;">/</span> image.<span style="color: #0000FF;">Width</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>  <span style="color: #008080; font-style: italic;">// Width of 300 &amp; maintain aspect ratio (let it be as high as it needs to be).</span>
&nbsp;
<span style="color: #008080; font-style: italic;">// We then do some funky voodoo with the newImage. Changing it to a graphic to allow us to set the HighQualityBilinear property and resize nicely.</span>
Graphics g <span style="color: #008000;">=</span> Graphics.<span style="color: #0000FF;">FromImage</span><span style="color: #000000;">&#40;</span>newImage<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
g.<span style="color: #0000FF;">InterpolationMode</span> <span style="color: #008000;">=</span> <span style="color: #000000;">System.<span style="color: #0000FF;">Drawing</span>.<span style="color: #0000FF;">Drawing2D</span></span>.<span style="color: #0000FF;">InterpolationMode</span>.<span style="color: #0000FF;">HighQualityBilinear</span><span style="color: #008000;">;</span>
g.<span style="color: #0000FF;">DrawImage</span><span style="color: #000000;">&#40;</span>originalImage, <span style="color: #FF0000;">0</span>, <span style="color: #FF0000;">0</span>, newImage.<span style="color: #0000FF;">Width</span>, newImage.<span style="color: #0000FF;">Height</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
var streamLarge <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> <span style="color: #000000;">System.<span style="color: #0000FF;">IO</span></span>.<span style="color: #0000FF;">MemoryStream</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
newImage.<span style="color: #0000FF;">Save</span><span style="color: #000000;">&#40;</span>streamLarge, jpgEncoder, encodingParameters<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #008080; font-style: italic;">// This is the line that returns the picture to the relevant part of the model.</span>
_event.<span style="color: #0000FF;">Picture</span> <span style="color: #008000;">=</span> streamLarge.<span style="color: #0000FF;">ToArray</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #008080; font-style: italic;">// No need for all that drama for the thumbnail, the loss of quality isn't noticable.</span>
var thumbnail <span style="color: #008000;">=</span> image.<span style="color: #0000FF;">GetThumbnailImage</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">80</span>, <span style="color: #000000;">&#40;</span>image.<span style="color: #0000FF;">Height</span><span style="color: #008000;">*</span><span style="color: #FF0000;">80</span><span style="color: #008000;">/</span>image.<span style="color: #0000FF;">Width</span><span style="color: #000000;">&#41;</span>, <span style="color: #0600FF;">null</span>, <span style="color: #008000;">new</span> IntPtr<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">0</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
var streamThumbnail <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> <span style="color: #000000;">System.<span style="color: #0000FF;">IO</span></span>.<span style="color: #0000FF;">MemoryStream</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
thumbnail.<span style="color: #0000FF;">Save</span><span style="color: #000000;">&#40;</span>streamThumbnail, jpgEncoder, encodingParameters<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
 _event.<span style="color: #0000FF;">ThumbnailPicture</span> <span style="color: #008000;">=</span> streamThumbnail.<span style="color: #0000FF;">ToArray</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #008080; font-style: italic;">// Good boy's tidy-up after themselves! :O</span>
originalImage.<span style="color: #0000FF;">Dispose</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
newImage.<span style="color: #0000FF;">Dispose</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
thumbnail.<span style="color: #0000FF;">Dispose</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
streamLarge.<span style="color: #0000FF;">Dispose</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
streamThumbnail.<span style="color: #0000FF;">Dispose</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span></pre></div></div>



<p>No related posts.</p>
<p><a href="http://feedads.g.doubleclick.net/~a/aEnClsQl0mGsD361kFVw5kpsNgU/0/da"><img src="http://feedads.g.doubleclick.net/~a/aEnClsQl0mGsD361kFVw5kpsNgU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/aEnClsQl0mGsD361kFVw5kpsNgU/1/da"><img src="http://feedads.g.doubleclick.net/~a/aEnClsQl0mGsD361kFVw5kpsNgU/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://amadiere.com/blog/2010/03/good-quality-image-resizing-in-c/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>4 Top Tips for portable ASP.NET MVC Apps</title>
		<link>http://amadiere.com/blog/2010/03/4-top-tips-for-portable-asp-net-mvc-apps/</link>
		<comments>http://amadiere.com/blog/2010/03/4-top-tips-for-portable-asp-net-mvc-apps/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 22:22:53 +0000</pubDate>
		<dc:creator>Alex Holt</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[HTTPS]]></category>

		<guid isPermaLink="false">http://amadiere.com/blog/?p=273</guid>
		<description><![CDATA[ASP.NET MVC is awesome and allows for some great applications to be made, quickly, while at the same time offering a high degree of maintainability over the code that is written. The danger with being able to do things too fast, is simple mistakes are made. These hopefully are nothing major, but can become an irritation at some point doing the line. One of the things that occasionally gets left behind is the portability of code - and this can be a bit of a pickle!


No related posts.]]></description>
			<content:encoded><![CDATA[<p><a href="http://knowyourmeme.com/memes/longcat" target="_blank"><img style="float: right;" title="Loooong cat! :O" src="http://amadiere.com/images/blog/longcat.jpg" alt="Loooong cat! :O" width="300" height="543" /></a></p>
<p>ASP.NET MVC is awesome (<a href="http://weblogs.asp.net/scottgu/archive/2009/03/10/free-asp-net-mvc-ebook-tutorial.aspx">find out how awesome it is over dinner</a>) and allows for some great applications to be made, quickly, while at the same time offering a high degree of maintainability over the code that is written. The danger with being able to do things too fast is that simple mistakes are sometimes made. These hopefully are nothing major, but can become an irritation at various points down the line. One of the things that occasionally gets left behind is the portability of code &#8211; and this can be a bit of a &#8216;damn I wish I&#8217;d done it like that to start with&#8217; moment.</p>
<p>Below are a few hints that may (or may not) help you as you develop the next great slice of awesomeness.</p>
<p>Disclaimer: These tips are displayed as ASP.NET MVC tips, but in reality, some of them progress to general ASP.NET Websites and Applications &#8211; or just websites in general.</p>
<ol>
<li><strong>Don&#8217;t Assume You Know Your Root</strong><br />
Before I get started, let me give some background on this point. I have recently been doing some final tweaks to an otherwise great MVC application. However, one of the tweaks I did was to make sure that part of the system was securely done via HTTPS. When looking around the net, this appeared to be a lot trickier than I thought. After all, could all these people be wrong?:</p>
<ul>
<li>Dan Wahlin&#8217;s blog on: <a href="http://weblogs.asp.net/dwahlin/archive/2009/08/25/requiring-ssl-for-asp-net-mvc-controllers.aspx">Requiring SSL for ASP.NET MVC Controllers</a></li>
<li>Adam Salvo on: <a href="http://blog.salvoz.com/2009/03/14/PartialSSLAndAuthorizationWithAspNetMVC.aspx">Partial SSL and Authorization with ASP.NET MVC</a></li>
<li>Troy Goode&#8217;s article on: <a href="http://www.squaredroot.com/post/2008/06/11/MVC-and-SSL.aspx">SSL Links/URLS in MVC</a></li>
</ul>
<p>Basically, yes they can, but only because their articles are dated, not because they are fools (it should also be noted that although their articles may be dated, there are some good techniques and ideas in them, so worth a nosey). <img src='http://amadiere.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <a href="http://bartwullems.blogspot.com/2010/01/using-ssl-with-aspnet-mvc-2.html">Bart Wullems does a good job of explaining the amazing simplicity</a> of this new attribute that was added in MVC 2 Preview 2. I&#8217;m a little surprised as to how this maybe wasn&#8217;t given a little bit more publicity &#8211; its a useful tool that was sorely missing before. Behold, ye <a href="http://msdn.microsoft.com/en-us/library/system.web.mvc.requirehttpsattribute%28VS.100%29.aspx">[RequiresHttps]</a> attribute!</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"> <span style="color: #000000;">&#91;</span>RequireHttps<span style="color: #000000;">&#93;</span>
 <span style="color: #0600FF;">public</span> ActionResult Login<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
 <span style="color: #000000;">&#123;</span>
 <span style="color: #0600FF;">return</span> View<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
 <span style="color: #000000;">&#125;</span></pre></div></div>

<p>This addition of SSL feather to my MVC Application&#8217;s bow was to prove too much for Visual Studio&#8217;s Cassini and I was forced onto my local IIS. This in itself wasn&#8217;t a great issue, but it highlighted some issues with the way the application had been developed. It had been assumed from the start that the application would live at the root of its own domain. This is true for the production version of the system and was for the large part true of the development system. When moving to IIS however, the project was set to run as a Virtual Directory &#8211; meaning the website root was no longer the same as the application root. Which lead me to trawl through the entire application tweaking things here and there, just to make it work no matter where it lived. Don&#8217;t assume you know were your application will live! It might be any number of little requirement changes that could cause you to have to rethink how you are building your application.</li>
<li><strong>Use ActionLinks for linking within your application<br />
<span style="font-weight: normal;">Doing this will save you a bunch of time and is one of the core supported features of ASP.NET MVC, so why not use it when it&#8217;s so simple? There are so many good articles and posts on this, a great starting point is (as always) ScottGu&#8217;s, which part way down talks about <a href="http://weblogs.asp.net/scottgu/archive/2007/12/03/asp-net-mvc-framework-part-2-url-routing.aspx">Constructing Outgoing URLs from the Routing System</a></p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008000;">&lt;%=</span>Html.<span style="color: #0000FF;">ActionLink</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;View more details&quot;</span>, <span style="color: #008000;">new</span> <span style="color: #000000;">&#123;</span> Controller <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;Products&quot;</span>, Action <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;Details&quot;</span>, Id<span style="color: #008000;">=</span><span style="color: #FF0000;">42</span> <span style="color: #000000;">&#125;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">%&gt;</span></pre></div></div>

<p></span></strong></li>
<li><strong>Url.Content for content that is URLs.<br />
<span style="font-weight: normal;">Url.Content is to static content, what ActionLink is to your dynamic pages. If you have any Images, CSS, Script files or basically anything else that isn&#8217;t an MVC page, then this little beaut&#8217; is for you! This allows you to negate any issues with website roots and application roots changing &#8211; without having to monitor and check any links!</p>
<p>Before, you may simply have done:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008000;">&lt;</span>img src<span style="color: #008000;">=</span><span style="color: #666666;">&quot;/lolcats/longcat.png&quot;</span> alt<span style="color: #008000;">=</span><span style="color: #666666;">&quot;To scale&quot;</span> <span style="color: #008000;">/&gt;</span></pre></div></div>

<p>This would have worked until your application was moved from the webroot (Cassini) to a virtual directory (e.g. &#8220;/MVCApp&#8221; in IIS). If you do the following however, all is solved as it works out the URL and writes that out accordingly:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008000;">&lt;</span>img src<span style="color: #008000;">=</span><span style="color: #666666;">&quot;&lt;%=Url.Content(&quot;</span>~<span style="color: #008000;">/</span>lolcats<span style="color: #008000;">/</span>longcat.<span style="color: #0000FF;">png</span><span style="color: #666666;">&quot;)%&gt;&quot;</span> alt<span style="color: #008000;">=</span><span style="color: #666666;">&quot;To scale&quot;</span> <span style="color: #008000;">/&gt;</span></pre></div></div>

<p>Would appear as the below, automagically:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008000;">&lt;</span>img src<span style="color: #008000;">=</span><span style="color: #666666;">&quot;/MVCApp/lolcats/longcat.png&quot;</span> alt<span style="color: #008000;">=</span><span style="color: #666666;">&quot;To scale&quot;</span> <span style="color: #008000;">/&gt;</span></pre></div></div>

<p></span></strong></li>
<li><strong>Relative links within your CSS</strong><br />
This is something that isn&#8217;t specifically unique to MVC applications or ASP.NET in general. It&#8217;s more a good practice / make sure you are aware of guideline.<br />
When coding stylesheets, you&#8217;re often faced with wanted to add background-image&#8217;s to them. Without the server-side jiggery pokery that ASP.NET (and the like) allows, you are left with limited choices how to do this. But in reality, the solution is fairly simple. You need to fix two things: The location of your Images and the location of your CSS. It doesn&#8217;t really matter where they are, but just that they are fixed (or you have the patience to correct your links should you wish to restructure).</p>
<p>Images from a CSS can be HTTP, absolute to the web-root or, as is awesome, <strong>relative to the CSS itself</strong>. This means that as long as all your styles are entirely located within your stylesheet&#8217;s and not intermingled with your code, you&#8217;re on to a winner. It doesn&#8217;t matter which page calls the CSS, whether it be your homepage or one that is 42 levels deep &#8211; the links are only ever relative to the CSS page (which you included via Url.Content, right, eh? yeah!?).</p>
<p>In the following example, the CSS is located within a &#8216;Styles&#8217; directory directly at the project root.</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.longCat</span>
<span style="color: #00AA00;">&#123;</span>
 <span style="color: #000000; font-weight: bold;">background-image</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000;">'../lolcats/longcat.png'</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

</li>
</ol>
<p>Hopefully these pointers will help someone else, if not, they will hopefully protect against my own stupidity and making similar mistakes again. Feel free to comment below if there are any more thoughts and portability ideas you think I could do with including.</p>


<p>No related posts.</p>
<p><a href="http://feedads.g.doubleclick.net/~a/YV7omb1DmVRgB-W2b5FCxxsJZgI/0/da"><img src="http://feedads.g.doubleclick.net/~a/YV7omb1DmVRgB-W2b5FCxxsJZgI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/YV7omb1DmVRgB-W2b5FCxxsJZgI/1/da"><img src="http://feedads.g.doubleclick.net/~a/YV7omb1DmVRgB-W2b5FCxxsJZgI/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://amadiere.com/blog/2010/03/4-top-tips-for-portable-asp-net-mvc-apps/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>eBook Readers Thoughts (by a developer)</title>
		<link>http://amadiere.com/blog/2010/02/ebook-readers-thoughts-by-a-developer/</link>
		<comments>http://amadiere.com/blog/2010/02/ebook-readers-thoughts-by-a-developer/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 22:26:47 +0000</pubDate>
		<dc:creator>Alex Holt</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Amazon Kindle]]></category>
		<category><![CDATA[Apple iPad]]></category>
		<category><![CDATA[eBook Reader]]></category>
		<category><![CDATA[eInk]]></category>

		<guid isPermaLink="false">http://amadiere.com/blog/?p=268</guid>
		<description><![CDATA[I've had a few discussions lately about eBook Readers with a number of people, with most people having a strong opinion either way. As a developer, a significant portion of my reading material is textbooks and other technical documents, but at the same time, this doesn't stop me wanting to read the greatest book of our time.


No related posts.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.com/kindle"><img class="alignright" title="Amazon Kindle DX" src="/images/blog/AmazonKindleDX.jpg" alt="Amazon Kindle DX" width="400" height="400" /></a>I&#8217;ve had a few discussions lately about eBook Readers with a number of people, with most people having a strong opinion either way. As a developer, a significant portion of my reading material is textbooks and other technical documents, but at the same time, this doesn&#8217;t stop me wanting to read <a href="http://www.amazon.co.uk/gp/product/0330492047?ie=UTF8&amp;tag=amadierecom-21&amp;linkCode=as2&amp;camp=1634&amp;creative=19450&amp;creativeASIN=0330492047">the greatest book of our time</a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.co.uk/e/ir?t=amadierecom-21&amp;l=as2&amp;o=2&amp;a=0330492047" border="0" alt="" width="1" height="1" />.</p>
<p>In the blue corner, weighing in about 500g we have Mr Electronic!</p>
<ul>
<li>You can carry hundreds, if not thousands of books around with you at any time.</li>
<li>Smaller and more compact than a single book in some instances.</li>
<li>Can provide it&#8217;s own light source and you don&#8217;t need to find a lamp.</li>
<li>You can change the font size for the book you are reading if it&#8217;s too small to comfortably read.</li>
<li>You can take notes without defacing it.</li>
</ul>
<p>In the red corner, weighing in at a massively varying rate: Mr Paper Copy!</p>
<ul>
<li>Has the &#8220;touch factor&#8221;. The intangible benefit of purchasing something solid every time you buy a book. Its smell, its feel and the excitement that can bring.</li>
<li>Significantly easier to skip to certain points in a book.</li>
<li>Harder to accidentally break or ruin.</li>
</ul>
<p>I think the story of the book will go the way of the CD (and the Vinyl record before that). I think it is inevitable that in 10 years or so, as many people that have have MP3 players now, will have an electronic book reader then. But, in just the same way that people still buy CDs, I don&#8217;t think they will ever be able to stop making books as they offer a great deal that eBooks never will. So is now the time to start on the eReader bandwagon? Hmmm, I&#8217;d say not personally &#8211; at least, for my potential reading library it&#8217;s not.</p>
<p>You see, good as some of them are, eReaders are burden somewhat with a number technological problems they must tackle firstly. In general, eReaders can be broken into two categories: those with eInk &amp; those without. Those with include the two heavy hitters of <a href="http://www.amazon.co.uk/gp/redirect.html/ref=amb_link_18843727_3?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2Fgp%2Fproduct%2FB0015TG12Q%3Famp%253Brw%255Fabsolute%3Dy&amp;token=3A0F170E7CEFE27BDC730D3D7344512BC1296B83&amp;pf_rd_m=A3P5ROKL5A1OLE&amp;pf_rd_s=auto-sparkle&amp;pf_rd_r=1BR0V8TK5F671GX5HPHY&amp;pf_rd_t=301&amp;pf_rd_p=48712567&amp;pf_rd_i=kindle">Amazon Kindle</a> and the <a href="http://www.amazon.co.uk/gp/product/B001DCJI6Q?ie=UTF8&amp;tag=amadierecom-21&amp;linkCode=as2&amp;camp=1634&amp;creative=19450&amp;creativeASIN=B001DCJI6Q">Sony Reader eBook</a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.co.uk/e/ir?t=amadierecom-21&amp;l=as2&amp;o=2&amp;a=B001DCJI6Q" border="0" alt="" width="1" height="1" />, while two of the main other rivals would be a <a href="http://www1.euro.dell.com/content/products/productdetails.aspx/laptop-inspiron-10?c=uk&amp;l=en&amp;s=dhs&amp;cs=ukdhs1">netbook</a> (a standard laptop or PC would be ok, though less portable) and the <a href="http://www.apple.com/uk/ipad/">Apple iPad</a> (with the <a href="http://www.engadget.com/2010/01/06/the-hp-slate/">HP Slate coming soon</a> it seems).</p>
<p>eInk is an absolutely fantastic technology which is very early in its lifespan and I imagine we haven&#8217;t seen the end of it and its children &#8211; nor will me for a number of years yet. eInk is significant because it gets around a problem that has plagued electronic devices for a long time: Battery Life. When used within eReaders, eInk only consumes battery power when the page is changed (or the display changes). This means that the device can hold its power for not just days, but weeks of usage! The other advantage of the eInk is that it causes around and about the same amount of eye strain as a standard book. Because the screen technology is not based on the intensely fast flickering of pixels, the screens appear to be paper and lack the issues of glare from other bright light sources. The <a href="http://www.eink.com/technology/howitworks.html">article over on the manufacturers website</a>, it works like:</p>
<blockquote><p>The principal components of electronic ink are millions of tiny microcapsules, about the diameter of a human hair. In one incarnation, each microcapsule contains positively charged white particles and negatively charged black particles suspended in a clear fluid. When a negative electric field is applied, the white particles move to the top of the microcapsule to become visible to the reader. This makes the surface appear white at that location. At the same time, an opposite electric field pulls the black particles to the bottom of the microcapsules where they are hidden. By reversing this process, the black particles appear at the top of the capsule, which now makes the surface appear dark at that location.</p></blockquote>
<p><a href="http://www.apple.com/uk/ipad"><img class="alignright" title="Apple iPad" src="/images/blog/AppleiPad.png" alt="Apple iPad" width="285" height="345" /></a>For about a year, another &#8220;Format War&#8221; raged between the ePub format and the standard PDF. While each format has it&#8217;s pro&#8217;s and con&#8217;s &#8211; the big thing that has become an issue is the failure of PDF to scale well with the eInk. While the Sony device does a better job, the Amazon Kindle plain old can&#8217;t be bothered to try and limits the text scalability and in some cases offers almost illegible text to it&#8217;s reader. When you way all this together, the eInk devices have a really big failing, and that is the displaying of Images and Diagrams. <strong>They just plain suck at offering zoom-able content</strong>. The quick amongst you may have realised that books also don&#8217;t offer this feature &#8211; however, this is generally less of an issue because the dimensions of the images on printed copies are within the publishers control. They can control what size their image is being viewed at, which is not true with the different sized eReader screens (the Kindle alone offers a 6&#8243; and 9.7&#8243; version). As a side note, as printed copies have a significantly higher DPI ratio, a magnifying class would aid in the instances that the text became too small to read on a diagram &#8211; this isn&#8217;t likely to be often true of the eReaders). This problem is where my issue with eReaders lies. I can&#8217;t read my copy of <a href="http://www.amazon.co.uk/gp/product/0735619670?ie=UTF8&amp;tag=amadierecom-21&amp;linkCode=as2&amp;camp=1634&amp;creative=19450&amp;creativeASIN=0735619670">Code Complete</a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.co.uk/e/ir?t=amadierecom-21&amp;l=as2&amp;o=2&amp;a=0735619670" border="0" alt="" width="1" height="1" /> on an eReader because I wouldn&#8217;t necessarily be able to see the diagrams that accompany the text &#8211; a potential disastrous flaw.</p>
<p>This problem is solved though! Along with the potential issue that eInk can only currently display grey-scale. Hurrah! The Apple iPad will allow you to zoom and otherwise get bigger versions of these diagrams and providing the document was prepared by a sane person who knows what they are doing, you&#8217;ll have absolutely no problem. Let&#8217;s all go buy an iPad! All hail Steve Jobs!&#8230; Not quite just yet, you see, they implemented a flaw. Battery life is back and although not <a href="http://www.theregister.co.uk/2009/09/21/apple_seeks_battery_data/">crippling like the iPhone&#8217;s</a> can be at times, 10 hours compared with longer than 10 days is a massive difference! The argument is that no one reads for 10 hours straight, maybe not, but people could easily use 10 hours of the device without having the chance to charge it.</p>
<p>A bonus however, is that with the iPad you get a plethora of other features (iPod, usable Internet, picture gallery, email, pretty much what you&#8217;d expect a low end PC to be able to achieve without too much hassle). Is this something you&#8217;d want &#8211; it would depend what you already have I guess.</p>
<p>So overall &#8211; what&#8217;s the bottom line? Well, I guess that the market doesn&#8217;t have a great product at the moment. If you are going to read mainly novels and you would benefit from being able to carry around a number of books around with you rather than just one or two (frequent long train journeys or other travelling), then maybe the Amazon Kindle or Sony Reader would be a great choice. However, if you prefer a device that is capable of displaying images and photographs in full colour and to the detail that they were intended, as well as offering the benefit of other multimedia functions, then the Apple iPad, HP Slate (when it arrives) or just a standard netbook (if you can cope with the discomfort and less than ideal user experience) would be the choices for you.</p>


<p>No related posts.</p>
<p><a href="http://feedads.g.doubleclick.net/~a/DpVyyA8JfJPIRTpoXPkypvL2izc/0/da"><img src="http://feedads.g.doubleclick.net/~a/DpVyyA8JfJPIRTpoXPkypvL2izc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/DpVyyA8JfJPIRTpoXPkypvL2izc/1/da"><img src="http://feedads.g.doubleclick.net/~a/DpVyyA8JfJPIRTpoXPkypvL2izc/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://amadiere.com/blog/2010/02/ebook-readers-thoughts-by-a-developer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Biggest Bits Are The Little Bits</title>
		<link>http://amadiere.com/blog/2010/02/the-biggest-bits-are-the-little-bits/</link>
		<comments>http://amadiere.com/blog/2010/02/the-biggest-bits-are-the-little-bits/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 21:56:10 +0000</pubDate>
		<dc:creator>Alex Holt</dc:creator>
				<category><![CDATA[Human Factors]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Perfection]]></category>
		<category><![CDATA[Timescales]]></category>

		<guid isPermaLink="false">http://amadiere.com/blog/?p=259</guid>
		<description><![CDATA[There is the excellently accurate sentence attributed to Tom Cargill that goes: The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time. This (fairly humorous) statement is a dig at all those projects that are [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>There is the excellently accurate sentence attributed to Tom Cargill that goes:</p>
<blockquote><p>The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.</p></blockquote>
<p>This (fairly humorous) statement is a dig at all those projects that <a href="http://www.3drealms.com/duke4/">are developed and that overrun</a>, but with a more than significant amount of truth in it. There can be a number of reasons why the project may not appear on time. Often, it&#8217;s because someone is trying really hard to avoid accepting the fact that the <a href="http://en.wikipedia.org/wiki/Project_triangle">Project Triangle</a> exists for their solution. The triangle states that there are always three options: Do it Fast, Do it Cheap &#038; Do it Good &#8211; but of the three options, you can only have two. You as project manager have to negotiate with your stakeholders, which of the three are the two most important ones &#8211; because there is flying-pig chance that you&#8217;ll be able to get all three of them. They aren&#8217;t mutually exclusive &#8211; but achieving all three is certainly something that is seldom heard of for a project.</p>
<p>I believe these two things are linked. I think that projects overrun because the project early on was &#8220;Do it fast &#038; do it cheap&#8221;, but near the end and as people start to inspect the system, people (whether it be the Stakeholders, End users or development team) decide that they need to do it well at the sacrifice of doing it fast. This could be argued as bad project management &#8211; but in reality, it&#8217;s bad Stakeholders. I believe they were <strong>correct</strong> to concentrate on quality However, they were grossly wrong to have considered leaving it as the third priority in the first place &#8211; it should have always been first! Take your pick as to which of the other two is important to you, but unless your project is technically fantastic and the attention to detail is there &#8211; then you might not have bothered doing it at all!</p>
<p><a href="http://www.codinghorror.com">Jeff Atwood</a> has eluded to this in the past in response to comments that <a href="http://www.stackoverflow.com">Stack Overflow</a> would be an easy system to build. He implies that yes, while the functionality would be really simple to replicate, all the little details would be missing, all the little improvements for both technical speed boosts / efficiency savings and for ascetics and intuitiveness for the user. You can spend your time doing 90% of Stack Overflow in 1 week, but then you&#8217;ll spend the remaining 90% of time faffing with the little details that will make your site stand out.</p>
<p>These little things can totally ruin your project / website / company, if you do not spend the time bowing before them in homage. There are plenty of website&#8217;s out there which don&#8217;t do justice to their potential. Websites that for some reason, got to the 90% of the way into their project and implement 90% of the features and functions &#8211; but then were put off by the long hard slog of the home straight which is the last 90%. The details beat them into submission! I&#8217;m not saying you have to be a designer to produce a good looking site, (it helps and I&#8217;d recommend that people get someone on board who specialises in functional website UI design), but if you don&#8217;t set your sights too high, then patience and an understanding of CSS will normally do. If you spend this time sorting out all the little things (the font size, the position of your error messages, your link positioning etc), your project will find its <a href="http://en.wikipedia.org/wiki/Bounce_rate">bounce-rate</a> significantly reduced (a good thing!) and the general happiness of frequent users will be improved as they don&#8217;t have to work as hard to get the same amount of work done as your system is more intuitive.</p>
<p><strong>Strive for perfection, excellence will be tolerated</strong>. If you are passionate about your project and you feel that you want to produce the best &#8220;whatever&#8221; in the world &#8211; then make sure you spend your time on the details! It&#8217;s sometimes a long hard slog, but it is invariably worth it in the end.</p>


<p>No related posts.</p>
<p><a href="http://feedads.g.doubleclick.net/~a/vFtQ9MBC9vAMeliqNXVT1Gwa-D8/0/da"><img src="http://feedads.g.doubleclick.net/~a/vFtQ9MBC9vAMeliqNXVT1Gwa-D8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/vFtQ9MBC9vAMeliqNXVT1Gwa-D8/1/da"><img src="http://feedads.g.doubleclick.net/~a/vFtQ9MBC9vAMeliqNXVT1Gwa-D8/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://amadiere.com/blog/2010/02/the-biggest-bits-are-the-little-bits/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blog posts redirecting to homepage</title>
		<link>http://amadiere.com/blog/2010/01/blog-posts-redirecting-to-homepage/</link>
		<comments>http://amadiere.com/blog/2010/01/blog-posts-redirecting-to-homepage/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 15:30:12 +0000</pubDate>
		<dc:creator>Alex Holt</dc:creator>
				<category><![CDATA[Hosting]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Permalinks]]></category>
		<category><![CDATA[URL Rewriting]]></category>

		<guid isPermaLink="false">http://amadiere.com/blog/?p=242</guid>
		<description><![CDATA[Over the last week or two, I hadn&#8217;t spotted but my blog posts were all redirecting to my homepage. This is due to my stupidity. Plain and simple. I didn&#8217;t check once the website had completed its move across hosting providers and the URL redirecting had failed. However, it was fairly simple. When I visited [...]


Related posts:<ol><li><a href='http://amadiere.com/blog/2009/04/wordpress-blog-the-tools-for-the-job/' rel='bookmark' title='Permanent Link: WordPress Blog &amp; The Tools for the Job'>WordPress Blog &amp; The Tools for the Job</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Over the last week or two, I hadn&#8217;t spotted but my blog posts were all redirecting to my homepage. This is due to my stupidity. Plain and simple. I didn&#8217;t check once the website had completed its move across hosting providers and the URL redirecting had failed.</p>
<p>However, it was fairly simple. When I visited the Permalink settings within WordPress, it came up with the following warning:</p>
<blockquote><p>If your .htaccess file were <a href="http://codex.wordpress.org/Changing_File_Permissions">writable</a>, we could do this automatically, but it isn’t so these are the mod_rewrite rules you should have in your .htaccess file. Click in the field and press CTRL + a to select all.</p></blockquote>
<p>To fix it, it was just as easy &#8211; do exactly as it says. I updated my .htaccess file to include the following text.</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008000;">&lt;</span>IfModule mod_rewrite.<span style="color: #0000FF;">c</span><span style="color: #008000;">&gt;</span>
  RewriteEngine On
  RewriteBase <span style="color: #008000;">/</span>blog<span style="color: #008000;">/</span>
  RewriteCond <span style="color: #008000;">%</span><span style="color: #000000;">&#123;</span>REQUEST_FILENAME<span style="color: #000000;">&#125;</span> <span style="color: #008000;">!-</span>f
  RewriteCond <span style="color: #008000;">%</span><span style="color: #000000;">&#123;</span>REQUEST_FILENAME<span style="color: #000000;">&#125;</span> <span style="color: #008000;">!-</span>d
  RewriteRule . <span style="color: #008000;">/</span>blog<span style="color: #008000;">/</span>index.<span style="color: #0000FF;">php</span> <span style="color: #000000;">&#91;</span>L<span style="color: #000000;">&#93;</span>
<span style="color: #008000;">&lt;/</span>IfModule<span style="color: #008000;">&gt;</span></pre></div></div>

<p>This probably wouldn&#8217;t have been such an issue, but the change of hosting provider (from <a title="GoDaddy" href="http://www.godaddy.com">GoDaddy</a> to <a title="NearlyFreeSpeech.net" href="http://www.NearlyFreeSpeech.net">NearlyFreeSpeech.net</a>) was basically going from a Windows box to a Unix box.</p>


<p>Related posts:<ol><li><a href='http://amadiere.com/blog/2009/04/wordpress-blog-the-tools-for-the-job/' rel='bookmark' title='Permanent Link: WordPress Blog &amp; The Tools for the Job'>WordPress Blog &amp; The Tools for the Job</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/qjBNcjwwMSeqZzFwsWkffpeYdD8/0/da"><img src="http://feedads.g.doubleclick.net/~a/qjBNcjwwMSeqZzFwsWkffpeYdD8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/qjBNcjwwMSeqZzFwsWkffpeYdD8/1/da"><img src="http://feedads.g.doubleclick.net/~a/qjBNcjwwMSeqZzFwsWkffpeYdD8/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://amadiere.com/blog/2010/01/blog-posts-redirecting-to-homepage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Joke 18/18: Attack of the Killer Box!</title>
		<link>http://amadiere.com/blog/2009/12/joke-1818-attack-of-the-killer-box/</link>
		<comments>http://amadiere.com/blog/2009/12/joke-1818-attack-of-the-killer-box/#comments</comments>
		<pubDate>Thu, 24 Dec 2009 15:38:23 +0000</pubDate>
		<dc:creator>Alex Holt</dc:creator>
				<category><![CDATA[Jokes]]></category>

		<guid isPermaLink="false">http://www.amadiere.com/blog/?p=239</guid>
		<description><![CDATA[Late last Saturday night; a young chap was walking home from a club...


Related posts:<ol><li><a href='http://amadiere.com/blog/2009/12/joke-1318-how-the-fairy-came-to-be-atop-the-christmas-tree/' rel='bookmark' title='Permanent Link: Joke 13/18: How The Fairy Came To Be Atop The Christmas Tree'>Joke 13/18: How The Fairy Came To Be Atop The Christmas Tree</a></li>
<li><a href='http://amadiere.com/blog/2009/12/joke-318-gary-kasparov-comes-for-te/' rel='bookmark' title='Permanent Link: Joke 3/18: Gary Kasparov comes for tea'>Joke 3/18: Gary Kasparov comes for tea</a></li>
<li><a href='http://amadiere.com/blog/2009/12/joke-718-nelson-mandela/' rel='bookmark' title='Permanent Link: Joke 7/18: Nelson Mandela'>Joke 7/18: Nelson Mandela</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Hope you all have (or have had, by the time you read this) a fantastic Christmas! All the best for 2010! J Enjoy!</p>
<blockquote><p>Late last Saturday night; a young chap was walking home from a club. It was a cold, wet, windy evening, and he was tired and freezing. Most of the streetlights in the area were broken, and the silence was only broken by the occasional sound of a stray cat sifting through a dustbin. Then suddenly he heard a strange noise&#8230;&#8230;.</p>
<p>BUMP&#8230;&#8230;..</p>
<p>BUMP&#8230;&#8230;..</p>
<p>BUMP&#8230;&#8230;..</p>
<p>Startled by this, he turned, and to his amazement, through the driving rain, he saw the faint outline of a large box turning into his road.</p>
<p>BUMP&#8230;&#8230;..</p>
<p>BUMP&#8230;&#8230;..</p>
<p>BUMP&#8230;&#8230;..</p>
<p>He froze to the spot, he couldn&#8217; t believe his eyes, as the box approached from the shadows, he was able to make out its shape more clearly&#8230;.It was a coffin. Not wanting anything to do with this, he put his head down and started walking briskly home. &#8230;&#8230;.</p>
<p>BUMP&#8230;&#8230;..</p>
<p>BUMP&#8230;&#8230;..</p>
<p>BUMP&#8230;&#8230;..</p>
<p>He could feel the coffin gaining on him, he started walking faster&#8230;&#8230;&#8230;</p>
<p>BUMP&#8230;&#8230;..BUMP&#8230;&#8230;</p>
<p>BUMP&#8230;&#8230;..BUMP..</p>
<p>BUMP&#8230;&#8230;..BUMP&#8230;&#8230;</p>
<p>The coffin was closing with his every step, he started to jog, but he heard the coffin speed up after him&#8230;&#8230;</p>
<p>BUMP&#8230;&#8230;..BUMP&#8230;BUMP&#8230;</p>
<p>BUMP&#8230;&#8230;..BUMP&#8230;BUMP&#8230;</p>
<p>BUMP&#8230;&#8230;..BUMP&#8230;BUMP&#8230;</p>
<p>He started to sprint, but so did the coffin &#8230;&#8230;</p>
<p>BUMP&#8230;BUMP&#8230;BUMP&#8230;BUMP.</p>
<p>BUMP&#8230;BUMP&#8230;BUMP&#8230;BUMP&#8230;..</p>
<p>BUMP&#8230;BUMP&#8230;BUMP&#8230;BUMP.</p>
<p>Eventually he made it to his front door, but he knew the coffin was only seconds behind. Fumbling around in his pocket, he pulled out his keys, His hand trembling, he managed to open the lock, he dived inside slamming the front door behind him. He shot into his front room, and slumped into his comfy chair. Suddenly there was a loud crash, as the coffin smashed its way through the front door. The force of the impact broke the lock off the coffin allowing the lid to swing freely on its rusty hinges as it continued its chase&#8230;..</p>
<p>BUMP&#8230;SCREECH&#8230;BUMP&#8230;SCREECH&#8230;</p>
<p>BUMP&#8230;SCREECH&#8230;BUMP&#8230;SCREECH&#8230;</p>
<p>BUMP&#8230;SCREECH&#8230;BUMP&#8230;SCREECH&#8230;</p>
<p>BUMP&#8230;SCREECH&#8230;BUMP&#8230;SCREECH&#8230;</p>
<p>In horror the young lad fled again, as fast as his shaking legs could take him he bolted upstairs to the bathroom locked the door&#8230;&#8230;..</p>
<p>BUMP&#8230;SCREECH&#8230;HOP..BUMP&#8230;SCREECH&#8230;HOP&#8230;</p>
<p>BUMP&#8230;SCREECH&#8230;HOP&#8230;BUMP&#8230;SCREECH&#8230;HOP..</p>
<p>BUMP&#8230;SCREECH&#8230;HOP&#8230;BUMP&#8230;SCREECH&#8230;HOP..</p>
<p>The coffin again gave chase up the stairs, across the landing and launched itself at the bathroom door. With an almighty smash, the bathroom door flew off its hinges&#8230;.. The coffin stood in the doorway, then started to approach the young terrified lad.</p>
<p>BUMP&#8230;SCREECH&#8230;BUMP&#8230;SCREECH&#8230;</p>
<p>BUMP&#8230;SCREECH&#8230;BUMP.SCREECH&#8230;</p>
<p>BUMP&#8230;SCREECH&#8230;BUMP&#8230;SCREECH&#8230;</p>
<p>In a last ditch attempt to save his skin, he reached for his bathroom cabinet&#8230;&#8230; He grabbed a bar of Imperial Leather soap and threw it at the coffin&#8230;&#8230;.still it came &#8230;&#8230;..</p>
<p>BUMP&#8230;SCREECH&#8230;BUMP&#8230;SCREECH&#8230;</p>
<p>He grabbed his can of Lynx deodorant and threw it &#8230;.still it came&#8230;&#8230;</p>
<p>BUMP&#8230;SCREECH&#8230;BUMP.SCREECH&#8230;</p>
<p>He grabbed his first aid kit and threw it &#8230;..still it came&#8230;&#8230;</p>
<p>BUMP&#8230;SCREECH&#8230;BUMP&#8230;SCREECH..</p>
<p>He grabbed some Benelyn cough mixture and threw it&#8230;&#8230;..</p>
<p>The coffin stopped.</p></blockquote>


<p>Related posts:<ol><li><a href='http://amadiere.com/blog/2009/12/joke-1318-how-the-fairy-came-to-be-atop-the-christmas-tree/' rel='bookmark' title='Permanent Link: Joke 13/18: How The Fairy Came To Be Atop The Christmas Tree'>Joke 13/18: How The Fairy Came To Be Atop The Christmas Tree</a></li>
<li><a href='http://amadiere.com/blog/2009/12/joke-318-gary-kasparov-comes-for-te/' rel='bookmark' title='Permanent Link: Joke 3/18: Gary Kasparov comes for tea'>Joke 3/18: Gary Kasparov comes for tea</a></li>
<li><a href='http://amadiere.com/blog/2009/12/joke-718-nelson-mandela/' rel='bookmark' title='Permanent Link: Joke 7/18: Nelson Mandela'>Joke 7/18: Nelson Mandela</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/L09knIj8orsf6d9sZoALG50gZbU/0/da"><img src="http://feedads.g.doubleclick.net/~a/L09knIj8orsf6d9sZoALG50gZbU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/L09knIj8orsf6d9sZoALG50gZbU/1/da"><img src="http://feedads.g.doubleclick.net/~a/L09knIj8orsf6d9sZoALG50gZbU/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://amadiere.com/blog/2009/12/joke-1818-attack-of-the-killer-box/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Joke 17/18: The Son Without A Torso</title>
		<link>http://amadiere.com/blog/2009/12/joke-1718-the-son-without-a-torso/</link>
		<comments>http://amadiere.com/blog/2009/12/joke-1718-the-son-without-a-torso/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 12:15:25 +0000</pubDate>
		<dc:creator>Alex Holt</dc:creator>
				<category><![CDATA[Jokes]]></category>

		<guid isPermaLink="false">http://www.amadiere.com/blog/?p=237</guid>
		<description><![CDATA[A man is waiting for wife to give birth on Christmas Eve. The doctor comes in and informs the dad that his son was born without torso, arms or legs...


Related posts:<ol><li><a href='http://amadiere.com/blog/2009/12/joke-618-singing-simon/' rel='bookmark' title='Permanent Link: Joke 6/18: Singing Simon'>Joke 6/18: Singing Simon</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>A man is waiting for wife to give birth on Christmas Eve. The doctor comes in and informs the dad that his son was born without torso, arms or legs. The son is just a head!</p>
<p>But the father loves his son and raises him as well as he can, with love and compassion. After 21 years, the son is old enough for his first drink. Dad takes him to the bar and tearfully tells the son he is proud of him.</p>
<p>Dad orders up the biggest, strongest drink for his boy. With all the bar patrons looking on curiously and the bartender shaking his head in disbelief, the boy takes his first sip of alcohol. Swoooop! A torso pops out!</p>
<p>The bar is dead silent; then bursts into a whoop of joy. The father, shocked, begs his son to drink again. The patrons chant &#8220;Take another drink!&#8221;</p>
<p>The bartender still shakes his head in dismay. Swoooop! Two arms pops out.</p>
<p>The bar goes wild, but the bartender is clearly disapproving.</p>
<p>The father, crying and wailing, begs his son to drink again. The patrons chant &#8220;Take another drink!&#8221; The bartender ignores the whole affair.</p>
<p>By now the boy is getting tipsy, and with his new hands he reaches down, grabs his drink and guzzles the last of it. Swoooop! Two legs pop out. The bar is in chaos. The father falls to his knees and tearfully thanks God.</p>
<p>The boy stands up on his new legs and stumbles to the left&#8230; then to the right&#8230; right through the front door, into the street, where a truck runs over him and kills him instantly. The bar falls silent. The father moans in grief. The bartender sighs and says, &#8220;That boy should have quit while he was a head.&#8221;</p>


<p>Related posts:<ol><li><a href='http://amadiere.com/blog/2009/12/joke-618-singing-simon/' rel='bookmark' title='Permanent Link: Joke 6/18: Singing Simon'>Joke 6/18: Singing Simon</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/33olfVUQFgxLl73n2miBD1l-gOY/0/da"><img src="http://feedads.g.doubleclick.net/~a/33olfVUQFgxLl73n2miBD1l-gOY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/33olfVUQFgxLl73n2miBD1l-gOY/1/da"><img src="http://feedads.g.doubleclick.net/~a/33olfVUQFgxLl73n2miBD1l-gOY/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://amadiere.com/blog/2009/12/joke-1718-the-son-without-a-torso/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Joke 16/18: English Cats vs French Cats</title>
		<link>http://amadiere.com/blog/2009/12/joke-1618-english-cats-vs-french-cats/</link>
		<comments>http://amadiere.com/blog/2009/12/joke-1618-english-cats-vs-french-cats/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 19:00:16 +0000</pubDate>
		<dc:creator>Alex Holt</dc:creator>
				<category><![CDATA[Jokes]]></category>

		<guid isPermaLink="false">http://www.amadiere.com/blog/?p=235</guid>
		<description><![CDATA[There are these two cats swimming across the river late one Christmas eve...


No related posts.]]></description>
			<content:encoded><![CDATA[<p>There are these two cats swimming across the river late one Christmas eve. One was called &#8220;OneTwoThree&#8221;, and the other called &#8220;UnDeuxTrois&#8221;.</p>
<p>Which one got across the river first?</p>
<p>&#8220;OneTwoThree&#8221; of course, because the UnDeuxTrois cat sank.</p>


<p>No related posts.</p>
<p><a href="http://feedads.g.doubleclick.net/~a/E81duhU2rjDusv7aQ7ExL9jHqeY/0/da"><img src="http://feedads.g.doubleclick.net/~a/E81duhU2rjDusv7aQ7ExL9jHqeY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/E81duhU2rjDusv7aQ7ExL9jHqeY/1/da"><img src="http://feedads.g.doubleclick.net/~a/E81duhU2rjDusv7aQ7ExL9jHqeY/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://amadiere.com/blog/2009/12/joke-1618-english-cats-vs-french-cats/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss><!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
