<?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>Kerry D. Wong &#187; C Sharp (C#)</title>
	<atom:link href="http://www.kerrywong.com/tag/csharp/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kerrywong.com</link>
	<description></description>
	<lastBuildDate>Fri, 10 Feb 2012 02:01:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Hex/Bin/Dec Converter And Calculator</title>
		<link>http://www.kerrywong.com/2010/11/09/hexbindec-converter-and-calculator/</link>
		<comments>http://www.kerrywong.com/2010/11/09/hexbindec-converter-and-calculator/#comments</comments>
		<pubDate>Tue, 09 Nov 2010 19:30:26 +0000</pubDate>
		<dc:creator>kwong</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[C Sharp (C#)]]></category>

		<guid isPermaLink="false">http://www.kerrywong.com/?p=2918</guid>
		<description><![CDATA[When working with micro-controller projects, it is often necessary to perform calculations in binary and hexadecimal forms. While almost all calculator tools (such as calc under Windows and gcalctool in Linux) can handle such tasks, they are designed for general purpose calculations and not geared specifically towards working with digital circuits. Particularly, it often requires [...]]]></description>
		<wfw:commentRss>http://www.kerrywong.com/2010/11/09/hexbindec-converter-and-calculator/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>POV And POV Image Encoder</title>
		<link>http://www.kerrywong.com/2010/08/19/pov-and-pov-image-encoder/</link>
		<comments>http://www.kerrywong.com/2010/08/19/pov-and-pov-image-encoder/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 23:37:35 +0000</pubDate>
		<dc:creator>kwong</dc:creator>
				<category><![CDATA[AVR/Arduino]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Atmega328P]]></category>
		<category><![CDATA[C Sharp (C#)]]></category>
		<category><![CDATA[POV]]></category>

		<guid isPermaLink="false">http://www.kerrywong.com/?p=2430</guid>
		<description><![CDATA[One of my recent projects was to build a POV display device. There are already many microcontroller based POV devices out there, but most of those I have seen use around eight LEDs and have fixed font types. So I thought of developing something that is larger (e.g. using more LEDs) and more flexible (e.g. [...]]]></description>
		<wfw:commentRss>http://www.kerrywong.com/2010/08/19/pov-and-pov-image-encoder/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Simple Thread Barrier Implementation</title>
		<link>http://www.kerrywong.com/2009/11/27/a-simple-thread-barrier-implementation/</link>
		<comments>http://www.kerrywong.com/2009/11/27/a-simple-thread-barrier-implementation/#comments</comments>
		<pubDate>Sat, 28 Nov 2009 01:03:38 +0000</pubDate>
		<dc:creator>kwong</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Barrier]]></category>
		<category><![CDATA[C Sharp (C#)]]></category>
		<category><![CDATA[Multi-threading]]></category>

		<guid isPermaLink="false">http://www.kerrywong.com/?p=1540</guid>
		<description><![CDATA[Sometimes a group of concurrently running threads may need to rendezvous at a certain point in time before they can further proceed. This situation commonly arises in areas like event simulation, where the events are synchronized via a clock event (see illustration below): In the above example, a number of threads start at different times [...]]]></description>
		<wfw:commentRss>http://www.kerrywong.com/2009/11/27/a-simple-thread-barrier-implementation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monodevelop on Ubuntu 9.04</title>
		<link>http://www.kerrywong.com/2009/07/22/monodevelop-on-ubuntu-9-04/</link>
		<comments>http://www.kerrywong.com/2009/07/22/monodevelop-on-ubuntu-9-04/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 04:00:04 +0000</pubDate>
		<dc:creator>kwong</dc:creator>
				<category><![CDATA[Linux/BSD]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[C Sharp (C#)]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.kerrywong.com/?p=1408</guid>
		<description><![CDATA[I am running Ubuntu 9.04 64bit. One thing I noticed is that the integrated debugger is behaving quite flaky for the included Monodevelop 2.0 package. After some research, it turned out that a lot of people are having similar issues. So I followed the instructions given in these two blogs: Install Mono 2.4 on Ubuntu, [...]]]></description>
		<wfw:commentRss>http://www.kerrywong.com/2009/07/22/monodevelop-on-ubuntu-9-04/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Poor Man&#8217;s Parallel Task Dispatcher</title>
		<link>http://www.kerrywong.com/2009/07/14/poor-mans-parallel-task-dispatcher/</link>
		<comments>http://www.kerrywong.com/2009/07/14/poor-mans-parallel-task-dispatcher/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 01:55:39 +0000</pubDate>
		<dc:creator>kwong</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[C Sharp (C#)]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[Multi-threading]]></category>

		<guid isPermaLink="false">http://www.kerrywong.com/?p=1392</guid>
		<description><![CDATA[Even though multi-core processors are almost ubiquitous nowadays, applications are slow to catch up. Of course, one could always re-write the applications in order to take the full advantages in a multi-core environment. But it is not an easy undertaking. For applications that performs rather repetitive tasks over a well defined set of data (e.g. [...]]]></description>
		<wfw:commentRss>http://www.kerrywong.com/2009/07/14/poor-mans-parallel-task-dispatcher/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Two Level Tree and Its Applications — II</title>
		<link>http://www.kerrywong.com/2008/12/22/two-level-tree-and-its-applications-%e2%80%94-ii/</link>
		<comments>http://www.kerrywong.com/2008/12/22/two-level-tree-and-its-applications-%e2%80%94-ii/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 00:37:27 +0000</pubDate>
		<dc:creator>kwong</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Algorithm]]></category>
		<category><![CDATA[C Sharp (C#)]]></category>
		<category><![CDATA[Tree]]></category>

		<guid isPermaLink="false">http://www.kerrywong.com/?p=480</guid>
		<description><![CDATA[In my previous post, I discussed how to merge and split a two level tree. Before moving on to discuss its applications, let us take a look at the output of the sample program I gave before.&#160; &#160;&#160;&#160; &#160;&#160;&#160; static void Main(string[] args) &#160;&#160;&#160; &#160;&#160;&#160; { &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; TreeNode n1 = new TreeNode(&#34;t1&#34;); &#160;&#160;&#160; [...]]]></description>
		<wfw:commentRss>http://www.kerrywong.com/2008/12/22/two-level-tree-and-its-applications-%e2%80%94-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Two Level Tree and Its Applications &#8212; I</title>
		<link>http://www.kerrywong.com/2008/12/21/two-level-tree-and-its-applications-i/</link>
		<comments>http://www.kerrywong.com/2008/12/21/two-level-tree-and-its-applications-i/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 02:19:59 +0000</pubDate>
		<dc:creator>kwong</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Algorithm]]></category>
		<category><![CDATA[C Sharp (C#)]]></category>
		<category><![CDATA[Tree]]></category>

		<guid isPermaLink="false">http://www.kerrywong.com/?p=474</guid>
		<description><![CDATA[A two level tree is a simple tree data structure. Unlike in a typical tree where the tree depths could be arbitrary, a two level tree has only two levels as its name suggests. Two level tree is also equivalent to a star.The following graph illustrates what a two level tree looks like: A two [...]]]></description>
		<wfw:commentRss>http://www.kerrywong.com/2008/12/21/two-level-tree-and-its-applications-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An Obscure System.Web.Mail Error Message</title>
		<link>http://www.kerrywong.com/2008/09/09/an-obscure-systemwebmail-error-message/</link>
		<comments>http://www.kerrywong.com/2008/09/09/an-obscure-systemwebmail-error-message/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 01:08:05 +0000</pubDate>
		<dc:creator>kwong</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[C Sharp (C#)]]></category>

		<guid isPermaLink="false">http://www.kerrywong.com/?p=345</guid>
		<description><![CDATA[Today I encountered a rather obscure error while maintaining some old ASP.Net code (Framework 1.1). One of our mail servers is going to be replaced with another one. So naturally we needed to change configurations for those applications that send emails using the old server. This change affected one of the applications I wrote a [...]]]></description>
		<wfw:commentRss>http://www.kerrywong.com/2008/09/09/an-obscure-systemwebmail-error-message/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Producer-Consumer: A Duplicate File Finder</title>
		<link>http://www.kerrywong.com/2008/09/05/producer-consumer-a-duplicate-file-finder/</link>
		<comments>http://www.kerrywong.com/2008/09/05/producer-consumer-a-duplicate-file-finder/#comments</comments>
		<pubDate>Sat, 06 Sep 2008 01:08:16 +0000</pubDate>
		<dc:creator>kwong</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Algorithm]]></category>
		<category><![CDATA[C Sharp (C#)]]></category>

		<guid isPermaLink="false">http://www.kerrywong.com/2008/09/05/producer-consumer-a-duplicate-file-finder/</guid>
		<description><![CDATA[Processes tend to benefit greatly from multi-core processors if they are CPU bound (i.e. computational intensive tasks). The actual speedup depends on the portion of the code that must remain sequential. The multi-core benefit diminishes for IO bound processes however since hard drive performance becomes the limiting factor. Unlike solid state drives (SSD), traditional hard [...]]]></description>
		<wfw:commentRss>http://www.kerrywong.com/2008/09/05/producer-consumer-a-duplicate-file-finder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extending the GridView — Part IV</title>
		<link>http://www.kerrywong.com/2008/08/17/extending-the-gridview-%e2%80%94-part-iv/</link>
		<comments>http://www.kerrywong.com/2008/08/17/extending-the-gridview-%e2%80%94-part-iv/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 02:56:42 +0000</pubDate>
		<dc:creator>kwong</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[C Sharp (C#)]]></category>
		<category><![CDATA[GridView]]></category>

		<guid isPermaLink="false">http://www.kerrywong.com/2008/08/17/extending-the-gridview-%e2%80%94-part-iv/</guid>
		<description><![CDATA[In the previous three posts(I, II, III), I showed you how to inherit from GridView control to create an extended control that can bind to a generic list of objects. In this final post of the series, I will show you a simple example to illustrate how to use the GridViewEx control. 4. Putting it [...]]]></description>
		<wfw:commentRss>http://www.kerrywong.com/2008/08/17/extending-the-gridview-%e2%80%94-part-iv/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Extending the GridView — Part III</title>
		<link>http://www.kerrywong.com/2008/08/16/extending-the-gridview-%e2%80%94-part-iii/</link>
		<comments>http://www.kerrywong.com/2008/08/16/extending-the-gridview-%e2%80%94-part-iii/#comments</comments>
		<pubDate>Sun, 17 Aug 2008 00:04:44 +0000</pubDate>
		<dc:creator>kwong</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[C Sharp (C#)]]></category>
		<category><![CDATA[GridView]]></category>

		<guid isPermaLink="false">http://www.kerrywong.com/2008/08/16/extending-the-gridview-%e2%80%94-part-iii/</guid>
		<description><![CDATA[In Part II, I showed you how to extend the GridView control so that we can bind a generic list to it. Because GridViewEx inherits from GridView, it has all the functionalities GridView has (i.e. paging). Sometimes, it is desirable to change the number of items displayed on a page dynamically, to accommodate this, we [...]]]></description>
		<wfw:commentRss>http://www.kerrywong.com/2008/08/16/extending-the-gridview-%e2%80%94-part-iii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extending the GridView — Part II</title>
		<link>http://www.kerrywong.com/2008/08/15/extending-the-gridview-%e2%80%94-part-ii/</link>
		<comments>http://www.kerrywong.com/2008/08/15/extending-the-gridview-%e2%80%94-part-ii/#comments</comments>
		<pubDate>Sat, 16 Aug 2008 00:10:53 +0000</pubDate>
		<dc:creator>kwong</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[C Sharp (C#)]]></category>
		<category><![CDATA[GridView]]></category>

		<guid isPermaLink="false">http://www.kerrywong.com/2008/08/15/extending-the-gridview-%e2%80%94-part-ii/</guid>
		<description><![CDATA[In Part I, I talked about why we needed to extend the GridView and some of the benefit in doing that. In this post, I will discuss how to extend the standard GridView control to take advantage of binding to the type safe value objects mentioned previously. 2. GridViewEx To make the binding as generic [...]]]></description>
		<wfw:commentRss>http://www.kerrywong.com/2008/08/15/extending-the-gridview-%e2%80%94-part-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extending the GridView &#8212; Part I</title>
		<link>http://www.kerrywong.com/2008/08/08/extending-the-gridview-part-i/</link>
		<comments>http://www.kerrywong.com/2008/08/08/extending-the-gridview-part-i/#comments</comments>
		<pubDate>Sat, 09 Aug 2008 00:41:55 +0000</pubDate>
		<dc:creator>kwong</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[C Sharp (C#)]]></category>
		<category><![CDATA[GridView]]></category>

		<guid isPermaLink="false">http://www.kerrywong.com/2008/08/08/extending-the-gridview-part-i/</guid>
		<description><![CDATA[Most business applications require presenting result sets to the end users in the form of some kind of grid views. While the default ASP.NET GridView control is sufficient for simple scenarios when doing rapid application development, its drawbacks become clear when building any large scale solutions (discussions here apply to all the current .Net frameworks, [...]]]></description>
		<wfw:commentRss>http://www.kerrywong.com/2008/08/08/extending-the-gridview-part-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Line of Code Could Bring Visual Studio .Net Down to Its Knees</title>
		<link>http://www.kerrywong.com/2008/06/06/a-line-of-code-could-bring-visual-studio-net-down-to-its-knees/</link>
		<comments>http://www.kerrywong.com/2008/06/06/a-line-of-code-could-bring-visual-studio-net-down-to-its-knees/#comments</comments>
		<pubDate>Sat, 07 Jun 2008 01:41:38 +0000</pubDate>
		<dc:creator>kwong</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[C Sharp (C#)]]></category>

		<guid isPermaLink="false">http://www.kerrywong.com/2008/06/06/a-line-of-code-could-bring-visual-studio-net-down-to-its-knees/</guid>
		<description><![CDATA[It seems at least to me that as more bells and whistles were added to each new release of Microsoft&#8217;s products, the qualities of which have been deteriorating. My observation not only manifested itself in the public perception of Windows Vista, but also became self-evident in my and many of my peers&#8217; daily frustration with [...]]]></description>
		<wfw:commentRss>http://www.kerrywong.com/2008/06/06/a-line-of-code-could-bring-visual-studio-net-down-to-its-knees/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Event Logging Using Reflection</title>
		<link>http://www.kerrywong.com/2008/05/25/event-logging-using-reflection/</link>
		<comments>http://www.kerrywong.com/2008/05/25/event-logging-using-reflection/#comments</comments>
		<pubDate>Mon, 26 May 2008 01:47:46 +0000</pubDate>
		<dc:creator>kwong</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[C Sharp (C#)]]></category>
		<category><![CDATA[Reflection]]></category>

		<guid isPermaLink="false">http://www.kerrywong.com/2008/05/25/event-logging-using-reflection/</guid>
		<description><![CDATA[When exceptions occur during the execution of&#160;an application, the stack trace contains the detailed location of where the exception is originated.&#160;And for a properly designed application (e.g. all exceptions are properly propagated), this information is adequate. However, some applications need the logging of information not only when exception occurs but along its critical execution path [...]]]></description>
		<wfw:commentRss>http://www.kerrywong.com/2008/05/25/event-logging-using-reflection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

