<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>AesTerra &#187; computer science</title>
	<atom:link href="http://aesterra.com/index.php/tag/computer-science/feed/" rel="self" type="application/rss+xml" />
	<link>http://aesterra.com</link>
	<description>Words in the Sea of Electrons</description>
	<lastBuildDate>Mon, 18 Jan 2010 23:38:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Limes at the End of the Universe</title>
		<link>http://aesterra.com/index.php/2009/11/20/limes-at-the-end-of-the-universe/</link>
		<comments>http://aesterra.com/index.php/2009/11/20/limes-at-the-end-of-the-universe/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 07:20:58 +0000</pubDate>
		<dc:creator>Goldkin</dc:creator>
				<category><![CDATA[fiction]]></category>
		<category><![CDATA[nanowrimo]]></category>
		<category><![CDATA[random]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[interactive fiction]]></category>
		<category><![CDATA[wordswordswords]]></category>

		<guid isPermaLink="false">http://aesterra.com/?p=273</guid>
		<description><![CDATA[It&#8217;s infrequent that I write long posts. After all, I&#8217;ve been captured by that Twitter thing. 

However, due to a certain event occurring every November, I find myself waxing long past eloquence. Damn you, Chris Baty!

Indeed, this post has less to do with objects of the citrus persuasion (though there are certainly a few in [...]]]></description>
			<content:encoded><![CDATA[It&#8217;s infrequent that I write long posts. After all, I&#8217;ve been captured by <a href="http://twitter.com/Goldkin" target="_blank" title="@Goldkin on Twitter">that Twitter thing</a>. <br />
<br />
However, due to <a href="http://www.nanowrimo.org" target="_blank" title="NaNoWriMo: Main Page">a certain event occurring every November</a>, I find myself waxing long past eloquence. Damn you, <a href="http://www.nanowrimo.org/eng/user/301" target="_blank" title="NaNoWriMo: User Profile: Chris Baty (He kinda founded it, y'know.)">Chris Baty</a>!<br />
<br />
Indeed, this post has less to do with objects of the citrus persuasion (though there are <a href="http://www.flickr.com/photos/floodkoff/2461218533/" target="_blank" title="Definitely not a lime.">certainly</a> <a href="http://www.flickr.com/photos/21604430@N05/3124887843/" target="_blank" title="Not the fruits you're looking for.">a</a> <a href="http://www.flickr.com/photos/darwinbell/297466626/" target="_blank" title="Fruit? Surely you jest.">few</a> in it!), and more about my NaNoWriMo buffer. <a href="http://www.flickr.com/photos/mattieb/431958217/" target="_blank" title="Definitely not a citrus. Nope."><em>Latifolia</em></a> optional.<br />
<br />
<br />
So, what have I been writing about?<br />
<ul><br />
	<li> A few short stories regarding magic and computer science, especially where the two cross. While this may only appeal to the nerds among us, imagine a world where the Internet as we know it never came about by conventional means. Instead, it was discovered that particles could be manipulated at a basic level with enough directed thought and applied phlebotinum. Soon, it was discovered that these actions could be automated and magically constructed, completely rewriting the fundamental laws of computation.<br />
<br />
 It seemed like a good idea at the time.</li><br />
	<li> Stories of virtual reality, building upon my extensive experience with <i>Second Life</i> (I refuse to indicate that with a trademark). Virtual reality has the ability to show us our best and worst traits as we cast ourselves through the looking glass. Indeed, this has already borne itself out in shared simulations like SL, which form the bulk of my reference material.</li><br />
	<li>Because there must always be dragons, I&#8217;ve started a fantasy epic that relates loosely to Baxil&#8217;s own <a target="_blank" title="TTU Wiki: Welcome to TTU" href="http://ttu.tomorrowlands.org/HomePage">TTU mythos</a>. This quickly gave way to a spec for mixing virtual reality with avatars that aren&#8217;t necessarily human, and ways to implement magic in such a way that others can freely build upon it without delving into the technical details. <br />
<br />
Werewolves hurling fireballs as Clinton cracks down on therian policy, all in a neat little <strike>MMO</strike> shared reality? You&#8217;d better believe it.</li><br />
	<li><a href="http://en.wikipedia.org/wiki/Interactive_fiction" target="_blank" title="Wikipedia: Interactive Fiction">Interactive fiction</a>. It is my sworn duty as a game developer to write IF. It&#8217;s also <em>lots</em> of fun.</li><br />
	<li>And of course, lots and lots (and <em>lots</em>) of notes on how I intend to employ myself again.* It&#8217;s cheating, but I feel it&#8217;s warranted as I try to make quota. <a href="http://baxil.livejournal.com/273643.html" target="_blank" title="Baxil's LiveJournal: Why NaNoWriMo?">Everybody&#8217;s doing it</a>!</li><br />
</ul><br />
<br />
As with every NaNo sprint I attempt, my writing is less about completing a novel in a month and more about writing speculative fiction. <br />
<br />
Does any of this seem interesting to you?<br />
<br />
&#8212;<br />
* At the time of this writing, I&#8217;m between interviews at Microsoft and Google. I&#8217;m also in the midst of a temporary move to the Pacific Northwest that I intend to make permanent. All this, and I&#8217;m writing 50,000 words in a month.<br />
<br />
I never said I was sane. You&#8217;re just jealous the voices speak to me and not you.]]></content:encoded>
			<wfw:commentRss>http://aesterra.com/index.php/2009/11/20/limes-at-the-end-of-the-universe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Personal Work Study</title>
		<link>http://aesterra.com/index.php/2009/10/07/personal-work-study/</link>
		<comments>http://aesterra.com/index.php/2009/10/07/personal-work-study/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 02:50:21 +0000</pubDate>
		<dc:creator>Goldkin</dc:creator>
				<category><![CDATA[computer science]]></category>
		<category><![CDATA[mathematics]]></category>
		<category><![CDATA[software design]]></category>

		<guid isPermaLink="false">http://aesterra.com/?p=182</guid>
		<description><![CDATA[While my job situation continues1, I find myself in an interesting spot.

Specifically, I am between professional careers, attempting to move from what was essentially a startup, to a higher paid, professional organization. Of these, I hope to get into Microsoft or Google, but I&#8217;ll settle for anything that lets me get my hands dirty with [...]]]></description>
			<content:encoded><![CDATA[While my job situation continues<sup>1</sup>, I find myself in an interesting spot.<br />
<br />
Specifically, I am between professional careers, attempting to move from what was essentially a startup, to a higher paid, professional organization. Of these, I hope to get into Microsoft or Google, but I&#8217;ll settle for anything that lets me get my hands dirty with programming for a livable paycheck.<br />
<br />
With programming in mind, I&#8217;ve discovered that skills atrophy if you don&#8217;t use them. Having finished a Master&#8217;s degree in Business (because it was free<sup>2</sup>), I&#8217;ve discovered that not only have my implementation skills declined since 2006, but that I require a crash course in Computer Science.<br />
<br />
I&#8217;ve decided to give myself precisely that. I&#8217;m already a reasonably good implementer and designer, having shipped professional products and an award-winning game.<sup>3</sup> However, I acknowledge that I lack a good background in theory, particularly related to the analysis of algorithms, complexity theory, and software design methodologies.<br />
<br />
<br />
In the interests of being entirely open about this process, and so others might benefit, here&#8217;s the &quot;curriculum&quot; I planned for myself. Where appropriate, I&#8217;ve noted any supplemental materials or abuses of notation:<br />
<br />
<ul><li> Analysis of Algorithms<br />
<ul><li> Basic Conceptual Analysis and Mathematical Theory<br />
<li> Asymptotic Analysis<sup>4</sup><br />
<ul><li> (Big) Θ Notation: <a href="http://wordpress.org/extend/plugins/easy-latex/" target="_blank" title="f(n) = \Theta(g(n))"><img src="http://l.wordpress.com/latex.php?latex=f%28n%29%20%3D%20%5CTheta%28g%28n%29%29&#038;bg=e7d9b2&#038;fg=000000&#038;s=0" style="vertical-align:-20%;" class="tex" alt="f(n) = \Theta(g(n))" /></a>; <a href="http://www.Thulasidas.com/latex" target="_blank" title="\Theta(g(n))"><img src="http://l.wordpress.com/latex.php?latex=%5CTheta%28g%28n%29%29&#038;bg=e7d9b2&#038;fg=000000&#038;s=0" style="vertical-align:-20%;" class="tex" alt="\Theta(g(n))" /></a> is a set tightly binding <a ><img src="http://l.wordpress.com/latex.php?latex=f%28n%29&#038;bg=e7d9b2&#038;fg=000000&#038;s=0" style="vertical-align:-20%;" class="tex" alt="f(n)" /></a><br />
<li> (Big) Ω Notation: <img src="http://l.wordpress.com/latex.php?latex=f%28n%29%20%3D%20%5COmega%28g%28n%29%29&#038;bg=e7d9b2&#038;fg=000000&#038;s=0" title="f(n) = \Omega(g(n))" style="vertical-align:-20%;" class="tex" alt="f(n) = \Omega(g(n))" />; <img src="http://l.wordpress.com/latex.php?latex=%5COmega%28g%28n%29%29%20%5Cle%20%5CTheta%28g%28n%29%29&#038;bg=e7d9b2&#038;fg=000000&#038;s=0" title="\Omega(g(n)) \le \Theta(g(n))" style="vertical-align:-20%;" class="tex" alt="\Omega(g(n)) \le \Theta(g(n))" />; <img src="http://l.wordpress.com/latex.php?latex=%5COmega%28g%28n%29%29%20%5Csubseteq%20%5CTheta%28g%28n%29%29&#038;bg=e7d9b2&#038;fg=000000&#038;s=0" title="\Omega(g(n)) \subseteq \Theta(g(n))" style="vertical-align:-20%;" class="tex" alt="\Omega(g(n)) \subseteq \Theta(g(n))" /><br />
<li> (Big) O Notation: <img src="http://l.wordpress.com/latex.php?latex=f%28n%29%20%3D%20O%28g%28n%29%29&#038;bg=e7d9b2&#038;fg=000000&#038;s=0" title="f(n) = O(g(n))" style="vertical-align:-20%;" class="tex" alt="f(n) = O(g(n))" />; <img src="http://l.wordpress.com/latex.php?latex=O%28g%28n%29%29%20%5Cge%20%5CTheta%28g%28n%29%29&#038;bg=e7d9b2&#038;fg=000000&#038;s=0" title="O(g(n)) \ge \Theta(g(n))" style="vertical-align:-20%;" class="tex" alt="O(g(n)) \ge \Theta(g(n))" />; <img src="http://l.wordpress.com/latex.php?latex=O%28g%28n%29%29%20%5Csubseteq%20%5CTheta%28g%28n%29%29&#038;bg=e7d9b2&#038;fg=000000&#038;s=0" title="O(g(n)) \subseteq \Theta(g(n))" style="vertical-align:-20%;" class="tex" alt="O(g(n)) \subseteq \Theta(g(n))" /><br />
<li> Dominating sets (ω and o), topically<br />
</ul><li> Complexity Analysis<br />
<ul><li> Study of time and space complexity from <a href="http://www.cs.princeton.edu/theory/complexity/" target="_blank" title="CS Theory @ Princeton: &quot;Computational Complexity: A Modern Approach&quot;">AB2007</a>,<sup>5</sup> especially Turing machines, <img src="http://l.wordpress.com/latex.php?latex=P&#038;bg=e7d9b2&#038;fg=000000&#038;s=0" title="P" style="vertical-align:-20%;" class="tex" alt="P" />, <img src="http://l.wordpress.com/latex.php?latex=NP&#038;bg=e7d9b2&#038;fg=000000&#038;s=0" title="NP" style="vertical-align:-20%;" class="tex" alt="NP" />, and conjecture related to <img src="http://l.wordpress.com/latex.php?latex=P%20%5Cneq%20NP&#038;bg=e7d9b2&#038;fg=000000&#038;s=0" title="P \neq NP" style="vertical-align:-20%;" class="tex" alt="P \neq NP" /><br />
</ul><li> Every interesting algorithm shared by <a href="http://books.google.com/books?id=NLngYyWFl_YC" target="_blank" title="Google Books: &quot;Introduction to Algorithms, Second Edition&quot;">CLRS 2001</a> and <a href="http://books.google.com/books?id=qhaOxkQANEgC" target="_blank" title="Google Books: &quot;Algorithms in a Nutshell&quot;">HPS 2008</a><sup>5</sup><br />
<li> Study of the problem archive from <a href="http://www.topcoder.com" target="_blank" title="TopCoder: Main Page">TopCoder.com</a> (requires login). <br />
<li><a href="http://www.spoj.pl/" target="_blank" title="Sphere Online Judge: Main Page"><em>SPOJ</em></a> and <a href="http://uva.onlinejudge.org/" target="_blank" title="UVa Online Judge: Main Page"><em>UVa Online</em></a> Judge have also been suggested to me. Thanks, <a href="http://kistaro.livejournal.com/" target="_blank" title="LiveJournal: Kistaro Windrider, Reptillian Situation Assessor"><em>Kistaro</em></a>!<br />
<br />
<br />
</ul><li> Architecture and Implementation<br />
<ul><li> A complete read of <a href="http://books.google.com/books?id=gYlQAAAAMAAJ" target="_blank" title="Google Books: &quot;Code: The Hidden Language of Computer Hardware and Software&quot;">Petzold 2000</a><br />
<li> Study of <em>The Elements of C++ Style</em>  (<a href="http://books.google.com/books?id=Qx2-GiRSq6oC" target="_blank" title="Google Books: &quot;The Elements of C++ Style&quot;">MBG 2004</a>), for notational and software clarity <br />
<li> A refresher of x86 Assembly, regarding compilers and low-level implementation<br />
<li> A refresher of C implementation, regarding memory management and language structure<br />
<li> A refresher of C++ implementation, particularly class structure and problems of inheritance<br />
<li> Implementations of the more useful algorithms in C++<sup>6</sup><br />
<li> A refresher project, consistent with my interests in 3D design<br />
<ul><li> Simple <a href="http://en.wikipedia.org/w/index.php?title=Scene_graph&#038;oldid=303665985" target="_blank" title="Wikipedia: &quot;Scene graph&quot; (303665985)">scene graph</a> utility, culminating in what I hope will be a networked game<br />
<br />
<br />
</ul></ul><li> Design Theory, Methodologies, and Practicalities:<br />
<ul><li> In no deliberate order, <a href="http://books.google.com/books?id=Rvl0QQAACAAJ" target="_blank" title="Google Books: &quot;The Mythical Man-Month: Essays on Software Engineering&quot;">Brooks 1995</a>, <a href="http://www.pragprog.com/the-pragmatic-programmer" target="_blank" title="PragProg.com: &quot;The Pragmatic Programmer: From Journeyman to Master&quot;">HT 1999</a>, <a href="http://www.pragprog.com/titles/pad/practices-of-an-agile-developer" target="_blank" title="PragProg.com: &quot;Practices of an Agile Developer&quot;">SH 2006</a>, and related books<br />
<li> A read of <em>Programming Interviews Exposed</em> (<a href="http://books.google.com/books?id=KJ1PAAAAMAAJ" target="_blank" title="Google Books: &quot;Programming Interviews Exposed: Secrets to Landing Your Next Job&quot;">MS 2000</a>), so I can actually make it in the door<br />
</ul></ul><br />
<br />
The prerequisites I bring to the table: <br />
<ul><li>Three professional years with C/C++ and Python<br />
<li>A familiarity with Windows and Linux from the kernel level forward<br />
<li>Practical experience in industry, from my former position <br />
<li>A significant mathematical and 3D background, from Engineering and Second Life development</ul><br />
<br />
Is there anything I&#8217;ve missed that might be interesting here? If so, let me know, so I may add it to the list.<br />
<br />
<br />
Thanks for reading.<br />
<br />
&#8212;<br />
<br />
Notes:<br />
<br />
<sup>1</sup> See <a href="http://goldkin.livejournal.com/3204.html" title="http://goldkin.livejournal.com/3204.html" target="blank">http://goldkin.livejournal.com/3204.html</a>.<br />
<br />
<sup>2</sup> By family faculty benefit. I was given an ultimatum to finish my studies prior to the end of the year, so I chose to use my existing credits for a one year degree. Since the college closed their MIS program, that left me with a generic MBA.<br />
<br />
<sup>3</sup> The details are not listed here, in order to keep a search barrier between work and my personal life.<br />
<br />
<sup>4</sup> Notational abuse of equality consistent with <a href="http://books.google.com/books?id=NLngYyWFl_YC" target="_blank" title="Google Books: &quot;Introduction to Algorithms, Second Edition&quot;">CLRS 2001</a>. <a href="http://en.wikipedia.org/w/index.php?title=Big_O_notation&#038;oldid=317645733#Matters_of_notation" target="_blank" title="Wikipedia: &quot;Big O Notation, Matters of Notation (317645733)&quot;">Wikipedia</a> states this in terms of set notation (<img src="http://l.wordpress.com/latex.php?latex=%5Cin&#038;bg=e7d9b2&#038;fg=000000&#038;s=0" title="\in" style="vertical-align:-20%;" class="tex" alt="\in" />), but I find the method used in CLRS to be more elegant in formal notation.<br />
<br />
<sup>5</sup> Restating the material contained in these books would be tedious in what is already a long post. I may, however, post interesting implementations from my own code tree in future posts.<br />
<br />
<sup>6</sup> This necessitates discussion on my workflow for a future post. For now, I use a mixture of Emacs, GCC, Subversion, and the <a href="http://en.wikipedia.org/w/index.php?title=GNU_build_system&#038;oldid=313371533" target="_blank" title="Wikipedia: &quot;GNU build system (313371533)&quot;">GNU build system</a>.<br />
<br />
This post excludes reference books, such as <em>Design Patterns</em>, manuals, and programming documentation.]]></content:encoded>
			<wfw:commentRss>http://aesterra.com/index.php/2009/10/07/personal-work-study/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
