<?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>infused.org &#187; Programming</title>
	<atom:link href="http://www.infused.org/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.infused.org</link>
	<description></description>
	<lastBuildDate>Tue, 05 Jan 2010 00:33:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>DBF 1.0.9 update</title>
		<link>http://www.infused.org/2009/01/15/dbf-109-update/</link>
		<comments>http://www.infused.org/2009/01/15/dbf-109-update/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 19:32:44 +0000</pubDate>
		<dc:creator>Keith</dc:creator>
				<category><![CDATA[DBF]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.infused.org/?p=483</guid>
		<description><![CDATA[DBF is a small fast Ruby library for reading dBase, xBase, Clipper and FoxPro database files
Changes in version 1.0.9:

Fix incorrect integer column values (only affecting some dbf files)
Add CSV export

]]></description>
			<content:encoded><![CDATA[<p><a href="http://github.com/infused/dbf/tree/masterg">DBF</a> is a small fast Ruby library for reading dBase, xBase, Clipper and FoxPro database files</p>
<p>Changes in version 1.0.9:</p>
<ul>
<li>Fix incorrect integer column values (only affecting some dbf files)</li>
<li>Add CSV export</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.infused.org/2009/01/15/dbf-109-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Blame Game</title>
		<link>http://www.infused.org/2009/01/05/the-blame-game/</link>
		<comments>http://www.infused.org/2009/01/05/the-blame-game/#comments</comments>
		<pubDate>Tue, 06 Jan 2009 00:20:07 +0000</pubDate>
		<dc:creator>Keith</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://www.infused.org/?p=440</guid>
		<description><![CDATA[In just about every Rails project I&#8217;ve worked on over the last several years we&#8217;ve needed track the user who creates and updates database records.  The most popular solution seems to be DeLynn Berry&#8217;s userstamp plugin and, until recently, that&#8217;s what we&#8217;ve always chosen to use too.  But after fighting incompatibility with newer [...]]]></description>
			<content:encoded><![CDATA[<p>In just about every Rails project I&#8217;ve worked on over the last several years we&#8217;ve needed track the user who creates and updates database records.  The most popular solution seems to be DeLynn Berry&#8217;s userstamp plugin and, until recently, that&#8217;s what we&#8217;ve always chosen to use too.  But after fighting incompatibility with newer versions of Rails I decided to write my own plugin.  Enter <a href="http://github.com/infused/blame/tree/master">Blame</a>.</p>
<p>Blame automatically userstamps create and update operations if the table has columns named created_by and/or updated_by.</p>
<p><b>Installation:</b></p>
<pre><code>ruby script/plugin install git://github.com/infused/blame.git</code></pre>
<p>Blame assumes that you are using <a href="http://github.com/technoweenie/restful-authentication/tree/master">restful-authentication</a> and expects User.current_user to return the current user. You can override this behavior by overriding the default userstamp_object method in ActiveRecord::Base or in any of your models. For example, maybe you just want to find the current user bases on the a session variable:</p>
<pre><code># In environment.rb
class ActiveRecord::Base
  def userstamp_object
    User.find(session[:user_id])
  end
end
</code></pre>
<p>Maybe you don’t like the default column names of created_by/updated_by. You can customize the column names globally or for individual models:</p>
<pre><code># Globally in environment.rb
ActiveRecord::Base.created_userstamp_column = :creator_id

# In a model definition
class Subscription
  self.created_userstamp_column = :creator_id
  self.updated_userstamp_column = :updater_id
end
</code></pre>
<p>Automatic userstamping can be turned off by setting record_userstamps:</p>
<pre><code># Globally in environment.rb
ActiveRecord::Base.record_userstamps = false

# In a model definition
class Subscription
  self.record_userstamps = false
end

</code></pre>
<p>Blame also adds a migration helper which will add the created_by and updated_by columns (or your custom column names) to your table:</p>
<pre><code>create_table :widgets do |t|
  t.string :name
  t.timestamps
  t.userstamps
end
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.infused.org/2009/01/05/the-blame-game/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>DBF 1.0.6 update</title>
		<link>http://www.infused.org/2007/11/27/dbf-106-update/</link>
		<comments>http://www.infused.org/2007/11/27/dbf-106-update/#comments</comments>
		<pubDate>Wed, 28 Nov 2007 05:43:13 +0000</pubDate>
		<dc:creator>Keith</dc:creator>
				<category><![CDATA[DBF]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.infused.org/2007/11/27/dbf-106-update/</guid>
		<description><![CDATA[DBF is a small fast library for reading dBase, xBase, Clipper and FoxPro database files. It is written completely in Ruby and has no external dependencies.
Changes in version 1.0.5:

Strip non-ascii characters from column names

]]></description>
			<content:encoded><![CDATA[<p><a href="http://dbf.rubyforge.org">DBF</a> is a small fast library for reading dBase, xBase, Clipper and FoxPro database files. It is written completely in Ruby and has no external dependencies.</p>
<p>Changes in version 1.0.5:</p>
<ul>
<li>Strip non-ascii characters from column names</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.infused.org/2007/11/27/dbf-106-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DBF 1.0.2 Update</title>
		<link>http://www.infused.org/2007/08/15/dbf-102-update/</link>
		<comments>http://www.infused.org/2007/08/15/dbf-102-update/#comments</comments>
		<pubDate>Wed, 15 Aug 2007 21:50:50 +0000</pubDate>
		<dc:creator>Keith</dc:creator>
				<category><![CDATA[DBF]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.infused.org/2007/08/15/dbf-102-update/</guid>
		<description><![CDATA[DBF is a small fast library for reading dBase, xBase, Clipper and FoxPro database files. It is written completely in Ruby and has no external dependencies.
Changes in version 1.0.2:

Fixes a bug when reading Visual Foxpro memo files.

]]></description>
			<content:encoded><![CDATA[<p><a href="http://dbf.rubyforge.org">DBF</a> is a small fast library for reading dBase, xBase, Clipper and FoxPro database files. It is written completely in Ruby and has no external dependencies.</p>
<p>Changes in version 1.0.2:</p>
<ul>
<li>Fixes a bug when reading Visual Foxpro memo files.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.infused.org/2007/08/15/dbf-102-update/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>DBF 0.5.0 Update</title>
		<link>http://www.infused.org/2007/05/26/dbf-050-update/</link>
		<comments>http://www.infused.org/2007/05/26/dbf-050-update/#comments</comments>
		<pubDate>Sat, 26 May 2007 09:11:40 +0000</pubDate>
		<dc:creator>Keith</dc:creator>
				<category><![CDATA[DBF]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.infused.org/2007/05/26/dbf-050-update/</guid>
		<description><![CDATA[A lot of work has gone into this release of the DBF gem.  The basic reader code is stable now. I&#8217;m in the process of moving the test suite from Test::Unit to Rspec. When I&#8217;m done with that I&#8217;ll add a couple of additional features, polish the documentation and christen it 1.0.0.

New find method
Full [...]]]></description>
			<content:encoded><![CDATA[<p>A lot of work has gone into this release of the <a href="http://dbf.rubyforge.org">DBF gem</a>.  The basic reader code is stable now. I&#8217;m in the process of moving the test suite from Test::Unit to Rspec. When I&#8217;m done with that I&#8217;ll add a couple of additional features, polish the documentation and christen it 1.0.0.</p>
<ul>
<li>New find method</li>
<li>Full compatibility with the two flavors of memo file</li>
<li>Two modes of operation:
<ul>
<li>In memory (default): All records are loaded into memory on the first<br />
    request. Records are retrieved from memory for all subsequent requests.</li>
<li>File I/O: All records are retrieved from disk on every request</li>
</ul>
</li>
<li>Improved <a href="http://dbf.rubyforge.org/dbf">documentation</a> and more usage examples</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.infused.org/2007/05/26/dbf-050-update/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Retrospect-GDS 2.0.5 &#8211; now with 25% more translations</title>
		<link>http://www.infused.org/2006/11/15/retrospect-gds-205-now-with-25-more-translations/</link>
		<comments>http://www.infused.org/2006/11/15/retrospect-gds-205-now-with-25-more-translations/#comments</comments>
		<pubDate>Thu, 16 Nov 2006 06:58:55 +0000</pubDate>
		<dc:creator>Keith</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Retrospect-GDS]]></category>

		<guid isPermaLink="false">http://www.infused.org/2006/11/15/retrospect-gds-205-now-with-25-more-translations/</guid>
		<description><![CDATA[Just a quick note to say that I finally got around to releasing a new version of Retrospect-GDS, my open source genealogy software.  This new version comes with two new language translations, bringing the total to 10.  More details in the official announcement.
]]></description>
			<content:encoded><![CDATA[<p>Just a quick note to say that I finally got around to releasing a new version of <a href="http://www.infused-solutions.com/retrospect2/docs/about/">Retrospect-GDS</a>, my open source genealogy software.  This new version comes with two new language translations, bringing the total to 10.  More details in the <a href="http://www.infused-solutions.com/retrospect2/205-hebrew-swedish-edition/">official announcement</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.infused.org/2006/11/15/retrospect-gds-205-now-with-25-more-translations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hear Me RoR</title>
		<link>http://www.infused.org/2006/11/03/hear-me-ror/</link>
		<comments>http://www.infused.org/2006/11/03/hear-me-ror/#comments</comments>
		<pubDate>Fri, 03 Nov 2006 19:30:41 +0000</pubDate>
		<dc:creator>Keith</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.infused.org/2006/11/03/hear-me-ror/</guid>
		<description><![CDATA[Three weeks ago I left the security of my job of the last 8 years to pursue a new career as a freelance consultant/programmer.  
I&#8217;ve been freelancing part-time for several years and it was always a nice supplement to my income, but I was afraid of going it alone.  What if I couldn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>Three weeks ago I left the security of my job of the last 8 years to pursue a new career as a freelance consultant/programmer.  </p>
<p>I&#8217;ve been freelancing part-time for several years and it was always a nice supplement to my income, but I was afraid of going it alone.  What if I couldn&#8217;t make enough to support my family?  What if I&#8217;m not good enough?  What if I fail and have to go find a job?  What will people think of me then?</p>
<p>Earlier this year I came to the realization that there is no reason to fear failing.  Would it be the end of the world if I did fail?  Hardly. Would I be embarrassed?  Probably. But, embarrassed or not, I can always change gears or find another job.  I could even give up and just lay around watching TV all day while my wife supports me.</p>
<p>So, now I&#8217;m doing what I really love: Developing the best software that I&#8217;m able, using Ruby and Ruby on Rails.  I also plan to spend more time working on my own software and writing about Ruby and Ruby on Rails. I&#8217;m even considering doing some speaking on the subject.</p>
<p>Are you looking for an experienced Ruby or Ruby on Rails developer? Maybe you&#8217;re just looking for some mentoring or guidance on a project?  Send me an email at <a href="mailto:keithm@infused.org">keithm at infused.org</a>.  I&#8217;m always looking for exciting new projects.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.infused.org/2006/11/03/hear-me-ror/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Need sample DBASE/XBASE/FOXPRO files</title>
		<link>http://www.infused.org/2006/07/30/need-sample-dbasexbasefoxpro-files/</link>
		<comments>http://www.infused.org/2006/07/30/need-sample-dbasexbasefoxpro-files/#comments</comments>
		<pubDate>Sun, 30 Jul 2006 20:20:24 +0000</pubDate>
		<dc:creator>Keith</dc:creator>
				<category><![CDATA[DBF]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.infused.org/2006/07/30/need-sample-dbasexbasefoxpro-files/</guid>
		<description><![CDATA[I&#8217;ve written a DBF database access library in Ruby, but so far I&#8217;ve only tested it with files created with a couple of versions of FoxPro.  I need files created with different flavors of DBase, XBase, Clipper, and FoxPro in order to flesh out the test suite.  Ultimately, I would like to library [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve written a DBF database access library in Ruby, but so far I&#8217;ve only tested it with files created with a couple of versions of FoxPro.  I need files created with different flavors of DBase, XBase, Clipper, and FoxPro in order to flesh out the test suite.  Ultimately, I would like to library to handle all the known variations of the DBF file format.</p>
<p><del>The project will be available on rubyforge.com within in a couple of days.  I&#8217;ll post the link as soon as it&#8217;s available.</del> The project is hosted on Rubyforge and <a href="http://dbf.rubyforge.org/">can be found here</a>.</p>
<p>If you have any files with the following characteristics, please email them to me at keithm@infused.org.  Better yet, if you want to take the time to create a fresh sample database for me that would be awesome.  Here&#8217;s what I&#8217;m looking for:</p>
<ul>
<li>Small dataset.  Prefer less than 100 rows</li>
<li>At least one field from each of the general data types.  This means:
<ul>
<li>At least one Character field (if using software that supports fields larger than 254 characters, also include at least one field that is larger)</li>
<li>At least one Number field</li>
<li>At least one Boolean field</li>
<li>At least one Date field</li>
<li>At least one Memo field (please include the memo file along with the dbf file)</li>
</ul>
</li>
<li>Fields to include if supported by the software:
<ul>
<li>At least one Floating Point field</li>
<li>At least one Binary, General, or Picture field (not neccessary to have one of each)</li>
<li>At least one Currency field</li>
<li>At least one Integer field</li>
<li>At lease one DateTime field</li>
<li>At lease one Timestamp field</li>
</ul>
</li>
</ul>
<p>There are a few other data types such as VariField which I don&#8217;t really care about right now.  </p>
<p>Special Bonus Offer:<br />
If you have access to 3 or more of the software packages and/or versions and are willing to create good sample databases I will pay you for your efforts.  Contact me at the email above for details.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.infused.org/2006/07/30/need-sample-dbasexbasefoxpro-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test Injector Plugin for Rails</title>
		<link>http://www.infused.org/2006/07/28/test-injector-plugin-for-rails/</link>
		<comments>http://www.infused.org/2006/07/28/test-injector-plugin-for-rails/#comments</comments>
		<pubDate>Sat, 29 Jul 2006 00:56:54 +0000</pubDate>
		<dc:creator>Keith</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://www.infused.org/2006/07/28/test-injector-plugin-for-rails/</guid>
		<description><![CDATA[I&#8217;ve been working on a very large Rails projects at work and found myself spending a lot of time writing the same unit tests over and over again.  The application has a very complex database schema and has 159 ActiveRecord models so far.  With this many models, there are obviously a ton of [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on a very large Rails projects at work and found myself spending a lot of time writing the same unit tests over and over again.  The application has a very complex database schema and has 159 ActiveRecord models so far.  With this many models, there are obviously a ton of associations.  I decided that I needed a way to automatically test every association that is defined in a model.  </p>
<p>The TestInjector plugin is the result.  I still have a lot of functionality that I want to add, but it works very well and it&#8217;s ready for others to use.</p>
<p>I posted the details on the Rails wiki:<br />
<a href="http://wiki.rubyonrails.org/rails/pages/TestInjector">http://wiki.rubyonrails.org/rails/pages/TestInjector</a></p>
<p>Or just install it using the plugin manager and take a look at the README file for more details:</p>
<div class="code">
<pre>script/plugin install http://www.infused.org/svn/plugins/test_injector</pre>
</div>
<p>or:</p>
<div class="code">
<pre>script/plugin discover
script/plugin install test_injector</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.infused.org/2006/07/28/test-injector-plugin-for-rails/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Sticky Scoped Access</title>
		<link>http://www.infused.org/2006/07/20/sticky-scoped-access/</link>
		<comments>http://www.infused.org/2006/07/20/sticky-scoped-access/#comments</comments>
		<pubDate>Thu, 20 Jul 2006 19:09:17 +0000</pubDate>
		<dc:creator>Keith</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://www.infused.org/2006/07/20/sticky-scoped-access/</guid>
		<description><![CDATA[Anybody else have this problem with Anna Chan&#8217;s ScopedAccess plugin?
Using a around_filter with ScopedAccess::Filter or the scoped_access helper works fine in normal usage, but when running rake test:functionals, the scope from previously run tests carries over into later tests.  In other words with_scope is being set but not removed.
Maybe this is because the controllers [...]]]></description>
			<content:encoded><![CDATA[<p>Anybody else have this problem with <a href="http://habtm.com/articles/2006/02/22/nested-with_scope">Anna Chan&#8217;s ScopedAccess</a> plugin?</p>
<p>Using a around_filter with ScopedAccess::Filter or the scoped_access helper works fine in normal usage, but when running rake test:functionals, the scope from previously run tests carries over into later tests.  In other words with_scope is being set but not removed.</p>
<p>Maybe this is because the controllers are not being torn down after the corresponding functional test is run?  I&#8217;m tired of peppering my functional test setup methods with Whatever.reset_scope.  Anybody have a quick fix for me?  I have other things to do, and I&#8217;d like to avoid looking deeper into this one&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.infused.org/2006/07/20/sticky-scoped-access/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
