<?xml version="1.0" encoding="UTF-8"?>
<products type="array">
  <product>
    <created-at type="datetime">2010-03-10T05:58:41Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2010/peepcode-cucumber-cover.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;The Cucumber behavior-driven development framework is appreciated by developers from many languages. It makes it easy to write plain-text stories that run executable Ruby code against your application.&lt;/p&gt;


	&lt;p&gt;In this hour and ten minute screencast, you&amp;#8217;ll learn the basics of Cucumber. You&amp;#8217;ll learn the syntax, organization, and philosophy of writing Features, Scenarios, and Steps. You&amp;#8217;ll build an application and learn where unit tests are a better fit.&lt;/p&gt;


	&lt;p&gt;The PeepCode series on &lt;a href=&quot;https://peepcode.com/screencasts/rspec&quot;&gt;RSpec&lt;/a&gt; kicked off our foray into independent screencast publishing and we think you&amp;#8217;ll like this one just as much!&lt;/p&gt;


	&lt;p&gt;Topics covered in this screencast include:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Organization &amp;#38; Helper Tools&lt;/li&gt;
		&lt;li&gt;Setup &amp;#38; Installation&lt;/li&gt;
		&lt;li&gt;Basic Features&lt;/li&gt;
		&lt;li&gt;Wrapping Cucumber with a continuous script&lt;/li&gt;
		&lt;li&gt;Configuration &amp;#38; Form Submission&lt;/li&gt;
		&lt;li&gt;Using Tables&lt;/li&gt;
		&lt;li&gt;Reusing Steps&lt;/li&gt;
		&lt;li&gt;Using Webrat Directly&lt;/li&gt;
		&lt;li&gt;Proper use of Background steps &amp;#38; Tags&lt;/li&gt;
		&lt;li&gt;Integrating Unit Tests&lt;/li&gt;
		&lt;li&gt;Fixing form fields&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Available with a &lt;a href=&quot;https://peepcode.com/products/unlimited&quot;&gt;PeepCode Unlimited Subscription&lt;/a&gt; or alone for only $9!&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2010/peepcode-cucumber-app.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2010/peepcode-cucumber-fixtures.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2010/peepcode-cucumber-hal.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2010/peepcode-cucumber-feature.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2010/peepcode-cucumber-syntax.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2010/peepcode-cucumber-chapters.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">72</duration>
    <filesize>160 MB</filesize>
    <filesize-ipod>160 MB</filesize-ipod>
    <guid>EcGjt-t6ouF</guid>
    <prerequisites>Assumes a basic knowledge of Ruby and Ruby on Rails.</prerequisites>
    <preview-url>http://peepcode.com/system/uploads/2010/peepcode-cucumber-preview.mov</preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">0</reviews-count>
    <revision type="integer">1</revision>
    <title>Use the Cucumber</title>
    <updated-at type="datetime">2010-03-10T06:59:06Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/cucumber</url>
  </product>
  <product>
    <created-at type="datetime">2010-02-12T03:00:14Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2010/peepcode-jquery-ajax-cover.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;a href=&quot;https://peepcode.com/products/jquery&quot;&gt;PeepCode Meet jQuery&lt;/a&gt; quickly became our fastest-selling title of all time. In this screencast, we explore the Ajax features of the popular jQuery JavaScript framework.&lt;/p&gt;


	&lt;p&gt;We start simply with the transfer of &lt;span class=&quot;caps&quot;&gt;HTML&lt;/span&gt; fragments in only one line of code. You&amp;#8217;ll learn about the convenience methods in jQuery and then dive down into the details of the low-level Ajax method.&lt;/p&gt;


	&lt;p&gt;Included are the source code of the demo application in addition to tips and strategies for using jQuery well. Clear graphics and animated diagrams present the information you need to know over the course of 45 minutes.&lt;/p&gt;


	&lt;p&gt;Topics covered in this screencast include:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Setup&lt;/li&gt;
		&lt;li&gt;JavaScript code organization&lt;/li&gt;
		&lt;li&gt;Querystring Params &amp;#38; Callback Functions&lt;/li&gt;
		&lt;li&gt;Global Handlers&lt;/li&gt;
		&lt;li&gt;Sending Data&lt;/li&gt;
		&lt;li&gt;Handling Errors Gracefully&lt;/li&gt;
		&lt;li&gt;Client-side &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt; Strategy&lt;/li&gt;
		&lt;li&gt;Common Ajax Options&lt;/li&gt;
		&lt;li&gt;&lt;span class=&quot;caps&quot;&gt;JSONP&lt;/span&gt; data transfer from other domains&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Ruby&amp;#8217;s &lt;a href=&quot;http://www.sinatrarb.com/&quot;&gt;Sinatra&lt;/a&gt; framework is used as a demo server, but the concepts apply to web frameworks in any programming language.&lt;/p&gt;


	&lt;p&gt;Available with a &lt;a href=&quot;https://peepcode.com/products/unlimited&quot;&gt;PeepCode Unlimited Subscription&lt;/a&gt; or alone for only $9!&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2010/peepcode-jquery-ajax-chapters.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2010/peepcode-jquery-ajax-timeline.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2010/peepcode-jquery-ajax-callbacks.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2010/peepcode-jquery-ajax-api.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2010/peepcode-jquery-ajax-jsonp2.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2010/peepcode-jquery-ajax-mime.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2010/peepcode-jquery-ajax-jsonp.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">43</duration>
    <filesize>116 MB</filesize>
    <filesize-ipod>116 MB</filesize-ipod>
    <guid>bWgOM-sttR0</guid>
    <prerequisites>Assumes basic knowledge of jQuery as presented in our &quot;Meet jQuery&quot;:https://peepcode.com/products/jquery screencast.</prerequisites>
    <preview-url>http://peepcode.com/system/uploads/2010/peepcode-jquery-ajax-preview.mov</preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">2</reviews-count>
    <revision type="integer">1</revision>
    <title>jQuery Ajax</title>
    <updated-at type="datetime">2010-02-12T03:00:30Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/jquery-ajax</url>
  </product>
  <product>
    <created-at type="datetime">2009-12-25T03:53:51Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/jqtouch-cover.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;small&gt;With technical review by jQTouch author David Kaneda!&lt;/small&gt;&lt;/p&gt;


	&lt;p&gt;jQTouch makes programming for mobile browsers fun! Simple &lt;span class=&quot;caps&quot;&gt;HTML&lt;/span&gt;, CSS, and jQuery Javascript combine to make it easy to build applications for WebKit-based mobile browsers like the iPhone/iPod Touch, Android, and Palm webOS.&lt;/p&gt;


	&lt;p&gt;The framework is sparsely documented, but after watching this 70 minute screencast you&amp;#8217;ll have a firm understanding of how applications are built and how to extend and customize them.&lt;/p&gt;


	&lt;p&gt;This screencast covers:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;jQTouch Intro&lt;/li&gt;
		&lt;li&gt;Architecture&lt;/li&gt;
		&lt;li&gt;Markup&lt;/li&gt;
		&lt;li&gt;Forms&lt;/li&gt;
		&lt;li&gt;Styling&lt;/li&gt;
		&lt;li&gt;Javascript Behavior&lt;/li&gt;
		&lt;li&gt;Full Strength Ajax&lt;/li&gt;
		&lt;li&gt;Offline Caching&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;See the graphic below for a full list of chapters and sub-sections.&lt;/p&gt;


	&lt;p&gt;Available to &lt;a href=&quot;https://peepcode.com/products/unlimited&quot;&gt;PeepCode Unlimited Subscribers&lt;/a&gt; or alone for only US$9!&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/jqtouch-device.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/jqtouch-nav.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/jqtouch-toolbar.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/jqtouch-chapters.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">70</duration>
    <filesize>130 MB</filesize>
    <filesize-ipod>130 MB</filesize-ipod>
    <guid>AMB3D-XgM89</guid>
    <prerequisites>Assumes basic knowledge of jQuery. See our best-selling &quot;jQuery&quot;:https://peepcode.com/products/jquery screencast for a smooth introduction.</prerequisites>
    <preview-url>http://peepcode.com/system/uploads/2009/peepcode-043-jqtouch-preview.mov</preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">4</reviews-count>
    <revision type="integer">1</revision>
    <title>Meet jQTouch</title>
    <updated-at type="datetime">2009-12-29T17:58:32Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/jqtouch</url>
  </product>
  <product>
    <created-at type="datetime">2009-12-22T19:36:25Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-views-i-cover.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;small&gt;Co-authored by Alex Vollmer, author of the &lt;a href=&quot;http://evriverse.evri.com/&quot;&gt;Evri&lt;/a&gt; iPhone app and the &lt;a href=&quot;https://peepcode.com/products/meet-macruby&quot;&gt;PeepCode Screencast on MacRuby&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;


	&lt;p&gt;Whether or not you watched our first &lt;a href=&quot;https://peepcode.com/screencasts/cocoa&quot;&gt;iPhone Screencasts&lt;/a&gt;, you&amp;#8217;ll be able to jump straight into iPhone views in this screencast.&lt;/p&gt;


	&lt;p&gt;We dive deep into the visual controls and displays in the native iPhone &lt;span class=&quot;caps&quot;&gt;SDK&lt;/span&gt;. You&amp;#8217;ll learn how to use buttons, text fields, activity indicators and more.&lt;/p&gt;


	&lt;p&gt;We start with code from an existing project and build on it to post &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt; updates, build custom text input cells, and create custom text views for maximal usability.&lt;/p&gt;


	&lt;p&gt;Unlike other tutorials, you&amp;#8217;ll learn to build a fully-functioning, useful application. And it&amp;#8217;s packed full of the explanatory motion graphics and useful diagrams that you&amp;#8217;ve come to expect from a PeepCode production!&lt;/p&gt;


	&lt;p&gt;This screencast covers:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Cocoa View Basics&lt;/li&gt;
		&lt;li&gt;Built-in Read-only Views&lt;/li&gt;
		&lt;li&gt;Built-in Interactive Controls&lt;/li&gt;
		&lt;li&gt;Visual Text Input Cell Layout&lt;/li&gt;
		&lt;li&gt;Wiring it Together with the Tweet Controller&lt;/li&gt;
		&lt;li&gt;Improving Inputs with a Custom Text View Delegate&lt;/li&gt;
		&lt;li&gt;Creating a Custom Progress Indicator&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;See the graphic below for a full list of chapters and sub-sections.&lt;/p&gt;


	&lt;p&gt;You&amp;#8217;ll do best if you&amp;#8217;ve watched our &lt;a href=&quot;https://peepcode.com/products/objective-c-for-rubyists&quot;&gt;Objective-C&lt;/a&gt; screencast and &lt;a href=&quot;https://peepcode.com/screencasts/cocoa&quot;&gt;iPhone View Controller&lt;/a&gt; screencasts, but they aren&amp;#8217;t required.&lt;/p&gt;


	&lt;p&gt;Available to &lt;a href=&quot;https://peepcode.com/products/unlimited&quot;&gt;PeepCode Unlimited Subscribers&lt;/a&gt; or alone for only US$9!&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-views-i-tweet-controller.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-views-i-subviews.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-views-i-activity.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-views-i-button-state.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-views-i-first-responder.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-views-i-form-cell-reuse.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-views-i-interface-builder-cell.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-views-i-labels.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-views-i-stretchable-image.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-views-i-touch-area.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-views-i-chapters.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">60</duration>
    <filesize>136 MB</filesize>
    <filesize-ipod>145 MB</filesize-ipod>
    <guid>13CsF7-pjA5H</guid>
    <prerequisites>Assumes basic knowledge of the Objective-C programming language and at least an introductory knowledge of iPhone programming (as presented in our other iPhone screencasts).</prerequisites>
    <preview-url>http://peepcode.com/system/uploads/2009/peepcode-042-iphone-views-i-preview.mov</preview-url>
    <release-note>Corrected brief black screen in chapter 7.</release-note>
    <reviews-count type="integer">0</reviews-count>
    <revision type="integer">1</revision>
    <title>iPhone Views I</title>
    <updated-at type="datetime">2009-12-28T17:56:01Z</updated-at>
    <version type="integer">2</version>
    <url>http://peepcode.com/products/iphone-views-i</url>
  </product>
  <product>
    <created-at type="datetime">2009-11-09T16:49:38Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-jquery-cover.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;small&gt;by Geoffrey Grosenbach&lt;/small&gt;&lt;/p&gt;


	&lt;p&gt;Two years in the making, it&amp;#8217;s the PeepCode screencast on jQuery, the popular Javascript framework for developing web applications.&lt;/p&gt;


	&lt;p&gt;jQuery stormed out of the gate and quickly won the hearts of developers. Its design and implementation make it easy for you to accomplish basic tasks. Extendability is built in with its plugin architecture (you&amp;#8217;ll write one in this screencast). You can organize code around native Javascript objects (you&amp;#8217;ll do that, too!).&lt;/p&gt;


	&lt;p&gt;Researching and producing this screencast converted the author from a jQuery skeptic to a believer. If you want to understand the fundamentals in an easy, fun way with the high production values, motion graphics, and straight-to-the-point depth of PeepCode, this is the screencast for you!&lt;/p&gt;


	&lt;p&gt;In addition, you&amp;#8217;ll learn about the &lt;a href=&quot;http://www.pomodorotechnique.com/&quot;&gt;Pomodoro&lt;/a&gt; time managment technique by building a simple time-tracking application.&lt;/p&gt;


	&lt;p&gt;Topics covered in this tutorial include:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;jQuery Core Concepts&lt;/li&gt;
		&lt;li&gt;Browser Tools&lt;/li&gt;
		&lt;li&gt;Brief Javascript Primer&lt;/li&gt;
		&lt;li&gt;The Mighty Dollar Function&lt;/li&gt;
		&lt;li&gt;Selectors&lt;/li&gt;
		&lt;li&gt;Implementing a Pomodoro Task Management Application&lt;/li&gt;
		&lt;li&gt;Design and Write a Plugin&lt;/li&gt;
		&lt;li&gt;Event Handling and live()&lt;/li&gt;
		&lt;li&gt;Using extend()&lt;/li&gt;
		&lt;li&gt;Understanding the &lt;code&gt;this&lt;/code&gt; keyword&lt;/li&gt;
		&lt;li&gt;Using the debugger&lt;/li&gt;
		&lt;li&gt;Code Organization with Javascript Objects&lt;/li&gt;
		&lt;li&gt;Basic Animation&lt;/li&gt;
		&lt;li&gt;Using Timers&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Future screencasts will cover Ajax and Test-Driven Development.&lt;/p&gt;


	&lt;p&gt;&lt;small&gt;With thanks to Paul Ardeleanu and Carlos Rodriguez.&lt;/small&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-jquery-selectors.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-jquery-debugger.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-jquery-dollar.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-jquery-pomodoro.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-jquery-chapters.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">77</duration>
    <filesize>100 MB</filesize>
    <filesize-ipod>100 MB</filesize-ipod>
    <guid>15eF2l-LiYaP</guid>
    <prerequisites>Appropriate for anyone with experience in any programming language.</prerequisites>
    <preview-url>http://peepcode.com/system/uploads/2009/peepcode-jquery-preview-2.mov</preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">4</reviews-count>
    <revision type="integer">1</revision>
    <title>Meet jQuery</title>
    <updated-at type="datetime">2009-11-09T19:47:27Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/jquery</url>
  </product>
  <product>
    <created-at type="datetime">2009-10-15T23:55:20Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/ruby1.9-ii-cover.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;PeepCode has teamed up with Gregg Pollack, Jason Seifer, and David A. Black of Envycasts to provide you with their current library of screencasts!&lt;/p&gt;


	&lt;p&gt;Jump into the future of Ruby with part 2 of this two part series on the distinguishing new features of Ruby 1.9. Topics covered in this 35-minute screencast include:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Block Variables&lt;/li&gt;
		&lt;li&gt;Strings&lt;/li&gt;
		&lt;li&gt;Encoding&lt;/li&gt;
		&lt;li&gt;Object-wide Newness&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Start with &lt;a href=&quot;https://peepcode.com/products/ruby19-i&quot;&gt;Part I&lt;/a&gt; if you haven&amp;#8217;t seen it yet!&lt;/p&gt;


	&lt;p&gt;Available to &lt;a href=&quot;http://peepcode.com/products/unlimited&quot;&gt;PeepCode Unlimited&lt;/a&gt; subscribers, or with your &lt;a href=&quot;http://peepcode.com/products/subscription-pack-of-5&quot;&gt;PeepCode credits&lt;/a&gt;, or as a single purchase for only US$9!&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/ruby1.9-ii-menu.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/ruby1.9-ii-arguments.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/ruby1.9-ii-blocks.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/ruby1.9-ii-object.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">35</duration>
    <filesize>100 MB</filesize>
    <filesize-ipod>100 MB</filesize-ipod>
    <guid>4ojmk-10edez</guid>
    <prerequisites></prerequisites>
    <preview-url></preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">0</reviews-count>
    <revision type="integer">1</revision>
    <title>Ruby 1.9 Part II</title>
    <updated-at type="datetime">2009-10-15T23:55:30Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/ruby19-ii</url>
  </product>
  <product>
    <created-at type="datetime">2009-10-15T23:49:35Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/ruby1.9-i-cover.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;PeepCode has teamed up with Gregg Pollack, Jason Seifer, and David A. Black of Envycasts to provide you with their current library of screencasts!&lt;/p&gt;


	&lt;p&gt;Jump into the future of Ruby with this two part series on the distinguishing new features of Ruby 1.9. Topics covered in this 41-minute screencast include:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Hashes&lt;/li&gt;
		&lt;li&gt;Arrays&lt;/li&gt;
		&lt;li&gt;Symbols&lt;/li&gt;
		&lt;li&gt;Enumerators&lt;/li&gt;
		&lt;li&gt;Enumerable&lt;/li&gt;
		&lt;li&gt;RubyGems&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;&lt;a href=&quot;https://peepcode.com/products/ruby19-ii&quot;&gt;Part II&lt;/a&gt; completes the series and is available now.&lt;/p&gt;


	&lt;p&gt;Available to &lt;a href=&quot;http://peepcode.com/products/unlimited&quot;&gt;PeepCode Unlimited&lt;/a&gt; subscribers, or with your &lt;a href=&quot;http://peepcode.com/products/subscription-pack-of-5&quot;&gt;PeepCode credits&lt;/a&gt;, or as a single purchase for only US$9!&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/ruby1.9-i-menu.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/ruby1.9-i-class.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/ruby1.9-i-proc.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">41</duration>
    <filesize>100 MB</filesize>
    <filesize-ipod>100 MB</filesize-ipod>
    <guid>tWnd4-nIGoB</guid>
    <prerequisites></prerequisites>
    <preview-url></preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">0</reviews-count>
    <revision type="integer">1</revision>
    <title>Ruby 1.9 Part I</title>
    <updated-at type="datetime">2009-10-15T23:54:50Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/ruby19-i</url>
  </product>
  <product>
    <created-at type="datetime">2009-10-12T21:34:52Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/sinatra-cover.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;small&gt;With technical assistance from Sinatra creator &lt;a href=&quot;http://github.com/bmizerany&quot;&gt;Blake Mizerany&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;


	&lt;p&gt;As a developer, you&amp;#8217;re always looking for ways to write faster applications with less code. The Sinatra framework hits a sweet spot for writing small, fast web applications and web services with Ruby.&lt;/p&gt;


	&lt;p&gt;In this 64 minute screencast, Dan Benjamin teaches the basics of Sinatra: configuration, handlers, blocks, and templates. You&amp;#8217;ll master these techniques by writing a simple ad server to manage and deliver images, Javascript, and &lt;span class=&quot;caps&quot;&gt;HTML&lt;/span&gt;. You&amp;#8217;ll enhance the application to track clicks using DataMapper and Sqlite3 to store and manage the data.&lt;/p&gt;


	&lt;p&gt;This screencast is for you whether you&amp;#8217;re a beginning programmer with knowledge of Ruby or an experienced Rails developer looking to explore the Sinatra framework!&lt;/p&gt;


	&lt;p&gt;Chapters include:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Meet Sinatra&lt;/li&gt;
		&lt;li&gt;A Simple App&lt;/li&gt;
		&lt;li&gt;App Structure&lt;/li&gt;
		&lt;li&gt;DataMapper&lt;/li&gt;
		&lt;li&gt;Sqlite3&lt;/li&gt;
		&lt;li&gt;Styling&lt;/li&gt;
		&lt;li&gt;Forms &amp;#38; Interactivity&lt;/li&gt;
		&lt;li&gt;Displaying Ads&lt;/li&gt;
		&lt;li&gt;Tracking Clicks&lt;/li&gt;
		&lt;li&gt;Authentication&lt;/li&gt;
		&lt;li&gt;Deployment&lt;/li&gt;
		&lt;li&gt;Advanced Topics: Haml, Routing, Exceptions, Sinatra::Base, Rack, Heroku&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Available to &lt;a href=&quot;https://peepcode.com/products/unlimited&quot;&gt;PeepCode Unlimited Subscribers&lt;/a&gt; or as a single purchase for only $9!&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/sinatra-routes.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/sinatra-pass.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/sinatra-blocks.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/sinatra-heroku.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/sinatra-list.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/sinatra-chapters.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">64</duration>
    <filesize>100 MB</filesize>
    <filesize-ipod>100 MB</filesize-ipod>
    <guid>7xkhQ-XbL6m</guid>
    <prerequisites>Assumes basic knowledge of the Ruby programming language.</prerequisites>
    <preview-url>http://peepcode.com/system/uploads/2009/peepcode-040-sinatra-preview.mov</preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">5</reviews-count>
    <revision type="integer">1</revision>
    <title>Meet Sinatra</title>
    <updated-at type="datetime">2009-10-20T01:17:58Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/sinatra</url>
  </product>
  <product>
    <created-at type="datetime">2009-09-29T05:49:38Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-ii-cover.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;small&gt;Co-authored by Alex Vollmer, author of the &lt;a href=&quot;http://evriverse.evri.com/&quot;&gt;Evri&lt;/a&gt; iPhone app and the &lt;a href=&quot;https://peepcode.com/products/meet-macruby&quot;&gt;PeepCode Screencast on MacRuby&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;


	&lt;p&gt;Our first iPhone View Controllers screencast (&lt;a href=&quot;https://peepcode.com/products/iphone-view-controllers-part-i&quot;&gt;Part I&lt;/a&gt;) was an instant hit. This screencast completes it and continues the momentum in our new series of iPhone development screencasts.&lt;/p&gt;


	&lt;p&gt;In this tutorial you&amp;#8217;ll become confident using the simple yet powerful table view controller. You&amp;#8217;ll learn about layout, interaction, workflow, capabilities, and tips for working with tables.&lt;/p&gt;


	&lt;p&gt;We go beyond simple usage to show how to use a custom cell that dynamically displays multiline text. And you&amp;#8217;re free to use it in your own projects, too!&lt;/p&gt;


	&lt;p&gt;Rotation and modal controllers are explained with a sample project included. Explanation is enhanced by the informative diagrams and motion graphics you&amp;#8217;re used to seeing at PeepCode.&lt;/p&gt;


	&lt;p&gt;We conclude with a priceless tour of troubleshooting tips that will help you write more reliable applications with much less pain.&lt;/p&gt;


	&lt;p&gt;This 57 minute screencast covers:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Table View Controllers&lt;/li&gt;
		&lt;li&gt;DataSource &amp;#38; Delegate&lt;/li&gt;
		&lt;li&gt;Accessories &amp;#38; Callbacks&lt;/li&gt;
		&lt;li&gt;Reusing Cells&lt;/li&gt;
		&lt;li&gt;Cell Styles&lt;/li&gt;
		&lt;li&gt;Code: Table List Controller&lt;/li&gt;
		&lt;li&gt;Table View Methods&lt;/li&gt;
		&lt;li&gt;Populating the Cell&lt;/li&gt;
		&lt;li&gt;Connecting to the Nib&lt;/li&gt;
		&lt;li&gt;Bonus: &lt;span class=&quot;caps&quot;&gt;KVO&lt;/span&gt; for Cell Images&lt;/li&gt;
		&lt;li&gt;Code: Grouped Table Detail Controller&lt;/li&gt;
		&lt;li&gt;Handling Row Selection&lt;/li&gt;
		&lt;li&gt;Using an Enum&lt;/li&gt;
		&lt;li&gt;The Table Footer View&lt;/li&gt;
		&lt;li&gt;Autoresizing&lt;/li&gt;
		&lt;li&gt;Dynamic Height Cells&lt;/li&gt;
		&lt;li&gt;Using a Custom Cell&lt;/li&gt;
		&lt;li&gt;Device Rotation&lt;/li&gt;
		&lt;li&gt;Presenting Modally&lt;/li&gt;
		&lt;li&gt;Troubleshooting&lt;/li&gt;
		&lt;li&gt;Expect Blood&lt;/li&gt;
		&lt;li&gt;Deploy Early&lt;/li&gt;
		&lt;li&gt;Zombies are your Friends&lt;/li&gt;
		&lt;li&gt;Threading Issues&lt;/li&gt;
		&lt;li&gt;Memory &amp;#38; Instruments&lt;/li&gt;
		&lt;li&gt;Non-Events&lt;/li&gt;
		&lt;li&gt;The Unexpected&lt;/li&gt;
		&lt;li&gt;Performance&lt;/li&gt;
		&lt;li&gt;Clang&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;See the graphic below for a full list of chapters and sub-sections.&lt;/p&gt;


	&lt;p&gt;Available to &lt;a href=&quot;https://peepcode.com/products/unlimited&quot;&gt;PeepCode Unlimited Subscribers&lt;/a&gt; or alone for only US$9!&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-ii-datasource.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-ii-enum-table.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-ii-landscape.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-ii-accessory-view.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-ii-clang.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-ii-custom-cell.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-ii-datasource-delegate.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-ii-enum.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-ii-modal.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-ii-orientation.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-ii-springs-struts.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-ii-chapters.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;small&gt;Uses icons by Joseph Wain / &lt;a href=&quot;http://glyphish.com&quot;&gt;glyphish.com&lt;/a&gt; and the &lt;a href=&quot;http://labratrevenge.com/httpriot/&quot;&gt;HTTPRiot &lt;span class=&quot;caps&quot;&gt;REST&lt;/span&gt; library&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;</description-html>
    <duration type="integer">57</duration>
    <filesize>100 MB</filesize>
    <filesize-ipod>100 MB</filesize-ipod>
    <guid>aacPe-YL7Gd</guid>
    <prerequisites>Assumes basic knowledge of the Objective-C programming language. Part I in this series is also recommended.</prerequisites>
    <preview-url>http://peepcode.com/system/uploads/2009/peepcode-039-iphone-view-controllers-ii-preview.mov</preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">1</reviews-count>
    <revision type="integer">1</revision>
    <title>iPhone View Controllers Part II</title>
    <updated-at type="datetime">2009-09-29T17:46:07Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/iphone-view-controllers-part-ii</url>
  </product>
  <product>
    <created-at type="datetime">2009-09-15T02:57:32Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-cover.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;small&gt;Co-authored by Alex Vollmer, author of the &lt;a href=&quot;http://evriverse.evri.com/&quot;&gt;Evri&lt;/a&gt; iPhone app and the &lt;a href=&quot;https://peepcode.com/products/meet-macruby&quot;&gt;PeepCode Screencast on MacRuby&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;


	&lt;p&gt;After months of production and over a year of anticipation, it&amp;#8217;s the first PeepCode Screencast on native iPhone application development!&lt;/p&gt;


	&lt;p&gt;The iPhone is possibly the most revolutionary computer device of the last few years. The good news is you can learn to write native applications for it!&lt;/p&gt;


	&lt;p&gt;Programming applications for the iPhone is radically different from writing web applications, but we&amp;#8217;ll take you through both the high-level concepts and the line-by-line code to understand it. While many tutorials show only fragmentary examples or trivial applications, we&amp;#8217;ll walk through a visual news application that fetches data from a web service and displays it with both custom and stock views.&lt;/p&gt;


	&lt;p&gt;This 78 minute screencast covers:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Conceptual Overview&lt;/li&gt;
		&lt;li&gt;View Controller Basics&lt;/li&gt;
		&lt;li&gt;Callbacks&lt;/li&gt;
		&lt;li&gt;Code: Setup&lt;/li&gt;
		&lt;li&gt;Tab Bar Controller Concepts&lt;/li&gt;
		&lt;li&gt;Code: Tab Bar Controller&lt;/li&gt;
		&lt;li&gt;Navigation Controller Concepts&lt;/li&gt;
		&lt;li&gt;Code: Thumbnail Navigation Controller&lt;/li&gt;
		&lt;li&gt;Code: Web View Controller&lt;/li&gt;
		&lt;li&gt;To Be Continued&amp;#8230;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;See the graphic below for a full list of chapters and sub-sections.&lt;/p&gt;


	&lt;p&gt;You&amp;#8217;ll do best if you&amp;#8217;ve watched our &lt;a href=&quot;https://peepcode.com/products/objective-c-for-rubyists&quot;&gt;Objective-C&lt;/a&gt; screencast first.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://peepcode.com/products/iphone-view-controllers-part-ii&quot;&gt;Part II&lt;/a&gt; is now available!&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;Available to &lt;a href=&quot;https://peepcode.com/products/unlimited&quot;&gt;PeepCode Unlimited Subscribers&lt;/a&gt; or alone for only US$9!&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-memory.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-view-controllers.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-task.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-subviews.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-landscape.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-goals.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-events.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/iphone-chapters.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;small&gt;Uses icons by Joseph Wain / &lt;a href=&quot;http://glyphish.com&quot;&gt;glyphish.com&lt;/a&gt; and the &lt;a href=&quot;http://labratrevenge.com/httpriot/&quot;&gt;HTTPRiot &lt;span class=&quot;caps&quot;&gt;REST&lt;/span&gt; library&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;</description-html>
    <duration type="integer">78</duration>
    <filesize>100 MB</filesize>
    <filesize-ipod>100 MB</filesize-ipod>
    <guid>M1kEt-CRDWJ</guid>
    <prerequisites>Assumes basic knowledge of the Objective-C programming language.</prerequisites>
    <preview-url>http://peepcode.com/system/uploads/2009/peepcode-038-iphone-view-controllers-i-preview.mov</preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">1</reviews-count>
    <revision type="integer">1</revision>
    <title>iPhone View Controllers Part I</title>
    <updated-at type="datetime">2009-09-29T06:03:21Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/iphone-view-controllers-part-i</url>
  </product>
  <product>
    <created-at type="datetime">2009-09-02T08:03:22Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/envycasts-scaling-title.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;PeepCode has teamed up with Gregg Pollack and Jason Seifer of Envycasts to provide you with their current library of screencasts!&lt;/p&gt;


	&lt;p&gt;Learn how to write faster Ruby applications and gain a deeper understanding of what it takes to scale Ruby. Topics covered:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Processes &amp;#38; Threads&lt;/li&gt;
		&lt;li&gt;Green vs Native Threading&lt;/li&gt;
		&lt;li&gt;EventMachine&lt;/li&gt;
		&lt;li&gt;Process Messaging&lt;/li&gt;
		&lt;li&gt;Dropping to C&lt;/li&gt;
		&lt;li&gt;Learning ruby-prof&lt;/li&gt;
		&lt;li&gt;Speeding up Ruby code&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;This 41-minute screencast also comes with a &lt;span class=&quot;caps&quot;&gt;PDF&lt;/span&gt; with further resources to learn more about each topic.&lt;/p&gt;


	&lt;p&gt;Available to &lt;a href=&quot;http://peepcode.com/products/unlimited&quot;&gt;PeepCode Unlimited&lt;/a&gt; subscribers, or with your &lt;a href=&quot;http://peepcode.com/products/subscription-pack-of-5&quot;&gt;PeepCode credits&lt;/a&gt;, or as a single purchase for only US$9!&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/envycasts-scaling-1.png&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://peepcode.com/system/uploads/2009/envycasts-scaling-2.png&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://peepcode.com/system/uploads/2009/envycasts-scaling-3.png&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://peepcode.com/system/uploads/2009/envycasts-scaling-4.png&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://peepcode.com/system/uploads/2009/envycasts-scaling-5.png&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://peepcode.com/system/uploads/2009/envycasts-scaling-6.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">41</duration>
    <filesize>100 MB</filesize>
    <filesize-ipod>100 MB</filesize-ipod>
    <guid>4jrn-tL4UE</guid>
    <prerequisites></prerequisites>
    <preview-url></preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">0</reviews-count>
    <revision type="integer">1</revision>
    <title>Scaling Ruby</title>
    <updated-at type="datetime">2009-09-02T08:03:42Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/scaling-ruby</url>
  </product>
  <product>
    <created-at type="datetime">2009-09-02T07:52:26Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/envycasts-activerecord-title.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;PeepCode has teamed up with Gregg Pollack and Jason Seifer of Envycasts to provide you with their current library of screencasts!&lt;/p&gt;


	&lt;p&gt;In this EnvyCast you&amp;#8217;ll learn about several advanced features of ActiveRecord, including:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Loading Large Data Sets&lt;/li&gt;
		&lt;li&gt;Foreign Keys&lt;/li&gt;
		&lt;li&gt;Using and Abusing Include&lt;/li&gt;
		&lt;li&gt;Counter Caching Properly&lt;/li&gt;
		&lt;li&gt;Polymorphic Associations&lt;/li&gt;
		&lt;li&gt;Single Table Inheritance&lt;/li&gt;
		&lt;li&gt;New Rails 2.1 Features&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;All this information is packed into 37 minutes. Also includes a handy cheat sheet!&lt;/p&gt;


	&lt;p&gt;Available to &lt;a href=&quot;http://peepcode.com/products/unlimited&quot;&gt;PeepCode Unlimited&lt;/a&gt; subscribers, or with your &lt;a href=&quot;http://peepcode.com/products/subscription-pack-of-5&quot;&gt;PeepCode credits&lt;/a&gt;, or as a single purchase for only US$9!&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/envycasts-activerecord-1.png&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://peepcode.com/system/uploads/2009/envycasts-activerecord-2.png&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://peepcode.com/system/uploads/2009/envycasts-activerecord-3.png&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://peepcode.com/system/uploads/2009/envycasts-activerecord-4.png&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://peepcode.com/system/uploads/2009/envycasts-activerecord-5.png&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;https://peepcode.com/system/uploads/2009/envycasts-activerecord-6.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">37</duration>
    <filesize>100 MB</filesize>
    <filesize-ipod>100 MB</filesize-ipod>
    <guid>FDZn7-cx8lN</guid>
    <prerequisites></prerequisites>
    <preview-url></preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">0</reviews-count>
    <revision type="integer">1</revision>
    <title>Advanced ActiveRecord</title>
    <updated-at type="datetime">2009-09-02T07:52:59Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/advanced-activerecord</url>
  </product>
  <product>
    <created-at type="datetime">2009-08-01T01:52:16Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;http://peepcode.com/system/uploads/2009/peepcode-advanced-command-line-title.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://peepcode.com/products/meet-the-command-line&quot;&gt;Meet the Command Line&lt;/a&gt; is the previous screencast in this series. If you&amp;#8217;re starting out with the command line for the first time, you might want to view it before this one.&lt;/small&gt;&lt;/p&gt;


	&lt;p&gt;If you&amp;#8217;re an open source developer, you probably use the command line frequently. But if you&amp;#8217;re like most developers, you&amp;#8217;ve never taken the time to learn it properly. This screencast filters it down into 40 minutes packed with useful tips and guidelines for getting the most out of the bash shell (with a nod at zsh, too).&lt;/p&gt;


	&lt;p&gt;You&amp;#8217;ll learn to organize your configuration files so you can start building a lifelong collection of useful tools. You&amp;#8217;ll learn to customize your prompt and navigate it like a pro. You&amp;#8217;ll learn shortcuts for reusing previous commands, searching your history, and modifying previous commands before running them again. Aliases and functions will turn monotonous tasks into short, powerful custom commands.&lt;/p&gt;


	&lt;p&gt;Whether you&amp;#8217;re a beginner or an experienced developer, you&amp;#8217;re bound to learn something from this screencast that you can use in your daily workflow.&lt;/p&gt;


	&lt;p&gt;Chapters:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Introduction&lt;/li&gt;
		&lt;li&gt;Organization
	&lt;ul&gt;
	&lt;li&gt;.bashrc&lt;/li&gt;
		&lt;li&gt;Separate files&lt;/li&gt;
		&lt;li&gt;Create links&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
		&lt;li&gt;The Prompt
	&lt;ul&gt;
	&lt;li&gt;Movement&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
		&lt;li&gt;&lt;span class=&quot;caps&quot;&gt;SSH&lt;/span&gt; Config&lt;/li&gt;
		&lt;li&gt;In the Terminal
	&lt;ul&gt;
	&lt;li&gt;Search&lt;/li&gt;
		&lt;li&gt;Lists&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
		&lt;li&gt;Aliases &amp;#38; Functions
	&lt;ul&gt;
	&lt;li&gt;Aliases&lt;/li&gt;
		&lt;li&gt;Ideas&lt;/li&gt;
		&lt;li&gt;Functions&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
		&lt;li&gt;~/bin&lt;/li&gt;
		&lt;li&gt;Mac &lt;span class=&quot;caps&quot;&gt;OS X&lt;/span&gt; Tips
	&lt;ul&gt;
	&lt;li&gt;Copy &amp;#38; Paste&lt;/li&gt;
		&lt;li&gt;Open Terminal&lt;/li&gt;
		&lt;li&gt;LaunchBar&lt;/li&gt;
		&lt;li&gt;Quicksilver&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
		&lt;li&gt;zsh
	&lt;ul&gt;
	&lt;li&gt;Interactive Globbing&lt;/li&gt;
		&lt;li&gt;Spellchecking&lt;/li&gt;
		&lt;li&gt;Built-in Completions&lt;/li&gt;
		&lt;li&gt;Sample Configuration&lt;/li&gt;
		&lt;li&gt;Mac &lt;span class=&quot;caps&quot;&gt;OS X&lt;/span&gt; User Config&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
		&lt;li&gt;Conclusion&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Only $9, or included with all PeepCode Unlimited subscriptions!&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://peepcode.com/system/uploads/2009/peepcode-advanced-command-line-alias.png&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;http://peepcode.com/system/uploads/2009/peepcode-advanced-command-line-back.png&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;http://peepcode.com/system/uploads/2009/peepcode-advanced-command-line-bashrc.png&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;http://peepcode.com/system/uploads/2009/peepcode-advanced-command-line-gg.png&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;http://peepcode.com/system/uploads/2009/peepcode-advanced-command-line-goals.png&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;http://peepcode.com/system/uploads/2009/peepcode-advanced-command-line-prompt.png&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;http://peepcode.com/system/uploads/2009/peepcode-advanced-command-line-menu.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">40</duration>
    <filesize>100 MB</filesize>
    <filesize-ipod>100 MB</filesize-ipod>
    <guid>3GtKQ-p3B8</guid>
    <prerequisites>This screencast assumes basic knowledge of using the command line, as presented in our Meet the Command Line screencast.</prerequisites>
    <preview-url>http://peepcode.com/system/uploads/2009/peepcode-037-advanced-cmd-preview.mov</preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">2</reviews-count>
    <revision type="integer">1</revision>
    <title>Advanced Command Line</title>
    <updated-at type="datetime">2009-08-01T01:52:36Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/advanced-command-line</url>
  </product>
  <product>
    <created-at type="datetime">2009-07-10T03:34:04Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;http://peepcode.com/system/uploads/2009/peepcode-mercurial-title.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;small&gt;Mercurial creator Matt Mackall was the technical editor for this screencast!&lt;/small&gt;&lt;/p&gt;


	&lt;p&gt;Many developers have embraced distributed source code control as a faster, more agile way of managing projects both online and offline.&lt;/p&gt;


	&lt;p&gt;Mercurial is not only fast, it also provides a smooth transition for developers who are already comfortable with Subversion&amp;#8217;s basic command set. And it gives you easy access to common functionality without resorting to cryptic command-line flags. It works well on all major operating systems, including Microsoft Windows.&lt;/p&gt;


	&lt;p&gt;Major projects such as Python and Mozilla use Mercurial. Project hosting options abound, including Google Code, &lt;a href=&quot;http://bitbucket.org&quot;&gt;BitBucket&lt;/a&gt;, and even &lt;a href=&quot;http://github.com&quot;&gt;GitHub&lt;/a&gt; via the experimental hg-git!&lt;/p&gt;


	&lt;p&gt;In this 50 minute screencast, Dan Benjamin draws on years of experience with source code control systems to get you up to speed with Mercurial. In fact, he was so impressed with Mercurial that he converted all his personal projects and is now using it daily.&lt;/p&gt;


	&lt;p&gt;Even if you primarily use Git or another distributed system, this screencast will help you for those times when you want to clone or contribute to a project hosted in Mercurial. And maybe you&amp;#8217;ll even learn some tips to take back to your &lt;span class=&quot;caps&quot;&gt;SCM&lt;/span&gt; of choice!&lt;/p&gt;


	&lt;p&gt;Chapters:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Introduction&lt;/li&gt;
		&lt;li&gt;Configuration&lt;/li&gt;
		&lt;li&gt;Basic Commands
	&lt;ul&gt;
	&lt;li&gt;init&lt;/li&gt;
		&lt;li&gt;ignore&lt;/li&gt;
		&lt;li&gt;add&lt;/li&gt;
		&lt;li&gt;commit&lt;/li&gt;
		&lt;li&gt;remove&lt;/li&gt;
		&lt;li&gt;revert&lt;/li&gt;
		&lt;li&gt;Status Codes&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
		&lt;li&gt;Tags&lt;/li&gt;
		&lt;li&gt;Working Directory&lt;/li&gt;
		&lt;li&gt;Branches
	&lt;ul&gt;
	&lt;li&gt;What&amp;#8217;s a branch?&lt;/li&gt;
		&lt;li&gt;branches&lt;/li&gt;
		&lt;li&gt;parents&lt;/li&gt;
		&lt;li&gt;merge&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
		&lt;li&gt;Shared Repositories
	&lt;ul&gt;
	&lt;li&gt;clone&lt;/li&gt;
		&lt;li&gt;outgoing&lt;/li&gt;
		&lt;li&gt;push&lt;/li&gt;
		&lt;li&gt;update&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
		&lt;li&gt;Centralized Repositories
	&lt;ul&gt;
	&lt;li&gt;.hg/hgrc&lt;/li&gt;
		&lt;li&gt;Repository URLs&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
		&lt;li&gt;Undoing Changes
	&lt;ul&gt;
	&lt;li&gt;revert&lt;/li&gt;
		&lt;li&gt;rollback&lt;/li&gt;
		&lt;li&gt;backout&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
		&lt;li&gt;Migrating to Mercurial&lt;/li&gt;
		&lt;li&gt;Conclusion&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Only $9 for a limited time, or included with all &lt;a href=&quot;http://peepcode.com/products/unlimited&quot;&gt;PeepCode Unlimited&lt;/a&gt; subscriptions!&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://peepcode.com/system/uploads/2009/peepcode-mercurial-heads.png&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;http://peepcode.com/system/uploads/2009/peepcode-mercurial-status.png&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;http://peepcode.com/system/uploads/2009/peepcode-mercurial-branch.png&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;http://peepcode.com/system/uploads/2009/peepcode-mercurial-tip.png&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;http://peepcode.com/system/uploads/2009/peepcode-mercurial-update.png&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;http://peepcode.com/system/uploads/2009/peepcode-mercurial-urls.png&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;http://peepcode.com/system/uploads/2009/peepcode-mercurial-chapters.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">53</duration>
    <filesize>100 MB</filesize>
    <filesize-ipod>100 MB</filesize-ipod>
    <guid>1SU6f-IvrKw</guid>
    <prerequisites>Assumes basic knowledge of the command line. Useful for developers of all programming languages.</prerequisites>
    <preview-url>http://peepcode.com/system/uploads/2009/peepcode-036-mercurial-preview.mov</preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">7</reviews-count>
    <revision type="integer">1</revision>
    <title>Meet Mercurial</title>
    <updated-at type="datetime">2009-07-10T15:26:07Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/meet-mercurial</url>
  </product>
  <product>
    <created-at type="datetime">2009-05-28T16:47:58Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-command-line-title.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;small&gt;by &lt;a href=&quot;http://hivelogic.com/&quot;&gt;Dan Benjamin&lt;/a&gt;, System Developer of &lt;a href=&quot;http://www.alistapart.com&quot;&gt;A List Apart&lt;/a&gt;.&lt;br /&gt;Bonus &lt;span class=&quot;caps&quot;&gt;PDF&lt;/span&gt; by Casimir Saternos.&lt;/small&gt;&lt;/p&gt;


	&lt;p&gt;This screencast is for you if you&amp;#8217;ve never used the Unix command line, or are learning it for the first time. (If you have, skip ahead to &lt;a href=&quot;https://peepcode.com/products/advanced-command-line&quot;&gt;Advanced Command Line&lt;/a&gt;).&lt;/p&gt;


	&lt;p&gt;Navigating a text-based terminal can be intimidating at first, but experienced developer and systems administrator Dan Benjamin introduces it smoothly one concept at a time whether you&amp;#8217;re currently using Windows, Mac &lt;span class=&quot;caps&quot;&gt;OS X&lt;/span&gt;, or Linux.&lt;/p&gt;


	&lt;p&gt;In this 70 minute screencast you&amp;#8217;ll learn about the basic assumptions of Unix, how to look for help, and how to confidently work with files, directories, and programs. Also included is a bonus 60 page &lt;span class=&quot;caps&quot;&gt;PDF&lt;/span&gt; reference guide!&lt;/p&gt;


	&lt;p&gt;This screencast covers:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;The Unix OS&lt;/li&gt;
		&lt;li&gt;Tips &amp;#38; Gotchas&lt;/li&gt;
		&lt;li&gt;Getting Help&lt;/li&gt;
		&lt;li&gt;Terminal Clients&lt;/li&gt;
		&lt;li&gt;Downloading the Samples&lt;/li&gt;
		&lt;li&gt;Installing the Developer Tools&lt;/li&gt;
		&lt;li&gt;Elements of the Prompt&lt;/li&gt;
		&lt;li&gt;File Paths&lt;/li&gt;
		&lt;li&gt;Arguments &amp;#38; Flags&lt;/li&gt;
		&lt;li&gt;Listing Files&lt;/li&gt;
		&lt;li&gt;Changing Directories&lt;/li&gt;
		&lt;li&gt;Pipes &amp;#38; Redirection&lt;/li&gt;
		&lt;li&gt;Archiving &amp;#38; Compression&lt;/li&gt;
		&lt;li&gt;Delete, Copy, Move&lt;/li&gt;
		&lt;li&gt;Managing Directories&lt;/li&gt;
		&lt;li&gt;The Superuser&lt;/li&gt;
		&lt;li&gt;Permissions&lt;/li&gt;
		&lt;li&gt;Remote Control&lt;/li&gt;
		&lt;li&gt;Transferring Files&lt;/li&gt;
		&lt;li&gt;Conclusion&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Most PeepCode screencasts assume that you know how to navigate the filesystem and issue commands. Most open source projects such as Ruby on Rails require similar knowledge as well. Watching this screencast will equip you to operate the command line confidently!&lt;/p&gt;


	&lt;p&gt;&lt;small&gt;A future screencast in this series will cover more advanced command line topics for experienced developers.&lt;/small&gt;&lt;/p&gt;


	&lt;p&gt;Available to &lt;a href=&quot;https://peepcode.com/products/unlimited&quot;&gt;PeepCode Unlimited Subscribers&lt;/a&gt; or alone for only US$9!&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-command-line-user.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-command-line-prompt.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-command-line-learn.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-command-line-tree.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-command-line-files.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-command-line-help.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-command-line-chapters.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">73</duration>
    <filesize>176 MB</filesize>
    <filesize-ipod>150 MB</filesize-ipod>
    <guid>9WOj3-5KWy9</guid>
    <prerequisites>Suitable for anyone! No previous knowledge required.</prerequisites>
    <preview-url>http://peepcode.com/system/uploads/2009/peepcode-034-cmdline-preview.mov</preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">4</reviews-count>
    <revision type="integer">1</revision>
    <title>Meet the Command Line</title>
    <updated-at type="datetime">2009-08-11T22:58:49Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/meet-the-command-line</url>
  </product>
  <product>
    <created-at type="datetime">2009-05-19T15:53:42Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/macruby-title.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;small&gt;by &lt;a href=&quot;http://alexvollmer.com/&quot;&gt;Alex Vollmer&lt;/a&gt; and &lt;a href=&quot;http://nubyonrails.com&quot;&gt;Geoffrey Grosenbach&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;&lt;span class=&quot;caps&quot;&gt;NOTE&lt;/span&gt;&lt;/strong&gt;: Now works with Snow Leopard! Requires &lt;a href=&quot;http://macruby.icoretech.org/&quot;&gt;nightly build&lt;/a&gt; and &lt;a href=&quot;http://github.com/peepcode/peepcode-035-macruby/commit/a90ced6e5ee35d1927e63f150e803e751a558839&quot;&gt;a minor code change&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;MacRuby takes the &amp;#8220;almost&amp;#8221; out of &amp;#8220;almost a desktop experience.&amp;#8221; With MacRuby, you can write real Mac &lt;span class=&quot;caps&quot;&gt;OS X&lt;/span&gt; desktop applications with Ruby.&lt;/p&gt;


	&lt;p&gt;MacRuby is a Ruby interpreter built by Apple on top of Objective-C. Unlike other scripting interfaces to the Cocoa frameworks, MacRuby objects are fully functional peers of Objective-C objects with no translation layer. This means that your Ruby applications can do almost anything a compiled application could do, and at near-native speed.&lt;/p&gt;


	&lt;p&gt;You&amp;#8217;ll build a functional Twitter client from scratch, learning about both Cocoa and MacRuby along the way. You&amp;#8217;ll design an application graphically with Interface Builder and learn about the major design patterns in Cocoa applications. You&amp;#8217;ll work with network resources, parse &lt;span class=&quot;caps&quot;&gt;XML&lt;/span&gt;, and &lt;span class=&quot;caps&quot;&gt;POST&lt;/span&gt; data back to the server so you&amp;#8217;ll be ready to write your own web-enabled desktop applications.&lt;/p&gt;


	&lt;p&gt;This screencast covers&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;What is MacRuby?&lt;/li&gt;
		&lt;li&gt;The basic syntax of MacRuby&lt;/li&gt;
		&lt;li&gt;What you need to know about Objective-C to write MacRuby apps&lt;/li&gt;
		&lt;li&gt;Building a basic application&lt;/li&gt;
		&lt;li&gt;How to learn Cocoa and read the documentation&lt;/li&gt;
		&lt;li&gt;Submitting network credentials with &lt;span class=&quot;caps&quot;&gt;HTTP&lt;/span&gt; Basic Auth&lt;/li&gt;
		&lt;li&gt;Designing with concurrency in mind and avoiding the spinning beachball of death&lt;/li&gt;
		&lt;li&gt;Displaying tweets in a table view&lt;/li&gt;
		&lt;li&gt;One-step authentication&lt;/li&gt;
		&lt;li&gt;Reloading tweets&lt;/li&gt;
		&lt;li&gt;Posting to a &lt;span class=&quot;caps&quot;&gt;REST&lt;/span&gt;-based web service&lt;/li&gt;
		&lt;li&gt;Packaging the Application&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Watching this screencast will give you a head start toward becoming familiar and confident with programming Cocoa applications on the Mac with Ruby!&lt;/p&gt;


	&lt;p&gt;&lt;small&gt;A future screencast in this series will cover the still-in-development HotCocoa frameworks for MacRuby.&lt;/small&gt;&lt;/p&gt;


	&lt;p&gt;Available to &lt;a href=&quot;https://peepcode.com/products/unlimited&quot;&gt;PeepCode Unlimited Subscribers&lt;/a&gt; or alone for only US$9!&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/macruby-features.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/macruby-sizing.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/macruby-table.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/macruby-classes.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/macruby-cocoa.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/macruby-delegates.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/macruby-point.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/macruby-toc.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">73</duration>
    <filesize>188 MB</filesize>
    <filesize-ipod>159 MB</filesize-ipod>
    <guid>nlrsd-gG1rG</guid>
    <prerequisites>Assumes basic knowledge of Ruby. MacRuby currently runs on Mac OS X only.</prerequisites>
    <preview-url>http://peepcode.com/system/uploads/2009/peepcode-macruby-preview.mov</preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">2</reviews-count>
    <revision type="integer">1</revision>
    <title>Meet MacRuby</title>
    <updated-at type="datetime">2009-11-09T22:19:41Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/meet-macruby</url>
  </product>
  <product>
    <created-at type="datetime">2009-04-24T01:36:01Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-clojure-title.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;small&gt;By Phil Hagelberg. Technical editing by Clojure creator Rich Hickey&lt;/small&gt;&lt;/p&gt;


	&lt;p&gt;&lt;a href=&quot;http://clojure.org/&quot;&gt;Clojure&lt;/a&gt; is a dynamic functional programming language designed to be as approachable as scripting languages, yet harness the power of multi-core machines in the manner of more cryptic languages such as Erlang.&lt;/p&gt;


	&lt;p&gt;In this 65 minute screencast, Clojure expert Phil Hagelberg walks through the stages of building a multi-user text adventure game (&lt;a href=&quot;http://github.com/technomancy/mire/tree/master&quot;&gt;code available&lt;/a&gt;). It&amp;#8217;s the perfect project to learn about the basics of Clojure while having a fun time doing it, too!&lt;/p&gt;


	&lt;p&gt;You&amp;#8217;ll learn:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;The basic concepts and syntax of Clojure&lt;/li&gt;
		&lt;li&gt;How to write a basic multi-threaded echo server&lt;/li&gt;
		&lt;li&gt;How to use the basic data structures, including thread-safety&lt;/li&gt;
		&lt;li&gt;How to optimize with lazy collections&lt;/li&gt;
		&lt;li&gt;Coordinating data across threads&lt;/li&gt;
		&lt;li&gt;Unit testing&lt;/li&gt;
		&lt;li&gt;Common idioms&lt;/li&gt;
		&lt;li&gt;Packaging and release of your project&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;You&amp;#8217;ve heard about functional programming. You want to write efficient programs that maximize current hardware. This screencast is the place to start! You&amp;#8217;ll also learn about Lisp, one of the foundational programming languages of the modern computer era.&lt;/p&gt;


	&lt;p&gt;In addition, this screencast is the first to use a brand new post-production workflow from PeepCode, featuring informative motion graphics and animated diagrams! Check out the &lt;a href=&quot;http://peepcode.com/system/uploads/2009/peepcode-clojure-preview.mov&quot;&gt;preview&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Available to &lt;a href=&quot;https://peepcode.com/products/unlimited&quot;&gt;PeepCode Unlimited Subscribers&lt;/a&gt; or as a single purchase for only US$9!&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-clojure-grue.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-clojure-data-types.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-clojure-impure.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-clojure-defaults.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-clojure-reduce.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-clojure-toc.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">65</duration>
    <filesize>125 MB</filesize>
    <filesize-ipod>125 MB</filesize-ipod>
    <guid>q9ztw-Bp2q4</guid>
    <prerequisites>If you have used any programming language at all, you'll be able to learn from this screencast.</prerequisites>
    <preview-url>http://peepcode.com/system/uploads/2009/peepcode-clojure-preview.mov</preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">6</reviews-count>
    <revision type="integer">1</revision>
    <title>Functional Programming with Clojure</title>
    <updated-at type="datetime">2009-07-27T23:28:06Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/functional-programming-with-clojure</url>
  </product>
  <product>
    <created-at type="datetime">2009-03-27T21:03:24Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/pro-screencasting-title.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Screencasts are a great way to promote your product, educate your customers, or teach your co-workers. A screencast of your desktop, iPhone, or web-based product can quickly convince people to signup for an account or purchase a copy. They&amp;#8217;re also a great way to promote your skills online as part of a screencast blog.&lt;/p&gt;


	&lt;p&gt;This 56 minute video reveals deep secrets learned over nearly 3 years of publishing PeepCode screencasts. You&amp;#8217;ll learn the bare basics of Apple&amp;#8217;s Final Cut Pro video editor so you can edit and export high quality screencasts.&lt;/p&gt;


	&lt;p&gt;It also presents scripts and other techniques for staging your screencast and getting consistent results every time.&lt;/p&gt;


	&lt;p&gt;Chapters include:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Intro&lt;/li&gt;
		&lt;li&gt;Plan: Directories&lt;/li&gt;
		&lt;li&gt;Record: Placement, Capture&lt;/li&gt;
		&lt;li&gt;Window &amp;#38; Title Scripts&lt;/li&gt;
		&lt;li&gt;Static and Movie Export&lt;/li&gt;
		&lt;li&gt;Edit: Preferences, Session, Speed, Freeze Frame, Watermarking&lt;/li&gt;
		&lt;li&gt;Audio: Equipment, Post-Production, Export&lt;/li&gt;
		&lt;li&gt;Export: Quicktime, Compressor, Multi-core&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Available to &lt;a href=&quot;https://peepcode.com/products/unlimited&quot;&gt;PeepCode Unlimited Subscribers&lt;/a&gt; or as a single purchase for only US$9!&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/pro-screencasting-chapters.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/pro-screencasting-plan.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/pro-screencasting-export.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/pro-screencasting-prefs.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/pro-screencasting-batch.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/pro-screencasting-toc.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">56</duration>
    <filesize>100 MB</filesize>
    <filesize-ipod>100 MB</filesize-ipod>
    <guid>TQMhs-Oy0U2</guid>
    <prerequisites></prerequisites>
    <preview-url>http://peepcode.com/system/uploads/2009/peepcode-032-pro-screencasting-preview.mov</preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">1</reviews-count>
    <revision type="integer">1</revision>
    <title>Screencasting with Final Cut Pro</title>
    <updated-at type="datetime">2009-03-27T21:04:55Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/screencast-with-final-cut-pro</url>
  </product>
  <product>
    <created-at type="datetime">2009-03-18T02:57:37Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-031-email-a.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;small&gt;By Lars Pinds of &lt;a href=&quot;http://coachtvblog.com/&quot;&gt;CoachTVBlog&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;


	&lt;p&gt;Email is both an indispensable and an inescapable part of our lives. Yet most of us either feel dread when checking email, or we use email as a distraction from more important tasks.&lt;/p&gt;


	&lt;p&gt;In this 45 minute presentation, accomplished entrepreneur and life coach Lars Pind presents a system that he has developed and taught to many people over several years. It combines ideas from &lt;span class=&quot;caps&quot;&gt;GTD&lt;/span&gt; and Inbox Zero and adds other concrete strategies for facing up to your email and attacking it with a consistent plan.&lt;/p&gt;


	&lt;p&gt;If you don&amp;#8217;t have an email strategy, if you feel bogged down by the amount of email in your inbox, or if you want a better solution, help is on the way! View this screencast today and regain control of your email inbox!&lt;/p&gt;


	&lt;p&gt;Chapters include:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Why? &lt;/li&gt;
		&lt;li&gt;About the system&lt;/li&gt;
		&lt;li&gt;Principles&lt;/li&gt;
		&lt;li&gt;A scheduled activity&lt;/li&gt;
		&lt;li&gt;Making the change&lt;/li&gt;
		&lt;li&gt;Breaking the Addiction&lt;/li&gt;
		&lt;li&gt;An exercise&lt;/li&gt;
		&lt;li&gt;The Folders&lt;/li&gt;
		&lt;li&gt;Checking email&lt;/li&gt;
		&lt;li&gt;Gmail Tips&lt;/li&gt;
		&lt;li&gt;A typical session&lt;/li&gt;
		&lt;li&gt;Filters&lt;/li&gt;
		&lt;li&gt;Now What?&lt;/li&gt;
		&lt;li&gt;The other folders&lt;/li&gt;
		&lt;li&gt;Getting Started&lt;/li&gt;
		&lt;li&gt;That&amp;#8217;s it!&lt;/li&gt;
		&lt;li&gt;Sticking to it&lt;/li&gt;
		&lt;li&gt;Summary&lt;/li&gt;
		&lt;li&gt;Next steps&lt;/li&gt;
		&lt;li&gt;Conclusion&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Available to &lt;a href=&quot;https://peepcode.com/products/unlimited&quot;&gt;PeepCode Unlimited Subscribers&lt;/a&gt; or as a single purchase for only US$9!&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-031-email-b.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-031-email-c.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-031-email-d.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-031-email-e.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-031-email-f.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-031-email-toc.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">45</duration>
    <filesize>151 MB</filesize>
    <filesize-ipod>151 MB</filesize-ipod>
    <guid>AHlxH-RzlSF</guid>
    <prerequisites></prerequisites>
    <preview-url>http://peepcode.com/system/uploads/2009/peepcode-031-email-preview.mov</preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">0</reviews-count>
    <revision type="integer">1</revision>
    <title>Control Your Email Inbox</title>
    <updated-at type="datetime">2009-03-20T17:54:07Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/email</url>
  </product>
  <product>
    <created-at type="datetime">2009-02-11T08:28:17Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-objective-c-title.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;small&gt;Technical editing by Scott Stevenson of &lt;a href=&quot;http://cocoadevcentral.com&quot;&gt;CocoaDevCentral&lt;/a&gt; and &lt;a href=&quot;http://theocacao.com/&quot;&gt;Theocacao&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;


	&lt;p&gt;If you know Ruby and you want to write applications for Mac &lt;span class=&quot;caps&quot;&gt;OS X&lt;/span&gt; or the iPhone, you&amp;#8217;re in a great place to start! This concise and content-packed 80-minute screencast will teach you what you need to know to start programming in Objective-C.&lt;/p&gt;


	&lt;p&gt;Objective-C and Ruby both share many features, thanks to their shared inspirations from Smalltalk. You can use your knowledge of Ruby (or even Python) to understand many of the core concepts of Objective-C. This screencast also covers crucial concepts that are not part of Ruby, such as memory management and the extensive use of the delegate pattern.&lt;/p&gt;


	&lt;p&gt;Better yet, you&amp;#8217;ll learn how to do Test-Driven Development in Objective-C as you learn the language!&lt;/p&gt;


	&lt;p&gt;This screencast covers&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Using Xcode or TextMate as an editor&lt;/li&gt;
		&lt;li&gt;Setting up your test environment&lt;/li&gt;
		&lt;li&gt;Basic syntax&lt;/li&gt;
		&lt;li&gt;Working with objects&lt;/li&gt;
		&lt;li&gt;Creating custom objects&lt;/li&gt;
		&lt;li&gt;Working with network resources&lt;/li&gt;
		&lt;li&gt;Adding functionality with categories&lt;/li&gt;
		&lt;li&gt;Understanding the delegate&lt;/li&gt;
		&lt;li&gt;Working with memory&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Whether you&amp;#8217;re planning to write applications for the iPhone or just want to see if you can do it (you can!), this is the screencast for you.&lt;/p&gt;


	&lt;p&gt;Available to &lt;a href=&quot;https://peepcode.com/products/unlimited&quot;&gt;PeepCode Unlimited Subscribers&lt;/a&gt; or alone for only US$9!&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-objective-c-headers.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-objective-c-delegate.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-objective-c-key-value-coding.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-objective-c-memory.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/peepcode-objective-c-methods.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/objective-c-toc.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">80</duration>
    <filesize>100 MB</filesize>
    <filesize-ipod>100 MB</filesize-ipod>
    <guid>QElFr-Q9IGG</guid>
    <prerequisites>Assumes basic knowledge of programming in Ruby (or Python).</prerequisites>
    <preview-url>http://peepcode.com/system/uploads/2009/peepcode-objective-c-preview.mov</preview-url>
    <release-note>First release</release-note>
    <reviews-count type="integer">4</reviews-count>
    <revision type="integer">1</revision>
    <title>Objective-C for Rubyists</title>
    <updated-at type="datetime">2009-11-20T03:50:55Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/objective-c-for-rubyists</url>
  </product>
  <product>
    <created-at type="datetime">2009-01-13T01:41:42Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/haml-cover.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;a href=&quot;http://haml.hamptoncatlin.com/&quot;&gt;Haml&lt;/a&gt; blesses those who use it with freedom from the verbosity of &lt;span class=&quot;caps&quot;&gt;HTML&lt;/span&gt; and from the banality of un-programmable &lt;span class=&quot;caps&quot;&gt;CSS&lt;/span&gt;. You can get straight to work thinking about your code instead of trudging through the boilerplate of angle brackets and closing tags.&lt;/p&gt;


	&lt;p&gt;With Sass your &lt;span class=&quot;caps&quot;&gt;CSS&lt;/span&gt; becomes smart. Much, much smarter.&lt;/p&gt;


	&lt;p&gt;Since its initial release in 2007, the Haml templating library has been adopted by increasing numbers of high profile consultancies (&lt;a href=&quot;http://unspace.ca/&quot;&gt;Unspace&lt;/a&gt;, &lt;a href=&quot;http://blog.obiefernandez.com/content/2008/01/are-you-using-h.html&quot;&gt;Hashrocket&lt;/a&gt;) and Ruby frameworks (Rails, Merb, Sinatra). It&amp;#8217;s even been ported to &lt;a href=&quot;http://en.wikipedia.org/wiki/PHAML&quot;&gt;&lt;span class=&quot;caps&quot;&gt;PHP&lt;/span&gt;&lt;/a&gt; and &lt;a href=&quot;http://lucumr.pocoo.org/2008/2/15/ghrml-haml-for-genshi&quot;&gt;Python&lt;/a&gt;!&lt;/p&gt;


	&lt;p&gt;This hour long screencast will get you up and running with both Haml and Sass. You&amp;#8217;ll learn:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;The basic philosophy and elements of Haml&lt;/li&gt;
		&lt;li&gt;Common errors, constraints, and workarounds&lt;/li&gt;
		&lt;li&gt;How to use Haml alone or with a web framework&lt;/li&gt;
		&lt;li&gt;How to generate &lt;span class=&quot;caps&quot;&gt;XML&lt;/span&gt; much more quickly than &lt;span class=&quot;caps&quot;&gt;XML&lt;/span&gt; Builder&lt;/li&gt;
		&lt;li&gt;Integration with Rails (and even Sinatra for prototyping)&lt;/li&gt;
		&lt;li&gt;The ideas and capabilities of Sass stylesheets&lt;/li&gt;
		&lt;li&gt;Advanced and upcoming features of Sass&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Whether you&amp;#8217;re planning to use Haml or just want to learn about a new perspective on generating &lt;span class=&quot;caps&quot;&gt;HTML&lt;/span&gt;, XML, and &lt;span class=&quot;caps&quot;&gt;CSS&lt;/span&gt;, this is the screencast for you. It&amp;#8217;s also a great way to show a co-worker or friend how easy it is to use Haml!&lt;/p&gt;


	&lt;p&gt;Available to &lt;a href=&quot;https://peepcode.com/products/unlimited&quot;&gt;PeepCode Unlimited Subscribers&lt;/a&gt; or alone for only US$9!&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/haml-slide.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/haml-css.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/haml-code.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2009/haml-menu.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">58</duration>
    <filesize>60 MB</filesize>
    <filesize-ipod>60 MB</filesize-ipod>
    <guid>WUAuK-qRZnk</guid>
    <prerequisites>Suitable for any and all web developers! Simple snippets of HTML, CSS, and Ruby are used.</prerequisites>
    <preview-url>http://peepcode.com/system/uploads/2009/peepcode-028-haml-sample.mov</preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">1</reviews-count>
    <revision type="integer">1</revision>
    <title>Haml and Sass</title>
    <updated-at type="datetime">2009-03-20T17:54:51Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/haml-and-sass</url>
  </product>
  <product>
    <created-at type="datetime">2008-12-23T02:38:21Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2008/emacs-cover.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;The classic &lt;a href=&quot;http://www.gnu.org/software/emacs/&quot;&gt;Gnu Emacs&lt;/a&gt; text editor is an incredibly powerful piece of software that has been used by thousands of programmers over the last few decades. Many alpha geeks have recently been giving Emacs a second look as well.&lt;/p&gt;


	&lt;p&gt;Emacs Lisp expert &lt;a href=&quot;http://technomancy.us/&quot;&gt;Phil Hagelberg&lt;/a&gt; prepared the script and accompanying code for this screencast. You&amp;#8217;ll learn how to get comfortable with his &lt;a href=&quot;http://github.com/technomancy/emacs-starter-kit/tree/master&quot;&gt;Emacs Starter Kit&lt;/a&gt; which includes a suite of sensible defaults and handy shortcuts. In addition to learning about the basic philosophies and approach of Emacs, you&amp;#8217;ll learn how to:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Get and install emacs for your platform.&lt;/li&gt;
		&lt;li&gt;Operate the various key sequences.&lt;/li&gt;
		&lt;li&gt;Use the built in version control and Git-specific features.&lt;/li&gt;
		&lt;li&gt;Take advantage of code completion and linking.&lt;/li&gt;
		&lt;li&gt;Customize your setup with key bindings, color themes, and third-party libraries.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Whether you&amp;#8217;re looking at Emacs for fulltime development or just want to be comfortable with a terminal-based text editor for remote deployment and debugging, this screencast will get you there. You may even find that learning the basics of Emacs helps you to be more efficient in your editor of choice since many text editors and web apps (such as &lt;a href=&quot;http://macromates.com&quot;&gt;TextMate&lt;/a&gt;, &lt;a href=&quot;http://gmail.com&quot;&gt;Gmail&lt;/a&gt;, and various terminals) implement Emacs key bindings.&lt;/p&gt;


	&lt;p&gt;Available to &lt;a href=&quot;https://peepcode.com/products/unlimited&quot;&gt;PeepCode Unlimited Subscribers&lt;/a&gt; or alone for only US$9!&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2008/emacs-movement.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2008/emacs-magit.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2008/emacs-commit.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2008/emacs-toc.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">60</duration>
    <filesize>78 MB</filesize>
    <filesize-ipod>100 MB</filesize-ipod>
    <guid>FalOm-Jryyv</guid>
    <prerequisites>The concepts presented should be accessible to anyone with basic programming experience in any programming language.</prerequisites>
    <preview-url>http://peepcode.com/system/uploads/2008/peepcode-027-emacs-preview.mov</preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">6</reviews-count>
    <revision type="integer">1</revision>
    <title>Meet Emacs</title>
    <updated-at type="datetime">2008-12-26T19:01:52Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/meet-emacs</url>
  </product>
  <product>
    <created-at type="datetime">2008-11-25T21:46:32Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2008/productivity-cover.jpg&quot; title=&quot;Productivity for Programmers&quot; alt=&quot;Productivity for Programmers&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Productivity. You know you want it, but how do you get there?&lt;/p&gt;


	&lt;p&gt;We&amp;#8217;ve collaborated with accomplished entrepreneur, developer, and life coach &lt;a href=&quot;http://pinds.com&quot;&gt;Lars Pind&lt;/a&gt; to bring you a practical plan customized for programmers.&lt;/p&gt;


	&lt;p&gt;Programming is hard work that requires creativity, problem solving, and even physical stamina. Over the course of 40 minutes, Lars will teach you how to&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Set achievable, measurable goals&lt;/li&gt;
		&lt;li&gt;Prepare for the work of thinking&lt;/li&gt;
		&lt;li&gt;Achieve focus&lt;/li&gt;
		&lt;li&gt;Find shortcuts&lt;/li&gt;
		&lt;li&gt;Maximize your natural rhythm and energy&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;We&amp;#8217;ve personally benefited from the ideas presented here and we&amp;#8217;re confident that you will, too.&lt;/p&gt;


	&lt;p&gt;Now with 25% more pixels than the competition! Uses a full 1000&amp;#215;600 of screen real estate for easier viewing. Decorated with top quality video footage and beautiful nature photography. Includes a 17 page typed transcript.&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2008/productivity-rest.jpg&quot; title=&quot;Get rest&quot; alt=&quot;Get rest&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2008/productivity-pattern.jpg&quot; title=&quot;A pattern of self-distraction&quot; alt=&quot;A pattern of self-distraction&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2008/productivity-outcome.jpg&quot; title=&quot;What does a well-defined outcome look like?&quot; alt=&quot;What does a well-defined outcome look like?&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2008/productivity-chapters.png&quot; title=&quot;Screencast chapters&quot; alt=&quot;Screencast chapters&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">42</duration>
    <filesize>149 MB</filesize>
    <filesize-ipod>100 MB</filesize-ipod>
    <guid>CENKb-6N1Dl</guid>
    <prerequisites>Appropriate for all programmers, or anyone who wants to think productively.</prerequisites>
    <preview-url>http://peepcode.com/system/uploads/2008/peepcode-026-productivity-preview.mov</preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">2</reviews-count>
    <revision type="integer">1</revision>
    <title>Productivity for Programmers</title>
    <updated-at type="datetime">2009-02-16T20:39:47Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/productivity-for-programmers</url>
  </product>
  <product>
    <created-at type="datetime">2008-10-31T19:26:51Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2008/xmpp-title.png&quot; title=&quot;XMPP&quot; alt=&quot;XMPP&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;small&gt;&lt;p&gt;Technical editing by Joshua Sierles, sysadmin at 37signals.&lt;/p&gt;&lt;p&gt;Content by Geoffrey Grosenbach in collaboration with Casimir Saternos.&lt;/p&gt;&lt;/small&gt;&lt;/p&gt;


	&lt;p&gt;Part of our job at PeepCode is to research new and upcoming technologies that alpha geeks are talking about. &lt;span class=&quot;caps&quot;&gt;XMPP&lt;/span&gt;/Jabber instant messaging has been getting more buzz recently. What is it? What does it do? How can you use it to enhance your applications?&lt;/p&gt;


	&lt;p&gt;&lt;span class=&quot;caps&quot;&gt;XMPP&lt;/span&gt; is an open, real-time instant messaging platform that is useful for sending and receiving notifications between servers and humans. You can use it to receive administrative notifications from your website or to push notifications to subscribers much more efficiently than current poll-based solutions such as &lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt;.&lt;/p&gt;


	&lt;p&gt;After viewing this 48 minute screencast, you&amp;#8217;ll be able to work with &lt;span class=&quot;caps&quot;&gt;XMPP&lt;/span&gt; from Ruby, including:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Connect to a Jabber server&lt;/li&gt;
		&lt;li&gt;Send presence notifications and update the user icon&lt;/li&gt;
		&lt;li&gt;Receive message notifications and friend requests&lt;/li&gt;
		&lt;li&gt;Use DRb (distributed Ruby) together with Jabber to send messages from a Rails application&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Available to all PeepCode Unlimited subscribers, or as a single item for only $9!&lt;/p&gt;


	&lt;p&gt;Now with 25% more pixels than the competition! Uses a full 1000&amp;#215;600 of screen real estate with smoother, high frame rate animations.&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2008/xmpp-what-can-you-do.png&quot; title=&quot;What can you do with XMPP?&quot; alt=&quot;What can you do with XMPP?&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2008/xmpp-message-types.png&quot; title=&quot;XMPP Message types&quot; alt=&quot;XMPP Message types&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2008/xmpp-color.png&quot; title=&quot;Changing the user icon with XMPP&quot; alt=&quot;Changing the user icon with XMPP&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">48</duration>
    <filesize>57 MB</filesize>
    <filesize-ipod>100 MB</filesize-ipod>
    <guid>OS6P7-sg99M</guid>
    <prerequisites>Assumes basic knowledge of Ruby.</prerequisites>
    <preview-url>http://peepcode.com/system/uploads/2008/peepcode-024-xmpp-preview.mov</preview-url>
    <release-note>First release</release-note>
    <reviews-count type="integer">0</reviews-count>
    <revision type="integer">1</revision>
    <title>XMPP/Jabber with Ruby</title>
    <updated-at type="datetime">2009-01-22T16:53:44Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/xmpp</url>
  </product>
  <product>
    <created-at type="datetime">2008-09-23T05:33:48Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2008/couchdb-cover.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;small&gt;Technical editing by CouchDB committers Jan Lehnardt and Chris Anderson&lt;/small&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;&lt;span class=&quot;caps&quot;&gt;NOTE&lt;/span&gt;: Updated project code is available at &lt;a href=&quot;http://github.com/topfunky/peepcode-couchdb-code/tree/upgrade-couchrest&quot;&gt;GitHub&lt;/a&gt; (upgrade-couchrest branch).&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;Imagine a world where there is no &lt;span class=&quot;caps&quot;&gt;SQL&lt;/span&gt;. Your database doesn&amp;#8217;t have a schema. You don&amp;#8217;t have to worry about indexes. Replication is built-in. Scaling is part of the plan from day one.&lt;/p&gt;


	&lt;p&gt;This is the world promised to you by &lt;a href=&quot;http://incubator.apache.org/couchdb/&quot;&gt;CouchDB&lt;/a&gt;, an Apache Foundation incubator project in the genre of Amazon&amp;#8217;s SimpleDB (but open source!). This 60 minute screencast clearly explains the forward-thinking features of CouchDB and shows you how to use CouchDB with Rails.&lt;/p&gt;


	&lt;p&gt;This screencast is the product of months of research, a trip across the world to Berlin, hours of coding on the CouchRest gem, and technical editing by a pair of CouchDB committers.&lt;/p&gt;


	&lt;p&gt;You&amp;#8217;ll learn how to install CouchDB from source, how to use the CouchRest gem, and you&amp;#8217;ll build a personal notes application that uses CouchDB. You&amp;#8217;ll learn about different ways to serialize Ruby objects to &lt;span class=&quot;caps&quot;&gt;JSON&lt;/span&gt;. You&amp;#8217;ll write custom views in Javascript and synchronize them to your database. Oh, and you&amp;#8217;ll also learn a bit about the daring personal history behind the CouchDB project!&lt;/p&gt;


	&lt;p&gt;Whether you&amp;#8217;re planning to use CouchDB on an upcoming Ruby project or just want to be informed about current developments in database technology, you&amp;#8217;ll find it in this screencast.&lt;/p&gt;


	&lt;p&gt;The code used in the screencast is included. A typed transcript is also included with the code download. Video is in our new extra-wide 1000&amp;#215;600 format!&lt;/p&gt;


	&lt;p&gt;Available to &lt;a href=&quot;https://peepcode.com/products/unlimited&quot;&gt;PeepCode Unlimited Subscribers&lt;/a&gt; or alone for only US$9.&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2008/couchdb-imagine.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2008/couchdb-rev.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2008/couchdb-map.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2008/couchdb-toc.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">61</duration>
    <filesize>153 MB</filesize>
    <filesize-ipod>153 MB</filesize-ipod>
    <guid>2Sgd0-cJZtT</guid>
    <prerequisites>Assumes a basic knowledge of Ruby on Rails. Some very simple Javascript code is also used.</prerequisites>
    <preview-url>http://peepcode.com/system/uploads/2008/peepcode-023-couchdb-preview.mov</preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">1</reviews-count>
    <revision type="integer">1</revision>
    <title>CouchDB with Rails</title>
    <updated-at type="datetime">2009-09-02T08:33:52Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/couchdb-with-rails</url>
  </product>
  <product>
    <created-at type="datetime">2008-07-04T02:41:40Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2008/passenger-title.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;small&gt;Technical editing by the creators of Phusion Passenger&amp;#8482;.&lt;/small&gt;&lt;/p&gt;


	&lt;p&gt;&lt;a href=&quot;http://modrails.com/&quot;&gt;Phusion Passenger&amp;#8482;&lt;/a&gt; dropped onto the scene in early 2008 and immediately caused quite a stir.&lt;/p&gt;


	&lt;p&gt;Many developers have hoped for a way to run Rails applications natively inside Apache, and now it&amp;#8217;s possible! Passenger&amp;#8482; makes development easier and is the best way to run Rails applications on shared hosts. You may even find it so easy to use that you choose to deploy your production applications with it as well.&lt;/p&gt;


	&lt;p&gt;After viewing this 54 minute screencast, you&amp;#8217;ll be a Passenger expert. You&amp;#8217;ll learn:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;How to deploy to a shared host with Capistrano and Passenger&lt;/li&gt;
		&lt;li&gt;How to setup and configure a development machine from gems or the Passenger development repository&lt;/li&gt;
		&lt;li&gt;How to create &lt;span class=&quot;caps&quot;&gt;SSL&lt;/span&gt; certificates and configure Apache for &lt;span class=&quot;caps&quot;&gt;SSL&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;Troubleshooting tricks for when things go wrong&lt;/li&gt;
		&lt;li&gt;How to use Rails to take the place of mod_rewrite&lt;/li&gt;
		&lt;li&gt;Production tips&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Included for all &lt;a href=&quot;https://peepcode.com/products/unlimited&quot;&gt;PeepCode Unlimited&lt;/a&gt; subscribers, or available alone for only $9!&lt;/p&gt;


	&lt;p&gt;Now with 25% more pixels than the competition! Uses a full 1000&amp;#215;600 of screen real estate with smoother, high frame rate animations.&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2008/passenger-diagram.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2008/passenger-words.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2008/passenger-screen.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/uploads/2008/passenger-chapters.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">54</duration>
    <filesize>81 MB</filesize>
    <filesize-ipod>81 MB</filesize-ipod>
    <guid>bb12aa74-4972-11dd-bad1-00163e26cba8</guid>
    <prerequisites>Some features require Mac OS X Leopard. Most will work on Mac OS X or Linux, but not Windows.</prerequisites>
    <preview-url>http://peepcode.com/system/uploads/2008/peepcode-022-passenger-preview.mov</preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">0</reviews-count>
    <revision type="integer">1</revision>
    <title>Phusion Passenger</title>
    <updated-at type="datetime">2008-07-04T06:21:14Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/phusion-passenger</url>
  </product>
  <product>
    <created-at type="datetime">2008-06-02T22:12:25Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/previews/rest-rails-2/site-rest2.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;The first &lt;span class=&quot;caps&quot;&gt;REST&lt;/span&gt; screencast was the top-selling screencast at PeepCode for over a year. We&amp;#8217;ve started from scratch and built this one from the ground up for Rails 2 (a few Rails 2.1 features are used, too!).&lt;/p&gt;


	&lt;p&gt;RESTful routes have been a big part of Rails since version 1.2, but they are also very confusing! They&amp;#8217;re all about building your application to deliver &lt;span class=&quot;caps&quot;&gt;HTML&lt;/span&gt; and &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt;-friendly &lt;span class=&quot;caps&quot;&gt;XML&lt;/span&gt; from a single piece of data.&lt;/p&gt;


	&lt;p&gt;This screencast covers the basics of &lt;span class=&quot;caps&quot;&gt;REST&lt;/span&gt; and walks through a simple application to show how &lt;span class=&quot;caps&quot;&gt;REST&lt;/span&gt; routes work. You&#8217;ll learn about the magic that goes on behind the scenes and how you can design a &lt;span class=&quot;caps&quot;&gt;REST&lt;/span&gt; application with confidence.&lt;/p&gt;


	&lt;p&gt;Routes, URLs, forms, testing, and general tips are covered over the course of 57 minutes of the high quality, professional production you&amp;#8217;ve come to expect from PeepCode. We touch on ActiveResource briefly. Simple, clear diagrams are featured throughout.&lt;/p&gt;


	&lt;p&gt;If you are already familiar with how to build a Rails application, this screencast will give you the knowledge you need to convert an existing application to &lt;span class=&quot;caps&quot;&gt;REST&lt;/span&gt; or design a new app with the principles of &lt;span class=&quot;caps&quot;&gt;REST&lt;/span&gt;.&lt;/p&gt;


	&lt;p&gt;Features a handy chapter track for jumping to specific topics. Code samples are included as well.&lt;/p&gt;


	&lt;p&gt;Included with &lt;a href=&quot;https://peepcode.com/products/unlimited&quot;&gt;PeepCode Unlimited&lt;/a&gt; and also available for only US$9!&lt;/p&gt;


	&lt;p&gt;&lt;small&gt;Those who purchased this screencast subsequent to December 2007 will receive an automatic upgrade to this new screencast.&lt;/small&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/previews/rest-rails-2/site-chapters.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/previews/rest-rails-2/site-diagram.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/previews/rest-rails-2/site-diagram2.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/previews/rest-rails-2/site-diagram3.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/previews/rest-rails-2/site-code.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">57</duration>
    <filesize>55 MB</filesize>
    <filesize-ipod>58 MB</filesize-ipod>
    <guid>fb20dafe-30f0-11dd-8aeb-00163e26cba8</guid>
    <prerequisites>This screencast assumes a basic knowledge of Ruby on Rails.</prerequisites>
    <preview-url>http://peepcode.com/system/uploads/2008/peepcode-rest-promo.mov</preview-url>
    <release-note>Added new versions of the Quicktime and iPod assets for better playback on Snow Leopard.</release-note>
    <reviews-count type="integer">0</reviews-count>
    <revision type="integer">1</revision>
    <title>REST for Rails 2</title>
    <updated-at type="datetime">2009-10-08T22:51:17Z</updated-at>
    <version type="integer">2</version>
    <url>http://peepcode.com/products/rest-for-rails-2</url>
  </product>
  <product>
    <created-at type="datetime">2008-03-15T19:46:15Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/previews/textmate2/textmate-title.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Content and filming by Dr. Nic Williams, voiceover by Geoffrey Grosenbach.&lt;/p&gt;


	&lt;p&gt;&lt;a href=&quot;http://drnicwilliams.com/&quot;&gt;Dr. Nic Williams&lt;/a&gt; has been hard at work on an updated &lt;a href=&quot;http://macromates.com/&quot;&gt;TextMate&lt;/a&gt; bundle for Rails 2.0.&lt;/p&gt;


	&lt;p&gt;This 66 minute screencast shows many of the new features of the  &lt;a href=&quot;http://github.com/drnic/ruby-on-rails-tmbundle/tree/master&quot;&gt;Rails 2 TextMate bundle&lt;/a&gt;.  It finishes by showing you how to write your own snippets and commands.&lt;/p&gt;


	&lt;p&gt;Being able to use the built-in shortcuts and script your own snippets can make you a happier and more productive programmer.&lt;/p&gt;


	&lt;p&gt;If you own a copy of TextMate but wish you were more familiar with the most frequently used keyboard shortcuts, this screencast will help orient you with what&#8217;s possible.&lt;/p&gt;


	&lt;p&gt;Still only $9, or buy a &lt;a href=&quot;https://peepcode.com/products/unlimited&quot;&gt;PeepCode Unlimited&lt;/a&gt;  account for $10 off until March 21.&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://peepcode.com/system/previews/textmate2/peepcode-textmate2-cheat-sheet.pdf&quot;&gt;Download the free cheat sheet&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/previews/textmate2/textmate-menu.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/previews/textmate2/textmate-diagram2.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/previews/textmate2/textmate-diagram.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">66</duration>
    <filesize>54 MB</filesize>
    <filesize-ipod>54 MB</filesize-ipod>
    <guid>7913406c-f2c8-11dc-ab0a-00163e26cba8</guid>
    <prerequisites></prerequisites>
    <preview-url>http://peepcode.com/system/previews/textmate2/peepcode-textmate2-preview.mov</preview-url>
    <release-note>Added extra installation section with instructions for installing the TextMate bundle from http://railsbundle.com.</release-note>
    <reviews-count type="integer">1</reviews-count>
    <revision type="integer">1</revision>
    <title>TextMate for Rails 2</title>
    <updated-at type="datetime">2008-06-06T22:42:37Z</updated-at>
    <version type="integer">2</version>
    <url>http://peepcode.com/products/textmate-for-rails-2</url>
  </product>
  <product>
    <created-at type="datetime">2008-01-22T03:03:18Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;http://peepcode.com/system/previews/screencasting/screencasting-on-the-mac.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Screencasting is a great way to promote your product, teach your staff, or just communicate! This 47 minute screencast reveals tips and tricks learned over the course of a year of producing top-quality screencasts at PeepCode.&lt;/p&gt;


	&lt;p&gt;This screencast shows how to use Apple&amp;#8217;s &lt;a href=&quot;http://www.apple.com/ilife/&quot;&gt;iLife&lt;/a&gt; suite together with &lt;a href=&quot;http://www.shinywhitebox.com/home/home.html&quot;&gt;iShowU&lt;/a&gt; to produce quality screencasts on the cheap.&lt;/p&gt;


	&lt;p&gt;You&amp;#8217;ll even learn things that you won&amp;#8217;t find anywhere else, such as how to perform voiceovers in iMovie, how to correctly create a chapter track, and how to target screen resolutions with &lt;a href=&quot;http://www.omnigroup.com/applications/omnigraffle/&quot;&gt;Omni Graffle&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;A future screencast will be available for a separate $9 and will show how to use professional software such as &lt;a href=&quot;http://www.apple.com/finalcutstudio/finalcutpro/&quot;&gt;Final Cut Pro&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://peepcode.com/system/previews/screencasting/chapters.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://peepcode.com/system/previews/screencasting/capture.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://peepcode.com/system/previews/screencasting/limiter.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://peepcode.com/system/previews/screencasting/tasks.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">47</duration>
    <filesize>59 MB</filesize>
    <filesize-ipod>59 MB</filesize-ipod>
    <guid>94e436d6-c896-11dc-bbd7-00163e333f52</guid>
    <prerequisites></prerequisites>
    <preview-url>http://peepcode.com/system/previews/peepcode-017-screencasting-preview.mov</preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">0</reviews-count>
    <revision type="integer">1</revision>
    <title>Screencasting on the Mac</title>
    <updated-at type="datetime">2010-03-03T19:49:29Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/screencasting-on-the-mac</url>
  </product>
  <product>
    <created-at type="datetime">2008-01-10T19:55:40Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/previews/rspec-stories/cover.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;By Geoffrey Grosenbach. Technical consultation from RSpec committer &lt;a href=&quot;http://blog.davidchelimsky.net/&quot;&gt;David Chelimsky&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;&lt;a href=&quot;http://rspec.info/&quot;&gt;RSpec 1.1&lt;/a&gt; introduces a new feature&amp;#8230;user stories.&lt;/p&gt;


	&lt;p&gt;You can now write plain-text stories that fit into the XP style of development. You can use stories written by customers to execute code against your application, or you may choose to use stories as a part of your development workflow.&lt;/p&gt;


	&lt;p&gt;The implementation of RSpec stories also fills a gap once filled by Rails&amp;#8217; integration tests. RSpec stories run against the whole stack of your application, including routes, controllers, models, and views.&lt;/p&gt;


	&lt;p&gt;This 50-minute screencast introduces stories and shows you how to use them with pure Ruby code or inside a Rails application.&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/previews/rspec-stories/diagram.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/previews/rspec-stories/code.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;https://peepcode.com/system/previews/rspec-stories/chapters.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">50</duration>
    <filesize>62 MB</filesize>
    <filesize-ipod>75 MB</filesize-ipod>
    <guid>0548ba62-bfb6-11dc-9f29-00163e333f52</guid>
    <prerequisites>This screencast assumes a knowledge of the RSpec behavior driven development framework. See the PeepCode RSpec basics screencast for an introduction.</prerequisites>
    <preview-url>http://peepcode.com/system/previews/peepcode-018-rspec-stories-preview.mov</preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">2</reviews-count>
    <revision type="integer">1</revision>
    <title>RSpec User Stories</title>
    <updated-at type="datetime">2008-02-21T16:26:11Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/rspec-user-stories</url>
  </product>
  <product>
    <created-at type="datetime">2007-11-30T19:16:30Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;http://peepcode.com/system/previews/capistrano-2/capistrano-2.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;Capistrano 2 is a tool for automating the deployment of your application to a server. You can also automate many other monotonous server-maintenance tasks. It is written in Ruby but can be used to deploy any kind of web application.&lt;/p&gt;


	&lt;p&gt;This 50 minute screencast talks about the concepts behind Capistrano 2.1, shows a basic deployment, and teaches you how to write your own tasks.&lt;/p&gt;


	&lt;p&gt;The download also includes the source code snippets used in the screencast!&lt;/p&gt;


	&lt;p&gt;This is a complete rewrite from scratch, but includes many of the concepts presented in the first PeepCode Capistrano screencast.&lt;/p&gt;


	&lt;h3&gt;Chapters&lt;/h3&gt;


	&lt;p&gt;&lt;img src=&quot;http://peepcode.com/system/chapters/capistrano-2-chapters.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;(Requires Quicktime 7 &amp;rarr; &lt;a href=&quot;http://www.apple.com/quicktime/&quot;&gt;Download&lt;/a&gt;.)&lt;/p&gt;


	&lt;h3&gt;Screenshots&lt;/h3&gt;


	&lt;p&gt;&lt;img src=&quot;http://peepcode.com/system/previews/capistrano-2/copy-strategy.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://peepcode.com/system/previews/capistrano-2/permissions.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">50</duration>
    <filesize>41 MB</filesize>
    <filesize-ipod>57 MB</filesize-ipod>
    <guid>c180e7f8-9f78-11dc-a4a5-00163e737793</guid>
    <prerequisites>This is an intermediate to advanced screencast. It assumes that you have a server with Ruby, Rails, Mongrel, and a database installed. It assumes that you have written at least one Rails application from scratch. It assumes that you are familiar with general Unix commands such as &quot;ls&quot;, &quot;cp&quot;, &quot;tail,&quot; etc.</prerequisites>
    <preview-url>http://peepcode.com/system/previews/peepcode-016-cap2-preview.mov</preview-url>
    <release-note>New revision for Capistrano 2. Available to previous purchasers of the Capistrano 1 as a free upgrade until December 15, 2007.</release-note>
    <reviews-count type="integer">2</reviews-count>
    <revision type="integer">1</revision>
    <title>Capistrano 2</title>
    <updated-at type="datetime">2008-02-26T00:01:47Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/capistrano-2</url>
  </product>
  <product>
    <created-at type="datetime">2007-10-25T04:21:08Z</created-at>
    <description-html>&lt;p&gt;by Geoffrey Grosenbach. Technical editing by Git Maintainer Junio C Hamano.&lt;/p&gt;


	&lt;p&gt;The &lt;a href=&quot;http://git.or.cz/&quot;&gt;git&lt;/a&gt; source code control system was developed by Linus Torvalds for managing the Linux kernel. But it&amp;#8217;s also valuable for managing all kinds of code: libraries, web applications, personal files.&lt;/p&gt;


	&lt;p&gt;Git was built for the modern developer&amp;#8217;s workflow. Easy branching, full capability even when offline, and fast operation make other source code management systems feel underpowered compared with git!&lt;/p&gt;


	&lt;p&gt;This 60 minutes screencast will teach you how to install and use Git. You&amp;#8217;ll learn how to create a repository, use branches, and work with remote repositories.&lt;/p&gt;


	&lt;p&gt;Integration with Subversion is also mentioned briefly.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Also&lt;/strong&gt; see Scott Chacon&amp;#8217;s &lt;a href=&quot;https://peepcode.com/products/git-internals-pdf&quot;&gt;Git Internals &lt;span class=&quot;caps&quot;&gt;PDF&lt;/span&gt;&lt;/a&gt; for an in-depth explanation of how Git works under the covers.&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://peepcode.com/system/chapters/git-chapters.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://peepcode.com/system/chapters/git-pull.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">60</duration>
    <filesize>46 MB</filesize>
    <filesize-ipod>100 MB</filesize-ipod>
    <guid>b5d27e32-82b1-11dc-bbbd-00163e737793</guid>
    <prerequisites></prerequisites>
    <preview-url>http://peepcode.com/system/previews/peepcode-015-git-preview.mov</preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">6</reviews-count>
    <revision type="integer">1</revision>
    <title>Git</title>
    <updated-at type="datetime">2009-04-27T22:33:23Z</updated-at>
    <version type="integer">1</version>
    <url>http://peepcode.com/products/git</url>
  </product>
  <product>
    <created-at type="datetime">2007-09-13T23:05:02Z</created-at>
    <description-html>&lt;p&gt;Part &lt;span class=&quot;caps&quot;&gt;III&lt;/span&gt; of the popular RSpec series! (&lt;a href=&quot;http://peepcode.com/products/rspec-basics&quot;&gt;Part I&lt;/a&gt; and &lt;a href=&quot;http://peepcode.com/products/rspec-mocks-and-models&quot;&gt;II&lt;/a&gt; are also available).&lt;/p&gt;


	&lt;p&gt;This 69 minute screencasts shows how to write behavior examples for Rails Controllers, Views, and Helpers. It finishes the application started at the beginning of this series.&lt;/p&gt;


	&lt;p&gt;It also talks about shared behaviors, writing specs for plugins and gems, using RSpec with Test::Unit, and tools like rcov and heckle.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;&lt;span class=&quot;caps&quot;&gt;NOTE&lt;/span&gt;&lt;/strong&gt; The code download has been updated to work with the latest Rails 2.1 and RSpec 1.1.4.&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://peepcode.com/system/chapters/rspec-iii-chapters.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">69</duration>
    <filesize>62 MB</filesize>
    <filesize-ipod>102 MB</filesize-ipod>
    <guid>c2790e46-624d-11dc-82f8-00163e737793</guid>
    <prerequisites>This screencast assumes that you have viewed Part I and II of the PeepCode rSpec series.</prerequisites>
    <preview-url>http://peepcode.com/system/previews/peepcode-014-rspec-iii-preview.mov</preview-url>
    <release-note>The code download has been updated to work with the latest Rails 2.1 and RSpec 1.1.4.</release-note>
    <reviews-count type="integer">1</reviews-count>
    <revision type="integer">1</revision>
    <title>RSpec Controllers and Tools</title>
    <updated-at type="datetime">2008-06-11T21:56:04Z</updated-at>
    <version type="integer">2</version>
    <url>http://peepcode.com/products/rspec-controllers-and-tools</url>
  </product>
  <product>
    <created-at type="datetime">2007-08-16T02:00:54Z</created-at>
    <description-html>&lt;p&gt;This is part 2 of the highly anticipated &lt;a href=&quot;https://peepcode.com/products/rspec-basics&quot;&gt;RSpec&lt;/a&gt; series.&lt;/p&gt;


	&lt;p&gt;You&amp;#8217;ll learn about adding mocks, stubs, and matchers to your behavior driven development skillset.&lt;/p&gt;


	&lt;p&gt;The screencast continues the project from &lt;a href=&quot;https://peepcode.com/products/rspec-basics&quot;&gt;part 1&lt;/a&gt; but focuses on writing examples for ActiveRecord models. During the process you&amp;#8217;ll also learn about parsing &lt;span class=&quot;caps&quot;&gt;XML&lt;/span&gt; with Hpricot!&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;&lt;span class=&quot;caps&quot;&gt;NOTE&lt;/span&gt;&lt;/strong&gt; The code download has been updated to work with the latest Rails 2.1 and RSpec 1.1.4.&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://peepcode.com/system/chapters/rspec-ii-chapters.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description-html>
    <duration type="integer">62</duration>
    <filesize>61 MB</filesize>
    <filesize-ipod>152 MB</filesize-ipod>
    <guid>85bc0b74-4b9c-11dc-9c74-00163e737793</guid>
    <prerequisites>This screencast assumes that you have a basic understanding of rSpec as presented in part 1 of this series, also available for US$9.</prerequisites>
    <preview-url>http://peepcode.com/system/previews/peepcode-013-rspec-ii-preview.mov</preview-url>
    <release-note>The code download has been updated to work with the latest Rails 2.1 and RSpec 1.1.4.</release-note>
    <reviews-count type="integer">1</reviews-count>
    <revision type="integer">1</revision>
    <title>RSpec Mocks and Models</title>
    <updated-at type="datetime">2008-06-11T21:56:17Z</updated-at>
    <version type="integer">2</version>
    <url>http://peepcode.com/products/rspec-mocks-and-models</url>
  </product>
  <product>
    <created-at type="datetime">2007-07-23T03:08:29Z</created-at>
    <description-html>&lt;p&gt;by Geoffrey Grosenbach. Technical consulting by &lt;a href=&quot;http://alternateidea.com/&quot;&gt;Justin Palmer&lt;/a&gt; of the Prototype core team.&lt;/p&gt;


	&lt;p&gt;If you&amp;#8217;ve been on the web anytime over the past two years, you&amp;#8217;ve probably heard the word &amp;#8216;Ajax.&amp;#8217;&lt;/p&gt;


	&lt;p&gt;This highly anticipated hour and a half-long screencast takes up where &lt;a href=&quot;https://peepcode.com/products/javascript-with-prototypejs&quot;&gt;Javascript with Prototype&lt;/a&gt; left off. You&amp;#8217;ll learn how to do simple Ajax requests and updates, then jump into working with Javascript and &lt;span class=&quot;caps&quot;&gt;JSON&lt;/span&gt; sent by a server.&lt;/p&gt;


	&lt;p&gt;If you&amp;#8217;re a Rails developer, it&amp;#8217;s time to learn the magic behind the Javascript libraries that ship with Rails. You may even find yourself taking advantage of the power or Prototype instead of using the Rails helpers that insulate you from the process!&lt;/p&gt;


	&lt;p&gt;If you want to use Prototype with another server-side framework, you&amp;#8217;ll learn the client-side basics you need to be confident with Ajax.&lt;/p&gt;


	&lt;p&gt;&lt;a href=&quot;http://peepcode.com/pages/quicktime-chapter-track&quot;&gt;&lt;img src=&quot;http://peepcode.com/system/chapters/ajax-chapters.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description-html>
    <duration type="integer">95</duration>
    <filesize>78 MB</filesize>
    <filesize-ipod>122 MB</filesize-ipod>
    <guid>fc87ff1e-38c9-11dc-a084-00163e737793</guid>
    <prerequisites>If you're familiar with the basics of Javascript or have watched the Javascript with Prototype.js screencast, you should be comfortable with the topics presented here. A Rails app and a Camping app are provided as the server side of this primarily client-side tutorial.</prerequisites>
    <preview-url>http://peepcode.com/system/previews/peepcode-012-ajax-preview.mov</preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">2</reviews-count>
    <revision type="integer">1</revision>
    <title>Ajax with Prototype.js</title>
    <updated-at type="datetime">2008-03-04T23:08:49Z</updated-at>
    <version type="integer" nil="true"></version>
    <url>http://peepcode.com/products/ajax-with-prototypejs</url>
  </product>
  <product>
    <created-at type="datetime">2007-07-06T00:26:46Z</created-at>
    <description-html>&lt;p&gt;Many prominent Rails developers have jumped on the &lt;span class=&quot;caps&quot;&gt;BDD&lt;/span&gt; bandwagon, and with good reason! It&amp;#8217;s a great workflow and values clarity, small steps, database-independence, and self-documenting code.&lt;/p&gt;


	&lt;p&gt;If Test::Unit doesn&amp;#8217;t make sense to you, or if you want to write better code, this is the place to start.&lt;/p&gt;


	&lt;p&gt;This 55 minute screencast is the first of a 3-part series on &lt;a href=&quot;http://rspec.rubyforge.org&quot;&gt;RSpec&lt;/a&gt;. You&amp;#8217;ll learn how to install and configure RSpec. We&amp;#8217;ll walk through a simple project. Then we&amp;#8217;ll install RSpec in a Rails application and start writing examples for a simple model.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;&lt;span class=&quot;caps&quot;&gt;NOTE&lt;/span&gt;&lt;/strong&gt; The code download has been updated to work with the latest Rails 2.1 and RSpec 1.1.4.&lt;/p&gt;


	&lt;p&gt;&lt;a href=&quot;http://peepcode.com/pages/quicktime-chapter-track&quot;&gt;&lt;img src=&quot;http://peepcode.com/system/chapters/rspec-chapters.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;&lt;a href=&quot;http://peepcode.com/products/rspec-mocks-and-models&quot;&gt;Part 2&lt;/a&gt; is available now and covers mocking, stubbing, and custom matchers. Part 3 will cover controllers, views, and auxiliary tools.&lt;/p&gt;</description-html>
    <duration type="integer">55</duration>
    <filesize>40 MB</filesize>
    <filesize-ipod>67 MB</filesize-ipod>
    <guid>94637d98-2b57-11dc-95ac-00163e7fefd7</guid>
    <prerequisites>This screencast assumes that you are familiar with Ruby and the basics of writing a Rails application. The Rails from Scratch screencast covers these concepts.</prerequisites>
    <preview-url>http://peepcode.com/system/previews/peepcode-011-rspec-i-preview.mov</preview-url>
    <release-note>Screencast updated to mention Rails 2 issues, GitHub, etc.</release-note>
    <reviews-count type="integer">4</reviews-count>
    <revision type="integer">2</revision>
    <title>RSpec Basics</title>
    <updated-at type="datetime">2008-12-09T00:44:32Z</updated-at>
    <version type="integer">3</version>
    <url>http://peepcode.com/products/rspec-basics</url>
  </product>
  <product>
    <created-at type="datetime">2007-06-25T22:14:51Z</created-at>
    <description-html>&lt;p&gt;&lt;img src=&quot;http://peepcode.com/system/uploads/2008/peepcode-title.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Updated with new content for Rails 2.1!&lt;/strong&gt; If you purchased the previous version, you can re-download it by &lt;a href=&quot;https://peepcode.com/login&quot;&gt;logging in&lt;/a&gt; to your account.&lt;/p&gt;


	&lt;p&gt;&lt;a href=&quot;http://peepcode.com/products/rails-from-scratch-part-i&quot;&gt;Part I&lt;/a&gt; introduced you to Rails and took small steps through views and controllers.&lt;/p&gt;


	&lt;p&gt;This hour and twenty minute sequel takes a bite out of database models. You&amp;#8217;ll setup a simple MySQL database and use Rails generators and migrations to populate your database.&lt;/p&gt;


	&lt;p&gt;You&amp;#8217;ll build models one piece at a time and experiment with them in the Rails console before starting on a full Rails application.&lt;/p&gt;


	&lt;p&gt;You&amp;#8217;ll learn how to work with plugins (including &lt;a href=&quot;http://github.com/technoweenie/acts_as_versioned&quot;&gt;acts_as_versioned&lt;/a&gt;). You&amp;#8217;ll build a versioned book application that stores separate revisions and allows simple comments.&lt;/p&gt;


	&lt;p&gt;After watching this screencast (and &lt;a href=&quot;http://peepcode.com/products/rails-from-scratch-part-i&quot;&gt;Part I&lt;/a&gt;), you&amp;#8217;ll be ready to dive into Rails application development!&lt;/p&gt;


	&lt;p&gt;Includes the code used in the project in addition to our standard full quality (800&amp;#215;600 Quicktime Movie) and iPod video formats.&lt;/p&gt;</description-html>
    <duration type="integer">81</duration>
    <filesize>61 MB</filesize>
    <filesize-ipod>99 MB</filesize-ipod>
    <guid>7e8c191c-2369-11dc-8033-00163e7fefd7</guid>
    <prerequisites>This screencast assumes that you have done some kind of programming and understand the basic ideas of variables, numbers, and methods. It also assumes that you understand the basics of HTML and CSS.</prerequisites>
    <preview-url>http://peepcode.com/system/previews/peepcode-010-rails-ii-preview.mov</preview-url>
    <release-note>Updated with 15+ minutes of new and updated content for Rails 2.1.</release-note>
    <reviews-count type="integer">2</reviews-count>
    <revision type="integer">1</revision>
    <title>Rails 2 from Scratch Part II</title>
    <updated-at type="datetime">2008-10-24T18:38:28Z</updated-at>
    <version type="integer">4</version>
    <url>http://peepcode.com/products/rails-from-scratch-part-ii</url>
  </product>
  <product>
    <created-at type="datetime">2007-06-20T18:21:44Z</created-at>
    <description-html>&lt;p&gt;&lt;strong&gt;Includes minor updates for Rails 2!&lt;/strong&gt; If you purchased the previous version, you can re-download it by &lt;a href=&quot;https://peepcode.com/login&quot;&gt;logging in&lt;/a&gt; to your account.&lt;/p&gt;


	&lt;p&gt;Ruby on Rails has received a lot of press in the past few years. This 76 minute screencast teaches you the basics of Rails. If you&amp;#8217;ve done &lt;span class=&quot;caps&quot;&gt;PHP&lt;/span&gt;, ASP, Perl, or any other type of web development and want to learn Rails, this is the screencast for you.&lt;/p&gt;


	&lt;p&gt;It starts by talking about the main concepts and assumptions behind Rails. It shows you how to install Rails on a Mac or on Windows. There&amp;#8217;s a short 7-minute intro to Ruby syntax.&lt;/p&gt;


	&lt;p&gt;Next, you&amp;#8217;ll learn how Rails view templates and controllers work. You&amp;#8217;ll walk through a few simple tasks before stepping into a full project in Part II (available soon). There&amp;#8217;s a bit of magic behind it all, and this screencast shows you what to expect.&lt;/p&gt;


	&lt;p&gt;The download includes code. The screencast has a nifty &lt;a href=&quot;http://peepcode.com/pages/quicktime-chapter-track&quot;&gt;chapter track&lt;/a&gt; for jumping to different sections.&lt;/p&gt;


	&lt;p&gt;And, you get a draft copy of the Topfunky Field Guide to Ruby on Rails, a 20+ page quick reference to both Ruby and Rails.&lt;/p&gt;


	&lt;p&gt;&lt;a href=&quot;http://peepcode.com/products/rails-from-scratch-part-ii&quot;&gt;Part II&lt;/a&gt; (database models) is now available as a separate $9 screencast.&lt;/p&gt;</description-html>
    <duration type="integer">76</duration>
    <filesize>57 MB</filesize>
    <filesize-ipod>93 MB</filesize-ipod>
    <guid>193f54b4-1f5b-11dc-aa9a-00163e7fefd7</guid>
    <prerequisites>This screencast assumes that you have done some kind of programming and understand the basic ideas of variables, numbers, and methods. It also assumes that you understand the basics of HTML and CSS.</prerequisites>
    <preview-url>http://peepcode.com/system/previews/peepcode-009-rails-preview.mov</preview-url>
    <release-note>Includes updated code and notes for Rails 2.0.1. Video will be updated soon.</release-note>
    <reviews-count type="integer">4</reviews-count>
    <revision type="integer">1</revision>
    <title>Rails 2 from Scratch Part I</title>
    <updated-at type="datetime">2009-11-14T04:27:02Z</updated-at>
    <version type="integer">3</version>
    <url>http://peepcode.com/products/rails-from-scratch-part-i</url>
  </product>
  <product>
    <created-at type="datetime">2007-05-01T16:11:11Z</created-at>
    <description-html>&lt;p&gt;by Geoffrey Grosenbach. Technical consulting by Prototype Core Team Member &lt;a href=&quot;http://alternateidea.com/&quot;&gt;Justin Palmer&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Did your first few years of Javascript programming consist of &amp;#8220;copy&amp;#8221; and &amp;#8220;paste&amp;#8221;? It&amp;#8217;s time to learn it right!&lt;/p&gt;


	&lt;p&gt;Javascript is a highly dynamic language with many interesting features which most developers never learn. Yet familiarity with Javascript is a must if you want to develop current web applications with the full power of modern browsers.&lt;/p&gt;


	&lt;p&gt;The &lt;a href=&quot;http://prototypejs.org&quot;&gt;Prototype.js&lt;/a&gt; library makes Javascript nearly painless. It extends native objects with extra functionality and makes it easy to organize your code or even extend built-in objects.&lt;/p&gt;


	&lt;p&gt;This 90 minute screencast shows you the basics of Javascript and walks through a few simple projects. You&amp;#8217;ll learn about&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;code organization&lt;/li&gt;
		&lt;li&gt;writing classes&lt;/li&gt;
		&lt;li&gt;extending objects&lt;/li&gt;
		&lt;li&gt;attaching behaviors to elements &lt;/li&gt;
		&lt;li&gt;simple debugging&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;&lt;a href=&quot;https://peepcode.com/products/ajax-with-prototypejs&quot;&gt;Part II&lt;/a&gt; is now available and covers Ajax in depth.&lt;/p&gt;


	&lt;p&gt;Source code included.&lt;/p&gt;</description-html>
    <duration type="integer">90</duration>
    <filesize>68 MB</filesize>
    <filesize-ipod>117 MB</filesize-ipod>
    <guid>9411345c-f7fe-11db-bac0-00163e49504b</guid>
    <prerequisites>This screencast assumes familiarity with basic programming concepts like variables, loops, functions, and objects. It will show you how those work in Javascript and how prototype.js makes it easier than Javascript alone.</prerequisites>
    <preview-url>http://topfunky.com/clients/peepcode/previews/peepcode-008-prototype-preview.mov</preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">7</reviews-count>
    <revision type="integer">2</revision>
    <title>Javascript with Prototype.js</title>
    <updated-at type="datetime">2009-07-27T22:43:58Z</updated-at>
    <version type="integer" nil="true"></version>
    <url>http://peepcode.com/products/javascript-with-prototypejs</url>
  </product>
  <product>
    <created-at type="datetime">2007-02-28T06:20:43Z</created-at>
    <description-html>&lt;p&gt;by Geoffrey Grosenbach with content from Zed Shaw, author of &lt;a href=&quot;http://mongrel.rubyforge.org&quot;&gt;Mongrel&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Programmers love performance. We like to talk about it and form theories, but we don&amp;#8217;t know how to measure it. And when we do, we don&amp;#8217;t know what to do with the numbers we get.&lt;/p&gt;


	&lt;p&gt;This screencast shows how to use the very simple (but capable) &lt;a href=&quot;http://www.hpl.hp.com/research/linux/httperf&quot;&gt;httperf&lt;/a&gt; command-line tool. It also explains the basic statistics you need to know to compare separate benchmarking runs.&lt;/p&gt;


	&lt;p&gt;You&amp;#8217;ll also learn how to use httperf to find the maximum performance of a single Mongrel instance. You can use this same technique to tune your server and find the optimum number of Mongrel processes to use in your cluster.&lt;/p&gt;


	&lt;p&gt;&lt;a href=&quot;http://peepcode.com/pages/quicktime-chapter-track&quot;&gt;&lt;img src=&quot;https://peepcode.com/system/chapters/httperf-chapters.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;Now features a convenient chapter menu! This is a free update for anyone who purchased this screencast in the past.&lt;/p&gt;</description-html>
    <duration type="integer">53</duration>
    <filesize>72 MB</filesize>
    <filesize-ipod>82 MB</filesize-ipod>
    <guid>d1fb2dae-c6f3-11db-8b4e-00163e513e16</guid>
    <prerequisites>The code project from the Page, Action, and Fragment Caching screencast is used as an example. The code from that project is included in the download, but is not explained in this screencast.

Although a Rails application is used, the topics discussed could be used to benchmark any web application stack.</prerequisites>
    <preview-url>http://topfunky.com/clients/peepcode/previews/peepcode-007-httperf-preview.mov</preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">0</reviews-count>
    <revision type="integer">4</revision>
    <title>Benchmarking with httperf</title>
    <updated-at type="datetime">2009-08-21T21:32:21Z</updated-at>
    <version type="integer" nil="true"></version>
    <url>http://peepcode.com/products/benchmarking-with-httperf</url>
  </product>
  <product>
    <created-at type="datetime">2007-02-21T18:14:29Z</created-at>
    <description-html>&lt;p&gt;Sometimes your web application can be slow. Or you have a surge of traffic. Or you want to run your site on slow hardware or a shared host. For those times you need caching.&lt;/p&gt;


	&lt;p&gt;Ruby on Rails comes with page, action, and fragment caching built-in. You can use these techniques on single pages or in combinations across the pages of your application.&lt;/p&gt;


	&lt;p&gt;This screencast show you how to use all three and points out a few troubleshooting tips along the way.&lt;/p&gt;


	&lt;p&gt;Now with a convenient chapter menu! This is a free update for anyone who purchased this screencast in the past.&lt;/p&gt;


	&lt;p&gt;&lt;a href=&quot;http://peepcode.com/pages/quicktime-chapter-track&quot;&gt;&lt;img src=&quot;http://topfunky.com/clients/peepcode/2007/caching-menu.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;Source code included. Uses the current &lt;strong&gt;Rails 1.2.2&lt;/strong&gt;. Purchase includes access to Quicktime 7 and iPod-ready versions. &lt;a href=&quot;http://peepcode.com/pages/subscribe&quot;&gt;Subscriptions&lt;/a&gt; are also available.&lt;/p&gt;


	&lt;p&gt;See also &lt;a href=&quot;http://peepcode.com/products/benchmarking-with-httperf&quot;&gt;Part II&lt;/a&gt; where you&amp;#8217;ll learn how to benchmark a full Rails stack with httperf (authored together with Zed Shaw).&lt;/p&gt;</description-html>
    <duration type="integer">92</duration>
    <filesize>95 MB</filesize>
    <filesize-ipod>138 MB</filesize-ipod>
    <guid>5f583448-c1d7-11db-9b31-00163e513e16</guid>
    <prerequisites>This is an intermediate topic and assumes that you have built at least one Rails application. A simple application is built from scratch, and caching techniques are applied to it.</prerequisites>
    <preview-url>http://topfunky.com/clients/peepcode/previews/peepcode-006-caching-preview.mov</preview-url>
    <release-note>First release.</release-note>
    <reviews-count type="integer">0</reviews-count>
    <revision type="integer">4</revision>
    <title>Page, Action, and Fragment Caching</title>
    <updated-at type="datetime">2009-08-21T21:35:58Z</updated-at>
    <version type="integer" nil="true"></version>
    <url>http://peepcode.com/products/page-action-and-fragment-caching</url>
  </product>
  <product>
    <created-at type="datetime">2006-12-26T21:37:35Z</created-at>
    <description-html>&lt;p&gt;Test-first development can improve your workflow, improve the quality of your software, and give you confidence.&lt;/p&gt;


	&lt;p&gt;If you have looked at the &amp;#8220;test&amp;#8221; directory sitting at the bottom of your Rails applications and have wondered what it&amp;#8217;s there for, this is the screencast for you!&lt;/p&gt;


	&lt;p&gt;This screencast walks through the basics of writing a simple application with the principles of test-first and behavior-driven development. You&amp;#8217;ll use the features already built into Rails and learn how to extend it for your own needs, too.&lt;/p&gt;


	&lt;p&gt;The download includes the actual code discussed in the screencast (recently updated for Rails 1.2.2). Rails 1.2.2 is used for the project but most of the content applies to any current version of Rails.&lt;/p&gt;


	&lt;p&gt;&lt;small&gt;&lt;span class=&quot;caps&quot;&gt;NOTE&lt;/span&gt;: Advanced or cutting edge topics such as rSpec and Test::Rails are not discussed in this screencast but will be covered in a future episode.&lt;/small&gt;&lt;/p&gt;


	&lt;p&gt;(Requires Quicktime 7 &amp;rarr; &lt;a href=&quot;http://www.apple.com/quicktime/&quot;&gt;Download&lt;/a&gt;.)&lt;/p&gt;


	&lt;h3&gt;Cheat Sheet&lt;/h3&gt;


	&lt;p&gt;&lt;a href=&quot;http://topfunky.com/clients/rails/ruby_and_rails_assertions.pdf&quot;&gt;&amp;rarr; Download Free Test Assertions Cheat Sheet&lt;/a&gt;&lt;/p&gt;</description-html>
    <duration type="integer">80</duration>
    <filesize>101 MB</filesize>
    <filesize-ipod>167 MB</filesize-ipod>
    <guid>34038625-c92c-411a-b336-119cc7a9d966</guid>
    <prerequisites>This screencast assumes that you have written at least one Rails application on your own.</prerequisites>
    <preview-url>http://topfunky.com/clients/peepcode/previews/peepcode-004-testing-tips.mov</preview-url>
    <release-note>Code updated to run under Rails 2.1. See the notes in the code download for the details of what changed.</release-note>
    <reviews-count type="integer">4</reviews-count>
    <revision type="integer">4</revision>
    <title>Test-First Development for Rails</title>
    <updated-at type="datetime">2009-08-21T21:35:34Z</updated-at>
    <version type="integer">2</version>
    <url>http://peepcode.com/products/test-first-development</url>
  </product>
</products>
