<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>ASKLDJD</title>
	<atom:link href="http://askldjd.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://askldjd.wordpress.com</link>
	<description>recording a programmer&#039;s thought</description>
	<lastBuildDate>Thu, 17 Nov 2011 09:38:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='askldjd.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/9b1bee0efa7ca5fbcbf3feaa5df6ebdf?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>ASKLDJD</title>
		<link>http://askldjd.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://askldjd.wordpress.com/osd.xml" title="ASKLDJD" />
	<atom:link rel='hub' href='http://askldjd.wordpress.com/?pushpress=hub'/>
		<item>
		<title>IOCP Server 1.2 Released</title>
		<link>http://askldjd.wordpress.com/2011/08/10/iocp-server-1-2-released/</link>
		<comments>http://askldjd.wordpress.com/2011/08/10/iocp-server-1-2-released/#comments</comments>
		<pubDate>Thu, 11 Aug 2011 04:10:56 +0000</pubDate>
		<dc:creator>Alan Ning</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://askldjd.wordpress.com/?p=1558</guid>
		<description><![CDATA[It has almost been 10 months since I published the IOCP server library. This little library has been very useful to me over several C++ projects. It offers impressive scalability on multi-core processors and a simple interface for TCP graceful shutdown (unlike boost ASIO). I recently found a crash bug where an utility function was [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=askldjd.wordpress.com&amp;blog=9353683&amp;post=1558&amp;subd=askldjd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://askldjd.wordpress.com/2011/08/10/iocp-server-1-2-released/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5cead0161a2ddb4aabc6f2d0dff7dc1f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">askldjd</media:title>
		</media:content>
	</item>
		<item>
		<title>Plotting GetThreadTimes</title>
		<link>http://askldjd.wordpress.com/2011/07/25/plotting-getthreadtimes/</link>
		<comments>http://askldjd.wordpress.com/2011/07/25/plotting-getthreadtimes/#comments</comments>
		<pubDate>Tue, 26 Jul 2011 00:56:23 +0000</pubDate>
		<dc:creator>Alan Ning</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[GetThreadTimes]]></category>

		<guid isPermaLink="false">http://askldjd.wordpress.com/?p=1525</guid>
		<description><![CDATA[As a side project, I have been developing an application to monitor the performance of our main product (hence the lack of update). In my experience, our large C++ programs have not worked well under most profilers (either too slow, or too resource intensive). The PGO technique I posted last year works well within the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=askldjd.wordpress.com&amp;blog=9353683&amp;post=1525&amp;subd=askldjd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://askldjd.wordpress.com/2011/07/25/plotting-getthreadtimes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5cead0161a2ddb4aabc6f2d0dff7dc1f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">askldjd</media:title>
		</media:content>

		<media:content url="http://askldjd.files.wordpress.com/2011/07/thread_distribution_1_sec_small.png" medium="image">
			<media:title type="html">thread_distribution_1_sec_small</media:title>
		</media:content>

		<media:content url="http://askldjd.files.wordpress.com/2011/07/thread_distribution_15_rolling_avg_small.png" medium="image">
			<media:title type="html">thread_distribution_15_rolling_avg_small</media:title>
		</media:content>
	</item>
		<item>
		<title>STL and erase()</title>
		<link>http://askldjd.wordpress.com/2011/05/09/stl-and-erase/</link>
		<comments>http://askldjd.wordpress.com/2011/05/09/stl-and-erase/#comments</comments>
		<pubDate>Tue, 10 May 2011 00:44:13 +0000</pubDate>
		<dc:creator>Alan Ning</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://askldjd.wordpress.com/?p=1506</guid>
		<description><![CDATA[The inconsistency of erase() method in STL containers has always bothered me. Say if you would want to loop through a std::list, print its items, and erase the item from the list, you could do the following. Pretty straight forward. The erase() method will remove the item pointed by the current iterator, and move the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=askldjd.wordpress.com&amp;blog=9353683&amp;post=1506&amp;subd=askldjd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://askldjd.wordpress.com/2011/05/09/stl-and-erase/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5cead0161a2ddb4aabc6f2d0dff7dc1f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">askldjd</media:title>
		</media:content>
	</item>
		<item>
		<title>Shared Bathroom Problem</title>
		<link>http://askldjd.wordpress.com/2011/04/24/shared-bathroom-problem/</link>
		<comments>http://askldjd.wordpress.com/2011/04/24/shared-bathroom-problem/#comments</comments>
		<pubDate>Sun, 24 Apr 2011 17:03:52 +0000</pubDate>
		<dc:creator>Alan Ning</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[shared bathroom]]></category>

		<guid isPermaLink="false">http://askldjd.wordpress.com/?p=1466</guid>
		<description><![CDATA[I came across an interesting synchronization problem called the shared bathroom problem. The shared resource is the bathroom. It needs to be shared among males and females. However, the bathroom resource sharing protocol must be implemented in the following manner: Mutual exclusion: persons of opposite sex may not occupy the bathroom simultaneously, Fairness: everyone must [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=askldjd.wordpress.com&amp;blog=9353683&amp;post=1466&amp;subd=askldjd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://askldjd.wordpress.com/2011/04/24/shared-bathroom-problem/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5cead0161a2ddb4aabc6f2d0dff7dc1f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">askldjd</media:title>
		</media:content>

		<media:content url="http://askldjd.files.wordpress.com/2011/04/bathroom.png" medium="image">
			<media:title type="html">bathroom</media:title>
		</media:content>
	</item>
		<item>
		<title>Some thoughts on Java</title>
		<link>http://askldjd.wordpress.com/2011/04/07/some-thoughts-on-java/</link>
		<comments>http://askldjd.wordpress.com/2011/04/07/some-thoughts-on-java/#comments</comments>
		<pubDate>Fri, 08 Apr 2011 03:25:51 +0000</pubDate>
		<dc:creator>Alan Ning</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://askldjd.wordpress.com/?p=1443</guid>
		<description><![CDATA[For the past month, I have been working on a server side web service in Java. Although I have used Java in numerous courses throughout college and grad school, this is the first time I have programmed in it professionally. Compare to C++, Java is a much cleaner language. Here&#8217;s a few things I enjoy [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=askldjd.wordpress.com&amp;blog=9353683&amp;post=1443&amp;subd=askldjd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://askldjd.wordpress.com/2011/04/07/some-thoughts-on-java/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5cead0161a2ddb4aabc6f2d0dff7dc1f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">askldjd</media:title>
		</media:content>
	</item>
		<item>
		<title>Heap Performance Counters</title>
		<link>http://askldjd.wordpress.com/2011/03/22/heap-performance-counters/</link>
		<comments>http://askldjd.wordpress.com/2011/03/22/heap-performance-counters/#comments</comments>
		<pubDate>Tue, 22 Mar 2011 14:29:51 +0000</pubDate>
		<dc:creator>Alan Ning</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[heap contention]]></category>
		<category><![CDATA[lfh]]></category>

		<guid isPermaLink="false">http://askldjd.wordpress.com/?p=1419</guid>
		<description><![CDATA[I came across an interesting Microsoft Support article on heap performance counters. Apparently there is a registry setting that enables heap counters on Perfmon. This allows users to profile various aspect of heaps in a process. Perfmon.exe displays these counters when the following registry key is set: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PerfProc\Performance &#8220;DisplayHeapPerfObject&#8221;=dword:00000001 One of the counter that caught [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=askldjd.wordpress.com&amp;blog=9353683&amp;post=1419&amp;subd=askldjd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://askldjd.wordpress.com/2011/03/22/heap-performance-counters/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5cead0161a2ddb4aabc6f2d0dff7dc1f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">askldjd</media:title>
		</media:content>

		<media:content url="http://askldjd.files.wordpress.com/2011/03/add_heap_contention_counter1.png" medium="image">
			<media:title type="html">add_heap_contention_counter</media:title>
		</media:content>

		<media:content url="http://askldjd.files.wordpress.com/2011/03/heap_contention.png" medium="image">
			<media:title type="html">heap_contention</media:title>
		</media:content>

		<media:content url="http://askldjd.files.wordpress.com/2011/03/heap_contention_chart.png" medium="image">
			<media:title type="html">heap_contention_chart</media:title>
		</media:content>
	</item>
		<item>
		<title>Performance Comparison on Reader-Writer Locks</title>
		<link>http://askldjd.wordpress.com/2011/03/06/performance-comparison-on-reader-writer-locks/</link>
		<comments>http://askldjd.wordpress.com/2011/03/06/performance-comparison-on-reader-writer-locks/#comments</comments>
		<pubDate>Mon, 07 Mar 2011 01:46:57 +0000</pubDate>
		<dc:creator>Alan Ning</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Reader-Writer lock]]></category>

		<guid isPermaLink="false">http://askldjd.wordpress.com/?p=1381</guid>
		<description><![CDATA[Recently, I have been playing around with reader-writer (RW) locks. I have never encountered RW locks in practice, but I have read that they could be inefficient in practice, and often results in more harm than good. Recall that traditional mutex ensures that only one thread may enter a critical region. But if the critical [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=askldjd.wordpress.com&amp;blog=9353683&amp;post=1381&amp;subd=askldjd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://askldjd.wordpress.com/2011/03/06/performance-comparison-on-reader-writer-locks/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5cead0161a2ddb4aabc6f2d0dff7dc1f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">askldjd</media:title>
		</media:content>

		<media:content url="http://askldjd.files.wordpress.com/2011/03/e1_boost_lock1.png" medium="image">
			<media:title type="html">e1_boost_lock</media:title>
		</media:content>

		<media:content url="http://askldjd.files.wordpress.com/2011/03/e50_boost_lock.png" medium="image">
			<media:title type="html">e50_boost_lock</media:title>
		</media:content>

		<media:content url="http://askldjd.files.wordpress.com/2011/03/e1_srw_lock1.png" medium="image">
			<media:title type="html">e1_srw_lock</media:title>
		</media:content>

		<media:content url="http://askldjd.files.wordpress.com/2011/03/e50_srw_lock.png" medium="image">
			<media:title type="html">e50_srw_lock</media:title>
		</media:content>
	</item>
		<item>
		<title>Length of a Thread Quantum</title>
		<link>http://askldjd.wordpress.com/2011/02/20/length-of-a-thread-quantum/</link>
		<comments>http://askldjd.wordpress.com/2011/02/20/length-of-a-thread-quantum/#comments</comments>
		<pubDate>Mon, 21 Feb 2011 04:24:35 +0000</pubDate>
		<dc:creator>Alan Ning</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[thread quantum]]></category>

		<guid isPermaLink="false">http://askldjd.wordpress.com/?p=1360</guid>
		<description><![CDATA[In Windows, threads run in units of &#8220;quantums&#8221;. After a thread completes its quantum, Windows may choose to run another thread based on priority or thread states. This quantum settings is located in the registry called Win32PrioritySeparation. It is a wacky matrix that is represented in a bitfield. Window XP and Vista uses short variable [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=askldjd.wordpress.com&amp;blog=9353683&amp;post=1360&amp;subd=askldjd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://askldjd.wordpress.com/2011/02/20/length-of-a-thread-quantum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5cead0161a2ddb4aabc6f2d0dff7dc1f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">askldjd</media:title>
		</media:content>
	</item>
		<item>
		<title>shared_ptr and NULL</title>
		<link>http://askldjd.wordpress.com/2011/02/08/shared_ptr-and-null/</link>
		<comments>http://askldjd.wordpress.com/2011/02/08/shared_ptr-and-null/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 15:54:28 +0000</pubDate>
		<dc:creator>Alan Ning</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[NULL]]></category>
		<category><![CDATA[shared_ptr]]></category>

		<guid isPermaLink="false">http://askldjd.wordpress.com/?p=1271</guid>
		<description><![CDATA[The interface of shared_ptr is carefully designed such that it has the syntax of a raw C pointer. So naturally, shared_ptr is comparable against NULL. But NULL is really an abused integer. How would you implement such a comparison? This is C++.  There is always devil in the details. Obvious, but wrong solution Attempt #1: [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=askldjd.wordpress.com&amp;blog=9353683&amp;post=1271&amp;subd=askldjd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://askldjd.wordpress.com/2011/02/08/shared_ptr-and-null/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5cead0161a2ddb4aabc6f2d0dff7dc1f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">askldjd</media:title>
		</media:content>
	</item>
		<item>
		<title>Convert boost::posix_time::ptime to Windows FILETIME</title>
		<link>http://askldjd.wordpress.com/2011/02/04/convert-boostposix_timeptime-to-windows-filetime/</link>
		<comments>http://askldjd.wordpress.com/2011/02/04/convert-boostposix_timeptime-to-windows-filetime/#comments</comments>
		<pubDate>Fri, 04 Feb 2011 06:22:27 +0000</pubDate>
		<dc:creator>Alan Ning</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[posix_time]]></category>

		<guid isPermaLink="false">http://askldjd.wordpress.com/?p=1257</guid>
		<description><![CDATA[When writing platform independent libraries at work, I use boost posix_time as the primary mechanism to generate timestamps. But when integrating the platform independent libraries to Windows world, the interface requires everything to be converted Windows FILETIME. Recall, Windows FILETIME is a 64 bit structure that represents the number of 100-nanosecond intervals since January 1, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=askldjd.wordpress.com&amp;blog=9353683&amp;post=1257&amp;subd=askldjd&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
		<wfw:commentRss>http://askldjd.wordpress.com/2011/02/04/convert-boostposix_timeptime-to-windows-filetime/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5cead0161a2ddb4aabc6f2d0dff7dc1f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">askldjd</media:title>
		</media:content>
	</item>
	</channel>
</rss>
