<?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>Kynatro.com</title>
	<atom:link href="http://kynatro.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://kynatro.com</link>
	<description>The personal website of Dave Shepard</description>
	<lastBuildDate>Wed, 20 Feb 2013 16:49:03 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Login as User WordPress Plugin</title>
		<link>http://kynatro.com/blog/2013/02/20/login-as-user-wordpress-plugin/</link>
		<comments>http://kynatro.com/blog/2013/02/20/login-as-user-wordpress-plugin/#comments</comments>
		<pubDate>Wed, 20 Feb 2013 16:49:03 +0000</pubDate>
		<dc:creator>kynatro</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[adminstrative tools]]></category>
		<category><![CDATA[mu plugin]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://kynatro.com/?p=666</guid>
		<description><![CDATA[When managing a large WordPress community or when your WordPress setup is a little more than a simple blog, it can be useful to see things from your user&#8217;s perspective. I have created a simple Must Use Plugin you can just drop into your WordPress installation that allows a Super Administrator user to login as [...]]]></description>
				<content:encoded><![CDATA[<p>When managing a large WordPress community or when your WordPress setup is a little more than a simple blog, it can be useful to see things from your user&#8217;s perspective. I have created a simple Must Use Plugin you can just drop into your WordPress installation that allows a Super Administrator user to login as any user on your website (except for other Super Administrators). This is a highly useful functionality when you need to verify that your interfaces are working not only for your Super Administrator roles, but your other user roles as well.</p>
<p>Check out the plugin on GitHub at: <a title="Login as User WordPress Plugin on Github.com" href="https://github.com/kynatro/loginasuser" target="_blank">https://github.com/kynatro/loginasuser</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kynatro.com/blog/2013/02/20/login-as-user-wordpress-plugin/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Object Oriented jQuery Plugin Boilerplate</title>
		<link>http://kynatro.com/blog/2013/01/11/object-oriented-jquery-plugin-boilerplate/</link>
		<comments>http://kynatro.com/blog/2013/01/11/object-oriented-jquery-plugin-boilerplate/#comments</comments>
		<pubDate>Fri, 11 Jan 2013 19:51:01 +0000</pubDate>
		<dc:creator>kynatro</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[boilerplate]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[object oriented]]></category>

		<guid isPermaLink="false">http://kynatro.com/?p=657</guid>
		<description><![CDATA[I&#8217;ve been writing a ton of jQuery plugins lately and decided to create myself a nice little boilerplate with some common structures. This boilerplate will provide the necessary Object Oriented Class based setup for a plugin and its extension of the jQuery.fn Object. Features of this Boilerplate: Fully chainable plugin use Object Oriented JavaScript structure [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been writing a ton of jQuery plugins lately and decided to create myself a nice little boilerplate with some common structures. This boilerplate will provide the necessary Object Oriented Class based setup for a plugin and its extension of the jQuery.fn Object.</p>
<p><span id="more-657"></span></p>
<h3>Features of this Boilerplate:</h3>
<ul>
<li>Fully chainable plugin use</li>
<li>Object Oriented JavaScript structure</li>
<li>jQuery UI style syntax for running commands, reading properties</li>
<li>Automatic read of HTML5 data properties for default option overrides</li>
</ul>
<h3>Instantiate the plugin:</h3>
<p>Initiate the plugin just like any other jQuery plugin and pass an option object to override default options.</p><pre class="crayon-plain-tag">// Standard initiation with default options
$('.my-element').myPlugin();

// Or initiate with custom option overrides
$('.my-element').myPlugin({
    myOption: false
});</pre><p></p>
<h3>Run plugin methods:</h3>
<p>Easily run plugin methods by passing the method name to the plugin function.</p><pre class="crayon-plain-tag">$('.my-element').myPlugin("myMethod");</pre><p></p>
<h3>Read options:</h3>
<p>Read option values for a plugin instantiation with the <em>option</em> method. Pass the option value to read as the second argument.</p><pre class="crayon-plain-tag">$('.my-element').myPlugin("option", "optionName");</pre><p></p>
<h3>Override default options with HTML5 data properties:</h3>
<p>Easily deploy your plugin without having to write much custom JavaScript for elements that will have specific options settings by specifying the option as an HTML5 data property.</p>
<p><strong>HTML:</strong></p><pre class="crayon-plain-tag">&lt;div class="my-element" data-myOption="foobar"&gt;&lt;/div&gt;</pre><p><strong>JavaScript:</strong></p><pre class="crayon-plain-tag">// Initialize the plugin
$('.my-element').myPlugin();

// Read the HTML5 overriden option
$('.my-element').myPlugin('option', 'myOption');    // "foobar"</pre><p>This plugin boilerplate is available free of use under the GPLv3 or compatible license.</p>
<p><a title="jQuery Plugin Boilerplate on GitHub" href="https://github.com/kynatro/jquery-plugin-boilerplate" target="_blank">Download the jQuery Plugin Boilerplate on GitHub</p>
<p></a></p>
]]></content:encoded>
			<wfw:commentRss>http://kynatro.com/blog/2013/01/11/object-oriented-jquery-plugin-boilerplate/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Easy communication with Rails VirtualBox server</title>
		<link>http://kynatro.com/blog/2012/12/21/easy-communication-with-rails-virtualbox-server/</link>
		<comments>http://kynatro.com/blog/2012/12/21/easy-communication-with-rails-virtualbox-server/#comments</comments>
		<pubDate>Sat, 22 Dec 2012 07:46:48 +0000</pubDate>
		<dc:creator>kynatro</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Walk Through]]></category>
		<category><![CDATA[bridge adapter]]></category>
		<category><![CDATA[cygwin]]></category>
		<category><![CDATA[dhcp]]></category>
		<category><![CDATA[nat]]></category>
		<category><![CDATA[network configuration]]></category>
		<category><![CDATA[port forwarding]]></category>
		<category><![CDATA[putty]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ubuntu server]]></category>
		<category><![CDATA[virtual machine]]></category>
		<category><![CDATA[virtualbox]]></category>
		<category><![CDATA[vm]]></category>

		<guid isPermaLink="false">http://kynatro.com/?p=641</guid>
		<description><![CDATA[In a recent post I talked about how to setup a Ruby on Rails environment for Mac OS or Ubuntu by itself and in a VirtualBox. In using my VirtualBox Ubuntu server on my Windows laptop, I&#8217;ve been annoyed by the constantly changing IP address when networking is configured to Bridge Adapter, so after a little [...]]]></description>
				<content:encoded><![CDATA[<p>In a recent post I talked about <a href="http://kynatro.com/blog/2012/12/03/time-to-learn-something-new/">how to setup a Ruby on Rails environment for Mac OS or Ubuntu by itself and in a VirtualBox</a>. In using my VirtualBox Ubuntu server on my Windows laptop, I&#8217;ve been annoyed by the constantly changing IP address when networking is configured to <em>Bridge Adapter</em>, so after a little Google sleuthing I was able to find an easy to implement solution: port forwarding.<span id="more-641"></span></p>
<h2>The Problem</h2>
<p>When dealing with an Ubuntu server in a Virtual Machine (VM), you will want to be able to easily access the running applications from your host machine browser and SSH into your server via Cygwin or PuTTY. When running the VM&#8217;s networking adapter through <em>Bridge Adapter</em> mode though, you have to deal with a constantly changing IP address thanks to a locked down DHCP only networking configuration.<em><br />
</em></p>
<h2>The Solution</h2>
<p>The easiest way to get around these issues is to run your VM networking adapter in standard NAT mode. Not only does this lock things down a little better, but it provides a stable IP address that you can make some persistent references to.</p>
<h3>1. Set VirtualBox Network Device to NAT</h3>
<p>This is the default setting when you create a new VM, so you might not even need to change this.</p>
<p><img class="alignnone size-full wp-image-642" alt="Screenshot+on+12.21.2012+at+11.23.39+PM" src="http://kynatro.com/wp-content/uploads/2012/12/Screenshot+on+12.21.2012+at+11.23.39+PM.png" width="672" height="507" /></p>
<h3>2. Get Your VM Server&#8217;s IP Address</h3>
<p>You can use the built in <em>Port Forwarding</em> settings for your VM to point a few unused ports on your host machine to some expected ports on your VM server. You will need to know the IP of your VM before setting this up, but it will most likely be VirtualBox&#8217;s NAT default of <code>10.0.2.15</code>. If you are running Ubuntu server, this is conveniently shown when you log in:</p>
<p><img class="alignnone size-full wp-image-643" alt="Screenshot+on+12.21.2012+at+11.32.13+PM" src="http://kynatro.com/wp-content/uploads/2012/12/Screenshot+on+12.21.2012+at+11.32.13+PM.png" width="663" height="565" /></p>
<p>Notice the line <code>IP address for eth0</code> &#8211; this is the IP address to use in your port forwarding settings.</p>
<h3>3. Setup Port Forwarding</h3>
<p>Now that you know your VM server&#8217;s IP address its time to setup port forwarding. For a Rails environment you may want to consider at least setting up two ports for easy access:</p>
<table>
<tbody>
<tr>
<th></th>
<th>Host Port</th>
<th>Guest Port</th>
</tr>
<tr>
<th scope="col">SSH</th>
<td>2280</td>
<td>22</td>
</tr>
<tr>
<th scope="col">Rails</th>
<td>3080</td>
<td>3000</td>
</tr>
</tbody>
</table>
<p>These port forwards will give you the convenience of being able to access your running Rails application at the persistent location of:</p><pre class="crayon-plain-tag">http://localhost:3080</pre><p>You will also be able to easily SSH into your VM server using Cygwin or your SSH terminal application of choice:</p><pre class="crayon-plain-tag">$ ssh username@localhost -p 2280</pre><p>Just click on the <em>Port Forwarding</em> button in your VM network device configuration area and setup your Host IP (<code>127.0.0.1</code>) to forward to your Guest IP (<code>10.0.2.15</code> in our example) for each port combination in the table listed above and you&#8217;re good to go!</p>
<p><img class="alignnone size-full wp-image-644" alt="Screenshot+on+12.21.2012+at+11.40.10+PM" src="http://kynatro.com/wp-content/uploads/2012/12/Screenshot+on+12.21.2012+at+11.40.10+PM.png" width="618" height="336" /></p>
<p><strong>UPDATE:</strong><br />
I just found out an area where this solution falls over &#8211; you can&#8217;t use this exact setup when trying to serve to other machines on your network. Luckily, the solution is easy &#8211; just eliminate the Host IP and Guest IP from your port forwarding rules. This will all you to access a running server in your VirtualBox via the host computer&#8217;s IP instead of being limited to localhost (such as when you need to test things on another device). Be advised that this will expose your VirtualBox&#8217;s to anyone on your network, so make sure you set your firewall settings appropriately (Windows firewall will prompt you for approval the moment you make this change &#8211; I recommend you keep things like port 25 and 22 restricted to your host machine&#8217;s IP for security).</p>
<p><strong>PRO TIP:</strong><br />
Replace your XAMPP host completely and setup a LAMP stack in your VirtualBox. Map port 80 directly (instead of through a proxy port like 8080) and your regular web traffic will route right into your VirtualBox. Now you can have a true LAMP stack running on any OS that runs VirtualBox!</p>
]]></content:encoded>
			<wfw:commentRss>http://kynatro.com/blog/2012/12/21/easy-communication-with-rails-virtualbox-server/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Building a has_many, through model relationship and form with Cocoon</title>
		<link>http://kynatro.com/blog/2012/12/16/building-a-has_many-through-model-relationship-and-form-with-cocoon/</link>
		<comments>http://kynatro.com/blog/2012/12/16/building-a-has_many-through-model-relationship-and-form-with-cocoon/#comments</comments>
		<pubDate>Mon, 17 Dec 2012 07:51:49 +0000</pubDate>
		<dc:creator>kynatro</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Walk Through]]></category>
		<category><![CDATA[cocoon]]></category>
		<category><![CDATA[forms]]></category>
		<category><![CDATA[formtastic]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[has_many]]></category>
		<category><![CDATA[models]]></category>
		<category><![CDATA[nested forms]]></category>
		<category><![CDATA[railscasts]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[simple form]]></category>
		<category><![CDATA[stackoverflow]]></category>

		<guid isPermaLink="false">http://kynatro.com/?p=637</guid>
		<description><![CDATA[So, I&#8217;m working on a personal project to learn Ruby on Rails and the application structure that I desired required a complicated many-to-many relationship with a join model that itself contained data. This was a pretty complex model structure to setup and has numerous pitfall points that took a weekend of searching the Googles and [...]]]></description>
				<content:encoded><![CDATA[<p>So, I&#8217;m working on a personal project to learn Ruby on Rails and the application structure that I desired required a complicated many-to-many relationship with a join model that itself contained data. This was a pretty complex model structure to setup and has numerous pitfall points that took a weekend of searching the Googles and reading a number of StackOverflow entries, GitHub gem documentation and RailsCasts to finally understand and get working the way I desired. Since all the documentation I found only dealt with small pieces of the whole and it took me all weekend to figure it out, I got to thinking there&#8217;s no way I&#8217;m the only one out there trying to grok this crap. So, now that I got it working, I&#8217;m going to share how the heck to do it so you can learn from my guinea pigging.</p>
<p><span id="more-637"></span></p>
<h2>Application Summary</h2>
<p>In this example, we&#8217;ll be setting up a Recipe book. Recipes have multiple meta properties like their title, a brief description, instructions and the like. Each recipe of course needs ingredients and each ingredient needs quantities of that ingredient for the recipe. What we will be setting up is a relationship of Recipes to Ingredients through Quantities.</p>
<h2>Setting Up Your Models</h2>
<p><code>recipe.rb</code></p><pre class="crayon-plain-tag">class Recipe &lt; ActiveRecord::Base   
  attr_accessible :title, 
                  :description, 
                  :instructions, 
                  :quantities_attributes

  has_many :quantities
  has_many :ingredients, 
           :through =&gt; :quantities

  accepts_nested_attributes_for :quantities, 
           :reject_if =&gt; :all_blank, 
           :allow_destroy =&gt; true
  accepts_nested_attributes_for :ingredients
end</pre><p></p>
<h3>Adding the join model attributes to the mass assignment white-list</h3>
<p>Our Recipe model contains the most configuration to set things up. As is expected, the <code>attr_accessible</code> property contains the properties of the Recipe model itself that can be modified, with the addition of a new property <code>:quantities_attributes</code>. This property will allow modification of the Recipe model (updating and creating) to also modify attributes of the associated Quantities records.</p>
<h3>Glueing the models to each other through a join model</h3>
<p></p><pre class="crayon-plain-tag">has_many :quantities
has_many :ingredients, 
         :through =&gt; :quantities</pre><p>It used to be a complete pain in the butt to setup many to many relationships with Ruby on Rails and <code>has_and_belongs_to_many</code> configurations. Now, with Rails 3 though its super easy via the <a href="http://guides.rubyonrails.org/association_basics.html#the-types-of-associations" target="_blank">has_many, through</a> property. This allows you to easily setup a relationship from one model to another with a join model between them to easily provide access to the models from each other. In this case for example <code>@recipe.ingredients</code> and with the <code>through</code> command on the Ingredient model end <code>@ingredient.recipe</code>.</p>
<h3>Setting up the model&#8217;s ability to modify other model attributes</h3>
<p></p><pre class="crayon-plain-tag">accepts_nested_attributes_for :quantities, 
           :reject_if =&gt; :all_blank, 
           :allow_destroy =&gt; true
  accepts_nested_attributes_for :ingredients</pre><p>With the <code>accepts_nested_attributes_for</code> model property you can specify that a model will be able to also accept attributes for some of its relational models as setup through the has_many associations. You can also define rejection and deletion controls for the relational model through this method. See the official <a href="http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html" target="_blank">Active Record Nested Attributes</a> documentation for more information.</p>
<p><code>quantity.rb</code></p><pre class="crayon-plain-tag">class Quantity &lt; ActiveRecord::Base
  attr_accessible :amount, 
                  :ingredient,
                  :ingredient_attributes

  belongs_to :recipe
  belongs_to :ingredient

  accepts_nested_attributes_for :ingredient, 
                                :reject_if =&gt; :all_blank
end</pre><p></p>
<h3>Adding the join model attributes to the &#8230;join model attribute white-list</h3>
<p></p><pre class="crayon-plain-tag">attr_accessible :amount, 
                :ingredient,
                :ingredient_attributes</pre><p>Here we add the <code>:ingredient</code> and <code>:ingredient_attributes</code> to the mass-assignment white-list of the join model. This allows modification of the join model (Quantity) through the parent model (Recipe) to also modify and create entries in the final relational model (Ingredient). Note that the mass-assignment white-list on the join model also includes its own attribute of an <code>:amount</code>, something that using a <code>has_many, through</code> relationship gives us the ability to do.</p>
<h3>Creating the join relationship</h3>
<p></p><pre class="crayon-plain-tag">belongs_to :recipe
belongs_to :ingredient</pre><p>As this is a many to many relationship, there will be many recipes and many ingredients, but there will only be <em>one</em> quantity of <em>an</em> ingredient (or multiple ingredients) for each recipe. The belongs_to specification will explain to Ruby on Rails that each association of an Ingredient to a Recipe will be joined together by a record in the Quantity join table.</p>
<h3>Allow the join model to modify its relational model</h3>
<p></p><pre class="crayon-plain-tag">accepts_nested_attributes_for :ingredient, 
                                :reject_if =&gt; :all_blank</pre><p>Setting up a similar accepts_nested_atrributes_for specification on the join model allows the join model (Quantity) to modify properties of the final relational model (Ingredient) so when a Recipe is saved with a nested form, the individual Quantity entries can have Ingredient properties and modify those Ingredient properties.</p>
<p><code>ingredient.rb</code></p><pre class="crayon-plain-tag">class Ingredient &lt; ActiveRecord::Base
  attr_accessible :name

  has_many :quantities
  has_many :recipes, through: :quantities
end</pre><p>The final relational model doesn&#8217;t have a whole lot unique to it with the exception of the specification of the <code>has_many :recipes, through: :quantities</code> definition. This allows easy access to the recipes that an ingredient is associated to via simple <code>@ingredient.recipes</code> reference.</p>
<h2>Installing Cocoon to make nested forms easy-peasy</h2>
<p>To make setting up a nested form for a Recipe that can have 1 or more Ingredients each with a Quantity easy, we use a little gem called <a href="https://github.com/nathanvda/cocoon" target="_blank">Cocoon</a>. Cocoon provides drop-in JavaScript functionality to easily add and remove multiple entries of Ingredients to your nested form. As an added bonus, Cocoon can be combined with the <a href="https://github.com/justinfrench/formtastic" target="_blank">Formtastic</a> or <a href="https://github.com/plataformatec/simple_form" target="_blank">Simple Form</a> gems if you want to make your forms building even easier. To install Cocoon, just add it to your Rails project&#8217;s Gemfile:</p><pre class="crayon-plain-tag">gem 'cocoon'</pre><p>After adding this line to your Gemfile, just run <code>bundle install</code> to get the gem installed in your application. With Cocoon installed now, just add this line to your application.js file to include Cocoon&#8217;s JavaScript to your asset pipeline:</p><pre class="crayon-plain-tag">//= require cocoon</pre><p>This will allow all of Cocoon&#8217;s jQuery magic to do its thing.</p>
<h2>Setting up the form code</h2>
<p>The trixy part of getting all this model magic to work of course is getting your nested form setup. Nested forms are a pain in the butt, but hopefully this will help get you rolling on your project. You can build your form with the helper of your choice, but I&#8217;m going to just use Rails&#8217; built in form helpers for this example to focus on the core of the setup instead of muddying the waters with a third-party helper. The only third party structure you may notice here is the Twitter Bootstrap structure (which, if you <em>do</em> want to use Formtastic, there is a handy-dandy <a href="https://github.com/mjbellantoni/formtastic-bootstrap" target="_blank">Formtastic Bootstrap</a> gem to modify its output to match Bootstrap&#8217;s structure).</p><pre class="crayon-plain-tag">&lt;%= form_for @recipe, html: {class: "form-horizontal"} do |f| %&gt;
  &lt;fieldset id="recipe-meta"&gt;
    &lt;ol&gt;
      &lt;li class="control-group"&gt;
        &lt;%= f.label :title, "Recipe Name", class: "control-label" %&gt;
        &lt;div class="controls"&gt;&lt;%= f.text_field :title %&gt;&lt;/div&gt;
      &lt;/li&gt;
      &lt;li class="control-group"&gt;
        &lt;%= f.label :description, "A brief description of this recipe", class: "control-label" %&gt;
        &lt;div class="controls"&gt;&lt;%= f.text_area :description, rows: 5 %&gt;&lt;/div&gt;
      &lt;/li&gt;
      &lt;li class="control-group"&gt;
        &lt;%= f.label :instructions, "Instructions for this recipe", class: "control-label" %&gt;
        &lt;div class="controls"&gt;&lt;%= f.text_area :instructions, rows: 10 %&gt;&lt;/div&gt;
      &lt;/li&gt;
    &lt;/ol&gt; 
  &lt;/fieldset&gt; 

  &lt;fieldset id="recipe-ingredients"&gt; 
    &lt;ol&gt; 
      &lt;%= f.fields_for :quantities do |quantity| %&gt; 
        &lt;%= render 'quantity_fields', f: quantity %&gt; 
      &lt;% end %&gt; 
    &lt;/ol&gt; 
    &lt;%= link_to_add_association 'add ingredient', f, :quantities, 'data-association-insertion-node' =&gt; "#recipe-ingredients ol", 'data-association-insertion-method' =&gt; "append", :wrap_object =&gt; Proc.new {|quantity| quantity.build_ingredient; quantity } %&gt; 
  &lt;/fieldset&gt; 

  &lt;%= f.submit %&gt; 
&lt;% end %&gt;</pre><p></p>
<h3>The nested form</h3>
<p>All of this form is pretty standard until you get to the nested portion, then it gets a bit tricky, so I&#8217;ll walk through each piece.</p><pre class="crayon-plain-tag">&lt;%= f.fields_for :quantities do |quantity| %&gt; 
  &lt;%= render 'quantity_fields', f: quantity %&gt; 
&lt;% end %&gt;</pre><p>This loop creates all the form entry fields for your ingredients and their quantity amounts through a partial named after the Quantities themselves. The partial name here is important for Cocoon to work properly: <code>_[model]_fields.html.erb</code>.</p><pre class="crayon-plain-tag">&lt;%= link_to_add_association 'add ingredient', f, :quantities, 
    'data-association-insertion-node' =&gt; "#recipe-ingredients ol", 
    'data-association-insertion-method' =&gt; "append", 
    :wrap_object =&gt; Proc.new {|quantity| quantity.build_ingredient; quantity } %&gt;</pre><p>This a new helper method introduced by Cocoon to help create additional Quantity/Ingredient fields in your form. Not all of the properties shown here on the <code>link_to_add_association</code> method are required, but some are necessary for our form interaction to work properly, notably the <code>:wrap_object</code> property:</p><pre class="crayon-plain-tag">:wrap_object =&gt; Proc.new {|quantity| quantity.build_ingredient; quantity }</pre><p>This property will allow Cocoon to create a new, empty Ingredient object associated with the added Quantity entry on the form. Basically, without it you can&#8217;t add new ingredients, just a Quantity amount associated with no ingredient.</p>
<p>The <code>data-association-insertion-node</code> and <code>data-association-insertion-method</code> properties allow the &#8220;add&#8221; button to properly append new Quantity/Ingredient fields to our form structure. The nice thing is, once you have all this configured here, Cocoon does all the rest of the work &#8211; not a single line of JavaScript required.</p>
<h3>The nested form partial</h3>
<p><code>_quantity_fields.html.erb</code></p><pre class="crayon-plain-tag">&lt;li class="control-group nested-fields"&gt;
  &lt;div class="controls"&gt;
    &lt;%= f.label :amount, "Amount:" %&gt;
    &lt;%= f.text_field :amount %&gt;

    &lt;%= f.fields_for :ingredient do |quantity_ingredient| %&gt;
      &lt;%= quantity_ingredient.text_field :name %&gt;
    &lt;% end %&gt;

    &lt;%= link_to_remove_association "remove", f %&gt;
  &lt;/div&gt;
&lt;/li&gt;</pre><p>The nested partial here will be used with the output form and the template for any added Quantity/Ingredient fields to your form interface. The unique piece of this template added for Cocoon is the link_to_remove_association method. This method automatically looks for the <a href="http://api.jquery.com/closest/" target="_blank">closest()</a> element to it with the <code>nested-fields</code> class and will remove the fields from the form when clicked and therefor from the database record upon form submission. These properties cannot be modified, so make sure that the <code>link_to_remove_association</code> method is contained within an element in the partial file with the <code>nested-fields</code> class.</p>
<h2>Voila!</h2>
<p>That&#8217;s it! Now that we have sprinkled the appropriate Ruby pixie dust in the correct areas, the Rails framework will take over the rest of the work. Ain&#8217;t Rails beautiful?</p>
]]></content:encoded>
			<wfw:commentRss>http://kynatro.com/blog/2012/12/16/building-a-has_many-through-model-relationship-and-form-with-cocoon/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Finally a practical use for WordPress&#8217; secret SHORTINIT constant!</title>
		<link>http://kynatro.com/blog/2012/12/11/finally-a-practical-use-for-wordpress-secret-shortinit-constant/</link>
		<comments>http://kynatro.com/blog/2012/12/11/finally-a-practical-use-for-wordpress-secret-shortinit-constant/#comments</comments>
		<pubDate>Tue, 11 Dec 2012 16:58:01 +0000</pubDate>
		<dc:creator>kynatro</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[shortinit]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wp-config]]></category>
		<category><![CDATA[wpdb]]></category>

		<guid isPermaLink="false">http://kynatro.com/?p=605</guid>
		<description><![CDATA[Ever write a plugin that needs to utilize AJAX functionality for a rapid response, such as checking if a user exists in the database on key-up, but going through the usual admin-ajax route is too slow? You can write your own AJAX response addressing a PHP file directly with the secret SHORTINIT constant to safely [...]]]></description>
				<content:encoded><![CDATA[<p>Ever write a plugin that needs to utilize AJAX functionality for a rapid response, such as checking if a user exists in the database on key-up, but going through the usual admin-ajax route is too slow? You can write your own AJAX response addressing a PHP file directly with the secret SHORTINIT constant to safely load the WPDB Class and be able to access the WordPress database Object!<br />
<span id="more-605"></span>Create a PHP file in your theme or plugin that starts out with this code and write the rest of your work below it and you&#8217;ll have a quick responding AJAX retrievable PHP script:</p><pre class="crayon-plain-tag">&lt;?php
// Force a short-init since we just need core WP, not the entire framework stack
define( 'SHORTINIT', true );

// Build the wp-load.php path from a plugin/theme
$wp_root_path = dirname( dirname( dirname( __FILE__ ) ) );
// Require the wp-load.php file (which loads wp-config.php and bootstraps WordPress)
require( $wp_root_path . '/wp-load.php' );

// Include the now instantiated global $wpdb Class for use
global $wpdb;

// Do your PHP code for rapid AJAX calls with WP!

// Example: Retrieve and display the number of users.
$user_count = $wpdb-&gt;get_var( $wpdb-&gt;prepare( "SELECT COUNT(*) FROM $wpdb-&gt;users;" ) );
echo "&lt;p&gt;User count is {$user_count}&lt;/p&gt;";</pre><p></p>
]]></content:encoded>
			<wfw:commentRss>http://kynatro.com/blog/2012/12/11/finally-a-practical-use-for-wordpress-secret-shortinit-constant/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Time to Learn Something New!</title>
		<link>http://kynatro.com/blog/2012/12/03/time-to-learn-something-new/</link>
		<comments>http://kynatro.com/blog/2012/12/03/time-to-learn-something-new/#comments</comments>
		<pubDate>Tue, 04 Dec 2012 06:22:29 +0000</pubDate>
		<dc:creator>kynatro</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Walk Through]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[homebrew]]></category>
		<category><![CDATA[phusion passenger]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[rvm]]></category>
		<category><![CDATA[sinatra]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[virtual machine]]></category>
		<category><![CDATA[windows 7]]></category>
		<category><![CDATA[xcode]]></category>
		<category><![CDATA[yii]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://kynatro.com/?p=593</guid>
		<description><![CDATA[I&#8217;ve taken it upon myself to start learning a new programming language and leaving my happy little LAMP (or preferably LNMP) comfort zone. I love PHP and how easy it is to get up and running. Its pretty simple and gets the job done quick. PHP unfortunately lacks a lot of the &#8220;grace&#8221; and modern [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve taken it upon myself to start learning a new programming language and leaving my happy little LAMP (or preferably LNMP) comfort zone. I love PHP and how easy it is to get up and running. Its pretty simple and gets the job done quick. PHP unfortunately lacks a lot of the &#8220;grace&#8221; and modern nuances that a more modern platform such as Ruby on Rails provides.</p>
<p>Now, before the pitchforks start coming out I already know that I&#8217;m kind of comparing Apples to Apple Pie. PHP is a language with a ton of community support and Ruby on Rails is a framework. I get it, but there&#8217;s a lot to be desired in PHP land. PHP has some good frameworks as well &#8211; <a title="CakePHP: the rapid development framework" href="http://cakephp.org/" target="_blank">CakePHP</a>, <a title="Zend" href="http://www.zend.com/en/" target="_blank">Zend</a>, <a title="CodeIgniter / EllisLab" href="http://ellislab.com/codeigniter" target="_blank">CodeIgniter</a>, <a title="Yii framework" href="http://www.yiiframework.com/" target="_blank">Yii</a>, etc. &#8211; but the sheer variety creates a lot of discontinuity in the community and a lot of the frameworks out there are just Ruby on Rails wannabe&#8217;s anyways. More importantly besides any of that, PHP is getting a little boring and I want to learn something new <img src='http://kynatro.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  So, I&#8217;m starting to learn Ruby, Sinatra and eventually Ruby on Rails and share my learning here.</p>
<h2><span id="more-593"></span>Environment Setup</h2>
<p>So, at work I use a Mac, at home I use a PC and I dual boot between Windows 7 and Ubuntu. I personally prefer Ubuntu, but sometimes I have to have access to Photoshop and Photoshop through Wine sucks. From what I&#8217;ve found, the best way to run a development Ruby environment is through a VM installation of Ubuntu Server. It can be a little tricky to setup, but I&#8217;ve chronicled how to get yourself going with a Ruby development environment that will work on an Ubuntu server and Mac OS (variations in installation noted where appropriate).</p>
<h3>Getting Started on a Mac</h3>
<p>First things first if you&#8217;re running a Mac &#8211; get your system setup for development. Install a few key tools to get your system ready for developing and utilizing the command line:</p>
<ol>
<li>Install <a href="https://itunes.apple.com/us/app/xcode/id497799835?ls=1&amp;mt=12">XCode from the AppStore</a></li>
<li>Install <a href="http://mxcl.github.com/homebrew/">Homebrew</a> to give you access to a missing app repository that gives you the ability to install tools for development much like Ubuntu&#8217;s apt-get system.</li>
</ol>
<h3>Install RVM</h3>
<p><a href="https://rvm.io/">RVM (Ruby Version Manager)</a> will allow you to maintain individual version controls of Ruby, Rails and Gems on a per-project/folder basis. Very useful when working on multiple projects of varying maturity.</p>
<ol>
<li><strong>Install RVM itself.</strong><br />
<pre class="crayon-plain-tag">curl -L https://get.rvm.io | bash -s stable --auto</pre><br />
This will install RVM in your user&#8217;s folder and will allow you to run any future <code>ruby</code>, or <code>gem</code> commands without the need for <code>sudo</code>. For a few steps later this is important to keep in mind as the version of Ruby installed by RVM is the one that will need to be used, not the version of Ruby that comes with your operating system.</li>
<li><strong>Install Git.</strong>On a Mac, install this with Brew:<br />
<pre class="crayon-plain-tag">brew install git</pre><br />
On Ubuntu, install with the apt-get command:<br />
<pre class="crayon-plain-tag">sudo apt-get install git</pre>
</li>
<li><strong>Reload Your Bash Profile. </strong>After installing Git and RVM, you&#8217;ll want to reload your Bash profile and your local path variables:<br />
<pre class="crayon-plain-tag">. ~/.bash_profile</pre>
</li>
<li><strong>Install RVM Dependencies.</strong>Now that you&#8217;ve installed RVM, you&#8217;ll need to install any dependencies. Luckily RVM will tell you exactly what you need to install. Just run:<br />
<pre class="crayon-plain-tag">rvm requirements</pre><br />
Read the instructions on screen to learn what you need to make sure is installed for your environment to work.</li>
<li><strong>Install Ruby.</strong>With RVM installed you can install Ruby easily by running:<br />
<pre class="crayon-plain-tag">rvm install 1.9.3</pre><br />
This will take a while, so go grab a coffee.</li>
<li><strong>Set RVM&#8217;s Default Ruby Version.</strong>Check the version of Ruby that was installed by running <code>ruby -v</code>. This will output your installed major version of Ruby including the patch number that will look something like:<br />
<pre class="crayon-plain-tag">ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-linux]</pre><br />
Set RVM to use the version seen there by running:<br />
<pre class="crayon-plain-tag">rvm --default use 1.9.3-p327</pre><br />
Take note of the added &#8220;-&#8221; between the major version number and the patch number.</li>
</ol>
<h3>Installing Rails</h3>
<p>With RVM installed you&#8217;re ready to run Ruby on your machine, the next step is installing the Rails framework. This can easily be accomplished with our recently installed gem library that was installed with Ruby.</p>
<ol>
<li><strong>Install Rails.</strong>Simply run:<br />
<pre class="crayon-plain-tag">gem install rails -v 3.2.9</pre>
</li>
<li><strong>Install Node.</strong>The new Rails 3 asset pipeline offers support for server-side JavaScript compilation of JavaScript and CoffeeScript files. I recommend installing Node.js for this processing. This also has the added benefit of installing some support libraries on Ubuntu that will allow you to use the SetEnv Apache command in your LAMP stack to specify a development environment. To install Node.js in MacOS:<br />
<pre class="crayon-plain-tag">brew install node</pre><br />
In Ubuntu:<br />
<pre class="crayon-plain-tag">sudo apt-get install nodejs</pre>
</li>
<li><strong>Ubuntu Preparation.</strong>On Ubuntu machines there are some ancillary packages to install if you plan on running Ruby on Rails with MySQL or PostgreSQL databases in your local development environment. Install these with the following command:<br />
<pre class="crayon-plain-tag">sudo apt-get install libmysqlclient-dev libpq-dev</pre>
</li>
</ol>
<h3>Install Phusion Manager</h3>
<p>If you have a LAMP or LNMP stack already installed on your machine you can also install Phusion Passenger for easy Virtual Host management in your development environment. This will allow you to simply create virtual hosts and run multiple <a title="Ruby on Rails" href="http://rubyonrails.org/">Ruby on Rails</a>, <a title="Sinatra" href="http://www.sinatrarb.com/">Sinatra</a> or other Rake/Ruby based applications at the same time accessible via their virtual host domain maps. There are a few tricks to note about running Phusion Passenger with RVM, so be sure to follow the modified instructions here for installation:</p>
<ol>
<li><strong>Install Phusion Passenger.</strong> Go to  <a href="https://www.phusionpassenger.com/download">https://www.phusionpassenger.com/download</a> and follow the installation instructions at the bottom of the page for your LAMP or LNMP stack with one major exception &#8211; do not run ANY of the commands with the <em>sudo</em> command. Since you installed RVM earlier, you want <em>Phusion Passenger</em> to work with your RVM installation not your  operating system&#8217;s default Ruby installation.</li>
<li><strong>Install the Passenger Module. </strong>After running the appropriate passenger module installation instructions from step 2 on the <em>Phusion Passenger</em> installation page, be sure to follow any instructions given by the installer for adding lines to your Apache configuration files. These lines will automatically be set to use your RVM installed copy of Ruby so you don&#8217;t need to modify them. Base your virtual host configurations based off the example given by the Passenger installer. You can also consult the <em>Phusion Passenger</em> documentation for more details - <a href="http://www.modrails.com/documentation/Users%20guide%20Apache.html">Apache</a> or <a href="http://www.modrails.com/documentation/Users%20guide%20Nginx.html">Nginx</a> - for more detail on setting up for various frameworks.</li>
<li><strong>Configure Your Local Environment.</strong> By default Rails and Rack environments are set to <em>production</em> when using Passenger. If you are running Apache you can simply set the environments to <em>development</em> in your domain&#8217;s <code>&lt;VirtualHost&gt;</code>tag:<br />
<pre class="crayon-plain-tag"># Ruby on Rails environment
SetEnv RAILS_ENV development
# Rack environment (Sinatra and other Ruby frameworks)
SetEnv RACK_ENV development</pre><br />
Alternatively, this can go in an .htaccess file when running Apache or even right next to your Passenger module load lines if you want all your environments to be <em>development</em>.</li>
<li><strong>Speed up Passenger.</strong>Out of the box, Passenger is slow as mollasses. This of course negates much of the benefit of running something like Passenger, so lets speed things up. Add these lines next to your Passenger module load lines:<br />
<pre class="crayon-plain-tag"># Speeds up spawn time tremendously - if your app is compatible
# RMagick seems to be incompatible with smart spawning
# Older versions of Passenger called this RailsSpawnMethod
PassengerSpawnMethod smart

# Keep the application instances alive longer in seconds
PassengerPoolIdleTime 1000

# Keep the spawners alive, which speeds up spawning a new 
# Application listener after a period of inactivity at 
# the expense of memory.
RailsAppSpawnerIdleTime 0

# Automatically hit your site when apache starts, so that you
# don't have to wait for the first request for passenger to 
# "spin up" your application. This even helps when you have 
# smart spawning enabled. 
PassengerPreStart http://www.mywebsite.com/
PassengerPreStart http://www.myotherwebsite.com:3000/

# Minimum number of application instances that must be kept 
# around whenever the application is first accessed or after 
# passenger cleans up idle instances. With this option, 3 
# application instances will ALWAYS be available after the
# first request, even after passenger cleans up idle ones
PassengerMinInstances 3</pre><br />
See the <a href="http://stackoverflow.com/questions/853532/slow-initial-server-startup-when-using-phusion-passenger-and-rails" target="_blank">original StackOverflow article</a> for more information on what this does.</li>
<li><strong>Special Modifications For Virtual Box Installations.</strong> If you have installed Ubuntu Server in a Virtual Box VM and have your development workspace available to the server as a permanent <em>Shared Folder</em>, you will need to make some user permission modifications. As the <em>Shared Folder</em> mount will be owned by the <code>vboxsf</code> group, you will need to make sure that both Apache and <em>Phusion Passenger</em> are run as part of that group. Modify the <code>APACHE_RUN_GROUP</code> value to be <code>vboxsf</code> in your <code>/etc/apache2/envvars</code> file to tell Apache to run itself as a user belonging to the <code>vboxsf</code> group. To tell <em>Phusion Passenger</em> to run under a different group, just add the line <code>PassengerGroup vboxsf</code> right next to the other lines you added to your Apache configuration in step 2.</li>
</ol>
<p>That&#8217;s it! You should now have a fully functional development environment ready for Ruby on Rails</p>
]]></content:encoded>
			<wfw:commentRss>http://kynatro.com/blog/2012/12/03/time-to-learn-something-new/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>DC, Days 7 and 8 and Coming Home</title>
		<link>http://kynatro.com/blog/2012/09/05/dc-days-7-and-8-and-coming-home/</link>
		<comments>http://kynatro.com/blog/2012/09/05/dc-days-7-and-8-and-coming-home/#comments</comments>
		<pubDate>Thu, 06 Sep 2012 04:33:26 +0000</pubDate>
		<dc:creator>kynatro</dc:creator>
				<category><![CDATA[Washington DC Trip]]></category>

		<guid isPermaLink="false">http://kynatro.com/?p=271</guid>
		<description><![CDATA[So, at the end of the trip here its gotten pretty busy as we try and cram every last monument, memorial and museum in we can with the time we have left. We&#8217;re also doing all this while exhausted from the rest of the running around we had been doing the previous 6 days. So [...]]]></description>
				<content:encoded><![CDATA[<p>So, at the end of the trip here its gotten pretty busy as we try and cram every last monument, memorial and museum in we can with the time we have left. We&#8217;re also doing all this while exhausted from the rest of the running around we had been doing the previous 6 days. So now that we&#8217;ve come home and had a day to recouperate, without further ado, days 7, 8 and coming home!</p>
<p><span id="more-271"></span></p>
<h1>Day 7</h1>
<p>Day 7 was Sunday, so we started our morning out going to church at Capitol Hill Baptist. It was great to visit another church and hear a different pastor preach on the word of God. He was preaching this morning on Hebrews 10 and leaning on God in our walk as Christians. It was a fantastic, rich message and a service filled with a lot of great praise and worship.</p>
<p>We spent the rest of the day kind of perusing some lesser known areas of DC. We hit a great little self-proclaimed dive for lunch called &#8220;Tune Inn&#8221;. We found it the night before while we were watching <a href="http://www.foodnetwork.com/diners-drive-ins-and-dives/index.html" target="_blank">Diners, Drive-ins and Dives</a> on the <em>Food Network</em> in our hotel. Adrienne and I had some of the &#8220;Guy Tested&#8221; foods: the Beer Battered Burger and the West Virginia Roast Beef sandwich. They were drenched in grease, battered, deep fryed and <strong></strong><em><strong>delicious</strong></em>. Certainly a place you don&#8217;t go to every day, but every once in a while&#8230; bring on the grease (and coronary bypass <img src='http://kynatro.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><img class="alignnone size-large wp-image-544" title="IMG_5871" src="http://kynatro.com/wp-content/uploads/2012/09/IMG_5871-1024x768.jpg" alt="" width="584" height="438" /></p>
<h3>Smithsonian National Postal Museum</h3>
<p>One of the lesser known museums in Washington DC is the National Postal Museum. The museum is on the smaller side and its right next to Union Station, so its a really easy to get to and quick visit if you&#8217;re looking for something different. We learned about <a href="http://www.postalmuseum.si.edu/exhibits/2c1f_owney.html" target="_blank">Owney, mascot of the Railway Mail Service</a>, a little dog that followed around the postmen and ended up becoming a good luck charm for the railway. It was pretty cool seeing all the various mail transport methods over the years and a few interesting stamps. Overall the Postal Museum is a nice light weight diversion after a long week.</p>
<div class="slidedeck-link"><a href="http://kynatro.com/blog/2012/09/05/dc-days-7-and-8-and-coming-home/#SlideDeck-546">Washington DC, Postal Museum <small>[see the SlideDeck]</small></a></div>
<p>We spent the rest of day 7 just kind of wandering around and decided to stop by and take some pictures of Meigs&#8217; &#8220;Old Red Barn&#8221;, more commonly known as the <a href="http://www.nbm.org/" target="_blank"><em>National Building </em><em>Museum</em></a>. Montgomery Meigs, a Quarter Master General during the Civil War responsible for turning the former Lee mansion into Arlington Cematary, was also an engineer and was contracted to build the building. He decided to do things a little differently from the already established &#8220;federal style&#8221; in DC and made the thing with red brick. The building ended up as this impressive, red, behemoth of a building. Not everyone liked it though; we found a tour sign on the road that gave some insight into the building and the blockquote on it from General William T. Sherman describing the building read:</p>
<blockquote><p>It&#8217;s too bad the damn thing is fire proof.</p></blockquote>
<p>After taking a few photos of the building, we had dinner and ended up having to run through absolute pouring rain between metro stations. Word to the wise when visiting the east coast (for those of us here used to sunny, mostly dry SoCal) &#8211; if it looks like it <em>might</em> rain, it <em>will</em> rain, maybe not right away, but bring an umbrella anyways!</p>
<div id="attachment_545" class="wp-caption alignnone" style="width: 594px"><img class=" wp-image-545" title="IMG_5904" src="http://kynatro.com/wp-content/uploads/2012/09/IMG_5904-1024x768.jpg" alt="" width="584" height="438" /><p class="wp-caption-text">Meigs&#8217; &#8220;Old Red Barn&#8221;</p></div>
<h1>Day 8</h1>
<p>Last day! Whew, what a long week. This last day was going to be our &#8220;free day&#8221; that we left unscheduled so we could get in the things we didn&#8217;t have a chance to see or found out about throughout the rest of the week.</p>
<h3>The White House Visitor Center</h3>
<p>Alas, we did not get a tour of the White House scheduled. Its actually pretty crazy to get a tour in now-a-days. You need to have your Passports in line and you need to request an invite from your local representative in Congress for the tour, and you need to do it about 3 months in advance. We&#8217;ve had kind of a whirlwind summer with both of us working, a trip Florida just a month prior and buying a house that we just never got the chance to make sure everything was in order to request the tour.</p>
<p>Since we couldn&#8217;t get the tour of the White House itself in, we decided to go to the visitor center instead. Unfortunately it was being renovated and only existed in a temporary form in a modular building a block away. Le sigh, what are you gonna do? Well, they did have a video running in there at least with some awesome shots of the rooms in the White House itself and it was a nice little insight.</p>
<h3>US Capitol Tour</h3>
<p>After the visitor center we finally went on the tour of the Capitol that we missed earlier in the week because I was sick. The tour, needless to say, was worth the wait. The Capitol tour was setup in a pretty unique and technologically modern way too. Each tour guide had a microphone hanging around their neck that transmitted to receivers attached to headphones that we all got to wear. This was a great way to tour the Capitol because it allowed us to always be able to hear the live tour while we wandered around away from the guide and took pictures of everything we could.</p>
<div class="slidedeck-link"><a href="http://kynatro.com/blog/2012/09/05/dc-days-7-and-8-and-coming-home/#SlideDeck-563">Washington DC, The Capitol <small>[see the SlideDeck]</small></a></div>
<p>The Capitol building was a pretty impressive and inspiring sight to see. The dome that sits at the center of the building is actually over the geographic center of Washington DC. Inside it contains a frieze around its circumference of American history, numerous historical paintings of historical events surrounding the forming of the country and a few statues of some of those that lay in state (presidents) or honor (civilians) at the center of the rotunda. Only presidents and Americans that have had made an impact on our country&#8217;s history have lain in state or honor there. Presidents like Abraham Lincoln, James A. Garfield, John F. Kennedy and important civilians such as Rosa Parks have lain under honor guard on public display before being interred under that dome at the center of Washington DC.</p>
<p>While we were not able to sit in on a session in Congress (it was a Federal holiday after all), it was a tour worth taking. Its a great thing to see the statue of Lady Freedom up close (well, technically it was the boilerplate statue that was used to model the actual Lady Freedom), the statues of the great men and women representing each state spread throughout the building and seeing the place where this country is run from.</p>
<h3>National Building Museum</h3>
<p>After a quick lunch on the Mall from one of the many food trucks scattered throughout the more touristy parts of the city we headed over to the National Building Museum to check out what we saw signs for the day before. The building, impressive as it is in scale on the outside, was almost more impressive on the inside. The building has a massive atrium in the middle supported by multiple 15 foot wide columns. The atrium was filled with numerous <a href="http://go.nbm.org/site/Calendar/484365284?view=Detail&amp;id=113061" target="_blank">buildings/constructs created with cans</a> to benefit the Capitol Area Food Bank.</p>
<p><img class="alignnone size-large wp-image-587" title="IMG_6110" src="http://kynatro.com/wp-content/uploads/2012/09/IMG_6110-1024x768.jpg" alt="" width="584" height="438" /></p>
<p>The main exhibit that we were able to see that day was the Lego exhibit (the rest were closed or charged a fee for entry and we&#8217;re cheap-skates). The buildings were all legitimately built with standard Lego pieces as far as I could tell, but I don&#8217;t doubt a few customs were made for some of the buildings. The buildings consisted of some of the grand sky-scrapers of the world, including the impressively tall Burj Khalifa in Dubai. I really appreciated this exhibit because I&#8217;ve always believed that Legos are one of the best creative tools for kids. The creations made here are a great example of the incredible and complex things that can be made with such a simple toy.</p>
<h3>Monuments by Moonlight</h3>
<p><img class="alignnone size-large wp-image-588" title="IMG_6233" src="http://kynatro.com/wp-content/uploads/2012/09/IMG_6233-1024x768.jpg" alt="" width="584" height="438" /></p>
<p>Besides the Capitol tour, the Monuments by Moonlight was the only official &#8220;touristy tour&#8221; that we took the entire trip. The tour was actually run by the same company that does the Old Town Trolley tour here in San Diego and it was a great end to the week. We got to see all the monuments and museums we had toured the week prior from a beautiful night time perspective and get a little insight from our tour guide on some interesting historical tidbits we didn&#8217;t know about. This tour also took us by the Iwo Jima Memorial near Arlington Cemetery that we didn&#8217;t get a chance to see when we were near their earlier in the week. The statue was massive and quite the sight to see.</p>
<h1>Home Again</h1>
<p>After a long, exhausting week in Washington DC we&#8217;re finally home. The trip was an amazing experience and I got to see a lot of incredible things that spoke of the triumph of this country in its creation and the capability of human ingenuity. The trip was absolutely worth it in spite of how tiring it was walking all over DC, but I&#8217;d definitely do it again and recommend that any person calling himself an American should go and tour it. Its a great and inspiring thing to see the seat of our government and the care and attention given to preserving its history. I&#8217;ve got a much greater appreciation now for the accomplishment the early colonists achieved and the struggles they had to go through to create the nation we live in now.</p>
<p><em>Check back on these posts in a couple of days for photos from our trip on each day.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://kynatro.com/blog/2012/09/05/dc-days-7-and-8-and-coming-home/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DC, Days 5 and 6</title>
		<link>http://kynatro.com/blog/2012/09/01/dc-days-5-and-6/</link>
		<comments>http://kynatro.com/blog/2012/09/01/dc-days-5-and-6/#comments</comments>
		<pubDate>Sun, 02 Sep 2012 02:33:27 +0000</pubDate>
		<dc:creator>kynatro</dc:creator>
				<category><![CDATA[Washington DC Trip]]></category>

		<guid isPermaLink="false">http://kynatro.com/?p=267</guid>
		<description><![CDATA[Ahh, good old east coast weather! I am currently writing this amidst pouring rain, thunder and lightning (I sure hope I don&#8217;t kill my laptop having it plugged in!) Did I mention I absolutely love it when it rains? Days 5 and 6 were, in summary, Smithsonian days. We hit every Smithsonian we could in [...]]]></description>
				<content:encoded><![CDATA[<p>Ahh, good old east coast weather! I am currently writing this amidst pouring rain, thunder and lightning (I sure hope I don&#8217;t kill my laptop having it plugged in!) Did I mention I absolutely love it when it rains? Days 5 and 6 were, in summary, Smithsonian days. We hit every Smithsonian we could in the course of 48 hours (with some much needed breaks for our feet here and there). A and I also got to see our most looked forward to sights!</p>
<p><span id="more-267"></span></p>
<h1>Day 5</h1>
<h3>The Old Post Office</h3>
<div class="slidedeck-link"><a href="http://kynatro.com/blog/2012/09/01/dc-days-5-and-6/#SlideDeck-401">Washington DC, The Old Post Office <small>[see the SlideDeck]</small></a></div>
<p>We started the day off rather late because, well, we wanted to sleep in. We started the day having lunch at the &#8220;Old Post Office&#8221; in the Penn Quarter. The Pavilion in the center of the Old Post Office has a kind of crappy little food court and we had lunch there. We of course didn&#8217;t know how good the quality of the food would be until after we got there, but that&#8217;s not the main reason we went there in the first place. The main reason we went to the Old Post Office is the fact that its bell tower is the tallest point in DC short of the Washington Monument (which is closed right now).</p>
<p>We took the elevator up to the top of the tower, and wow, what an amazing view! The look out on the city was absolutely incredible and worth suffering through the sub-par food court lunch that preceded it. We got some great photos of not only the impressive building and its towering pavilion, but the city surrounding it too. I&#8217;ll get those posted up after we get back from the trip.</p>
<h3>Smithsonian Air and Space Museum and Smithsonian Castle</h3>
<div class="slidedeck-link"><a href="http://kynatro.com/blog/2012/09/01/dc-days-5-and-6/#SlideDeck-425">Washington DC, Air and Space Museum <small>[see the SlideDeck]</small></a></div>
<p>After the fantastic views from the Old Post Office we made our way back over to the Mall and hit up the Smithsonian Castle. The castle was built in honor of James Smithson, the wealthy Britishman who appreciated America&#8217;s drive for freedom and liberty and in his will bequeathed his wealth to found the Smithsonian Institute. The castle now serves as offices for the head of the Smithsonian Institute and the home of James&#8217; sarcophagus. After a few photos and signing up to become Smithsonian Institute members, we headed off to the Smithsonian Air and Space museum, something I&#8217;ve wanted to see since I was about 8 years old.</p>
<p>The Air and Space museum was awesome to say the least. The aircraft on display covered the entire gamut of aerospace history with everything from the Wright Brothers&#8217; original plane, the Spirit of Saint Luis (among other Lindbergh aircraft), various WWII aircraft and space program vehicles including the lunar lander and the Apollo 11 capsule. Adrienne of course could only stand so much aircraft, but left to it I probably could have been in there for 4 or 5 hours (we stayed about an hour and a half). I don&#8217;t think we&#8217;re going to be able to make it out to the Udvar-Hazy center near Dulles airport, but even still, it was an amazing experience.</p>
<h3>Concert at the Kennedy Center</h3>
<p><img class="alignnone size-large wp-image-446" title="IMG_5553" src="http://kynatro.com/wp-content/uploads/2012/09/IMG_5553-768x1024.jpg" alt="" width="584" height="778" /></p>
<p>We finished the evening off at the <a href="http://www.kennedy-center.org/" target="_blank">Kennedy Center</a> for performing arts for a <a href="http://www.kennedy-center.org/programs/millennium/" target="_blank">free concert</a>. We saw <a href="http://annieandthebeekeepers.com/" target="_blank">Annie and the Beekeepers</a> on the Millennium Stage and it was a really enjoyable event. The Kennedy Center is gorgeous and has some great views of Georgetown, the Potomac and the city proper from the roof terrace. We ended up walking back from the Kennedy Center and saw a few more monuments at night, including the Albert Einstein memorial at the American Science Center and the White House from across the front lawn. On the way back from the hotel we also got a chance to try out some of the most fantastic Sorbet and Gelato I&#8217;ve ever had at <a href="http://www.pitangogelato.com/" target="_blank">Pitango Gilato</a>.</p>
<h1>Day 6</h1>
<p>Yet another day of Smithsonian museums and a few more new things &#8211; exploratory dining at its best!</p>
<h3>Ford&#8217;s theatre</h3>
<p><img class="alignnone size-large wp-image-447" title="IMG_5606" src="http://kynatro.com/wp-content/uploads/2012/09/IMG_5606-1024x768.jpg" alt="" width="584" height="438" /></p>
<p>We started the day at Ford&#8217;s Theatre, but before that &#8211; breakfast at <a href="http://www.lincolnswaffleshop.com/" target="_blank">Lincoln&#8217;s Waffle House</a>, where according to legend Abraham Lincoln went every morning during his presidency for waffles, eggs and bacon because he believed breakfast was the most important meal of the day! Well, not really, but it was a nice little greasy spoon that was close, sounded quirky and interesting and just happened to be across the street from the theatre <img src='http://kynatro.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  The food wasn&#8217;t hot, but the theatre museum was nice. Unfortunately we couldn&#8217;t get into the theatre as it was closed, but the museum and the house across the street where Lincoln died were pretty interesting to see.</p>
<div id="attachment_448" class="wp-caption alignnone" style="width: 594px"><img class="size-large wp-image-448" title="IMG_5617" src="http://kynatro.com/wp-content/uploads/2012/09/IMG_5617-768x1024.jpg" alt="" width="584" height="778" /><p class="wp-caption-text">A tower of literature all about Abraham Lincoln</p></div>
<h3>Smithsonian Natural History and American History Museums</h3>
<p>After Ford&#8217;s Theatre we hit up the Smithsonian Natural History and American History Museums for some great sights. Among the traditional dino displays, the Natural History museum was also displaying a live butterfly exhibit, the Hope Diamond and some beautiful animal photography. The sheer variety of creation and menagerie of creatures on display was fantastic to see.</p>
<p>Truly interesting though was the American History museum, understandably because of its more direct relevancy. It was pretty cool looking at some of the great things on display there, from a Dumbo off the Disneyland ride to the board and outfit of Shawn White&#8217;s snowboarding victory, to Kermit, to an Apple IIe. The most impressive item stored there though was the original star spangled banner flown above Fort McHenry in the war of 1812. This flag was enormous at 34&#8242; by 32&#8242;, originally 32&#8242; x 42&#8242; but trimmed down for memorabilia shortly after the war.</p>
<div class="slidedeck-link"><a href="http://kynatro.com/blog/2012/09/01/dc-days-5-and-6/#SlideDeck-449">Washington DC, Smithsonian Museums <small>[see the SlideDeck]</small></a></div>
<p>Going through all the exhibits it was inspiring to see how much America has accomplished in its history, and a little sobering to see how much of the museum was devoted to America&#8217;s war history and civil rights issues. As a country we&#8217;ve accomplished some pretty amazing things from automobiles to human flight, but we&#8217;ve also spent a great majority of our history at war. We&#8217;re damned good at it (arguably the best), but it sure would be nice if there wasn&#8217;t constantly the need to be good at it. In the fallen world we live in though, this seems par for the greed, lust for power and control we sinful humans have wrought upon ourselves. It was clearly evident today that we are indeed a fallen race, through no fault but our own, as a species, in need of rescue. As God&#8217;s children, He has created us as incredibly cable and creative beings, but with the free will that we have we still choose to use that blessed creativity of ours for destruction in the service of greed.</p>
<h3>on a lighter note!</h3>
<div id="attachment_541" class="wp-caption alignnone" style="width: 594px"><img class=" wp-image-541" title="IMG_5850" src="http://kynatro.com/wp-content/uploads/2012/09/IMG_5850-1024x768.jpg" alt="" width="584" height="438" /><p class="wp-caption-text">Best&#8230;pie&#8230;evar!11!!</p></div>
<p>We finished the day up with a trip for dinner to <a href="http://dangerouspies.com/home/" target="_blank">Dangerously Delicious Pies</a> for some, well, delicious pie! They have everything from savory pies to quiches to traditional tasty desert pies.. A and I had a Sausage Tomato Fennel and Chicken Pot Pie for dinner while we listened to some great nineties punk and rock hits (Foo Fighters, They Might Be Giants, Radiohead, etc.). The pies were awesome and if you are going to DC soon, you must take a cab or bus out there to have some. They have a little satellite kiosk at Union Station too if you don&#8217;t want to make the trip out to NW H Street, but the experience at the home restaurant is worth it.</p>
<p>Well, its stopped raining now, but we had a fantastic two days. Tomorrow we go to see the National Zoo (we&#8217;ll see how that compares to our own famous SD Zoo).</p>
]]></content:encoded>
			<wfw:commentRss>http://kynatro.com/blog/2012/09/01/dc-days-5-and-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DC, Days 3 and 4</title>
		<link>http://kynatro.com/blog/2012/08/30/dc-days-3-and-4/</link>
		<comments>http://kynatro.com/blog/2012/08/30/dc-days-3-and-4/#comments</comments>
		<pubDate>Fri, 31 Aug 2012 04:07:18 +0000</pubDate>
		<dc:creator>kynatro</dc:creator>
				<category><![CDATA[Washington DC Trip]]></category>

		<guid isPermaLink="false">http://kynatro.com/?p=262</guid>
		<description><![CDATA[OK ,so a daily logging isn&#8217;t working so well. This has been a fantastic vacation so far, but with so much to see its bloody exhausting! So, this is going to be a kind of every-other-day or every time I feel energetic enough after walking around all day sort of series. Day 3 Day 3 [...]]]></description>
				<content:encoded><![CDATA[<p>OK ,so a daily logging isn&#8217;t working so well. This has been a fantastic vacation so far, but with so much to see its bloody exhausting! So, this is going to be a kind of every-other-day or every time I feel energetic enough after walking around all day sort of series.</p>
<p><span id="more-262"></span></p>
<h2>Day 3</h2>
<p>Day 3 didn&#8217;t start out so hot. After spending all day on Tuesday out in the sun and walking the monuments (a fantastic experience and a great start to the vacation), I woke up suffering from heat exhaustion and dehydration. After some fantastic bed-side care from my wonderful wife though and a quick nap I was ready to face the day.</p>
<p>On day 3 we planned on spending some time on Capitol Hill, but like I said, I was sick, so we&#8217;ve rescheduled that for next Monday the 3rd of September. Instead, we decided to make this a trip to the archives. First up was the Jefferson Library of Congress.</p>
<h3>Jefferson Library of Congress</h3>
<p>By far, the most ornate, most impressive building I&#8217;ve seen in Washington D.C. yet. This was an amazing and appropriate place for the largest collection of books in the world. The main reading room is absolutely awe inspiring. The massive rotunda with ceilings soaring 160 feet above the ground floor and thousands of reference books lining the alcoves along the walls it is an amazing thing to see. You cannot take photos in the reading room, so here&#8217;s a nice photo I found off of <a href="http://hobnobblog.com" target="_blank">hobnobblog.com</a>.</p>
<p><img class="alignleft size-full wp-image-263" title="LOC_Main_Reading_Room_Highsmith1" src="http://kynatro.com/wp-content/uploads/2012/08/LOC_Main_Reading_Room_Highsmith1.jpg" alt="" width="640" height="427" /></p>
<p>We were able to look into the room from one of the platforms with the pair of statues. The general public is welcome to study in the reading room and use the resources of the library, but you must be doing research on something and apply to be admitted. I&#8217;ve told A (an avid book reader) that she needs to pick something to research and try getting on the list <img src='http://kynatro.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3>The National Archives</h3>
<p><img class="alignnone size-large wp-image-342" title="The National Archives" src="http://kynatro.com/wp-content/uploads/2012/08/IMG_5225-1024x768.jpg" alt="" width="584" height="438" /></p>
<p>After a quick stop at Union Station for lunch and some browsing around the shops, we took the metro over to the National Archives. The archives, while not as impressive as the Jefferson Library of Congress was a great stop as it houses the original Declaration of Independence, Constitution of the United States, Bill of Rights and even a copy of the Magna Carta. Faded as they were (and they were far more faded than I expected them to be), it was amazing to see these originals preserved and all that goes into keeping them preserved. One day these documents will go beyond all preservation though and it makes me wonder what that will be like. Without an original and merely copies, most of them digital, will that affect its interpretation, will there be modified forgeries? Without originals, how will authenticity be verified? How can the copy that authenticity may be checked against be verified? Kind of crazy to think that one day there will be entire generations that will have never had access to the actual originals.</p>
<h1>Day 4</h1>
<p>Today was our trip to Arlington Cemetary. This was a pretty exciting trip for Adrienne and I as we had read <em>On Hallowed Ground</em> by Robert M. Poole (<a href="http://www.amazon.com/On-Hallowed-Ground-Arlington-National/dp/0802715486" target="_blank">Check it out on Amazon</a>, also available on Audible.com too). I highly recommend the read; there is a lot of fascinating history behind the Arlington Cemetery. For instance, did you know that the grounds originally belonged to Robert E. Lee, eventual general of the Confederate Army during the Civil War? The house was practically nicked from Lee after he went off to war by some, in my opinion, slimy and under-handed tax law that allowed the government to &#8220;legally&#8221; acquire the property from him. It became a cemetery because the quarter master Montgomery Meigs felt that Lee betrayed the Union (which he did) and wanted to make the property completely un-inhabitable by the Lees upon their eventual return at the end of the war. So, he began burying bodies in the rose garden, no more than 20 feet from the front door of the home.</p>
<div class="slidedeck-link"><a href="http://kynatro.com/blog/2012/08/30/dc-days-3-and-4/#SlideDeck-344">Washington DC, Arlington Cemetary <small>[see the SlideDeck]</small></a></div>
<p>Arlington was a pretty impressive site and it was inspiring to see how our country honors its dead. The Tomb of the Unknown Soldier is patrolled 24 hours a day, 7 days a week, 365 days a year (366 on leap years) by soldiers in full dress uniform, changing the guard every 30 minutes in the summer and every hours in the winter. The respect, precision and symbolism in every step, motion and turn made by the guards to protect the sanctity of the tomb from visitors and vandals spoke as true memorial to the sacrifice by the soldiers entombed at the entire cemetery, not just the unknowns represented at that specific tomb. Its truly a sight to see.</p>
<p>That&#8217;s it for days 3 and 4. Tomorrow we head to one of the sights I&#8217;ve been looking forward to seeing since I was a kid, the Smithsonian Air and Space Museum. If we&#8217;re lucky, we&#8217;re going to try and schedule a trip out to the branch near Dulles where the Discovery has been retired to, but that&#8217;ll be later. I&#8217;ve decided to get photos curated after the trip, so I&#8217;ll get a few in here of our trip later, so don&#8217;t forget to check back then!</p>
]]></content:encoded>
			<wfw:commentRss>http://kynatro.com/blog/2012/08/30/dc-days-3-and-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DC, Days 1 and 2</title>
		<link>http://kynatro.com/blog/2012/08/28/dc-days-1-and-2/</link>
		<comments>http://kynatro.com/blog/2012/08/28/dc-days-1-and-2/#comments</comments>
		<pubDate>Wed, 29 Aug 2012 03:45:17 +0000</pubDate>
		<dc:creator>kynatro</dc:creator>
				<category><![CDATA[Washington DC Trip]]></category>

		<guid isPermaLink="false">http://kynatro.com/?p=254</guid>
		<description><![CDATA[Last year we got a pretty unique Christmas bonus: a &#8220;personal betterment&#8221; trip, partially funded by dt. This was a pretty awesome surprise bonus and I thought of the perfect place to go and the perfect time to &#8220;spend&#8221; it. This year is my wife&#8217;s and mine fifth wedding anniversary (yay!) and both of us [...]]]></description>
				<content:encoded><![CDATA[<p>Last year we got a pretty unique Christmas bonus: a &#8220;personal betterment&#8221; trip, partially funded by <a title="digital-telepathy, Inc." href="http://www.dtelepathy.com/" target="_blank">dt</a>. This was a pretty awesome surprise bonus and I thought of the perfect place to go and the perfect time to &#8220;spend&#8221; it. This year is my wife&#8217;s and mine fifth wedding anniversary (yay!) and both of us have had a desire to go to the east coast; what better place than our nation&#8217;s capitol? So, here we are in Washington DC for a week celebrating our fifth anniversary and &#8220;bettering&#8221; ourselves. I&#8217;ve decided that while we&#8217;re here I&#8217;ll be blogging about our experience to share it with everyone else. I&#8217;ll be trying to blog daily, but sometimes that won&#8217;t be possible (i.e. this first post). So, stay tuned over the next few week to experience DC with A and I!</p>
<p><span id="more-254"></span></p>
<h1>Day 1</h1>
<p>All of day 1 was planned as travel, maybe a little dinner our first night in DC. This, unfortunately, did not go according to plan. By Sunday evening we were ready to go; the house was clean, the bags were packed and travel arrangements to and from the airport were in place.</p>
<p>Everything was peachy, until we tried to check-in. Basically, Travelocity screwed up and never notified us our flight changed and was leaving an hour earlier than we last heard from them about a flight change. I was having trouble checking in online the night before and even called American Airlines about it. They said the flight was &#8220;under airport control&#8221; &#8211; basically we couldn&#8217;t check in online and we had to go to a kiosk at the airport the next morning. &#8220;No problem&#8221; I thought, everyone else was having this problem, so it wouldn&#8217;t be like we&#8217;d be in boarding group 15 and be forced to check all our bags. So, I printed out our itinerary and receipt ready to present it the next morning to check-in &#8211; completely missing the fact that the flight said <em>8:40am</em> and not <em>9:40am</em>. Needless to say, we missed our flight.</p>
<p>$150 later to re-book a later flight (we opted not to go with trying to catch a free stand by and arrive the next morning), we were set with a 3:30pm flight that after a quick connect in Dallas would arrive in Washington DC at 12:50am or so &#8211; we even got a &#8220;preferred seating&#8221; (read: extra leg room) on some of the legs of our flight. Well, it turns out the wait at the airport was a pretty relaxing start to the vacation in spite of the morning&#8217;s mishaps. I could only be mad at myself and that wasn&#8217;t going to help anything, so I stopped being mad. God is sovereign and I&#8217;m sure He had a plan in it &#8211; even if it was to just trust He&#8217;d bring us there anyways and to get over myself for missing the flight change. The rest of the flight was all right, but the last leg left late and due to the flaps not going down all the way for landing (scary!) and getting redirected to IAD from DCA for the longer runway to land, we finally got to our hotel at 3am in the morning EST &#8211; and collapsed.</p>
<div id="attachment_274" class="wp-caption alignnone" style="width: 594px"><img class=" wp-image-274 " title="Landing in Dulles" src="http://kynatro.com/wp-content/uploads/2012/08/IMG_4899-1024x768.jpg" alt="" width="584" height="438" /><p class="wp-caption-text">We landed safely and the Captain comes on: &#8220;Don&#8217;t be alarmed by all the ambulances and fire trucks coming down the runway, its standard procedure&#8221; LOL</p></div>
<h1>Day 2</h1>
<div id="attachment_336" class="wp-caption alignnone" style="width: 594px"><img class="wp-image-336 " title="The Morrison Clark" src="http://kynatro.com/wp-content/uploads/2012/08/IMG_5146-1024x768.jpg" alt="" width="584" height="438" /><p class="wp-caption-text">The Morrison Clark, our historic hotel for the week</p></div>
<p>So, due to the late (early) arrival at our hotel, we had to change our morning plans a little and skip the National Aquarium today. No big though, we&#8217;ll do it later in the week on our free day if we still really feel like we <em>need</em> to go (meh, not that important). We did however have reserved tickets for the steep price of $2 (stupid online reservation convenience fee) for the National Holocaust Museum, so we needed to be up and out to make it there by 11am.</p>
<p>After a quick cab ride we started our day with the National Holocaust Museum tour. They had a special exhibition running called <em>State of Deception, The Power of Nazi </em><em>Propaganda</em>. Being someone who is regularly involved in marketing campaigns, this was a very interesting, if not disturbing, exhibit about the worst form of marketing. The campaign of hate that Hitler ran was shocking in its effectiveness and its deception to his fellow countrymen. Even more shocking was how easily so many of the German people sacrificed their own morals to commit the atrocities that occurred during WWII.</p>
<p>The propaganda exhibit was an appropriate start to the rest of the museum. We walked through 4 floors of a chronological presentation of what started as a rallying of a dis-unified, poverty stricken nation build to the greatest genocide in the history of mankind. As we walked through the museum we each followed a person who lived during that period, finding their fate at the end of the museum tour. The exhibit was moving with many unique exhibits. One particular impactful display had thousands of shoes from those Jews who were forced through the gas showers and ultimately cremation. The poem on the wall above piles of shoes captured the mood of this image best:</p>
<blockquote><p><em>We are the shoes, We are the last witnesses</em><br />
<em>We are shoes from grandchildren and grandfathers.</em><br />
<em>From Prague, Paris and Amsterdam</em><br />
<em>And because we are only made of fabric and leather</em><br />
<em>And not of blood and flesh,</em><br />
<em>Each one of us avoided the Hellfire</em></p>
<p><em>-Yiddish poet Moses Schulstein</em></p></blockquote>
<p>After a shocking and thought provoking morning at the museum, we had lunch at the way over-priced museum cafe next door (hey, we were starving from the day before and it was right there) to energize us for the rest of the day. Here&#8217;s a map of our travels:</p>
<p><iframe src="https://maps.google.com/maps/ms?msa=0&amp;msid=218414282718665110145.0004c85c94c87837461c1&amp;ie=UTF8&amp;ll=38.891822,-77.037972&amp;spn=0.024646,0.022417&amp;t=v&amp;output=embed" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="100%" height="400"></iframe><br />
<em style="font-size: 0.8em;">View <a href="https://maps.google.com/maps/ms?msa=0&amp;msid=218414282718665110145.0004c85c94c87837461c1&amp;ie=UTF8&amp;ll=38.891822,-77.037972&amp;spn=0.024646,0.022417&amp;t=v&amp;source=embed" target="_blank">Washington DC, Day 2</a> in a larger map</em></p>
<p>We had an amazing time walking the mall and seeing the monuments and memorials. I was amazed and inspired by the impressiveness of the larger than life monuments. We saw almost every monument around the tidal basin, but I&#8217;ll highlight a few that were especially impressive to see.</p>
<p>The Washington Monument was a sight to see in person, especially knowing a little about its history. Originally started in 1848, construction stopped a short while later when the money ran out. In 1876 President Ulysses S. Grant commissioned its completion, but they no longer had access to any supply of the same stone that was used to start construction. You can see the line plain as day where original construction stopped and the new construction begins. Its amazing to think of the work that went into creating this enormous stone structure considering a complete lack of modern construction equipment.</p>
<p>At the other end of the reflecting pool we stopped by the Lincoln Memorial. The scale of Lincoln in his chair was impressive to say the least, a fit for what this man helped accomplish during his term as president. I&#8217;ve read before about Lincoln&#8217;s dualistic portrayal in this monument and seeing it in person was clear as day. The original artist did an excellent job expressing Lincoln&#8217;s capable personality as a peace maker and commander in chief.</p>
<p>Surprisingly, the most moving memorial to me was probably the Vietnam Memorial. The photos that I&#8217;ve seen of this memorial never really made sense to me as an appropriate honoring of the men who sacrificed all in that war. After walking the memorial though, I&#8217;ve changed my mind. As you make your way down the wall you see the names of soldiers who died one, then 2, then 5, then 20, then 100s at a time as the wall grows higher and higher until it towers above you. The emotions invoked by the thought of these dead soldiers drove home the beauty of the design as a powerful memorial to the sacrifices these troops made.</p>
<div class="slidedeck-link"><a href="http://kynatro.com/blog/2012/08/28/dc-days-1-and-2/#SlideDeck-276">Washington DC, Monuments <small>[see the SlideDeck]</small></a></div>
<p>All in all, this day was a great kick-off to our time here in Washington D.C. A respectful and awe inspiring honoring of America&#8217;s past heroes and historic giants just seems like the right way to begin our time here. I look forward to the rest of our trip starting with our tour of Capitol Hill tomorrow. We&#8217;ve got 200+ photos from today and its late, so I&#8217;m going to postpone adding photos to this post until later. Don&#8217;t worry, I&#8217;ll get a few SlideDecks in of our photos soon <img src='http://kynatro.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://kynatro.com/blog/2012/08/28/dc-days-1-and-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced

 Served from: kynatro.com @ 2013-05-22 08:51:57 by W3 Total Cache -->