<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.3" -->
<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/"
	>

<channel>
	<title>Mission Data Blog</title>
	<link>http://www.missiondata.com/blog</link>
	<description>Louisville-based Web Development &#038; Software Engineering</description>
	<pubDate>Wed, 13 Feb 2008 01:32:48 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
	<language>en</language>
			<item>
		<title>Treetop: Grammar&#8217;s Cool</title>
		<link>http://www.missiondata.com/blog/ruby/85/treetop-grammars-cool/</link>
		<comments>http://www.missiondata.com/blog/ruby/85/treetop-grammars-cool/#comments</comments>
		<pubDate>Wed, 13 Feb 2008 01:27:39 +0000</pubDate>
		<dc:creator>darrend</dc:creator>
		
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.missiondata.com/blog/uncategorized/85/treetop-grammars-cool/</guid>
		<description><![CDATA[Treetop was one of the more exciting projects I saw at last year&#8217;s RubyConf. Nathan Sobo&#8217;s Treetop talk is available online and I urge you to watch it. Nathan did a great job of explaining the basics of syntactic analysis, and then got into the specifics of using Treetop&#8217;s implementation of parsing expression grammars to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://treetop.rubyforge.org/">Treetop</a> was one of the more exciting projects I saw at last year&#8217;s RubyConf. <a href="http://rubyconf2007.confreaks.com/d1t1p5_treetop.html">Nathan Sobo&#8217;s Treetop talk</a> is available online and I urge you to watch it. Nathan did a great job of explaining the basics of syntactic analysis, and then got into the specifics of using Treetop&#8217;s implementation of <a href="http://en.wikipedia.org/wiki/Parsing_expression_grammar">parsing expression grammars</a> to put the concepts to work. </p>
<p>Treetop appeared to gather all the concepts together into an understandable domain specific language. All of the tokenization and node structure can go into a single file, and the interactive nature of Ruby makes for the perfect sand box. I felt like I could get somewhere if I invested just an hour into this. I was happy to find that my impressions were correct. </p>
<p>After a short time I had caught on enough to start writing my own code. Once over the hump the rest was easy. I was able to write and test a Treetop grammar for parsing CSV files within a few hours. I chose CSV parsing because I was already familiar with the format, and I could compare my implementation to not just one but two existing Ruby libraries.<br />
 <a href="http://www.missiondata.com/blog/ruby/85/treetop-grammars-cool/#more-85" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.missiondata.com/blog/ruby/85/treetop-grammars-cool/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Deploying a Subversion branch with Capistrano</title>
		<link>http://www.missiondata.com/blog/ruby/84/deploying-an-svn-branch-with-capistrano/</link>
		<comments>http://www.missiondata.com/blog/ruby/84/deploying-an-svn-branch-with-capistrano/#comments</comments>
		<pubDate>Wed, 30 Jan 2008 15:39:34 +0000</pubDate>
		<dc:creator>steveny</dc:creator>
		
		<category><![CDATA[ruby]]></category>

		<category><![CDATA[system administration]]></category>

		<guid isPermaLink="false">http://www.missiondata.com/blog/ruby/84/deploying-an-svn-branch-with-capistrano/</guid>
		<description><![CDATA[Capistrano is a tool for automating tasks via SSH on remote servers.  It has many uses, I (and many others) use it to deploy their (rails) applications.  The best I can tell there is no built in way to deploy a branch from your source code control system.  There are a couple [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.capify.org/'>Capistrano</a> is a tool for automating tasks via SSH on remote servers.  It has many uses, I (and many others) use it to deploy their (rails) applications.  The best I can tell there is no built in way to deploy a branch from your source code control system.  There are a couple <a href='http://blog.aisleten.com/2007/09/04/deploying-svn-tags-using-capistrano/'>ways of accomplishing</a> this.  I chose passing in the branch as a parameter to the Capistrano command:</p>
<pre>
<code>cap --set-before branch=testbranch  deploy</code>
</pre>
<p> <a href="http://www.missiondata.com/blog/ruby/84/deploying-an-svn-branch-with-capistrano/#more-84" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.missiondata.com/blog/ruby/84/deploying-an-svn-branch-with-capistrano/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Handling Session Timeouts (and other errors) using Ajax</title>
		<link>http://www.missiondata.com/blog/java/83/handling-session-timeouts-and-other-errors-using-ajax/</link>
		<comments>http://www.missiondata.com/blog/java/83/handling-session-timeouts-and-other-errors-using-ajax/#comments</comments>
		<pubDate>Fri, 11 Jan 2008 20:18:11 +0000</pubDate>
		<dc:creator>steveny</dc:creator>
		
		<category><![CDATA[ajax]]></category>

		<category><![CDATA[java]]></category>

		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.missiondata.com/blog/uncategorized/83/handling-session-timeouts-and-other-errors-using-ajax/</guid>
		<description><![CDATA[Ajax can bring a much more responsive and intuitive feel to web applications.  However, many times developers overlook error cases when using Ajax.  What if the request fails?  In one particular case a user&#8217;s session may have timed out before they made an Ajax call.  This post describes one such way [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://en.wikipedia.org/wiki/Ajax_(programming)'>Ajax</a> can bring a much more responsive and intuitive feel to web applications.  However, many times developers overlook error cases when using Ajax.  What if the request fails?  In one particular case a user&#8217;s session may have timed out before they made an Ajax call.  This post describes one such way of handling this in a somewhat friendly way.<br />
 <a href="http://www.missiondata.com/blog/java/83/handling-session-timeouts-and-other-errors-using-ajax/#more-83" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.missiondata.com/blog/java/83/handling-session-timeouts-and-other-errors-using-ajax/feed/</wfw:commentRss>
		</item>
		<item>
		<title>&#8216;cvs update: move away foo.bar; it is in the way&#8217;</title>
		<link>http://www.missiondata.com/blog/utilities/81/cvs-update-move-away-foobar-it-is-in-the-way/</link>
		<comments>http://www.missiondata.com/blog/utilities/81/cvs-update-move-away-foobar-it-is-in-the-way/#comments</comments>
		<pubDate>Thu, 26 Apr 2007 21:00:40 +0000</pubDate>
		<dc:creator>darrend</dc:creator>
		
		<category><![CDATA[system administration]]></category>

		<category><![CDATA[utilities]]></category>

		<guid isPermaLink="false">http://www.missiondata.com/blog/utilities/81/cvs-update-move-away-foobar-it-is-in-the-way/</guid>
		<description><![CDATA[A client site still uses cvs, the ever trusty version control system. After what seemed a run of the mill merge I noticed this:
C lib/jt400_3_3.jar
cvs update: move away lib/jt400_3_3.jar; it is in the way
Very peculiar. That file hadn&#8217;t changed on the branch. I googled around and an explanation started to come together.
First, from the always [...]]]></description>
			<content:encoded><![CDATA[<p>A client site still uses cvs, the ever trusty version control system. After what seemed a run of the mill merge I noticed this:</p>
<pre><code class="console">C lib/jt400_3_3.jar
cvs update: move away lib/jt400_3_3.jar; it is in the way</code></pre>
<p>Very peculiar. That file hadn&#8217;t changed on the branch. I <a href="http://www.google.com/search?q=cvs+update+move+away">googled around</a> and an explanation started to come together.</p>
<p>First, from the always excellent <a href="http://mindprod.com/jgloss/cvs.html">Roedy Green’s Java &#038; Internet Glossary on Mindprod</a>:</p>
<blockquote><p>
CVS is disturbed by the appearance of repository files it did not put there. Your best bet is simply to delete the entire directory containing the offending file by hand, and re checkout or reupdate the directory to build the necessary entries. Then you can add the files safely.
</p></blockquote>
<p>Then, I found this <a href="http://mail.lon-capa.org/pipermail/lon-capa-admin/Week-of-Mon-20030915/000367.html">mailing list post</a>:</p>
<blockquote><p>
This means the file that CVS wants to checkout exists on the local machine but CVS never created the file in the past. This it isn&#8217;t CVS&#8217;s file and it complains rather than blindly overwriting.
</p></blockquote>
<p>The solution everywhere was the same: just blow away the directory and check it out again. Worked for me. Now I need to puzzle out how it happened in the first place&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.missiondata.com/blog/utilities/81/cvs-update-move-away-foobar-it-is-in-the-way/feed/</wfw:commentRss>
		</item>
		<item>
		<title>rails fixtures with models using set_table_name</title>
		<link>http://www.missiondata.com/blog/uncategorized/80/rails-fixtures-with-models-using-set_table_name/</link>
		<comments>http://www.missiondata.com/blog/uncategorized/80/rails-fixtures-with-models-using-set_table_name/#comments</comments>
		<pubDate>Mon, 23 Apr 2007 03:13:47 +0000</pubDate>
		<dc:creator>darrend</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[rails]]></category>

		<category><![CDATA[ruby]]></category>

		<category><![CDATA[systems integration]]></category>

		<guid isPermaLink="false">http://www.missiondata.com/blog/uncategorized/80/rails-fixtures-with-models-using-set_table_name/</guid>
		<description><![CDATA[If you have a model that uses set_table_name you may hit a snag when trying to use fixtures and unit tests. The solution is twofold: name the fixture file using the legacy table name, and use the set_fixture_class method in your unit test. I coudn&#8217;t find this method mentioned in Agile Web Development with Rails, [...]]]></description>
			<content:encoded><![CDATA[<p>If you have a model that uses <tt>set_table_name</tt> you may hit a snag when trying to use fixtures and unit tests. The solution is twofold: name the fixture file using the legacy table name, and use the <tt>set_fixture_class</tt> method in your unit test. I coudn&#8217;t find this method mentioned in <em>Agile Web Development with Rails</em>, and there&#8217;s only a brief mention on the <a href="http://wiki.rubyonrails.com/rails/pages/HowToUseLegacySchemas">rubyonrails.com site</a>. Still, some web searches turned up the answers.</p>
<p>Here is a simple example:</p>
<p> <a href="http://www.missiondata.com/blog/uncategorized/80/rails-fixtures-with-models-using-set_table_name/#more-80" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.missiondata.com/blog/uncategorized/80/rails-fixtures-with-models-using-set_table_name/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sending UTF-8 email with Oracle</title>
		<link>http://www.missiondata.com/blog/oracle/79/sending-utf-8-email-with-oracle/</link>
		<comments>http://www.missiondata.com/blog/oracle/79/sending-utf-8-email-with-oracle/#comments</comments>
		<pubDate>Wed, 18 Apr 2007 19:45:02 +0000</pubDate>
		<dc:creator>steveny</dc:creator>
		
		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://www.missiondata.com/blog/uncategorized/79/sending-utf-8-email-with-oracle/</guid>
		<description><![CDATA[I have seen several examples of sending email using oracle with non-ascii characters floating around the Internet, but few seem to tackle sending these &#8217;special&#8217; characters in both the subject and the body.  Many also take a shortcut and use 8bit transfer encoding for the body.  I am 99.9% sure that this will [...]]]></description>
			<content:encoded><![CDATA[<p>I have seen several examples of sending email using oracle with non-ascii characters floating around the Internet, but few seem to tackle sending these &#8217;special&#8217; characters in both the subject and the body.  Many also take a shortcut and use 8bit <a href="http://en.wikipedia.org/wiki/MIME#Content-Transfer-Encoding">transfer encoding</a> for the body.  I am 99.9% sure that this will work on today&#8217;s mail servers, but basic SMTP only really needs to support 3 transfer encodings - 7bit ascii, base64, and quoted-printable.  </p>
<p> <a href="http://www.missiondata.com/blog/oracle/79/sending-utf-8-email-with-oracle/#more-79" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.missiondata.com/blog/oracle/79/sending-utf-8-email-with-oracle/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Recent Sitemap Enhancements</title>
		<link>http://www.missiondata.com/blog/seo/78/recent-sitemap-enhancements/</link>
		<comments>http://www.missiondata.com/blog/seo/78/recent-sitemap-enhancements/#comments</comments>
		<pubDate>Thu, 12 Apr 2007 12:56:39 +0000</pubDate>
		<dc:creator>carsonm</dc:creator>
		
		<category><![CDATA[seo]]></category>

		<guid isPermaLink="false">http://www.missiondata.com/blog/seo/78/recent-sitemap-enhancements/</guid>
		<description><![CDATA[There have been a couple recent enhancements to sitemaps that everyone should start using. 
The first is that Google now supports embedding kml data into sitemaps. This allows you to provide a hint as to where information is related to geographicaly as well as more detailed information to be used in popups on the map. [...]]]></description>
			<content:encoded><![CDATA[<p>There have been a couple recent enhancements to <a href="http://www.sitemaps.org/">sitemaps</a> that everyone should start using. </p>
<p>The first is that Google now supports <a href="http://googlemapsapi.blogspot.com/2007/01/get-more-traffic-to-your-maps-api-site.html">embedding kml data into sitemaps</a>. This allows you to provide a hint as to where information is related to geographicaly as well as more detailed information to be used in popups on the map. For more information on how to make the integration see the <a href="http://www.google.com/apis/maps/sitemap.html">maps sitemap API</a> page. We already support sitemaps in our <a href="http://www.missiondata.com/site/content-management/">content management</a> solution and we will be integrating this new mapping feature as well.</p>
<p>The second new feature added has to do with getting your sitemap included in search engines. Now all search engines that support sitemaps will <a href="http://searchengineland.com/070411-080716.php">inspect your robots.txt file</a> for a pointer to your sitemap. This should remove the need for everyone to submit their sitemap to every search engine. You may still want to submit your sitemap because there are nice tools from engines like Google that let you investigate more information about your site but now you won&#8217;t have to if all you are looking for is your site to be crawled correctly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.missiondata.com/blog/seo/78/recent-sitemap-enhancements/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Computing time with Oracle sysdate</title>
		<link>http://www.missiondata.com/blog/oracle/77/computing-time-with-oracle-sysdate/</link>
		<comments>http://www.missiondata.com/blog/oracle/77/computing-time-with-oracle-sysdate/#comments</comments>
		<pubDate>Wed, 11 Apr 2007 15:35:39 +0000</pubDate>
		<dc:creator>carsonm</dc:creator>
		
		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://www.missiondata.com/blog/oracle/77/computing-time-with-oracle-sysdate/</guid>
		<description><![CDATA[If you ever need to work with something other than a day when using sysdate you are in luck. As it turns out you can work on sysdate with fractional days. This is just what a person needs when they want to do something like:

SELECT mycol FROM sometable WHERE sometimestamp &#60; "30 seconds ago"

The main [...]]]></description>
			<content:encoded><![CDATA[<p>If you ever need to work with something other than a day when using sysdate you are in luck. As it turns out you can work on sysdate with fractional days. This is just what a person needs when they want to do something like:</p>
<pre>
<code>SELECT mycol FROM sometable WHERE sometimestamp &lt; "30 seconds ago"</code>
</pre>
<p>The main trick here is to know that sysdate math is based in days and fractional days work. Here are a few examples:</p>
<p><b>Remove hours from a date</b>:</p>
<p>sysdate - hours/hours in a day</p>
<p><b>Remove minutes from a date</b>:</p>
<p>sysdate - minutes/(hours in a day * minutes in an hour)<br />
or<br />
sysdate - minutes/minutes in a day</p>
<p><b>Remove seconds from a date</b>:</p>
<p>sysdate - seconds/(hours in a day * minutes in an hour * seconds in a minute)<br />
or<br />
sysdate - seconds/seconds in a day</p>
<p>The example above would be:</p>
<pre>
<code>SELECT mycol FROM sometable WHERE sometimestamp &lt; sysdate - 30/(24*60*60)</code>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.missiondata.com/blog/oracle/77/computing-time-with-oracle-sysdate/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How to Create and Overlay KML on a Google Map Using Google&#8217;s My Maps</title>
		<link>http://www.missiondata.com/blog/gis/72/how-to-overlay-kml-on-a-google-map/</link>
		<comments>http://www.missiondata.com/blog/gis/72/how-to-overlay-kml-on-a-google-map/#comments</comments>
		<pubDate>Fri, 06 Apr 2007 14:33:48 +0000</pubDate>
		<dc:creator>carsonm</dc:creator>
		
		<category><![CDATA[gis]]></category>

		<guid isPermaLink="false">http://www.missiondata.com/blog/gis/72/how-to-overlay-kml-on-a-google-map/</guid>
		<description><![CDATA[A few days ago Google made their &#8220;My Maps&#8221; announcment and since then there has been nothing but buzz buzz buzz about it. So I figured I would take a minute to show how someone can use this new tool from Google to create their own embedded maps for their site.
]]></description>
			<content:encoded><![CDATA[<p>A few days ago Google made their <a href="http://googleblog.blogspot.com/2007/04/map-making-so-easy-caveman-could-do-it.html">&#8220;My Maps&#8221; announcment</a> and since then there has been nothing but <a href="http://radar.oreilly.com/archives/2007/04/google_launches_mymaps.html">buzz</a> <a href="http://mashable.com/2007/04/05/google-mymaps/">buzz</a> <a href="http://www.gearthblog.com/blog/archives/2007/04/my_maps_new_google_m.html">buzz</a> about it. So I figured I would take a minute to show how someone can use this new tool from Google to create their own embedded maps for their site.</p>
<p> <a href="http://www.missiondata.com/blog/gis/72/how-to-overlay-kml-on-a-google-map/#more-72" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.missiondata.com/blog/gis/72/how-to-overlay-kml-on-a-google-map/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mongrel vs. WEBrick</title>
		<link>http://www.missiondata.com/blog/ruby/71/mongrel-vs-webrick/</link>
		<comments>http://www.missiondata.com/blog/ruby/71/mongrel-vs-webrick/#comments</comments>
		<pubDate>Tue, 03 Apr 2007 16:08:13 +0000</pubDate>
		<dc:creator>steveny</dc:creator>
		
		<category><![CDATA[apache]]></category>

		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.missiondata.com/blog/ruby/71/mongrel-vs-webrick/</guid>
		<description><![CDATA[We had the need to hook up a simple ruby web process (non-rails) to our production apache server.  As Leslie Hensley pointed out, fcgi and scgi are on the way out, and mongrel + mod_proxy_balancer is the new way to go.  We use mongrel extensively in our rails deploys, but always just used [...]]]></description>
			<content:encoded><![CDATA[<p>We had the need to hook up a simple ruby web process (non-rails) to our production apache server.  As <a href="http://www.papermountain.org/">Leslie Hensley</a> pointed out, fcgi and scgi are on the way out, and <a href="http://mongrel.rubyforge.org/">mongrel</a> + <a href="http://mongrel.rubyforge.org/docs/apache.html">mod_proxy_balancer</a> is the new way to go.  We use mongrel extensively in our rails deploys, but always just used <a href="http://www.webrick.org/">WEBrick</a> to do simple serving.  To make a long story short, we had to ask ourselves&#8230;.is mongrel that much better (and in this case better == faster) than WEBrick?</p>
<p> <a href="http://www.missiondata.com/blog/ruby/71/mongrel-vs-webrick/#more-71" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.missiondata.com/blog/ruby/71/mongrel-vs-webrick/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
