<?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>/dev/caffeine &#187; web</title>
	<atom:link href="http://devcaffeine.com/categories/web/feed/" rel="self" type="application/rss+xml" />
	<link>http://devcaffeine.com</link>
	<description>anything worth taking seriously is worth making fun of</description>
	<lastBuildDate>Thu, 24 Sep 2009 20:50:49 +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>Specify a relative time in Cucumber</title>
		<link>http://devcaffeine.com/2009/08/17/relative-time-in-cucumber/</link>
		<comments>http://devcaffeine.com/2009/08/17/relative-time-in-cucumber/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 17:52:59 +0000</pubDate>
		<dc:creator>cflipse</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[cucumber]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://devcaffeine.com/?p=96</guid>
		<description><![CDATA[Prepping for working on a feature at $work that involves limiting documents by relative time, I hashed out the following steps.  Posting here in case they prove useful for anyone.
I want to be able to specify an arbitrary time, in english, relative to the current time, in my Cucumber steps.  For example,

Scenario: Only [...]]]></description>
			<content:encoded><![CDATA[<p>Prepping for working on a feature at $work that involves limiting documents by relative time, I hashed out the following steps.  Posting here in case they prove useful for anyone.</p>
<p>I want to be able to specify an arbitrary time, in english, relative to the current time, in my Cucumber steps.  For example,</p>

<div class="wp_syntax"><div class="code"><pre class="cucumber" style="font-family:monospace;">Scenario: Only posts from the last two months are shown
  Given the following posts:
    | title           | posted_at           |
    | recent post     | 2 days ago          |
    | recent post 2   | yesterday           |
    | older post      | 2 months ago        |
    | really old post | 2 months, 1 day ago |
    | tomorrow's post | 1 day from now      |
  When I go to the posts page
  Then I should see 3 posts</pre></div></div>

<p>The desire, there, is to be able to specify a date relative to the current time, in plain english.  The tricky bit is being able to chain them together, as in <code>1 year, 3 months, 2 days ago</code></p>
<p>I got this worked out by stringing a few regular expressions together in my step definition helper.  It depends on the 2.days.ago type dsl in ActiveSupport.</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">Given <span style="color:#006600; font-weight:bold;">/</span>^the following posts?:?<span style="color:#006600; font-weight:bold;">/</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|</span>table<span style="color:#006600; font-weight:bold;">|</span>
  table.<span style="color:#9900CC;">map_column</span>!<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">'posted_at'</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#006600; font-weight:bold;">|</span>date<span style="color:#006600; font-weight:bold;">|</span> interpret_time<span style="color:#006600; font-weight:bold;">&#40;</span>date<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#125;</span>
  table.<span style="color:#9900CC;">hashes</span>.<span style="color:#9900CC;">each</span><span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#006600; font-weight:bold;">|</span>hash<span style="color:#006600; font-weight:bold;">|</span> Factory <span style="color:#ff3333; font-weight:bold;">:post</span>, hash<span style="color:#006600; font-weight:bold;">&#125;</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">def</span> interpret_time<span style="color:#006600; font-weight:bold;">&#40;</span>time<span style="color:#006600; font-weight:bold;">&#41;</span>
  <span style="color:#0000FF; font-weight:bold;">return</span> <span style="color:#0000FF; font-weight:bold;">nil</span> <span style="color:#9966CC; font-weight:bold;">if</span> time.<span style="color:#9900CC;">blank</span>?
  <span style="color:#0000FF; font-weight:bold;">return</span> time <span style="color:#9966CC; font-weight:bold;">if</span> time.<span style="color:#9900CC;">kind_of</span>?<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#CC00FF; font-weight:bold;">Time</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#9966CC; font-weight:bold;">or</span> time.<span style="color:#9900CC;">kind_of</span>?<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#CC00FF; font-weight:bold;">Date</span><span style="color:#006600; font-weight:bold;">&#41;</span>
  named_time<span style="color:#006600; font-weight:bold;">&#40;</span>time<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">||</span> time_by_regex<span style="color:#006600; font-weight:bold;">&#40;</span>time<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">||</span> <span style="color:#CC00FF; font-weight:bold;">Time</span>.<span style="color:#9900CC;">parse</span><span style="color:#006600; font-weight:bold;">&#40;</span>time<span style="color:#006600; font-weight:bold;">&#41;</span>
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
<span style="color:#9966CC; font-weight:bold;">def</span> named_time<span style="color:#006600; font-weight:bold;">&#40;</span>time<span style="color:#006600; font-weight:bold;">&#41;</span>
  <span style="color:#9966CC; font-weight:bold;">case</span> time.<span style="color:#9900CC;">downcase</span>
  <span style="color:#9966CC; font-weight:bold;">when</span> <span style="color:#996600;">&quot;today&quot;</span> : <span style="color:#CC00FF; font-weight:bold;">Date</span>.<span style="color:#9900CC;">today</span>
  <span style="color:#9966CC; font-weight:bold;">when</span> <span style="color:#996600;">&quot;now&quot;</span> : <span style="color:#CC00FF; font-weight:bold;">Time</span>.<span style="color:#9900CC;">now</span>
  <span style="color:#008000; font-style:italic;"># etc ...</span>
  <span style="color:#9966CC; font-weight:bold;">else</span> <span style="color:#0000FF; font-weight:bold;">nil</span>
  <span style="color:#9966CC; font-weight:bold;">end</span>
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
<span style="color:#9966CC; font-weight:bold;">def</span> time_by_regex<span style="color:#006600; font-weight:bold;">&#40;</span>time<span style="color:#006600; font-weight:bold;">&#41;</span>
  directional_regex = <span style="color:#006600; font-weight:bold;">/</span><span style="color:#006600; font-weight:bold;">&#40;</span>ago<span style="color:#006600; font-weight:bold;">|</span>from now<span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">/</span>i
  time_regex = <span style="color:#006600; font-weight:bold;">/</span><span style="color:#006600; font-weight:bold;">&#40;</span>\d<span style="color:#006600; font-weight:bold;">+</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#40;</span>minute<span style="color:#006600; font-weight:bold;">|</span>hour<span style="color:#006600; font-weight:bold;">|</span>day<span style="color:#006600; font-weight:bold;">|</span>week<span style="color:#006600; font-weight:bold;">|</span>month<span style="color:#006600; font-weight:bold;">|</span>year<span style="color:#006600; font-weight:bold;">&#41;</span>s?<span style="color:#006600; font-weight:bold;">/</span>i
&nbsp;
  direction = time.<span style="color:#9900CC;">scan</span><span style="color:#006600; font-weight:bold;">&#40;</span>directional_regex<span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">flatten</span>
  shifts = time.<span style="color:#9900CC;">scan</span><span style="color:#006600; font-weight:bold;">&#40;</span>time_regex<span style="color:#006600; font-weight:bold;">&#41;</span>
&nbsp;
  <span style="color:#0000FF; font-weight:bold;">return</span> <span style="color:#0000FF; font-weight:bold;">nil</span> <span style="color:#9966CC; font-weight:bold;">if</span> direction.<span style="color:#9900CC;">empty</span>? <span style="color:#9966CC; font-weight:bold;">or</span> shifts.<span style="color:#9900CC;">empty</span>?
  forward = direction.<span style="color:#9900CC;">first</span> == <span style="color:#996600;">&quot;from now&quot;</span>
&nbsp;
  result = <span style="color:#CC00FF; font-weight:bold;">Time</span>.<span style="color:#9900CC;">now</span>
  shifts.<span style="color:#9900CC;">each</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|</span>count, unit<span style="color:#006600; font-weight:bold;">|</span>
    <span style="color:#008000; font-style:italic;">#depends on the 1.week type DSL for time measurements</span>
    adjust = count.<span style="color:#9900CC;">to_i</span>.<span style="color:#9900CC;">send</span><span style="color:#006600; font-weight:bold;">&#40;</span>unit<span style="color:#006600; font-weight:bold;">&#41;</span>
    <span style="color:#008000; font-style:italic;"># move time in correct direction</span>
    result = forward ? <span style="color:#006600; font-weight:bold;">&#40;</span>result <span style="color:#006600; font-weight:bold;">+</span> adjust<span style="color:#006600; font-weight:bold;">&#41;</span> : <span style="color:#006600; font-weight:bold;">&#40;</span>result <span style="color:#006600; font-weight:bold;">-</span> adjust<span style="color:#006600; font-weight:bold;">&#41;</span>
  <span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
  result
<span style="color:#9966CC; font-weight:bold;">end</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://devcaffeine.com/2009/08/17/relative-time-in-cucumber/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>athas.org gone live</title>
		<link>http://devcaffeine.com/2008/02/05/athasorg-gone-live/</link>
		<comments>http://devcaffeine.com/2008/02/05/athasorg-gone-live/#comments</comments>
		<pubDate>Tue, 05 Feb 2008 15:24:06 +0000</pubDate>
		<dc:creator>cflipse</dc:creator>
				<category><![CDATA[darksun]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://devcaffeine.com/2008/02/05/athasorg-gone-live/</guid>
		<description><![CDATA[So, I finally pulled the trigger this weekend:  Athas.org is no longer written in PHP.
I&#8217;ve been working on a Rails based re-write on-and-off for the last few months, and we&#8217;ve been using the new site internally, as I work through various different approaches to the project.
By far, one of the trickiest things was figuring [...]]]></description>
			<content:encoded><![CDATA[<p>So, I finally pulled the trigger this weekend:  Athas.org is no longer written in PHP.</p>
<p>I&#8217;ve been working on a Rails based re-write on-and-off for the last few months, and we&#8217;ve been using the new site internally, as I work through various different approaches to the project.</p>
<p>By far, one of the trickiest things was figuring out how to deal with file distribution and versioning.  Shipping out files, PDFs primarily, is the entire reason for the site[0].  We tend to do multiple releases of the same product &#8212; beta/playtesting releases, followed by revisions, followed eventually by a &#8220;final&#8221; release.  (I put final in quotes, because we can always go back and revisit a product) &#8230;</p>
<p>I wrestled for a long time with how to manage this versioning issue; I&#8217;m still not necessarily satisified with the current solution.  Which is:  A product (which contains multiple files) is what holds the current status &#8212; Internal, Beta, Final, Under Review.  Files are associated with the product, but aren&#8217;t really tracked themselves.  They&#8217;re either public or private (for purely internal development files) and can be archived.  Basically, the product is a big bucket for all of the associated files, but the file records themselves are &#8220;dumb&#8221;.</p>
<p>It seems to work out well enough.  Time, I suppose, will tell.</p>
<p>[0] For the moment; I do plan on making a much more web-based interface for distributing 4e material in development.</p>
]]></content:encoded>
			<wfw:commentRss>http://devcaffeine.com/2008/02/05/athasorg-gone-live/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Printing error in IE</title>
		<link>http://devcaffeine.com/2007/02/22/printing-error-in-ie/</link>
		<comments>http://devcaffeine.com/2007/02/22/printing-error-in-ie/#comments</comments>
		<pubDate>Thu, 22 Feb 2007 14:51:30 +0000</pubDate>
		<dc:creator>cflipse</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://devcaffeine.com/2007/02/22/printing-error-in-ie/</guid>
		<description><![CDATA[So &#8230; that was fun.
Bug report gets filed about the application at work.  It seems that there&#8217;s an error that crops up when you print from IE.  The error, of course, being the characteristically unhelpful dialog of garbage that IE likes to throw at you.  After a bit of digging, it got [...]]]></description>
			<content:encoded><![CDATA[<p>So &#8230; <i>that</i> was fun.</p>
<p>Bug report gets filed about the application at work.  It seems that there&#8217;s an error that crops up when you print from IE.  The error, of course, being the characteristically unhelpful dialog of garbage that IE likes to throw at you.  After a bit of digging, it got even better.  I was <i>hoping</i> I&#8217;d be able to respond with something technically snotty, like &#8220;Do you have your printer installed?&#8221; </p>
<p>But, I managed to reproduce the bug.  Even better, I managed to narrow down it&#8217;s occurance.  It turned out that when you were logged in, the error would occur, but <b>only</b> if you were logged in.  Now that&#8217;s strange, since we&#8217;re using application level (cookie based) authentication &#8212; IE wouldn&#8217;t know anything about your logged in state.  Everything works fine in Firefox (of course, the browser with good diagnostic tools doesn&#8217;t show the problem &#8230;)</p>
<p>So, in stumbling around trying to find some clue as to what the problem is, I came across <a href="http://meyerweb.com/eric/thoughts/2005/08/29/reserved-id-values/">this</a> &#8230; It seems that <code>id="tags"</code> ends up conflicting with some builtin function in IE that&#8217;s used in printing.  Sure enough, we had a field with <code>&lt;input name="tags" id="tags" type="text"&gt;</code> that was wrapped inside an <code>if logged_in?</code> check. Renamed the field, and printing now works like it&#8217;s supposed to.</p>
<p>So, what could have been really long and painful was short circuited by a lucky find in my net searches.  No thanks to IE, it&#8217;s non-reserved reserved fields and opaque error messages.  Have I mentioned lately how much I hate IE?</p>
]]></content:encoded>
			<wfw:commentRss>http://devcaffeine.com/2007/02/22/printing-error-in-ie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>gReader</title>
		<link>http://devcaffeine.com/2006/10/23/greader/</link>
		<comments>http://devcaffeine.com/2006/10/23/greader/#comments</comments>
		<pubDate>Mon, 23 Oct 2006 15:49:09 +0000</pubDate>
		<dc:creator>cflipse</dc:creator>
				<category><![CDATA[rss]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://devcaffeine.com/2006/10/23/greader/</guid>
		<description><![CDATA[After encountering yet-another subscriptions?-what-subscriptions? bug in Rojo, I decided to take my most recent OPML export and check out google&#8217;s Reader again.  I&#8217;ve heard some good things about it &#8212; after it&#8217;s recent redesign it&#8217;s supposedly actually usuable as an aggregator &#8230; 
Look ma, an RSS aggregator that can go through a software update [...]]]></description>
			<content:encoded><![CDATA[<p>After encountering <i>yet-<b>another</b></i> subscriptions?-what-subscriptions? bug in <a href="http://rojo.com/">Rojo</a>, I decided to take my most recent OPML export and check out google&#8217;s <a href="http://reader.google.com">Reader</a> again.  I&#8217;ve heard some good things about it &#8212; after it&#8217;s recent redesign it&#8217;s supposedly actually usuable as an aggregator &#8230; </p>
<p>Look ma, an RSS aggregator that can go through a software update without completely tanking!</p>
<p>I&#8217;ve been on it for about a week.  Seems to flow decently enough.  I have a couple of complaints, but the fact that I can go through it using (mostly) keyboard commands is a big plus.  It *mostly* fits in well with my feed reading style, which, for lack of a better term, I&#8217;ll call skim-and-queue.  Skim through all my feeds, and queue up items I want to read in depty by opening them up in a new tab.  Then, close the aggregator, and make my way through the tabs.  Works well for me.  Thanks to greader&#8217;s shortcuts, I don&#8217;t have to deal with the mouse, except to open in a new tab &#8212; while the title link works to open items in a new window, the keyboard shortcut gets caught by Firefox&#8217;s popup-blocker.  Most annoying.</p>
<p>That&#8217;s a fairly minor thing though.  I <i>do</i> wish I could find an aggregator that would let me specify an oldest-first sorting for my unread items though.  Having to jump to the bottom in order to read sequentially is one of the really annoying things about &#8230; well, just about any aggregator.</p>
<p>So, it looks like, for the time being, I&#8217;ll be dropping <i>yet another</i> daily bit into Google&#8217;s silo &#8230; Until, I suppose, I get annoyed enough with the whole thing to write-my-own-damn-aggregator &#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://devcaffeine.com/2006/10/23/greader/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Site plottings</title>
		<link>http://devcaffeine.com/2006/10/05/site-plottings/</link>
		<comments>http://devcaffeine.com/2006/10/05/site-plottings/#comments</comments>
		<pubDate>Thu, 05 Oct 2006 14:26:47 +0000</pubDate>
		<dc:creator>cflipse</dc:creator>
				<category><![CDATA[darksun]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://devcaffeine.com/2006/10/05/site-plottings/</guid>
		<description><![CDATA[I&#8217;m working on a rewrite of Athas.org, converting from PHP to Rails.  I&#8217;m migrating off the current database, so nothing really should be lost.
Aside from the fact that it looks like I&#8217;m going to need to upgrade apache to a version that&#8217;s not packaged for my OS (2.2, because I need a mod that&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m working on a rewrite of <a href="http://athas.org">Athas.org</a>, converting from PHP to <a href="http://rubyonrails.org">Rails</a>.  I&#8217;m migrating off the current database, so nothing really should be lost.</p>
<p>Aside from the fact that it looks like I&#8217;m going to need to upgrade apache to a version that&#8217;s not packaged for my OS (2.2, because I need a mod that&#8217;s only available in that version) there are a couple of other things that I&#8217;m planning on finishing before migrating the site.  After that, I&#8217;ve got a few ideas for incremental addons.</p>
<p><span id="more-42"></span></p>
<dl>
<dt>Releases section </p>
<dd>includes ability to attach files to a release (reduction of administrative hassels)
</dd>
<dd>Jon wants me to take the opportunity to rename off &#8220;releases&#8221; &#8230; although I tend to prefer that name over alternatives, and it has initertia
</dd>
<dd>For <b>official</b> products, I think there needs to be some kind of signoff system, so we know that a product has been reviewed by at least two overcouncil members before going live.  May sound like bueocracy, but I think it&#8217;s needed to avoid inadvertant gaffes.</p>
<dt>Articles Section</p>
<dd>Need to migrate the various works of fiction into the articles.
</dd>
<dd>A lot of this is done already
</dd>
<dd>I want articles to take a much higher stage than they do currently &#8212; probably involves granting them more prominence.</p>
<dt>News</p>
<dd>Keep a good, clean CRUD system for news up.</p>
<dt>Staff</p>
<dd>Update the authentication system, adding roles
</dd>
<dd>Generate the staff page off the roles in the system &#8212; so Templars and such are updated automatically.
</dd>
</dt>
</dd>
</dt>
</dd>
</dt>
</dd>
</dt>
</dl>
<p>I&#8217;ve already got a fair bit of this done, but need to work out the attachments still.  That&#8217;s the most complicated bit of all this.</p>
<p>Eventually, I&#8217;d like to encourage a bit more community participation &#8212; let community members submit links, news postings, files &#8230; all requires approval before going live, to hopefully keep the spammers out of the loop.  Errata lists for every release, with a nice, convenient submission method.</p>
<p>If you&#8217;ve got thoughts and suggestions, comments here would be a good place. <img src='http://devcaffeine.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://devcaffeine.com/2006/10/05/site-plottings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rojo update</title>
		<link>http://devcaffeine.com/2006/09/27/rojo-update/</link>
		<comments>http://devcaffeine.com/2006/09/27/rojo-update/#comments</comments>
		<pubDate>Wed, 27 Sep 2006 16:50:51 +0000</pubDate>
		<dc:creator>cflipse</dc:creator>
				<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://devcaffeine.com/2006/09/27/rojo-update/</guid>
		<description><![CDATA[ I&#8217;ve been using Rojo for about a year.  It&#8217;s a nice little web-based aggregator, and suits my usages better than bloglines did.  Last week, they rolled out a major update to the site.  And, last week, I was going to write something nice and excited about it.  It seemed like [...]]]></description>
			<content:encoded><![CDATA[<p> I&#8217;ve been using <a href="http://www.rojo.com">Rojo</a> for about a year.  It&#8217;s a nice little web-based aggregator, and suits my usages better than <a href="http://www.bloglines.com">bloglines</a> did.  Last week, they rolled out a major update to the site.  And, last week, I was going to write something nice and excited about it.  It seemed like they had fixed some of the speed issues, and the interface tweaks seem much more polished to me.</p>
<p>Clearly, I didn&#8217;t.  Because after getting that first glimpse, all of my feeds vanished.  Then they were back, but inconsistantly.  And the only way that I could read anything was if I told it that I wanted to see all read and undread items in my feeds &#8212; not exactly the ideal way to read RSS feeds, especialy when you&#8217;re floating somewhere around the 50 or so that I track &#8230;</p>
<p>A week or so later, they seem to have gotten all the kinks worked out, though I&#8217;m still noticing occasional glitches.  From what they say, it was a load thing &#8212; they had adapted the site to use a full-on SOA, with various bits of functionality being farmed out as web service calls.  Like, for example, <em>what feeds I read</em>.  Remarkably, I suppose, the authentication service never had a problem &#8230; Anyway, they ran a test environment, which didn&#8217;t managed to simulate their real usage loads, and the secondary servers collapsed under the full load.</p>
<p>I&#8217;m pretty sure there&#8217;s a lot of lessons to be pulled from this, not the least of which is that it seems they did a rather poor job of communicating what was going on, and that it would have been wise to roll back to the previous version after discovering the <em>major</em> (as in, broken core functionality) failures.  I&#8217;m sure there are some other lessons to be gleaned from browing the reactions posted on their <a href="http://www.rojo.com/forums/">forums</a>, but those strike me as two of the major ones.</p>
]]></content:encoded>
			<wfw:commentRss>http://devcaffeine.com/2006/09/27/rojo-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
