<?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>visual77 &#187; programming</title>
	<atom:link href="http://visual77.com/blog/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://visual77.com</link>
	<description>Ramblings from Steve Phillips</description>
	<lastBuildDate>Sat, 10 Sep 2011 21:19:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Drupal theme is mostly done, now to migrate content</title>
		<link>http://visual77.com/blog/2011/09/drupal-theme-is-mostly-done-now-to-migrate-content/</link>
		<comments>http://visual77.com/blog/2011/09/drupal-theme-is-mostly-done-now-to-migrate-content/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 01:58:02 +0000</pubDate>
		<dc:creator>visual77</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[drupal]]></category>

		<guid isPermaLink="false">http://visual77.com/?p=711</guid>
		<description><![CDATA[I&#8217;ve been working on my rebuilding of the site on Drupal 7.x quite a bit lately, and have the theme mostly done. The Drupal build, in its current state, can be found in this subfolder. The next step is to migrate the content of my WordPress blog over to the Drupal site, which I&#8217;m trying [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p>I&#8217;ve been working on my <a title="Drupal migration" href="http://visual77.com/blog/2011/08/drupal-migration/">rebuilding</a> of the site on Drupal 7.x quite a bit lately, and have the theme mostly done. The Drupal build, in its current state, can be found in <a title="Drupal 7 rebuild of visual77.com" href="http://visual77.com/drupal/">this subfolder</a>. The next step is to migrate the content of my WordPress blog over to the Drupal site, which I&#8217;m trying to accomplish with the <a title="Wordpress Migrate" href="http://drupal.org/project/wordpress_migrate">WordPress Migrate</a> module, but I am having some difficulty. If need be, I might just manually recreate the blog entries I care to retain (that is, not ones related to homebrew or gaming) and attempt to salvage the rest at a later date.</p>
<p>Hopefully I can completely switch over to this Drupal build within the next week. I&#8217;ve built the theme as a subtheme of the venerebal <a title="Zen theme" href="http://drupal.org/project/zen">Zen theme</a>, and would love to get a working Drupal build to be able to show off some of the stuff I&#8217;m working on, like the <a title="Drupal Statepicker Module" href="http://visual77.com/blog/2011/08/drupal-statepicker-module/">statepicker module</a> that I recently posted about. I still need to get that working with Drupal 7, however, so I won&#8217;t be able to show a demo of it right away.</p>
<div class="shr-publisher-711"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://visual77.com/blog/2011/09/drupal-theme-is-mostly-done-now-to-migrate-content/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Git time!</title>
		<link>http://visual77.com/blog/2011/09/git-time/</link>
		<comments>http://visual77.com/blog/2011/09/git-time/#comments</comments>
		<pubDate>Thu, 01 Sep 2011 16:25:42 +0000</pubDate>
		<dc:creator>visual77</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[visual77]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://visual77.com/?p=708</guid>
		<description><![CDATA[In the past few weeks, I finally have had the chance to start using Git. I&#8217;ve been mildly interested for about a year now, ever since a coworker of mine left the company and began using Git at his new company, but the sheer momentum of my company&#8217;s Subversion repositories was a big hurdle to [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p>In the past few weeks, I finally have had the chance to start using Git. I&#8217;ve been mildly interested for about a year now, ever since a coworker of mine left the company and began using Git at his new company, but the sheer momentum of my company&#8217;s Subversion repositories was a big hurdle to overcome.</p>
<p>I was finally forced to move something onto Git when I put my <a title="Drupal Statepicker Module" href="http://visual77.com/blog/2011/08/drupal-statepicker-module/">statepicker module</a> onto drupal.org, and Git was their only available VCS. After making the switch, and learning Git, I definitely agree with the general consensus that Git simply is better than Subversion. Having a DVCS just adds an incredible amount of flexibility to how repositories are set up, maintained and shared.</p>
<p>So on that note, I&#8217;ve begun to actually use the github account I set up a few months ago. The first thing I&#8217;m putting onto it is the repository for my <a title="Drupal migration" href="http://visual77.com/blog/2011/08/drupal-migration/">Drupal rebuild of visual77.com</a>. As far as future projects on it, the only other thing that I still want to do at some point is my <a title="Team Liquid Browser Extension" href="http://visual77.com/blog/2011/04/team-liquid-browser-extension/">Team Liquid Browser Extension</a>. I&#8217;ve been unable to touch that since I first mentioned it because I&#8217;ve had very little time lately, but that isn&#8217;t a stillborn concept.</p>
<div class="shr-publisher-708"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://visual77.com/blog/2011/09/git-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drupal migration</title>
		<link>http://visual77.com/blog/2011/08/drupal-migration/</link>
		<comments>http://visual77.com/blog/2011/08/drupal-migration/#comments</comments>
		<pubDate>Tue, 30 Aug 2011 19:08:33 +0000</pubDate>
		<dc:creator>visual77</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://visual77.com/?p=704</guid>
		<description><![CDATA[In the past 6 months, I&#8217;ve been using Drupal quite a bit and have made the decision to migrate my site from WordPress to Drupal. I&#8217;m more familiar with Drupal 6.x than Drupal 7.x right now, but I can easily change that. The decision to migrate really came to a head when I made my last [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p>In the past 6 months, I&#8217;ve been using Drupal quite a bit and have made the decision to migrate my site from WordPress to Drupal. I&#8217;m more familiar with Drupal 6.x than Drupal 7.x right now, but I can easily change that. The decision to migrate really came to a head when I made my last post about the <a title="Drupal Statepicker Module" href="http://visual77.com/blog/2011/08/drupal-statepicker-module/">statepicker module</a> and realized I have no ability to show off this module on my own site. Not only is this site running software that isn&#8217;t Drupal, but WordPress is a platform that I don&#8217;t foresee myself spending much time in its development community.</p>
<p>My time with Drupal has really changed my opinion of it from &#8216;meh&#8217; to semi-awestruck. The main point that I keep thinking about is that I have yet needed to hack in any changes to Drupal. Every module I&#8217;ve written and every customization I&#8217;ve done has been neatly tucked into the sites folder, where custom content is intended to be handled. Unlike the other platforms I&#8217;ve used (mostly Kohana and WordPress), I have not needed to go edit things I shouldn&#8217;t be editing to reach my desired result.</p>
<p>I&#8217;ll be doing the migration over the next month or so. As of right now, I just have a blank Drupal 7.7 install floating in a git repository. I have a lot of work before it&#8217;s suitable to replace this WordPress build.</p>
<div class="shr-publisher-704"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://visual77.com/blog/2011/08/drupal-migration/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Drupal Statepicker Module</title>
		<link>http://visual77.com/blog/2011/08/drupal-statepicker-module/</link>
		<comments>http://visual77.com/blog/2011/08/drupal-statepicker-module/#comments</comments>
		<pubDate>Sun, 28 Aug 2011 21:57:49 +0000</pubDate>
		<dc:creator>visual77</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[statepicker]]></category>

		<guid isPermaLink="false">http://visual77.com/?p=701</guid>
		<description><![CDATA[I&#8217;ve spent the past few months working heavily with Drupal, rebuilding my company&#8217;s primary site on it. While doing this, I came to an interesting issue that involved creating a module that I think the Drupal community at large could use &#8211; a new form item type for choose a state, with a full country [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p>I&#8217;ve spent the past few months working heavily with Drupal, rebuilding my company&#8217;s primary site on it. While doing this, I came to an interesting issue that involved creating a module that I think the Drupal community at large could use &#8211; a new form item type for choose a state, with a full country list as well. To solve this issue, I created the statepicker module, which is currently hosted on Drupal.org as a sandbox project, but I hope to have it upgraded to full project status shortly.</p>
<p>Statepicker creates a new field type, called &#8216;statepicker&#8217;, that creates a pair of dropdown menus in the form &#8211; a state dropdown and a country dropdown. When the country dropdown is changed, an AJAX call refreshes the state list to show the states from the current country. I&#8217;ve also created an administration panel that lets an admin edit the state list.</p>
<p>You can download the module from the Drupal.org site, currently only through the repository viewer.</p>
<p>http://drupal.org/sandbox/visual77/1258930</p>
<div class="shr-publisher-701"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://visual77.com/blog/2011/08/drupal-statepicker-module/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Team Liquid Browser Extension</title>
		<link>http://visual77.com/blog/2011/04/team-liquid-browser-extension/</link>
		<comments>http://visual77.com/blog/2011/04/team-liquid-browser-extension/#comments</comments>
		<pubDate>Tue, 05 Apr 2011 23:37:28 +0000</pubDate>
		<dc:creator>visual77</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[starcraft]]></category>
		<category><![CDATA[teamliquid]]></category>

		<guid isPermaLink="false">http://visual77.com/blog/?p=674</guid>
		<description><![CDATA[Lately I&#8217;ve been thinking about writing a browser extension for my beloved teamliquid.net, which is my main source for all things StarCraft. I&#8217;ve already created a set of Greasemonkey scripts specifically for Team Liquid,  but that was before I learned how to write a proper browser extension. After writing Zearch for Firefox and Chrome, I [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p>Lately I&#8217;ve been thinking about writing a browser extension for my beloved <a title="Team Liquid" href="http://teamliquid.net" target="_blank">teamliquid.net</a>, which is my main source for all things StarCraft. I&#8217;ve already created a <a title="Team Liquid Greasemonkey Scripts" href="http://www.teamliquid.net/forum/viewmessage.php?topic_id=197313" target="_blank">set of Greasemonkey scripts</a> specifically for Team Liquid,  but that was before I learned how to write a proper browser extension. After writing Zearch for Firefox and Chrome, I feel a lot more confident in cutting Greasemonkey out of the equation and going straight for a proper Team Liquid extension.</p>
<p>As far as desired functionality goes, it&#8217;s a given that the two existing scripts will be integrated. Although, I really should fix the banned user script first&#8230; that only seems to work for me about half of the time. In addition to the sidebar updater and banned user linking, I will add some functionality for the stream list, at the recommendation of my dear friend Will. I will allow customizing of the featured streams list, and sorting by race.</p>
<p>In order to do this, however, I need to figure out how to set and retrieve configuration options in both Chrome and Firefox. Unlike Zearch, this tool will need some long term data storage. Not only will I need to save user preferences for featured streams, but I&#8217;d also like to allow for some configuration, like which features to enable / disable and other miscellaneous settings.</p>
<div class="shr-publisher-674"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://visual77.com/blog/2011/04/team-liquid-browser-extension/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What have I been up to?</title>
		<link>http://visual77.com/blog/2011/04/what-have-i-been-up-to/</link>
		<comments>http://visual77.com/blog/2011/04/what-have-i-been-up-to/#comments</comments>
		<pubDate>Tue, 05 Apr 2011 16:48:16 +0000</pubDate>
		<dc:creator>visual77</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[basic]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[robots]]></category>
		<category><![CDATA[zearch]]></category>

		<guid isPermaLink="false">http://visual77.com/blog/?p=661</guid>
		<description><![CDATA[I posted a few days ago on my entry to the Zappos API Developer Challenge, and that was my first post in 6 months. I haven&#8217;t been as consistent with my updates as I once was, but it&#8217;s certainly not for lack of things to ramble on about. I&#8217;ve actually been very busy. I&#8217;ve spent [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p>I posted a few days ago on my entry to the <a href="http://developer.zappos.com/blog/first-zappos-developer-contest" target="_blank">Zappos API Developer Challenge</a>, and that was my first post in 6 months. I haven&#8217;t been as consistent with my updates as I once was, but it&#8217;s certainly not for lack of things to ramble on about. I&#8217;ve actually been very busy. I&#8217;ve spent a lot of time reading books about some cool concepts that are doing wonders for advancing myself. In particular, I&#8217;ve been reading <em>Design Patterns: Elements of Reusable Object-Oriented Software</em>, <em>JavaScript Patterns</em> and <em>Refactoring: Improving the Design of Existing Code</em>. So I guess I haven&#8217;t been writing much because everything I&#8217;ve been thinking about has already been documented by someone else who explained it far better than I could at the moment.</p>
<p>I&#8217;ve also been spending a lot of building my new robot, Lil&#8217; Lady Murderpants, and working on my <a href="http://visual77.com/zappos/zearch/" target="_blank">Zearch</a> browser extension. Even though the Zappos API Developer Challenge is complete and my entry has already been submitted, I still want to keep working on it and making it even more amazing. There are some features to be implemented, some refactoring to be done and some styling to pretty it up. I&#8217;ll end up doing a more thorough article on the direction that Zearch will be taking in comings months, so I won&#8217;t go into too much details here.</p>
<p>As far as Lil&#8217; Lady Murderpants, that will also be elaborated upon further down the road. For starters, though, she&#8217;s an adorable little ball of joy that I made with my girlfriend over the weekend. We began by following the great tutorial over on <a href="http://letsmakerobots.com/start" target="_blank">Let&#8217;s Make Robots</a>. Right now, there are issues with her eyes. The range finding sensors are not reporting data back properly. Once we get that resolved, we can have her run some meaningful software. It&#8217;s all programmed in BASIC, so i&#8217;m having to learn a new language as part of this project, but learning new things is one of my favorite things to do.</p>
<div class="shr-publisher-661"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://visual77.com/blog/2011/04/what-have-i-been-up-to/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hosting switch is complete!</title>
		<link>http://visual77.com/blog/2011/04/hosting-switch-is-complete/</link>
		<comments>http://visual77.com/blog/2011/04/hosting-switch-is-complete/#comments</comments>
		<pubDate>Tue, 05 Apr 2011 16:25:03 +0000</pubDate>
		<dc:creator>visual77</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[zearch]]></category>

		<guid isPermaLink="false">http://visual77.com/blog/?p=663</guid>
		<description><![CDATA[Yesterday, I completed the switch from Bluehost to InmotionHosting. I had been with Bluehost for the past 2 years. They were really good early on, but in the past year, the sites began to slow down significantly and crash several times weekly. I never had data loss or site outages that lasted more than 10 [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p>Yesterday, I completed the switch from Bluehost to InmotionHosting. I had been with Bluehost for the past 2 years. They were really good early on, but in the past year, the sites began to slow down significantly and crash several times weekly. I never had data loss or site outages that lasted more than 10 minutes, but it was still extremely obnoxious and unacceptable. I decided to switch to InmotionHosting after having really good experiences with them at work. In particular, their tech support and customer service is amazing.</p>
<p>All pages should be fully operational, but with any hosting switch comes a bit of a risk. I&#8217;m still moving over the other domains I had hosted, but none were as significant as visual77.com, so I&#8217;m taking my time with the rest. I&#8217;m not transferring over all domains, though. There are a few that expire very shortly and I have no interest in renewing.</p>
<p>I just hope no issues pop up during this critical judging phase for the Zappos API Developer Challenge, where my Zearch extension has been entered. It would be a shame to lose points because the Zappos developers were unable to even download Zearch during the downtime.</p>
<div class="shr-publisher-663"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://visual77.com/blog/2011/04/hosting-switch-is-complete/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Zearch! My entry to the Zappos API Developer Challenge</title>
		<link>http://visual77.com/blog/2011/03/zearch-my-entry-to-the-zappos-api-developer-challenge/</link>
		<comments>http://visual77.com/blog/2011/03/zearch-my-entry-to-the-zappos-api-developer-challenge/#comments</comments>
		<pubDate>Thu, 31 Mar 2011 16:52:59 +0000</pubDate>
		<dc:creator>visual77</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[zearch]]></category>

		<guid isPermaLink="false">http://visual77.com/blog/?p=655</guid>
		<description><![CDATA[I just finished work on Zearch, a browser extension that currently works for Firefox and Chrome. This project is my entry to the first Zappos API Developer Challenge. To say it&#8217;s been a learning experience is an understatement. This is my first time writing an extension for either Firefox or Chrome, so I went into [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p>I just finished work on <a href="http://visual77.com/zappos/zearch/">Zearch</a>, a browser extension that currently works for Firefox and Chrome. This project is my entry to the first <a href="http://developer.zappos.com/blog/first-zappos-developer-contest" target="_blank">Zappos API Developer Challenge</a>. To say it&#8217;s been a learning experience is an understatement. This is my first time writing an extension for either Firefox or Chrome, so I went into this possibly too careful in some ways, maybe not careful enough in ways I have yet to realize.</p>
<p>I started on the Firefox extension, but from the very beginning I knew I wanted to have this work on multiple browsers. In retrospect, I don&#8217;t really know why I went for Firefox first. I prefer Chrome as both a web browser and a development platform. Regardless, I paid careful attention to making sure my code was split up properly.</p>
<p>My strategy ended up with splitting the files into a few key areas. I really had no previous experience to base these splits on, it was more just a feeling that this would allow me the greatest flexibility for porting to another browser.</p>
<p><strong>zearch.js is the core JavaScript file</strong>. This file would ideally remain the same on every browser. It contains the guts of the operation and is in control of the majority of the functionality.</p>
<p><strong>utils.js is browser specific actions. </strong>This file can change from browser to browser, although some commands may not. This is a set of utilities that zearch.js will use to turn on and off elements, create menus and other functions that are likely to differ significantly in their implementation.</p>
<p><strong>bindings.js binds page elements to Zearch functions. </strong>This also will change from browser to browser. I could have integrated it in with utils for that reason, but while writing the code, there seemed to be such a sharp disconnect between utils.js and bindings.js that I felt it necessary to clearly separate the two.</p>
<p><strong>zearch.html / zearch.xul define the page elements. </strong>Each browser had a very different way to define what shows up on the page, but that&#8217;s okay. I expected some things to vary wildly, and the structure of bindings.js and zearch.js made this very easy to adapt to.</p>
<p>When it came time to porting from Firefox to Chrome, this structure seemed to work out quite well. I&#8217;d like to end up porting it over to another browser (Opera is probably next on the list), and hopefully I can still use the same structure.</p>
<p>This is my first extension, but won&#8217;t be my last. I had a lot of fun writing it. I&#8217;m curious as to how long this structure will hold up before issues are brought to my attention regarding either flaws with this or better ways to do it.</p>
<div class="shr-publisher-655"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://visual77.com/blog/2011/03/zearch-my-entry-to-the-zappos-api-developer-challenge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Build 20100609</title>
		<link>http://visual77.com/blog/2010/06/build-20100609/</link>
		<comments>http://visual77.com/blog/2010/06/build-20100609/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 04:40:13 +0000</pubDate>
		<dc:creator>visual77</dc:creator>
				<category><![CDATA[gaming]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[sc2build]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[starcraft]]></category>

		<guid isPermaLink="false">http://visual77.com/blog/?p=622</guid>
		<description><![CDATA[The newest iteration in my StarCraft II Build Order Calculator is a minimalistic approach, in comparison to the previous builds. Unlike the last few ambitious builds that attempted time and resource calculation, this is an attempt at the absolute basics. It is also my first build calculator that is somewhat usable right at the moment, [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p>The <a href="http://sc2build.com/id/20100609/">newest iteration</a> in my <a href="http://visual77.com/blog/category/sc2build">StarCraft II Build Order Calculator</a> is a minimalistic approach, in comparison to the previous builds. Unlike the last few ambitious builds that attempted time and resource calculation, this is an attempt at the absolute basics. It is also my first build calculator that is somewhat usable right at the moment, as opposed to merely offering a glimpse at where I want to go with this system.</p>
<p>This calculator contains all units for all 3 races and allows for race changing and resetting the build. It also begins to toy with styles and the UI, although I didn&#8217;t spend much time other than getting elements in the rough position that I would like them to be.</p>
<p>I dropped back to a more minimal approach because I felt like the more advanced approaches I was working on were going in the wrong direction. I&#8217;d ultimately like a more advanced system, but I want to rewind a bit and go back to basics and consider alternative approaches to the other systems, that relied heavily on large data structures to store data, at times storing it repeatedly for different purposes.</p>
<div class="shr-publisher-622"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://visual77.com/blog/2010/06/build-20100609/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Build 20100524</title>
		<link>http://visual77.com/blog/2010/05/build-20100524/</link>
		<comments>http://visual77.com/blog/2010/05/build-20100524/#comments</comments>
		<pubDate>Sun, 30 May 2010 21:27:56 +0000</pubDate>
		<dc:creator>visual77</dc:creator>
				<category><![CDATA[gaming]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[sc2build]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[starcraft]]></category>

		<guid isPermaLink="false">http://visual77.com/blog/?p=617</guid>
		<description><![CDATA[I completed the third JavaScript iteration of the StarCraft II Build Order Calculator this morning and put it online. It took a few days longer than I expected, but I also drastically changed how the data is being stored for the build order. In my previous builds, I stored the data with the time as [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p>I completed the <a href="http://sc2build.com/id/20100524/">third JavaScript iteration</a> of the <a href="http://sc2build.com">StarCraft II Build Order Calculator</a> this morning and put it online. It took a few days longer than I expected, but I also drastically changed how the data is being stored for the build order. In my <a href="http://visual77.com/blog/category/sc2build">previous builds</a>, I stored the data with the time as the lowest level element, whereas this build stores the unit as the lowest level element. This makes it easier to see what the unit is doing (and thus, what it is allowed to do), but makes it harder to display the timeline.</p>
<p>I also stored unit actions (such as build Probe, warp in Pylon, etc.) as functions within each unit. As I wrote the functions, it quickly became apparent that a huge number of functions are identical and should only be written in one place.</p>
<p>This build shows me the viability of storing unit actions within the function and keeping track of unit timelines within the unit, but also shows the weaknesses of displaying the timeline when I have to scan every unit for every second to see what has been done. It still does not take into account that you need a Gateway before you can make a Zealot, but I chose to not pursue that in this build when all of the flaws of this build became apparent. It does, however, take into account queuing and will not let you build more than 1 Probe from a Nexus at any one time.</p>
<p>I will begin my next iteration very soon and hope to have that online within the next few days. Each iteration definitely teaches me a lot about what will and will not work. I am still very far from a final build, but I still think it is possible to get the final build online before the game launches on Jul 27, 2010.</p>
<div class="shr-publisher-617"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://visual77.com/blog/2010/05/build-20100524/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
