<?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>peawee dot net &#187; improvement</title>
	<atom:link href="http://peawee.net/tag/improvement/feed/" rel="self" type="application/rss+xml" />
	<link>http://peawee.net</link>
	<description>peawee's funky little corner of the internet</description>
	<lastBuildDate>Thu, 12 Aug 2010 18:00:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Academented Programming</title>
		<link>http://peawee.net/2008/10/21/academented-programming/</link>
		<comments>http://peawee.net/2008/10/21/academented-programming/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 03:11:33 +0000</pubDate>
		<dc:creator>Peawee</dc:creator>
				<category><![CDATA[Geeky Peawee]]></category>
		<category><![CDATA[Life of Peawee]]></category>
		<category><![CDATA[fortran]]></category>
		<category><![CDATA[improvement]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[proverb]]></category>
		<category><![CDATA[science]]></category>
		<category><![CDATA[superfuntime]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://peawee.net/?p=82</guid>
		<description><![CDATA[I work professionally as a programmer at an atmospheric science department at a major university.  One of the biggest things about atmospheric research is our reliance on computers for everything.  While we&#8217;re nowhere near the limit of what we can do with observational data (and indeed in many areas, observational data is woefully [...]]]></description>
			<content:encoded><![CDATA[<p>I work professionally as a programmer at an atmospheric science department at a major university.  One of <em>the</em> biggest things about atmospheric research is our reliance on computers for everything.  While we&#8217;re nowhere near the limit of what we can do with observational data (and indeed in many areas, observational data is woefully short), there are so many things we simply cannot do in laboratory experiments.  Because we can&#8217;t reproduce most things in a laboratory setting, we&#8217;re stuck creating computer models.  That&#8217;s fine.  However, the result of this is that we are almost an applied computer science field with how much we have to wrangle computers day in and day out.</p>
<p>What troubles me is that, at least in my place of employment, <em>practically no-one really understands computers</em>.  </p>
<p>I work in a primarily Fortran shop, which many of you would think &#8220;well, there&#8217;s your problem right there.&#8221;  Not so much, as there&#8217;s a huge literature of already perfected Fortran code to solve nearly every tricky numerical gymnastics problem you can think of (and twice that number of ones you can&#8217;t think of).  Fortran90/95&#8217;s greatest win, and flaw, is that it has <em>incredible</em> backwards compatibility with old FORTRAN77 code (and even some FORTRAN66!).  Re-writing the millions of lines of FORTRAN77 that passes through the department on a semi-regular basis would be costly in sanity, time, and money.</p>
<p>But what about how you work with that code?  Some of us know a certain friend of mine who sat up for hours manually inserting rows into a dataset to account for missing time in hourly reports.  It&#8217;d have taken half an hour to whip up a MATLAB script and have it loop through the dataset.  Almost nobody uses any form of version control (those that do have a sea of directories resembling <code>projectname_vers-num</code>, with <em>num</em> being their revision number), and most of the Unix programming is done through running VIM in vi compatibility mode.  Changing an identifier within the code from one to another is typically a day-long affair for most (hint: it should take perhaps 5 minutes, 10 if the SAN is feeling sluggish), and inter-routine data dependencies are best described as a maze of twisty passages, all alike.  Makefiles are written in a manner where it&#8217;s a requirement to run &#8220;make clean&#8221; before any recompile, and some folks swear by Intel Fortran&#8217;s <code>-save</code> flag, which makes all local variables static.  That flag is used entirely for its side effect of initializing all local variables to zero, however, and not a thought is given for the actual effects.</p>
<p>This is actually a rather sad, sad state we&#8217;re in right now.  It isn&#8217;t anyone&#8217;s fault, either.  There&#8217;s no overarching culture of programming and software engineering at my place of employment, so there&#8217;s not many examples of folks &#8220;doing it better&#8221;, with those of us who <em>are</em> being categorized as &#8220;Oh, but you&#8217;re one of those crazy geeks who just know how to do it.&#8221;</p>
<p>I&#8217;m one of those crazy geeks because I sat down and forced myself to learn how to do it, because I saw that it would pay off, in dividends.  It has, too.</p>
<p>I&#8217;m not trying to claim I&#8217;m some wunderkind, either.  There&#8217;s gaping holes in my expertise and practice that hinder me daily (which I&#8217;m trying to correct).  What does it come down to for me?  Right now, I&#8217;m sitting down and reading the GNU Emacs manual.  I can&#8217;t be arsed to dig up my copy of <em><a href="http://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X">The Pragmatic Programmer</a></em>, but there is a section in there that says one should really master a text editor.  I&#8217;ve taken it to heart, and with my limited time, that&#8217;s my &#8220;journey of a thousand miles starting with a single step.&#8221;</p>
<p>What have <em>you</em> done to be a better programmer today?</p>
]]></content:encoded>
			<wfw:commentRss>http://peawee.net/2008/10/21/academented-programming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
