<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>alfred.tmproj</filename>
    </added>
    <added>
      <filename>app/controllers/utility_controller.rb</filename>
    </added>
    <added>
      <filename>app/helpers/utility_helper.rb</filename>
    </added>
    <added>
      <filename>app/views/utility/hostname.html.erb</filename>
    </added>
    <added>
      <filename>test/functional/utility_controller_test.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -6,7 +6,7 @@ class ApplicationController &lt; ActionController::Base
 
   # See ActionController::RequestForgeryProtection for details
   # Uncomment the :secret if you're not using the cookie session store
-  protect_from_forgery # :secret =&gt; '6c6c680c98f511d759c8e616ed56f6d4'
+  # protect_from_forgery # :secret =&gt; '6c6c680c98f511d759c8e616ed56f6d4'
 
   before_filter :get_system
 </diff>
      <filename>app/controllers/application.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +1,4 @@
 class DashboardController &lt; ApplicationController
-
-  def index
-    
-  end
   
   def extended
     @projects = Project.find(:all)</diff>
      <filename>app/controllers/dashboard_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,11 @@
 class SettingsController &lt; ApplicationController
 
   def index
+    if request.post?
+      if @system.update_attributes(params[:system])
+        redirect_to :controller =&gt; 'dashboard'
+      end
+    end
   end
+  
 end</diff>
      <filename>app/controllers/settings_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1,6 @@
 class System &lt; ActiveRecord::Base
+  
+  validates_numericality_of :port, :poll_interval
+  validates_presence_of :local_hostname, :remote_hostname, :port, :poll_interval
+  
 end</diff>
      <filename>app/models/system.rb</filename>
    </modified>
    <modified>
      <diff>@@ -14,7 +14,7 @@
   &lt;tbody&gt;
     &lt;% @projects.each_with_index do |project,index| %&gt;
       &lt;tr class=&quot;&lt;%= cssify project.state.name %&gt;&quot;&gt;
-        &lt;td class=&quot;name&quot;&gt;&lt;%= project.name %&gt;&lt;/td&gt;
+        &lt;td class=&quot;name&quot;&gt;&lt;h2&gt;&lt;%= project.name %&gt;&lt;/h2&gt;&lt;/td&gt;
         &lt;td&gt;&lt;a href=&quot;http://&lt;%= @system.local_hostname %&gt;:&lt;%= project.port %&gt;&quot; target=&quot;_blank&quot;&gt;http://&lt;%= @system.local_hostname %&gt;:&lt;%= project.port %&gt;&lt;/a&gt;&lt;/td&gt;
         &lt;td&gt;&lt;a href=&quot;http://&lt;%= @system.remote_hostname %&gt;:&lt;%= project.port %&gt;&quot; target=&quot;_blank&quot;&gt;http://&lt;%= @system.remote_hostname %&gt;:&lt;%= project.port %&gt;&lt;/a&gt;&lt;/td&gt;
         &lt;td&gt;&lt;%= project.rails_root %&gt;&lt;/td&gt;
@@ -23,50 +23,6 @@
         &lt;td class=&quot;button&quot;&gt;&lt;input type=&quot;button&quot; value=&quot;Stop&quot; /&gt;&lt;/td&gt;
       &lt;/tr&gt;
     &lt;% end %&gt;
-
-    &lt;!--
-    &lt;tr class=&quot;stopped&quot;&gt;
-      &lt;td class=&quot;name&quot;&gt;Project Name&lt;/td&gt;
-      &lt;td&gt;&lt;a href=&quot;#&quot;&gt;http://localhost:3001&lt;/a&gt;&lt;/td&gt;
-      &lt;td&gt;&lt;a href=&quot;#&quot;&gt;http://legion:3001&lt;/a&gt;&lt;/td&gt;
-      &lt;td&gt;/Users/rob/Sites/project&lt;/td&gt;
-      &lt;td&gt;Mongrel 1.1&lt;/td&gt;
-      &lt;td&gt;
-        &lt;select&gt;
-          &lt;option&gt;Dev&lt;/option&gt;
-          &lt;option&gt;Test&lt;/option&gt;
-          &lt;option&gt;Prod&lt;/option&gt;
-        &lt;/select&gt;
-        (&lt;a href=&quot;#&quot;&gt;log&lt;/a&gt;)&lt;/td&gt;
-      &lt;td&gt;Today, 3:32pm&lt;/td&gt;
-      &lt;td class=&quot;button&quot;&gt;&lt;input type=&quot;button&quot; value=&quot;Start&quot; /&gt;&lt;/td&gt;
-    &lt;/tr&gt;
-    &lt;tr class=&quot;starting&quot;&gt;
-      &lt;td class=&quot;name&quot;&gt;Project Name&lt;/td&gt;
-      &lt;td&gt;&lt;a href=&quot;#&quot;&gt;http://localhost:3001&lt;/a&gt;&lt;/td&gt;
-      &lt;td&gt;&lt;a href=&quot;#&quot;&gt;http://legion:3001&lt;/a&gt;&lt;/td&gt;
-      &lt;td&gt;/Users/rob/Sites/project&lt;/td&gt;
-      &lt;td&gt;Mongrel 1.1&lt;/td&gt;
-      &lt;td&gt;Dev (&lt;a href=&quot;#&quot;&gt;log&lt;/a&gt;)&lt;/td&gt;
-      &lt;td&gt;Today, 3:32pm&lt;/td&gt;
-      &lt;td class=&quot;button&quot;&gt;&lt;input type=&quot;button&quot; value=&quot;Starting...&quot; disabled=&quot;disabled&quot; /&gt;&lt;/td&gt;
-    &lt;/tr&gt;
-    &lt;tr class=&quot;error&quot;&gt;
-      &lt;td class=&quot;name&quot;&gt;Project Name&lt;/td&gt;
-      &lt;td&gt;&lt;a href=&quot;#&quot;&gt;http://localhost:3001&lt;/a&gt;&lt;/td&gt;
-      &lt;td&gt;&lt;a href=&quot;#&quot;&gt;http://legion:3001&lt;/a&gt;&lt;/td&gt;
-      &lt;td&gt;/Users/rob/Sites/project&lt;/td&gt;
-      &lt;td&gt;Mongrel 1.1&lt;/td&gt;
-      &lt;td&gt;
-        &lt;select&gt;
-          &lt;option&gt;Dev&lt;/option&gt;
-          &lt;option&gt;Test&lt;/option&gt;
-          &lt;option&gt;Prod&lt;/option&gt;
-        &lt;/select&gt;
-        (&lt;a href=&quot;#&quot;&gt;log&lt;/a&gt;)&lt;/td&gt;
-      &lt;td&gt;Today, 3:32pm&lt;/td&gt;
-      &lt;td class=&quot;button&quot;&gt;&lt;input type=&quot;button&quot; value=&quot;Start&quot; /&gt;&lt;/td&gt;
-    &lt;/tr&gt;
-    --&gt;
   &lt;/tbody&gt;
+  
 &lt;/table&gt;
\ No newline at end of file</diff>
      <filename>app/views/dashboard/compact.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -4,9 +4,9 @@
       &lt;div class=&quot;row&quot;&gt;
     &lt;% end %&gt;
 
-    &lt;div id=&quot;project_1&quot; class=&quot;project &lt;%= cssify(project.state.name) %&gt;&quot;&gt;
+    &lt;div id=&quot;project_&lt;%= project.id %&gt;&quot; class=&quot;project &lt;%= cssify(project.state.name) %&gt;&quot;&gt;
       &lt;h2&gt;&lt;%= h project.name %&gt; &lt;span&gt;(&lt;a href=&quot;#&quot; onclick=&quot;project_blocks.toggle_description(&lt;%= project.id %&gt;); return false;&quot;&gt;more&lt;/a&gt;)&lt;/span&gt;&lt;/h2&gt;
-      &lt;p id=&quot;project_1_description&quot; style=&quot;display:none;&quot;&gt;&lt;%= h project.description %&gt;&lt;/p&gt;
+      &lt;p id=&quot;project_&lt;%= project.id %&gt;_description&quot; style=&quot;display:none;&quot;&gt;&lt;%= h project.description %&gt;&lt;/p&gt;
       &lt;div class=&quot;stats&quot;&gt;
         &lt;table cellspacing=&quot;0&quot; class=&quot;stats&quot;&gt;
           &lt;tr&gt;</diff>
      <filename>app/views/dashboard/extended.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,29 @@
+&lt;h1&gt;Settings&lt;/h1&gt;
+
+&lt;%= error_messages_for 'system' %&gt;
+
 &lt;% form_for :system do |form| %&gt;
-  &lt;label for=&quot;system_local_hostname&quot;&gt;Local Hostname&lt;/label&gt;
-  &lt;%= form.text_field :local_hostname %&gt;
-  &lt;label for=&quot;system_remote_hostname&quot;&gt;Remote Hostname&lt;/label&gt;
-  &lt;%= form.text_field :remote_hostname %&gt;
+  &lt;div class=&quot;input&quot;&gt;
+    &lt;label for=&quot;system_local_hostname&quot;&gt;Local Hostname&lt;/label&gt;
+    &lt;%= form.text_field :local_hostname %&gt;
+    &lt;span&gt;The local URL to access your apps (usually 'localhost' or '127.0.0.1'&lt;/span&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;input&quot;&gt;
+    &lt;label for=&quot;system_remote_hostname&quot;&gt;Remote Hostname&lt;/label&gt;
+    &lt;%= form.text_field :remote_hostname %&gt;
+    &lt;span&gt;The remote URL to access your apps. This is the URL others will need to see your apps (I can get &lt;a href=&quot;#&quot; onclick=&quot;settings_blocks.get_hostname('system_remote_hostname'); return false;&quot;&gt;this server's hostname&lt;/a&gt;, if you'd like)&lt;/span&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;input&quot;&gt;
+    &lt;label for=&quot;system_port&quot;&gt;Alfred's Port&lt;/label&gt;
+    &lt;%= form.text_field :port %&gt;
+    &lt;span&gt;The port that I'm running on (so I don't try and give it to any other apps)&lt;/span&gt;
+  &lt;/div&gt;
+  &lt;div class=&quot;input&quot;&gt;
+    &lt;label for=&quot;system_remote_hostname&quot;&gt;Polling Interval&lt;/label&gt;
+    &lt;%= form.text_field :poll_interval %&gt;
+    &lt;span&gt;How often I should ask apps about their status (in seconds)&lt;/span&gt;
+  &lt;/div&gt;
+  &lt;div id=&quot;save&quot;&gt;
+    &lt;%= submit_tag 'Save Settings' %&gt; or &lt;%= link_to 'Cancel', :controller =&gt; 'dashboard' %&gt;
+  &lt;/div&gt;
 &lt;% end %&gt;
\ No newline at end of file</diff>
      <filename>app/views/settings/index.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -38,7 +38,7 @@ Rails::Initializer.run do |config|
   # no regular words or you'll be exposed to dictionary attacks.
   config.action_controller.session = {
     :session_key =&gt; '_alfred_session',
-    :secret      =&gt; 'b5e2c43826e5755a61ba31002df5da3127eb95f2f112c8bd47763893c5b29638a4fce7e08a2be5c29482aec5b5934b96b3c3ffc089b07f600f241c0140e83ff6'
+    :secret      =&gt; 'b5e2c43826e5755a61ba3123894723792ad986986d2c8bd47763893c5b29638a4fce7e08a2be5c29482aec5b5934b96b3c3ffc089b07f600f241c0140e83ff6'
   }
 
   # Use the database for sessions instead of the cookie-based default,</diff>
      <filename>config/environment.rb</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>db/development.sqlite3</filename>
    </modified>
    <modified>
      <diff>@@ -6,6 +6,7 @@ class CreateSystems &lt; ActiveRecord::Migration
       t.string :local_hostname
       t.string :remote_hostname
       t.integer :port
+      t.integer :poll_interval
 
       t.timestamps
     end</diff>
      <filename>db/migrate/005_create_systems.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,7 @@
 trainer:
   id: 1
-  name: Trainer Search/Checkout2
+  name: Trainer Search/Checkout
+  description: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
   rails_root: /var/www/trainer
   port: 3000
   server_id: 2
@@ -10,6 +11,7 @@ trainer:
 myactive:
   id: 2
   name: MyActive 2.0
+  description: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
   rails_root: /var/www/myactive
   port: 3001
   server_id: 2
@@ -19,6 +21,7 @@ myactive:
 classifieds:
   id: 3
   name: Active Classifieds
+  description: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
   rails_root: /var/www/active_classified
   port: 3002
   server_id: 2</diff>
      <filename>db/migrate/default_data/projects.yml</filename>
    </modified>
    <modified>
      <diff>@@ -2,4 +2,5 @@ default:
   id: 1
   local_hostname: localhost
   remote_hostname: 172.16.19.225
-  port: 3100
\ No newline at end of file
+  port: 3100
+  poll_interval: 600
\ No newline at end of file</diff>
      <filename>db/migrate/default_data/systems.yml</filename>
    </modified>
    <modified>
      <diff>@@ -12,44 +12,45 @@
 ActiveRecord::Schema.define(:version =&gt; 5) do
 
   create_table &quot;environments&quot;, :force =&gt; true do |t|
-    t.string &quot;name&quot;,        :default =&gt; &quot;NULL&quot;
-    t.string &quot;short_name&quot;,  :default =&gt; &quot;NULL&quot;
-    t.string &quot;description&quot;, :default =&gt; &quot;NULL&quot;
-    t.string &quot;command&quot;,     :default =&gt; &quot;NULL&quot;
-    t.string &quot;log&quot;,         :default =&gt; &quot;NULL&quot;
+    t.string &quot;name&quot;
+    t.string &quot;short_name&quot;
+    t.string &quot;description&quot;
+    t.string &quot;command&quot;
+    t.string &quot;log&quot;
   end
 
   create_table &quot;projects&quot;, :force =&gt; true do |t|
-    t.string   &quot;name&quot;,            :default =&gt; &quot;NULL&quot;
-    t.string   &quot;description&quot;,     :default =&gt; &quot;NULL&quot;
-    t.string   &quot;local_url&quot;,       :default =&gt; &quot;NULL&quot;
-    t.string   &quot;remote_url&quot;,      :default =&gt; &quot;NULL&quot;
-    t.string   &quot;rails_root&quot;,      :default =&gt; &quot;NULL&quot;
-    t.integer  &quot;port&quot;,            :default =&gt; 0
-    t.integer  &quot;server_id&quot;,       :default =&gt; 0
-    t.integer  &quot;state_id&quot;,        :default =&gt; 0
-    t.integer  &quot;environment_id&quot;,  :default =&gt; 0
+    t.string   &quot;name&quot;
+    t.string   &quot;description&quot;
+    t.string   &quot;local_url&quot;
+    t.string   &quot;remote_url&quot;
+    t.string   &quot;rails_root&quot;
+    t.integer  &quot;port&quot;
+    t.integer  &quot;server_id&quot;
+    t.integer  &quot;state_id&quot;
+    t.integer  &quot;environment_id&quot;
     t.datetime &quot;last_started_at&quot;
     t.datetime &quot;created_at&quot;
     t.datetime &quot;updated_at&quot;
   end
 
   create_table &quot;servers&quot;, :force =&gt; true do |t|
-    t.string &quot;name&quot;,    :default =&gt; &quot;NULL&quot;
-    t.string &quot;command&quot;, :default =&gt; &quot;NULL&quot;
+    t.string &quot;name&quot;
+    t.string &quot;command&quot;
   end
 
   create_table &quot;states&quot;, :force =&gt; true do |t|
-    t.string &quot;name&quot;,        :default =&gt; &quot;NULL&quot;
-    t.string &quot;description&quot;, :default =&gt; &quot;NULL&quot;
-    t.string &quot;color_1&quot;,     :default =&gt; &quot;NULL&quot;
-    t.string &quot;color_2&quot;,     :default =&gt; &quot;NULL&quot;
+    t.string &quot;name&quot;
+    t.string &quot;description&quot;
+    t.string &quot;color_1&quot;
+    t.string &quot;color_2&quot;
   end
 
   create_table &quot;systems&quot;, :force =&gt; true do |t|
-    t.string   &quot;local_hostname&quot;,  :default =&gt; &quot;NULL&quot;
-    t.string   &quot;remote_hostname&quot;, :default =&gt; &quot;NULL&quot;
-    t.integer  &quot;port&quot;,            :default =&gt; 0
+    t.string   &quot;local_hostname&quot;
+    t.string   &quot;remote_hostname&quot;
+    t.integer  &quot;port&quot;
+    t.integer  &quot;poll_interval&quot;
     t.datetime &quot;created_at&quot;
     t.datetime &quot;updated_at&quot;
   end</diff>
      <filename>db/schema.rb</filename>
    </modified>
    <modified>
      <diff>@@ -21,4 +21,20 @@ var project_blocks = {
 		return $('project_'+id);
 	}
 
+}
+
+var settings_blocks = {
+	
+	// get the server's hostname
+	get_hostname:function(obj) {
+		new Ajax.Request(	'/utility/hostname',
+											{ asynchronous:true,
+												onSuccess:function(response) {
+													$(obj).value = response.responseText
+												},
+												onFailure:function(response) {
+													$(obj).value = 'unknown'
+												}
+											});
+	}
 }
\ No newline at end of file</diff>
      <filename>public/javascripts/alfred.js</filename>
    </modified>
    <modified>
      <diff>@@ -15,6 +15,7 @@
 		margin: 0 0 .5em;
 		padding: 0;
 		font-size: 120%;
+		font-weight: normal;
 	}
 	
 		.project h2 span {
@@ -25,6 +26,8 @@
 	
 	.project p {
 		font-size: 80%;
+		margin: 0 0 1em;
+		line-height: 1.2;
 	}
 
 	.project .stats {
@@ -81,31 +84,22 @@ table#summary {
 
 	table#summary th {
 		text-align: left;
+		padding: 3px;
+		font-size: 90%;
 	}
 	
 	table#summary td {
 		border-bottom: 1px solid #ffffff;
 		padding: 4px;
+		font-size: 85%;
 	}
 	
-	table#summary td.name {
-		font-weight: bold;
-	}
-	
-	table#summary tr.running td.name {
-		color: #009900;
-	}
-
-	table#summary tr.stopped td.name {
-		color: #666666;
+	table#summary h2 {
+		font-size: 120%;
 	}
 	
-	table#summary tr.starting td.name {
-		color: #ffcc99;
-	}
-
-	table#summary tr.error td.name {
-		color: #990000;
+	table#summary td.name {
+		font-weight: bold;
 	}
 		
 	table#summary td.button {
@@ -118,15 +112,31 @@ table#summary {
 .running {
 	background-color: #e0ffb3;
 	}
+	
+	.running h2 {
+		color: #009900;
+	}
 
 .starting {
 	background-color: #ffffcc;
 	}
+	
+	.starting h2 {
+		color: #ffcc99;
+	}
 
 .stopped {
 	background-color: #eeeeee;
 	}
+	
+	.stopped h2 {
+		color: #666666;
+	}
 
 .error {
 	background-color: #ffdcda;
+	}
+	
+	.error h2 {
+		color: #990000;
 	}
\ No newline at end of file</diff>
      <filename>public/stylesheets/dashboard.css</filename>
    </modified>
    <modified>
      <diff>@@ -5,6 +5,10 @@ body {
 	margin: 10px;
 }
 
+h1, h2, h3, h4, h5, h6 {
+	font-family: Georgia, Times New Roman, serif;
+}
+
 a {
 	color: #416ab5;
 }
@@ -14,6 +18,10 @@ a:hover {
 	text-decoration: none;
 }
 
+th {
+		border-bottom: 3px double #cccccc;
+	}
+
 #header {
 	width: 970px;
 	margin: 0 auto;
@@ -74,4 +82,40 @@ ul#tabs {
 	overflow: auto;
 	background-color: #ffffff;
 	clear: both;
-}
\ No newline at end of file
+}
+	
+#save {
+	border-top: 2px dotted #cccccc;
+	margin: 1em 0 0;
+	padding: 1em 0 0;
+	text-align: center;
+	font-size: 90%;
+	clear: both;
+}
+
+#errorExplanation {
+	margin: 1em;
+	padding: 1em;
+	background-color: #990000;
+	color: #ffffff;
+	font-size: 90%;
+}
+
+	#errorExplanation h2 {
+		margin: 0 0 1em 0;
+		font-size: 120%;
+		text-align: center;
+	}
+	
+	#errorExplanation ul {
+		list-style-type: square;
+		padding: 1em 1em 0;
+	}
+
+/*
+&lt;div class=&quot;errorExplanation&quot; id=&quot;errorExplanation&quot;&gt;
+	&lt;h2&gt;1 error prohibited this system from being saved&lt;/h2&gt;
+	&lt;p&gt;There were problems with the following fields:&lt;/p&gt;
+	&lt;ul&gt;&lt;li&gt;Port is not a number&lt;/li&gt;&lt;/ul&gt;
+&lt;/div&gt;
+*/
\ No newline at end of file</diff>
      <filename>public/stylesheets/main.css</filename>
    </modified>
    <modified>
      <diff>@@ -0,0 +1,53 @@
+h1 {
+	margin: .5em;
+	padding: 0;
+	font-size: 200%;
+	font-weight: normal;
+	color: #336699;
+	text-align: center;
+}
+
+form {
+	margin: 0 1em 0;
+	overflow: auto;
+}
+
+form div.input {
+	overflow: hidden;
+	margin: .2em 0;
+	background-color: #eeeeee;
+	padding: 1em;
+}
+
+label {
+	display: block;
+	float: left;
+	width: 10em;
+	text-align: right;
+	margin: .35em .2em 0;
+	font-weight: bold;
+}
+
+input[type=&quot;text&quot;] {
+	display: block;
+	float: left;
+	font-size: 110%;
+	width: 12em;
+	margin: 0 1em 0 .2em;
+}
+
+span {
+	display: block;
+	padding: 0;
+	font-size: 80%;
+	color: #999999;
+	line-height: 1.2;
+}
+
+input[type=&quot;submit&quot;] {
+
+}
+
+#save {
+	margin: 10em 0 0;
+}
\ No newline at end of file</diff>
      <filename>public/stylesheets/settings.css</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>app/views/dashboard/index.html.erb</filename>
    </removed>
    <removed>
      <filename>app/views/layouts/dashboard.html.erb</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>f0e56e6cd38f321eaf4f181a7e0160f98738f7bb</id>
    </parent>
  </parents>
  <author>
    <name>Rob Cameron</name>
    <email>cannikinn@gmail.com</email>
  </author>
  <url>http://github.com/cannikin/alfred/commit/69f791768efc6886fc10ca3a0c69dccd5d924b47</url>
  <id>69f791768efc6886fc10ca3a0c69dccd5d924b47</id>
  <committed-date>2008-03-19T22:49:21-07:00</committed-date>
  <authored-date>2008-03-19T22:49:21-07:00</authored-date>
  <message>Fleshed out Settings page, dynamically getting hostname</message>
  <tree>4d03d815d37ae182bdd47cf1adb8048ae1ed2f64</tree>
  <committer>
    <name>Rob Cameron</name>
    <email>cannikinn@gmail.com</email>
  </committer>
</commit>
