<?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>Dan Swearingen&#039;s Tech Stuff Blog &#187; The Art of Programming</title>
	<atom:link href="http://www.polyweb.com/blog/index.php/category/the-art-of-programming/feed" rel="self" type="application/rss+xml" />
	<link>http://www.polyweb.com/blog</link>
	<description>Technical things I think about</description>
	<lastBuildDate>Mon, 22 Feb 2010 03:07:58 +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>How to delete GPT Protective Partition</title>
		<link>http://www.polyweb.com/blog/index.php/archives/142</link>
		<comments>http://www.polyweb.com/blog/index.php/archives/142#comments</comments>
		<pubDate>Fri, 11 Dec 2009 00:55:56 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[Windows Details]]></category>

		<guid isPermaLink="false">http://www.polyweb.com/blog/?p=142</guid>
		<description><![CDATA[I loaned a portable USB 1 TB drive to someone recently and they accidentally horked it up pretty well. They attempted some fix up on it but when I mounted it on my system it did not appear in the list of disks under My Computer but it was listed as a device off the [...]]]></description>
			<content:encoded><![CDATA[<p>I loaned a portable USB 1 TB drive to someone recently and they accidentally horked it up pretty well. They attempted some fix up on it but when I mounted it on my system it did not appear in the list of disks under My Computer but it was listed as a device off the USB hub.</p>
<p>Opening Computer Management under XP Pro the disk was listed as a &#8220;GPT Protective partition&#8221; and no options were available for doing anything to it under the Disk Management applet. A GPT partition is a <a title="Link to Wikipedia" href="http://en.wikipedia.org/wiki/GUID_Partition_Table" target="_blank">GUID Partition Table</a> and is usable by Macs and Windows Vista and greater &#8212; but not XP which is what what I&#8217;m running.</p>
<p>A quick search found this procedure:</p>
<p>In Windows XP Professional, if you cannot access or modify GPT disk, you can convert a GPT disk to MBR by using the &#8220;clean&#8221; command in the command line application DiskPart, which will remove all data and partition structures from the disk.</p>
<p>1. Go to the DOS command line (click on “Start Menu”, then “Run”, type in “cmd” in textbox, and hit “OK”)</p>
<p>* Type in “DiskPart” in command line.<br />
* Type in “list disk” in command line to show all disks in this machine.<br />
* Use “select” to set the focus to the specified partition, for example “select disk 1″.<br />
* Use “clean” command to remove GPT disk from the current in-focus disk by zeroing sectors.</p>
<p>2. Go back to Disk Management, the disk should be &#8220;unallocated&#8221; now. Right click on disk info, choose &#8220;Initialize Disk&#8221; then format it.</p>
<p>Warning: Duh: This command will of course erase all data on the disk, but if you got here, you couldn&#8217;t access it anyway!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.polyweb.com/blog/index.php/archives/142/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Command Line stuff</title>
		<link>http://www.polyweb.com/blog/index.php/archives/136</link>
		<comments>http://www.polyweb.com/blog/index.php/archives/136#comments</comments>
		<pubDate>Fri, 10 Jul 2009 15:45:24 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[Essential Tools]]></category>
		<category><![CDATA[The Art of Programming]]></category>
		<category><![CDATA[Windows Details]]></category>

		<guid isPermaLink="false">http://www.polyweb.com/blog/?p=136</guid>
		<description><![CDATA[Creating scripts to automate administrative or programming build tasks is GOOD. It centralizes details and reduces errors.
I find I need to re-learn DOS (and *nix) command line stuff every few years and then I completely forget how to do it and have to learn again.
Resources that I find useful:
The Windows Command Line
Microsoft Windows XP &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>Creating scripts to automate administrative or programming build tasks is GOOD. It centralizes details and reduces errors.</p>
<p>I find I need to re-learn DOS (and *nix) command line stuff every few years and then I completely forget how to do it and have to learn again.</p>
<p>Resources that I find useful:</p>
<p><a href="http://commandwindows.com/" target="_blank">The Windows Command Line</a></p>
<p><a href="http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/batch.mspx?mfr=true" target="_blank">Microsoft Windows XP &#8211; Using batch files</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.polyweb.com/blog/index.php/archives/136/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Wumpus lives</title>
		<link>http://www.polyweb.com/blog/index.php/archives/131</link>
		<comments>http://www.polyweb.com/blog/index.php/archives/131#comments</comments>
		<pubDate>Thu, 11 Jun 2009 03:34:58 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[On the coffee table]]></category>
		<category><![CDATA[The Art of Programming]]></category>

		<guid isPermaLink="false">http://www.polyweb.com/blog/?p=131</guid>
		<description><![CDATA[This is a great PHP version of the classic Hunt the Wumpus game of the 1970&#8217;s.

This will make a great programming-class homework problem.
]]></description>
			<content:encoded><![CDATA[<p>This is <a href="http://bnewtz.cannet.com/wumpus/index.php" target="_blank">a great PHP version</a> of the classic <a title="link to Wikipedia" href="http://en.wikipedia.org/wiki/Hunt_the_Wumpus" target="_blank">Hunt the Wumpus game</a> of the 1970&#8217;s.</p>
<p><a title="page247 by dan_swearingen, on Flickr" href="http://www.atariarchives.org/bcc1/showpage.php?page=247"><img src="http://farm4.static.flickr.com/3374/3615145609_5b7321d3ed.jpg" alt="page247" width="349" height="500" /></a></p>
<p>This will make a great programming-class homework problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.polyweb.com/blog/index.php/archives/131/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Teaching programming &#8211; part 2: how I tried it</title>
		<link>http://www.polyweb.com/blog/index.php/archives/127</link>
		<comments>http://www.polyweb.com/blog/index.php/archives/127#comments</comments>
		<pubDate>Wed, 10 Jun 2009 18:02:57 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[Campfire Stories]]></category>
		<category><![CDATA[The Art of Programming]]></category>

		<guid isPermaLink="false">http://www.polyweb.com/blog/?p=127</guid>
		<description><![CDATA[So I&#8217;m teaching a kid to program. &#8220;A kid&#8221; to me meaning anyone born after 1980 &#8211; &#8217;cause I&#8217;m old.
Here are the choices I made.
Start with C++
If you want to be a professional programmer for the rest of your days, you should be an expert in C++. It&#8217;s all there: pointers, Object Oriented Programming, complex [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;m teaching a kid to program. &#8220;A kid&#8221; to me meaning anyone born after 1980 &#8211; &#8217;cause I&#8217;m old.</p>
<p>Here are the choices I made.</p>
<h3>Start with C++</h3>
<p>If you want to be a professional programmer for the rest of your days, you should be an expert in C++. It&#8217;s all there: pointers, Object Oriented Programming, complex build issues: all the experience you&#8217;ll need.</p>
<h3>Get a book to structure the &#8220;class&#8221;</h3>
<p>All books suck to some extent. Just pick one and go. I chose <a title="link to amazon" href="http://www.amazon.com/Sams-Teach-Yourself-One-Hour/dp/0672329417" target="_blank">Sams Teach Yourself C++ in One Hour a Day (6th Edition)</a>. It is big on C++ syntax, light on Computer Science topics.</p>
<h3>Assign outside projects</h3>
<p>I&#8217;m assigning tasks like a console Hangman game, The Game Of Life, things like that. Nothing makes concepts concrete like actually building a program that does something.</p>
<h3>Teach Computer Science as taught at a great university</h3>
<p>To be a professional programmer you need to be literate in computer science. Like any other self respecting astrophysicist (and therefore professional know-it-all) I tried for years to avoid it but finally gave in and learned CS.</p>
<p>After my student makes a pass through the Sams book above, I&#8217;ll start using the curriculum available free online at <a title="link to MIT" href="http://ocw.mit.edu/OcwWeb/web/courses/courses/index.htm" target="_blank">MIT&#8217;s Open Courseware</a>. We&#8217;ll be starting with <a title="link to MIT" href="http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-00Fall-2007/CourseHome/index.htm" target="_blank">6.00 Introduction to Computer Science and Programming</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.polyweb.com/blog/index.php/archives/127/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Teaching programming &#8211; part 1: how I learned</title>
		<link>http://www.polyweb.com/blog/index.php/archives/116</link>
		<comments>http://www.polyweb.com/blog/index.php/archives/116#comments</comments>
		<pubDate>Thu, 14 May 2009 21:34:12 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[Campfire Stories]]></category>
		<category><![CDATA[The Art of Programming]]></category>

		<guid isPermaLink="false">http://www.polyweb.com/blog/?p=116</guid>
		<description><![CDATA[A young person asked me recently: &#8220;Could you teach me how to write programs?&#8221;
Could I ever! I don&#8217;t know. Could I??
I&#8217;m old. I&#8217;m not so sure I&#8217;m a good example. The generations of my programming learning:
1. 1970&#8217;s &#8212; Poking around using BASIC on pre-PC microcomputers.
2. 1980&#8217;s &#8212; Writing a fair bit of software on my [...]]]></description>
			<content:encoded><![CDATA[<p>A young person asked me recently: &#8220;Could you teach me how to write programs?&#8221;</p>
<p>Could I ever! I don&#8217;t know.<em> Could I??</em></p>
<p>I&#8217;m old. I&#8217;m not so sure I&#8217;m a good example. The generations of my programming learning:</p>
<p>1. 1970&#8217;s &#8212; Poking around using BASIC on pre-PC microcomputers.</p>
<p>2. 1980&#8217;s &#8212; Writing a fair bit of software on my Timex ZX-18 using their BASIC.</p>
<p>3. 1980&#8217;s &#8212; Fortran 77 on PC and SunOS.</p>
<p>4. 1980&#8217;s &#8212; Writing a fair bit of software on PCs running DOS with Turbo Pascal.</p>
<p>5. late 1980&#8217;s &#8212; FTP, lots of ftp. Starting to use email. Writing Fortran apps on mini computers and using my PC as a VT-100 terminal with Kermit and a 1200 baud modem. Learned vi. Turbo C 1.0 (pre-ANSI standard).</p>
<p>6. 1990&#8217;s &#8212; Lots of Fortran 90 written under HP-UX and VMS. Starting to use C to interface with hardware.</p>
<p>7. 1990&#8217;s &#8212; CDROM based &#8220;Multimedia&#8221; projects. Silly aquarium games. Very painful under Windows 3.11.</p>
<p>8. 1990&#8217;s &#8212; WWW, the internet, HTML, cgi-bin scripts in Perl. Spending lots of time configuring web servers.</p>
<p>9. late 1990&#8217;s &#8212; The dot-com boom. All web, all the time. Microsoft ASP (classic: VBScript). Learned COM, ATL to enhance big MS technology web servers.</p>
<p>10. 2000&#8217;s &#8212; Big non-Microsoft web technologies. Linux, Java, Tomcat, other application servers.</p>
<p>11. 2000&#8217;s &#8212; Post dot-com: back to Microsoft with .NET! Love it. Back to client applications.</p>
<p>12. 2000&#8217;s &#8212; back to the web: ASP.NET. Love it.</p>
<p>13. 2000&#8217;s &#8212; set your way back machine: A huge project pulls me back to ATL/MFC/C++. Coding like it&#8217;s 1990 (Vista systems).</p>
<p>14. 2000&#8217;s &#8212; Computer game technology: classic C++, wicked algorithms, cool deep technology stacks like rendering pipelines, AI, terrain.</p>
<p>Looking back, what have I learned? A lot and especially that not all learning pain is gain.</p>
<p>I have growing respect for technologies that have evolved and stand the test of time. Looking down the list the Internet, client applications, and web-connected applications ebb and flow but feel like they will be around for awhile.</p>
<p>C++ is awesome. C#/.NET is way up there too. C# feels like C++ but someone has been in and tidied everything up. HTML has got to be one of the most ubiquitous formats on the planet.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.polyweb.com/blog/index.php/archives/116/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Government computers and security settings</title>
		<link>http://www.polyweb.com/blog/index.php/archives/96</link>
		<comments>http://www.polyweb.com/blog/index.php/archives/96#comments</comments>
		<pubDate>Thu, 07 May 2009 19:26:54 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[Essential Tools]]></category>

		<guid isPermaLink="false">http://www.polyweb.com/blog/?p=96</guid>
		<description><![CDATA[Recently we were asked to test our software on systems that had enhanced security settings. These are the result of (very) numerous configuration changes to the system so I  looked around for some tools to help manage and apply these changes. 
Bruce Schneier pointed the way on his recent post May 6, 2009
Secure Version [...]]]></description>
			<content:encoded><![CDATA[<p>Recently we were asked to test our software on systems that had enhanced security settings. These are the result of (very) numerous configuration changes to the system so I  looked around for some tools to help manage and apply these changes. </p>
<p><a href="http://www.schneier.com/index.html">Bruce Schneier</a> pointed the way on his recent post <a href="http://www.schneier.com/blog/archives/2009/05/secure_version.html">May 6, 2009<br />
Secure Version of Windows Created for the U.S. Air Force</a>.</p>
<p>The Federal Desktop Core Configuration (FDCC) is described <a href="http://nvd.nist.gov/fdcc/index.cfm">here</a>. </p>
<p>Some nifty tools are at <a href="http://blogs.technet.com/fdcc/">Blogs.Technet: Federal Desktop Core Configuration</a> and <a href="http://blogs.technet.com/fdcc/pages/LGPO-Utilities.aspx">Blogs.Technet: Utilities for automating Local Group Policy management</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.polyweb.com/blog/index.php/archives/96/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Website software</title>
		<link>http://www.polyweb.com/blog/index.php/archives/86</link>
		<comments>http://www.polyweb.com/blog/index.php/archives/86#comments</comments>
		<pubDate>Thu, 07 May 2009 15:41:33 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[Blogs on blogs]]></category>
		<category><![CDATA[Campfire Stories]]></category>
		<category><![CDATA[Essential Tools]]></category>

		<guid isPermaLink="false">http://www.polyweb.com/blog/?p=86</guid>
		<description><![CDATA[After nearly 18 years of doing web-based work as either my primary job or in support of other work I get this question a few times a year:
We need to find a good, easy to use software program for generating the [website name here].  PC based. Any suggestions?
My snappy answer is
WordPress
WordPress.org &#160;&#160;&#160;&#160;&#160; WordPress at [...]]]></description>
			<content:encoded><![CDATA[<p>After nearly 18 years of doing web-based work as either my primary job or in support of other work I get this question a few times a year:</p>
<blockquote><p>We need to find a good, easy to use software program for generating the [website name here].  PC based. Any suggestions?</p></blockquote>
<p>My snappy answer is</p>
<h3>WordPress</h3>
<p><a href="http://wordpress.org/">WordPress.org</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://en.wikipedia.org/wiki/Wordpress">WordPress at Wikipedia</a></p>
<p>Why?</p>
<p>I&#8217;ve used notepad, vi, VisualStudio, Netscape Gold, DreamWeaver, &#8230; All kinds of different tools. On the server side: Netscape Server, cgi-bin with perl, IIS (since NT 3.51), all sorts of pre-IIS app servers I can&#8217;t even remember the names of, Java technologies and LAMP.</p>
<p>I&#8217;ve used those bastard website-in-a-box things almost every ISP offers.</p>
<p>Way too many times.</p>
<p>Looking back I have to ask myself: which techniques and technologies stood up to the test of time? Which do I look back at with no regrets?</p>
<ol>
<li>WordPress on LAMP or IIS</li>
<li>IIS/ASP and IIS  with ASP.NET</li>
</ol>
<p>On the desktop editing/managing side? VisualStudio and Visual Source Safe</p>
<p>That&#8217;s it. I assert that you can build ANYTHING with these technologies. I routinely build sites that use BOTH 1. and 2. &#8212; like polyweb.com.</p>
<p>If you are a beginner: go pure WordPress. if you need more site functionality there is almost anything you could want available as a wad of PHP you can tack on.</p>
<p>If you need a real web application &#8212; and you think it is going to get large: ASP.NET is astoundingly powerful and lots of standard functionality is available out of the box. Especially identification/authentication and data driven UI functions.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.polyweb.com/blog/index.php/archives/86/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Integrating Subversion with Visual Studio 2005/2008</title>
		<link>http://www.polyweb.com/blog/index.php/archives/80</link>
		<comments>http://www.polyweb.com/blog/index.php/archives/80#comments</comments>
		<pubDate>Mon, 04 May 2009 20:52:16 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[Essential Tools]]></category>

		<guid isPermaLink="false">http://www.polyweb.com/blog/?p=80</guid>
		<description><![CDATA[Subversion works well and it is easily integrated into Visual Studio using AnkhSVN found at http://ankhsvn.open.collab.net/
Note that as of this writing, you need to use a daily build version instead of any stable release if you are using the latest SVN client version.
Installation is easy and in use it works much as Source Safe integration did:

Yell [...]]]></description>
			<content:encoded><![CDATA[<p>Subversion works well and it is easily integrated into Visual Studio using AnkhSVN found at <a href="http://ankhsvn.open.collab.net/">http://ankhsvn.open.collab.net/</a></p>
<p>Note that as of this writing, you need to use a daily build version instead of any stable release if you are using the latest SVN client version.</p>
<p>Installation is easy and in use it works much as Source Safe integration did:</p>
<p><a title="AnkhInUse by dan_swearingen, on Flickr" href="http://www.flickr.com/photos/dan_swearingen/3501505173/"><img src="http://farm4.static.flickr.com/3658/3501505173_6e014893d5.jpg" alt="AnkhInUse" width="486" height="500" /></a></p>
<p>Yell if you want but I still like how Visual Studio integrates with Source Safe.</p>
<p>Actually, I should have said &#8220;miss&#8221; how Visual Studio integrates with Source Safe since I see VSS in use at fewer and fewer workplaces &#8212; except my home. People point out that&#8217;s kind of sick.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.polyweb.com/blog/index.php/archives/80/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Missing Visual Studio Trick: Ctrl-J or IntelliSense is Your Friend</title>
		<link>http://www.polyweb.com/blog/index.php/archives/72</link>
		<comments>http://www.polyweb.com/blog/index.php/archives/72#comments</comments>
		<pubDate>Tue, 17 Mar 2009 16:18:00 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[Essential Tools]]></category>

		<guid isPermaLink="false">http://www.polyweb.com/blog/?p=72</guid>
		<description><![CDATA[huh. Usually adding &#8220;Intelligent&#8221; or &#8220;Smart&#8221; to the name of anything in software is to doom that anything to complete failure and ridicule.
However, IntelliSense is your friend.
In Visual Studio, just type Ctrl+J anywhere and there&#8217;s your buddy. Great for crappy typists like me.
]]></description>
			<content:encoded><![CDATA[<p>huh. Usually adding &#8220;Intelligent&#8221; or &#8220;Smart&#8221; to the name of anything in software is to doom that anything to complete failure and ridicule.</p>
<p>However, <a title="Wikipedia" href="http://en.wikipedia.org/wiki/IntelliSense" target="_blank">IntelliSense</a> is your friend.</p>
<p>In Visual Studio, just type Ctrl+J anywhere and there&#8217;s your buddy. Great for crappy typists like me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.polyweb.com/blog/index.php/archives/72/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>11 Visual Studio 2005 (and 2008) IDE Tips</title>
		<link>http://www.polyweb.com/blog/index.php/archives/69</link>
		<comments>http://www.polyweb.com/blog/index.php/archives/69#comments</comments>
		<pubDate>Tue, 17 Mar 2009 16:04:56 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[Essential Tools]]></category>

		<guid isPermaLink="false">http://www.polyweb.com/blog/?p=69</guid>
		<description><![CDATA[

I found this on Scott Guthrie&#8217;s blog (he&#8217;s the General manager at Microsoft for Visual Studio, ASP.NET, CLR, etc. (I did my &#8220;code on whiteboard&#8221; interview with him when I interviewed there&#8230;)) and he in turn found this post from Chin Do&#8217;s blog:
11 Visual Studio 2005 IDE Tips and Tricks to Make You a More [...]]]></description>
			<content:encoded><![CDATA[<div class="jive-blog-post-message"><!-- [DocumentBodyStart:0bf6b52b-c9c6-458d-893a-d5bcaf3ac556] --></p>
<div class="jive-rendered-content">
<p>I found this on <a class="jive-link-external-small" href="http://weblogs.asp.net/scottgu/default.aspx">Scott Guthrie&#8217;s blog</a> (he&#8217;s the General manager at Microsoft for Visual Studio, ASP.NET, CLR, etc. (I did my &#8220;code on whiteboard&#8221; interview with him when I interviewed there&#8230;)) and he in turn found this post from Chin Do&#8217;s blog:</p>
<p><a class="jive-link-external-small" href="http://www.chinhdo.com/chinh/blog/20070920/top-11-visual-studio-2005-ide-tips-and-tricks-to-make-you-a-more-productive-developer/">11 Visual Studio 2005 IDE Tips and Tricks to Make You a More Productive Developer</a></p>
<p>Some of the tips are .NET specific (snippets!) but most work in the C++ world too.</p>
<p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.polyweb.com/blog/index.php/archives/69/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
