<?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>Theta Code</title>
	<atom:link href="http://thetacode.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://thetacode.com</link>
	<description>Scientology and Computer Programming</description>
	<lastBuildDate>Mon, 23 Apr 2012 05:54:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='thetacode.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Theta Code</title>
		<link>http://thetacode.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://thetacode.com/osd.xml" title="Theta Code" />
	<atom:link rel='hub' href='http://thetacode.com/?pushpress=hub'/>
		<item>
		<title>Complexity and Confronting</title>
		<link>http://thetacode.com/2011/02/02/complexity-and-confronting/</link>
		<comments>http://thetacode.com/2011/02/02/complexity-and-confronting/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 19:00:55 +0000</pubDate>
		<dc:creator>Max Kanat-Alexander</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://theta.codesimplicity.com/?p=43</guid>
		<description><![CDATA[In a policy letter of September 18, 1967 titled &#8220;COMPLEXITY AND CONFRONTING&#8221;, L. Ron Hubbard states: To the degree that a being cannot confront, he enters substitutes which, accumulating, bring about a complexity. The definition of &#8220;confront&#8221; being used there is a Scientology definition: &#8220;to face without flinching or avoiding&#8221; (that&#8217;s from the Dianetics and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetacode.com&amp;blog=35275110&amp;post=43&amp;subd=thetacode&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In a policy letter of September 18, 1967 titled &#8220;COMPLEXITY AND CONFRONTING&#8221;, L. Ron Hubbard states:</p>
<blockquote><p>
To the degree that a being cannot confront, he enters substitutes which, accumulating, bring about a complexity.
</p></blockquote>
<p>The definition of &#8220;confront&#8221; being used there is a Scientology definition: &#8220;to face without flinching or avoiding&#8221; (that&#8217;s from the <em>Dianetics and Scientology Technical Dictionary</em>).</p>
<p>This is the no-holds-barred, fundamental explanation for why some programmers cannot produce simple systems. This is the underlying difference between the great programmer and the terrible programmer&#8211;the degree to which he can <em>confront</em>.</p>
<p>But what is it that these terrible programmers are not confronting that leads to these convoluted, awful systems that we all live with? At first, you might think that it&#8217;s the computer, the keyboard, the monitor&#8211;the simple, obvious things that are right in front of them. But all the programmers I know have no trouble confronting those things. In fact, many programmers are <em>most</em> comfortable facing a computer, and don&#8217;t avoid it in the least. And as L. Ron Hubbard says, people enter substitutes for things that they can&#8217;t confront, and programmers don&#8217;t substitute other things for their computer. In fact, they&#8217;re more likely to use their computer <em>itself</em> as a substitute for <em>other</em> things that they couldn&#8217;t confront.</p>
<p>So what <em>are</em> the things that many or most programmers can&#8217;t confront, that they enter substitutes for?  <span id="more-43"></span></p>
<ul>
<li><strong>PRESENT TIME</strong>
<p>Many programmers cannot confront the present-time environment&#8211;not necessarily the space that they are in while they&#8217;re programming, but the environment that they are designing a system for. Programmers must design <em>only</em> for <em>present-time, fully-known</em> requirements that they have actually discovered by <em>confronting</em> the immediate, real environment that they are designing for. However, instead of this, most programmers enter one of two substitutes for present time: their <em>imagination</em> or <em>opinion</em> about the present time environment, or their <em>imagination</em> about what the <em>future</em> environment will be. In general, it&#8217;s much easier for a person to confront their own thoughts about something than it is to confront the actual thing. In software, though, this leads to disaster (and &#8220;a disaster&#8221; would be how I would describe nearly all of the modern software landscape, truthfully).</p>
<p>When a programmer uses their imagination or opinions about the present to design a system instead of confronting the current reality to <em>learn</em> what needs to be done, they design a system that does not actually fulfill their users&#8217; requirements. This is why so many programmers think that &#8220;all first tries should be thrown away and re-written&#8221;&#8211;because they couldn&#8217;t confront the real environment, so the first system they designed wasn&#8217;t appropriate for reality. Then they delivered it to the users, and the users raised hell because the system was worthless or extremely problematic for them.</p>
<p>When a programmer imagines a future environment instead of confronting present time, they create a system that has features that (a) users <em>don&#8217;t need</em>, (b) is far more complex than it needs to be thanks to these unnecessary features, and (c) does not appropriately fit with the <em>real</em> future when it comes. Most programmers think that all large programs will have to be fully re-written at some point, but this is a <em>false datum</em>. These systems that &#8220;need re-writing&#8221; have been <em>so heavily</em> designed for an imaginary future that when the <em>real</em> future comes, the only workable solution is to throw away the mis-designed system and create a whole new one for the real present. It&#8217;s not that all systems need re-writing, it&#8217;s that almost every system is plagued by programmers who chose to confront an <em>imaginary future</em> instead of the <em>real present</em>.</p>
</li>
<li><strong>USERS</strong>
<p>Programmers are uniformly excellent at confronting machines, technology, and computers. However, far fewer programmers are excellent at confronting users&#8211;the human beings who use their software.</p>
<p>Now, there is a stereotype that all programmers have poor social skills, but I have found that in my experience this is not true. Most programmers are perfectly capable of having standard social interactions with other people. However, what many programmers do <em>not</em> confront is actually communicating with users about the systems they are designing. Much like with present time, instead of finding a user (or a lot of users) and talking to them, surveying them, etc., programmers will frequently <em>imagine</em> a user and then design the system for that imaginary user.</p>
<p>Sometimes this imaginary user is very much like the programmer themselves, or like one of the programmer&#8217;s parents. No matter who this imaginary user is or how intelligent the programmer is at creating them, though, they are <em>not real</em>. Only real users have real requirements&#8211;imaginary users have imaginary requirements that you should <em>not</em> be wasting your time on and complicating your system by implementing.</p>
<p>In fact, it&#8217;s not just enough to confront one user, but to design a truly sensible system, you have to confront <em>lots</em> of users. And you can&#8217;t just bunch them all up in a group and then imagine what that whole group of users thinks&#8211;you have to confront each person in that group of users individually, and communicate with them as an individual to discover the broad patterns and needs across these individuals that will assist you in designing an excellent system.</p>
</li>
<li><strong>DOCUMENTATION</strong>
<p>The number of programmers who just haven&#8217;t read the documentation on things is pretty astounding. Nearly everything there is to know about programming and computers has been written down somewhere, and all you have to do is read it. If you haven&#8217;t used some piece of a programming language before, then read its documentation before you use it. Simple.</p>
<p>The thing that most frequently gets substituted for reading the documentation is copying and pasting other people&#8217;s code without understanding it. That is, the programmer could have spent some time reading up on things so that they understood how to do it themselves, but instead they found some piece of code that &#8220;just works&#8221; and copied it into their system without having actually read any references about it.</p>
<p>This is less common than the other problems listed, but it&#8217;s still a pretty widespread issue.</p>
</li>
<li><strong>NOT KNOWING</strong>
<p>This is actually a broader problem&#8211;probably the whole world has been messed up across billions of people and thousands of years by man&#8217;s inability to confront the fact that there are some things that he <em>does not know</em>. Instead of simply looking at something and saying, &#8220;I don&#8217;t understand that, let&#8217;s find out what it is,&#8221; people will invent explanations and then <em>not</em> investigate. For example, thinking &#8220;that person frowned at me, they must dislike me,&#8221; without ever asking that person if they actually dislike you. Many people will <em>substitute</em> an invented piece of knowledge like this instead of finding out the <em>real</em> knowledge, because it&#8217;s so uncomfortable to &#8220;not know&#8221; that they can&#8217;t do it for long enough to actually <em>find out</em>.</p>
<p>In programmers, I most frequently see this manifested as the assertion that they <em>do</em> know something about the future when in fact they do not. They are so uncomfortable with not knowing what is going to happen that they imagine a future and then design a system based on that.</p>
<p>The same problem happens with user requirements&#8211;it can take a long time to gather user requirements accurately. Until you&#8217;ve gathered them, you don&#8217;t know them. But that rarely stops programmers from saying that they <em>already know</em> what the users need and want. Often this escalates into arguments among several different individuals about how something should be implemented, when in reality all of those individuals have absoultely <em>no</em> solid evidence to support their arguments, but only their opinions. Their opinions were easy to confront, but admitting that they didn&#8217;t yet <em>know</em> the truth was hard to confront.</p>
<p>Before you can know something, you have to first admit that you do not know it.</p>
</li>
</ul>
<p>There are probably other things that programmers could use some help confronting, too, but the above are the most major ones that I&#8217;ve observed across a broad range of projects and skill levels. </p>
<p>The solution here is to simply train programmers to face these things without flinching or avoiding them, and then you will ultimately have reasonable, sane, simple systems that don&#8217;t cause endless trouble for everybody.</p>
<p>-Max</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thetacode.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thetacode.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thetacode.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thetacode.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thetacode.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thetacode.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thetacode.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thetacode.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thetacode.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thetacode.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thetacode.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thetacode.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thetacode.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thetacode.wordpress.com/43/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetacode.com&amp;blog=35275110&amp;post=43&amp;subd=thetacode&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thetacode.com/2011/02/02/complexity-and-confronting/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/688de60d68f318f4300d470c4ee4510b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mkanat</media:title>
		</media:content>
	</item>
		<item>
		<title>Authoritarian Software Design</title>
		<link>http://thetacode.com/2009/12/31/authoritarian-software-design/</link>
		<comments>http://thetacode.com/2009/12/31/authoritarian-software-design/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 10:05:56 +0000</pubDate>
		<dc:creator>Max Kanat-Alexander</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://theta.codesimplicity.com/?p=21</guid>
		<description><![CDATA[In Advanced Procedure and Axioms, L. Ron Hubbard states: Factors introduced into a problem or solution which do not derive from natural law but only from authoritarian command aberrate that problem or solution. In this context, &#8220;aberrate&#8221; means &#8220;[to cause to] depart from rational thought or behavior&#8221; or &#8220;to make something diverge from a straight [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetacode.com&amp;blog=35275110&amp;post=22&amp;subd=thetacode&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In <em>Advanced Procedure and Axioms</em>, L. Ron Hubbard states:</p>
<blockquote><p>
Factors introduced into a problem or solution which do not derive from natural law but only from authoritarian command aberrate that problem or solution.
</p></blockquote>
<p>In this context, &#8220;aberrate&#8221; means &#8220;[to cause to] depart from rational thought or behavior&#8221; or &#8220;to make something diverge from a straight line&#8221; (those definitions are from the <em>Dianetics and Scientology Technical Dictionary</em>).</p>
<p>In my other blogs (<a href="http://www.codesimplicity.com">Code Simplicity</a> and <a href="http://avatraxiom.livejournal.com/tag/tech">my personal blog</a>), if you read them, you may notice that I have a rather poor attitude toward various software design &#8220;methodologies&#8221;, such as &#8220;Agile&#8221; or &#8220;Extreme Programming&#8221;. The attitude comes not from these methodologies being totally wrong&#8211;there are parts of them that are right, for specific circumstances. My anger comes from the fact that these methodologies are so often used as authoritarian pronouncements as to how a piece of software is going to be developed&#8211;they become a &#8220;blind faith&#8221; method of software engineering. Also, they are incomplete and sometimes incorrect, because they don&#8217;t describe natural laws, only methods of operation.</p>
<p><a href="http://www.codesimplicity.com/post/there-is-no-science-of-software/">There is no science of software design</a> in existence and broadly-known, currently, which opens to door to anybody coming along and dropping any authoritarian pronouncement that they like into the field, with an abnormally large number of developers only too eager to slurp up the statements on faith to fill the vacuum of data that exists in software design. </p>
<p>There are few engineering fields more full of authoritarian commands than software. One would expect that somebody would have developed a reasonable science for it all by now, but it doesn&#8217;t seem to be the case. Instead, random, authoritative pronouncements about software seem to be the content of almost every book, blog, and paper on the subject. I&#8217;ve even heard people say that computers are unknowable because they &#8220;operate beyond the limits of our understanding,&#8221; as though they were some mystical thing that could only be understood through magical insight, or something.</p>
<p>This doesn&#8217;t make everybody wrong about software design, and it doesn&#8217;t mean that processes or natural laws are unknowable. Data about software design <em>can</em> be true, when correctly studied, tested, and proven. What this all <em>does</em> mean, though, is that when reading about somebody else&#8217;s ideas on software, you have to ask yourself&#8211;does this idea of theirs derive from natural law, or only from authoritarian command? And if your project is departing from rational thought, you may want to ask yourself&#8211;at some point, did we buy an authoritarian command instead of relying on a natural law? And if so, what <em>is</em> the law that we should be following instead?</p>
<p>Sometimes there aren&#8217;t natural laws known about an area, and you have to guess at one or figure one out for yourself. I&#8217;m currently working on a book that should help explain the natural laws of software design, but that doesn&#8217;t mean that I&#8217;m the only one who can figure this out or know it. You can find out the natural laws just as well as anybody else could, provided that you do a good, thorough investigation and don&#8217;t buy any authoritarian commands as truth. It may seem so easy to buy authority and so hard to do the research, sometimes, but it&#8217;s the difference between staying sane with the project and the painful, draining insanity that has viciously destroyed so many otherwise-promising software projects throughout history. You, your co-workers, your managers, and your customers will all be happier with the sane, straight-line solution than the craziness and failure that results from the &#8220;quick fix&#8221; of authoritarian command.</p>
<p>-Max</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thetacode.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thetacode.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thetacode.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thetacode.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thetacode.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thetacode.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thetacode.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thetacode.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thetacode.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thetacode.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thetacode.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thetacode.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thetacode.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thetacode.wordpress.com/22/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetacode.com&amp;blog=35275110&amp;post=22&amp;subd=thetacode&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thetacode.com/2009/12/31/authoritarian-software-design/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/688de60d68f318f4300d470c4ee4510b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mkanat</media:title>
		</media:content>
	</item>
		<item>
		<title>Programming Languages</title>
		<link>http://thetacode.com/2008/07/12/languages/</link>
		<comments>http://thetacode.com/2008/07/12/languages/#comments</comments>
		<pubDate>Sat, 12 Jul 2008 19:00:31 +0000</pubDate>
		<dc:creator>Max Kanat-Alexander</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[programming languages]]></category>
		<category><![CDATA[self analysis]]></category>
		<category><![CDATA[shopping]]></category>

		<guid isPermaLink="false">http://theta.codesimplicity.com/?p=19</guid>
		<description><![CDATA[In Self Analysis, L. Ron Hubbard says: Language is quite acceptable when understood as a symbol for the act and thing. But the word &#8220;ashtray&#8221; is no substitute for an ashtray. If you do not believe this, try to put your ashes on the airwaves which have just carried the word &#8220;ashtray.&#8221; Called a &#8220;saucer&#8221; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetacode.com&amp;blog=35275110&amp;post=21&amp;subd=thetacode&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In <em>Self Analysis</em>, L. Ron Hubbard says:</p>
<blockquote><p>
  Language is quite acceptable when understood as a <em>symbol</em> for the act and thing. But the word &#8220;ashtray&#8221; is no substitute for an ashtray. If you do not believe this, try to put your ashes on the airwaves which have just carried the word &#8220;ashtray.&#8221; Called a &#8220;saucer&#8221; or an &#8220;elephant,&#8221; the object intended for the ashes serves just as well.
</p></blockquote>
<p>Have you ever thought about the fact that a programming language is just a <em>representation of actions</em>? (In actual fact, it&#8217;s a representation for a structure of data, actions taken on that data, and the results of those actions.) It&#8217;s just symbols. It doesn&#8217;t matter if we call a symbol &#8220;goto&#8221; or we call it &#8220;elephant,&#8221; it&#8217;s still going to be doing the same thing. And it&#8217;s not those symbols that <em>are</em> the actions, they just <em>represent</em> the actions.</p>
<p>It&#8217;s easy to become immersed in the complexities of programming languages, and to lose view of the fact that a computer program is there to <em>do something</em>, and that is the only reason it&#8217;s there. A computer program is <em>not</em> in fact &#8220;a bunch of code,&#8221; but is actually a <em>series of actions performed by the computer</em>, and the code is just a <em>representation</em>.</p>
<p>When you write a shopping list, you are giving yourself <em>instructions</em> about what to buy. The actual <em>activity</em> of shopping involves walking through the store and picking those items off the shelf. If you just wrote the instructions and called it a day, you wouldn&#8217;t be <em>shopping</em>. The instructions are a symbol for the action, not the action itself.</p>
<p>Similarly, a &#8220;bunch of code&#8221; is not a computer program, it&#8217;s a <em>representation of a computer program</em>. That&#8217;s kind of an interesting thought, isn&#8217;t it?</p>
<p>-Max</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thetacode.wordpress.com/21/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thetacode.wordpress.com/21/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thetacode.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thetacode.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thetacode.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thetacode.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thetacode.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thetacode.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thetacode.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thetacode.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thetacode.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thetacode.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thetacode.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thetacode.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thetacode.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thetacode.wordpress.com/21/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetacode.com&amp;blog=35275110&amp;post=21&amp;subd=thetacode&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thetacode.com/2008/07/12/languages/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/688de60d68f318f4300d470c4ee4510b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mkanat</media:title>
		</media:content>
	</item>
		<item>
		<title>Change</title>
		<link>http://thetacode.com/2008/04/23/change/</link>
		<comments>http://thetacode.com/2008/04/23/change/#comments</comments>
		<pubDate>Wed, 23 Apr 2008 17:36:52 +0000</pubDate>
		<dc:creator>Max Kanat-Alexander</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[handbook for preclears]]></category>
		<category><![CDATA[hbfp]]></category>

		<guid isPermaLink="false">http://theta.codesimplicity.com/archives/18</guid>
		<description><![CDATA[In Handbook For Preclears*, L. Ron Hubbard writes: Man is successful. That is evident because he is here today after eons of trial and error, good and bad planning. And he is successful because he can change. Now, you really should read that whole chapter (Chapter One in the book) for the complete context of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetacode.com&amp;blog=35275110&amp;post=20&amp;subd=thetacode&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In <em><a href="http://www.bridgepub.com/items/hbfpc-sc.html">Handbook For Preclears</a>*</em>, L. Ron Hubbard writes:</p>
<blockquote><p>
  Man is successful. That is evident because he is here today after eons of trial and error, good and bad planning. And he is successful because he can change.
</p></blockquote>
<p>Now, you really should read that whole chapter (Chapter One in the book) for the complete context of the quote. It&#8217;s actually quite a beautiful and inspiring chapter&#8211;well worth reading. But that quote is enough for what I want to talk about today.</p>
<p>Those of you who read my <a href="http://www.codesimplicity.com/">main tech blog</a> know that I talk <a href="http://www.codesimplicity.com/archives/23">a lot about</a> <a href="http://www.codesimplicity.com/archives/19">change</a>, so this quote from L. Ron Hubbard made me smile when I read it. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>What do our software systems do? They change. The environment changes, requirements change&#8211;things change. It&#8217;s our ability to change our software <em>effectively</em> that largely determines whether we are good or bad programmers. It&#8217;s not our ability to construct a system that &#8220;works&#8221;&#8211;although that&#8217;s certainly important. No, what distinguishes the great programmer from the mediocre programmer is that the great programmer writes systems that can be <em>changed</em>.</p>
<p>Granted, just being able to construct a working system can be quite a challenge! When you&#8217;re a brand-new programmer, that&#8217;s what takes up most of the time&#8211;learning the language, figuring out how to do things, just making things <em>work</em>. That&#8217;s completely understandable if you&#8217;re a new programmer, or if you&#8217;re new to some language or technology. But once you&#8217;ve got a handle on that, it should quickly (or slowly) become apparent that there&#8217;s going to be a <em>future</em> to your code, and that means that you&#8217;re going to be <em>changing</em> it. If you didn&#8217;t plan for change, that&#8217;s going to be tough.</p>
<p>What do I mean by &#8220;plan for change?&#8221; Well, just have the idea, when you&#8217;re writing the code, &#8220;this might have to change some day,&#8221; and think, &#8220;what would keep this flexible, while still keeping it simple?&#8221; Sometimes that takes learning more about software design, but it&#8217;s always well worth it. The more you program, the better you&#8217;ll get at it. Just have &#8220;changeability&#8221; as a goal, and as you become a better and better programmer, your code will become easier and easier to change. It only becomes a problem if you never even care about it, and just spend the rest of your days as a programmer building <a href="http://www.computerhope.com/jargon/s/spaghett.htm">spaghetti code</a> that &#8220;works&#8221; but can never be fixed or changed when needed.</p>
<p>And as a note very related to this, never let anybody tell you, &#8220;If you&#8217;re not coding, you&#8217;re not working!&#8221; No! Planning, designing, refactoring, and even a bit of scribbling thoughts on paper are all <em>extremely</em> valuable uses of your time, and should not be neglected. Those are a large part of what help you cope with change. Programming isn&#8217;t all typing&#8211;it&#8217;s a bit of observing, thinking, and talking, too.</p>
<p>-Max</p>
<hr />
<p>* A <a href="http://www.whatisscientology.org/html/Part14/Chp50/pg1023.html">preclear</a> is the most commonly-used term for a person receiving Scientology counseling. The term &#8220;preclear&#8221; is used because the person is on the way to being a <a href="http://www.whatisscientology.org/html/Part03/Chp13/pg0245.html">Clear</a>.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thetacode.wordpress.com/20/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thetacode.wordpress.com/20/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thetacode.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thetacode.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thetacode.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thetacode.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thetacode.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thetacode.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thetacode.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thetacode.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thetacode.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thetacode.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thetacode.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thetacode.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thetacode.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thetacode.wordpress.com/20/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetacode.com&amp;blog=35275110&amp;post=20&amp;subd=thetacode&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thetacode.com/2008/04/23/change/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/688de60d68f318f4300d470c4ee4510b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mkanat</media:title>
		</media:content>
	</item>
		<item>
		<title>Future</title>
		<link>http://thetacode.com/2008/04/02/future/</link>
		<comments>http://thetacode.com/2008/04/02/future/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 17:00:49 +0000</pubDate>
		<dc:creator>Max Kanat-Alexander</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[pdc]]></category>
		<category><![CDATA[philadelphia doctorate course]]></category>

		<guid isPermaLink="false">http://theta.codesimplicity.com/archives/17</guid>
		<description><![CDATA[In a series of lectures called the Philadelphia Doctorate Course, L. Ron Hubbard says: All of your work&#8230;is motivated by the future, not motivated by the past: you want to eat tomorrow, why, you work today. That&#8217;s from the seventh lecture in the series, on December 2, 1952, for those who are curious. So why [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetacode.com&amp;blog=35275110&amp;post=19&amp;subd=thetacode&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In a series of lectures called the <em>Philadelphia Doctorate Course</em>, L. Ron Hubbard says:</p>
<blockquote><p>
All of your work&#8230;is motivated by the future, not motivated by the past: you want to eat tomorrow, why, you work today.
</p></blockquote>
<p>That&#8217;s from the seventh lecture in the series, on December 2, 1952, for those who are curious. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>So why program? Are we doing it because the boss tells us to? Maybe we&#8217;re doing it to eat tomorrow and pay our rent and buy nice things for ourselves. I think a lot of programmers are doing that, and there&#8217;s absolutely nothing wrong with that. I mean, it sounds a little unpleasant&#8211;working so you can live, while spending most of life at work&#8211;but it&#8217;s not evil or wrong or something like that. But in addition to all that, aren&#8217;t there some people who might take a little pride in their work? Maybe there&#8217;s something in the future that we&#8217;re working toward&#8211;a completed product, a happy user, a piece of software that helps people&#8211;<em>something</em>.</p>
<p>Well, that means our software must have a <em>future</em>. And we&#8217;re creating that future, right now. In fact, you could go so far as to say that everything we do to the software in present time is somehow motivated by the future. It might be the future five minutes from now, or it might be two years from now. It doesn&#8217;t matter <em>how far</em> into the future we&#8217;re talking about, it&#8217;s just clear that it&#8217;s the <em>future</em> that motivates the tremendous amount of thought and effort that we put in to our systems.</p>
<p>We write code now so that we have a working system tomorrow. We put effort into the system now so that it can save us effort in the future. We work on our software architecture so that we don&#8217;t have to continually fix our software <em>in the future</em>.</p>
<p>It&#8217;s very easy to think of a system as &#8220;a series of decisions made in the past that led up to what we have now.&#8221; But who cares, because our <em>work</em> now isn&#8217;t motivated by a desire to affect the <em>past</em>&#8211;you can&#8217;t affect the past, that&#8217;s a pretty fundamental law of this universe. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><em>You</em> are the programmer, <em>you</em> are the cause of the system right now, and that cause is motivated by <em>the future</em>, one way or another.</p>
<p>-Max</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thetacode.wordpress.com/19/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thetacode.wordpress.com/19/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thetacode.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thetacode.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thetacode.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thetacode.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thetacode.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thetacode.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thetacode.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thetacode.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thetacode.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thetacode.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thetacode.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thetacode.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thetacode.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thetacode.wordpress.com/19/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetacode.com&amp;blog=35275110&amp;post=19&amp;subd=thetacode&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thetacode.com/2008/04/02/future/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/688de60d68f318f4300d470c4ee4510b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mkanat</media:title>
		</media:content>
	</item>
		<item>
		<title>Stopping a Creation</title>
		<link>http://thetacode.com/2008/03/10/stopping-a-creation/</link>
		<comments>http://thetacode.com/2008/03/10/stopping-a-creation/#comments</comments>
		<pubDate>Mon, 10 Mar 2008 13:34:22 +0000</pubDate>
		<dc:creator>Max Kanat-Alexander</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[blame]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[fundamentals of thought]]></category>
		<category><![CDATA[responsibility]]></category>

		<guid isPermaLink="false">http://theta.codesimplicity.com/archives/16</guid>
		<description><![CDATA[In Scientology: The Fundamentals of Thought, L. Ron Hubbard says: To stop any creation, it can be established that one once knew one was creating it (finding that thought) and making it known again. At first, that might seem like a funny thing to apply to programming. After all, aren&#8217;t we trying to create programs, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetacode.com&amp;blog=35275110&amp;post=18&amp;subd=thetacode&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://www.bridgepub.com/materials/books/5.vm">Scientology: The Fundamentals of Thought</a>, L. Ron Hubbard says:</p>
<blockquote><p>
To stop any creation, it can be established that one once knew one was creating it (finding that thought) and making it known again.
</p></blockquote>
<p>At first, that might seem like a funny thing to apply to programming. After all, aren&#8217;t we trying to <em>create</em> programs, not <em>stop</em> their creation?</p>
<p>Well, yes. But there are a few things that we don&#8217;t want to create, like bugs, or bad designs. I know I&#8217;d be happier if those stopped being created. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  So how can this quote help us?</p>
<p>Well, have you ever noticed that some programmers produce far, far more bugs than other programmers? They just can&#8217;t seem to stop creating bugs. Now, these programmers, have they ever thought back to the moment they were making the bug, and found for themselves what decision they made at the time? Have they ever really <em>taken responsibility</em> for having made a decision that caused a bug, or do they just &#8220;fix the bug&#8221; and never try to understand the source of it?</p>
<p>Many of the greatest programmers I know have an instinct that they should go back and find out where a bug came from. They just <em>know</em> that this is important, even if they can&#8217;t quite articulate <em>why</em> (other than the practical sense of &#8220;Well, it might also be affecting other things&#8221; or &#8220;It&#8217;s educational&#8221;). When they find it, if they caused it, they&#8217;ll say, &#8220;Oh, yep, that was me.&#8221; They might even explain a little of what they were thinking, at the time.</p>
<p>On the flip side of the coin, some of the worst programmers I know spend a lot of their time <em>blaming</em> others for having caused bugs. Whether the blame is right or not, it doesn&#8217;t matter, because what needs to be established is &#8220;that <strong>one</strong> once knew one was creating it,&#8221; not that <em>somebody else</em> knew one was creating it. You have to find out for <em>yourself</em> what happened!</p>
<p>This whole thing also happens with software architecture. Somebody makes a decision like, &#8220;Okay, we&#8217;re going to design this poorly because we&#8217;re crunched for time.&#8221; Then, years later, they wonder why that part of the software is so hard to maintain! They never went back and took responsibility for having made that decision, they just hacked and patched and fixed&#8211;in other words, they <em>kept on creating</em> the bad design.</p>
<p>Often, it seems like there&#8217;s no way to handle bad designers or poor programmers. That they&#8217;re just hopeless and have to be let go or removed from the project. But maybe&#8211;just maybe&#8211;something could be done about it by teaching them to go back, note &#8220;Oh, right, I did have a thought about creating this,&#8221; and then get on with making it better or creating something new.</p>
<p>-Max</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thetacode.wordpress.com/18/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thetacode.wordpress.com/18/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thetacode.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thetacode.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thetacode.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thetacode.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thetacode.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thetacode.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thetacode.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thetacode.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thetacode.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thetacode.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thetacode.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thetacode.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thetacode.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thetacode.wordpress.com/18/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetacode.com&amp;blog=35275110&amp;post=18&amp;subd=thetacode&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thetacode.com/2008/03/10/stopping-a-creation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/688de60d68f318f4300d470c4ee4510b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mkanat</media:title>
		</media:content>
	</item>
		<item>
		<title>How is a Program Like a Universe?</title>
		<link>http://thetacode.com/2008/02/16/a-program-is-a-universe/</link>
		<comments>http://thetacode.com/2008/02/16/a-program-is-a-universe/#comments</comments>
		<pubDate>Sun, 17 Feb 2008 01:23:26 +0000</pubDate>
		<dc:creator>Max Kanat-Alexander</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[art]]></category>
		<category><![CDATA[colossus]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[object-oriented programming]]></category>
		<category><![CDATA[scientology 8-8008]]></category>
		<category><![CDATA[shivani rajan]]></category>
		<category><![CDATA[spreadsheet]]></category>
		<category><![CDATA[the factors]]></category>
		<category><![CDATA[universe]]></category>
		<category><![CDATA[web browsers]]></category>
		<category><![CDATA[word processor]]></category>

		<guid isPermaLink="false">http://theta.codesimplicity.com/archives/12</guid>
		<description><![CDATA[In a book called Scientology 8-8008, L. Ron Hubbard defines a &#8220;universe&#8221; like this: A universe is defined as &#8220;a whole system of created things.&#8221; There could be and are many universes and there could be many kinds of universes. If you&#8217;ve never thought about it, it might be hard to envision the idea of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetacode.com&amp;blog=35275110&amp;post=17&amp;subd=thetacode&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In a book called <em><a href="http://www.scientology.org.uk/">Scientology</a> 8-8008</em>, L. Ron Hubbard defines a &#8220;universe&#8221; like this:</p>
<blockquote><p>
  A universe is defined as &#8220;a whole system of created things.&#8221; There could be and are many universes and there could be many kinds of universes.
</p></blockquote>
<p>If you&#8217;ve never thought about it, it might be hard to envision the idea of a universe that doesn&#8217;t look or act like this one. Here&#8217;s a way to think about it: Yesterday, I ran into <a href="http://www.shivanirajan.com/">an abstract artist</a> and I had this thought about her art&#8211;I asked her, &#8220;If you could create a universe, would it look like this one [the physical universe]?&#8221; Instantly, she said, &#8220;No!&#8221; This is something that I had not understood about abstract art until that very point&#8211;that it represents a whole universe made by the artist, not a representation of <em>this</em> universe. Her universe has colors and swirls and represents things in a whole different way than this universe.</p>
<p>So that&#8217;s a very wild example of &#8220;a universe&#8221;&#8211;the things that you see in abstract paintings. That&#8217;s &#8220;a whole system of created things&#8221; completely different from the universe we&#8217;re used to seeing (the physical universe).</p>
<p>In a much <em>less</em> wild way, a computer program is also a whole universe. For example, let&#8217;s take a simple program that adds 1 plus 1 and gets 2. <span id="more-17"></span> The only rule in that universe is addition. The only objects in that universe are two number 1&#8242;s and a number 2. And yet, that&#8217;s enough to be a &#8220;whole system of created things.&#8221;</p>
<p>This becomes especially apparent in larger computer programs, particularly ones where you&#8217;re using <a href="http://dictionary.cambridge.org/define.asp?key=54675&amp;dict=CALD">Object-Oriented Programming</a>. You say &#8220;I have a Dog object and a Frisbee object. Frisbees can be thrown, and a Dog can retrieve Frisbees.&#8221; You&#8217;ve actually just invented a universe&#8211;that&#8217;s &#8220;a whole system of created things&#8221; right there.</p>
<p>A word processor is a universe where you type keys and they appear on the page, and there are certain rules about how they are formatted, ways you can make them bold, italics, etc.</p>
<p>In fact, I would go so far as to say that computers are actually <em>universe simulators</em>. This seems to be the most accurate description of a computer that I can come up with.</p>
<p>The <a href="http://www.project-x.org.uk/bpcollp.html">very earliest computers</a> could simulate very limited universes&#8211;they cracked German coded messages during World War II using some very basic rules. As time went on, they evolved into being able to simulate more advanced universes, such as a word processor or a spreadsheet. Now most people run a universe called Windows on their computer that has little &#8220;windows&#8221; that contain other universes, like word processors, web browsers, and spreadsheets.</p>
<p>This is probably why games have always pushed the limits of computer hardware more than anything else&#8211;because most computer games are directly and obviously <em>universes</em>, and some darn complex universes at that! (Particularly when you start getting into 3D games, the kinds of calculations required to simulate that universe in a computer are pretty intense.)</p>
<p>This is also why I think <abbr title="Virtual Reality">VR</abbr> has never been successful&#8211;because the job of a computer is to simulate universes that <em>aren&#8217;t</em> this universe, not to re-simulate this one. (This is also why <abbr title="Artificial Intelligence">AI</abbr> doesn&#8217;t really get us anywhere&#8211;because universes don&#8217;t <em>think</em>, they just <em>are</em>.)</p>
<p>Anyhow, <em><a href="http://bpi.goldenageofknowledge.net/items/scn88008_pdc_fact.html">Scientology 8-8008</a></em> has a lot of information on how universes are created, and looking at it, I&#8217;ve personally found it applies in really interesting way to writing programs! Particularly the section called <a href="http://whatisscientology.org/html/Part14/Chp41/pg0772.html">The Factors</a>, which deals a lot with the creation of universes.</p>
<p>-Max</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thetacode.wordpress.com/17/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thetacode.wordpress.com/17/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thetacode.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thetacode.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thetacode.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thetacode.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thetacode.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thetacode.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thetacode.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thetacode.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thetacode.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thetacode.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thetacode.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thetacode.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thetacode.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thetacode.wordpress.com/17/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetacode.com&amp;blog=35275110&amp;post=17&amp;subd=thetacode&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thetacode.com/2008/02/16/a-program-is-a-universe/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/688de60d68f318f4300d470c4ee4510b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mkanat</media:title>
		</media:content>
	</item>
		<item>
		<title>Pleasure In Programming</title>
		<link>http://thetacode.com/2008/02/03/pleasure-in-programming/</link>
		<comments>http://thetacode.com/2008/02/03/pleasure-in-programming/#comments</comments>
		<pubDate>Mon, 04 Feb 2008 06:43:48 +0000</pubDate>
		<dc:creator>Max Kanat-Alexander</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[bugzilla]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mac os x]]></category>
		<category><![CDATA[netscape]]></category>
		<category><![CDATA[pleasure]]></category>
		<category><![CDATA[user interface]]></category>

		<guid isPermaLink="false">http://theta.codesimplicity.com/archives/10</guid>
		<description><![CDATA[We&#8217;ve long known that a programmer&#8217;s productivity depends largely upon how much he enjoys his work environment and the task that he&#8217;s been assigned. We know that various things that make the environment nicer assist productivity, for some seemingly ungraspable reason. To me, at least, this has long been a mystery. Why is it that [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetacode.com&amp;blog=35275110&amp;post=10&amp;subd=thetacode&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve long known that a programmer&#8217;s productivity depends largely upon how much he enjoys his work environment and the task that he&#8217;s been assigned. We know that various things that make the environment nicer assist productivity, for some seemingly ungraspable reason.</p>
<p>To me, at least, this has long been a mystery. Why is it that a programmer, given total understanding of his field, excellent training, and high intelligence, could yet produce better in a more <em>enjoyable</em> environment? It would seem to have nothing to do with the interaction between a person and a machine, as programming <em>seems</em> to be.</p>
<p>Well, in <em><a href="http://www.whatisscientology.org/html/Part03/Chp07/pg0186-a.html">Dianetics</a>:  The Modern Science of Mental Health</em>, L. Ron Hubbard talks about <em>pleasure</em>, over and over. One of the things he says is:</p>
<blockquote><p>
  There is a necessity for pleasure, a necessity as live and quivering and vital as the human heart itself. &#8230; The creative, the constructive, the beautiful, the harmonious, the adventurous, yes, and even escape from the maw of oblivion, these things are pleasure and these things are necessity.
</p></blockquote>
<p>Talk to anybody who worked at Netscape in its early days, and they will tell you that there was a sense of <em>adventure</em> in what they were doing. Talk to some of the people who work on Google&#8217;s greatest projects, and ask them about how pleasurable <em>they</em> find their jobs. Ask the Apple engineers how enjoyable it was to create the iPhone, or to design Mac OS X. Ask the world&#8217;s greatest user interface designers if the harmony of a perfectly usable, good-looking interface isn&#8217;t something that makes them <em>happy</em>.</p>
<p>Or just ask me why I have spent the last four years of my life working on <a href="http://www.bugzilla.org/">Bugzilla</a>.</p>
<p>The world&#8217;s greatest creations don&#8217;t come from the desire to make a quick buck, or the fear of a manager&#8217;s wrath. They don&#8217;t come merely from some programmer&#8217;s desire to prove how smart they are, and impress their peers. And they definitely don&#8217;t come about from organizations where programmers sit, blank-faced and void of thought, forced to stare at a computer to the exclusion of all else for eight hours a day, deprived of the pleasures of life. No, true creation flourishes in environments that bring into being that necessity &#8220;as live and quivering and vital as the human heart itself&#8221;&#8211;pleasure.</p>
<p>-Max</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thetacode.wordpress.com/10/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thetacode.wordpress.com/10/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thetacode.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thetacode.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thetacode.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thetacode.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thetacode.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thetacode.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thetacode.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thetacode.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thetacode.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thetacode.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thetacode.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thetacode.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thetacode.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thetacode.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetacode.com&amp;blog=35275110&amp;post=10&amp;subd=thetacode&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thetacode.com/2008/02/03/pleasure-in-programming/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/688de60d68f318f4300d470c4ee4510b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mkanat</media:title>
		</media:content>
	</item>
		<item>
		<title>Beautiful Code</title>
		<link>http://thetacode.com/2008/02/01/beautiful-code/</link>
		<comments>http://thetacode.com/2008/02/01/beautiful-code/#comments</comments>
		<pubDate>Sat, 02 Feb 2008 02:21:39 +0000</pubDate>
		<dc:creator>Max Kanat-Alexander</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[AP&A]]></category>
		<category><![CDATA[bad code]]></category>
		<category><![CDATA[beautiful code]]></category>
		<category><![CDATA[good code]]></category>
		<category><![CDATA[Scientology 0-8]]></category>
		<category><![CDATA[ugly code]]></category>

		<guid isPermaLink="false">http://theta.codesimplicity.com/archives/14</guid>
		<description><![CDATA[In Scientology 0-8: The Book Of Basics, L. Ron Hubbard says: Goodness and Badness, Beautifulness and Ugliness, are alike considerations and have no other basis than opinion. I&#8217;ve heard many programmers talk about &#8220;beautiful code.&#8221; Of course, it seems to mean something different to everybody! People can definitely have arguments over what is good or [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetacode.com&amp;blog=35275110&amp;post=16&amp;subd=thetacode&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://bpi.goldenageofknowledge.net/items/scn08.html"><em>Scientology 0-8: The Book Of Basics</em></a>, L. Ron Hubbard says:</p>
<blockquote><p>
  Goodness and Badness, Beautifulness and Ugliness, are alike considerations and have no other basis than opinion.
</p></blockquote>
<p>I&#8217;ve heard many programmers talk about &#8220;beautiful code.&#8221; Of course, it seems to mean something different to everybody! People can definitely have arguments over what is <em>good</em> or <em>beautiful</em> in code.</p>
<p>Now, most people don&#8217;t write code and then think, &#8220;Aw, that code was terrible, horrible, and ugly.&#8221; Most programmers are pretty happy when they complete a project, and tend to admire their own creations. They might have a terrible tangled mass of code, but to <em>them</em> it might be beautiful. For us, though, who have to fix their terrible, tangled mass of code, maybe it&#8217;s not so beautiful.</p>
<p>So what can we do about people this like? Obviously, <em>we</em> know that there are better ways to write code and worse ways, and we&#8217;ve formed our opinions based on experience or having read some sensible things and agreed with them. We can&#8217;t just let people write terrible code and mess things up. So what do we do?</p>
<p>Well, has anybody ever changed <em>your</em> <strong>opinion</strong> about something? How did they do it? If <em>you</em> read something and thought it was sensible, and came to see why &#8220;good&#8221; code was &#8220;good&#8221;, and &#8220;bad&#8221; code was &#8220;bad&#8221;, then perhaps that person could read that thing too! Perhaps you could explain to them gently why you hold your opinions, and give them the chance to change theirs. Perhaps you could show them some good evidence, and they&#8217;d change their mind.</p>
<p>At the very least, a little communication probably wouldn&#8217;t <em>hurt</em> anybody. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>No matter what you choose, once you realize that all that&#8217;s happening is you have different <em>opinions</em>, the way is open to do something about it.</p>
<hr />
<p>By the way, the quote above is part of the &#8220;Axioms of Scientology.&#8221; In Scientology, &#8220;axioms&#8221; are:</p>
<blockquote><p>
  <strong>axioms</strong>: Statements of natural laws on the order of those of the physical sciences.
</p></blockquote>
<p>That&#8217;s from the glossary of a book called <em>Advanced Procedure and Axioms</em>, by L. Ron Hubbard.</p>
<p>The axioms are numbered, and the axiom above is Axiom 31. The rest of them are all very interesting, and I&#8217;d recommend you get a copy of <a href="http://bpi.goldenageofknowledge.net/items/scn08.html">Scientology 0-8: The Book Of Basics</a>, if you want to read the rest of them.</p>
<p>-Max</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thetacode.wordpress.com/16/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thetacode.wordpress.com/16/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thetacode.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thetacode.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thetacode.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thetacode.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thetacode.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thetacode.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thetacode.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thetacode.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thetacode.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thetacode.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thetacode.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thetacode.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thetacode.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thetacode.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetacode.com&amp;blog=35275110&amp;post=16&amp;subd=thetacode&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thetacode.com/2008/02/01/beautiful-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/688de60d68f318f4300d470c4ee4510b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mkanat</media:title>
		</media:content>
	</item>
		<item>
		<title>Increasing Complexity Over Time</title>
		<link>http://thetacode.com/2008/01/27/increasing-complexity-over-time/</link>
		<comments>http://thetacode.com/2008/01/27/increasing-complexity-over-time/#comments</comments>
		<pubDate>Mon, 28 Jan 2008 05:14:32 +0000</pubDate>
		<dc:creator>Max Kanat-Alexander</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[complexity]]></category>
		<category><![CDATA[knowledge]]></category>
		<category><![CDATA[time]]></category>

		<guid isPermaLink="false">http://theta.codesimplicity.com/archives/9</guid>
		<description><![CDATA[In Dianetics, L. Ron Hubbard mentions: Only things which are poorly known become more complex the longer one works upon them. Have you ever seen that happen with a software project? It just becomes more complex, and more complex, and more complex, and eventually it&#8217;s just a huge mass of complexity that nobody can maintain [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetacode.com&amp;blog=35275110&amp;post=9&amp;subd=thetacode&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In <em><a href="http://www.amazon.com/Dianetics-Modern-Science-Mental-Health/dp/088404632X">Dianetics</a></em>, L. Ron Hubbard mentions:</p>
<blockquote><p>
  Only things which are poorly known become more complex the longer one works upon them.
</p></blockquote>
<p>Have you ever seen that happen with a software project? It just becomes more complex, and more complex, and more complex, and eventually it&#8217;s just a huge mass of complexity that nobody can maintain anymore?</p>
<p>I think it might be interesting to think about that in the context of the above quote. Perhaps there&#8217;s actually something more that could be <em>known</em> about the system. Maybe your users don&#8217;t actually need or want all those features. Maybe there&#8217;s more research that could be done on different areas of the system. Anything, really&#8211;just <em>know more</em> about it. Maybe there&#8217;s even some fundamental missing data about life or programming that&#8217;s hampering the project.</p>
<p>Whatever it is, I think it&#8217;s pretty interesting to think that <em>knowledge</em> could defeat complexity!</p>
<p>-Max</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thetacode.wordpress.com/9/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thetacode.wordpress.com/9/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thetacode.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thetacode.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thetacode.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thetacode.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thetacode.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thetacode.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thetacode.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thetacode.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thetacode.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thetacode.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thetacode.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thetacode.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thetacode.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thetacode.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetacode.com&amp;blog=35275110&amp;post=9&amp;subd=thetacode&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thetacode.com/2008/01/27/increasing-complexity-over-time/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/688de60d68f318f4300d470c4ee4510b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mkanat</media:title>
		</media:content>
	</item>
	</channel>
</rss>
