<?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>Will's Blog</title>
	<atom:link href="http://will.id.au/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://will.id.au/blog</link>
	<description>My random thoughts about stuff</description>
	<lastBuildDate>Wed, 31 Mar 2010 00:27:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Starting again, and some other ideas</title>
		<link>http://will.id.au/blog/archive/2008/09/11/starting-again-and-some-other-ideas</link>
		<comments>http://will.id.au/blog/archive/2008/09/11/starting-again-and-some-other-ideas#comments</comments>
		<pubDate>Thu, 11 Sep 2008 07:10:06 +0000</pubDate>
		<dc:creator>will</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://will.id.au/blog/archive/2008/09/11/starting-again-and-some-other-ideas</guid>
		<description><![CDATA[It&#8217;s been awhile since this blog was last really active. I&#8217;m still getting comment spam, but that&#8217;s already become a &#8220;normal&#8221; thing for most bloggers these days. Have been doing a bit of reflection in regards to the future direction of my blogging. For a brief moment I did consider just leaving this place to [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been awhile since this blog was last really active.</p>
<p>I&#8217;m still getting comment spam, but that&#8217;s already become a &#8220;normal&#8221; thing for most bloggers these days.</p>
<p>Have been doing a bit of reflection in regards to the future direction of my blogging. For a brief moment I did consider just leaving this place to die.<br />
But then I thought, maybe I can just focus on other things? Not just tech.</p>
<p>I&#8217;m also spending a lot of my time on <a href="http://twitter.com/willl">Twitter</a> lately. Which does get updated much more often than this blog. I&#8217;ve setup an account on <a href="http://willl.swurl.com">Swurl</a> to aggregate a few things that I update (<a href="http://twitter.com/willl">twitter</a>/<a href="http://flickr.com/willl">flickr</a>/<a href="http://del.icio.us/will_luu">del.icio.us</a>).</p>
<p>Another thought that came up was to start blogging about food, or in particular, about Vegetarian foods that I eat. Admittedly i&#8217;m not much of a cook (but i&#8217;m learning bit by bit). The not much of a cook part is what&#8217;s holding that idea up, not that it&#8217;s going to stop me <img src='http://will.id.au/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I&#8217;ve been inspired by two Melbourne based food blogs i&#8217;ve been subscribed to over the past few months, one by <a href="http://www.melbedggood.com">Mel Bedgood</a> the other by <a href="http://herestheveg.blogspot.com">Cindy &amp; Michael</a> called &#8220;where&#8217;s the beef?&#8221;. My other inspiration to start posting about Vegetarian foods is the questions I often get asked when I tell people that i&#8217;m a Vegetarian which is &#8220;so what do you eat?&#8221; and &#8220;so do you get enough Vitamins?&#8221;</p>
<p>It&#8217;d probably be quite easy to just direct people to the plethora of Vegetarian recipe websites and blogs and other resources, but it&#8217;s never quite that easy to define. Different individuals will have different ways of achieving the same means.</p>
<p>What I eat will be vastly different to many other Vegetarian individuals out there. You&#8217;d think being an Aussie with a Chinese background most of my food at home is going to be Chinese, right? Well, no.</p>
<p>What I do end up eating at home is a mixture from my parents&#8217; upbringing and mums&#8217; penchant for the local libraries cookbook section.<br />
My mum was actually born in <a href="http://en.wikipedia.org/wiki/Luang_Prabang">Luang Prabang</a> in <a href="http://en.wikipedia.org/wiki/Laos">Laos</a>, and dad was born in <a href="http://en.wikipedia.org/wiki/Vietnam">Vietnam</a> (but are Chinese).</p>
<p>An example of something I may have for dinner might be Vietnamese Rice Paper wraps (Banh Cuon) with some salads (sweet potato based vermicelli noodles, cracked sesame seeds, ground pepper) with some honey/lemon and ginger dipping sauce.</p>
<p>Or it could be something else during summer when the Aussie mangoes are ripe and sliced on top of freshly <a href="http://thai-laos-food.blogspot.com/2006/04/cooking-lao-sticky-rice.html">steamed sticky rice</a>. Then a sprinkling of lightly fried sesame seeds which had been cracked slightly in a <a href="http://en.wikipedia.org/wiki/Mortar_and_pestle">pestle and mortar</a> on top. There is just something about <a href="http://en.wikipedia.org/wiki/Glutinous_rice">sticky rice</a> I can&#8217;t get enough of, but hey, I grew up eating the stuff! <img src='http://will.id.au/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>As you can see, I think there is great variety of foods available to anyone who is a Vegetarian (or even those who aren&#8217;t but like the idea of eating less meat for whatever reason they may have). So i&#8217;m hoping I can share a bit of that here.</p>
]]></content:encoded>
			<wfw:commentRss>http://will.id.au/blog/archive/2008/09/11/starting-again-and-some-other-ideas/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixing Visual Studio&#8217;s System.OutOfMemoryException</title>
		<link>http://will.id.au/blog/archive/2008/06/27/fixing-visual-studios-systemoutofmemoryexception</link>
		<comments>http://will.id.au/blog/archive/2008/06/27/fixing-visual-studios-systemoutofmemoryexception#comments</comments>
		<pubDate>Fri, 27 Jun 2008 01:32:44 +0000</pubDate>
		<dc:creator>will</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://will.id.au/blog/archive/2008/06/27/fixing-visual-studios-systemoutofmemoryexception</guid>
		<description><![CDATA[Over the last little while Visual Studio 2005 has been crashing seemingly &#8220;randomly&#8221;. Sometimes it would happen when just trying to open a source file, other times when trying to debug a web app. A few co-workers asked if I wanted to try ReSharper, so I installed that. After installation crashing seemed much more frequent, [...]]]></description>
			<content:encoded><![CDATA[<p>Over the last little while Visual Studio 2005 has been crashing seemingly &#8220;randomly&#8221;. Sometimes it would happen when just trying to open a source file, other times when trying to debug a web app. A few co-workers asked if I wanted to try ReSharper, so I installed that. After installation crashing seemed much more frequent, so I went into Add-in Manager and disabled ReSharper.</p>
<p>My machine at work has 4GB of memory, and is running Windows XP. So I had assumed I had more than enough memory available for VS 2005 to use.</p>
<p>I had almost given up on fixing the issue, but yesterday came across the following blog post by <a href="http://stevenharman.net/blog/Default.aspx">Steven Harman</a> titled <a href="http://stevenharman.net/blog/archive/2008/04/29/hacking-visual-studio-to-use-more-than-2gigabytes-of-memory.aspx">Hacking Visual Studio to Use More Than 2Gigabytes of Memory</a>.</p>
<p>Basically the solution was to boost the user-mode memory from 2GB to 3GB in XP via adding the /3GB to your BOOT.ini file, then making Visual Studio &#8220;Large Address&#8221; aware using the editbin command.</p>
]]></content:encoded>
			<wfw:commentRss>http://will.id.au/blog/archive/2008/06/27/fixing-visual-studios-systemoutofmemoryexception/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Paging the DataList</title>
		<link>http://will.id.au/blog/archive/2008/04/01/paging-the-datalist</link>
		<comments>http://will.id.au/blog/archive/2008/04/01/paging-the-datalist#comments</comments>
		<pubDate>Tue, 01 Apr 2008 06:09:21 +0000</pubDate>
		<dc:creator>will</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://will.id.au/blog/archive/2008/04/01/paging-the-datalist</guid>
		<description><![CDATA[A few days ago I looked at various solutions to enhance an exhisting DataList control at work. The DataList brings back a fair bit of data from several different tables and seemed a bit bloated. The first solution I looked at was data paging and only showing rows as needed. The DataList doesn&#8217;t come with [...]]]></description>
			<content:encoded><![CDATA[<p>A few days ago I looked at various solutions to enhance an exhisting DataList control at work.</p>
<p>The DataList brings back a fair bit of data from several different tables and seemed a bit bloated.</p>
<p>The first solution I looked at was data paging and only showing rows as needed. The DataList doesn&#8217;t come with built in Paging capabilities, so you&#8217;ll need to write your own. Scott Guthrie has a great post about <a href="http://weblogs.asp.net/scottgu/archive/2006/01/07/434787.aspx">Efficient Data Paging with the DataList control</a>.</p>
<p>Although that is a great solution, in this current environment of Ajaxifying everything you can get your fingers upon I found a greatÂ open sourceÂ product named <a href="http://dotnetslackers.com/projects/AjaxDataControls/Default.aspx">Ajax Data Controls (or ADC for short)</a>Â and their <a href="http://dotnetslackers.com/projects/AjaxDataControls/DataList/Paging.aspx">DataList Paging example</a>. You can download the controls from their <a href="http://www.codeplex.com/AjaxDataControls">CodePlex page</a>.</p>
<p>The controlsÂ are basicallyÂ an AjaxifiedÂ replacement for the exhisting ASP.NET 2.0 Data Controls (GridView/DataList/Repeater), with a few minor differences.</p>
<p>One of the authors, Kazi Manzur RashidÂ has a great <a href="http://weblogs.asp.net/rashid/archive/2007/12/03/ajaxdatacontrols-gridview-part-one.aspx">blog post on how to use their GridView control</a>.</p>
<p>A third solution is to use theÂ <a href="http://msdn2.microsoft.com/system.web.ui.webcontrols.pageddatasource">PagedDataSource</a>, which comes with ASP.NET 2.0. Sreejith Thathanattu has posted a goodÂ example ofÂ using theÂ <a href="http://www.codeproject.com/Kb/aspnet/pagingBySreejith%20Thathanattu.aspx">PagedDataSourceÂ on CodeProject with the DataList</a>. If you decide to go down this path, consider assigning a Cached version of your DataSource to PagedDataSource as that will help with performance (you&#8217;ll be hitting the Database less).</p>
]]></content:encoded>
			<wfw:commentRss>http://will.id.au/blog/archive/2008/04/01/paging-the-datalist/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blank Comment Spam</title>
		<link>http://will.id.au/blog/archive/2008/03/17/375</link>
		<comments>http://will.id.au/blog/archive/2008/03/17/375#comments</comments>
		<pubDate>Mon, 17 Mar 2008 05:07:29 +0000</pubDate>
		<dc:creator>will</dc:creator>
				<category><![CDATA[Comment Spam]]></category>

		<guid isPermaLink="false">http://will.id.au/blog/archive/2008/03/17/375</guid>
		<description><![CDATA[There seems to be a lot of comment spam at the moment where the content is just a pair of &#60;a&#62;Â  &#60;/a&#62; tags with no other content. The common point linking most of them is their email address being usually an @mail.com, and a handful with @berlin.com. Or more specifically, the following: - heel@mail.com - [...]]]></description>
			<content:encoded><![CDATA[<p>There seems to be a lot of comment spam at the moment where the content is just a pair of &lt;a&gt;Â  &lt;/a&gt; tags with no other content.</p>
<p>The common point linking most of them is their email address being usually an @mail.com, and a handful with @berlin.com. Or more specifically, the following:<br />
- heel@mail.com<br />
- jane@mail.com<br />
- dominic@mail.com<br />
- bill@berlin.com</p>
<p>There&#8217;s been about 76 of these that I&#8217;ve found, and they&#8217;ve started appearing on Saturday March 15th. To say the least, they are quiteÂ unusual comparedÂ to the regular spam I&#8217;ve been getting. I&#8217;m sure with time they may vary those addresses, or something else is going to be launched with this being just a simple system test-run.</p>
<p>Doing a little quick investigation via Google indicates that these aren&#8217;t new email spam addresses.</p>
]]></content:encoded>
			<wfw:commentRss>http://will.id.au/blog/archive/2008/03/17/375/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Internet Explorer 8 Beta 1 &#8211; Changes for Devs</title>
		<link>http://will.id.au/blog/archive/2008/03/06/internet-explorer-8-beta-1-changes-for-devs</link>
		<comments>http://will.id.au/blog/archive/2008/03/06/internet-explorer-8-beta-1-changes-for-devs#comments</comments>
		<pubDate>Thu, 06 Mar 2008 00:22:39 +0000</pubDate>
		<dc:creator>will</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://will.id.au/blog/archive/2008/03/06/internet-explorer-8-beta-1-changes-for-devs</guid>
		<description><![CDATA[The IE Team have just announced the availability of Beta 1Â of IE8 for developers. You can read more about that on their blog. Obviously as a web developer, the mind immediately turns to &#8220;so, what&#8217;s in it for me?&#8221;. Picked up the following points from an MSDN Doc on what&#8217;s new for IE8: Accessibility No [...]]]></description>
			<content:encoded><![CDATA[<p>The IE Team have just <a href="http://blogs.msdn.com/ie/archive/2008/03/05/internet-explorer-8-beta-1-for-developers-now-available.aspx">announced the availability of Beta 1</a>Â of IE8 for developers. You can read more about that on their blog.</p>
<p>Obviously as a web developer, the mind immediately turns to &#8220;so, what&#8217;s in it for me?&#8221;.</p>
<p>Picked up the following points from an <a href="http://msdn2.microsoft.com/en-us/library/cc288472(VS.85).aspx">MSDN Doc on what&#8217;s new for IE8</a>:</p>
<ul>
<li><strong><a href="http://msdn2.microsoft.com/en-us/library/cc304059(VS.85).aspx">Accessibility</a></strong>
<ul>
<li>No more &#8220;alt&#8221; for image alternate text/tooltip. So use <a href="http://www.w3.org/TR/html401/struct/global.html#adef-title">title</a> or <a href="http://www.w3.org/TR/html401/struct/objects.html#adef-longdesc-IMG">longdesc</a> instead.</li>
</ul>
</li>
<li><strong>ActiveX</strong>
<ul>
<li>Per-Site ActiveX -Â Permission to allow ActiveX controls to run on a site-by-site basis.</li>
<li>Non-Admin install &#8211; Allows non-admin users to install ActiveX controls to their user profiles (no UAC).</li>
</ul>
</li>
<li><strong>Activities &amp; WebSlices</strong>
<ul>
<li><a href="http://msdn2.microsoft.com/en-us/library/cc287851(VS.85).aspx">Services</a></li>
<li><a href="http://msdn2.microsoft.com/en-us/library/cc196992(VS.85).aspx">WebSlices</a></li>
</ul>
</li>
<li><strong>Ajax Enhancements</strong>
<ul>
<li>Ajax Navigation &#8211; Allows browser back button to work when doing ajax based navigation.</li>
<li><a href="http://msdn2.microsoft.com/en-us/library/cc304135(VS.85).aspx">XMLHttpRequest Enhancements</a>
<ul>
<li>Connection <a href="http://msdn2.microsoft.com/en-us/library/cc304105(VS.85).aspx">timeout</a> <em>(read/write)</em> property</li>
<li><a href="http://msdn2.microsoft.com/en-us/library/cc304109(VS.85).aspx">ontimeout event</a></li>
</ul>
</li>
<li>Max Concurrent Connections default changed from 2 to 6. <em>You can </em><a href="http://blogs.msdn.com/nickmac/archive/2004/08/25/how-to-speed-up-http-requests-on-internet-explorer.aspx"><em>change the registry to get this for current versions of IE</em></a><em>.</em><br />
In IE8, a developer has access to the following JavaScript properties: <a href="http://msdn2.microsoft.com/en-us/library/cc197013(VS.85).aspx">window.maxConnectionsPerServer</a> and <a href="http://msdn2.microsoft.com/en-us/library/cc197012(VS.85).aspx">window.maxConnectionsPerServer_01</a>Â <em>(both read only)</em></li>
<li>
<p align="left">Changed window.navigator.onLine behaviour from being a user-set (File -&gt; Work Offline) <a href="http://msdn2.microsoft.com/en-us/library/aa768170(VS.85).aspx">global &#8220;offline&#8221;</a>, to now indicating whether a user is connected to a network.<br />
Also, new events <a href="http://msdn2.microsoft.com/en-us/library/cc304126(VS.85).aspx">onOffLine</a>Â and <a href="http://msdn2.microsoft.com/en-us/library/cc304127(VS.85).aspx">onOnLine</a>.</p>
</li>
<li>
<p align="left">Cross Domain Request (XDR) &#8211; A new object introduced, XDomainRequest. From the MSDN page &#8211; &#8220;allow restricted and secure communication between untrusted modules in the page. The browser shields the user from potential threats while allowing powerful cross-site interaction. &#8220;</p>
</li>
<li>
<p align="left">Cross Document Messaging based on <a href="http://msdn2.microsoft.com/en-us/library/cc197015(VS.85).aspx">postMessage</a>. From MSDN Page &#8211; &#8220;allows cooperative text exchange between untrusted modules from different domains embedded within a page.&#8221;</p>
</li>
</ul>
</li>
<li>
<p align="left"><strong><a href="http://msdn2.microsoft.com/en-us/library/cc304082(VS.85).aspx">CSS</a></strong></p>
<ul>
<li>
<p align="left"><a href="http://en.wikipedia.org/wiki/Data:_URI_scheme">data:URI</a>Â - Allows one to embed small data resources (eg: small images). <a href="http://www.sveinbjorn.org/dataurls_css">Here&#8217;s an example</a>.</p>
</li>
<li>
<p align="left">Floats &#8211; Several fixes and <a href="http://msdn2.microsoft.com/en-us/library/ms533776.aspx">hasLayout</a> removed from IE8.</p>
</li>
<li>
<p align="left"><a href="http://www.w3.org/TR/REC-CSS2/box.html#collapsing-margins">Margin Collapsing</a>Â now complies with CSS2.1</p>
</li>
<li>
<p align="left">New <a href="http://msdn2.microsoft.com/en-us/library/cc304078(VS.85).aspx">:before</a>, <a href="http://msdn2.microsoft.com/en-us/library/cc304076(VS.85).aspx">:after</a> and <a href="http://msdn2.microsoft.com/en-us/library/cc304080(VS.85).aspx">:focus</a> pseudo classes, with associated <a href="http://msdn2.microsoft.com/en-us/library/cc196962(VS.85).aspx">content</a> attribute. Also see w3c article on CSS 2.1 <a href="http://www.w3.org/TR/CSS21/generate.html">Generated Content</a> and <a href="http://www.w3.org/TR/CSS21/selector.html">Selectors</a>.</p>
</li>
<li>
<p align="left"><a href="http://msdn2.microsoft.com/en-us/library/cc196967(VS.85).aspx">outline</a>.</p>
</li>
<li>
<p align="left">Printing Changes</p>
<ul>
<li>
<p align="left"><a href="http://msdn2.microsoft.com/en-us/library/cc196971(VS.85).aspx">page-break-inside</a></p>
</li>
<li>
<p align="left"><a href="http://msdn2.microsoft.com/en-us/library/cc196972(VS.85).aspx">widows</a> attribute</p>
</li>
<li>
<p align="left"><a href="http://msdn2.microsoft.com/en-us/library/cc196966(VS.85).aspx">orphans</a></p>
</li>
</ul>
</li>
<li>
<p align="left">CSS Table Layout enhancements.</p>
</li>
<li>
<p align="left">text-decoration now conforms to CSS 2.1.</p>
</li>
<li>
<p align="left"><a href="http://msdn2.microsoft.com/en-us/library/cc196983(VS.85).aspx">border-spacing</a></p>
</li>
<li>
<p align="left"><a href="http://msdn2.microsoft.com/en-us/library/cc196961(VS.85).aspx">caption-side</a></p>
</li>
<li>
<p align="left">Counters &amp; Numbering &#8211; <a href="http://msdn2.microsoft.com/en-us/library/cc196964(VS.85).aspx">counter-reset</a>, <a href="http://msdn2.microsoft.com/en-us/library/cc196963(VS.85).aspx">counter-increment</a>.</p>
</li>
<li>
<p align="left">Support for <a href="http://www.w3.org/TR/css3-ruby/">CSS3 Ruby Module</a>. Mainly used for East Asian documents for pronunciation/short annotation purposes. <em>Pretty cool, especially for those asian language learning sites.</em></p>
</li>
<li>
<p align="left">Additional <a href="http://msdn2.microsoft.com/en-us/library/ms530797(VS.85).aspx">list-style-type</a> values.</p>
</li>
<li>
<p align="left"><a href="http://msdn2.microsoft.com/en-us/library/ms531182(VS.85).aspx">white-space</a></p>
</li>
<li>
<p align="left"><a href="http://msdn2.microsoft.com/en-us/library/ms531188(VS.85).aspx">z-index</a></p>
</li>
</ul>
</li>
<li>
<p align="left"><a href="http://msdn2.microsoft.com/en-us/library/cc304131(VS.85).aspx">Developer Tools</a></p>
<ul>
<li>
<p align="left">CSS Tool</p>
</li>
<li>
<p align="left">Light-Weight <a href="http://msdn2.microsoft.com/en-us/library/cc304130(VS.85).aspx">Script Debugger</a></p>
</li>
<li>
<p align="left">Version Mode switching.</p>
</li>
</ul>
</li>
<li>
<p align="left"><a href="http://msdn2.microsoft.com/en-us/library/cc288325(VS.85).aspx">Document Compatability Mode</a></p>
</li>
<li>
<p align="left"><a href="http://msdn2.microsoft.com/en-us/library/cc197062(VS.85).aspx">DOM Storage</a>Â - aka <a href="http://www.whatwg.org/specs/web-apps/current-work/#storage">Client-side session and persistent storage</a></p>
</li>
<li>
<p align="left">Protected Mode Cookies</p>
</li>
<li>
<p align="left"><a href="http://msdn2.microsoft.com/en-us/library/cc288326(VS.85).aspx">SelectorsÂ API</a></p>
</li>
<li>
<p align="left">Tab Isolation &amp; Concurrency &#8211; Improves performance/reliability of IE 8. So if a page in one tab hangs, the others are still usable.</p>
</li>
</ul>
<p align="left">Oh, and <a href="http://code.msdn.microsoft.com/ie8whitepapers">IE8 Whitepapers</a>.</p>
<p align="left">And finally, for those who want to try IE8 with no risks, you can download a Virtual PC image with IE8 from <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=21EABB90-958F-4B64-B5F1-73D0A413C8EF&amp;displaylang=en">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://will.id.au/blog/archive/2008/03/06/internet-explorer-8-beta-1-changes-for-devs/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Happy Chinese New Year</title>
		<link>http://will.id.au/blog/archive/2008/02/06/happy-chinese-new-year-3</link>
		<comments>http://will.id.au/blog/archive/2008/02/06/happy-chinese-new-year-3#comments</comments>
		<pubDate>Wed, 06 Feb 2008 12:10:24 +0000</pubDate>
		<dc:creator>will</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://will.id.au/blog/archive/2008/02/06/happy-chinese-new-year-3</guid>
		<description><![CDATA[Would like to wish one and all a very Happy Chinese New Year. Xin Nian Kuai Le (or in Cantonese: Sun Nin Fai Lok). Wishing you a safe and prosperous year ahead. Â Wow, it&#8217;s the year of the rat this year!]]></description>
			<content:encoded><![CDATA[<p>Would like to wish one and all a very Happy <a href="http://en.wikipedia.org/wiki/Chinese_New_Year">Chinese New Year</a>. Xin Nian Kuai Le (or in Cantonese: Sun Nin Fai Lok).</p>
<p>Wishing you a safe and prosperous year ahead.</p>
<p>Â Wow, it&#8217;s the <a href="http://en.wikipedia.org/wiki/Rat_(zodiac)">year of the rat</a> this year!</p>
]]></content:encoded>
			<wfw:commentRss>http://will.id.au/blog/archive/2008/02/06/happy-chinese-new-year-3/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Reports locally in ASP.NET 2.0</title>
		<link>http://will.id.au/blog/archive/2008/02/01/using-reports-locally-in-aspnet-20</link>
		<comments>http://will.id.au/blog/archive/2008/02/01/using-reports-locally-in-aspnet-20#comments</comments>
		<pubDate>Fri, 01 Feb 2008 00:34:04 +0000</pubDate>
		<dc:creator>will</dc:creator>
				<category><![CDATA[.NET]]></category>

		<guid isPermaLink="false">http://will.id.au/blog/archive/2008/02/01/using-reports-locally-in-aspnet-20</guid>
		<description><![CDATA[I was asked recently to develop reports for an internal ASP.NET app, after doing some research found that the best solution was to use the ASP.NET ReportViewer control set in LocalMode. One of my big restrictions was the inability to upgrade from SQL Server 2000 to 2005, which meant avoiding I needed to avoid MS [...]]]></description>
			<content:encoded><![CDATA[<p>I was asked recently to develop reports for an internal ASP.NET app, after doing some research found that the best solution was to use the ASP.NET ReportViewer control set in LocalMode.</p>
<p>One of my big restrictions was the inability to upgrade from SQL Server 2000 to 2005, which meant avoiding I needed to avoid MS SQL Reporting Services. After much research into third party reporting components such as the <a href="http://www.telerik.com/products/reporting/overview.aspx" title="Telerik - Reporting Tools for .NET">Telerik Reporting Control</a>Â as well as the <a href="http://sharpdevelopreports.net/(X(1)S(tnuaw3n4tziwopa5w1wwqi55))/Default.aspx?AspxAutoDetectCookieSupport=1">SharpDevelop Reports</a>, in the end I found a CodeProject article on <a href="http://www.codeproject.com/KB/webforms/ReportViewer.aspx">Using the ASP.NET 2.0 ReportViewer in Local Mode</a>Â which sounded perfect for my requirements.</p>
<p>Another requirement was to have the reports emailed out to respective contacts within the system, with PDF being the preferred format. My initial thought was to export to a temporary file on the system and attach it to the system generated email.</p>
<p>Found some code on the MSDN Forums about <a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1509822&amp;SiteID=1">Printing Local Reports in ASP.NET</a>Â which contained a useful looking ReportPrinterHelper class. Reading the code I noticed that it called the ReportViewer&#8217;s LocalReport.Render() function, and passed &#8220;PDF&#8221; as a parameter and also returned a byte[] array. An aha! moment struck, I could create a MemoryStream from the Byte[] array and attach that to an email as a PDF file.</p>
<p>Here&#8217;s my new RenderToPDFBytes function:</p>
<pre class="prettyprint">public static byte[] RenderToPDFBytes(ReportViewer reportViewer, ExportType exportType)
{
Â  if (exportType == ExportType.Pdf)
Â  {
Â Â Â  Warning[] warnings;
Â Â Â  string mimeType, encoding, fileNameExtension;
Â Â Â  string[] streams;
Â Â Â  byte[] pdfContent = reportViewer.LocalReport.Render("PDF", null, out mimeType, out encoding, out fileNameExtension, out streams, out warnings);
Â Â Â  return pdfContent;
Â  }
Â  else if (exportType == ExportType.Xls)
Â  {
Â  Â  // Implement if needed, just change PDF to XLS
Â  }
Â  return new byte[0];
}</pre>
<p>Just place that into your ReportPrinterHelper class and reference it in your code as follows:</p>
<pre class="prettyprint">// Render our ReportViewer control to PDF format as bytes
byte[] data = ReportPrinterHelper.RenderToPDFBytes(rptViewer1, ExportType.Pdf);
// Transform our byte[] into a format suitable for attaching to an email.
// Eg: Either in memory, or as a file on the system.
MemoryStream ms = new MemoryStream(data);
// Now to email it out as an attachment
try
{
Â  MailMessage mm = new MailMessage();
Â  mm.From = new MailAddress("noreply@example.com", "Ex Corp");
Â  mm.To.Add(new MailAddress("toaddress@example.com", "Bob Code"));
Â  mm.Subject = "Daily Random Report";
Â  mm.Body = "Please find attached your Daily Report";    

Â Â // Add our attachment to the MailMessage
Â  mm.Attachments.Add(new Attachment(ms, "random.pdf", "application/pdf"));    

Â  // Set smtp.example.com to your relevant SMTP Host
Â  SmtpClient smtp = new SmtpClient("smtp.example.com");
Â  smtp.Send(mm);
}
catch (System.Exception e)
{
Â  // catch error and do something with it.
}</pre>
<p><strong>Note</strong>: The ReportViewer control is only available as part of Visual Studio 2005 and is not a part of ASP.NET. As such, you&#8217;ll need Visual Studio installed to work with it.</p>
]]></content:encoded>
			<wfw:commentRss>http://will.id.au/blog/archive/2008/02/01/using-reports-locally-in-aspnet-20/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Random Links</title>
		<link>http://will.id.au/blog/archive/2007/04/12/random-links</link>
		<comments>http://will.id.au/blog/archive/2007/04/12/random-links#comments</comments>
		<pubDate>Thu, 12 Apr 2007 01:14:10 +0000</pubDate>
		<dc:creator>will</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://will.id.au/blog/archive/2007/04/12/random-links</guid>
		<description><![CDATA[Okay, I just need to unload a whole bunch of links that have been open in various tabs in IE7. Improve your wireless network in ten different ways via LifeHacker.com Managing The Madness: What you need to know about covering the NCAA Tournament via Strobist. Ace your next phone interview via LifeHacker.com How to find [...]]]></description>
			<content:encoded><![CDATA[<p>Okay, I just need to unload a whole bunch of links that have been open in various tabs in IE7.</p>
<p><a href="http://lifehacker.com/software/wireless/improve-your-wireless-network-ten-different-ways-248600.php">Improve your wireless network in ten different ways</a> via LifeHacker.com<br />
<a href="http://www.sportsshooter.com/news/1726">Managing The Madness: What you need to know about covering the NCAA Tournament</a> via <a href="http://strobist.blogspot.com/2007/04/be-glad-you-are-watching-it-on-tv.html">Strobist</a>.<br />
<a href="http://lifehacker.com/software/interviews/ace-your-next-phone-interview-249188.php">Ace your next phone interview</a> via LifeHacker.com<br />
<a href="http://lifehacker.com/software/ebooks/how-to-find-free-ebooks-for-your-cellphone-or-pda-251154.php">How to find free eBooks for your cellphone or PDA</a> via LifeHacker.com<br />
<a href="http://lifehacker.com/software/vnc/tech-support-with-vnc-reverse-connections-250794.php">Tech support with VNC reverse connections</a> via LifeHacker.com<br />
<a href="http://lifehacker.com/software/defragment/speed-up-your-hard-drive-defrag-251503.php">Speed up your hard drive defrag</a> via LifeHacker.com<br />
<a href="http://bink.nu/Article9858.bink">Data Encryption Toolkit for Mobile PCs</a> via Bink.nu</p>
<p>And one more link, for those using IE7. It&#8217;s an add-in called <a href="http://www.ie7pro.com">IE7Pro</a>, which has a few interesting features such as crash recovery and tab history.</p>
]]></content:encoded>
			<wfw:commentRss>http://will.id.au/blog/archive/2007/04/12/random-links/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Code Camp OZ Photos</title>
		<link>http://will.id.au/blog/archive/2007/04/02/code-camp-oz-photos</link>
		<comments>http://will.id.au/blog/archive/2007/04/02/code-camp-oz-photos#comments</comments>
		<pubDate>Mon, 02 Apr 2007 02:08:11 +0000</pubDate>
		<dc:creator>will</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://will.id.au/blog/archive/2007/04/02/code-camp-oz-photos</guid>
		<description><![CDATA[I&#8217;ve just posted a bunch of photos from Code Camp OZ 200 to Flickr. Just follow this link for more photos. I&#8217;ll post a recap later. Keep in mind though, I&#8217;ve only got photos for day 1 and not day 2 of Code Camp. Decided not to take any photos on day 2.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just posted a bunch of photos from <a href="http://www.codecampoz.com">Code Camp OZ</a> 200 to <a href="http://www.flickr.com">Flickr</a>.</p>
<p><a href="http://www.flickr.com/photos/willl/442725275/" title="Photo Sharing"><img src="http://farm1.static.flickr.com/205/442725275_d999b7d360.jpg" width="500" height="333" alt="Code Campers" /></a></p>
<p><a href="http://www.flickr.com/photos/willl/442742122/" title="Photo Sharing"><img src="http://farm1.static.flickr.com/193/442742122_5169a36918.jpg" width="500" height="333" alt="Code Campers" /></a></p>
<p>Just follow this <a href="http://www.flickr.com/photos/willl/sets/72157600041474283/">link for more photos</a>.</p>
<p>I&#8217;ll post a recap later. Keep in mind though, I&#8217;ve only got photos for day 1 and not day 2 of Code Camp. Decided not to take any photos on day 2.</p>
]]></content:encoded>
			<wfw:commentRss>http://will.id.au/blog/archive/2007/04/02/code-camp-oz-photos/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Making your blog photos look better</title>
		<link>http://will.id.au/blog/archive/2007/03/17/making-your-blog-photos-look-better</link>
		<comments>http://will.id.au/blog/archive/2007/03/17/making-your-blog-photos-look-better#comments</comments>
		<pubDate>Sat, 17 Mar 2007 11:50:02 +0000</pubDate>
		<dc:creator>will</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Photography]]></category>

		<guid isPermaLink="false">http://will.id.au/blog/archive/2007/03/17/making-your-blog-photos-look-better</guid>
		<description><![CDATA[Did you ever wish that your blog photographs looked better? Now i&#8217;m no professional photographer, but some other people are. I came across a blog late last year called]]></description>
			<content:encoded><![CDATA[<p>Did you ever wish that your blog photographs looked better?</p>
<p>Now i&#8217;m no professional photographer, but some other people are.</p>
<p>I came across a blog late last year called <a href='http://strobist.blogspot.com">Strobist</a> which posted some awesome photography related articles relating to using off camera lighting in your photography. And ever since then, I&#8217;ve been a fan of the articles published on Strobist. The blogosphere just has so much information that you are more than likely going to find something that interests you! <img src='http://will.id.au/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I see so many blogs out there where the owner likes to take photos of various small items, some purchased, others borrowed and maybe even personal creations!</p>
<p>Now don&#8217;t get me wrong, there&#8217;s nothing wrong with those photos at all. It&#8217;s just sometimes you (as the author/photographer), think &#8220;I wish my photos looked more &#8216;pro&#8217;&#8221;.</p>
<p><a href="http://strobist.blogspot.com">Strobist</a> to the rescue! Check out David&#8217;s how to article on <a href="http://strobist.blogspot.com/2006/07/how-to-diy-10-macro-photo-studio.html">DIY $10 Macro Photo studio</a>. </p>
<p>I created a similar setup last year to play around with, here&#8217;s what I came up with.<br />
<a href="http://www.flickr.com/photos/willl/286705781/" title="Photo Sharing"><img src="http://farm1.static.flickr.com/119/286705781_8bf88f5312.jpg" width="500" height="393" alt="LightBox Photo Setup" /></a></p>
<p>And here&#8217;s a few photos taken using this setup:<br />
<a href="http://www.flickr.com/photos/willl/286702373/" title="Photo Sharing"><img src="http://farm1.static.flickr.com/119/286702373_ab5735f6c1_m.jpg" width="160" height="240" alt="Toying with the lightbox/wireless flash" /></a> <a href="http://www.flickr.com/photos/willl/281815089/" title="Photo Sharing"><img src="http://farm1.static.flickr.com/120/281815089_cbadcdafd3_m.jpg" width="240" height="122" alt="mmm... Choccies!" /></a></p>
<p>There&#8217;s also a follow up article on Strobist suggesting some <a href="http://strobist.blogspot.com/2006/08/on-assignment-shoot-your-shiny-new.html">improvements to DIY Macro Studio</a>.</p>
<p>Of course, I had to try this out myself. So I did, and here&#8217;s one of my results:<br />
<a href="http://www.flickr.com/photos/willl/300818765/" title="Photo Sharing"><img src="http://farm1.static.flickr.com/100/300818765_62e25c198e_m.jpg" width="240" height="188" alt="A Nikon branded Compact Flash card" /></a></p>
<p>My setup differs a bit, but uses many of those ideas. Rather than using a reflective black tile, I use a black piece of cardboard on the base of my lightbox and found a 2mm thick piece of plastic to place on top of that. </p>
<p>What the plastic does is create a reflective surface, and the black piece of paper underneath the plastic creates my &#8220;shiny&#8221; reflective black surface. My only issue is that the plastic is bigger than the base of the box, and I found that it gives me a funky reflection on my background as you can see in the top left of the following photo.</p>
<p><a href="http://www.flickr.com/photos/willl/300815320/" title="Photo Sharing"><img src="http://farm1.static.flickr.com/115/300815320_806bb4c85d.jpg" width="500" height="224" alt="Vroom vroom" /></a></p>
<p>For the background, I&#8217;ve placed a single A4 sheet of blue paper. </p>
<p>You might think it&#8217;d be a weird look, a black surface with a blue background, but you&#8217;d be wrong. What happens is whatever colour your background is, that will be the colour of your surface. The black shiny surface basically acts a bit like a mirror and will reflect both your subject, as well as the background.</p>
<p>Change the background regularly, surprise yourself and goodluck! <img src='http://will.id.au/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://will.id.au/blog/archive/2007/03/17/making-your-blog-photos-look-better/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

