<?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>The Spectacular Blog of George Titsworth</title>
	<atom:link href="http://www.georgetitsworth.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.georgetitsworth.com</link>
	<description>For what its worth</description>
	<lastBuildDate>Wed, 13 Jul 2011 04:17:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>My Introduction To Hashing… Or The Best Running Event Ever!</title>
		<link>http://www.georgetitsworth.com/2011/07/my-introduction-to-hashing%e2%80%a6-or-the-best-running-event-ever/</link>
		<comments>http://www.georgetitsworth.com/2011/07/my-introduction-to-hashing%e2%80%a6-or-the-best-running-event-ever/#comments</comments>
		<pubDate>Tue, 12 Jul 2011 06:00:52 +0000</pubDate>
		<dc:creator>george</dc:creator>
				<category><![CDATA[Fitness]]></category>
		<category><![CDATA[drinking]]></category>
		<category><![CDATA[fitness]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[hashing]]></category>
		<category><![CDATA[huntsville]]></category>

		<guid isPermaLink="false">http://www.georgetitsworth.com/?p=78</guid>
		<description><![CDATA[This weekend, I was officially introduced to the world of the international group known as Hash House Harriers, or as they describe themselves: a drinking club with a running problem. Hashing was the best time I&#8217;ve ever had running! So before I get too far, I guess I need to explain what Hashing is. Hashing follows [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-large wp-image-79" title="Hash250-2-7" src="http://www.georgetitsworth.com/wp-content/uploads/2011/07/Hash250-2-7-1024x496.jpg" alt="" width="595" height="288" /></p>
<p>This weekend, I was officially introduced to the world of the international group known as <a href="http://en.wikipedia.org/wiki/Hash_House_Harriers">Hash House Harriers</a>, or as they describe themselves: a drinking club with a running problem.</p>
<p><strong>Hashing was the best time I&#8217;ve ever had running!</strong></p>
<p>So before I get too far, I guess I need to explain what Hashing is. Hashing follows thee basic rules of a Paper chase or the Hound and Hare game. The &#8216;hare&#8217; starts off the run and creates a trail. He leaves powder or pieces of paper to mark the trail. He creates &#8216;checks&#8217;, or forks in the trail where he tries to throw the &#8216;hounds&#8217; off the trail. A few minutes later all of the &#8216;hounds&#8217; are released to chase the hare. They run trying to find the trail, most likely following a false trail and finding their way back to the &#8216;true trail&#8217;.</p>
<p>The major differentiator between hashing and a traditional paper chase is that the hashers LOVE TO DRINK! The chase is meant to be one big open social event. You exercise. You party. It&#8217;s awesome! Now, you don&#8217;t <em>have</em> to drink&#8230; but come prepared to <strong>DRANK!</strong> Don&#8217;t worry about the extra calories, you&#8217;ll burn them off.</p>
<p>Before I get to my hash recap, I want to give you 5 reasons you should stop what your doing, <a href="http://www.gthhh.com/">look up your local hash group</a>, and show up for the next run:</p>
<p><strong>1. Mixes up your run.</strong></p>
<p>Hashing isn&#8217;t just running on the street at a set pace like most of your runs. Hashing takes you off the beaten path: through fields, down abandoned streets, under overpasses, in drainage ditches, wherever the hare decides to take you, you go. Not only do you mix up the path, you mix up the pace. You may run for a while, stop to find the trail, or sprint to catch up to the rest of the pack. I definitely used some running muscles that hadn&#8217;t been worked in a while.</p>
<p><strong>2. Discover your city</strong></p>
<p>I&#8217;ve lived in my city for 6 years, yet I have never been to 95% of the places I ran during my hash. Discovering new places while you&#8217;re running is a little different than driving by places. You&#8217;re in the place experiencing it as opposed to driving by and observing it from the outside. Since your running in all directions, you get turned around pretty easily, which brings on some extra excitement when you realize where you are after pushing your way through a wall of brush and overgrowth.</p>
<p><strong>3. It&#8217;s like college for grownups</strong></p>
<p>If your in the same boat as me, you have a real job, a wife, kids, responsibility, you probably sometimes long for the days when you were in high school or college; the days you went out with your buddies and drank beer and told dirty jokes and didn&#8217;t have many cares. In one night, I satisfied all my yearnings for college days of yore. My wife and I got a babysitter, and went out and had a blast. Between the bars, the house parties, and the fun people, it was like reliving the best parts of college. Just for a night, I could revert back to my 21 year old self, and have 40 other people in the same boat.</p>
<p><strong>4. Age and Fitness don&#8217;t mean a thing!</strong></p>
<p>The way the run is set up, you can be out of shape (within reason) and still keep up. The trail can be run or walked, so no worries if you aren&#8217;t a runner. In fact, the walkers sometimes do better because they can fall back and let the runners run all over the place trying to find the trail. In the hash I went to, there was men and women ages 21 &#8211; 60, weighing anywhere from 100 to 300 pounds. We all walked across the finish line within minutes of each other. The only thing everyone had in common, was were were wanting to have fun.</p>
<p><strong>5. We all need a little bit of ritual</strong></p>
<p>At the end of the trail, we all joined together in a circle to thank the hare for the greta trail, to properly introduce all the new hashers (by making them drink a beer), to welcome or welcome back hashers from other places (by making them drink a beer), to call out the people that didn&#8217;t come in costume (by making them drink a beer), and to tease the people who wore new shoes (by making them drink a beer&#8230; out of their new shoes). While it is definitely an alcohol heavy event, the important part was to open up, meet new people, and have a great time.</p>
<p><strong>WARNING: </strong>I will admit, hashing is probably not for you if you are easily offended. Some of the jokes, rituals, etc. are in what some might consider poor taste. But I say, open up your mind, join in, and you will have a great time.</p>
<h2>My Hash Recap</h2>
<p><img class="alignnone size-full wp-image-84" title="Screen shot 2011-07-11 at 11.41.05 PM" src="http://www.georgetitsworth.com/wp-content/uploads/2011/07/Screen-shot-2011-07-11-at-11.41.05-PM.png" alt="" width="397" height="276" /></p>
<p>My first hash was with the <a href="http://www.rocketshitty.com/">Rocket Shitty Hash House Harriers</a> on their 250th hash. They teamed up with a local running group, the Dixie Daredevils, to raise money for the American Cancer Society (Running, Drinking, and Philanthropy?!). For the big event they set up a pub run, which is a hash that starts, has multiple pit stops, and ends at different bars along the trail.</p>
<p>This hash took place in downtown Huntsville, AL and followed a course that went about 4.5 miles (not including the false trails). We started off at a bar called the Furniture Factory for our &#8220;Pre-Lube&#8221;. I admit, I was a little nervous going into the run. I&#8217;ve had a little practice beer running, but 5 miles and four beer stops, could I handle it? You bet I could!</p>
<p>Luckily, we were able to find a last minute babysitter, and my wife came with me. I had invited another couple we are friends with and they met us there as well. He had done some hashing in Nashville, which was good because I had already had beer when they were giving the hash instructions. I introduced myself as Just George, since it was my first hash and I haven&#8217;t earned a hash name yet (each hasher has a special hash name that is given to them by the group).</p>
<p><img class="alignnone size-full wp-image-80" title="Hash250--3" src="http://www.georgetitsworth.com/wp-content/uploads/2011/07/Hash250-3.jpg" alt="" width="500" height="211" /></p>
<p>So after a group picture, the blessing of the hare, and another beer, the hash had started. The first leg was a little confusing. I didn&#8217;t know all the rules, so I just followed the pack, but I stayed too close to the front runner, because we got way off course and had to make our way back to the larger pack, who had found the right way to go. The sun was still out, and the temp was around 90, so it was a hot run. I&#8217;m glad I&#8217;ve been training in the heat, because I was doing much better than some other people. The first path took us over some train tracks, under some underpasses, and across parking lots.</p>
<p>After about a mile, we stopped at a bar called Leanne&#8217;s for some refreshments. That&#8217;s where the picture at the top of the page was taken. As soon as we walked in, we had bottles handed to us. A nice cool beer had never tasted as good as it did after a mile in the hot sun. My wife even drank one, and she&#8217;s not a beer person. I drank one beer, and half of my wife&#8217;s beer and we were off again!</p>
<p>I thought it would be bad running with so much beer on the stomach, but to be honest, I never even noticed it. I was amazed how it didn&#8217;t affect my running at all. The next leg was around 2.5 miles. The course got harder at this point. We went down old roads that have grown over, through fields that needed to be mowed, across a drainage ditch that we had to climb down into (and up out of), through an old mill campus, and finally to some bar that I&#8217;ve never heard of. Well at that bar, this was waiting:</p>
<p><img class="alignnone size-full wp-image-81" title="Hash250--2-2" src="http://www.georgetitsworth.com/wp-content/uploads/2011/07/Hash250-2-2.jpg" alt="" width="500" height="280" /></p>
<p>So after two more beers and some good conversations, we went off on the last leg of the run. I would have to say the last leg was the hardest. It had gotten cooler since the sun had gone down, but that caused a new problem: it was dark. We were warned to bring flashlights, so we were at least a little prepared. During the last phase, the trail took us through some broken fences, a field that had grass, weeds, and shrubs waist high, followed by some ditches that were hard to see. I&#8217;m glad I had my Vibrams on and was light on my feet, there were a few times the ground wasn&#8217;t shaped the way I expected when I landed.</p>
<p>After a few lost trails, we finally made it to an open gate that led to someone&#8217;s back yard where tiki torches, coolers of beer, and many boxes of pizza were waiting for us. After everyone flowed in and had a chance to relax and enjoy a refreshing beverage, they started the circle.</p>
<p><img class="alignnone size-large wp-image-82" title="Hash250-2-9" src="http://www.georgetitsworth.com/wp-content/uploads/2011/07/Hash250-2-9-1024x596.jpg" alt="" width="595" height="346" /></p>
<p>The circle started by thanking the hare for the great trail (which it was great). They then announced all of the named hashers and welcomed back any that had missed a few hashes. They then introduced all of the virgin hashers and hashers that were visiting from out of town. Of course all of these thanks, announcements, and introductions came with a beer for each of them to chug. Of course, the lucky ones were special enough to dring out of the sacred vessel (yes I realize what it is).</p>
<p><img class="alignnone size-large wp-image-83" title="Hash250-2-3" src="http://www.georgetitsworth.com/wp-content/uploads/2011/07/Hash250-2-3-768x1024.jpg" alt="" width="595" height="793" /></p>
<p>The best part of the night was that the Dixie Daredevils met their $15,000 goal to run the Hood to Coast relay in california for the American Cancer Society. Those girls were super cool and knew how to have a good time. Very proud of them.</p>
<p>For anyone that is interested, my beer tab looked like this (I drank shitty beer on purpose): Pabst Blue Ribbon, Coors * 1.5, Bud Light * 1.5, Keystone Light (my broke college days favorite), and a Bud Light Yuengling mixture out of the sacred vessel.</p>
<p>After a little too much beer and a lot of fun, we decided to get back to the real world and head home (babysitter was paid by the hour <img src='http://www.georgetitsworth.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ). Luckily I woke up the next mornign feeling great, which was an extra, unexpected bonus!</p>
<p>I had a blast. My wife had a blast. Our friends had a blast. I&#8217;m so glad we all went, and I will definitely be back at the next hash.</p>
<p><strong>Have you ever gone hashing?</strong> Tell me about your experience.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.georgetitsworth.com/2011/07/my-introduction-to-hashing%e2%80%a6-or-the-best-running-event-ever/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Zilch to Private Beta Website in 10 minutes Using Django, Pinax, and Gondor</title>
		<link>http://www.georgetitsworth.com/2011/07/zilch-to-private-beta-website-in-10-minutes-using-django-pinax-and-gondor/</link>
		<comments>http://www.georgetitsworth.com/2011/07/zilch-to-private-beta-website-in-10-minutes-using-django-pinax-and-gondor/#comments</comments>
		<pubDate>Fri, 08 Jul 2011 04:58:43 +0000</pubDate>
		<dc:creator>george</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[epicify]]></category>
		<category><![CDATA[gondor]]></category>
		<category><![CDATA[introduction]]></category>
		<category><![CDATA[pinax]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.georgetitsworth.com/?p=47</guid>
		<description><![CDATA[In my last post, I mentioned starting a new Django project&#8230; Well, this is the process I used to go from nothing to a deployed site with user log-ins and a private beta sign-up functionality.  The total process took me a little over an hour, but after I factored out all of the time I spent [...]]]></description>
			<content:encoded><![CDATA[<div>
<div id="attachment_66" class="wp-caption alignnone" style="width: 650px"><a href="http://www.georgetitsworth.com/wp-content/uploads/2011/07/3371093256_7054b78578_z.jpg"><img class="size-full wp-image-66" title="Gondor" src="http://www.georgetitsworth.com/wp-content/uploads/2011/07/3371093256_7054b78578_z.jpg" alt="" width="640" height="369" /></a><p class="wp-caption-text">Photo courtesy of 10b travelling</p></div>
<p>In my <a href="http://www.georgetitsworth.com/2011/07/django-not-from-scratch/">last post</a>, I mentioned starting a new Django project&#8230; Well, this is the process I used to go from nothing to a deployed site with user log-ins and a private beta sign-up functionality.  The total process took me a little over an hour, but after I factored out all of the time I spent researching and resolving some odd behaviors and just being dumb in general,<strong> the entire process boils down to about 10 minutes of actual work time</strong>. Not bad.</p>
<p>Note: I am using some processes here that are not &#8220;necessary&#8221;, but are good practices. Feel free to let me know if there are better ways to do things, or if you disagree with my process. I&#8217;m learning here and I&#8217;d love some input.</p>
<p>There are also some necessary prerequisites that you should have installed:</p>
<ul>
<li>Install all <a href="http://pinaxproject.com/docs/dev/gettingstarted/">pinax prerequisites</a></li>
<li><a href="http://git-scm.com/">git</a> for version control</li>
</ul>
<h2>Setting up the environment</h2>
<p>The first thing you need to do is to set up your development environment using virtualenv. Virtualenv sets up a local copy a python environment (not tied to your system installation of python). This is a great step to take so you can set your virtual environment up to match your deployment environment without having to mess with your system installation of python. For my site, Epicify, here is how I set it up:</p>
<blockquote>
<pre>$ virtualenv epicify-env
New python executable in epicify-env/bin/python
Installing setuptools............done.
Installing pip...............done.

$ source epicify-env/bin/activate
(epicify-env)$</pre>
</blockquote>
<p>That was easy.</p>
<h2>Installing Pinax</h2>
<p>The next step is to install the Pinax infrastructure for the site. This will handle the core site elements, such as user authentication and a private beta configuration.</p>
<p>Once again this is an extremely simple process:</p>
<blockquote>
<pre>(epicify-env)$ pip install Pinax
Downloading/unpacking Pinax
  Downloading Pinax-0.9a1.tar.gz (4.7Mb): 4.7Mb downloaded
  Running setup.py egg_info for package Pinax
Installing collected packages: Pinax
  Running setup.py install for Pinax
    Installing pinax-admin script to /Users/titsworth/epicify-env/bin
Successfully installed Pinax
Cleaning up...</pre>
<pre>(epicify-env)$</pre>
</blockquote>
<p>In the next step, I will vere off the Pinax documentation just a little bit. I do this so that I will be compatible with the Gondor <a href="https://gondor.io/support/project-layout/">site layout requirements</a>, which expexts the root project directory to be under the repository root directory. To handle this, I just create a directory called <em>epicify</em>, and then create my pinax project under that directory (which creates a another directory called <em>epicify</em>).</p>
<blockquote>
<pre>(epicify-env)$ mkdir epicify
(epicify-env)$ cd epicify
(epicify-env)$ pinax-admin setup_project -b private_beta epicify
Created project epicify
Installing project requirements...
<strong>(Lots of stuff here)...</strong></pre>
</blockquote>
<p>The &#8216;<em>pinax-admin setup_project</em>&#8216; has a few options for default site infrastructures. Use the &#8216;<strong>-l</strong>&#8216; option to see all of the options. I decided to go for the <em>private_beta</em> site which a basic site with an additional application that handles a limited beta functionality.</p>
<p>If you have any problems with this process, please see the Pinax documentation. It is pretty good about resolving the common issues.</p>
<h2>Initializing  the git repository</h2>
<p>It&#8217;s good practice to keep your code under some sort of source code control (and Gondor requires it). It allows you to track changes over time, back out changes that didn&#8217;t quite work as you expected, and prepare yourself for the day when your site needs more than one developer. The process is too easy not to do it:</p>
<blockquote>
<pre>(epicify-env)$ git init
(epicify-env)$ git add .
(epicify-env)$ git commit -m "Initial commit including pinax base"</pre>
</blockquote>
<h2>Testing break&#8230;</h2>
<p>Just to make sure things are working fine locally, run the following commands:</p>
<blockquote>
<pre>(mysite-env)$ cd epicify
(mysite-env)$ python manage.py syncdb
(mysite-env)$ python manage.py runserver</pre>
</blockquote>
<p>And point your browser to &#8220;http://127.0.0.1:8000/&#8221;. You should have the basic Pinax site! Woohoo!! You&#8217;re in the cool crowd. If something went wrong, this is the time to drop a few F-bombs, flip over your desk, and storm off.</p>
<p>Or you could just debug and start back when the site works.</p>
<h2>Deploy this thang!</h2>
<h3>Deployment preparation</h3>
<p>At this point, we are ready to prepare our site for deployment, the process where you put it out on a public server for all of the world to see. In order to get Pinax to work with Gondor, a few special things need to be done.</p>
<p>First, The Pinax default installation refers to a default Pinax theme. The default Pinax theme is located under the Pinax installation directory, which is not under the project directory. To resolve this, I just copy the entire default Pinax theme directory to my my project template root.</p>
<blockquote>
<pre>(epicify-env)$ cp ../../epicify-env/lib/python2.6/site-packages/pinax/templates/default/ templates/</pre>
</blockquote>
<p>Now we need to update the settings.py file to point to the new default template location. This includes modifying the <em>TEMPLATE_DIRS</em> property and the <em>STATICFILES_DIRS</em> property. In the code, below, I just commented out the old lines that refer to <em>PINAX_ROOT</em> and replaced it with a similar line tat refers to the <em>PROJECT_ROOT</em>.</p>
<blockquote>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">TEMPLATE_DIRS = <span style="color: black;">&#91;</span>
<span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span>PROJECT_ROOT, <span style="color: #483d8b;">&quot;templates&quot;</span>, PINAX_THEME<span style="color: black;">&#41;</span>,
<span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span>PROJECT_ROOT, <span style="color: #483d8b;">&quot;templates&quot;</span><span style="color: black;">&#41;</span>,
<span style="color: #808080; font-style: italic;">#os.path.join(PINAX_ROOT, &quot;templates&quot;, PINAX_THEME),</span>
<span style="color: black;">&#93;</span>
...
<span style="color: #808080; font-style: italic;"># Additional directories which hold static files</span>
STATICFILES_DIRS = <span style="color: black;">&#91;</span>
<span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span>PROJECT_ROOT, <span style="color: #483d8b;">&quot;media&quot;</span><span style="color: black;">&#41;</span>,
<span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span>PROJECT_ROOT, <span style="color: #483d8b;">&quot;media&quot;</span>, PINAX_THEME<span style="color: black;">&#41;</span>,
<span style="color: #808080; font-style: italic;">#os.path.join(PINAX_ROOT, &quot;media&quot;, PINAX_THEME),</span>
<span style="color: black;">&#93;</span></pre></div></div>

</blockquote>
<p>The final change requires you to rename the &#8216;<strong>pinax.wsgi</strong>&#8216; file in the <em>deploy</em> directory to &#8216;<strong>wsgi.py</strong>&#8216;</p>
<p><strong>UPDATE:</strong> The real final step (forgot one) is to add the following two lines to your <em>requirements/project.txt</em> file:</p>
<blockquote>
<pre>gondor==1.0b1.post10
psycopg2==2.4.1</pre>
</blockquote>
<p>The version of Gondor might be newer than what is available, so check the <a href="http://pypi.python.org/pypi/gondor">Python Package Index</a> for the latest version.</p>
<h3>Installing and configuring Gondor</h3>
<p>One you have prepared your site, the actual Gondor deployment is fairly simple. This section just rehashes the <a href="https://gondor.io/support/introduction/">instructions found on the Gondor website</a></p>
<p>To get started, install Gondor on your local system.</p>
<blockquote>
<pre>(epicify-env)$ pip install gondor</pre>
</blockquote>
<p>You then need to create a <em>.gondor</em> file in your home directory that contains your Gondor authentication information</p>
<blockquote>
<pre>[auth]
username = &lt;username&gt;
password = &lt;password&gt;</pre>
</blockquote>
<p>Now that Gondor is installed and your authentication information is stored, it is time to create a site on the Gondor website (technically you can do this part first):</p>
<p><a href="http://www.georgetitsworth.com/wp-content/uploads/2011/07/Screen-shot-2011-07-07-at-10.56.43-PM-e1310097610731.png"><img title="Gondor Site Creation" src="http://www.georgetitsworth.com/wp-content/uploads/2011/07/Screen-shot-2011-07-07-at-10.56.43-PM-e1310097610731.png" alt="" width="602" height="317" /></a></p>
<p>Once your site is created, you should be presented with a site key. Using this site key, you will need to initialize your project with the Gondor system. To do this, run the following command in your project&#8217;s root folder (alongside the <em>settings.py</em> file).</p>
<blockquote>
<pre>(mysite-env)$ gondor init &lt;site_key&gt;</pre>
</blockquote>
<p>This creates a <em>.gondor</em> directory in your project. The lat bit of project customization comes about due to the fact that Pinax runs on Django 1.2, and thus utilizes an external module to deliver static media and files (django-staticfiles). Because of this, gondor needs a configuration change to understand this requirement.</p>
<p>Open the <em>.gondor/config</em> file and change the <strong>staticfiles</strong> setting to on:</p>
<blockquote><p>staticfiles = on</p></blockquote>
<p>This is all the changes necessary to deploy our site, however, the  Gondor deploy command only deploys the version of your site that has been commited to the repository. So we need to make sure we commit all of our changes:</p>
<blockquote>
<pre>(epicify-env)$ git add .
(epicify-env)$ git commit -m "Preparations for Gondor deployment"</pre>
</blockquote>
<p>Finally, we just need to deploy our site to Gondor</p>
<blockquote>
<pre>(epicify-env)$ gondor deploy primary master</pre>
<pre>Reading configuration... [ok]</pre>
<pre>Archiving code from master... [ok]
Building tarball... [ok]
Pushing tarball to Gondor...
[##################################100%#####################################]
Deploying... [ok]

Visit: http://<em>[deployment]</em>.o1.gondor.io/</pre>
</blockquote>
<p>Assuming everything went smoothly, you should be able to visit the link above and voila, you have a fully functional, beta website. Sure, your branding is not there, but for 10 minutes of work, you&#8217;ve done quite a bit. Users can request an account, once given, they can log in, update their profile, etc.</p>
<p>We are now ready to do the actual work: adding in the domain specific behavior that makes our site special, customizing/redoing the UI, and all the other things it takes to start up a new site. But, as they say, that is another battle and another 10 minute block.</p>
<p>Until then!</p>
<p>P.S. I might have missed a step or two, so let me know if you are using this intro and run into problems. Also, I am still a relative noob to a lot of this capability, so please let me know if I&#8217;m going about something wrong or even if there is justa quicker/better way to do things. Thanks!</p>
<p><strong>UPDATE:</strong> I forgot an important step at the very end&#8230; creating a superuser for your site. You&#8217;ll probably need this to log in and do things <img src='http://www.georgetitsworth.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Once again the process is simple. Just run the gondor command to create the super user:</p>
<blockquote>
<pre>(epicify-env)$ <span class="Apple-style-span" style="font-family: georgia, times, serif; font-size: 14px; line-height: 22px; white-space: normal;">gondor run primary createsuperuser</span></pre>
</blockquote>
<p><span class="Apple-style-span" style="font-family: georgia, times, serif; font-size: 14px; line-height: 22px; white-space: normal;">From here, just follow the instructions and you&#8217;ll be able to log right in!</span></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.georgetitsworth.com/2011/07/zilch-to-private-beta-website-in-10-minutes-using-django-pinax-and-gondor/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>I am a robot</title>
		<link>http://www.georgetitsworth.com/2011/07/i-am-a-robot/</link>
		<comments>http://www.georgetitsworth.com/2011/07/i-am-a-robot/#comments</comments>
		<pubDate>Mon, 04 Jul 2011 05:12:22 +0000</pubDate>
		<dc:creator>george</dc:creator>
				<category><![CDATA[Family]]></category>
		<category><![CDATA[family]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[robot]]></category>

		<guid isPermaLink="false">http://www.georgetitsworth.com/?p=48</guid>
		<description><![CDATA[Picture from my 4 year old daughter. I love kids.]]></description>
			<content:encoded><![CDATA[<p>Picture from my 4 year old daughter. I love kids.</p>
<div id="attachment_49" class="wp-caption alignnone" style="width: 639px"><img class="size-full wp-image-49" title="Robot" src="http://www.georgetitsworth.com/wp-content/uploads/2011/07/2011-06-30_18-08-10_206-e1309756209357.jpg" alt="" width="629" height="474" /><p class="wp-caption-text">Look at my massive robot hands!</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.georgetitsworth.com/2011/07/i-am-a-robot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Django (Not) From Scratch</title>
		<link>http://www.georgetitsworth.com/2011/07/django-not-from-scratch/</link>
		<comments>http://www.georgetitsworth.com/2011/07/django-not-from-scratch/#comments</comments>
		<pubDate>Sun, 03 Jul 2011 22:24:27 +0000</pubDate>
		<dc:creator>george</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[epicify]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.georgetitsworth.com/?p=30</guid>
		<description><![CDATA[As I mentioned in my last post: I&#8217;m an eternal noob. What&#8217;s sad is that I&#8217;m a Django noob with 4 years of Django experience. Django, a web framework written in python, has been my go to web framework of choice for a few years now. Sure rails has a more vibrant community, but django [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_37" class="wp-caption alignnone" style="width: 650px"><a href="http://www.georgetitsworth.com/wp-content/uploads/2011/07/3279405398_d8e803187a_z-e1309723495324.jpg"><img class="size-full wp-image-37" title="Beginning" src="http://www.georgetitsworth.com/wp-content/uploads/2011/07/3279405398_d8e803187a_z-e1309723495324.jpg" alt="" width="640" height="240" /></a><p class="wp-caption-text">Photo courtesy of SantiMB</p></div>
<p>As I mentioned in my last post: <a title="The Eternal Noob" href="http://www.georgetitsworth.com/2011/07/the-eternal-noob/">I&#8217;m an eternal noob</a>.</p>
<p>What&#8217;s sad is that I&#8217;m a Django noob with 4 years of Django experience.</p>
<p>Django, a web framework written in python, has been my go to web framework of choice for a few years now. Sure rails has a more vibrant community, but django has that powerful underdog vibe that I&#8217;ve always liked. My friend <a title="@trey" href="http://twitter.com/trey">@trey</a> summed it up in a nice SAT preparation example &#8211; Rails : Django :: iOS : Android.</p>
<p>The problem is: I&#8217;ve never finished a Django project. I always get to a decent point and just fizzle. I&#8217;m not proud of it, but it&#8217;s true. However, a few things have happened in the last few months that give me promise to tackle a few ideas I&#8217;ve been sitting on for a few years; A few examples being the barrage of easy Django hosting solutions, responsive design that will hopefully be an alternate to a dedicated mobile app for each mobile platform, and the prominence of social authentication through Facebook and Twitter.</p>
<p>So this is my intro to a &#8220;brand new Django project&#8221;. Not from a complete beginner&#8217;s perspective, but from the perspective of that 40 year old guy taking a class at the local community college. I&#8217;ve been around the block, but these damn kids just keep showing me up!</p>
<p>Since my last project, I have read the majority of the <a href="http://ruby.railstutorial.org/">Ruby on Rails Book</a>, which I believe does a better job of explaining the typical web development workflow than a lot of Django resources. While I understand that by doing this, the book is imposing a tremendous amount of opinion on the reader, but it gave me exactly what I needed: A day in the life of an experienced web developer. I understand the technical stuff, but what I felt like has been missing was the process that makes everything run smoothly. Not just the text book, but the professor that can fill in the gaps.</p>
<p>So after some time off, I&#8217;m ready to get back into some web development on an idea I&#8217;ve had for a while. And with some new tools at hand to get the job done, I&#8217;m thinking I&#8217;ll be able to knock this out fairly easily.</p>
<h2>Epicify</h2>
<p>My new project is called <strong>Epicify: <em>Daily missions to unleash your epic self</em></strong>. I&#8217;ll save the details of the website for a future post.</p>
<p>For now I am going to focus on the basic architecture and infrastructure for the project. This is not meant to be a complete guide, but hopefully it will have enough information to give you the basic concepts behand what I&#8217;m doing. (Really, this is for me to remember what I was doing [Hi future me!], but you can come along for the ride if you want.)</p>
<h2>The Basic Architecture</h2>
<ul>
<li>Django &#8211; obviously</li>
<li>Pinax &#8211; for the social infrastructure</li>
<li>South &#8211; for database migrations</li>
<li>Git &#8211; for source code version control</li>
<li>Gondor &#8211; for deployment</li>
</ul>
<h3>Pinax</h3>
<p>Since I&#8217;m lazy, I am going to try to knock out all of the functionality I can without having to write a line of code. To do this, I&#8217;m going to delegate my base project infrastructure to <a href="http://pinaxproject.com/">Pinax</a>. The best way to describe pinax is exactly how they describe it on their home page: &#8220;Pinax takes care of the things that many sites have in common so you can focus on what makes your site different.&#8221; User accounts, profiles, options for groups, private-betas, and many other pre-built site baselines.</p>
<p>One of my favorite parts about Pinax is that they have a default design template that has all the pages for profiles, user log-in, etc. This, along side of Django&#8217;s built in admin section, means I no longer have to worry bout these basic pages and am that much closer to working on my idea.</p>
<h3>South</h3>
<p>I&#8217;m still surprised there is not a built in <a href="http://ericholscher.com/blog/2009/nov/6/large-problems-database-migrations/">migrations</a> scheme in Django. For those of you who are unaware of what data migrations are, please <a href="http://south.aeracode.org/docs/whataremigrations.html">read here</a>. I have decided to go with <a href="http://south.aeracode.org/">South</a>. Why&#8230; I don&#8217;t know. Why not?</p>
<h3>Git</h3>
<p>You have to have source control, and <a href="http://git-scm.com/">Git</a> is as good as they come. I will also hook some modules into the widely popular <a href="https://github.com/">Github</a>.</p>
<h3>Gondor</h3>
<p>In the last few months, there have been a multitude of &#8220;quick&#8221; and &#8220;easy&#8221; Django deployment options. This is something the Rails world has had for a while now, and I big positive that the Django world is catching up. The goal is to make your website deployment as easy as a source code push to the host servers, and they will handle the rest.</p>
<p>I was lucky enough to get a beta invite to <a href="http://gondor.io">Gondor</a>, which is a Django deployment option built by some of the bigger names in the Django community. Because of this, I am going to use this option for my deployment. We&#8217;ll see if the &#8220;quick&#8221; and &#8220;easy&#8221; holds up <img src='http://www.georgetitsworth.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<h2>Let&#8217;s roll up our sleeves</h2>
<p>In the next post, I&#8217;m going to get started with the installation and configuration process. In a few short commands I hope to have a fully functional site on the web. It won&#8217;t do anything yet, but it should allow users to register for a private beta to my site, and log in assuming they have been given a beta key.</p>
<p>Until next time!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.georgetitsworth.com/2011/07/django-not-from-scratch/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Eternal Noob</title>
		<link>http://www.georgetitsworth.com/2011/07/the-eternal-noob/</link>
		<comments>http://www.georgetitsworth.com/2011/07/the-eternal-noob/#comments</comments>
		<pubDate>Sat, 02 Jul 2011 02:23:58 +0000</pubDate>
		<dc:creator>george</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[effort]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[noob]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[project]]></category>

		<guid isPermaLink="false">http://www.georgetitsworth.com/?p=22</guid>
		<description><![CDATA[Do you ever feel that you are always relearning the same thing? I love to start new development projects during my off time. It gives me a chance to learn new things, to try new techniques, and keep me involved with the latest technology. Being in the specialty field I&#8217;m in at my job, I [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_23" class="wp-caption alignnone" style="width: 650px"><a href="http://www.flickr.com/photos/thomashawk/3191454610/"><img class="size-full wp-image-23" title="Loop" src="http://www.georgetitsworth.com/wp-content/uploads/2011/07/3191454610_122ea32617_z-e1309571696915.jpg" alt="" width="640" height="289" /></a><p class="wp-caption-text">Photo courtesy of Thomas Hawk</p></div>
<p>Do you ever feel that you are always relearning the same thing?</p>
<p>I love to start new development projects during my off time. It gives me a chance to learn new things, to try new techniques, and keep me involved with the latest technology. Being in the specialty field I&#8217;m in at my job, I don&#8217;t always get to experience the new hotness in the tech world. So when I get some free time, I often dust off the ol&#8217; text editor and kick the tires on an idea that I&#8217;ve had or crank through a new book to learn something new.</p>
<p>While I have the opportunity to apply a lot of the <em>techniques</em> and <em>knowledge</em> in my day job, I never really get to use the newest stuff. So, when it comes to the new &#8220;good stuff&#8221;, I&#8217;m just a hobbyist. I&#8217;m ok with being a hobbyist.</p>
<p>The problem is that I live the standard life of the patriarch of a young American family. I happily support my wife so she can stay hoe with our two young kids. I aspire to do great things in my career to continue supporting my family. And more importantly, I aspire to be a great father and husband. This leaves a shortage of time to be a consistent hobbyist.</p>
<p>Why am I talking about this, well I am right now in the middle of relearning the same thing I learned three months ago, which was when I relearned it from 6 months prior to that.</p>
<p><strong>I&#8217;m stuck in an infinite loop of noob-dom.</strong></p>
<p>I am really eager to take an idea I have and put it down on paper (well, not really paper, but you get the meaning). So I went out and researched the latest web framework craze. I&#8217;m familiar with a few, but I had never really done much more than look at the 15 minute quickstart. So I learn it. I do great work and make good progress in the 30 minutes, every other night, a couple of times a week I have for a month or two&#8230; and then life takes over: Important work project. Sick kids. Staying fit.</p>
<p>Fast forward three months, when things settle down, let&#8217;s start again. &#8220;Ok, where was I? What was that again? Oh they&#8217;ve release a new version, ok I can learn that&#8230; well just let me start from scratch, it&#8217;ll probably be easier.&#8221; In the 30 minutes, every other night, a couple of times a week over the next month, I feel like I get my head wrapped back around the problem. and then boom: Important work project. Sick kids. Staying fit (barely).</p>
<p>It feels like an infinite loop.</p>
<p>But here I am again, back in the mode where I&#8217;m eager to learn. Eager to start again. Eager to do great things. But this time, I&#8217;m keeping a journal. Maybe this time will be different. I know the busy cycle is just around the corner, but maybe this time, I can keep a consistent pace. Break the cycle of being an eternal noob.</p>
<p>Any suggestions? <img src='http://www.georgetitsworth.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.georgetitsworth.com/2011/07/the-eternal-noob/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Titsworth and the Rebel Strength Guide Contest</title>
		<link>http://www.georgetitsworth.com/2011/04/titsworth-and-the-rebel-strength-guide-contest/</link>
		<comments>http://www.georgetitsworth.com/2011/04/titsworth-and-the-rebel-strength-guide-contest/#comments</comments>
		<pubDate>Tue, 12 Apr 2011 03:34:43 +0000</pubDate>
		<dc:creator>george</dc:creator>
				<category><![CDATA[Fitness]]></category>
		<category><![CDATA[fitness]]></category>
		<category><![CDATA[muscle]]></category>
		<category><![CDATA[nerdfitness]]></category>
		<category><![CDATA[rebel strength guide]]></category>
		<category><![CDATA[weight loss]]></category>

		<guid isPermaLink="false">http://www.georgetitsworth.com/?p=10</guid>
		<description><![CDATA[In case you didn&#8217;t know, I am a big fan of the website Nerd Fitness. Well, last week, Steve Kamb, the man behind Nerd Fitness, and Vic Magary released a new workout/diet plan ebook called the Rebel Strength Guide. Since I have recently lost 50 pounds and I now fall in the category of &#8220;skinny fat&#8221; [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_15" class="wp-caption alignnone" style="width: 586px"><a href="http://www.flickr.com/photos/d_vdm/533344086/"><img class="size-full wp-image-15 " title="Strong" src="http://www.georgetitsworth.com/wp-content/uploads/2011/04/Strong.jpg" alt="" width="576" height="363" /></a><p class="wp-caption-text">Image courtesy of d_vdm on Flickr</p></div>
<p>In case you didn&#8217;t know, I am a big fan of the website <a href="http://www.nerdfitness.com">Nerd Fitness</a>. Well, last week, <a href="http://twitter.com/SteveKamb">Steve Kamb</a>, the man behind Nerd Fitness, and <a href="http://vicmagary.com/">Vic Magary</a> released a new workout/diet plan ebook called the <a href="http://nerdfitness.com/blog/rebel-strength-guide/">Rebel Strength Guide</a>. Since I have recently lost 50 pounds and I now fall in the category of &#8220;skinny fat&#8221; (not really fat, but not toned and just sort of dumpy looking), the timing of this book aimed at getting you lean, strong, and cut, could not have been better.</p>
<p>Along with the guide, Steve is running a <a href="http://nerdfitness.com/blog/rebel-strength-guide/">six week contest</a>.</p>
<p><strong><em>I am going to kill this contest.</em></strong></p>
<p>I don&#8217;t really care if I win the contest, but I am going to give it hell and fight my way to the top of the contenders. I have been fat and mopey for too long, and I now feel like I have the opportunity to be the guy I never thought I could be. The guy mowing his lawn without a shirt on. The confident guy at the party. The husband who can still get a second glance from his wife while getting ready for work.</p>
<p><strong>The time is now.</strong></p>
<p>So I plan on using this blog as a place to keep my status updates and measurements.</p>
<h2>Initial Measurements:</h2>
<p>Here is my baseline.</p>
<ul>
<li>Height: 6&#8242; 2&#8243;</li>
<li>Weight &#8211; 193 lbs</li>
<li>Body Fat %: Need to measure (will do Wed.)</li>
<li>Arms: 12&#8243;</li>
<li>Chest: 40.5 &#8220;</li>
<li>Waist: 39.25 &#8221; (I wear a size 34 pant, so I&#8217;m not sure I did this right)</li>
<li>Thigh: 20&#8243;</li>
</ul>
<p>And the before picture montage. As you can see. I still have a ways to go to get to where I need to be.</p>
<p><img class="alignnone size-full wp-image-11" title="Before 2011-04-11" src="http://www.georgetitsworth.com/wp-content/uploads/2011/04/Before_2011-04-11-copy.jpg" alt="" width="500" height="260" /></p>
<h2>6 weeks to a better me:</h2>
<p>This contest is a also being run in conjunction with the <a href="http://nerdfitness.com/community/forumdisplay.php?77-6-Week-Challenge-April-11-to-May-23">Nerd Fitness 6 week challenge</a>, in which you set 4-5 goals and use the Nerd Fitness message boards to keep yourself accountable. Here are my fitness and nutrition goals:</p>
<ul>
<li>Rebel Strength Guide Dumbbell Division Rank 1. Three workouts a week track.</li>
</ul>
<p><a href="http://nerdfitness.com/blog/rebel-strength-guide/"><img class="alignnone size-full wp-image-14" title="Screen-shot-2011-04-05-at-12.20.00-AM" src="http://www.georgetitsworth.com/wp-content/uploads/2011/04/Screen-shot-2011-04-05-at-12.20.00-AM.png" alt="" width="583" height="450" /></a></p>
<ul>
<li>Train for and run in a 10k Race (already registered for one on May 7th and 30th). 3 runs a week, one being 15% improvement in distance over previous week&#8217;s best.</li>
<li>Stick to the Rebel Strength Guide diet plan and log all of my food in Daily Burn.</li>
<li>No sugar in my coffee and only one &#8220;special&#8221; coffee drink a week.</li>
</ul>
<p>And some Lifestyle centric goals</p>
<ul>
<li>In bed with TV off by 11:30 every night</li>
<li>Don&#8217;t bring work home.</li>
</ul>
<h2>So here we go!</h2>
<p>Stick with me and see where it takes me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.georgetitsworth.com/2011/04/titsworth-and-the-rebel-strength-guide-contest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

