<?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>Ordo ab Chao</title>
	<atom:link href="http://blog.lordjeb.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.lordjeb.com</link>
	<description>Out of chaos comes order.</description>
	<lastBuildDate>Thu, 03 Feb 2011 00:31:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.lordjeb.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/9c62563126f050b8f9a3c336bc5c302e?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Ordo ab Chao</title>
		<link>http://blog.lordjeb.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.lordjeb.com/osd.xml" title="Ordo ab Chao" />
	<atom:link rel='hub' href='http://blog.lordjeb.com/?pushpress=hub'/>
		<item>
		<title>Undocumented Query Directory Flags</title>
		<link>http://blog.lordjeb.com/2011/01/10/undocumented-query-directory-flags/</link>
		<comments>http://blog.lordjeb.com/2011/01/10/undocumented-query-directory-flags/#comments</comments>
		<pubDate>Mon, 10 Jan 2011 20:09:24 +0000</pubDate>
		<dc:creator>lordjeb</dc:creator>
				<category><![CDATA[Computing and Software]]></category>

		<guid isPermaLink="false">http://blog.lordjeb.com/?p=191</guid>
		<description><![CDATA[Last week I ran into a strange Windows file system behavior that I couldn’t find any information on anywhere. Since it’s always extremely frustrating to try to figure things out when there’s no information available, I thought I would share what I found. The bug we were experiencing had to do with a directory query [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lordjeb.com&amp;blog=13139960&amp;post=191&amp;subd=lordjeb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Last week I ran into a strange Windows file system behavior that I couldn’t find any information on anywhere. Since it’s always extremely frustrating to try to figure things out when there’s no information available, I thought I would share what I found. The bug we were experiencing had to do with a directory query operation over the network (e.g., when you run ‘dir \\localhost\c$\Windows’ from a command window). If the directory doesn’t have many files in it this works just fine, but if it is a large directory, as in the example above then the IRPs that are issued to the file system are a bit strange. Our filter driver wasn’t handling these quite correctly, and the result was that if you queried the directory using the local name you’d get ~200 files, and if you used the UNC name you’d only get about ~150 files.</p>
<p>After digging into this with a coworker, we found an unexpected style of IRP. When performing the directory query over the network the SRV kernel component issues a IRP_MN_QUERY_DIRECTORY with a IrpSp-&gt;Parameters.QueryDirectory.FileName and IrpSp-&gt;Parameters.QueryDirectory.FileIndex combination that seems to essentially reset the point at which the enumeration continues. The sequence we were seeing goes something like this:<br />
<span id="more-191"></span></p>
<ol>
<li>Normal IRP_MN_QUERY_DIRECTORY with FileName of “*” and SL_RESTART_SCAN. This is successful and returns the first buffer of information.</li>
<li>Normal IRP_MN_QUERY_DIRECTORY with no FileName (and no FileIndex). This is successful and continues where the previous scan left off.</li>
<li>Repeat #2 approximately 3 times.</li>
<li>Unexpected IRP_MN_QUERY_DIRECTORY with FileName = “AppPatch” (one of the entries that was previously returned in #2, FileIndex = 0, and Flags = SL_INDEX_SPECIFIED. This appears to enumerate beginning with the entry just after “AppPatch”.</li>
<li>Repeat #2 through #4 until there are no more entries.</li>
</ol>
<p>The behavior doesn’t appear to be documented anywhere, but I was able to reproduce it by rolling my own IRPs that match the above. (Zw APIs don’t accept the FileIndex parameter, so I couldn’t see any way to reproduce it outside of IRP rolling.)</p>
<p>It seems likely that the SRV component is sending QUERY_DIRECTORY IRPs until it has enough data to fill a network buffer, and then uses the restart at named index capability to get the data to start filling the next network buffer. Of course, that is just speculation, but it seems to make a kind of sense.</p>
<p>What I have derived from this is that there are two ways to use the SL_INDEX_SPECIFIED flag. If there is a FileName provided along with the flag, then the FileIndex value seems to be ignored, and the provided filename is used to find the index at which enumeration should begin. If the FileName is NULL, then the FileIndex would be used instead. Again, this is speculation but seems to be borne out by my testing.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lordjeb.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lordjeb.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lordjeb.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lordjeb.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lordjeb.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lordjeb.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lordjeb.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lordjeb.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lordjeb.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lordjeb.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lordjeb.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lordjeb.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lordjeb.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lordjeb.wordpress.com/191/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lordjeb.com&amp;blog=13139960&amp;post=191&amp;subd=lordjeb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lordjeb.com/2011/01/10/undocumented-query-directory-flags/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/08afb25348940ba0703842c607ba3166?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lordjeb</media:title>
		</media:content>
	</item>
		<item>
		<title>Resistance to Civil Government by Henry David Thoreau</title>
		<link>http://blog.lordjeb.com/2010/12/24/resistance-to-civil-government-by-henry-david-thoreau/</link>
		<comments>http://blog.lordjeb.com/2010/12/24/resistance-to-civil-government-by-henry-david-thoreau/#comments</comments>
		<pubDate>Fri, 24 Dec 2010 19:04:32 +0000</pubDate>
		<dc:creator>lordjeb</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://blog.lordjeb.com/?p=188</guid>
		<description><![CDATA[I have been reading the afore-mentioned book recently and have been struck profoundly by some of the writings. I wish to briefly mention a few of them here. The first passage that strongly resonated with me was a description of a time when Thoreau was put in jail for non-payment of taxes: &#8220;I could not [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lordjeb.com&amp;blog=13139960&amp;post=188&amp;subd=lordjeb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have been reading the afore-mentioned book recently and have been struck profoundly by some of the writings. I wish to briefly mention a few of them here.</p>
<p>The first passage that strongly resonated with me was a description of a time when Thoreau was put in jail for non-payment of taxes: &#8220;I could not but smile to see how industriously they locked the door on my meditations, which followed them out again without let or hindrance, and THEY were really all that was dangerous. As they could not reach me, they had resolved to punish my body; just as boys, if they cannot come at some person against whom they have a spite, will abuse his dog. I saw that the State was half-witted, that it was timid as a lone woman with her silver spoons, and that it did not know its friends from its foes, and I lost all my remaining respect for it, and pitied it.&#8221; I love this! It is so true that the State can force a body to do what they desire it to, but they cannot force a man&#8217;s mind to do anything. This is an idea that is also eloquently expressed in Ayn Rand&#8217;s Atlas Shrugged.</p>
<p>The second passage that I want to share today is in a similar context. Thoreau has been ordered by the law to pay a tax/tool to a church which he never attended. He writes a letter to the town clerk saying &#8220;I, Henry Thoreau, do not wish to be regarded as a member of any incorporated society which I have not joined.&#8221; He then goes on to write &#8220;If I had known how to name them, I should then have signed off in detail from all the societies which I never signed on to; but I did not know where to find a complete list.&#8221; We are said to be members of various societies every day that we did not consciously agree to, not the least of which is the State. I was never asked to participate in the social contract that makes our society; rather, it is presumed and forced upon each of us without our explicit consent.</p>
<p>Thoreau is one of the fathers of non-violent resistance to government. His example inspired men like Martin Luther King, Jr. to rise up in their own non-violent ways to defy the State&#8217;s power to control their lives. The more I read of Thoreau&#8217;s writings, the more inspirational he becomes to me.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lordjeb.wordpress.com/188/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lordjeb.wordpress.com/188/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lordjeb.wordpress.com/188/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lordjeb.wordpress.com/188/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lordjeb.wordpress.com/188/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lordjeb.wordpress.com/188/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lordjeb.wordpress.com/188/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lordjeb.wordpress.com/188/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lordjeb.wordpress.com/188/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lordjeb.wordpress.com/188/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lordjeb.wordpress.com/188/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lordjeb.wordpress.com/188/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lordjeb.wordpress.com/188/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lordjeb.wordpress.com/188/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lordjeb.com&amp;blog=13139960&amp;post=188&amp;subd=lordjeb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lordjeb.com/2010/12/24/resistance-to-civil-government-by-henry-david-thoreau/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/08afb25348940ba0703842c607ba3166?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lordjeb</media:title>
		</media:content>
	</item>
		<item>
		<title>Directory Notification</title>
		<link>http://blog.lordjeb.com/2010/11/15/directory-notification/</link>
		<comments>http://blog.lordjeb.com/2010/11/15/directory-notification/#comments</comments>
		<pubDate>Mon, 15 Nov 2010 19:30:03 +0000</pubDate>
		<dc:creator>lordjeb</dc:creator>
				<category><![CDATA[Computing and Software]]></category>

		<guid isPermaLink="false">http://blog.lordjeb.com/?p=179</guid>
		<description><![CDATA[I have had a number of situations over the last five years where I have had to write code that detects changes made in a directory. Some has been for testing my own directory notification code at the file-system level, and others have been for real implementation reasons up in usermode code. The documentation can [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lordjeb.com&amp;blog=13139960&amp;post=179&amp;subd=lordjeb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have had a number of situations over the last five years where I have had to write code that detects changes made in a directory. Some has been for testing my own directory notification code at the file-system level, and others have been for real implementation reasons up in usermode code.</p>
<p>The documentation can be a lot to wade through as there are a number of different ways that such notification can be accomplished. I won&#8217;t go into the reasons for using each (check MSDN documentation for some information on that), but I wanted to post some simple samples of using each for anyone who might be interested.</p>
<p>There are five different methods, using Win32 APIs, that are used in this sample. They don&#8217;t do anything special except print out basic information about the changes that are detected.<br />
<span id="more-179"></span></p>
<pre>
VOID
_processBuffer(
    __in PFILE_NOTIFY_INFORMATION pNotifyInformation
    )
{
    wchar_t filename[ MAX_PATH + 1 ];

    while ( pNotifyInformation-&gt;NextEntryOffset != 0 )
    {
        StringCbCopyNW( filename, sizeof( filename ), pNotifyInformation-&gt;FileName, pNotifyInformation-&gt;FileNameLength );
        wprintf( L"   Action %d [%s]\n", pNotifyInformation-&gt;Action, filename );
        pNotifyInformation = (PFILE_NOTIFY_INFORMATION) Add2Ptr( pNotifyInformation, pNotifyInformation-&gt;NextEntryOffset );
    }
}

DWORD
_changeDir1(
    __in LPCWSTR path
    )
{
    DWORD  status = ERROR_SUCCESS;

    //    For unwind
    HANDLE hFind = INVALID_HANDLE_VALUE;

    hFind =
        FindFirstChangeNotificationW(
            path,
            FALSE,
            FILE_NOTIFY_CHANGE_FILE_NAME | FILE_NOTIFY_CHANGE_DIR_NAME |
            FILE_NOTIFY_CHANGE_ATTRIBUTES | FILE_NOTIFY_CHANGE_SIZE |
            FILE_NOTIFY_CHANGE_LAST_WRITE
            );
    if ( INVALID_HANDLE_VALUE == hFind )
    {
        fn_return( status = GetLastError() );
    }

    while ( WAIT_OBJECT_0 == WaitForSingleObject( hFind, INFINITE ) )
    {
        wprintf( L"Dir Notify: No information\n" );

        if ( !FindNextChangeNotification( hFind ) )
        {
            fn_return( status = GetLastError() );
        }
    }

    fn_return( NOTHING );

fn_exit:

    if ( hFind != INVALID_HANDLE_VALUE )
    {
        FindCloseChangeNotification( hFind );
    }

    return status;
}

DWORD
_changeDir2(
    __in LPCWSTR path
    )
{
    DWORD                    status = ERROR_SUCCESS;
    DWORD                    cbNotifyBuffer;
    DWORD                    cbReturned;

    //    For unwind
    HANDLE                   hFile = INVALID_HANDLE_VALUE;
    PFILE_NOTIFY_INFORMATION pNotifyBuffer = NULL;

    cbNotifyBuffer = 4096;
    pNotifyBuffer = (PFILE_NOTIFY_INFORMATION) new BYTE[ cbNotifyBuffer ];
    if ( !pNotifyBuffer )
    {
        fn_return( status = ERROR_NOT_ENOUGH_MEMORY );
    }

    hFile =
        CreateFileW(
            path,
            FILE_LIST_DIRECTORY,
            FILE_SHARE_READ | FILE_SHARE_WRITE,
            NULL,
            OPEN_EXISTING,
            FILE_ATTRIBUTE_DIRECTORY | FILE_FLAG_BACKUP_SEMANTICS,
            NULL
            );
    if ( INVALID_HANDLE_VALUE == hFile )
    {
        fn_return( status = GetLastError() );
    }

    while (
        ReadDirectoryChangesW(
            hFile,
            pNotifyBuffer,
            cbNotifyBuffer,
            FALSE,
            FILE_NOTIFY_CHANGE_FILE_NAME | FILE_NOTIFY_CHANGE_DIR_NAME |
                FILE_NOTIFY_CHANGE_ATTRIBUTES | FILE_NOTIFY_CHANGE_SIZE |
                FILE_NOTIFY_CHANGE_LAST_WRITE,
            &amp;cbReturned,
            NULL,
            NULL
            )
        )
    {
        if ( cbReturned &gt; 0 )
        {
            wprintf( L"Dir Notify:\n" );
            _processBuffer( pNotifyBuffer );
        }
        else
        {
            wprintf( L"Dir Notify: No information\n" );
        }
    }

fn_exit:

    if ( INVALID_HANDLE_VALUE != hFile )
    {
        CloseHandle( hFile );
    }

    if ( pNotifyBuffer )
    {
        delete [] pNotifyBuffer;
    }

    return status;
}

DWORD
_changeDir3(
    __in LPCWSTR path
    )
{
    DWORD                    status = ERROR_SUCCESS;
    DWORD                    cbNotifyBuffer;
    DWORD                    cbReturned;
    PFILE_NOTIFY_INFORMATION pNotifyInformation;
    wchar_t                  filename[ MAX_PATH + 1 ];
    OVERLAPPED               overlapped;

    //    For unwind
    HANDLE                   hFile = INVALID_HANDLE_VALUE;
    PFILE_NOTIFY_INFORMATION pNotifyBuffer = NULL;

    ZeroMemory( &amp;overlapped, sizeof( overlapped ) );

    cbNotifyBuffer = 4096;
    pNotifyBuffer = (PFILE_NOTIFY_INFORMATION) new BYTE[ cbNotifyBuffer ];
    if ( !pNotifyBuffer )
    {
        fn_return( status = ERROR_NOT_ENOUGH_MEMORY );
    }

    hFile =
        CreateFileW(
            path,
            FILE_LIST_DIRECTORY,
            FILE_SHARE_READ | FILE_SHARE_WRITE,
            NULL,
            OPEN_EXISTING,
            FILE_ATTRIBUTE_DIRECTORY | FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_OVERLAPPED,
            NULL
            );
    if ( INVALID_HANDLE_VALUE == hFile )
    {
        fn_return( status = GetLastError() );
    }

    overlapped.hEvent = CreateEventW( NULL, TRUE, FALSE, NULL );

    while (
        ReadDirectoryChangesW(
            hFile,
            pNotifyBuffer,
            cbNotifyBuffer,
            FALSE,
            FILE_NOTIFY_CHANGE_FILE_NAME | FILE_NOTIFY_CHANGE_DIR_NAME |
                FILE_NOTIFY_CHANGE_ATTRIBUTES | FILE_NOTIFY_CHANGE_SIZE |
                FILE_NOTIFY_CHANGE_LAST_WRITE,
            NULL,
            &amp;overlapped,
            NULL
            )
        &amp;&amp;
        GetOverlappedResult( hFile, &amp;overlapped, &amp;cbReturned, TRUE )
        )
    {
        if ( cbReturned &gt; 0 )
        {
            wprintf( L"Dir Notify:\n" );
            _processBuffer( pNotifyBuffer );
        }
        else
        {
            wprintf( L"Dir Notify: No information\n" );
        }
    }

fn_exit:

    if ( overlapped.hEvent )
    {
        CloseHandle( overlapped.hEvent );
    }

    if ( INVALID_HANDLE_VALUE != hFile )
    {
        CloseHandle( hFile );
    }

    if ( pNotifyBuffer )
    {
        delete [] pNotifyBuffer;
    }

    return status;
}

DWORD
_changeDir4(
    __in LPCWSTR path
    )
{
    DWORD                    status = ERROR_SUCCESS;
    DWORD                    cbNotifyBuffer;
    DWORD                    cbReturned;
    PFILE_NOTIFY_INFORMATION pNotifyInformation;
    wchar_t                  filename[ MAX_PATH + 1 ];
    OVERLAPPED               overlapped;
    ULONG_PTR                completionKey;
    LPOVERLAPPED             pOverlapped;

    //    For unwind
    HANDLE                   hFile = INVALID_HANDLE_VALUE;
    PFILE_NOTIFY_INFORMATION pNotifyBuffer = NULL;
    HANDLE                   hCompletionPort = NULL;

    ZeroMemory( &amp;overlapped, sizeof( overlapped ) );

    cbNotifyBuffer = 4096;
    pNotifyBuffer = (PFILE_NOTIFY_INFORMATION) new BYTE[ cbNotifyBuffer ];
    if ( !pNotifyBuffer )
    {
        fn_return( status = ERROR_NOT_ENOUGH_MEMORY );
    }

    hFile =
        CreateFileW(
            path,
            FILE_LIST_DIRECTORY,
            FILE_SHARE_READ | FILE_SHARE_WRITE,
            NULL,
            OPEN_EXISTING,
            FILE_ATTRIBUTE_DIRECTORY | FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_OVERLAPPED,
            NULL
            );
    if ( INVALID_HANDLE_VALUE == hFile )
    {
        fn_return( status = GetLastError() );
    }

    hCompletionPort = CreateIoCompletionPort( hFile, NULL, 0xF00DF00D, 0 );

    while (
        ReadDirectoryChangesW(
            hFile,
            pNotifyBuffer,
            cbNotifyBuffer,
            FALSE,
            FILE_NOTIFY_CHANGE_FILE_NAME | FILE_NOTIFY_CHANGE_DIR_NAME |
                FILE_NOTIFY_CHANGE_ATTRIBUTES | FILE_NOTIFY_CHANGE_SIZE |
                FILE_NOTIFY_CHANGE_LAST_WRITE,
            NULL,
            &amp;overlapped,
            NULL
            )
        &amp;&amp;
        GetQueuedCompletionStatus( hCompletionPort, &amp;cbReturned, &amp;completionKey, &amp;pOverlapped, INFINITE )
        )
    {
        if ( cbReturned &gt; 0 )
        {
            wprintf( L"Dir Notify:\n" );
            _processBuffer( pNotifyBuffer );
        }
        else
        {
            wprintf( L"Dir Notify: No information\n" );
        }
    }

fn_exit:

    if ( hCompletionPort )
    {
        CloseHandle( hCompletionPort );
    }

    if ( INVALID_HANDLE_VALUE != hFile )
    {
        CloseHandle( hFile );
    }

    if ( pNotifyBuffer )
    {
        delete [] pNotifyBuffer;
    }

    return status;
}

DWORD _cbReturned;

VOID CALLBACK
_changeDir5CompletionRoutine(
    __in DWORD        errorCode,
    __in DWORD        cbReturned,
    __in LPOVERLAPPED pOverlapped
    )
{
    _cbReturned = cbReturned;
    SetEvent( pOverlapped-&gt;hEvent );
}

DWORD
_changeDir5(
    __in LPCWSTR path
    )
{
    DWORD                    status = ERROR_SUCCESS;
    DWORD                    cbNotifyBuffer;
    PFILE_NOTIFY_INFORMATION pNotifyInformation;
    wchar_t                  filename[ MAX_PATH + 1 ];
    OVERLAPPED               overlapped;

    //    For unwind
    HANDLE                   hFile = INVALID_HANDLE_VALUE;
    PFILE_NOTIFY_INFORMATION pNotifyBuffer = NULL;

    ZeroMemory( &amp;overlapped, sizeof( overlapped ) );

    cbNotifyBuffer = 4096;
    pNotifyBuffer = (PFILE_NOTIFY_INFORMATION) new BYTE[ cbNotifyBuffer ];
    if ( !pNotifyBuffer )
    {
        fn_return( status = ERROR_NOT_ENOUGH_MEMORY );
    }

    hFile =
        CreateFileW(
            path,
            FILE_LIST_DIRECTORY,
            FILE_SHARE_READ | FILE_SHARE_WRITE,
            NULL,
            OPEN_EXISTING,
            FILE_ATTRIBUTE_DIRECTORY | FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_OVERLAPPED,
            NULL
            );
    if ( INVALID_HANDLE_VALUE == hFile )
    {
        fn_return( status = GetLastError() );
    }

    overlapped.hEvent = CreateEventW( NULL, TRUE, FALSE, NULL );

    while (
        ReadDirectoryChangesW(
            hFile,
            pNotifyBuffer,
            cbNotifyBuffer,
            FALSE,
            FILE_NOTIFY_CHANGE_FILE_NAME | FILE_NOTIFY_CHANGE_DIR_NAME |
                FILE_NOTIFY_CHANGE_ATTRIBUTES | FILE_NOTIFY_CHANGE_SIZE |
                FILE_NOTIFY_CHANGE_LAST_WRITE,
            NULL,
            &amp;overlapped,
            _changeDir5CompletionRoutine
            )
        &amp;&amp;
        WaitForSingleObject( overlapped.hEvent, INFINITE )
        )
    {
        if ( _cbReturned &gt; 0 )
        {
            wprintf( L"Dir Notify:\n" );
            _processBuffer( pNotifyBuffer );
        }
        else
        {
            wprintf( L"Dir Notify: No information\n" );
        }

        ResetEvent( overlapped.hEvent );
    }

fn_exit:

    if ( overlapped.hEvent )
    {
        CloseHandle( overlapped.hEvent );
    }

    if ( INVALID_HANDLE_VALUE != hFile )
    {
        CloseHandle( hFile );
    }

    if ( pNotifyBuffer )
    {
        delete [] pNotifyBuffer;
    }

    return status;
}

int
__cdecl
wmain(
    __in int      argc,
    __in wchar_t* argv[]
    )
{
    DWORD               status = ERROR_SUCCESS;

    if ( argc &lt; 3 )
    {
        fn_return( NOTHING );
    }

    if ( !wcscmp( argv[ 1 ], L"1" ) )
    {
        wprintf( L"Type 1: FindFirstChangeNotification\n" );
        status = _changeDir1( argv[ 2 ] );
    }
    else if ( !wcscmp( argv[ 1 ], L"2" ) )
    {
        wprintf( L"Type 2: ReadDirectoryChanges (Synch)\n" );
        status = _changeDir2( argv[ 2 ] );
    }
    else if ( !wcscmp( argv[ 1 ], L"3" ) )
    {
        wprintf( L"Type 3: ReadDirectoryChanges (Asynch w/OVERLAPPED)\n" );
        status = _changeDir3( argv[ 2 ] );
    }
    else if ( !wcscmp( argv[ 1 ], L"4" ) )
    {
        wprintf( L"Type 4: ReadDirectoryChanges (Asynch w/IoCompletionPort)\n" );
        status = _changeDir4( argv[ 2 ] );
    }
    else if ( !wcscmp( argv[ 1 ], L"5" ) )
    {
        wprintf( L"Type 5: ReadDirectoryChanges (Asynch w/completion routine)\n" );
        status = _changeDir4( argv[ 2 ] );
    }

    fn_return( NOTHING );

fn_exit:

    wprintf( L"Status = %d\n", status );

    return status;
}</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lordjeb.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lordjeb.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lordjeb.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lordjeb.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lordjeb.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lordjeb.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lordjeb.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lordjeb.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lordjeb.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lordjeb.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lordjeb.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lordjeb.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lordjeb.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lordjeb.wordpress.com/179/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lordjeb.com&amp;blog=13139960&amp;post=179&amp;subd=lordjeb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lordjeb.com/2010/11/15/directory-notification/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/08afb25348940ba0703842c607ba3166?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lordjeb</media:title>
		</media:content>
	</item>
		<item>
		<title>My new Apple iPad</title>
		<link>http://blog.lordjeb.com/2010/06/16/my-new-apple-ipad/</link>
		<comments>http://blog.lordjeb.com/2010/06/16/my-new-apple-ipad/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 16:54:18 +0000</pubDate>
		<dc:creator>lordjeb</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">https://lordjeb.wordpress.com/?p=174</guid>
		<description><![CDATA[Well I had no intention of doing so, but yesterday I went out and bought an Apple iPad. I&#8217;m happy to say that I love it so far, and am even writing this blog entry from the WordPress application. My favorite part about it is that I can sync my Google calendar with the native [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lordjeb.com&amp;blog=13139960&amp;post=174&amp;subd=lordjeb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Well I had no intention of doing so, but yesterday I went out and bought an Apple iPad. I&#8217;m happy to say that I love it so far, and am even writing this blog entry from the WordPress application. My favorite part about it is that I can sync my Google calendar with the native calendar, which is new since I last played with my iPhone. (Upgraded to a Google Droid a while back.) I&#8217;m also loving the Appigo ToDo application, which is even better on the iPad than it was on the phone. I even like the Kindle reader, though I will have to try reading for a long period of time before I can see if it will really replace the actual Kindle. Anyway, I&#8217;m back in the Apple iCult for now.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lordjeb.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lordjeb.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lordjeb.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lordjeb.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lordjeb.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lordjeb.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lordjeb.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lordjeb.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lordjeb.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lordjeb.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lordjeb.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lordjeb.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lordjeb.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lordjeb.wordpress.com/174/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lordjeb.com&amp;blog=13139960&amp;post=174&amp;subd=lordjeb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lordjeb.com/2010/06/16/my-new-apple-ipad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/08afb25348940ba0703842c607ba3166?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lordjeb</media:title>
		</media:content>
	</item>
		<item>
		<title>DonorsChoose.org: A Great Cause</title>
		<link>http://blog.lordjeb.com/2010/06/09/donorschoose-org-a-great-cause/</link>
		<comments>http://blog.lordjeb.com/2010/06/09/donorschoose-org-a-great-cause/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 05:39:05 +0000</pubDate>
		<dc:creator>lordjeb</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://blog.lordjeb.com/?p=172</guid>
		<description><![CDATA[DonorsChoose.org is a charitable giving organization that I have been contributing to for a few years now, and I just wanted to take a minute and say how great I think it is. It&#8217;s one of the few charities that offers donors the opportunity to choose exactly what their contributions are spent on. The &#8220;projects&#8221; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lordjeb.com&amp;blog=13139960&amp;post=172&amp;subd=lordjeb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>DonorsChoose.org is a charitable giving organization that I have been contributing to for a few years now, and I just wanted to take a minute and say how great I think it is. It&#8217;s one of the few charities that offers donors the opportunity to choose exactly what their contributions are spent on. The &#8220;projects&#8221; are all proposals from public school teachers. You can search and identify particular projects based on your own criteria: poverty of the classrooms, subject matter, age groups, etc. are all searchable items, and the descriptions of the projects let you know exactly where it goes.</p>
<p>Education is such an important thing for children to get, and especially in high poverty areas they just don&#8217;t have the same chance. I believe strongly that this is the kind of cause that individuals should be able to solve and the government should stay out of, and this is one of the areas where I &#8220;put my money where my mouth is.&#8221;</p>
<p>I hope you&#8217;ll take a look at the site and see if it&#8217;s the kind of thing you would be interested in supporting as well.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lordjeb.wordpress.com/172/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lordjeb.wordpress.com/172/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lordjeb.wordpress.com/172/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lordjeb.wordpress.com/172/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lordjeb.wordpress.com/172/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lordjeb.wordpress.com/172/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lordjeb.wordpress.com/172/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lordjeb.wordpress.com/172/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lordjeb.wordpress.com/172/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lordjeb.wordpress.com/172/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lordjeb.wordpress.com/172/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lordjeb.wordpress.com/172/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lordjeb.wordpress.com/172/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lordjeb.wordpress.com/172/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lordjeb.com&amp;blog=13139960&amp;post=172&amp;subd=lordjeb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lordjeb.com/2010/06/09/donorschoose-org-a-great-cause/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/08afb25348940ba0703842c607ba3166?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lordjeb</media:title>
		</media:content>
	</item>
		<item>
		<title>Republican Liberty Caucus Convention 2010</title>
		<link>http://blog.lordjeb.com/2010/05/15/republican-liberty-caucus-convention-2010/</link>
		<comments>http://blog.lordjeb.com/2010/05/15/republican-liberty-caucus-convention-2010/#comments</comments>
		<pubDate>Sat, 15 May 2010 17:51:26 +0000</pubDate>
		<dc:creator>lordjeb</dc:creator>
				<category><![CDATA[Politics]]></category>

		<guid isPermaLink="false">http://blog.lordjeb.com/?p=166</guid>
		<description><![CDATA[Well I guess it&#8217;s been two years since we organized the Republican Liberty Caucus here in Utah. After the Republican primaries in 2008 I lost interest in the Republican party for a while (since they didn&#8217;t really have a Presidential candidate that I could support). But here we are again. Political season is getting into [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lordjeb.com&amp;blog=13139960&amp;post=166&amp;subd=lordjeb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Well I guess it&#8217;s been two years since we organized the Republican Liberty Caucus here in Utah. After the Republican primaries in 2008 I lost interest in the Republican party for a while (since they didn&#8217;t really have a Presidential candidate that I could support). But here we are again. Political season is getting into full swing and we are having another RLC convention.</p>
<p>This year I think there are a few Senate candidates that I can support (Mike Lee and Tim Bridgewater both seem palatable, though I prefer Lee.) I think that situation will help people stay more interested in the RLC-Utah, and the organization will hopefully see some gains in support. Who knows&#8230; now that I&#8217;m done with school I may decide to be more involved myself, possibly even volunteer for an RLC position.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lordjeb.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lordjeb.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lordjeb.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lordjeb.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lordjeb.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lordjeb.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lordjeb.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lordjeb.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lordjeb.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lordjeb.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lordjeb.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lordjeb.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lordjeb.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lordjeb.wordpress.com/166/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lordjeb.com&amp;blog=13139960&amp;post=166&amp;subd=lordjeb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lordjeb.com/2010/05/15/republican-liberty-caucus-convention-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/08afb25348940ba0703842c607ba3166?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lordjeb</media:title>
		</media:content>
	</item>
		<item>
		<title>Why I Like Mike</title>
		<link>http://blog.lordjeb.com/2010/05/04/why-i-like-mike/</link>
		<comments>http://blog.lordjeb.com/2010/05/04/why-i-like-mike/#comments</comments>
		<pubDate>Wed, 05 May 2010 00:23:25 +0000</pubDate>
		<dc:creator>lordjeb</dc:creator>
				<category><![CDATA[Politics]]></category>

		<guid isPermaLink="false">http://blog.lordjeb.com/?p=162</guid>
		<description><![CDATA[&#8230;Mike Lee for the Utah Senate race in 2010, that is. Principled. I believe that Mike Lee will make principled decisions as a Senator. I think that our nation has been led into a horrible situation, primarily by people doing what they thought was right, or by doing what they thought was necessary. I don&#8217;t [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lordjeb.com&amp;blog=13139960&amp;post=162&amp;subd=lordjeb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>&#8230;Mike Lee for the Utah Senate race in 2010, that is.</p>
<p>Principled. I believe that Mike Lee will make principled decisions as a Senator. I think that our nation has been led into a horrible situation, primarily by people doing what they thought was right, or by doing what they thought was necessary. I don&#8217;t believe that Mike will be guided by these unprincipled concepts, but will let his decisions be guided by what the Constitution says and means. I trust that a representative who follows the Constitution (as the Founders understood it, not as it is misinterpreted by the three branches of our government today) will make correct decisions for me and my life. For the most part, this will lead them to decisions where they stay out of my life, providing only those minimal functions that government can actually accomplish where (arguably) individuals may not be able to.</p>
<p>New Blood. I believe that Washington has a profoundly corrupting influence on almost anyone who works there. Utah&#8217;s current Senators have been under this influence for many years, and have been changed by it. I&#8217;m sure they don&#8217;t think so, but I believe that if you examine their voting records, campaign contributions, and whom they spend their time with, it becomes apparent. Mike has enough experience with Washington (clerking for Judge Alito) to be somewhat prepared, but not so much experience that he has been corrupted. I think that having a representative who is recently from among the general Utah population is vital to them understanding and representing our needs and desires.</p>
<p>Hope. This is a buzzword from recent elections, but I don&#8217;t use it in quite the same sense. I think that Mike Lee believes that he can make changes in Washington. I don&#8217;t know for sure whether it is possible to change much, at least in the short term. But I need to have a representative who believes he can make a change so that he will try. Representatives who have been in the Washington scene for a long time have a tendency to have bought into the system. They talk about changing things tomorrow, but tomorrow never comes. I believe that Mike will try to change things now.</p>
<p>One of the most important developments in the history of political thought is the idea called the &#8220;rule of law.&#8221; Essentially what this means is that the law applies to everyone, and that the law rules in place of any individual whim. When applied to Constitutional systems, the rule of law also implies that the Constitutional law rules all. It is more important than individual wishes, majority wishes, or even other laws. I think that Mike Lee is the ONLY candidate running in the Utah Republican Senate race who understands this and believes it. In my mind that makes him the only candidate worth voting for.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lordjeb.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lordjeb.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lordjeb.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lordjeb.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lordjeb.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lordjeb.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lordjeb.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lordjeb.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lordjeb.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lordjeb.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lordjeb.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lordjeb.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lordjeb.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lordjeb.wordpress.com/162/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lordjeb.com&amp;blog=13139960&amp;post=162&amp;subd=lordjeb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lordjeb.com/2010/05/04/why-i-like-mike/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/08afb25348940ba0703842c607ba3166?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lordjeb</media:title>
		</media:content>
	</item>
		<item>
		<title>We Don&#8217;t Need No (More) Education</title>
		<link>http://blog.lordjeb.com/2010/04/30/we-dont-need-no-more-education/</link>
		<comments>http://blog.lordjeb.com/2010/04/30/we-dont-need-no-more-education/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 17:52:29 +0000</pubDate>
		<dc:creator>lordjeb</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://blog.lordjeb.com/?p=168</guid>
		<description><![CDATA[That&#8217;s right, I&#8217;m finally done with school. Today I graduated from Utah Valley University with a Bachelor of Science in Political Science with a Minor in Computer Science. It&#8217;s been a very enjoyable experience, and I have learned a lot, and (I hope) helped others in my classes to learn as well. I haven&#8217;t decided [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lordjeb.com&amp;blog=13139960&amp;post=168&amp;subd=lordjeb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>That&#8217;s right, I&#8217;m finally done with school. Today I graduated from Utah Valley University with a Bachelor of Science in Political Science with a Minor in Computer Science. It&#8217;s been a very enjoyable experience, and I have learned a lot, and (I hope) helped others in my classes to learn as well.</p>
<p>I haven&#8217;t decided whether I will try to extend my schooling further yet, but it is an option. For now, I am going to finish up getting my real estate license and relax for a bit.</p>
<p>I&#8217;ve also decided that I&#8217;m going to build a personal library of top-quality books that have influenced the world, particularly those of a political or philosophical nature. I have read a great deal of portions from these books during my school work, but I can not say that I have read all of these books. It is my goal to now be able to say that.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lordjeb.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lordjeb.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lordjeb.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lordjeb.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lordjeb.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lordjeb.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lordjeb.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lordjeb.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lordjeb.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lordjeb.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lordjeb.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lordjeb.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lordjeb.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lordjeb.wordpress.com/168/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lordjeb.com&amp;blog=13139960&amp;post=168&amp;subd=lordjeb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lordjeb.com/2010/04/30/we-dont-need-no-more-education/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/08afb25348940ba0703842c607ba3166?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lordjeb</media:title>
		</media:content>
	</item>
		<item>
		<title>Craig Frank for Utah LD 57</title>
		<link>http://blog.lordjeb.com/2010/04/23/craig-frank/</link>
		<comments>http://blog.lordjeb.com/2010/04/23/craig-frank/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 18:12:05 +0000</pubDate>
		<dc:creator>lordjeb</dc:creator>
				<category><![CDATA[Politics]]></category>

		<guid isPermaLink="false">http://blog.lordjeb.com/?p=157</guid>
		<description><![CDATA[Tomorrow I will attend the Utah County Republican Convention as a Precinct Vice-Chair and County Delegate. This year there has been a lot of e-mails flying around about the State House race between Craig Frank (incumbent) and John Glen Stevens. I&#8217;ve been getting a lot of e-mails with personal statements of support for Stevens, and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lordjeb.com&amp;blog=13139960&amp;post=157&amp;subd=lordjeb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Tomorrow I will attend the Utah County Republican Convention as a Precinct Vice-Chair and County Delegate. This year there has been a lot of e-mails flying around about the State House race between Craig Frank (incumbent) and John Glen Stevens. I&#8217;ve been getting a lot of e-mails with personal statements of support for Stevens, and I wanted to respond publicly with my reasons for supporting Frank. These are my opinions and impressions of Craig Frank, and have not been approved or examined by him, although I hope he would not object.</p>
<p>Craig believes in small government. This is such a critical issue to me, and I know Craig really gets it. Craig doesn&#8217;t believe in government giving handouts or incentives to companies for good behavior. The free market does a great job of that already and it should be allowed to operate without the corrupting influence of government. I don&#8217;t want my government involved in my business. I especially don&#8217;t want my state government involved in my city business! Craig doesn&#8217;t think that the state government should get involved in the city or county government. If they ask for help, through lobbying or personal requests, I know Craig is happy to help, but he&#8217;s not the kind who wants to use his State Legislator influence to try to change things on the local level.</p>
<p>Craig is very available to constituents. I have seen some complaints in the aforementioned e-mails that Craig didn&#8217;t come and visit this or that city official. My experience has been exactly the opposite. Craig has gone out of his way to speak to me when I wanted it; he has answered every e-mail I have sent him quickly and helpfully; he has proactively communicated the things he is working on at the state level. I would guess that anyone who thinks Craig is less than accessible hasn&#8217;t really tried to contact him.</p>
<p>Craig has a proven record of making the right choices and the correct votes. I can&#8217;t say that I know and agree with every single vote choice that Craig has made, because I honestly don&#8217;t know every vote or every issue well enough to judge. I <span style="text-decoration:underline;">CAN</span> say that on every major issue that I have been interested in, Craig votes the right way. He has demonstrated through actions his conservative values and beliefs, and I trust that he will continue to do so. I&#8217;m not willing to vote for someone who says he will vote the right way over someone who has proven that he <span style="text-decoration:underline;">will</span> vote the right way.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lordjeb.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lordjeb.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lordjeb.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lordjeb.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lordjeb.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lordjeb.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lordjeb.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lordjeb.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lordjeb.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lordjeb.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lordjeb.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lordjeb.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lordjeb.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lordjeb.wordpress.com/157/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lordjeb.com&amp;blog=13139960&amp;post=157&amp;subd=lordjeb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lordjeb.com/2010/04/23/craig-frank/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/08afb25348940ba0703842c607ba3166?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lordjeb</media:title>
		</media:content>
	</item>
		<item>
		<title>Conservative Typography</title>
		<link>http://blog.lordjeb.com/2010/04/19/conservative-typography/</link>
		<comments>http://blog.lordjeb.com/2010/04/19/conservative-typography/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 23:59:48 +0000</pubDate>
		<dc:creator>lordjeb</dc:creator>
				<category><![CDATA[Politics]]></category>

		<guid isPermaLink="false">http://lordjeb.wordpress.com/?p=151</guid>
		<description><![CDATA[I read something interesting today on the LewRockwell.com blog that I thought I would comment on. It was a brief listing of various types of conservatives that found both entertaining and enlightening. I will list and describe them here (my own description, not necessarily what was intended by the original author). I would be interested [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lordjeb.com&amp;blog=13139960&amp;post=151&amp;subd=lordjeb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I read something interesting today on the LewRockwell.com blog that I thought I would comment on. It was a brief listing of various types of conservatives that found both entertaining and enlightening. I will list and describe them here (my own description, not necessarily what was intended by the original author). I would be interested to hear of any new types of conservatives that people can think of.</p>
<p>Libertarians. These are the so-called small-&#8221;l&#8221; libertarians. They believe that there is a role in society for government, but that it should be limited to functions explicitly given to it by the Constitution or by some other concept of the social contract. They believe in small government that limits each individual&#8217;s rights only when they start to conflict with another&#8217;s rights. Think Ron Paul for a good example.</p>
<p>Neo-cons. Everybody has heard of these guys, they are the guys to claim to want smaller government while pushing to enlarge it at every turn. They want preemptive wars with other countries, military bases around the world, government surveillance powers such as those granted by the PATRIOT Act, etc. Think Dick Cheney on this one.</p>
<p>Theo-cons. This is the one that I found to be pretty entertaining because of the clever name. These are the conservatives who believe in a smaller government which is used to enforce their own religious beliefs on others. They believe in small government, but still want to outlaw any recreational drug use, pornography, gambling, equal homosexual rights, etc. I&#8217;m not entirely sure whom I should choose as a poster-boy for this one&#8230; maybe Mitt Romney or Mike Huckabee?</p>
<p>Now I feel that I should point out that these groups rarely self-identify what they actually believe. The neo-cons and theo-cons are far more likely to claim to be small-government people who believe in limited government power. But they seem to believe that it is &#8220;necessary&#8221; for the government to do more because of all the bad stuff out there (drugs, porn, Iraqis, terrorists, lazy people, etc.). The libertarians, on the other hand, don&#8217;t like to use that word because it&#8217;s the name of a political party that they don&#8217;t want to be associated with.</p>
<p>I would welcome your thoughts on other classifications here. Please try to make them at least as entertaining as &#8220;theo-cons&#8221;, just to help brighten my day.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lordjeb.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lordjeb.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lordjeb.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lordjeb.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lordjeb.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lordjeb.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lordjeb.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lordjeb.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lordjeb.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lordjeb.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lordjeb.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lordjeb.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lordjeb.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lordjeb.wordpress.com/151/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lordjeb.com&amp;blog=13139960&amp;post=151&amp;subd=lordjeb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lordjeb.com/2010/04/19/conservative-typography/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/08afb25348940ba0703842c607ba3166?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lordjeb</media:title>
		</media:content>
	</item>
	</channel>
</rss>
