<?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/archives/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>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<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 [...]]]></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&#8242;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&#8242;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 [...]]]></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&#8242;s &#8212; Poking around using BASIC on pre-PC microcomputers. 2. 1980&#8242;s &#8212; Writing a fair bit [...]]]></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&#8242;s &#8212; Poking around using BASIC on pre-PC microcomputers.</p>
<p>2. 1980&#8242;s &#8212; Writing a fair bit of software on my Timex ZX-18 using their BASIC.</p>
<p>3. 1980&#8242;s &#8212; Fortran 77 on PC and SunOS.</p>
<p>4. 1980&#8242;s &#8212; Writing a fair bit of software on PCs running DOS with Turbo Pascal.</p>
<p>5. late 1980&#8242;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&#8242;s &#8212; Lots of Fortran 90 written under HP-UX and VMS. Starting to use C to interface with hardware.</p>
<p>7. 1990&#8242;s &#8212; CDROM based &#8220;Multimedia&#8221; projects. Silly aquarium games. Very painful under Windows 3.11.</p>
<p>8. 1990&#8242;s &#8212; WWW, the internet, HTML, cgi-bin scripts in Perl. Spending lots of time configuring web servers.</p>
<p>9. late 1990&#8242;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&#8242;s &#8212; Big non-Microsoft web technologies. Linux, Java, Tomcat, other application servers.</p>
<p>11. 2000&#8242;s &#8212; Post dot-com: back to Microsoft with .NET! Love it. Back to client applications.</p>
<p>12. 2000&#8242;s &#8212; back to the web: ASP.NET. Love it.</p>
<p>13. 2000&#8242;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&#8242;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 [...]]]></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 [...]]]></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 [...]]]></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>
