<?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>Camaswood</title>
	<atom:link href="http://www.camaswood.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.camaswood.com</link>
	<description>Life In Oregon</description>
	<lastBuildDate>Fri, 01 Apr 2011 21:30:30 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Fifteen minutes of fame</title>
		<link>http://www.camaswood.com/tech/fifteen-minutes-of-fame/</link>
		<comments>http://www.camaswood.com/tech/fifteen-minutes-of-fame/#comments</comments>
		<pubDate>Fri, 01 Apr 2011 21:30:30 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Tech Articles (Code Snippets)]]></category>

		<guid isPermaLink="false">http://www.camaswood.com/?p=310</guid>
		<description><![CDATA[Well, almost 10 minutes anyway.  While at the MVP Summit last month I got recorded with some of the other MVPs to appear on Microsoft Channel 9 web network.  We were a little apprehensive when they approached us since we didn&#8217;t know what kinds of questions they were going to ask.  As it turned out [...]]]></description>
		<wfw:commentRss>http://www.camaswood.com/tech/fifteen-minutes-of-fame/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Get the current local GMT offset</title>
		<link>http://www.camaswood.com/tech/get-the-current-local-gmt-offset/</link>
		<comments>http://www.camaswood.com/tech/get-the-current-local-gmt-offset/#comments</comments>
		<pubDate>Fri, 01 Apr 2011 21:13:12 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Tech Articles (Code Snippets)]]></category>

		<guid isPermaLink="false">http://www.camaswood.com/?p=303</guid>
		<description><![CDATA[This function returns the local GMT offset.  It&#8217;s just a handy wrapper so I don&#8217;t have to remember all this &#8220;stuff&#8221; when I need the info.
//
// Returns the current local GMT offset
//
int GetGMT()
{
  TIME_ZONE_INFORMATION tzinfo;
  GetTimeZoneInformation(&#038;tzinfo);
  return -(tzinfo.Bias/15);
}
]]></description>
		<wfw:commentRss>http://www.camaswood.com/tech/get-the-current-local-gmt-offset/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft MVP Summit</title>
		<link>http://www.camaswood.com/tech/microsoft-mvp-summit/</link>
		<comments>http://www.camaswood.com/tech/microsoft-mvp-summit/#comments</comments>
		<pubDate>Thu, 31 Mar 2011 22:15:34 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Tech Articles (Code Snippets)]]></category>

		<guid isPermaLink="false">http://www.camaswood.com/?p=276</guid>
		<description><![CDATA[One of the great pleasures of my year so far was the recent trip I took last month to Microsoft for the yearly MVP Summit.  Microsoft does an incredible job of fostering community among users and, somehow, gets us to support each other when many other companies tend to just not get it.
The MVP [...]]]></description>
		<wfw:commentRss>http://www.camaswood.com/tech/microsoft-mvp-summit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yielding a tight loop to allow the GUI to update</title>
		<link>http://www.camaswood.com/tech/yielding-a-tight-loop-to-allow-the-gui-to-update/</link>
		<comments>http://www.camaswood.com/tech/yielding-a-tight-loop-to-allow-the-gui-to-update/#comments</comments>
		<pubDate>Sun, 20 Feb 2011 20:01:42 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Tech Articles (Code Snippets)]]></category>

		<guid isPermaLink="false">http://www.camaswood.com/?p=271</guid>
		<description><![CDATA[Occasionally I want to yield a tight loop to allow messages from the GUI to be updated.  One way to do this is to put the loop processing in a thread, but if I don&#8217;t want to go to that trouble for something really simple, I sometimes just call this function at a safe place [...]]]></description>
		<wfw:commentRss>http://www.camaswood.com/tech/yielding-a-tight-loop-to-allow-the-gui-to-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adding commas to a number</title>
		<link>http://www.camaswood.com/tech/adding-commas-to-a-number/</link>
		<comments>http://www.camaswood.com/tech/adding-commas-to-a-number/#comments</comments>
		<pubDate>Mon, 10 Jan 2011 21:45:14 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Tech Articles (Code Snippets)]]></category>

		<guid isPermaLink="false">http://www.camaswood.com/?p=265</guid>
		<description><![CDATA[This is a small function that will format a number to string that contains commas.  It&#8217;s function is to make the numbers easier to read before displaying them.  One nice feature with this function is it creates the string with the formatting based on the current locale being used by the application.  Simple, but useful.
PTCHAR [...]]]></description>
		<wfw:commentRss>http://www.camaswood.com/tech/adding-commas-to-a-number/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create a folder tree if it doesn&#8217;t already exist</title>
		<link>http://www.camaswood.com/tech/create-a-folder-tree-if-it-doesnt-already-exist/</link>
		<comments>http://www.camaswood.com/tech/create-a-folder-tree-if-it-doesnt-already-exist/#comments</comments>
		<pubDate>Sat, 20 Nov 2010 21:09:56 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Tech Articles (Code Snippets)]]></category>

		<guid isPermaLink="false">http://www.camaswood.com/?p=299</guid>
		<description><![CDATA[This function will create an entire path to a folder if any part of the path doesn&#8217;t already exist.  It is useful for ensuring that a path exists before trying to open a new file in a subfolder.  This uses some of the file functions I posted last month.
//
//	Create all folders needed to [...]]]></description>
		<wfw:commentRss>http://www.camaswood.com/tech/create-a-folder-tree-if-it-doesnt-already-exist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visual Studio/C++ 2010</title>
		<link>http://www.camaswood.com/tech/visual-studioc-2010/</link>
		<comments>http://www.camaswood.com/tech/visual-studioc-2010/#comments</comments>
		<pubDate>Sun, 10 Oct 2010 21:24:38 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Tech Articles (Code Snippets)]]></category>

		<guid isPermaLink="false">http://www.camaswood.com/?p=306</guid>
		<description><![CDATA[I just started using Visual Studio 2010 and I&#8217;m really pleased with the updates.  The biggest thing I&#8217;ve noticed are:

ClassWizard is back.  Well, it&#8217;s not the complete ClassWizard we used to have in V6, but it&#8217;s pretty darn nice.
New standard C++0x items have been added (Lamdas, rvalues, auto keyword, etc.
I like the new [...]]]></description>
		<wfw:commentRss>http://www.camaswood.com/tech/visual-studioc-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some handy file functions for use with MFC</title>
		<link>http://www.camaswood.com/tech/some-handy-file-functions-for-use-with-mfc/</link>
		<comments>http://www.camaswood.com/tech/some-handy-file-functions-for-use-with-mfc/#comments</comments>
		<pubDate>Mon, 04 Oct 2010 21:03:11 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Tech Articles (Code Snippets)]]></category>

		<guid isPermaLink="false">http://www.camaswood.com/?p=291</guid>
		<description><![CDATA[These are some handy functions I use that wrap the SHLWAPI functions from Win32 SDK.  All of these could be done with the individual calls, these functions just make it a little more convenient.
//
//	Returns the file portion from a path
//
CString GetFileOnly(LPCTSTR Path)
{
//	Strip off the path and return just the filename part
	CString temp = (LPCTSTR) [...]]]></description>
		<wfw:commentRss>http://www.camaswood.com/tech/some-handy-file-functions-for-use-with-mfc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Get system name of the current computer</title>
		<link>http://www.camaswood.com/tech/get-system-name-of-the-current-computer/</link>
		<comments>http://www.camaswood.com/tech/get-system-name-of-the-current-computer/#comments</comments>
		<pubDate>Sat, 11 Sep 2010 20:56:59 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Tech Articles (Code Snippets)]]></category>

		<guid isPermaLink="false">http://www.camaswood.com/?p=286</guid>
		<description><![CDATA[This function will return the system name for the computer you&#8217;re on.  It just fishes it out of the registry, but it is handy if you need that information for displaying in your UI or using for other purposes.  I use it to build job IDs that are unique since the system name can&#8217;t be [...]]]></description>
		<wfw:commentRss>http://www.camaswood.com/tech/get-system-name-of-the-current-computer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Delete all folders and files in a tree</title>
		<link>http://www.camaswood.com/tech/delete-all-folders-and-files-in-a-tree/</link>
		<comments>http://www.camaswood.com/tech/delete-all-folders-and-files-in-a-tree/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 21:06:57 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Tech Articles (Code Snippets)]]></category>

		<guid isPermaLink="false">http://www.camaswood.com/?p=295</guid>
		<description><![CDATA[This is a function I use to delete all files, subfolders, and the parent folder in a tree.  It&#8217;s a simple process, but a useful function.  It uses a simple recursion to work down through the folder tree and a loop to enumerate the files and subfolders.
//
//	Remove all folders.
//
void RemoveAllDirectories(CString strDir)
{
	CFileFind ff;
	CString path [...]]]></description>
		<wfw:commentRss>http://www.camaswood.com/tech/delete-all-folders-and-files-in-a-tree/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

