<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Late to the Party</title>
    <link>http://cwilliams.textdriven.com/</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Ruby. Rails. Stuff.</description>
    <item>
      <title>Aptana Studio 1.0 Released!</title>
      <description>&lt;p&gt;Wow it's been quite a while since I last posted. In the meantime I've been working hard on RDT and RadRails at Aptana and the job has been great. I'm very lucky to have found a way to work on the open source projects I love full-time.&lt;/p&gt;

&lt;p&gt;In that vein I'd like to announce that &lt;a href="http://www.aptana.com/blog/?p=200?diff=y"&gt;we've released the 1.0 of Aptana&lt;/a&gt;. This release is important for a number of reasons. First, we think the product is good-to-go for everyone. Second, we're announcing &lt;a href="http://www.aptana.com/products/studio_professional.php"&gt;a Pro version of the IDE&lt;/a&gt;. This version is for users who want to support the project so we can keep going, or who want the extra features and perks that come with a license: nightly build access, priority support, IE Javascript Debugger, SFTP/FTPS support and all sorts of other goodies. The support, nightly builds, SVN access also apply to the other components of what we're now calling Aptana Studio: &lt;a href="http://radrails.org/"&gt;RadRails&lt;/a&gt;, iPhone, PHP and AIR. So if you want to be on the bleeding edge of RadRails/RDT development you'll probably want to look into getting a license.&lt;/p&gt;

&lt;p&gt;Keep in mind that while we do offer a pro version for those who'd like to support us or the extra stuff, we are still shipping the same codebase (minus the commercial features) as &lt;a href="http://www.aptana.com/products/studio_community.php"&gt;an open source project under GPL&lt;/a&gt;. And we plan to remain an open-source company with an open source product.  Here's hoping that model will work for us!&lt;/p&gt;</description>
      <pubDate>Tue, 30 Oct 2007 12:41:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:494d8149-4863-4cca-bf1b-6c1d84350478</guid>
      <author>chris.a.williams@gmail.com (Chris)</author>
      <link>http://cwilliams.textdriven.com/articles/2007/10/30/aptana-studio-1-0-released</link>
      <category>Programming</category>
      <category>Personal</category>
      <category>Rails</category>
      <category>aptana</category>
      <category>RDT</category>
      <category>radrails</category>
      <category>Rails</category>
      <category>ide</category>
    </item>
    <item>
      <title>Aptana backs RDT, hires me</title>
      <description>&lt;p&gt;I'm proud to announce today that &lt;a href="http://www.aptana.com"&gt;Aptana&lt;/a&gt; has hired me to work full-time on &lt;a href="http://rubyeclipse.sourceforge.net"&gt;RDT&lt;/a&gt;, RadRails and integrating that work with their existing Aptana IDE which focuses on CSS, HTML and Javascript.&lt;/p&gt;

&lt;div style="background-color: white; text-align: center;"&gt;&lt;a href="http://www.aptana.com/rdt.html"&gt;&lt;img src="/images/aptana_radrails_rdt_ajax_rails_blue.gif" alt=""aptana-radrails-rdt ajax on rails/&gt;&lt;/a&gt;&lt;/div&gt;

&lt;p&gt;This announcement means that RDT will now have commercial backing (but will remain open-source and free!) and that you should see RDT and RadRails move forward at a much quicker pace than in the past.&lt;/p&gt;

&lt;p&gt;This is also great news for RadRails users and Rails developers in general as integrating the two will give you code completion, outlines, help, debugging and much more across the entire stack - from model to controller to the HTML, ruby code, CSS and Javascript that make up your views.&lt;/p&gt;

</description>
      <pubDate>Sat, 21 Apr 2007 16:41:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:c68f2859-5c20-4685-a61e-da26f1583f63</guid>
      <author>chris.a.williams@gmail.com (Chris)</author>
      <link>http://cwilliams.textdriven.com/articles/2007/04/21/aptana-backs-rdt-hires-me</link>
      <category>Programming</category>
      <category>Personal</category>
      <category>Web design</category>
      <category>Ruby</category>
      <category>Rails</category>
      <category>aptana</category>
      <category>ruby</category>
      <category>Rails</category>
      <category>commercial</category>
      <category>sponsor</category>
      <category>RDT</category>
      <category>radrails</category>
      <category>ide</category>
      <category>eclipse</category>
      <category>announcement</category>
    </item>
    <item>
      <title>RadRails dying off?</title>
      <description>&lt;p&gt;Kyle Shank of the &lt;a href="http://www.radrails.org/"&gt;RadRails&lt;/a&gt; team has mentioned that he and Matt are both working on a web startup. &lt;a href="http://www.radrails.org/blog/2007/3/5/radrails-future_1173078407"&gt;Looks like the priority of RadRails is lower&lt;/a&gt; for them - after all, RadRails doesn't make money.&lt;/p&gt;

&lt;p&gt;It's a shame that this sort of thing happens, but I can't say I'm all that surprised. I've been working on &lt;a href="http://rubyeclipse.sourceforge.net"&gt;RDT&lt;/a&gt; for nearly 4 years now and I can definitely say that people just don't pay for free things. You can beg for donations, but you shouldn't expect them. Given the amount of time and effort - and the sheer number of downloads - it just doesn't pay the bills to run an open source project that passively solicits donations. I estimate the per-user donations for RDT to be at about 1.4 cents*. And if we take out the one large donor?  .00071 cents per user.&lt;/p&gt;

&lt;p&gt;That doesn't quite cut it for rent and food, unless of course you get the entire world to use your product.&lt;/p&gt;

&lt;p&gt;I wish Kyle and Matt well and hope that others from the community step forward and help lead the project onward.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: Looks like RadRails isn't dying off - it's &lt;a href="http://www.crn.com/software/197801078"&gt;getting new ownership&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;* This estimate assumes we count RadRails users as RDT users, because RadRails contains RDT. It also uses just the raw zip downloads from Sourceforge for both projects. There is a large number of users we are not counting here who have downloaded via Eclipse's update site mechanism, and who use RDT from other distributions available.&lt;/em&gt;&lt;/p&gt;</description>
      <pubDate>Tue, 06 Mar 2007 14:02:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:fb4bb0b3-a040-4804-90fe-bc0f0bb369bb</guid>
      <author>chris.a.williams@gmail.com (Chris)</author>
      <link>http://cwilliams.textdriven.com/articles/2007/03/06/radrails-dying-off</link>
      <category>Programming</category>
      <category>Personal</category>
      <category>Ruby</category>
      <category>Java</category>
      <category>RDT</category>
      <category>radrails</category>
      <category>open</category>
      <category>source</category>
    </item>
    <item>
      <title>SVN and SVK</title>
      <description>&lt;p&gt;Dear Lazyweb:&lt;/p&gt;

&lt;p&gt;I would like to take an existing SVN repository of a project (like say, Typo), check out a tagged version, create local modifications and save the modified version in a local/home SVN repository(my blog). Later, I'd like to sync up the local version to a new tagged version of the original repository (Typo), handle any merges locally and then check in the result into my local repository again. Rinse and repeat, ad infinitum.&lt;/p&gt;

&lt;p&gt;Is SVK the right job for this?  Has anybody done something like this? Essentially its the equivalent of creating a branch on a SVN repository but having that branch in an entirely separate SVN repository instance. I don't have experience with this, so I'd greatly appreciate any pointers anybody out there might have.&lt;/p&gt;</description>
      <pubDate>Fri, 16 Feb 2007 13:38:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:968541c0-bb7a-4799-8dfe-b5816bf02cf7</guid>
      <author>chris.a.williams@gmail.com (Chris)</author>
      <link>http://cwilliams.textdriven.com/articles/2007/02/16/svn-and-svk</link>
      <category>Programming</category>
      <category>Personal</category>
      <category>svn</category>
      <category>svk</category>
      <category>scm</category>
      <category>repository</category>
      <category>programming</category>
      <category>development</category>
      <category>subversion</category>
    </item>
    <item>
      <title>Steve Jobs says Apple would love DRM-free music</title>
      <description>&lt;p&gt;Wow. Steve Jobs has posted an &lt;a href="http://www.apple.com/hotnews/thoughtsonmusic/"&gt;open letter&lt;/a&gt; on &lt;a href="http://www.apple.com"&gt;Apple&lt;/a&gt;'s website essentially calling for the big four music companies to abolish their restriction that music sold through iTunes be done with &lt;abbr title="Digital Rights Management"&gt;DRM&lt;/abbr&gt;. This combined with  hints from Bill Gates that he'd love to see DRM dropped as well, may actually move the discussion to the right players - the music companies themselves. (After all, not only have they pushed for DRM, they actually &lt;a href="http://daringfireball.net/2006/11/buy_that_for_a_dollar"&gt;blackmailed Microsoft into giving them money for every Zune sold&lt;/a&gt;!)  &lt;/p&gt;

&lt;p&gt;It's nice to see the big technology companies are starting to push for the right thing - even if it is because the hassle of keeping up the DRM and recent court battles have pushed them into this position.&lt;/p&gt;</description>
      <pubDate>Tue, 06 Feb 2007 20:51:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:14b514c3-2f1f-41df-acbd-8ed6430f14ef</guid>
      <author>chris.a.williams@gmail.com (Chris)</author>
      <link>http://cwilliams.textdriven.com/articles/2007/02/06/steve-jobs-says-apple-would-love-drm-free-music</link>
      <category>Personal</category>
      <category>apple</category>
      <category>itunes</category>
      <category>ipod</category>
      <category>music</category>
      <category>drm</category>
    </item>
    <item>
      <title>RDT gets Refactoring support</title>
      <description>&lt;p&gt;Well the &lt;a href="http://jutopia.tirsen.com/articles/2007/01/30/and-you-didnt-think-it-could-be-done"&gt;cat is out&lt;/a&gt; &lt;a href="http://on-ruby.blogspot.com/2007/02/ruby-refactoring-rubicon.html"&gt;of the bag&lt;/a&gt;: &lt;a href="http://r2.ifsoftware.ch/trac"&gt;Mirko Stocker and his cohorts&lt;/a&gt; have committed their refactoring support to &lt;a href="http://rubyeclipse.sourceforge.net/"&gt;&lt;abbr title="Ruby Development Tool"&gt;RDT&lt;/abbr&gt;&lt;/a&gt;'s Subversion repository.&lt;/p&gt;

&lt;p&gt;This means we'll be able to roll out 0.9.0 with this support. Right now we're working to get it integrated into the build process, so that it will begin showing up in our new builds. I'm pretty excited myself, because I've had little chance to try out their work.&lt;/p&gt;

&lt;p&gt;This refactoring support joins other recent work in RDT which allows us to do some occurence marking of variables, code completion and other exciting features (thanks &lt;a href="http://jayunit.net/"&gt;Jason&lt;/a&gt;!). There's certainly a long way yet to go to get the tools polished - for instance we still have a hard time doing code completion (or much else) on a file which is being edited while the syntax is temporarily incorrect (the &lt;a href="http://www.jruby.org"&gt;JRuby&lt;/a&gt; parser is great, but not so forgiving) - but we're constantly marching forward.&lt;/p&gt;

&lt;p&gt;Look for &lt;a href="http://rubyeclipse.mktec.com/cgi-bin/trac.py/roadmap"&gt;0.9.0 to come out sometime this month (we're aiming for the 15th)&lt;/a&gt;!&lt;/p&gt;</description>
      <pubDate>Tue, 06 Feb 2007 16:37:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:1af8c68c-4cb7-4341-a638-b8e396d9f737</guid>
      <author>chris.a.williams@gmail.com (Chris)</author>
      <link>http://cwilliams.textdriven.com/articles/2007/02/06/rdt-gets-refactoring-support</link>
      <category>Programming</category>
      <category>Personal</category>
      <category>Ruby</category>
      <category>Java</category>
      <category>refactoring</category>
      <category>ruby</category>
      <category>eclipse</category>
      <category>ide</category>
    </item>
    <item>
      <title>Rosie our cleaner</title>
      <description>&lt;p&gt;So, I was lucky enough to get a &lt;a href="http://www.time.com/time/gadget/20040714/"&gt;Roomba Discovery&lt;/a&gt; for Christmas from my parents. My wife and I both love her and we've decided she'd be named &lt;a href="http://www.jeffbots.com/rosie.html"&gt;Rosie&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;My father also grabbed a strange TV remote alarm, which is supposed to learn your remote's infrared signals for turning the TV on and off and then send that signal when the alarm goes off (thereby waking you up by turning your TV on). It also should be able to learn the Roomba power/clean command. &lt;/p&gt; &lt;p&gt;But it won't. &lt;/p&gt; &lt;p&gt;Or at least it says it's got it by flashing it's little red lights, and when the alarm goes off those wonderful little lights go off again - but no movement from Rosie. I can't get it to actually learn the TV remote control either, so I guess it's no fault of Rosie.&lt;/p&gt; &lt;p&gt;So, dear lazyweb, are there any other cheap solutions for setting Rosie up on a timed schedule to clean my house while I'm away? Or do I have to buy some accessories from iRobot (which will be more expensive)?&lt;/p&gt;</description>
      <pubDate>Thu, 18 Jan 2007 18:00:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:83c47733-1a95-46e3-9dac-285e7ba93788</guid>
      <author>chris.a.williams@gmail.com (Chris)</author>
      <link>http://cwilliams.textdriven.com/articles/2007/01/18/rosie-our-cleaner</link>
      <category>Personal</category>
      <category>rosie</category>
      <category>jetsons</category>
      <category>roomba</category>
      <category>irobot</category>
      <category>vaccuum</category>
      <category>cleaner</category>
      <category>remote</category>
    </item>
    <item>
      <title>Patterns in Ruby: Decorator revisited</title>
      <description>&lt;p&gt;A while back I wrote an article describing some possible ways to implement a 
&lt;a href="http://cwilliams.textdriven.com/articles/2006/10/27/patterns-in-ruby-template-method"&gt;Decorator pattern in Ruby&lt;/a&gt;. 
I've stumbled across several mentions of 
yet another idiom used so often in the Rails codebase that they've extracted 
it into the latest ActiveSupport. That idiom is 
&lt;a href="http://weblog.rubyonrails.org/2006/4/26/new-in-rails-module-alias_method_chain"&gt;&lt;code&gt;alias_method_chain&lt;/code&gt;&lt;/a&gt;,
and it's a good example of a decorator implementation.&lt;/p&gt;

&lt;p&gt;This idiom is a codified example of using the alias approach I briefly mentioned in the earlier article. In that 
article we aliased the original implementation with anew name, and set up a new implementation of our method 
(often delegating to the original) with the original's name. A quick example makes this clear:&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="keyword"&gt;class &lt;/span&gt;&lt;span class="class"&gt;Window&lt;/span&gt;
  &lt;span class="keyword"&gt;def &lt;/span&gt;&lt;span class="method"&gt;draw&lt;/span&gt;
    &lt;span class="comment"&gt;# do some drawing here...&lt;/span&gt;
  &lt;span class="keyword"&gt;end&lt;/span&gt;

  &lt;span class="comment"&gt;# some code...&lt;/span&gt;

&lt;span class="comment"&gt;# creates a 'copy' of draw method, but gives it&lt;/span&gt;
&lt;span class="comment"&gt;# the name/selector 'original_draw'&lt;/span&gt;
  &lt;span class="keyword"&gt;alias&lt;/span&gt; &lt;span class="symbol"&gt;:original_draw&lt;/span&gt; &lt;span class="symbol"&gt;:draw&lt;/span&gt; 

  &lt;span class="keyword"&gt;def &lt;/span&gt;&lt;span class="method"&gt;draw&lt;/span&gt;
    &lt;span class="ident"&gt;draw_vertical_scrollbar&lt;/span&gt;
    &lt;span class="ident"&gt;original_draw&lt;/span&gt;
  &lt;span class="keyword"&gt;end&lt;/span&gt;
&lt;span class="keyword"&gt;end&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h2&gt;&lt;code&gt;alias_method_chain&lt;/code&gt;&lt;/h2&gt;

&lt;p&gt;In &lt;a href="http://weblog.rubyonrails.org/2006/4/26/new-in-rails-module-alias_method_chain"&gt;Rails 1.2 (ActiveSupport specifically)&lt;/a&gt;, the Rails core team found many instances of this pattern 
and codified a new method on the class Module, &lt;code&gt;alias_method_chain&lt;/code&gt;. This class-level method encapsulates this 
pattern of wrapping existing methods with additional behavior.&lt;/p&gt;

&lt;p&gt;Here's a specific example, showing how they would wrap rendering with layouts:&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="ident"&gt;alias_method&lt;/span&gt; &lt;span class="symbol"&gt;:render_with_no_layout&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="symbol"&gt;:render&lt;/span&gt;
&lt;span class="ident"&gt;alias_method&lt;/span&gt; &lt;span class="symbol"&gt;:render&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="symbol"&gt;:render_with_a_layout&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;In this small code snippet, they are creating a small chain of methods to wrap the existing render behavior. 
Now calls to render will be routed to &lt;code&gt;render_with_a_layout&lt;/code&gt; and then on to the original render implementation 
(which is now aliased to &lt;code&gt;render_with_no_layout&lt;/code&gt;). So they coded up &lt;code&gt;alias_method_chain&lt;/code&gt; which simply does 
the wrapping for them (using naming conventions):&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="keyword"&gt;class &lt;/span&gt;&lt;span class="class"&gt;Module&lt;/span&gt;
  &lt;span class="comment"&gt;# Encapsulates the common pattern of:&lt;/span&gt;
  &lt;span class="comment"&gt;#&lt;/span&gt;
  &lt;span class="comment"&gt;#   alias_method :foo_without_feature, :foo&lt;/span&gt;
  &lt;span class="comment"&gt;#   alias_method :foo, :foo_with_feature&lt;/span&gt;
  &lt;span class="comment"&gt;#&lt;/span&gt;
  &lt;span class="comment"&gt;# With this, you simply do:&lt;/span&gt;
  &lt;span class="comment"&gt;#&lt;/span&gt;
  &lt;span class="comment"&gt;#   alias_method_chain :foo, :feature&lt;/span&gt;
  &lt;span class="comment"&gt;#&lt;/span&gt;
  &lt;span class="comment"&gt;# And both aliases are set up for you.&lt;/span&gt;
  &lt;span class="keyword"&gt;def &lt;/span&gt;&lt;span class="method"&gt;alias_method_chain&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="ident"&gt;target&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="ident"&gt;feature&lt;/span&gt;&lt;span class="punct"&gt;)&lt;/span&gt;
    &lt;span class="ident"&gt;alias_method&lt;/span&gt; &lt;span class="punct"&gt;&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;&lt;span class="expr"&gt;#{target}&lt;/span&gt;_without_&lt;span class="expr"&gt;#{feature}&lt;/span&gt;&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;,&lt;/span&gt; &lt;span class="ident"&gt;target&lt;/span&gt;
    &lt;span class="ident"&gt;alias_method&lt;/span&gt; &lt;span class="ident"&gt;target&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="punct"&gt;&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;&lt;span class="expr"&gt;#{target}&lt;/span&gt;_with_&lt;span class="expr"&gt;#{feature}&lt;/span&gt;&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;&lt;/span&gt;
  &lt;span class="keyword"&gt;end&lt;/span&gt;
&lt;span class="keyword"&gt;end&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Please note that if they were to replace their existing two calls to &lt;code&gt;alias_method&lt;/code&gt; above, they would need to tweak the naming a little
(the methods would become &lt;code&gt;render_without_layout&lt;/code&gt; and &lt;code&gt;render_with_layout&lt;/code&gt; as opposed to
&lt;code&gt;render_with_no_layout&lt;/code&gt; and &lt;code&gt;render_with_a_layout&lt;/code&gt; respectively).&lt;/p&gt;</description>
      <pubDate>Tue, 26 Dec 2006 18:38:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:42654a54-afbd-4e14-932e-8ef2ce31b561</guid>
      <author>chris.a.williams@gmail.com (Chris)</author>
      <link>http://cwilliams.textdriven.com/articles/2006/12/26/patterns-in-ruby-decorator-revisited</link>
      <category>Programming</category>
      <category>Ruby</category>
      <category>Rails</category>
      <category>decorator</category>
      <category>patterns</category>
      <category>ruby</category>
      <category>alias</category>
      <category>chain</category>
      <category>method</category>
    </item>
    <item>
      <title>Free Annual Credit reports</title>
      <description>&lt;p&gt;Since I talk about real estate with some regularity I thought I should share some personal experience around getting your credit report.&lt;/p&gt;

&lt;p&gt;First things first, get your credit report when you are beginning to think about buying a home.  If you have a low score you will need to address any inaccuracies or problems the report brings up or you won't get approved by a mortgage lender (or you will get charged a higher rate). In fact, you should probably get one annually anyways to avoid higher rates on credit cards and loans and to help avoid landlords from renting to you, etc.&lt;/p&gt;

&lt;p&gt;Next, if you want a free credit report, use &lt;a href="www.annualcreditreport.com"&gt;www.annualcreditreport.com&lt;/a&gt;. The federal government passed legislation allowing you to request a free report every 12 months and this is the site to do so. Those of you who try the others (like www.freecreditreport.com) beware - Read the fine print and you'll see that getting the report will sign you up for a subscription of some sorts that will charge you on a monthly basis until canceled. They typically say that if you cancel within 30 days you won't be charged. I'm not alleging that they're outright lying, but I canceled within 3 days and was charged for 4 months and was never able to recover the charges. Your mileage may vary, but why bother?&lt;/p&gt;</description>
      <pubDate>Fri, 01 Dec 2006 21:06:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:efa4c43f-b088-4889-9cda-ab4a3063b6f3</guid>
      <author>chris.a.williams@gmail.com (Chris)</author>
      <link>http://cwilliams.textdriven.com/articles/2006/12/01/free-annual-credit-reports</link>
      <category>Real Estate</category>
      <category>real</category>
      <category>estate</category>
      <category>credit</category>
      <category>report</category>
      <category>free</category>
      <category>annual</category>
    </item>
    <item>
      <title>Real Estate predictions for 1Q 2007</title>
      <description>&lt;p&gt;I occasionally write columns on real estate here and given the latest news I thought I should post an update.
CNN and other major outlets have all been reporting the news for some time - the housing market is &lt;a href="http://money.cnn.com/2006/11/28/news/economy/homesales_october/index.htm?cnn=yes"&gt;stagnant and the bubble has burst&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;They're right. The bubble has officially burst and those of you who got into the speculative game in Florida, California, Las Vegas or some of the other areas who saw incredible gains are now paying the price. I don't have much first-hand knowledge of those markets, but as I mentioned before they were well overpriced, they continue to be overpriced and I don't imagine that we'll see any appreciable gains (real gains, adjusted for inflation) in home prices in those markets in the coming quarter, year, and probably not in the next five years. Definitely nothing like those ridiculous 20%+ &lt;abbr title="year over year"&gt;YOY&lt;/abbr&gt; gains of the past. Gains of that nature are unsustainable in the long term and we're seeing a natural correction in the market.&lt;/p&gt;

&lt;p&gt;As for the secondary and tertiary markets, I'm predicting that as a result of the general malaise felt by the aftershocks of the major-market bubble-burst prices will remain at current rates or, in some markets, achieve single-digit gains. Investment in homebuilders and other real estate related holdings will be dropping as returns disappoint (no more flipping properties for a 100% profit!?) and this will ripple into some of these smaller markets holding down price growth.&lt;/p&gt;

&lt;p&gt;While this is bad short term news for many owners who bought into the market in the past couple years, assuming you bought into the market for the right reasons (not to flip, the real estate equivalent of day trading), time frame (more than 5 years), and with the right financing (fixed rate mortgages  that fit in your budget) you should feel comfortable holding onto your holdings.  Those of you who hold &lt;abbr title="adjustable rate mortgages"&gt;ARMs&lt;/abbr&gt; may want to consider dropping properties and even forfeiting deposits on properties in construction which were intended to be sold for profit from appreciation.&lt;/p&gt;</description>
      <pubDate>Tue, 28 Nov 2006 20:53:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:20b31250-3813-4476-a9a8-72aa2ee7c30a</guid>
      <author>chris.a.williams@gmail.com (Chris)</author>
      <link>http://cwilliams.textdriven.com/articles/2006/11/28/real-estate-predictions-for-1q-2007</link>
      <category>Real Estate</category>
      <category>real</category>
      <category>estate</category>
      <category>homes</category>
      <category>house</category>
      <category>buying</category>
      <category>price</category>
      <category>predictions</category>
    </item>
  </channel>
</rss>
