<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title><![CDATA[Danny Beard]]></title>
  <link href="http://dbeard.github.com/atom.xml" rel="self"/>
  <link href="http://dbeard.github.com/"/>
  <updated>2012-11-11T22:52:23-05:00</updated>
  <id>http://dbeard.github.com/</id>
  <author>
    <name><![CDATA[Danny Beard]]></name>
    
  </author>
  <generator uri="http://octopress.org/">Octopress</generator>

  
  <entry>
    <title type="html"><![CDATA[Setting up apache, tomcat and railo (+ cfwheels)]]></title>
    <link href="http://dbeard.github.com/blog/2011/01/26/setting-up-apache-tomcat-railo"/>
    <updated>2011-01-26T00:00:00-05:00</updated>
    <id>http://dbeard.github.com/blog/2011/01/26/setting-up-apache-tomcat-railo</id>
    <content type="html"><![CDATA[<p>Due to some limitations I&#8217;ve recently encountered with Adobe&#8217;s Coldfusion server, I decided it was time to make the switch to <a href="http://www.getrailo.org/" title="Railo">Railo</a> - at least for personal development. Railo has gained a lot of popularity in the past several years, and with so many top developers in the field using it, I thought I would try it out for awhile. I have been extremely impressed with the results. More on that later.</p>

<p>Railo offers several options for installing and running the server:</p>

<ul>
<li>Railo Server with Tomcat</li>
<li>Railo Express with Jetty</li>
<li>Railo Custom</li>
</ul>


<p>The <a href="http://tomcat.apache.org/" title="Tomcat">Tomcat</a> package is meant for production use, the express edition for testing/development, and the custom package for unique setups (Different application server, etc). The custom package is either a WAR file that can be deployed on your J2EE server, or as Jar files that can be included in your classpath.</p>

<p>Getting the express install working was effortless. I literally had a functioning cfml server up in running in minutes (I had to account for the download time). The express install merely has a <code>startup</code> command that need to be run, and then you have a fully functional Railo install running on top of Jetty. This works great for quick demos or tests, but I wanted something a little more permanent, and something that would give me more flexibility in the future.</p>

<h2>Install Tomcat</h2>

<p>During this writeup, Tomcat 7 was officially released, so I&#8217;ve modified the tutorial to work with the new version. To install tomcat, you simply need to extract the archive to the folder of your choice. For my purposes, I chose <code>/Library/tomcat</code>. In order to startup Tomcat, shell scripts are provided in the <code>bin</code> folder within the Tomcat install. Simply run <code>startup.sh</code> to start it up and <code>shutdown.sh</code> to shut it down. To verify that you install is working correctly, simply go to <a href="http://localhost:8080">http://localhost:8080</a> To make things easier, I found a simple tomcat control script online, and modified it slightly:</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
<span class='line-number'>9</span>
<span class='line-number'>10</span>
<span class='line-number'>11</span>
<span class='line-number'>12</span>
<span class='line-number'>13</span>
<span class='line-number'>14</span>
<span class='line-number'>15</span>
<span class='line-number'>16</span>
<span class='line-number'>17</span>
<span class='line-number'>18</span>
<span class='line-number'>19</span>
<span class='line-number'>20</span>
<span class='line-number'>21</span>
<span class='line-number'>22</span>
<span class='line-number'>23</span>
<span class='line-number'>24</span>
<span class='line-number'>25</span>
<span class='line-number'>26</span>
<span class='line-number'>27</span>
<span class='line-number'>28</span>
<span class='line-number'>29</span>
<span class='line-number'>30</span>
<span class='line-number'>31</span>
<span class='line-number'>32</span>
</pre></td><td class='code'><pre><code class='bash'><span class='line'><span class="c">#!/bin/sh</span>
</span><span class='line'><span class="c"># Tomcat Startup Script</span>
</span><span class='line'>
</span><span class='line'><span class="c">#Make sure that an icon doesn&#39;t show on the dock</span>
</span><span class='line'><span class="nb">export </span><span class="nv">JAVA_OPTS</span><span class="o">=</span>-Djava.awt.headless<span class="o">=</span><span class="nb">true</span>
</span><span class='line'>
</span><span class='line'>start<span class="o">()</span> <span class="o">{</span>
</span><span class='line'>        <span class="nb">echo</span> <span class="s2">&quot;Starting Tomcat&quot;</span>
</span><span class='line'>        /Library/tomcat/bin/startup.sh
</span><span class='line'><span class="o">}</span>
</span><span class='line'>stop<span class="o">()</span> <span class="o">{</span>
</span><span class='line'>        <span class="nb">echo</span> <span class="s2">&quot;Stopping Tomcat&quot;</span>
</span><span class='line'>        /Library/tomcat/bin/shutdown.sh
</span><span class='line'><span class="o">}</span>
</span><span class='line'>
</span><span class='line'><span class="c"># See how we were called.</span>
</span><span class='line'><span class="k">case</span> <span class="s2">&quot;$1&quot;</span> in
</span><span class='line'>  start<span class="o">)</span>
</span><span class='line'>        start
</span><span class='line'>        ;;
</span><span class='line'>  stop<span class="o">)</span>
</span><span class='line'>        stop
</span><span class='line'>        ;;
</span><span class='line'>  restart<span class="o">)</span>
</span><span class='line'>        stop
</span><span class='line'>      sleep 5
</span><span class='line'>        start
</span><span class='line'>        ;;
</span><span class='line'>  *<span class="o">)</span>
</span><span class='line'>        <span class="nb">echo</span> <span class="s2">$&quot;Usage: tomcat {start|stop|restart}&quot;</span>
</span><span class='line'>        <span class="nb">exit</span>
</span><span class='line'><span class="k">esac</span>
</span></code></pre></td></tr></table></div></figure>


<p>This let&#8217;s us start, stop and restart tomcat from a single script. To make it even easier, I added an alias to my bash profile that let&#8217;s me control tomcat easily on the command line: <code>alias tomcat=/Library/tomcat/bin/tomcat.sh</code>. Now I can simply call <code>tomcat {stop|start|restart}</code> anytime from the command line.</p>

<h2>Proxy with Apache</h2>

<p>For my purposes, I decided that it would be easiest to use virtual hosts in apache and proxy the requests on to tomcat based on the server name. Depending on your setup, virtual hosts entries might be placed in different configuration files. In OS X, there is a file made specifically for listing virtual hosts found in: <code>/etc/apache2/extra/httpd-vhosts.conf</code>. Before we edit this file however, you need to make sure that the main <code>httpd.conf</code> file is including it. It is commented out by default in OS X. Look for this line:</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class='apache'><span class='line'><span class="nb">Include</span> <span class="sx">/private/etc/apache2/extra/httpd-vhosts.conf</span>
</span></code></pre></td></tr></table></div></figure>


<p>Make sure it is not commented out. Ok, now we are ready to edit the virtual hosts file. First you&#8217;ll want to make sure that Apache knows we are using name based virtual hosting. Uncomment the follow line in the file:</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class='apache'><span class='line'><span class="nb">NameVirtualHost</span> *:80
</span></code></pre></td></tr></table></div></figure>


<p>Next, we need to make sure that we add a virtualhost for localhost. Make sure that this points to your default web root.</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
</pre></td><td class='code'><pre><code class='apache'><span class='line'><span class="nt">&lt;VirtualHost</span> <span class="s">*:80</span><span class="nt">&gt;</span>
</span><span class='line'>  <span class="nb">ServerAdmin</span> admin@localhost
</span><span class='line'>  <span class="nb">DocumentRoot</span> <span class="s2">&quot;/Library/WebServer/Documents&quot;</span>
</span><span class='line'>  <span class="nb">ServerName</span> localhost
</span><span class='line'>  <span class="nb">ErrorLog</span> <span class="s2">&quot;/private/var/log/apache2/localhost-error_log&quot;</span>
</span><span class='line'>  <span class="nb">CustomLog</span> <span class="s2">&quot;/private/var/log/apache2/localhost-access_log&quot;</span> common
</span><span class='line'><span class="nt">&lt;/VirtualHost&gt;</span>
</span></code></pre></td></tr></table></div></figure>


<p>Now we can add a specific vhost for tomcat. This virtual host will proxy all requests on to tomcat.</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
<span class='line-number'>9</span>
<span class='line-number'>10</span>
<span class='line-number'>11</span>
<span class='line-number'>12</span>
<span class='line-number'>13</span>
<span class='line-number'>14</span>
<span class='line-number'>15</span>
</pre></td><td class='code'><pre><code class='apache'><span class='line'><span class="nt">&lt;VirtualHost</span> <span class="s">*:80</span><span class="nt">&gt;</span>
</span><span class='line'>    <span class="nb">ServerAdmin</span> admin@localhost
</span><span class='line'>    <span class="nb">DocumentRoot</span> <span class="s2">&quot;/Library/tomcat/webapps/ROOT&quot;</span>
</span><span class='line'>    <span class="nb">ServerName</span> tomcat.dev
</span><span class='line'>    <span class="nb">ErrorLog</span> <span class="s2">&quot;/private/var/log/apache2/tomcat.dev-error_log&quot;</span>
</span><span class='line'>    <span class="nb">CustomLog</span> <span class="s2">&quot;/private/var/log/apache2/tomcat.dev-access_log&quot;</span> common
</span><span class='line'>  
</span><span class='line'>  <span class="nt">&lt;LocationMatch</span> <span class="s">&quot;^[^/]&quot;</span><span class="nt">&gt;</span>
</span><span class='line'>      <span class="nb">Deny</span> from <span class="k">all</span>
</span><span class='line'>  <span class="nt">&lt;/LocationMatch&gt;</span>
</span><span class='line'>  
</span><span class='line'>  <span class="nb">ProxyPreserveHost</span> <span class="k">On</span>
</span><span class='line'>  <span class="nb">ProxyPass</span> / ajp://localhost:8009/
</span><span class='line'>  <span class="nb">ProxyPassReverse</span> / ajp://localhost:8009/
</span><span class='line'><span class="nt">&lt;/VirtualHost&gt;</span>
</span></code></pre></td></tr></table></div></figure>


<p>NOTE: If you have any issues with Content-Type being changed to text/plain on your documents, you might need to change your proxy to go through http instead:</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
</pre></td><td class='code'><pre><code class='apache'><span class='line'><span class="nb">ProxyPass</span> / http://localhost:8080/
</span><span class='line'><span class="nb">ProxyPassReverse</span> / http://localhost:8080/
</span></code></pre></td></tr></table></div></figure>


<p>I had this issue, and I&#8217;m not sure what the cause is. I think there is a problem with Tomcat 7 and the ajp connector since this seemed to be working fine under 6. You&#8217;ll need to make sure that the servername you choose for the virtual host (e.g. <code>tomcat.dev</code>) exists in your hosts file as well. If everything worked out, you should be able to hit the site you setup, and see the old familiar Tomcat start page.</p>

<h2>Install Railo</h2>

<p>Installing Railo is fairly straightforward. Download the JARs distribution of Railo from their download page, and simply add them to your classpath. The easiest way to do this is by dragging the jars directly into the <code>lib</code> folder inside the tomcat install.</p>

<p>Before you can actually start using Railo however, you need to add a servlet definition for Railo, and instruct it that it can handle Coldfusion files (e.g. <em>.cfm, </em>.cfc, etc). Open up <code>web.xml</code> located in the <code>conf</code> folder of tomcat. Underneath <code>web-app</code> add the following:</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
<span class='line-number'>9</span>
<span class='line-number'>10</span>
<span class='line-number'>11</span>
<span class='line-number'>12</span>
<span class='line-number'>13</span>
<span class='line-number'>14</span>
<span class='line-number'>15</span>
<span class='line-number'>16</span>
<span class='line-number'>17</span>
</pre></td><td class='code'><pre><code class='xml'><span class='line'><span class="c">&lt;!-- Railo Servlet --&gt;</span>
</span><span class='line'><span class="nt">&lt;servlet&gt;</span>
</span><span class='line'>  <span class="nt">&lt;servlet-name&gt;</span>CFMLServlet<span class="nt">&lt;/servlet-name&gt;</span>
</span><span class='line'>  <span class="nt">&lt;servlet-class&gt;</span>railo.loader.servlet.CFMLServlet<span class="nt">&lt;/servlet-class&gt;</span>
</span><span class='line'>     <span class="nt">&lt;init-param&gt;</span>
</span><span class='line'>        <span class="nt">&lt;param-name&gt;</span>configuration<span class="nt">&lt;/param-name&gt;</span>
</span><span class='line'>        <span class="nt">&lt;param-value&gt;</span>{web-root-directory}/WEB-INF/railo/<span class="nt">&lt;/param-value&gt;</span>
</span><span class='line'>        <span class="nt">&lt;description&gt;</span>Configuraton directory<span class="nt">&lt;/description&gt;</span>
</span><span class='line'>     <span class="nt">&lt;/init-param&gt;</span>
</span><span class='line'>  <span class="nt">&lt;load-on-startup&gt;</span>1<span class="nt">&lt;/load-on-startup&gt;</span>
</span><span class='line'><span class="nt">&lt;/servlet&gt;</span>
</span><span class='line'><span class="nt">&lt;servlet-mapping&gt;</span>
</span><span class='line'>   <span class="nt">&lt;servlet-name&gt;</span>CFMLServlet<span class="nt">&lt;/servlet-name&gt;</span>
</span><span class='line'>   <span class="nt">&lt;url-pattern&gt;</span>*.cfm<span class="nt">&lt;/url-pattern&gt;</span>
</span><span class='line'>   <span class="nt">&lt;url-pattern&gt;</span>*.cfml<span class="nt">&lt;/url-pattern&gt;</span>
</span><span class='line'>   <span class="nt">&lt;url-pattern&gt;</span>*.cfc<span class="nt">&lt;/url-pattern&gt;</span>
</span><span class='line'><span class="nt">&lt;/servlet-mapping&gt;</span>
</span></code></pre></td></tr></table></div></figure>


<p>You&#8217;ll also want to add an entry for coldfusion files in the welcome file list. You should see this at the bottom of <code>web.xml</code>. Simply add entries for both <code>index.cfm</code> and <code>index.cfml</code>. With that, you&#8217;re done, and ready to test it out. Go to the domain you setup previously: <a href="http://tomcat.dev/railo-context/admin/">http://tomcat.dev/railo-context/admin/</a> and you should see the Railo administrator. Set a password for the admin portal, and you can start adding coldfusion files to test it out!</p>

<h2>Use CFWheels with URL Rewriting</h2>

<p>The coldfusion framework I&#8217;ve been using recently is <a href="http://cfwheels.org/" title="CFWheels">CFWheels</a>. If you haven&#8217;t checked it out before, I highly recommend it - I&#8217;ll go into this more on another blog post&#8230; To start off with, we need to make a new virtual host that we&#8217;ll use for our wheels application. Again, go into the apache vhosts config file, and add a new entry:</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
<span class='line-number'>9</span>
<span class='line-number'>10</span>
<span class='line-number'>11</span>
<span class='line-number'>12</span>
<span class='line-number'>13</span>
<span class='line-number'>14</span>
<span class='line-number'>15</span>
<span class='line-number'>16</span>
<span class='line-number'>17</span>
<span class='line-number'>18</span>
<span class='line-number'>19</span>
<span class='line-number'>20</span>
</pre></td><td class='code'><pre><code class='apache'><span class='line'><span class="nt">&lt;VirtualHost</span> <span class="s">*:80</span><span class="nt">&gt;</span>
</span><span class='line'>    <span class="nb">ServerAdmin</span> admin@daemon.local
</span><span class='line'>    <span class="nb">DocumentRoot</span> <span class="s2">&quot;/Path/To/My/App&quot;</span>
</span><span class='line'>    <span class="nb">ServerName</span> cfwheels.dev
</span><span class='line'>    <span class="nb">ErrorLog</span> <span class="s2">&quot;/private/var/log/apache2/cfwheels.dev-error_log&quot;</span>
</span><span class='line'>    <span class="nb">CustomLog</span> <span class="s2">&quot;/private/var/log/apache2/cfwheels.dev-access_log&quot;</span> common
</span><span class='line'>  
</span><span class='line'>  <span class="nt">&lt;LocationMatch</span> <span class="s">&quot;^[^/]&quot;</span><span class="nt">&gt;</span>
</span><span class='line'>      <span class="nb">Deny</span> from <span class="k">all</span>
</span><span class='line'>  <span class="nt">&lt;/LocationMatch&gt;</span>
</span><span class='line'>  
</span><span class='line'>  <span class="nb">ProxyPreserveHost</span> <span class="k">On</span>
</span><span class='line'>  <span class="nb">ProxyPass</span> / http://cfwheels.dev:8080/
</span><span class='line'>  <span class="nb">ProxyPassReverse</span> / http://cfwheels.dev:8080/
</span><span class='line'>
</span><span class='line'>  <span class="nb">RewriteEngine</span> <span class="k">On</span>
</span><span class='line'>  <span class="nb">ProxyRequests</span> <span class="k">Off</span>
</span><span class='line'>  <span class="nb">RewriteCond</span> %{REQUEST_URI} !^.*/(flex2gateway|jrunscripts|cfide|cfformgateway|railo-context|files|images|javascripts|miscellaneous|stylesheets|robots.txt|sitemap.xml|rewrite.cfm)($|/.*$) [NC]
</span><span class='line'>  <span class="nb">RewriteRule</span> <span class="s2">&quot;^/(.*)&quot;</span> ajp://cfwheels.dev:8009/rewrite.cfm/$1 [P,QSA,L]
</span><span class='line'><span class="nt">&lt;/VirtualHost&gt;</span>
</span></code></pre></td></tr></table></div></figure>


<p>The main difference here is that we&#8217;ve added the url rewriting of the cfwheels app right into the virtual host definition. Apache won&#8217;t read the <code>.htaccess</code> that comes with cfwheels since we&#8217;re just proxying the call. We also need to add a virtual host entry in tomcat as well. Open up <code>server.xml</code> in tomcat&#8217;s <code>conf</code> folder, and add this below the localhost Host entry:</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
</pre></td><td class='code'><pre><code class='xml'><span class='line'><span class="nt">&lt;Host</span> <span class="na">name=</span><span class="s">&quot;cfwheels.dev&quot;</span> <span class="na">appBase=</span><span class="s">&quot;webapps&quot;</span>
</span><span class='line'>  <span class="na">unpackWARs=</span><span class="s">&quot;true&quot;</span> <span class="na">autoDeploy=</span><span class="s">&quot;true&quot;</span>
</span><span class='line'>  <span class="na">xmlValidation=</span><span class="s">&quot;false&quot;</span> <span class="na">xmlNamespaceAware=</span><span class="s">&quot;false&quot;</span><span class="nt">&gt;</span>
</span><span class='line'>  <span class="nt">&lt;Context</span> <span class="na">path=</span><span class="s">&quot;&quot;</span> <span class="na">docBase=</span><span class="s">&quot;/Path/To/My/App&quot;</span><span class="nt">/&gt;</span>
</span><span class='line'><span class="nt">&lt;/Host&gt;</span>
</span></code></pre></td></tr></table></div></figure>


<p>If you go to the index file, you should see the default wheels index page. However, if you try to go to any controllers, tomcat will give you a 404 error. This is because tomcat is not sending the <code>PATH_INFO</code> correctly. To fix this, you only need to add two more patterns to the servlet mapping of the CFMLServlet:</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
</pre></td><td class='code'><pre><code class='xml'><span class='line'><span class="nt">&lt;servlet-mapping&gt;</span>
</span><span class='line'>   <span class="nt">&lt;servlet-name&gt;</span>CFMLServlet<span class="nt">&lt;/servlet-name&gt;</span>
</span><span class='line'>   <span class="nt">&lt;url-pattern&gt;</span>*.cfm<span class="nt">&lt;/url-pattern&gt;</span>
</span><span class='line'>   <span class="nt">&lt;url-pattern&gt;</span>*.cfml<span class="nt">&lt;/url-pattern&gt;</span>
</span><span class='line'>   <span class="nt">&lt;url-pattern&gt;</span>*.cfc<span class="nt">&lt;/url-pattern&gt;</span>
</span><span class='line'>   <span class="nt">&lt;url-pattern&gt;</span>/index.cfm/*<span class="nt">&lt;/url-pattern&gt;</span>
</span><span class='line'>   <span class="nt">&lt;url-pattern&gt;</span>/rewrite.cfm/*<span class="nt">&lt;/url-pattern&gt;</span>
</span><span class='line'><span class="nt">&lt;/servlet-mapping&gt;</span>
</span></code></pre></td></tr></table></div></figure>


<p>Restart tomcat and now, everything should work perfectly - even the url rewriting!</p>

<p>I hope that someone can find this useful. I know there are a thousand different ways to set this up, but this is what worked out best for me.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Why Am I Doing This?]]></title>
    <link href="http://dbeard.github.com/blog/2011/01/22/why-am-i-doing-this"/>
    <updated>2011-01-22T00:00:00-05:00</updated>
    <id>http://dbeard.github.com/blog/2011/01/22/why-am-i-doing-this</id>
    <content type="html"><![CDATA[<p>Hey look at this - I&#8217;ve restructed my site once again! A little history - I&#8217;ve always wanted to start a blog, but kept running into different obstacles that kept me from starting it.</p>

<p>One obstacle that I had was getting ownership of &#8216;dannybeard.com&#8217;. I know what you&#8217;re saying&#8230; why didn&#8217;t I just use a different url? Well, you&#8217;re right - but I get stuck on things like this sometimes&#8230; In any case, the domain has passed several different Danny Beard&#8217;s through out the years, and every time I tried contacting the owner about purchasing it - no response. Along the way, I did manage to snag a pretty sweet subdomain however: &#8216;danny.beard.com&#8217;. I think it&#8217;s cool at least&#8230; I contacted the owner, and he was nice enough to help out a distant &#8216;relative&#8217;. In fact, danny.beard.com still resolves to this site, so either domain can be used interchangeably. Finally, I tried once again to contact the owner of dannybeard.com, and we were able to work out the details for my purchase of the domain!</p>

<p>So, having that done, I originally put a portfolio site up for myself. I was just now finishing school and looking for a job, so it was the logical thing to do. Of course, the site had some downfalls: namely it was done in Flash (which caused several issues looking back), and there was no easy way to add new content and projects.</p>

<p>So, with the new version of dannybeard.com, I hope to first of all be able to share some of the projects and work that I&#8217;ve done, but also share any tips and hints that I&#8217;ve learned along the way. I do this for myself as well, because I tend to forget how I did certain things unless I write it down. If you do happen to find this site for some odd reason, feel free to comment and discuss - I would very much appreciate knowing that something I&#8217;ve written has helped someone else along the way. I certainly know that other people&#8217;s blogs have helped me.</p>

<p>Now, I just need to write&#8230;.</p>
]]></content>
  </entry>
  
</feed>
