<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>Building Web Apps Blog - Home</title>
  <id>tag:blog.buildingwebapps.com,2008:mephisto/</id>
  <generator version="0.7.3" uri="http://mephistoblog.com">Mephisto Noh-Varr</generator>
  <link href="http://blog.buildingwebapps.com/feed/atom.xml" rel="self" type="application/atom+xml"/>
  <link href="http://blog.buildingwebapps.com/" rel="alternate" type="text/html"/>
  <updated>2008-06-20T18:13:38Z</updated>
  <entry xml:base="http://blog.buildingwebapps.com/">
    <author>
      <name>mzslater</name>
    </author>
    <id>tag:blog.buildingwebapps.com,2008-06-20:10517</id>
    <published>2008-06-20T18:09:00Z</published>
    <updated>2008-06-20T18:13:38Z</updated>
    <link href="http://blog.buildingwebapps.com/2008/6/20/startup-camp-here-we-come" rel="alternate" type="text/html"/>
    <title>Startup Camp Here We Come</title>
<content type="html">
            &lt;p&gt;We&#8217;re thrilled to have been selected as one of the seven companies to participate in &lt;a href='http://oatv.com/foo'&gt;Startup Camp&lt;/a&gt;. This promises to be a fantastic opportunity to learn from a lot of great folks.&lt;/p&gt;


	&lt;p&gt;If you&#8217;re wondering just what it is we&#8217;re up to, take a look at our &lt;a href='http://www.buildingwebapps.com/about'&gt;About Us&lt;/a&gt;. As you&#8217;ll see, it&#8217;s somewhat divergent from the BuildingWebApps site, but built from the same technology base. We&#8217;ll have more to say in the coming months.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://blog.buildingwebapps.com/">
    <author>
      <name>chaupt</name>
    </author>
    <id>tag:blog.buildingwebapps.com,2008-06-01:10510</id>
    <published>2008-06-01T05:57:00Z</published>
    <updated>2008-06-01T06:01:35Z</updated>
    <category term="learningrails"/>
    <category term="podcast"/>
    <category term="railsconf"/>
    <category term="rubyonrails"/>
    <category term="screencast"/>
    <category term="travel"/>
    <link href="http://blog.buildingwebapps.com/2008/6/1/slides-from-podcaster-screencaster-talk" rel="alternate" type="text/html"/>
    <title>Slides from Podcaster/Screencaster Talk</title>
<content type="html">
            &lt;p&gt;Michael and I are at &lt;a href='http://www.railsconf.com/'&gt;RailsConf&lt;/a&gt; this week and joined a panel with our podcasting and screencasting colleagues in the Rails community. See our &lt;a href='http://www.slideshare.net/guest75489e/podcast-screencasting-on-rails/'&gt;combined slides&lt;/a&gt; for some great tidbits and behind-the-scenes information.&lt;/p&gt;


&lt;div&gt;&amp;lt;object height='355' width='425' style='margin:0px'&gt;&amp;lt;param name='movie' value='http://static.slideshare.net/swf/ssplayer2.swf?doc=podcastscreencastingonrails-1212294960722738-9' /&gt;&amp;lt;param name='allowFullScreen' value='true' /&gt;&amp;lt;param name='allowScriptAccess' value='always' /&gt;&amp;lt;embed allowfullscreen='true' type='application/x-shockwave-flash' src='http://static.slideshare.net/swf/ssplayer2.swf?doc=podcastscreencastingonrails-1212294960722738-9' allowscriptaccess='always' height='355' width='425'&gt;&amp;lt;/embed&gt;&amp;lt;/object&gt;&lt;div&gt;&lt;a href='http://www.slideshare.net/?src=embed'&gt;&lt;img src='http://static.slideshare.net/swf/logo_embd.png' alt='SlideShare' /&gt;&lt;/a&gt; | &lt;a href='http://www.slideshare.net/guest75489e/podcast-screencasting-on-rails?src=embed' title='View Podcast &amp;amp; Screencasting On Rails on SlideShare'&gt;View&lt;/a&gt; | &lt;a href='http://www.slideshare.net/upload?src=embed'&gt;Upload your own&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
          </content>  </entry>
  <entry xml:base="http://blog.buildingwebapps.com/">
    <author>
      <name>chaupt</name>
    </author>
    <id>tag:blog.buildingwebapps.com,2008-05-27:10507</id>
    <published>2008-05-27T15:28:00Z</published>
    <updated>2008-05-27T15:33:15Z</updated>
    <category term="events"/>
    <category term="railsconf"/>
    <category term="travel"/>
    <link href="http://blog.buildingwebapps.com/2008/5/27/railsconf-2008-book-signing" rel="alternate" type="text/html"/>
    <title>RailsConf 2008 Book Signing</title>
<content type="html">
            &lt;p&gt;Mike Clark, primary author of the new Pragmatic Programmers book &lt;a href='http://www.pragprog.com/titles/fr_arr/advanced-rails-recipes'&gt;Advanced Rails Recipes&lt;/a&gt;, will be holding a book signing meet-and-greet at RailsConf 2008 in Portland OR, this Friday. It will be at the Powell&#8217;s Books booth during the 12:30 lunch break.&lt;/p&gt;


	&lt;p&gt;Both Michael and I contributed recipes to the book and one or both of us plan on being at the signing for a little while. Come on by if you are at the conference and say hello!&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://blog.buildingwebapps.com/">
    <author>
      <name>chaupt</name>
    </author>
    <id>tag:blog.buildingwebapps.com,2008-05-23:10504</id>
    <published>2008-05-23T17:58:00Z</published>
    <updated>2008-05-23T18:05:27Z</updated>
    <category term="learningrails"/>
    <category term="podcast"/>
    <category term="railsconf"/>
    <category term="rubyonrails"/>
    <category term="screencast"/>
    <category term="travel"/>
    <link href="http://blog.buildingwebapps.com/2008/5/23/podcasting-and-screencasting-in-rails-panel" rel="alternate" type="text/html"/>
    <title>Podcasting and Screencasting in Rails Panel</title>
<content type="html">
            &lt;p&gt;Besides the &lt;a href='http://blog.buildingwebapps.com/2008/5/20/podcast-meetup-at-railsconf'&gt;birds-of-a-feather&lt;/a&gt; (BOF) meetup at RailsConf 2008 that Michael recently blogged about, we will now also be doing a panel about &lt;a href='http://en.oreilly.com/rails2008/public/schedule/detail/4515'&gt;podcasting and screencasting&lt;/a&gt; with our podcasting colleagues: Geoffrey Grosenbach of the &lt;a href='http://podcast.rubyonrails.org/'&gt;Ruby on Rails podcast&lt;/a&gt;, Ryan Bates of &lt;a href='http://railscasts.com/'&gt;Railscasts&lt;/a&gt;, and Gregg Pollack of &lt;a href='http://railsenvy.com/'&gt;RailsEnvy&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;This talk will be at 4:25pm on Friday, May 30th. We&#8217;ll be talking about the nuts and bolts of podcasting and screencasting and getting things warmed up for the &lt;span class='caps'&gt;BOF&lt;/span&gt; general discussion. Come join us if you are in Portland for RailsConf 2008!&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://blog.buildingwebapps.com/">
    <author>
      <name>mzslater</name>
    </author>
    <id>tag:blog.buildingwebapps.com,2008-05-20:10499</id>
    <published>2008-05-20T18:55:00Z</published>
    <updated>2008-05-23T22:13:44Z</updated>
    <link href="http://blog.buildingwebapps.com/2008/5/20/podcast-meetup-at-railsconf" rel="alternate" type="text/html"/>
    <title>Podcast Meetup at RailsConf</title>
<content type="html">
            &lt;p&gt;Together with Geoffrey Grosenbach of the &lt;a href='http://podcast.rubyonrails.org'&gt;Ruby on Rails podcast&lt;/a&gt;, Ryan Bates of &lt;a href='http://railscasts.com'&gt;Railscasts&lt;/a&gt;, and Gregg Pollack of &lt;a href='http://railsenvy.com'&gt;RailsEnvy&lt;/a&gt;, we&#8217;re organizing a meetup at RailsConf to talk about the future of podcasting and screencasting for Rails developers.&lt;/p&gt;


	&lt;p&gt;If you&#8217;ve been listening to our &lt;a href='http://www.buildingwebapps.com/learning_rails'&gt;Learning Rails&lt;/a&gt; course or any of the other Rails podcasts or screencasts, this is your chance to make it a two-way conversation and help guide future efforts.&lt;/p&gt;


	&lt;p&gt;We&#8217;ve proposed this as a Birds of a Feather (BOF) session for 9 pm Friday night. The conference organizers won&#8217;t make their &lt;span class='caps'&gt;BOF&lt;/span&gt; selections until the 26th, so for now the location of the session is unknown. Check back here for updates.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;&lt;em&gt;Update: We&#8217;re on the schedule! Rooms &lt;span class='caps'&gt;D135&lt;/span&gt; and 136, 9-10 pm Friday.&lt;/em&gt;&lt;/strong&gt; See &lt;a href='http://en.oreilly.com/rails2008/public/schedule/detail/4484'&gt;listing on the conference site&lt;/a&gt; for details.&lt;/p&gt;


	&lt;p&gt;I hope to have a chance to meet a bunch of our readers and listeners there.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://blog.buildingwebapps.com/">
    <author>
      <name>chaupt</name>
    </author>
    <id>tag:blog.buildingwebapps.com,2008-05-20:10498</id>
    <published>2008-05-20T15:43:00Z</published>
    <updated>2008-05-20T16:13:15Z</updated>
    <category term="bugs"/>
    <category term="git"/>
    <category term="plugins"/>
    <category term="rubyonrails"/>
    <category term="submodules"/>
    <category term="vcs"/>
    <link href="http://blog.buildingwebapps.com/2008/5/20/got-git-submodules-not-a-go-go" rel="alternate" type="text/html"/>
    <title>Got Git? Rails, Plugins, and Submodules Not a Go Go</title>
<summary type="html">&lt;p&gt;This is a summary of some of the challenges we&#8217;ve had with our Ruby on Rails Git migration and attempting to use submodules for vendor/rails and various plugins. We&#8217;ve run in to problems switching and merging between branches with and without submodules. Once I work this all out, I&#8217;ll write up a &#8220;real&#8221; article for BuildingWebApps.com.&lt;/p&gt;</summary><content type="html">
            &lt;p&gt;This is a summary of some of the challenges we&#8217;ve had with our Ruby on Rails Git migration and attempting to use submodules for vendor/rails and various plugins. We&#8217;ve run in to problems switching and merging between branches with and without submodules. Once I work this all out, I&#8217;ll write up a &#8220;real&#8221; article for BuildingWebApps.com.&lt;/p&gt;
&lt;p&gt;Sorry, it was a really long night, so I&#8217;m a bit Ga Ga. This is a summary of some of the challenges we&#8217;ve had with our Git migration and attempting to use submodules for vendor/rails and various plugins. We&#8217;ve run in to problems switching and merge between branches with and without submodules. Once I work this all out, I&#8217;ll write up a &#8220;real&#8221; article for BuildingWebApps.com.&lt;/p&gt;


	&lt;p&gt;For our current project, we&#8217;ve made the migration over to the &lt;a href='http://git.or.cz/'&gt;Git&lt;/a&gt; distributed version control system. I&#8217;ve been using Git for tracking 3rd party open source projects, as well as using &lt;a href='http://www.selenic.com/mercurial/wiki/'&gt;Mercurial&lt;/a&gt;. I&#8217;m still learning the ropes. Git&#8217;s support for branching was the main selling point for us. We&#8217;ve been using Subversion for a long time with great success, but the biggest weakness has been how much a pain it is to have multiple branches and deal with multi-way merges. While switching to Git requires a bit of a &lt;a href='http://git.or.cz/course/svn.html'&gt;learning curve&lt;/a&gt;, it isn&#8217;t too bad.&lt;/p&gt;


	&lt;p&gt;Git makes working with multiple branches a relative breeze. Last week, I decided to give the submodule feature a try for tracking Ruby on Rails (vendor/rails) Edge, as well as a to migrate various plugins over. We used Piston in Subversion to good effect, and submodules seemed adequate as a replacement. There are numerous articles about setting up submodules, a couple of good ones are &lt;a href='http://woss.name/2008/04/09/using-git-submodules-to-track-vendorrails/'&gt;here&lt;/a&gt; and &lt;a href='http://woss.name/2008/04/11/using-git-submodules-to-track-vendorrails-2/'&gt;here&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Our scenario may or may not be that unique. We have a master branch (and other working branches) that represent our &#8220;version 1&#8221; code tree. We are doing a large refactoring in a set of branches for &#8220;version 2&#8221;. The two lines are running in parallel, and we occasionally merge/rebase from version 1 over to version 2. Version 1 is frozen around Rails 2.0.2. Version 2 is tracking Edge. I&#8217;ve set up version 2 to use submodules for vendor/rails as well as a number of our plugins. We are using Git 1.5.5.x at the moment.&lt;/p&gt;


	&lt;p&gt;The problem appears to be when you swap between branches of version 1 and version 2 (those without submodule and those with, respectively). There may be other problems, but we are tracking this down (interestingly, I have seen different results between Git 1.5.4 and 1.5.5, bugs?).&lt;/p&gt;


	&lt;p&gt;Starting with a clean clone of the remote repository (we are using &lt;a href='http://github.com/'&gt;GitHub&lt;/a&gt; quite happily), all starts out good. The master branch is clean and version 1 looks good.&lt;/p&gt;


	&lt;p&gt;I then switch to version 2 with a &lt;code&gt;git checkout --track -b version2 origin/version2&lt;/code&gt;. Remember that version 2 is using submodules for vendor/rails and some plugins (e.g. rspec, rspec-rails, acts_as_versioned, etc.). I see delete messages for vendor/rails and the submoduled plugins. Interestingly, if I then do a &lt;code&gt;git status&lt;/code&gt;, I see two entries (one for vendor/rails, another for one plugin&#8212;acts_as_versioned in this example). I don&#8217;t see the other plugins. The correlation here appears to be that the delete status only exists for those plugins that exist currently on the master (version 1) branch.&lt;/p&gt;


	&lt;p&gt;If I do &lt;code&gt;git submodule init&lt;/code&gt; next, I see entries for all of my submodules being &#8220;registered&#8221;. If I then immediately do a &lt;code&gt;git submodule update&lt;/code&gt;, I see the standard updating/downloading type messages and get the correct versions. Now if I &lt;code&gt;git status&lt;/code&gt;, all on the version2 branch appears &#8220;clean&#8221;.&lt;/p&gt;


	&lt;p&gt;At this point, if I want to switch back to master (version1 branch), things go a bit crazy. If the immediate next command is &lt;code&gt;git checkout master&lt;/code&gt;, I get the dread &#8220;error: Untracked working tree file &#8216;vendor/plugins/acts_as_versioned/CHANGELOG&#8217; would be overwritten by merge&#8221; error (where the file may be different). Again, this appears to be in a directory where in the version 2 branch it is a submodule, but in the version 1 branch it is not.&lt;/p&gt;


	&lt;p&gt;Now I&#8217;m stuck. Various combinations of &lt;code&gt;git clean&lt;/code&gt; don&#8217;t seem to help. &lt;code&gt;git status&lt;/code&gt; insists the working directory is clean.&lt;/p&gt;


	&lt;p&gt;So, how do I go back?&lt;/p&gt;


	&lt;p&gt;If I &lt;code&gt;git checkout master -f&lt;/code&gt;, I can switch. But, and a big but, the plugins that aren&#8217;t supposed to be in this branch and a variety of files from vendor/rails appear when doing a &lt;code&gt;git status&lt;/code&gt;. If I clean those with &lt;code&gt;git clean&lt;/code&gt;, I get a whacked directory tree.&lt;/p&gt;


	&lt;p&gt;Pending figuring this out, I&#8217;m switching back to the static inclusion of files in the vendor area and tracking them by hand. I&#8217;ll document a solution when found (or if anyone can set me straight or send pointers).&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://blog.buildingwebapps.com/">
    <author>
      <name>mzslater</name>
    </author>
    <id>tag:blog.buildingwebapps.com,2008-05-20:10497</id>
    <published>2008-05-20T15:25:00Z</published>
    <updated>2008-05-20T15:35:50Z</updated>
    <category term="rails apps"/>
    <link href="http://blog.buildingwebapps.com/2008/5/20/good-works-in-rails" rel="alternate" type="text/html"/>
    <title>Good Works in Rails</title>
<content type="html">
            &lt;p&gt;Among the vast diversity of applications written in Rails, you&#8217;ll find many that meet personal or business needs. A few go for higher goals, addressing the needs of less fortunate people worldwide.&lt;/p&gt;


	&lt;p&gt;Here&#8217;s a couple examples that I encourage you to explore, and donate or loan some money:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://www.BringLight.com'&gt;BringLight&lt;/a&gt;, founded by ex-Adobe execs Melissa Dyrdahl and Drew McManus, allows you to donate to a specific project, so you know exactly where your money is going. You can search by the type of project or by location.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://www.microplace.com'&gt;MicroPlace&lt;/a&gt; is a micro-lending site, operated by eBay (its first Rails application). Make a small loan to an entrepreneur on the other side of the world.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;These are striking examples of how we can use the power of web applications to connect people that otherwise would be isolated and spread some of our high-tech affluence to other communities.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://blog.buildingwebapps.com/">
    <author>
      <name>mzslater</name>
    </author>
    <id>tag:blog.buildingwebapps.com,2008-05-19:10496</id>
    <published>2008-05-19T18:58:00Z</published>
    <updated>2008-05-19T19:00:46Z</updated>
    <link href="http://blog.buildingwebapps.com/2008/5/19/page-hierarchy-screencast-posted" rel="alternate" type="text/html"/>
    <title>Page Hierarchy Screencast Posted</title>
<content type="html">
            &lt;p&gt;We&#8217;ve just posted our &lt;a href='http://www.buildingwebapps.com/learningrails/15'&gt;seventh screencast&lt;/a&gt;, the 15th lesson in the &lt;a href='http://www.buildingwebapps.com/learning_rails'&gt;Learning Rails&lt;/a&gt; series. In this screencast, we add the concept of subpages, so we can have pages that don&#8217;t appear in the main navigation but instead show up as second-level navigation links on their parent page. To do so, we use a self-referential has_many association.&lt;/p&gt;


	&lt;p&gt;There&#8217;s lots more than can be done to continue refining our little content management system, but it&#8217;s rapidly approaching a useful level for small sites. We&#8217;ll wrap up some loose ends in the next screencast, and then move on in future screencasts to take care of the Contact Us and Resources pages. Then we plan to circle back and fix up the tests.&lt;/p&gt;


	&lt;p&gt;We&#8217;re thrilled to see that several thousand people are following the screencasts, and that the comments we&#8217;ve received have been overwhelmingly positive. If you&#8217;d like to help spread the word, pick up our &lt;a href='http://www.buildingwebapps.com/affiliate'&gt;Learning Rails ad&lt;/a&gt; and include it on your blog.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://blog.buildingwebapps.com/">
    <author>
      <name>chaupt</name>
    </author>
    <id>tag:blog.buildingwebapps.com,2008-05-12:10492</id>
    <published>2008-05-12T16:18:00Z</published>
    <updated>2008-05-12T16:39:39Z</updated>
    <category term="BOC"/>
    <category term="how-to"/>
    <category term="learningrails"/>
    <category term="podcast"/>
    <category term="rubyonrails"/>
    <category term="screencast"/>
    <category term="tutorial"/>
    <link href="http://blog.buildingwebapps.com/2008/5/12/screencast-6-lesson-14-cold-soft-white-underbelly" rel="alternate" type="text/html"/>
    <title>Screencast 6/Lesson 14: Cold, Soft White Underbelly</title>
<content type="html">
            &lt;p&gt;The sixth screencast is posted and should be propagating to iTunes and our email lists now. In this episode we do something quick (show setting up acts_as_textiled), then show something else that should be quick, but turns in to a reality check.&lt;/p&gt;


	&lt;p&gt;Michael walks through &#8220;dropping in&#8221; in-place editing to our simple &lt;span class='caps'&gt;CMS&lt;/span&gt;, and quickly demonstrates what happens when you have to scratch the surface of Rails: things don&#8217;t work as documented, things may not have documentation, plugins can quickly drift out of sync with the current releases of Rails (edge or otherwise), you may have to sift through Rails bug reports to find &#8220;just the right patch&#8221;.&lt;/p&gt;


	&lt;p&gt;Blue Oyster Cult may have gotten it right with &lt;a href='http://www.last.fm/music/Blue+Öyster+Cult/_/Hot+Rails+to+Hell'&gt;Hot Rails to Hell&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;The great thing (???) is that almost certainly someone has had to cover this ground before and a little targeted use of Google will yield a clue. The thing that absolutely sucks is that almost certainly someone has had to cover this before, proposed a fix that is gathering dust, and you have to dig for it.&lt;/p&gt;


	&lt;p&gt;Of course, that&#8217;s where we hope to help&#8230;trying to expose the rough, dark edges &lt;span class='caps'&gt;AND&lt;/span&gt; help provide useful documentation/links/screencasts that will smooth those corners.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://blog.buildingwebapps.com/">
    <author>
      <name>mzslater</name>
    </author>
    <id>tag:blog.buildingwebapps.com,2008-05-11:10487</id>
    <published>2008-05-11T05:20:00Z</published>
    <updated>2008-05-11T05:41:49Z</updated>
    <category term="books"/>
    <link href="http://blog.buildingwebapps.com/2008/5/11/here-comes-everybody" rel="alternate" type="text/html"/>
    <title>Here Comes Everybody</title>
<content type="html">
            &lt;p&gt;Spurred on by Clay Shirky&#8217;s &lt;a href='http://blip.tv/file/855937'&gt;talk at Web 2.0&lt;/a&gt;, I picked up his new book &lt;a href='http://www.amazon.com/exec/obidos/ASIN/1594201536/buildicom-20'&gt;Here Comes Everybody&lt;/a&gt;, subtitled &lt;em&gt;The Power of Organizing without Organizations&lt;/em&gt;. I&#8217;ve just finished it, and I can&#8217;t recommend it highly enough.&lt;/p&gt;


	&lt;p&gt;There&#8217;s been a slew of books on the social and business implications of the Internet, from Wikinomics to Web 2.0: A Strategy Guide, but for the most part I&#8217;ve found them a little dry and not especially thought-provoking. I got a lot more out of Here Comes Everybody, and enjoyed reading it more.&lt;/p&gt;


	&lt;p&gt;The book paints a compelling picture of how the the Internet has demolished barriers to publishing and forming groups. While this is hardly a new observation, I found the book&#8217;s exploration of the implications of these changes to be thought provoking, even though I&#8217;ve read an awful lot in this domain.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://blog.buildingwebapps.com/">
    <author>
      <name>chaupt</name>
    </author>
    <id>tag:blog.buildingwebapps.com,2008-05-05:10485</id>
    <published>2008-05-05T23:45:00Z</published>
    <updated>2008-05-05T23:53:59Z</updated>
    <category term="announcement"/>
    <category term="learningrails"/>
    <category term="podcast"/>
    <category term="rubyonrails"/>
    <category term="screencast"/>
    <link href="http://blog.buildingwebapps.com/2008/5/5/screencast-5-lesson-13-is-up" rel="alternate" type="text/html"/>
    <title>Screencast 5 (lesson 13) is up...</title>
<content type="html">
            &lt;p&gt;This week&#8217;s screencast (lesson 13) rounds out the Admin pages refactor tasks we started in lesson 12. When we were recording the original lesson 12, it ran way over our typical target of 25 minutes or so, so we broke it into a part 1 and part 2. I&#8217;m not a good enough video editor to fix up the prompts you see in the lesson 13 screencast in post-production, so yes, they still say lesson 12. Sorry for any confusion!&lt;/p&gt;


	&lt;p&gt;Behind the scenes, we are still working on our tool set and are discussing the best way to deliver the videos. Right now, we provide the full Quicktime movie for either download or playing directly in your browser/iTunes/RSS Reader. I&#8217;m contemplating putting zipped up versions online too, so those of you who download the movies for local/offline play can benefit from smaller downloads. If this interests you, drop me a line here or via our &lt;a href='http://www.buildingwebapps.com/contact'&gt;BuildingWebApps contact form&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;-Chris&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://blog.buildingwebapps.com/">
    <author>
      <name>mzslater</name>
    </author>
    <id>tag:blog.buildingwebapps.com,2008-05-02:10478</id>
    <published>2008-05-02T16:12:00Z</published>
    <updated>2008-05-02T16:12:56Z</updated>
    <category term="browser stats"/>
    <category term="ie6"/>
    <link href="http://blog.buildingwebapps.com/2008/5/2/browser-stats" rel="alternate" type="text/html"/>
    <title>Browser Stats</title>
<content type="html">
            &lt;p&gt;It&#8217;s interesting to see how widely browser stats vary among sites. Here&#8217;s the data for this site and two others I operate, for the past 30 days:&lt;/p&gt;


	&lt;table&gt;
		&lt;tr&gt;
			&lt;td&gt;  &amp;nbsp; &lt;/td&gt;
			&lt;td&gt; &lt;strong&gt;BuildingWebApps&amp;nbsp;&amp;nbsp;&lt;/strong&gt; &lt;/td&gt;
			&lt;td&gt; &lt;strong&gt;BoatingSF.com&amp;nbsp;&amp;nbsp;&lt;/strong&gt; &lt;/td&gt;
			&lt;td&gt; &lt;strong&gt;Financial Firm&lt;/strong&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt; &lt;strong&gt;IE&lt;/strong&gt; &lt;/td&gt;
			&lt;td&gt; 14%  &lt;/td&gt;
			&lt;td&gt; 65%  &lt;/td&gt;
			&lt;td&gt; 89% &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt; &lt;strong&gt;Firefox&lt;/strong&gt; &amp;nbsp;&amp;nbsp; &lt;/td&gt;
			&lt;td&gt; 65%  &lt;/td&gt;
			&lt;td&gt; 26% &lt;/td&gt;
			&lt;td&gt; 7% &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt; &lt;strong&gt;Safari&lt;/strong&gt; &lt;/td&gt;
			&lt;td&gt;  17% &lt;/td&gt;
			&lt;td&gt;  8% &lt;/td&gt;
			&lt;td&gt; 4% &lt;/td&gt;
		&lt;/tr&gt;
	&lt;/table&gt;




	&lt;p&gt;&lt;br /&gt;
Breaking down the IE usage between 6.0 and 7.0 also shows a lot of variation:&lt;/p&gt;


	&lt;table&gt;
		&lt;tr&gt;
			&lt;td&gt; &amp;nbsp;&amp;nbsp; &lt;/td&gt;
			&lt;td&gt; &lt;strong&gt;BuildingWebApps&amp;nbsp;&amp;nbsp;&lt;/strong&gt; &lt;/td&gt;
			&lt;td&gt; &lt;strong&gt;BoatingSF.com&amp;nbsp;&amp;nbsp;&lt;/strong&gt; &lt;/td&gt;
			&lt;td&gt; &lt;strong&gt;Financial Firm&lt;/strong&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt; &lt;strong&gt;&lt;span class='caps'&gt;IE 6&lt;/span&gt;&lt;/strong&gt; &amp;nbsp;&amp;nbsp;&lt;/td&gt;
			&lt;td&gt; 34%  &lt;/td&gt;
			&lt;td&gt; 58%  &lt;/td&gt;
			&lt;td&gt; 66% &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt; &lt;strong&gt;&lt;span class='caps'&gt;IE 7&lt;/span&gt;&lt;/strong&gt; &lt;/td&gt;
			&lt;td&gt; 65%  &lt;/td&gt;
			&lt;td&gt; 41% &lt;/td&gt;
			&lt;td&gt; 34% &lt;/td&gt;
		&lt;/tr&gt;
	&lt;/table&gt;




	&lt;p&gt;&lt;br /&gt;
So for BuildingWebApps, we&#8217;re just about at the point where we&#8217;re not going to worry about &lt;span class='caps'&gt;IE 6&lt;/span&gt;&#8212;it represents less than 5% of our traffic, and it&#8217;s shrinking every day. But for the other sites, &lt;span class='caps'&gt;IE 6&lt;/span&gt; unfortunately remains a big part of the audience.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://blog.buildingwebapps.com/">
    <author>
      <name>mzslater</name>
    </author>
    <id>tag:blog.buildingwebapps.com,2008-04-30:10479</id>
    <published>2008-04-30T20:50:00Z</published>
    <updated>2008-04-30T20:54:58Z</updated>
    <link href="http://blog.buildingwebapps.com/2008/4/30/tips-for-bloggers" rel="alternate" type="text/html"/>
    <title>Tips for Bloggers</title>
<content type="html">
            &lt;p&gt;When we add blog articles to our database, we like to identify the author to give credit where credit is due. We also need to be sure that posts that we find through Google searches are still relevant.&lt;/p&gt;


	&lt;p&gt;It&#8217;s amazing how often it is difficult, and sometimes impossible, to find the full name of the author, and how frequently posts are undated.&lt;/p&gt;


	&lt;p&gt;So here&#8217;s two suggestions for technology bloggers:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Make sure each post is dated. Especially if you&#8217;re writing about a fast-moving framework like Rails, knowing when a post was written is essential.&lt;/li&gt;
		&lt;li&gt;Include your full name somewhere! Nicknames are fine, but if you care about credit for your work, put your full name in the footer, or at least include an &#8220;About Me&#8221; link that provides your full name. Unless, of course, you don&#8217;t want anyone to know who you are&#8230;&lt;/li&gt;
	&lt;/ul&gt;
          </content>  </entry>
  <entry xml:base="http://blog.buildingwebapps.com/">
    <author>
      <name>mzslater</name>
    </author>
    <id>tag:blog.buildingwebapps.com,2008-04-29:10476</id>
    <published>2008-04-29T22:37:00Z</published>
    <updated>2008-04-29T22:38:00Z</updated>
    <category term="learning rails"/>
    <category term="restful_authentication"/>
    <link href="http://blog.buildingwebapps.com/2008/4/29/fourth-screencast-posted" rel="alternate" type="text/html"/>
    <title>Fourth Screencast Posted</title>
<content type="html">
            &lt;p&gt;The &lt;a href='http://www.buildingwebapps.com/learningrails/12'&gt;fourth screencast&lt;/a&gt; in the Learning Rails series is now available. In this lesson, we fill in the missing pieces of the user management system that the restful_authentication plugin doesn&#8217;t provide, such as the ability to list, edit, and delete users.&lt;/p&gt;


	&lt;p&gt;We&#8217;ve been getting great feedback on the screencasts, and we now have more than 3,000 people receiving the lessons via &lt;span class='caps'&gt;RSS&lt;/span&gt; or email. More than 20,000 lessons (audio podcasts + screencasts) were downloaded in the last 30 days.&lt;/p&gt;


	&lt;p&gt;If you haven&#8217;t yet signed up, you can sign up to &lt;a href='http://www.buildingwebapps.com/learning_rails'&gt;receive the lessons from the start&lt;/a&gt;, or skip the eight audio podcasts that cover the basic concepts and &lt;a href='http://www.buildingwebapps.com/screencasts'&gt;start with the screencasts&lt;/a&gt;. We&#8217;ll send you an email every three days with a link to the next lesson.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://blog.buildingwebapps.com/">
    <author>
      <name>mzslater</name>
    </author>
    <id>tag:blog.buildingwebapps.com,2008-04-28:10473</id>
    <published>2008-04-28T23:38:00Z</published>
    <updated>2008-04-28T23:43:04Z</updated>
    <category term="oreilly"/>
    <category term="web2"/>
    <category term="webguild"/>
    <link href="http://blog.buildingwebapps.com/2008/4/28/web-2-0-tussle-webguild-whines" rel="alternate" type="text/html"/>
    <title>Web 2.0 Tussle: WebGuild Whines</title>
<content type="html">
            &lt;p&gt;Just after the end of last week&#8217;s Web 2.0 conference and expo, the Silicon Valley WebGuild has posted an &lt;a href='http://www.webguild.org/2008/04/shame-on-you-tim-oreilly.php'&gt;outrageous diatribe&lt;/a&gt; against Tim O&#8217;Reilly.&lt;/p&gt;


	&lt;p&gt;WebGuild created an event that they called the Web 2.0 Conference &#38; Expo, which does sound quite a bit like O&#8217;Reilly&#8217;s Web 2.0 Expo. WebGuild argues that the Web 2.0 term is generic, and that they have every right to use this name in their event.&lt;/p&gt;


	&lt;p&gt;I can sympathize with their viewpoint, and I think the right answer here is not at all clear. But then WebGuild organized another event called Future of Web Apps, which just happens to exactly match the name of a Carsonified event. This starts to look an awful lot like a pattern of mimicking the names of well-known events. It smells like deceptive advertising to me.&lt;/p&gt;


	&lt;p&gt;Now Google has withdrawn their backing from WebGuild, and will no longer sponsor their events or provide meeting space for them. In response, WebGuild&#8217;s Daya Baran posted an article titled &lt;a href='http://www.webguild.org/2008/04/shame-on-you-tim-oreilly.php'&gt;Shame On You Tim O&#8217;Reilly&lt;/a&gt;, in which he lashes out at the individual at Google who delivered the message, and at Tim O&#8217;Reilly, whom he accuses of pressuring Google managers to drop their support of WebGuild.&lt;/p&gt;


	&lt;p&gt;I understand their anger at losing Google&#8217;s support, but their response is unhelpful and inappropriate. Rather than being driven by pressure from Tim, I think it is far more likely that Google simply did not want to be associated with an organization with a pattern of deceptive marketing.&lt;/p&gt;


	&lt;p&gt;Among the gems in this post are the sentences &#8220;When I met him, I cordially introduced myself, however, O&#8217;Reilly was a despicable individual. He is a dinosaur whose time has past.&#8221; &lt;strong&gt;&lt;em&gt;This goes way over the line&lt;/em&gt;&lt;/strong&gt;. Personalizing business disputes in this way helps nothing and just makes WebGuild look bad.&lt;/p&gt;


	&lt;p&gt;I&#8217;ve had the good fortune to know Tim casually for a long time. (When I moved the Microprocessor Report business to Sebastopol in 1990, O&#8217;Reilly was already here.) Although I have no business relationship with him, I&#8217;ve always found him to be a straight-shooter and someone of great insight. I don&#8217;t think anyone who really knows Tim would make this kind of statement. He has every right to defend the conference business that he has made a substantial investment in creating. If I were in his shoes, I&#8217;m not sure I would go after other organizations using the Web 2.0 term in event names, but he has every right to try.&lt;/p&gt;


	&lt;p&gt;It&#8217;s an interesting question just how far others can go in using phrases like &#8220;Web 2.0 Conference &#38; Expo,&#8221; but it&#8217;s crystal clear to me from WebGuild&#8217;s pattern of event naming, and the way they chose to deal with Google&#8217;s withdrawal of support, that this is not an organization I would want to associate with.&lt;/p&gt;
          </content>  </entry>
</feed>
