<?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>Reflections, Ideas, and Dreams &#187; computing</title>
	<atom:link href="http://haqqmisra.wordpress.com/category/computing/feed/" rel="self" type="application/rss+xml" />
	<link>http://haqqmisra.wordpress.com</link>
	<description>We are but a single member of a cosmic community whose extent reaches farther than imagination.</description>
	<lastBuildDate>Wed, 25 Nov 2009 09:55:40 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='haqqmisra.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/85743a1252ab899f851b6bb1e469e851?s=96&#038;d=http://s2.wp.com/i/buttonw-com.png</url>
		<title>Reflections, Ideas, and Dreams &#187; computing</title>
		<link>http://haqqmisra.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://haqqmisra.wordpress.com/osd.xml" title="Reflections, Ideas, and Dreams" />
	<atom:link rel='hub' href='http://haqqmisra.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Stochastic March Madness</title>
		<link>http://haqqmisra.wordpress.com/2008/03/19/stochastic-march-madness/</link>
		<comments>http://haqqmisra.wordpress.com/2008/03/19/stochastic-march-madness/#comments</comments>
		<pubDate>Thu, 20 Mar 2008 02:45:08 +0000</pubDate>
		<dc:creator>Jacob</dc:creator>
				<category><![CDATA[computing]]></category>
		<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://blog.gravityatwork.com/?p=593</guid>
		<description><![CDATA[I&#8217;m not a huge college basketball fan, but I am a sucker for statistics and random numbers. To predict my bracket for this year&#8217;s NCAA tournament, I wanted to improve upon the technique of a weighted coin prediction based on each team&#8217;s standing, so I used the log5 method (HT: Action Allen) to estimate a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=haqqmisra.wordpress.com&blog=1844921&post=593&subd=haqqmisra&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not a huge college basketball fan, but I am a sucker for statistics and random numbers. To predict my bracket for this year&#8217;s NCAA tournament, I wanted to improve upon the technique of a <a href="http://blog.gravityatwork.com/2006/11/09/weighted-coin-predictions/">weighted coin prediction</a> based on each team&#8217;s standing, so I used the <a href="http://www.diamond-mind.com/articles/playoff2002.htm">log5 method</a> (HT: <a href="http://actionallen.blogspot.com/2008/03/how-not-to-put-together-ncaa-tournament.html">Action Allen</a>) to estimate a winning percentage of team A over team B, given each team&#8217;s record. </p>
<p>Instead of a single weighted coin flip, though, I ran a random number of trials between 0 and the percent chance of team A losing. For example, if team A has a 90% probability of defeating team B, then the predicted winner will succeed in the best of up to 10 trials, whereas a 50% chance would mean anywhere from 0 to 50 trials. (Python code for the algorithm appears below, where the inputs A and B are the season win percentages of two teams.)</p>
<p>This method is advantageous because it generally favors stronger teams while predicting likely candidates for upsets in the 50-60% range. My bracket predicts Tennessee, Kansas, Memphis, and UCLA in the final four, with Memphis taking it all. I probably won&#8217;t watch many of the games, but I&#8217;m curious to see how my predictions turn out.</p>
<p>&nbsp;</p>
<p><code>
<pre>
import random

def gamePredict(A, B):
   Agamewin = (A - A*B) / (A + B - 2*A*B)
   Agamelose = 1 - Agamewin

   numgames = random.randint(0, round(Agamelose*100))
   Awincount = Alosecount = 0
   for i in range(0, numgames):
      game = random.random()
      if (Agamewin &gt; game):
         Awincount = Awincount + 1
      else:
         Alosecount = Alosecount + 1

   if (Awincount &gt; Alosecount):
      return True
   elif (Awincount &lt; Alosecount):
      return False
   else:
      return gamePredict(A, B)  # Rematch!
</pre>
<p></code></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/haqqmisra.wordpress.com/593/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/haqqmisra.wordpress.com/593/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/haqqmisra.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/haqqmisra.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/haqqmisra.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/haqqmisra.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/haqqmisra.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/haqqmisra.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/haqqmisra.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/haqqmisra.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/haqqmisra.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/haqqmisra.wordpress.com/593/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=haqqmisra.wordpress.com&blog=1844921&post=593&subd=haqqmisra&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://haqqmisra.wordpress.com/2008/03/19/stochastic-march-madness/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/68c86d6f68fb1fa0ca4e5c6bcfff3a69?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">haqqmisra</media:title>
		</media:content>
	</item>
		<item>
		<title>Timescale</title>
		<link>http://haqqmisra.wordpress.com/2008/02/06/timescale/</link>
		<comments>http://haqqmisra.wordpress.com/2008/02/06/timescale/#comments</comments>
		<pubDate>Wed, 06 Feb 2008 23:15:08 +0000</pubDate>
		<dc:creator>Jacob</dc:creator>
				<category><![CDATA[computing]]></category>
		<category><![CDATA[evolution]]></category>
		<category><![CDATA[perception]]></category>

		<guid isPermaLink="false">http://blog.gravityatwork.com/?p=571</guid>
		<description><![CDATA[Comprehending exponential timescales is one of the greater challenges of the human mind. As Brent pointed out:
You need a thorough understanding of the multiple levels of computing.&#160; Programming requires understanding more levels of complexity than a mathematician, physicist, chemist, or structural engineer.
Cosmology and astrophysics as well require similar comprehension of scale from atomic fusion to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=haqqmisra.wordpress.com&blog=1844921&post=571&subd=haqqmisra&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Comprehending exponential timescales is one of the greater challenges of the human mind. As <a href="http://blog.gravityatwork.com/2008/01/07/so-you-have-to-program-computers-but-never-really-learned-how/">Brent pointed out</a>:</p>
<blockquote><p>You need a thorough understanding of the <a href="http://en.wikipedia.org/wiki/Computer_science#Fields_of_computer_science" id="nqxf" target="_blank" title="multiple levels of computing">multiple levels of computing</a>.&nbsp; Programming <b>requires understanding more levels of complexity</b> than a mathematician, physicist, chemist, or structural engineer.</p></blockquote>
<p>Cosmology and astrophysics as well require similar comprehension of scale from atomic fusion to stellar and galactic furnaces, and to a lesser extent geology depends on understanding the vast ages of the planet and universe. </p>
<p>Magnitudes such as these are difficult to understand fully, which I think contributes to the continuing challenges in the classroom over the theory of evolution. A majority of Americans do not fully accept the implications of common descent, preferring views which maintain a <i>special</i> status for humans, partially because it is difficult for most people to conceive of a time when there were no humans! Thinking about the world ten million years ago is daily work for a geologist, but it is nearly inconceivable for many others.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/haqqmisra.wordpress.com/571/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/haqqmisra.wordpress.com/571/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/haqqmisra.wordpress.com/571/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/haqqmisra.wordpress.com/571/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/haqqmisra.wordpress.com/571/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/haqqmisra.wordpress.com/571/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/haqqmisra.wordpress.com/571/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/haqqmisra.wordpress.com/571/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/haqqmisra.wordpress.com/571/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/haqqmisra.wordpress.com/571/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/haqqmisra.wordpress.com/571/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/haqqmisra.wordpress.com/571/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=haqqmisra.wordpress.com&blog=1844921&post=571&subd=haqqmisra&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://haqqmisra.wordpress.com/2008/02/06/timescale/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/68c86d6f68fb1fa0ca4e5c6bcfff3a69?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">haqqmisra</media:title>
		</media:content>
	</item>
		<item>
		<title>Programming and Falsification</title>
		<link>http://haqqmisra.wordpress.com/2008/02/01/programming-and-falsification/</link>
		<comments>http://haqqmisra.wordpress.com/2008/02/01/programming-and-falsification/#comments</comments>
		<pubDate>Fri, 01 Feb 2008 23:22:30 +0000</pubDate>
		<dc:creator>Jacob</dc:creator>
				<category><![CDATA[computing]]></category>
		<category><![CDATA[knowledge]]></category>

		<guid isPermaLink="false">http://haqqmisra.wordpress.com/?p=567</guid>
		<description><![CDATA[The falsificationist notion of scientific method states that no theory can be purported to be absolutely true, for science advances in knowledge by demonstrating theories to be false. Under this paradigm we cannot gain positive knowledge but instead learn through the falsification of ideas. This form of learning by trial and error (as opposed to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=haqqmisra.wordpress.com&blog=1844921&post=567&subd=haqqmisra&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://blog.gravityatwork.com/2007/12/06/scientific-method/">falsificationist notion of scientific method</a> states that no theory can be purported to be absolutely <i>true</i>, for science advances in knowledge by demonstrating theories to be <i>false</i>. Under this paradigm we cannot gain positive knowledge but instead learn through the falsification of ideas. This form of learning by trial and error (as opposed to <a href="http://en.wikipedia.org/wiki/Problem_of_induction">induction</a>) applies not only to science but also to any form of human knowledge.</p>
<p>When developing a computer program, for example, there is (almost) no way to prove the correctness of your code. Mathematical functions (and to a lesser extent, certain algorithms) can sometimes be proven equivalent to one another&#8211;for example, the functions f(x) = 2x and g(x) = 3x &#8211; 1x are equivalent&#8211;but the same procedure cannot be easily applied to code. Even if I write a simple procedure that takes as input any integer and returns an integer as output, I will never be able to <i>prove</i> the correctness of my program when compared to another method of calculating the same values. Instead, computer code improves by falsification: whenever your code behaves incorrectly you know that something must be wrong. Fixing the problem does not guarantee that the code is now perfect, but at least you can (hopefully) say the code is <i>more correct</i> (or less false) than the previous version. </p>
<p>(As a caveat to the above discussion, there are a small class of programs that can be shown to produce identical output when the limits of machine precision are taken into account. On any architecture there is a finite limit to the range of integers and real numbers, so for two procedures that output integers a case-by-case comparison could eventually determine agreement. This still does not prove correctness, though, as you can always get the right result for the wrong reason.)</p>
<p>Development of defect-free code, then, is a process, not a destination. Mediocre programmers think they&#8217;ve got things right, but good programmers have the ability to cleverly break their code in new ways and approach the limit of unattainable perfection.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/haqqmisra.wordpress.com/567/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/haqqmisra.wordpress.com/567/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/haqqmisra.wordpress.com/567/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/haqqmisra.wordpress.com/567/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/haqqmisra.wordpress.com/567/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/haqqmisra.wordpress.com/567/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/haqqmisra.wordpress.com/567/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/haqqmisra.wordpress.com/567/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/haqqmisra.wordpress.com/567/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/haqqmisra.wordpress.com/567/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/haqqmisra.wordpress.com/567/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/haqqmisra.wordpress.com/567/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=haqqmisra.wordpress.com&blog=1844921&post=567&subd=haqqmisra&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://haqqmisra.wordpress.com/2008/02/01/programming-and-falsification/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/68c86d6f68fb1fa0ca4e5c6bcfff3a69?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">haqqmisra</media:title>
		</media:content>
	</item>
		<item>
		<title>Gravatars</title>
		<link>http://haqqmisra.wordpress.com/2008/02/01/gravatars/</link>
		<comments>http://haqqmisra.wordpress.com/2008/02/01/gravatars/#comments</comments>
		<pubDate>Fri, 01 Feb 2008 05:27:12 +0000</pubDate>
		<dc:creator>Jacob</dc:creator>
				<category><![CDATA[computing]]></category>
		<category><![CDATA[meta]]></category>

		<guid isPermaLink="false">http://haqqmisra.wordpress.com/?p=566</guid>
		<description><![CDATA[I enabled display of avatars for &#8220;recent comments&#8221; in the left sidebar. The folks at WordPress.com enabled global support for Gravatars (globally recognized avatars), so now you can all show off your stylized personal images next to your comments.
Gravatars are linked to your email address, so whenever you enter a comment on a blog (any [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=haqqmisra.wordpress.com&blog=1844921&post=566&subd=haqqmisra&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I enabled display of avatars for &#8220;recent comments&#8221; in the left sidebar. The folks at WordPress.com enabled global support for <a href="http://site.gravatar.com/">Gravatars</a> (globally recognized avatars), so now you can all show off your stylized personal images next to your comments.</p>
<p>Gravatars are linked to your email address, so whenever you enter a comment on a blog (<i>any</i> blog with Gravatar support) your avatar is automatically linked to your comment. Pretty sleek&#8211;get your <a href="http://site.gravatar.com/">Gravatar</a> if you already haven&#8217;t!</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/haqqmisra.wordpress.com/566/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/haqqmisra.wordpress.com/566/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/haqqmisra.wordpress.com/566/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/haqqmisra.wordpress.com/566/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/haqqmisra.wordpress.com/566/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/haqqmisra.wordpress.com/566/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/haqqmisra.wordpress.com/566/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/haqqmisra.wordpress.com/566/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/haqqmisra.wordpress.com/566/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/haqqmisra.wordpress.com/566/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/haqqmisra.wordpress.com/566/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/haqqmisra.wordpress.com/566/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=haqqmisra.wordpress.com&blog=1844921&post=566&subd=haqqmisra&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://haqqmisra.wordpress.com/2008/02/01/gravatars/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/68c86d6f68fb1fa0ca4e5c6bcfff3a69?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">haqqmisra</media:title>
		</media:content>
	</item>
		<item>
		<title>So you have to program computers but never really learned how&#8230;</title>
		<link>http://haqqmisra.wordpress.com/2008/01/07/so-you-have-to-program-computers-but-never-really-learned-how/</link>
		<comments>http://haqqmisra.wordpress.com/2008/01/07/so-you-have-to-program-computers-but-never-really-learned-how/#comments</comments>
		<pubDate>Mon, 07 Jan 2008 16:49:45 +0000</pubDate>
		<dc:creator>Jacob</dc:creator>
				<category><![CDATA[computing]]></category>
		<category><![CDATA[knowledge]]></category>

		<guid isPermaLink="false">http://blog.gravityatwork.com/2008/01/07/so-you-have-to-program-computers-but-never-really-learned-how/</guid>
		<description><![CDATA[Today&#8217;s guest entry comes to you courtesy of Brent Miller.
Who is the author of this essay?
Jacob asked me to write about my experiences learning how to write software and computer codes.&#160; I got a B.S. in Computer Science from the University of Minnesota; managing to cram the &#8220;4 year&#8221; computer science part of the program [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=haqqmisra.wordpress.com&blog=1844921&post=547&subd=haqqmisra&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p><i>Today&#8217;s guest entry comes to you courtesy of <a href="http://www.e128.info/">Brent Miller</a>.</i></p>
<p><b>Who is the author of this essay?</b></p>
<p>Jacob asked me to write about my experiences learning how to write software and computer codes.&nbsp; I got a B.S. in Computer Science from the University of Minnesota; managing to cram the &#8220;4 year&#8221; computer science part of the program in to 6 semesters.&nbsp; I was 100% ignorant of how to program computers on the first day of college.&nbsp; 6.3 years later, a degree, 2 scientific programming internships (<a href="http://ahpcrc.org/" id="hcj2" target="_blank" title="AHPCRC">AHPCRC</a>, and <a href="http://www.arl.hpc.mil/SciVis/index.html" id="mdz5" target="_blank" title="ARL">ARL</a>), and 2.25 years of enterprise business software development, I&#8217;m 95% ignorant of how to program computers.&nbsp; If it were up to me, anybody who&#8217;ll eventually program a computer should have at least 10 semesters worth of classes to take.</p>
<p><b>What is programming?</b></p>
<p>Read the <a href="http://en.wikipedia.org/wiki/Computer_programming" id="fo3a" target="_blank" title="Wikipedia article">Wikipedia article</a> if you want to learn a definition without understanding it.&nbsp; I&#8217;ll focus on scientific programming in this essay.&nbsp; Your predecessors think programming is nothing but a tool to compute values.&nbsp; They are correct.&nbsp; Programming is a nothing but a tool to do work more efficiently.&nbsp; <b>This is not as simple as others make it sound.</b></p>
<p>Programming is not the language you use.&nbsp; I repeat: the language you use does not matter at the highest level.&nbsp; Please note I said level.&nbsp; Programming is about <b>levels of complexity</b> and layers of abstraction.&nbsp; Computing basic math is suitable in any language on modern hardware.&nbsp; Computing huge simulations is <b>not </b>suitable in many languages.&nbsp; The fundamental lesson to learn from these two statements is for programming to be a tool, you have to know what the right tool is for the current task.</p>
<p><b>How do I determine the right tools?</b></p>
<p>Answer: You need a thorough understanding of the <a href="http://en.wikipedia.org/wiki/Computer_science#Fields_of_computer_science" id="nqxf" target="_blank" title="multiple levels of computing">multiple levels of computing</a>.&nbsp; Programming <b>requires understanding more levels of complexity</b><sup>1</sup> than a mathematician, physicist, chemist, or structural engineer.</p>
<p>You took the required intro to programming course(s), right?&nbsp; In my experience at <a href="http://www.cs.umn.edu/" id="dkbb" target="_blank" title="UMN">UMN</a>, these classes for non-Computer Science majors suck and the students retain nothing.&nbsp; So, how do you regain that knowledge now that you have to write scientific codes for your primary research field?&nbsp; What if the professor that taught it doesn&#8217;t even like programming and therefore didn&#8217;t teach you everything you <b>should </b>know?&nbsp; What if you find yourself needing to read and write codes to do your graduate level work?</p>
<p>Well, <b>you&#8217;re screwed</b> if you don&#8217;t take the initiative to correct the mistakes of the current system.&nbsp; I could discuss the inadequacies of the university system in another essay, but that won&#8217;t help us here.&nbsp; universities do not teach students how to program well.&nbsp; They simply use programming to help demonstrate computer related principles.&nbsp; Computer Science is not the same as Software Engineering/Development.&nbsp; Computer Scientists are not educated to be computer programmers; they are educated to be professional problem solvers with computers.</p>
<p>Let&#8217;s assume you are vaguely familiar with C++ or Java.&nbsp; You know that programming requires a language (which consists of syntax and a grammar at minimum, but often has useful code libraries for repeated tasks).&nbsp; You also know things have to be written in the right order to get the right results.&nbsp; Great.&nbsp; You can now write complex mathematical programs.&nbsp; Wrong.&nbsp;</p>
<p><b>What do I do now?</b></p>
<p>Do not buy a book that claims you can learn how to program <b>well </b>after reading it.&nbsp; You cannot.&nbsp; Programming well comes only from years of experience <b>and the self motivation </b>to continuously improve your craft.&nbsp; Since programming is mostly art and partly math, individual skill determines the sustainability and quality of the codes you write.&nbsp; Why should you care about the long term quality of codes?&nbsp; Because it is <b>more expensive</b> to revise code later than to do it correctly from the start.&nbsp; You must want to do things Right from the start.</p>
<p>Since you need to learn how to read and write code in a short amount of time, you&#8217;ll <b>have to make sacrifices</b>.&nbsp;</p>
<p>You&#8217;ll need to learn the following concepts just so you can <b>begin</b> to understand scientific codes:</p>
<ol>
<li><a href="http://en.wikipedia.org/wiki/Computability_theory_%28computer_science%29" id="jpka" target="_blank" title="Computability theory">Computability theory</a></li>
<li><a href="http://en.wikipedia.org/wiki/Data_structure" id="kxjg" target="_blank" title="Data structures">Data structures</a> and how they influence the codes you write</li>
<li><a href="http://en.wikipedia.org/wiki/Analysis_of_algorithms" id="mwa6" target="_blank" title="Algorithms">Algorithms</a> and their effects</li>
<li><a href="http://en.wikipedia.org/wiki/Accuracy_and_precision" id="bv8x" target="_blank" title="Computers aren't perfect">Computers aren&#8217;t perfect</a></li>
<li>Computers do exactly what you tell them to do, unless physics affects the hardware level, or #4 shows up again from someone else&#8217;s code.</li>
<li><a href="http://en.wikipedia.org/wiki/Abstraction_%28computer_science%29" id="ljar" target="_blank" title="Abstraction">Abstraction</a></li>
<li><b>Reading </b>computer codes is more important than writing computer codes.</li>
<li>Ugly code is often bad code.&nbsp; Codes that look simple are often well written.</li>
<li>Stop thinking in Boolean terms.&nbsp; Most things in computer science depend on other things, so yes/no or true/false logic often misses the big picture, even though computers function on Boolean logic.&nbsp; Abstraction hides this from you.</li>
</ol>
<p>Once your brain stops spinning from dense computer science theory, read Steve McConnell&#8217;s superb book, <a href="http://cc2e.com/" id="o_w5" target="_blank" title="Code Complete (2nd Edition)">Code Complete (2nd Edition)</a> <b>from cover to cover</b>.&nbsp; This book is geared towards business programming, but every bit of advice is completely applicable to scientific programming.&nbsp; It&#8217;s that good of a book.&nbsp; This book should teach you the majority of practical knowledge you&#8217;ll need for your scientific codes.</p>
<p><b>Now what?</b></p>
<p>If you now see that programming computers <b>well</b> is not as trivial as arrogant non-computer scientists think it is, then you&#8217;re on the right path.&nbsp; To help prove this point, I <a href="http://www.e128.info/2007/12/code-performance-measure-everything.html" id="pof9" target="_blank" title="wrote a series of small programs">wrote a series of small programs</a> that all compute a single number.&nbsp; The screenshot in that link shows 1 computation implemented 11 different ways.&nbsp; A couple of them are trivially different, but result in huge performance differences.&nbsp; I <b>needed all 6.3 years</b> of my computer science career to be able to write, measure, and understand the impact of naive codes.</p>
<p>Your intro to programming course(s) were probably a waste of time and taught you the wrong things.&nbsp; Once you grasp the basics as I enumerated above, try some or all of the following help correct your mistake of not getting a B.S. in Computer Science and then deciding on a scientific specialty in which to conduct computational research:</p>
<ol>
<li>Ask an experienced programmer for help and take everything s/he says with a grain of salt.&nbsp; Most of us spew opinions masked as gospel.</li>
<li>Read as many of the <a href="http://episteme.arstechnica.com/eve/forums/a/tpc/f/6330927813/m/839009919831?r=420004029831#420004029831" id="pdh1" target="_blank" title="classic computer science texts">classic computer science texts</a> as you can.</li>
<li>Read and participate in <a href="http://episteme.arstechnica.com/eve/forums/a/frm/f/6330927813" id="u5nz" target="_blank" title="helpful programmer communities">helpful programmer communities</a>.</li>
<li>Take as many undergraduate computer science courses as you can.&nbsp; Start with algorithms, numerical methods, or any other topic immediately relevant to your specialty.</li>
<li>Write simple programs.&nbsp; When I took a Math department cryptography course, I did my homework by hand then wrote small programs to do the exact same computations for me.&nbsp; This teaches you two things at once.</li>
<li>Write more simple programs.&nbsp; The more times you start over on a new program or a rewrite, you <b>should find yourself making improvements</b>.&nbsp; If you don&#8217;t, you&#8217;re not learning or doing something wrong.&nbsp; This is key.&nbsp; <b>If you don&#8217;t see your old code as crap, then you&#8217;re failing to improve. </b>Failing to improve is what separates the horrid programmers from the good/great programmers.</li>
<li>Try a new computer language.&nbsp; You&#8217;ll no longer see programming as a language.&nbsp; This is an important step in the growth process.</li>
<li><a href="http://thedailywtf.com/" id="ipp6" target="_blank" title="Learn what not to do">Learn what not to do</a>.</li>
</ol>
<p><b>Closing thoughts</b></p>
<p>If you treat programming as a simple tool, then you&#8217;ll likely end up with Escherian codes.&nbsp; Don&#8217;t write a line of code until you&#8217;ve mentally solved the problem.&nbsp; If you write the same code over and over, you&#8217;re doing it wrong.&nbsp; Remember abstraction.&nbsp; Simplicity is often an indicator of correctness.&nbsp; If you don&#8217;t know the best way of doing something, <b>then ask</b> someone else.&nbsp; Asking questions in <b>good</b> programmer communities will often yield more knowledge than you originally requested.&nbsp; We like to share experiences so we can advance the discipline.</p>
<p>I participate in the <a href="http://episteme.arstechnica.com/eve/forums/a/frm/f/6330927813" id="cuim" target="_blank" title="Ars OpenForum Programmer's Symposium">Ars OpenForum Programmer&#8217;s Symposium</a> because I truly believe in helping others become better programmers.&nbsp; To further prove this, any of Jacob&#8217;s students or peers are welcome to email me for help or advice.&nbsp; I&#8217;ll do my best to give answers or point you in the right direction.&nbsp; Please get my email address from Jacob.</p>
<p>A good programmer knows s/he will be better tomorrow.</p>
<p align="center">&nbsp;</p>
<p><sup>1</sup>Famous quote from <a href="http://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/EWD1036.html" id="omv4" target="_blank" title="On the cruelty of really teaching computing science">an E.W. Dijkstra talk</a> (italics mine):<br />
&#8220;The town is made up from neighbourhoods, which are structured by streets, which contain buildings, which are made from walls and floors, that are built from bricks, etc. eventually down to the elementary particles. And we have all our specialists along the line, from the town planner, via the architect to the solid state physicist and further. Because, in a sense, the whole is &#8220;bigger&#8221; than its parts, the depth of a hierarchical decomposition is some sort of logarithm of the ratio of the &#8220;sizes&#8221; of the whole and the ultimate smallest parts. From a bit to a few hundred megabytes, from a microsecond to a half an hour of computing confronts us with completely baffling ratio of 10<sup>9</sup>! The programmer is in the unique position that his is the only discipline and profession in which such a gigantic ratio, which totally baffles our imagination, has to be bridged by a single technology. <i>He has to be able to think in terms of conceptual hierarchies</i> that are much deeper than a single mind ever needed to face before. Compared to that number of semantic levels, the average mathematical theory is almost flat. By evoking the need for deep conceptual hierarchies, the automatic computer confronts us with a <i>radically new intellectual challenge</i> that has no precedent in our history.&#8221;</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/haqqmisra.wordpress.com/547/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/haqqmisra.wordpress.com/547/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/haqqmisra.wordpress.com/547/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/haqqmisra.wordpress.com/547/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/haqqmisra.wordpress.com/547/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/haqqmisra.wordpress.com/547/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/haqqmisra.wordpress.com/547/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/haqqmisra.wordpress.com/547/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/haqqmisra.wordpress.com/547/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/haqqmisra.wordpress.com/547/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/haqqmisra.wordpress.com/547/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/haqqmisra.wordpress.com/547/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=haqqmisra.wordpress.com&blog=1844921&post=547&subd=haqqmisra&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://haqqmisra.wordpress.com/2008/01/07/so-you-have-to-program-computers-but-never-really-learned-how/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/68c86d6f68fb1fa0ca4e5c6bcfff3a69?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">haqqmisra</media:title>
		</media:content>
	</item>
		<item>
		<title>Art of the Webcomic</title>
		<link>http://haqqmisra.wordpress.com/2007/12/27/art-of-the-webcomic/</link>
		<comments>http://haqqmisra.wordpress.com/2007/12/27/art-of-the-webcomic/#comments</comments>
		<pubDate>Thu, 27 Dec 2007 08:26:51 +0000</pubDate>
		<dc:creator>Jacob</dc:creator>
				<category><![CDATA[computing]]></category>
		<category><![CDATA[culture]]></category>
		<category><![CDATA[humor]]></category>

		<guid isPermaLink="false">http://blog.gravityatwork.com/2007/12/27/art-of-the-webcomic/</guid>
		<description><![CDATA[
&#160;
From the afterward in The Calvin and Hobbes Lazy Sunday Book (1989):
Long ago the Sunday comics were printed the size of an entire newspaper page. Each comic was like a color poster. Not surprisingly, with all that space to fill, cartoonists produced works of incredible beauty and power that we just don&#8217;t see anymore, now [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=haqqmisra.wordpress.com&blog=1844921&post=530&subd=haqqmisra&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div align="center"><img src="http://haqqmisra.files.wordpress.com/2007/12/calivn_cannibalism.gif?w=475" width="475"></div>
<p align="center">&nbsp;</p>
<p>From the afterward in <i>The Calvin and Hobbes Lazy Sunday Book</i> (1989):</p>
<blockquote><p>Long ago the Sunday comics were printed the size of an entire newspaper page. Each comic was like a color poster. Not surprisingly, with all that space to fill, cartoonists produced works of incredible beauty and power that we just don&#8217;t see anymore, now that strips are a third or a quarter of their former size&#8230; All the things that make comics fun to read&#8211;the stories, the dialogue, the pictures&#8211;have gotten simpler and simpler in order to keep the work legible at smaller and smaller sizes. The art form has been in a process of retrograde evolution for decades. For those of us trying to return some of the childhood fun we had marveling at comic drawings, the opportunities today are discouraging.</p></blockquote>
<p>I like to think that Bill Watterson is pleasantly surprised with the flourishing success of web-based comics. The economies of newspapers may have drained comics of their original unrestricted creativity, but the free expression of the Internet provides an outlet for even the most underrepresented comic artist to showcase the full extent of their work. The full-featured Sunday comics of Watterson&#8217;s youth may never make a resurgence, yet I think the movement toward online consumerism will revive the spirit of Watterson&#8217;s vision in a way almost unthinkable when he wrote those words nearly twenty years ago.</p>
<p>This place is magical.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/haqqmisra.wordpress.com/530/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/haqqmisra.wordpress.com/530/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/haqqmisra.wordpress.com/530/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/haqqmisra.wordpress.com/530/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/haqqmisra.wordpress.com/530/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/haqqmisra.wordpress.com/530/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/haqqmisra.wordpress.com/530/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/haqqmisra.wordpress.com/530/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/haqqmisra.wordpress.com/530/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/haqqmisra.wordpress.com/530/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/haqqmisra.wordpress.com/530/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/haqqmisra.wordpress.com/530/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=haqqmisra.wordpress.com&blog=1844921&post=530&subd=haqqmisra&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://haqqmisra.wordpress.com/2007/12/27/art-of-the-webcomic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/68c86d6f68fb1fa0ca4e5c6bcfff3a69?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">haqqmisra</media:title>
		</media:content>

		<media:content url="http://haqqmisra.files.wordpress.com/2007/12/calivn_cannibalism.gif" medium="image" />
	</item>
		<item>
		<title>Wikipedia and Human Nature</title>
		<link>http://haqqmisra.wordpress.com/2007/12/11/wikipedia-and-human-nature/</link>
		<comments>http://haqqmisra.wordpress.com/2007/12/11/wikipedia-and-human-nature/#comments</comments>
		<pubDate>Tue, 11 Dec 2007 23:20:43 +0000</pubDate>
		<dc:creator>Jacob</dc:creator>
				<category><![CDATA[computing]]></category>
		<category><![CDATA[culture]]></category>

		<guid isPermaLink="false">http://blog.gravityatwork.com/2007/12/11/wikipedia-and-human-nature/</guid>
		<description><![CDATA[The tremendous success of the Wikipedia project is familiar to regular Internet consumers, but the project is not without its critics. Though many people voice concern or dissatisfaction with the open content encyclopedia, the critics I tend to run into seem to be older and infrequent Internet users who raise two primary objections:
1) Why would [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=haqqmisra.wordpress.com&blog=1844921&post=513&subd=haqqmisra&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>The tremendous success of <a href="http://en.wikipedia.org/wiki/Wikipedia">the Wikipedia project</a> is familiar to regular Internet consumers, but the project is not without its critics. Though many people voice concern or dissatisfaction with the open content encyclopedia, the critics I tend to run into seem to be older and infrequent Internet users who raise two primary objections:</p>
<p>1) Why would anyone freely contribute without motivation?</p>
<p>2) Won&#8217;t the intent of malicious users detract from accuracy?</p>
<p>Thus far, the success of open content (as well as <a href="http://blog.gravityatwork.com/2006/08/23/the-culture-of-open-source/">open source</a>) projects stands in opposition to these objections. Granted, some degree of moderation occurs to prevent large-scale corruption, but as a whole open content seems to <i>work</i>. The objections above, at least for some people, may stem from particular assumptions about the typical behavior of human beings&#8211;whether religious values or secular perceptions&#8211;but widespread use of the Internet provides a different perspective regarding <i>human nature</i>. Regarding the concerns above:</p>
<p>1) Human beings are not exclusively motivated by greed. Other factors (the quest for knowledge, the desire to share) often achieve greater importance, even if these factors do not translate directly to an accumulation of wealth.</p>
<p>2) People are not inherently malicious. Though malicious individuals exist, they are the minority of a genuinely good population.</p>
<p>Of course, the sample space of open content users does not encompass the entirety of humanity; perhaps chaos would ensue if everyone on Earth were given Internet access and free reign. Nevertheless, I am optimistic that collaborative Internet initiatives will play an important role in shaping a culture previously defined largely by corporate and religious dogma.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/haqqmisra.wordpress.com/513/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/haqqmisra.wordpress.com/513/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/haqqmisra.wordpress.com/513/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/haqqmisra.wordpress.com/513/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/haqqmisra.wordpress.com/513/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/haqqmisra.wordpress.com/513/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/haqqmisra.wordpress.com/513/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/haqqmisra.wordpress.com/513/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/haqqmisra.wordpress.com/513/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/haqqmisra.wordpress.com/513/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/haqqmisra.wordpress.com/513/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/haqqmisra.wordpress.com/513/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=haqqmisra.wordpress.com&blog=1844921&post=513&subd=haqqmisra&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://haqqmisra.wordpress.com/2007/12/11/wikipedia-and-human-nature/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/68c86d6f68fb1fa0ca4e5c6bcfff3a69?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">haqqmisra</media:title>
		</media:content>
	</item>
		<item>
		<title>Special Cases</title>
		<link>http://haqqmisra.wordpress.com/2007/09/25/special-cases/</link>
		<comments>http://haqqmisra.wordpress.com/2007/09/25/special-cases/#comments</comments>
		<pubDate>Tue, 25 Sep 2007 21:33:00 +0000</pubDate>
		<dc:creator>Jacob</dc:creator>
				<category><![CDATA[computing]]></category>
		<category><![CDATA[perception]]></category>

		<guid isPermaLink="false">http://haqqmisra.wordpress.com/2007/09/25/special-cases/</guid>
		<description><![CDATA[The exception to the rule often draws the most attention. This extra attention, though, does not imply extra importance.
Our minds often fixate upon that which requires the most attention, clouding our vision of the grander scheme.
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=haqqmisra.wordpress.com&blog=1844921&post=37&subd=haqqmisra&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>The exception to the rule often draws the most attention. This extra attention, though, does not imply extra importance.</p>
<p>Our minds often fixate upon that which requires the most attention, clouding our vision of the grander scheme.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/haqqmisra.wordpress.com/37/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/haqqmisra.wordpress.com/37/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/haqqmisra.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/haqqmisra.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/haqqmisra.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/haqqmisra.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/haqqmisra.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/haqqmisra.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/haqqmisra.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/haqqmisra.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/haqqmisra.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/haqqmisra.wordpress.com/37/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=haqqmisra.wordpress.com&blog=1844921&post=37&subd=haqqmisra&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://haqqmisra.wordpress.com/2007/09/25/special-cases/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/68c86d6f68fb1fa0ca4e5c6bcfff3a69?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">haqqmisra</media:title>
		</media:content>
	</item>
		<item>
		<title>Find the Seed</title>
		<link>http://haqqmisra.wordpress.com/2007/09/18/find-the-seed/</link>
		<comments>http://haqqmisra.wordpress.com/2007/09/18/find-the-seed/#comments</comments>
		<pubDate>Tue, 18 Sep 2007 17:21:00 +0000</pubDate>
		<dc:creator>Jacob</dc:creator>
				<category><![CDATA[computing]]></category>
		<category><![CDATA[memory]]></category>

		<guid isPermaLink="false">http://haqqmisra.wordpress.com/2007/09/18/find-the-seed/</guid>
		<description><![CDATA[Mathematics: Begin with a sequence of numbers with maximum = MAX, minimum = MIN, and length = LEN. Given a random number generator with a range [MIN, MAX], find a seed that will generate the LEN numbers of the initial sequence. (I used this technique when developing the Stocalculator.)
Personal History: Begin with an interest, idea, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=haqqmisra.wordpress.com&blog=1844921&post=32&subd=haqqmisra&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Mathematics:</strong> Begin with a sequence of numbers with maximum = MAX, minimum = MIN, and length = LEN. Given a <a href="http://en.wikipedia.org/wiki/Pseudorandom_number_generator">random number generator</a> with a range [MIN, MAX], find a <a href="http://en.wikipedia.org/wiki/Random_seed">seed</a> that will generate the LEN numbers of the initial sequence. (I used this technique when developing the <a href="http://blog.gravityatwork.com/2007/06/20/the-stocalculator/">Stocalculator</a>.)</p>
<p><strong>Personal History:</strong> Begin with an interest, idea, interest, outlook, passion, belief, or philosophy you currently hold. Given the history of events that have transpired in your life, find the initial event (or seed) that generated the sequence of events leading to your present state.</p>
<p>Creating a personal history timeline is an interesting and insightful game to play. Some of these seed events can be easily identified , while others can only be confined to a range of a year or so&#8211;if at all; the complexity and inter-dependence of life&#8217;s experiences can make finding initial seeds a daunting task. But it&#8217;s still fun to try.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/haqqmisra.wordpress.com/32/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/haqqmisra.wordpress.com/32/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/haqqmisra.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/haqqmisra.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/haqqmisra.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/haqqmisra.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/haqqmisra.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/haqqmisra.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/haqqmisra.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/haqqmisra.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/haqqmisra.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/haqqmisra.wordpress.com/32/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=haqqmisra.wordpress.com&blog=1844921&post=32&subd=haqqmisra&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://haqqmisra.wordpress.com/2007/09/18/find-the-seed/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/68c86d6f68fb1fa0ca4e5c6bcfff3a69?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">haqqmisra</media:title>
		</media:content>
	</item>
		<item>
		<title>PSA: The GOTO Command</title>
		<link>http://haqqmisra.wordpress.com/2007/08/02/psa-the-goto-command/</link>
		<comments>http://haqqmisra.wordpress.com/2007/08/02/psa-the-goto-command/#comments</comments>
		<pubDate>Thu, 02 Aug 2007 20:25:00 +0000</pubDate>
		<dc:creator>Jacob</dc:creator>
				<category><![CDATA[computing]]></category>

		<guid isPermaLink="false">http://blog.gravityatwork.com/2007/08/02/psa-the-goto-command/</guid>
		<description><![CDATA[       PROGRAM GOTO_EXHORTATION
       GOTO 48
   29  PRINT *, "could one little GOTO statement do? The downside"
       GOTO 55
   13  PRINT *, "think of the children."
       [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=haqqmisra.wordpress.com&blog=1844921&post=61&subd=haqqmisra&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<pre>       PROGRAM GOTO_EXHORTATION
       GOTO 48
   29  PRINT *, "could one little GOTO statement do? The downside"
       GOTO 55
   13  PRINT *, "think of the children."
       STOP
   84  PRINT *, "have been left to die a quiet and forgotten death."
       GOTO 99
   66  PRINT *, "indented. A simple GOTO statement now may save a"
       GOTO 74
   47  PRINT *, "the problem to the next generation. Please,"
       GOTO 13
   18  PRINT *, "GOTO command. In this day and age, though, there are a"
       GOTO 39
   27  PRINT *, "revived by an unwary programmer--after all, what harm"
       GOTO 29
   55  PRINT *, "may not be immediately apparent, once other people"
       GOTO 11
   34  PRINT *, "nightmares will ensue. And depending on the field or"
       GOTO 98
   48  PRINT *, "Many years ago, it may have been reasonable to use the"
       GOTO 18
   39  PRINT *, "plethora of program flow structures that GOTO should"
       GOTO 84
   98  PRINT *, "industry, legacy code can persist for much longer than"
       GOTO 66
   99  PRINT *, "Nevertheless, this ancient command is occasionally"
       GOTO 27
   11  PRINT *, "become involved in reading and maintaining the code"
       GOTO 34
   74  PRINT *, "few minutes of time, but you're really just passing"
       GOTO 47
       END PROGRAM</pre>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/haqqmisra.wordpress.com/61/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/haqqmisra.wordpress.com/61/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/haqqmisra.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/haqqmisra.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/haqqmisra.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/haqqmisra.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/haqqmisra.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/haqqmisra.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/haqqmisra.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/haqqmisra.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/haqqmisra.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/haqqmisra.wordpress.com/61/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=haqqmisra.wordpress.com&blog=1844921&post=61&subd=haqqmisra&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://haqqmisra.wordpress.com/2007/08/02/psa-the-goto-command/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/68c86d6f68fb1fa0ca4e5c6bcfff3a69?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">haqqmisra</media:title>
		</media:content>
	</item>
	</channel>
</rss>