<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Iowa Ruby Brigade Meetings</title>
    <link>http://www.iowaruby.org/rss/</link>
    <language>en-us</language>
    <ttl>120</ttl>
    <description>The meetings feed for the Iowa Ruby Brigade</description>
    
    
      
        <item>
          <title>February 2012</title>
          <description>&lt;h4&gt;February 21, 2012&lt;/h4&gt;

&lt;p&gt;6:10 - 7:40 PM&lt;/p&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h4&gt;Darrin Holst (&lt;a href=&quot;https://twitter.com/#!/darrinholst&quot; rel=&quot;external&quot;&gt;@darrinholst&lt;/a&gt;)&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;CoffeeScript&lt;/h4&gt;

&lt;p&gt;From &lt;a href=&quot;http://coffeescript.org/&quot; rel=&quot;external&quot;&gt;coffeescript.org&lt;/a&gt;…&lt;/p&gt;

&lt;blockquote&gt;The golden rule of CoffeeScript is: &quot;It's just JavaScript&quot;. The code compiles one-to-one into the equivalent JS, and there is no interpretation at runtime.&lt;/blockquote&gt;

&lt;ul&gt;
  &lt;li&gt;Why - If it's just JavaScript then why would I want to use it?&lt;/li&gt;
  &lt;li&gt;What - Covering syntax and idioms.&lt;/li&gt;
  &lt;li&gt;Where - I'll be discussing rails integration and how you'd use it outside of Rails.&lt;/li&gt;
  &lt;li&gt;Warts - It's not all rainbows and ponies…I'll show some things that I don't like.&lt;/li&gt;
  &lt;li&gt;Testing - not specific to CoffeeScript, but I'll show how I've been doing headless testing with Jasmine and PhantomJS.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Note that our meeting time has been moved back 10 minutes to make it easier for those who want to park on the street.&lt;/p&gt;</description>
          <pubDate>Fri, 20 Jan 2012 06:00:00 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2012/02/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2012/02/</link>
        </item>
      
        <item>
          <title>January 2012</title>
          <description>&lt;h4&gt;January 17, 2012&lt;/h4&gt;

&lt;p&gt;6:10 - 7:40 PM&lt;/p&gt;

&lt;h3&gt;Speakers&lt;/h3&gt;
&lt;h4&gt;Sean McCullough &amp;amp; Brandon Ruschill - &lt;a href=&quot;http://eliasonmedia.com&quot; rel=&quot;external&quot;&gt;Eliason Media&lt;/a&gt; / &lt;a href=&quot;http://www.goodsmiths.com/&quot; rel=&quot;external&quot;&gt;Goodsmiths&lt;/a&gt;&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;Sinatra&lt;/h4&gt;

&lt;p&gt;Ruby on Rails is an excellent framework for productive and simple coding. The framework takes care of a lot of minutia that even the best Rails developers can take for granted. Unfortunately, all of this convenience comes at a price: Rails can be very slow for certain kinds of tasks, and for some sites you're only utilizing a portion of the framework.&lt;/p&gt;

&lt;p&gt;For those reasons, and a desire to learn more about how web frameworks operate in Ruby, we created some apps using the Sinatra microframework. Sinatra only enables you to render views and execute arbitrary ruby code. But you can approximate something close to a Rails environment by rolling your own ORMs, templating engines, job runners, and asset pipelines. We learned a lot about the concepts behind some of the more opinionated parts of the Rails API, and gained some insights about how to write more efficient Rails applications.&lt;/p&gt;

&lt;h5&gt;About Sean&lt;/h5&gt;
&lt;p&gt;Sean got his start programming with Visual Basic and some application-specific scripting languages in the mid 90s, before delving into the world of Linux with Slackware 3.6. Before college he worked for two start ups writing back end web applications in Perl and PHP during the dot com boom. After a hiatus to study Latin and Philosophy at Loyola University in Chicago, he rejoined the development community when his interest was piqued by Ruby on Rails, mobile applications, and modern development strategies.&lt;/p&gt;

&lt;h5&gt;About Brandon&lt;/h5&gt;
&lt;p&gt;After discovering a passion for software early on in high school but having no outlet for it, Brandon moved to Des Moines to attend college. While pursuing a degree in software engineering at Iowa State University, he worked as a software engineering intern for Vibro-acoustics Solutions Incorporated helping build a hypersonic aircraft modeling toolsuite for NASA. Now on hiatus after a couple of years of college, he continues to be driven by his passion for software development and learn all that he can within the field.&lt;/p&gt;

&lt;p&gt;Note that our meeting time has been moved back 10 minutes to make it easier for those who want to park on the street.&lt;/p&gt;</description>
          <pubDate>Wed, 11 Jan 2012 06:00:00 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2012/01/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2012/01/</link>
        </item>
      
    
      
        <item>
          <title>December 2011</title>
          <description>&lt;h4&gt;December 20, 2011&lt;/h4&gt;
&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h4&gt;Charles Hoffman / &lt;a href=&quot;http://www.r5i.com/&quot; rel=&quot;external&quot;&gt;Red 5 Interactive&lt;/a&gt;&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;Procs &amp; Lambdas: Y U So Weird?&lt;/h4&gt;

&lt;p&gt;Some languages provide first-class function features -- that is, a way
of taking some bit of functionality in your program and treating it
like a data value. Ruby gives you a few different ways. You can get a
long way with blocks alone, but when it comes to Procs and their close
cousins lambdas, there are some confusing and seemingly arbitrary
differences in how they work. In this discussion, we will attempt to
make sense of these and differences and why they might exist.&lt;/p&gt;
</description>
          <pubDate>Fri, 02 Dec 2011 06:00:00 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2011/12/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2011/12/</link>
        </item>
      
        <item>
          <title>November 2011</title>
          <description>&lt;h4&gt;November 15 2011&lt;/h4&gt;
&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;Git / Mercurial Workshop&lt;/h4&gt;

&lt;h4&gt;Special joint meeting with &lt;a href=&quot;http://www.pyowa.org/&quot; rel=&quot;external&quot;&gt;Pyowa&lt;/a&gt;, the Iowa Python Users Group.&lt;/h4&gt;

&lt;p&gt;We are conducting a fun and informal workshop to discuss and play with the newest and best version control systems out there, Git and Mercurial. If you are a Git user, but interested in Mercurial, or vice versa, or if you are using CVS or Subversion and are wondering what all the hype is about, please join us.&lt;/p&gt;

&lt;p&gt;Bring your laptop if you want to participate hands on. We will have a sandbox set up in which we can all play. We will be presenting a list of tasks or scenarios and running through how to solve each with Git and Mercurial. We will not have a formal speaker or expert. Rather, we will use the power of the collective (and when necessary, Google) to bring forth ideas and solve problems. It should be very collaborative, informative, and fun!&lt;/p&gt;
</description>
          <pubDate>Sun, 30 Oct 2011 05:00:00 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2011/11/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2011/11/</link>
        </item>
      
        <item>
          <title>October 2011</title>
          <description>&lt;h4&gt;October 18, 2011&lt;/h4&gt;
&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h4&gt;Scott Robinson / &lt;a href=&quot;http://www.merchantsbonding.com/&quot; rel=&quot;external&quot;&gt;Merchants Bonding Company&lt;/a&gt;&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;Using the state_machine gem&lt;/h4&gt;

&lt;p&gt;A finite-state machine or &quot;state machine&quot; is a common behavioral model used in computer programming. In a nutshell, a state machine can be in one of a finite number of states. An event or condition can then trigger a transition to another (or the same) state, and various actions can occur during a transition. (See &lt;a href=&quot;http://en.wikipedia.org/wiki/Finite-state_machine&quot; rel=&quot;external&quot;&gt;Finite-state machine&lt;/a&gt; for more.)&lt;/p&gt;

&lt;p&gt;Scott will discuss the &lt;a href=&quot;https://github.com/pluginaweek/state_machine&quot; rel=&quot;external&quot;&gt;state_machine&lt;/a&gt; Ruby gem, including&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Why you might want to consider using the state_machine gem&lt;/li&gt;
  &lt;li&gt;Summary of functions/options provided by the gem&lt;/li&gt;
  &lt;li&gt;How we're using the state_machine gem at Merchants Bonding&lt;/li&gt;
&lt;/ul&gt;
</description>
          <pubDate>Tue, 11 Oct 2011 05:00:00 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2011/10/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2011/10/</link>
        </item>
      
        <item>
          <title>September 2011</title>
          <description>&lt;h4&gt;September 20, 2011&lt;/h4&gt;
&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h4&gt;Jacob Richardson / &lt;a href=&quot;http://www.imtins.com/&quot; rel=&quot;external&quot;&gt;IMT Group&lt;/a&gt;&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;Enumerable&lt;/h4&gt;

&lt;p&gt;We go back to basics this month and look at Ruby collections and the Enumerable module. Rubyists learn early on that as long as a class provides an 'each' method (and optionally a &lt;=&gt; comparison operator), simply mixing in the Enumerable module will automatically give the class all kinds of collection functionality including traversal, searching, sorting, etc.&lt;/p&gt;

&lt;p&gt;Jacob will discuss the Enumerable module and also discuss&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Increasing the readability of your code by reducing null checks and loops&lt;/li&gt;
  &lt;li&gt;Functional thinking applied with Enumerable&lt;/li&gt;
  &lt;li&gt;Extending Enumerable&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Jacob currently works as a Python developer for IMT Group, but not for long. He has accepted a job as a Rails developer at &lt;a href=&quot;http://www.groupon.com/&quot; rel=&quot;external&quot;&gt;GroupOn&lt;/a&gt; in Chicago and will be moving there soon. Earlier this year, Jacob was &lt;a href=&quot;http://blog.obiefernandez.com/content/2011/01/rails-up-and-comers-contest-winners.html&quot; rel=&quot;external&quot;&gt;recognized&lt;/a&gt; as a Rails Up-and-Comer by Obie Fernadez. This will be Jacob's last Iowa Ruby Brigade meeting for a while, so please come out to wish him well.&lt;/p&gt;
</description>
          <pubDate>Sat, 10 Sep 2011 05:00:00 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2011/09/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2011/09/</link>
        </item>
      
        <item>
          <title>August 2011</title>
          <description>&lt;h4&gt;August 16, 2011&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;General Discussion / Lightning Talks&lt;/h3&gt;

&lt;p&gt;We don't have a specific presentation this month, but we'll still meet and discuss current developments in the Ruby world.&lt;/p&gt;

&lt;p&gt;If you have something you'd like to share with the group, but you don't want to prepare a full presentation, please consider giving a &quot;lightning talk&quot; instead. A lightning talk is an short (5-10 minutes), informal talk / demo. Lightning talks can be on any topic of interest to the group, even if it's not directly Ruby-related.&lt;/p&gt;

&lt;p&gt;Stuck on a Ruby problem? Bring your questions and get some help from local experts.&lt;/p&gt;

&lt;p&gt;Please join us!&lt;/p&gt;</description>
          <pubDate>Fri, 12 Aug 2011 05:00:00 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2011/08/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2011/08/</link>
        </item>
      
        <item>
          <title>July 2011</title>
          <description>&lt;h4&gt;July 19, 2011&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;General Discussion&lt;/h3&gt;

&lt;p&gt;We don't have a specific presentation this month, but we'll still meet and discuss current developments in the Ruby world.&lt;/p&gt;

&lt;p&gt;Stuck on a Ruby problem? Bring your questions and get some help from local experts.&lt;/p&gt;

&lt;p&gt;Some things we might talk about:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;&lt;a href=&quot;http://weblog.rubyonrails.org/2011/5/22/rails-3-1-release-candidate&quot; rel=&quot;external&quot;&gt;Rails 3.1&lt;/a&gt; features&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;http://jashkenas.github.com/coffee-script/&quot; rel=&quot;external&quot;&gt;CoffeeScript&lt;/a&gt;, &lt;a href=&quot;http://documentcloud.github.com/backbone/&quot; rel=&quot;external&quot;&gt;Backbone.js&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Infrastructure as Code (&lt;a href=&quot;http://wiki.opscode.com/display/chef/Home&quot; rel=&quot;external&quot;&gt;Chef&lt;/a&gt;, &lt;a href=&quot;http://www.cucumber-chef.org/&quot; rel=&quot;external&quot;&gt;cucumber-chef&lt;/a&gt;, &lt;a href=&quot;http://auxesis.github.com/cucumber-nagios/&quot; rel=&quot;external&quot;&gt;cucumber-nagios&lt;/a&gt;, etc.)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Please join us!&lt;/p&gt;</description>
          <pubDate>Sat, 16 Jul 2011 05:00:00 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2011/07/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2011/07/</link>
        </item>
      
        <item>
          <title>June 2011</title>
          <description>&lt;h4&gt;June 21, 2011&lt;/h4&gt;
&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;Testing Fundamentals&lt;/h4&gt;

&lt;p&gt;This month we continue our focus on Ruby and Rails beginners with a meeting on testing fundamentals. The Ruby and Rails communities strongly value automated testing and test-driven development, so much so that automated tests are a given for almost any Ruby project. But the whole area of testing is sometimes unfamiliar territory for someone new to Ruby or Rails. (We know this topic is of interest because it was specifically requested.)&lt;/p&gt;

&lt;p&gt;As an introduction to testing, we'll work through an example of adding a feature to a Rails application using a test-first approach. Along the way we'll cover&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Acceptance and integration tests (Cucumber)&lt;/li&gt;
  &lt;li&gt;Unit tests for models, controllers, and routing (RSpec)&lt;/li&gt;
  &lt;li&gt;Creating test data with factories (Factory Girl)&lt;/li&gt;
  &lt;li&gt;Test doubles including stubs &amp;amp; mocks (RSpec)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To add interest for folks who are already familiar with some or all of the above, we'll do the whole thing using Rails 3.1.&lt;/p&gt;

&lt;p&gt;Whether you're a complete beginner, an experienced developer new to Ruby, or a seasoned Rubyist, please join us for this meeting. Our goal is to encourage discussion and sharing of ideas from developers of all levels.&lt;/p&gt;
</description>
          <pubDate>Mon, 13 Jun 2011 05:00:00 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2011/06/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2011/06/</link>
        </item>
      
        <item>
          <title>May 2011</title>
          <description>&lt;h4&gt;May 17, 2011&lt;/h4&gt;
&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h4&gt;Levi Rosol / &lt;a href=&quot;http://http://www.scoreyard.com/&quot; rel=&quot;external&quot;&gt;ScoreYard&lt;/a&gt; &amp;amp; &lt;a href=&quot;http://www.craft.ly&quot; rel=&quot;external&quot;&gt;Craftly&lt;/a&gt;&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;Setting Up a Rails Development Environment without Giving Steve Jobs Money&lt;/h4&gt;

&lt;p&gt;Ask almost any Rails developer what their biggest challenge in getting started with Rails was and chances are they will all roll their eyes and say the same thing: Setting up their development environment.&lt;/p&gt;

&lt;p&gt;Although there are many options when it comes to Rails development environments, we will talk about setting up an Ubuntu-based development environment. Specifically a dual booted machine running Windows 7 as its existing OS.&lt;/p&gt;

&lt;p&gt;The following topics will be covered:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;How / Where to get Ubuntu - Creating the install USB drive (Yes, we will use 11.4)&lt;/li&gt;
  &lt;li&gt;Installing Ubuntu as a secondary OS&lt;/li&gt;
  &lt;li&gt;Install &amp;amp; Configure RVM&lt;/li&gt;
  &lt;li&gt;Install RubyMine&lt;/li&gt;
  &lt;li&gt;Pull down a project from GitHub&lt;/li&gt;
  &lt;li&gt;Using RubyMine and Bundler to manage Gems&lt;/li&gt;
  &lt;li&gt;Run the project locally&lt;/li&gt;
  &lt;li&gt;Create a new Heroku project and deploy to it&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This topic will primarily appeal to beginning Rubyists or developers thinking about getting started with Rails. A lot of technologies will be covered at a high level, so come with questions. Also, bring a buddy. If you've talked about Ruby or Rails with someone who's interested in the language / framework, but are too intimidated to jump in blind, bring them along.&lt;/p&gt;
</description>
          <pubDate>Sun, 01 May 2011 05:00:00 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2011/05/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2011/05/</link>
        </item>
      
        <item>
          <title>April 2011</title>
          <description>&lt;h4&gt;April 19, 2011&lt;/h4&gt;
&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;ActiveModel&lt;/h4&gt;

&lt;p&gt;One of the big themes of Rails 3 was making the entire Rails framework more modular. A perfect example of this is ActiveModel which is actually a group of modules extracted from ActiveRecord. ActiveModel provides an API through which Rails interacts with models, so any ORM that implements the ActiveModel API will automatically work with Rails. ActiveModel also exposes a lot of useful functionality like validation, callbacks, serialization (to_xml, to_json, etc), and i18n support.&lt;/p&gt;

&lt;p&gt;We'll take a look at ActiveModel and see how it can be used to provide this kind of functionality to ordinary Ruby objects independently of whether they are persisted in a SQL database.&lt;/p&gt;

&lt;p&gt;This topic should appeal to Rubyists of all experience levels. For beginners, we'll cover the basics of Ruby modules. Then we'll move on to intermediate topics like how to use ActiveModel outside of a Rails project and how to verify whether a Ruby object is AciveModel-compliant. We'll also spend a little time looking at how ActiveModel is actually implemented.&lt;/p&gt;

&lt;p&gt;There will be plenty of time for discussion and questions.&lt;/p&gt;
</description>
          <pubDate>Thu, 14 Apr 2011 05:00:00 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2011/04/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2011/04/</link>
        </item>
      
        <item>
          <title>March 2011</title>
          <description>&lt;h4&gt;March 15, 2011&lt;/h4&gt;
&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;Working Effectively with Third-Party Web Services&lt;/h4&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h4&gt;David W. Body / &lt;a href=&quot;http://www.bigcreek.com.com/&quot; rel=&quot;external&quot;&gt;Big Creek Software, LLC&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;David has been developing a Rails application whose core functionality involves interacting with a third-party commercial ASP.NET XML web service. The main interaction involves posting an XML request to the web service, and then asynchronously receiving XML results which may come hours or days later. The web service is production-only, involves sensitive data, and there is no separate test environment.&lt;/p&gt;

&lt;p&gt;David will demo the application and then we'll dive into the source code.&lt;/p&gt;

&lt;p&gt;Topics will include&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Development, testing, and deployment strategies&lt;/li&gt;
  &lt;li&gt;Simulating a web service with Sinatra&lt;/li&gt;
  &lt;li&gt;Dealing with XML documents whose elements may not all be known in advance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This Rails application is under active development, and David would welcome suggestions for changes and improvements.&lt;/p&gt;

&lt;p&gt;There will be plenty of time for discussion and questions.&lt;/p&gt;
</description>
          <pubDate>Wed, 09 Mar 2011 06:00:00 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2011/03/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2011/03/</link>
        </item>
      
    
      
        <item>
          <title>December 2010</title>
          <description>&lt;h4&gt;December 9, 2010&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;JRuby&lt;/h4&gt;

&lt;p&gt;&lt;a href=&quot;http://jruby.org/&quot; rel=&quot;external&quot;&gt;JRuby&lt;/a&gt; is a pure-Java implementation of Ruby. It is Ruby for the JVM.&lt;/p&gt;

&lt;p&gt;Besides being a rock-solid implementation of Ruby (some say JRuby is currently the best Ruby available [&lt;a href=&quot;#footnote-1&quot;&gt;1&lt;/a&gt;]), JRuby also provides integration between Ruby and the JVM.&lt;/p&gt;

&lt;p&gt;We'll discuss and see demos of the following&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Running Java code from JRuby&lt;/li&gt;
  &lt;li&gt;Running Ruby code from Java (embedding JRuby)&lt;/li&gt;
  &lt;li&gt;JRuby Compiler&lt;/li&gt;
  &lt;li&gt;Deploying Ruby web applications as WAR files&lt;/li&gt;
  &lt;li&gt;Testing Java code using Ruby test frameworks&lt;/li&gt;
  &lt;li&gt;JRuby / Ant integration&lt;/li&gt;
&lt;/ul&gt;

&lt;p id=&quot;footnote-1&quot;&gt;[1] &lt;a href=&quot;http://www.infoq.com/interviews/Yehuda-Katz-on-Rails-3.x&quot; rel=&quot;external&quot;&gt;http://www.infoq.com/interviews/Yehuda-Katz-on-Rails-3.x&lt;/a&gt;&lt;/p&gt;</description>
          <pubDate>Mon, 29 Nov 2010 06:00:00 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2010/12/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2010/12/</link>
        </item>
      
        <item>
          <title>November 2010</title>
          <description>&lt;h4&gt;November 2010 meeting was canceled.&lt;/h4&gt;</description>
          <pubDate>Mon, 08 Nov 2010 18:54:42 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2010/11/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2010/11/</link>
        </item>
      
        <item>
          <title>October 2010</title>
          <description>&lt;h4&gt;October 14, 2010&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;General Discussion&lt;/h3&gt;

&lt;p&gt;We don't have a specific presentation this month, but we'll still meet and discuss current developments in the Ruby world. Please join us, and please bring something Ruby-related to share with the group.&lt;/p&gt;
</description>
          <pubDate>Sat, 09 Oct 2010 17:43:06 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2010/10/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2010/10/</link>
        </item>
      
        <item>
          <title>September 2010</title>
          <description>&lt;h4&gt;September 9, 2010&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;General Discussion&lt;/h3&gt;

&lt;p&gt;We don't have a specific presentation this month, but we'll still meet and discuss current developments in the Ruby world. Please join us, and please bring something Ruby-related to share with the group.&lt;/p&gt;
</description>
          <pubDate>Tue, 07 Sep 2010 16:51:41 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2010/09/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2010/09/</link>
        </item>
      
        <item>
          <title>August 2010</title>
          <description>&lt;h4&gt;August 12, 2010&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;Ruby Version Manager (RVM)&lt;/h4&gt;

&lt;p&gt;&lt;a href=&quot;http://rvm.beginrescueend.com/&quot; rel=&quot;external&quot;&gt;RVM&lt;/a&gt; is a command-line tool that lets you install and manage multiple versions of Ruby on the same computer in such a way that they won't interfere with each other. You can even run different versions of Ruby at the same time in different terminal windows.&lt;/p&gt;

&lt;p&gt;RVM makes testing against multiple versions of Ruby quite easy. For example, you can invoke a single command that will run your tests under, say, Ruby 1.8.7, 1.9.1, 1.9.2, JRuby, Rubinius, and Ruby Enterprise Edition.&lt;/p&gt;

&lt;p&gt;RVM also provides a way to create and manage separate groups of Ruby gems (gemsets). For example, you can have separate gemsets for Rails 2.3.8 and Rails 3.0.0.rc and easily switch between them. It can also be useful to maintain per-project gemsets.&lt;/p&gt;

&lt;p&gt;We will cover the following RVM topics:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Installing RVM&lt;/li&gt;
  &lt;li&gt;Installing multiple Rubies and switching between them&lt;/li&gt;
  &lt;li&gt;Testing with RVM&lt;/li&gt;
  &lt;li&gt;Gemsets&lt;/li&gt;
  &lt;li&gt;Integration with other tools (e.g. TextMate, Capistrano, Passenger, etc.)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;RVM is free and open source, and runs on Mac OS X and most versions of Linux.&lt;/p&gt;

&lt;p&gt;Note: There is a similar tool for Windows called &lt;a href=&quot;http://github.com/vertiginous/pik/&quot; rel=&quot;external&quot;&gt;pik.&lt;/a&gt; It would be great if someone at the meeting wants to give us more information about this.&lt;/p&gt;
</description>
          <pubDate>Fri, 06 Aug 2010 19:34:03 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2010/08/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2010/08/</link>
        </item>
      
        <item>
          <title>July 2010</title>
          <description>&lt;h4&gt;July 8, 2010&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;Hands-On Test-Driven Development&lt;/h4&gt;

&lt;p&gt;We're going to try a different format for this month's meeting. Please bring your laptops and be ready to write some code!&lt;/p&gt;

&lt;p&gt;Most developers are aware of Test-Driven Development (TDD), and/or variants such as Behavior-Driven Development (BDD), in which development follows an evolutionary approach by repeating a very short cycle: write a test or spec, see it fail, write just enough application code to make the test pass, refactor, and repeat. This basic &quot;red-green-refactor&quot; approach is not new, and is in wide-spread use.&lt;/p&gt;

&lt;p&gt;Nevertheless, there are many developers who, for whatever reason, do not use such an approach. In some cases, developers simply haven't tried it, or are not quite sure how to get started. Our goal at this meeting is help people get started with TDD/BDD so they can judge for themselves whether this approach works for them and might be worth pursuing further.&lt;/p&gt;

&lt;p&gt;We'll start with a little discussion of the pros (and cons?) of test-first development. Then we'll quickly move to a hands-on coding exercise. We'll divide into pairs and all work on solving the same programming problem using a test-first approach. At the end, we'll share our work and discuss how things went.&lt;/p&gt;

&lt;p&gt;Ideally, each pair will include at least one developer with some previous TDD/BDD experience. If that's you, please be sure to come to this meeting because we need your expertise.&lt;/p&gt;

&lt;p&gt;By the same token, if you haven't done much TDD/BDD, please don't miss this meeting because there is really only one way to learn this skill and that's by practicing it, ideally with the help of a more experienced pair programmer.&lt;/p&gt;

&lt;p&gt;The details of the programming exercise are still being worked out. We'll let you know before the meeting if there is anything else you should have set up in order to be ready. Our default testing framework for this exercise will be RSpec, but feel free to use a different framework (Test::Unit, Shoulda, etc.) if you have a preference.&lt;/p&gt;

&lt;p&gt;Prerequisites: None!&lt;/p&gt;
</description>
          <pubDate>Tue, 29 Jun 2010 17:13:25 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2010/07/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2010/07/</link>
        </item>
      
        <item>
          <title>June 2010</title>
          <description>&lt;h4&gt;June 10, 2010&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h4&gt;Darrin Holst / &lt;a href=&quot;http://www.geolearning.com/&quot; rel=&quot;external&quot;&gt;GeoLearning&lt;/a&gt;&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;Haml &amp;amp; Sass&lt;/h4&gt;

&lt;p&gt;Darrin will lead a discussion of Haml &amp;amp; Sass based on the PeepCode &lt;a href=&quot;http://peepcode.com/products/haml-and-sass&quot; rel=&quot;external&quot;&gt;screencast.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Special thanks to &lt;a href=&quot;http://peepcode.com/&quot; rel=&quot;external&quot;&gt;PeepCode&lt;/a&gt; for giving us permission to use this format and show the screencast at our meeting.&lt;/p&gt;
</description>
          <pubDate>Mon, 07 Jun 2010 20:50:51 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2010/06/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2010/06/</link>
        </item>
      
        <item>
          <title>May 2010</title>
          <description>&lt;h4&gt;May 13, 2010&lt;/h4&gt;
&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h4&gt;Cassie Schmitz / Co-Founder, &lt;a href=&quot;http://www.printwhatyoulike.com/&quot; rel=&quot;external&quot;&gt;PrintWhatYouLike.com&lt;/a&gt;&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;Rails 3&lt;/h4&gt;

&lt;p&gt;After the long wait, Rails 3 Beta has finally been released! With the merge with Merb, Rails has undergone significant changes. In this talk, Cassie will go over what's new in Rails 3 including:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Controller Abstraction&lt;/li&gt;
  &lt;li&gt;Routing with ActionDispatch&lt;/li&gt;
  &lt;li&gt;Model Abstraction&lt;/li&gt;
  &lt;li&gt;Arel Integration&lt;/li&gt;
  &lt;li&gt;Revamped ActionMailer&lt;/li&gt;
&lt;/ul&gt;
</description>
          <pubDate>Wed, 21 Apr 2010 09:07:14 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2010/05/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2010/05/</link>
        </item>
      
        <item>
          <title>April 2010</title>
          <description>&lt;h4&gt;April 8, 2010&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h4&gt;Matt Secoske / &lt;a href=&quot;http://nimblelogic.com/&quot; rel=&quot;external&quot;&gt;nimblelogic&lt;/a&gt;&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;The Lightweight web: singing Sinatra to the tune of Redis&lt;/h4&gt;

&lt;p&gt;We will dive into the Sinatra web framework, along with a detour through Redis in an attempt to show just how lightweight a Ruby web service can be.  This will be an informal overview and discussion, with an aside to cover the reasons why you should consider Sinatra for your next web service project.&lt;/p&gt;

&lt;p&gt;We will also probably spend some time looking at &quot;Evented&quot; Sinatra and Resque, the Redis + Sinatra queuing framework from the fancy chaps at Github.&lt;/p&gt;


&lt;p&gt;A little about Matt Secoske:&lt;/p&gt;

&lt;p&gt;Matt Secoske is the Principal at &lt;a href=&quot;http://nimblelogic.com/&quot; rel=&quot;external&quot;&gt;nimblelogic&lt;/a&gt;, a boutique (that means small) software development company that is dedicated to writing kick-ass software for kick-ass clients.  He spends much of his time trying to stay abreast of the latest web development technologies, and can be found lurking on Twitter as &lt;a href=&quot;http://twitter.com/secos&quot; rel=&quot;external&quot;&gt;@secos&lt;/a&gt;, and on a rarely updated &quot;blog&quot; at &lt;a href=&quot;http://mattsecoske.com/&quot; rel=&quot;external&quot;&gt;mattsecoske.com&lt;/a&gt;.&lt;/p&gt;
</description>
          <pubDate>Fri, 26 Mar 2010 08:45:18 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2010/04/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2010/04/</link>
        </item>
      
        <item>
          <title>March 2010</title>
          <description>&lt;h4&gt;March 2010 meeting was canceled.&lt;/h4&gt;</description>
          <pubDate>Fri, 26 Mar 2010 08:38:30 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2010/03/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2010/03/</link>
        </item>
      
    
      
        <item>
          <title>December 2009</title>
          <description>&lt;h4&gt;December 10, 2009&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h4&gt;David W. Body / &lt;a href=&quot;http://www.bigcreek.com/&quot; rel=&quot;external&quot;&gt;Big Creek Software, LLC&lt;/a&gt;&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;MongoDB&lt;/h4&gt;

&lt;p&gt;&lt;a href=&quot;http://www.mongodb.org/&quot; rel=&quot;external&quot;&gt;MongoDB&lt;/a&gt; is a scalable, high-performance, open source, schema-free, document-oriented database that aims to combine the best features of document databases, key-value stores, and RDBMSes. MongoDB stores JSON-style documents and supports dynamic queries with rich JavaScript query expressions.&lt;/p&gt;

&lt;p&gt;MongoDB provides a native Ruby driver, and several open source projects provide additional support for using MongoDB from Ruby, including an ActiveRecord adapter.&lt;/p&gt;

&lt;p&gt;This presentation will cover the following topics:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Intro to MongoDB and overview of MongoDB capabilities&lt;/li&gt;
  &lt;li&gt;Using MongoDB from the JavaScript shell&lt;/li&gt;
  &lt;li&gt;Using MongoDB from the Ruby driver&lt;/li&gt;
  &lt;li&gt;Using MongoDB from within a Rails application&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We'll talk about when MongoDB might be a good choice for your project. We'll also try to compare and contrast MongoDB with other document-oriented databases like CouchDB (covered at our &lt;a href=&quot;/meetings/2009/02/&quot;&gt;February 2009 meeting&lt;/a&gt;).&lt;/p&gt;
</description>
          <pubDate>Wed, 02 Dec 2009 12:53:26 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2009/12/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2009/12/</link>
        </item>
      
        <item>
          <title>November 2009</title>
          <description>&lt;h4&gt;November 12, 2009&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h4&gt;David W. Body / &lt;a href=&quot;http://www.bigcreek.com/&quot; rel=&quot;external&quot;&gt;Big Creek Software, LLC&lt;/a&gt;&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;RubyGems - Past, Present, and Future&lt;/h4&gt;

&lt;p&gt;&lt;a href=&quot;http://rubygems.org/&quot; rel=&quot;external&quot;&gt;RubyGems&lt;/a&gt; is the standard for distributing and managing Ruby code packages. Beginning with Ruby 1.9, RubyGems is included with Ruby itself.&lt;/p&gt;

&lt;p&gt;Everyone who has worked with with Ruby is probably already familiar with using RubyGems to download and install Ruby libraries written by others. Gems exist for many tasks, including, for example, manipulating images, validating credit cards, parsing HTML, and generating PDF's. Gems are also an excellent way of distributing your own code if you create a Ruby library you want to share with others.&lt;/p&gt;

&lt;p&gt;In this talk, we will briefly discuss the history of RubyGems before focusing on the present and future of RubyGems. Specifically, we will discuss:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Using RubyGems and managing your RubyGems environment&lt;/li&gt;
  &lt;li&gt;The transition to &lt;a href=&quot;http://gemcutter.org/&quot; rel=&quot;external&quot;&gt;GemCutter&lt;/a&gt; from &lt;a href=&quot;http://rubyforge.org/&quot; rel=&quot;external&quot;&gt;RubyForge&lt;/a&gt; and &lt;a href=&quot;http://gems.github.com/&quot; rel=&quot;external&quot;&gt;Github&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Creating and publishing your own gems using &lt;a href=&quot;http://github.com/technicalpickles/jeweler/&quot; rel=&quot;external&quot;&gt;Jeweler&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://github.com/wycats/bundler/&quot; rel=&quot;external&quot;&gt;Bundler&lt;/a&gt; (a gem to bundle gems)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There will be plenty of time for discussion, so bring your RubyGems questions and ideas.&lt;/p&gt;</description>
          <pubDate>Mon, 26 Oct 2009 10:10:23 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2009/11/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2009/11/</link>
        </item>
      
        <item>
          <title>October 2009</title>
          <description>&lt;h4&gt;October 8, 2009&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h4&gt;Darrin Holst / &lt;a href=&quot;http://www.geolearning.com/&quot; rel=&quot;external&quot;&gt;GeoLearning&lt;/a&gt;&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;Searching ActiveRecord Models&lt;/h4&gt;

&lt;p&gt;Search is one of the most common tasks performed by computer users, so
it's not surprising that a common application requirement is that data
within an application be searchable.  In a Rails application, or for
that matter any application that uses ActiveRecord, what are the best
ways to implement search functionality?&lt;/p&gt;

&lt;p&gt;Darrin has set out to answer that question and he will share what he
has learned. This presentation will compare the following approaches
to searching ActiveRecord models:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Plain Old SQL&lt;/li&gt;
  &lt;li&gt;Plugins/gems that wrap SQL&lt;/li&gt;
  &lt;li&gt;Sphinx/UltraSphinx&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There will be time for discussion, so bring your questions and
suggestions for alternative ways to implement search in an
ActiveRecord application.&lt;/p&gt;
</description>
          <pubDate>Thu, 01 Oct 2009 07:36:52 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2009/10/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2009/10/</link>
        </item>
      
        <item>
          <title>September 2009</title>
          <description>&lt;h4&gt;September 10, 2009&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h4&gt;Yehuda Katz / &lt;a href=&quot;http://www.engineyard.com/&quot; rel=&quot;external&quot;&gt;Engine Yard&lt;/a&gt;&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;What's New in Rails 3?&lt;/h4&gt;

&lt;p&gt;In honor of the Iowa Ruby Brigade's two-year anniversary, &lt;a rel=&quot;external&quot; href=&quot;http://yehudakatz.com/&quot;&gt;Yehuda Katz&lt;/a&gt; of 
&lt;a href=&quot;http://www.engineyard.com/&quot; rel=&quot;external&quot;&gt;Engine Yard&lt;/a&gt; will join us to talk about some of the new features in Rails 3,
and to answer questions and discuss topics of interest to the group.&lt;/p&gt;

&lt;p&gt;Of course Rails 3 is the result of the &lt;a href=&quot;http://weblog.rubyonrails.org/2008/12/23/merb-gets-merged-into-rails-3&quot; rel=&quot;external&quot;&gt;merger&lt;/a&gt; 
of two Ruby web frameworks: &lt;a href=&quot;http://www.rubyonrails.org/&quot; rel=&quot;external&quot;&gt;Ruby on Rails&lt;/a&gt; and 
&lt;a href=&quot;http://merbivore.com/&quot; rel=&quot;external&quot;&gt;Merb&lt;/a&gt;. Yehuda was lead developer of Merb, and as a Rails core team member, Yehuda has played a central 
role in the development effort to merge the two frameworks. Yehuda will talk about that effort and preview some of the changes in Rails 3.&lt;/p&gt;

&lt;p&gt;We'll also have plenty of time for questions and general discussion.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/yehuda_katz.jpg&quot; alt=&quot;Yehuda Katz&quot;/&gt;&lt;/p&gt;

&lt;p&gt;Yehuda Katz is currently employed by &lt;a href=&quot;http://www.engineyard.com/&quot; rel=&quot;external&quot;&gt;Engine Yard&lt;/a&gt;, and works full time as a Core Team Member on the Rails and Merb projects. He is the co-author of &lt;a href=&quot;http://www.manning.com/affiliate/idevaffiliate.php?id=485_93&quot; rel=&quot;external&quot;&gt;jQuery in Action&lt;/a&gt; and the upcoming &lt;a href=&quot;http://www.manning.com/affiliate/idevaffiliate.php?id=485_145&quot; rel=&quot;external&quot;&gt;Rails 3 in Action&lt;/a&gt;, and is a contributor to &lt;a href=&quot;http://www.manning.com/affiliate/idevaffiliate.php?id=485_96&quot; rel=&quot;external&quot;&gt;Ruby in Practice&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;He spends most of his time hacking on Rails and Merb, but also on other Ruby community projects, like &lt;a href=&quot;http://rubini.us/&quot; rel=&quot;external&quot;&gt;Rubinius&lt;/a&gt; and &lt;a href=&quot;http://datamapper.org/&quot; rel=&quot;external&quot;&gt;Datamapper&lt;/a&gt;. And when the solution doesn't yet exist, he'll try his hand at creating one - as such, he's also created projects like &lt;a href=&quot;http://github.com/wycats/thor/&quot; rel=&quot;external&quot;&gt;Thor&lt;/a&gt; and &lt;a href=&quot;http://github.com/sam/do&quot; rel=&quot;external&quot;&gt;DO.rb&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Yehuda will join us via remote video conferencing.&lt;/p&gt;</description>
          <pubDate>Sat, 29 Aug 2009 09:46:17 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2009/09/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2009/09/</link>
        </item>
      
        <item>
          <title>August 2009</title>
          <description>&lt;h4&gt;August 13, 2009&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h4&gt;Special Joint Meeting with &lt;a href=&quot;http://cocoaheads.org/us/DesMoinesIowa/index.html&quot; rel=&quot;external&quot;&gt;Des Moines CocoaHeads&lt;/a&gt;&lt;/h4&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h4&gt;Luke Amdor / &lt;a href=&quot;http://www.bigcreek.com/&quot; rel=&quot;external&quot;&gt;Big Creek Software, LLC&lt;/a&gt;&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;Creating Mac OS X Applications with MacRuby&lt;/h4&gt;

&lt;p&gt;&lt;a href=&quot;http://www.macruby.org/&quot; rel=&quot;external&quot;&gt;MacRuby&lt;/a&gt; is a full 1.9 compatible version of Ruby that runs on the ObjectiveC runtime. But that's not all. MacRuby brings the elegance and flexibility of Ruby to create full fledged Mac OS X desktop applications. MacRuby doesn't sacrifice speed to do this either.&lt;/p&gt;

&lt;p&gt;In this presentation, we'll discuss:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;how MacRuby fits in the Mac OS X and Ruby ecosystem.&lt;/li&gt;
  &lt;li&gt;Ruby, Objective-C, and CoreFoundation fundamentals.&lt;/li&gt;
  &lt;li&gt;how MacRuby works its magic&lt;/li&gt;
  &lt;li&gt;how to set up MacRuby projects&lt;/li&gt;
  &lt;li&gt;integration with Interface Builder&lt;/li&gt;
  &lt;li&gt;future of MacRuby&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We'll also put together some Mac OS X applications:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;the quintessential Twitter client&lt;/li&gt;
  &lt;li&gt;a Flickr photo search using HotCocoa&lt;/li&gt;
  &lt;li&gt;using &lt;a href=&quot;http://en.wikipedia.org/wiki/Test-driven_development&quot; rel=&quot;external&quot;&gt;Test Driven Development&lt;/a&gt; to create Cocoa applications&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We'll also explore the possibility of iPhone applications using MacRuby.&lt;/p&gt;
</description>
          <pubDate>Fri, 10 Jul 2009 17:00:37 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2009/08/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2009/08/</link>
        </item>
      
        <item>
          <title>July 2009</title>
          <description>&lt;h4&gt;July 9, 2009&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h4&gt;David W. Body / &lt;a href=&quot;http://www.bigcreek.com/&quot; rel=&quot;external&quot;&gt;Big Creek Software, LLC&lt;/a&gt;&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;Cucumber &amp;amp; Webrat&lt;/h4&gt;

&lt;p&gt;&lt;a href=&quot;http://cukes.info/&quot; rel=&quot;external&quot;&gt;Cucumber&lt;/a&gt; is a tool that lets software developers write descriptions of
how software should behave in plain English (or any other natural language).  These plain text descriptions can be executed
by Cucumber and can serve as automated acceptance tests for the software they describe.&lt;/p&gt;

&lt;p&gt;Here is a simple example. Describe a HelloWorld class as follows:&lt;/p&gt;
&lt;pre&gt;
  Scenario: HelloWorld says Hello
  Given An instance of HelloWorld
  When I send it the say_hello message
  Then it should say &quot;Hello, Iowa Ruby Brigade!&quot;
&lt;/pre&gt;

&lt;p&gt;Implement the HelloWorld class:&lt;/p&gt;
&lt;pre&gt;
class HelloWorld
  def say_hello
    &quot;Hello, Iowa Ruby Brigade!&quot;
  end
end
&lt;/pre&gt;

&lt;p&gt;After some minor setup, execute the description with Cucumber and you get this output:&lt;/p&gt;
&lt;pre&gt;
Scenario: HelloWorld says Hello
  Given An instance of HelloWorld
  When I send it the say_hello message
  Then it should say &quot;Hello, Iowa Ruby Brigade!&quot;

1 scenario (1 passed)
3 steps (3 passed)
0m0.001s
&lt;/pre&gt;

&lt;p&gt;Although Cucumber is written in Ruby, Cucumber can be used to write descriptions (acceptance tests) for software 
written in Ruby, Java, or .NET.&amp;nbsp; What's more, Cucumber can be used to describe (test) web applications written in any 
language.&lt;/p&gt;

&lt;p&gt;Topics that will be covered:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Introduction to Cucumber&lt;/li&gt;
  &lt;li&gt;Using Cucumber with RSpec&lt;/li&gt;
  &lt;li&gt;Using Cucumber with Ruby on Rails&lt;/li&gt;
  &lt;li&gt;Using Cucumber &amp;amp; &lt;a href=&quot;http://gitrdoc.com/brynary/webrat/tree/master/&quot; rel=&quot;external&quot;&gt;Webrat&lt;/a&gt; with Java web applications&lt;/li&gt;
&lt;/ul&gt;
</description>
          <pubDate>Wed, 01 Jul 2009 18:38:53 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2009/07/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2009/07/</link>
        </item>
      
        <item>
          <title>June 2009</title>
          <description>&lt;h4&gt;June 11, 2009&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h4&gt;David W. Body / &lt;a href=&quot;http://www.bigcreek.com/&quot; rel=&quot;external&quot;&gt;Big Creek Software, LLC&lt;/a&gt;&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;Rack &amp;amp; Metal&lt;/h4&gt;

&lt;p&gt;One of the most significant changes in Rails 2.3 was Rack integration. Rack integration not only simplifies deployment, but it also
enables Rails Metal, which provides a simple way to add super-fast actions to a Rails application. Yet because these change are largely internal,
many Rails developers may not even be aware of Rack or Metal &amp;mdash; even after upgrading to Rails 2.3.&lt;/p&gt;

&lt;p&gt;But Rack isn't just for Rails. Other Ruby web frameworks also include Rack adapters, including Camping, Merb, Sinatra, and Ramaze, to name a few. Web servers providing Rack handlers include Mongrel, WEBrick, Thin, and Phusion Passenger, to name a few. In fact Phusion Passenger, which is often referred to as &quot;mod_rails&quot; could more aptly be named &quot;mod_rack.&quot;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://rack.rubyforge.org/&quot; rel=&quot;external&quot;&gt;Rack&lt;/a&gt; is a minimal API for connecting web servers with
Ruby web frameworks. How minimal? Here is a simple Rack application:&lt;/p&gt;

&lt;pre&gt;
class HelloWorld
  def call(env)
    [200, {&quot;Content-Type&quot; =&gt; &quot;text/plain&quot;}, [&quot;Hello world!&quot;]]
  end
end
&lt;/pre&gt;

&lt;p&gt;David will introduce Rack and explain briefly how it works. We will then look at how Rails and other frameworks use Rack, and how developers can
take advantage of Rack.&lt;/p&gt;

&lt;p&gt;Topics that will be covered:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Building and running a simple Rack application&lt;/li&gt;
  &lt;li&gt;Rack integration in Rails, including script/server and rake middleware&lt;/li&gt;
  &lt;li&gt;Rack middleware&lt;/li&gt;
  &lt;li&gt;Rails Metal&lt;/li&gt;
  &lt;li&gt;and more...&lt;/li&gt;
&lt;/ul&gt;
</description>
          <pubDate>Wed, 03 Jun 2009 06:33:23 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2009/06/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2009/06/</link>
        </item>
      
        <item>
          <title>May 2009</title>
          <description>&lt;h4&gt;May 14, 2009&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;RailsConf Recap &amp;amp; General Discussion&lt;/h4&gt;

&lt;p&gt;&lt;a href=&quot;http://en.oreilly.com/rails2009/&quot; rel=&quot;external&quot;&gt;RailsConf&lt;/a&gt; is May 4-7, 2009, and at least half a dozen members of the Iowa Ruby Brigade will be there. We'll talk about what happened at RailsConf and give everyone who attended a chance to share some new things they learned with the group.&lt;/p&gt;

&lt;p&gt;We'll also discuss anything else of interest to the group, so bring your Ruby and Rails questions.&lt;/p&gt;
</description>
          <pubDate>Wed, 29 Apr 2009 13:30:00 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2009/05/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2009/05/</link>
        </item>
      
        <item>
          <title>April 2009</title>
          <description>&lt;h4&gt;April 9, 2009&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h4&gt;Cassie Schmitz / &lt;a href=&quot;http://www.printwhatyoulike.com/&quot; rel=&quot;external&quot;&gt;PrintWhatYouLike.com&lt;/a&gt;&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;&lt;a href=&quot;http://www.printwhatyoulike.com/&quot; rel=&quot;external&quot;&gt;PrintWhatYouLike.com&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;In this presentation, Cassie will talk about building her new startup,
PrintWhatYouLike.com, an online editor that lets you reformat any web
page for printing.  Try it out at: &lt;a href=&quot;http://www.printwhatyoulike.com&quot; rel=&quot;external&quot;&gt;www.printwhatyoulike.com&lt;/a&gt;
Cassie will show how cool Ruby technologies have been used to power
PrintWhatYouLike.&lt;/p&gt;

&lt;p&gt;Topics that will be covered:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Reasons for moving from Google App Engine to Ruby on Rails&lt;/li&gt;
  &lt;li&gt;Creating a proxy server&lt;/li&gt;
  &lt;li&gt;Using Hpricot to parse even horribly invalid HTML&lt;/li&gt;
  &lt;li&gt;Supporting web pages from around the world&lt;/li&gt;
  &lt;li&gt;Incorporation of Twitter on homepage&lt;/li&gt;
  &lt;li&gt;and more...&lt;/li&gt;
&lt;/ul&gt;</description>
          <pubDate>Wed, 08 Apr 2009 08:36:50 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2009/04/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2009/04/</link>
        </item>
      
        <item>
          <title>March 2009</title>
          <description>&lt;h4&gt;March 12, 2009&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h4&gt;Darrin Holst / &lt;a href=&quot;http://www.geolearning.com/&quot; rel=&quot;external&quot;&gt;GeoLearning&lt;/a&gt;&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;Shoes&lt;/h4&gt;

&lt;p&gt;Shoes is a lightweight Ruby GUI toolkit for beginners developed by Why the Lucky Stiff.  Here's an example of a simple Shoes application:&lt;/p&gt;

&lt;pre&gt;
Shoes.app {
 @push = button &quot;Push me&quot;
 @note = para &quot;Nothing pushed so far&quot;

 @push.click {
   @note.replace &quot;Aha! Click!&quot;
 }
}
&lt;/pre&gt;

&lt;p&gt;Darrin will present an introduction and overview of Shoes, including the recently released &quot;Raisins&quot; version.&lt;/p&gt;

&lt;p&gt;For more information on Shoes, see&lt;/p&gt;

 &lt;p&gt;&lt;a href=&quot;http://shoooes.net/about/&quot; rel=&quot;external&quot;&gt;http://shoooes.net/about/&lt;/a&gt;&lt;/p&gt;

 &lt;p&gt;&lt;a href=&quot;http://github.com/why/shoes/tree/master&quot; rel=&quot;external&quot;&gt;http://github.com/why/shoes/tree/master&lt;/a&gt;&lt;/p&gt;
</description>
          <pubDate>Fri, 20 Feb 2009 20:12:12 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2009/03/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2009/03/</link>
        </item>
      
    
      
        <item>
          <title>December 2008</title>
          <description>&lt;h4&gt;December 11, 2008&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h4&gt;David W. Body / &lt;a href=&quot;http://www.bigcreek.com/&quot; rel=&quot;external&quot;&gt;Big Creek Software, LLC&lt;/a&gt;&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;Ruby and Rails Debugging&lt;/h4&gt;

&lt;p&gt;David will lead a discussion of Ruby and Rails debugging tools and techniques, including but not limited to&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;puts (stdout) and logging&lt;/li&gt;
  &lt;li&gt;The standard Ruby debugger&lt;/li&gt;
  &lt;li&gt;Interactive Ruby (IRB) / Rails Console&lt;/li&gt;
  &lt;li&gt;NetBeans Ruby Debugger&lt;/li&gt;
  &lt;li&gt;IntelliJ IDEA Ruby Debugger&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everyone is encouraged to share their own debugging tips and techniques with the group.&lt;/p&gt;
</description>
          <pubDate>Wed, 10 Dec 2008 07:20:45 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2008/12/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2008/12/</link>
        </item>
      
        <item>
          <title>November 2008</title>
          <description>&lt;h4&gt;November 13, 2008&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h4&gt;David W. Body / &lt;a href=&quot;http://www.bigcreek.com/&quot; rel=&quot;external&quot;&gt;Big Creek Software, LLC&lt;/a&gt;&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;Blocks and Closures in Ruby&lt;/h4&gt;

&lt;p&gt;People who are new to Ruby can usually learn the basics of the language and start getting work done in just a few hours.&amp;nbsp; That's because most of Ruby's syntax and semantics are familiar to anyone who knows another object-oriented language such as Java, C#, PHP, or Delphi.&lt;/p&gt;

&lt;p&gt;However, one of the more unique features of Ruby, and one that sometimes mystifies Ruby rookies, is the Ruby block.&amp;nbsp; What's a Ruby block?&amp;nbsp;  Here's a simple example:&lt;/p&gt;

&lt;pre class=&quot;textmate-source slush_poppies&quot; style=&quot;font-size: 12px;&quot;&gt;&lt;span class=&quot;source source_ruby&quot;&gt;  &lt;span class=&quot;constant constant_numeric constant_numeric_ruby&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby&quot;&gt;.&lt;/span&gt;times &lt;span class=&quot;keyword keyword_control keyword_control_start-block keyword_control_start-block_ruby&quot;&gt;do
&lt;/span&gt;    puts &lt;span class=&quot;string string_quoted string_quoted_double string_quoted_double_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby&quot;&gt;&quot;&lt;/span&gt;Hello, Iowa!&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;keyword keyword_control keyword_control_ruby&quot;&gt;end&lt;/span&gt;
&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;The block is the code between the do and end keywords.&amp;nbsp; This could also be written as&lt;/p&gt;

&lt;pre class=&quot;textmate-source slush_poppies&quot; style=&quot;font-size: 12px;&quot;&gt;&lt;span class=&quot;source source_ruby&quot;&gt;  &lt;span class=&quot;constant constant_numeric constant_numeric_ruby&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby&quot;&gt;.&lt;/span&gt;times &lt;span class=&quot;punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;meta meta_syntax meta_syntax_ruby meta_syntax_ruby_start-block&quot;&gt; &lt;/span&gt;puts &lt;span class=&quot;string string_quoted string_quoted_double string_quoted_double_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby&quot;&gt;&quot;&lt;/span&gt;Hello, Iowa!&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby&quot;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;This time the block is the code inside the {}.&lt;/p&gt;

&lt;p&gt;David's presentation will be in three parts.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;For Ruby beginners, David will introduce Ruby iterators and blocks, and will show how they work and how you can use them in your own programs.  You'll see that it's simpler than you might first think.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;For intermediate Rubyists, David will discuss the closely related subjects of closures, and Ruby procs and lambdas.&amp;nbsp; We'll see that procs and lambdas are essentially objects representing chunks of code that operate in the context in which they were defined.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Finally, for all Ruby users, David will talk about the changes in Ruby 1.9 relating to blocks, procs, lambdas, etc.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Something for everyone!&lt;/p&gt;
</description>
          <pubDate>Wed, 22 Oct 2008 19:20:14 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2008/11/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2008/11/</link>
        </item>
      
        <item>
          <title>October 2008</title>
          <description>&lt;h4&gt;Thursday, October 9, 2008&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h4&gt;&lt;a href=&quot;http://blog.blainebuxton.com&quot; rel=&quot;external&quot;&gt;Blaine Buxton&lt;/a&gt;&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;Advanced Ruby&lt;/h4&gt;

&lt;p&gt;Ruby is a wondrous language that can do more than just simply power Rails.&amp;nbsp; In this talk, Blaine Buxton will show off his &lt;a href=&quot;http://rubyforge.org/projects/lazyenum/&quot; rel=&quot;external&quot;&gt;Lazy Enumeration&lt;/a&gt; project, which while not a large project shows off a lot of Ruby's most advanced features.&amp;nbsp; Lazy Enumeration was implemented when Blaine read a paper on Higher Order Methods and wanted to play around with the idea.&amp;nbsp; Along the way, the idea was expanded to lazily build collections as well (they calculate collect, select, etc only when necessary).&amp;nbsp; Be prepared to see excellent use of polymorphism and functional programming.&amp;nbsp; Blaine will show how you too can push your Ruby code to greater heights.&amp;nbsp; Bring your thinking caps and curiosity.&lt;/p&gt;

&lt;p&gt;Blaine leads the &lt;a href=&quot;http://odynug.blainebuxton.com/&quot; rel=&quot;external&quot;&gt;Omaha Dynamic Language User Group&lt;/a&gt;.&lt;/p&gt;
</description>
          <pubDate>Sat, 13 Sep 2008 08:52:44 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2008/10/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2008/10/</link>
        </item>
      
        <item>
          <title>September 2008</title>
          <description>&lt;h4&gt;Thursday, September 11, 2008&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h4&gt;Cassie Schmitz / &lt;a href=&quot;http://www.iowai.org/&quot; rel=&quot;external&quot;&gt;Iowa Interactive&lt;/a&gt;&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;RSpec&lt;/h4&gt;

&lt;p&gt;&lt;a href=&quot;http://rspec.info/&quot; rel=&quot;external&quot;&gt;RSpec&lt;/a&gt; is a behavior-driven development framework for Ruby.  Cassie
will demonstrate the features of RSpec and describe her experience
with using RSpec in her latest Ruby on Rails project.&lt;/p&gt;

&lt;p&gt;Topics that will be covered:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Behavior-Driven Development vs. Test-Driven Development&lt;/li&gt;
  &lt;li&gt;Expressing the expected behavior of your code&lt;/li&gt;
  &lt;li&gt;Spec::Rails&lt;/li&gt;
  &lt;li&gt;Story Runner&lt;/li&gt;
  &lt;li&gt;Mock objects and method stubs&lt;/li&gt;
  &lt;li&gt;Generating specifications&lt;/li&gt;
  &lt;li&gt;RCov Coverage tool integration&lt;/li&gt;
&lt;/ul&gt;
</description>
          <pubDate>Wed, 10 Sep 2008 07:42:21 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2008/09/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2008/09/</link>
        </item>
      
        <item>
          <title>August 2008</title>
          <description>&lt;h4&gt;Thursday, August 14, 2008&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h4&gt;Frank Luke / &lt;a href=&quot;http://www.bigcreek.com/&quot; rel=&quot;external&quot;&gt;Big Creek Software, LLC&lt;/a&gt;&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;NetBeans&lt;/h4&gt;

&lt;p&gt;InfoWorld just published a &lt;a href=&quot;http://www.infoworld.com/article/08/07/07/28TC-ruby-ides_1.html&quot; rel=&quot;external&quot;&gt;review of nine Rails IDEs and editors&lt;/a&gt;, and rated &lt;a href=&quot;http://netbeans.org&quot; rel=&quot;external&quot;&gt;NetBeans 6.1&lt;/a&gt; the highest of the bunch.&amp;nbsp; NetBeans, which is free and runs on Windows, Linux, Mac OS X, and Solaris, even beat &lt;a href=&quot;http://macromates.com&quot; rel=&quot;external&quot;&gt;TextMate&lt;/a&gt;, the editor of choice of the Rails core team.&lt;/p&gt;
&lt;p&gt;Frank will demonstrate the Ruby and Rails features of the latest version of NetBeans and will describe his experience using NetBeans as a Ruby IDE on a daily basis for several weeks.&lt;/p&gt;
&lt;p&gt;NetBeans Ruby features include:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Ruby project management&lt;/li&gt;
  &lt;li&gt;Ruby source code editor with code completion&lt;/li&gt;
  &lt;li&gt;Ruby refactoring support&lt;/li&gt;
  &lt;li&gt;Support for Test::Unit, AutoTest, and RSpec&lt;/li&gt;
  &lt;li&gt;Support for running Rails generators and Rake tasks within the IDE&lt;/li&gt;
  &lt;li&gt;Ruby and Rails Debugger&lt;/li&gt;
&lt;/ul&gt;
</description>
          <pubDate>Wed, 13 Aug 2008 18:57:31 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2008/08/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2008/08/</link>
        </item>
      
        <item>
          <title>July 2008</title>
          <description>&lt;h4&gt;Thursday, July 10, 2008&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h2 title=&quot;and your fellow Rubyists&quot;&gt;You&lt;/h2&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;Tips &amp;amp; Tricks / Q&amp;amp;A / Hackfest&lt;/h4&gt;

&lt;p&gt;Bring your Ruby questions, puzzlers, tips, &amp;amp; tricks and join us for an open Q&amp;amp;A and coding session.&amp;nbsp; Whether you're a newbie with questions, an intermediate Rubyist, or an advanced Ruby hacker, this meeting is for you.&amp;nbsp; Get your questions answered, share your knowledge, and get to know your fellow programmers.&lt;/p&gt;

&lt;p&gt;Please come with at least one question or tip.&lt;/p&gt;</description>
          <pubDate>Fri, 27 Jun 2008 07:14:00 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2008/07/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2008/07/</link>
        </item>
      
        <item>
          <title>June 2008</title>
          <description>&lt;h4&gt;Thursday, June 19, 2008&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h4&gt;David W. Body / &lt;a href=&quot;http://www.bigcreek.com/&quot; rel=&quot;external&quot;&gt;Big Creek Software, LLC&lt;/a&gt;&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;What's New in Rails 2.1?&lt;/h4&gt;

&lt;p&gt;David will explain and demonstrate the new features of &lt;a href=&quot;http://www.rubyonrails.org/&quot; rel=&quot;external&quot;&gt;Ruby on Rails&lt;/a&gt; version 2.1, which was officially &lt;a href=&quot;http://weblog.rubyonrails.org/2008/6/1/rails-2-1-time-zones-dirty-caching-gem-dependencies-caching-etc&quot; rel=&quot;external&quot;&gt;released&lt;/a&gt; June 1, 2008, at &lt;a href=&quot;http://en.oreilly.com/rails2008/public/content/home&quot; rel=&quot;external&quot;&gt;RailsConf.&lt;/a&gt;&amp;nbsp; Rails 2.1 is the result of more than 1600 patches submitted by 1400 contributors in the 6 months or so since Rails 2.0 was released.&lt;/p&gt;
&lt;p&gt;New features include:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Time zones&lt;/li&gt;
  &lt;li&gt;Partial updates&lt;/li&gt;
  &lt;li&gt;Gem dependencies&lt;/li&gt;
  &lt;li&gt;Named scope&lt;/li&gt;
  &lt;li&gt;&lt;span class=&quot;caps&quot;&gt;UTC&lt;/span&gt;-based migrations&lt;/li&gt;
  &lt;li&gt;Better caching&lt;/li&gt;
&lt;/ul&gt;
</description>
          <pubDate>Mon, 02 Jun 2008 20:23:00 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2008/06/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2008/06/</link>
        </item>
      
        <item>
          <title>May 2008</title>
          <description>&lt;h4&gt;Thursday, May 15, 2008&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Speakers&lt;/h3&gt;
&lt;h4&gt;Luke Amdor / &lt;a href=&quot;http://www.studentloan.org/&quot; rel=&quot;external&quot;&gt;Iowa Student Loan&lt;/a&gt;&lt;/h4&gt;
&lt;h4&gt;Ryan Hanks&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;Git&lt;/h4&gt;

&lt;p&gt;Are you ready for an actual version control system that actually stays out of the way?&amp;nbsp; A system that doesn't take umpteen million commands just to work on a branch?&amp;nbsp; Something that doesn't force its workflow on you.&amp;nbsp; Welcome to the world of Git.&amp;nbsp; Git (&lt;a href=&quot;http://git.or.cz/&quot; rel=&quot;external&quot;&gt;http://git.or.cz/&lt;/a&gt;) is a distributed version control system focused on speed, effectivity and real-world usability.&amp;nbsp; Git was born out of the need for a non-linear distributed workflow for Linux kernel development.&amp;nbsp; Linus Torvald's design criteria were easy: &quot;Take CVS as an example of what not to do.&amp;nbsp; If in doubt, do the opposite.&quot;&lt;/p&gt;
</description>
          <pubDate>Sat, 03 May 2008 07:18:23 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2008/05/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2008/05/</link>
        </item>
      
        <item>
          <title>April 2008</title>
          <description>&lt;h4&gt;Thursday, April 17, 2008&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h4&gt;David W. Body / &lt;a href=&quot;http://www.bigcreek.com/&quot; rel=&quot;external&quot;&gt;Big Creek Software, LLC&lt;/a&gt;&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;Capistrano&lt;/h4&gt;

&lt;p&gt;&lt;a href=&quot;http://www.capify.org/&quot; rel=&quot;external&quot;&gt;Capistrano&lt;/a&gt;, a tool for automating tasks on remote servers, has become the de facto standard for deploying Rails applications.&amp;nbsp; But it can be used for many other things, including deploying applications written in other languages and frameworks, as well as general system administration.&amp;nbsp; David's presentation will cover the following topics:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Getting started with Capistrano&lt;/li&gt;
  &lt;li&gt;Capistrano's requirements and assumptions&lt;/li&gt;
  &lt;li&gt;Writing Capistrano recipes&lt;/li&gt;
  &lt;li&gt;Deploying Rails applications with Capistrano&lt;/li&gt;
  &lt;li&gt;Rolling back changes on remote servers&lt;/li&gt;
  &lt;li&gt;Using Capistrano for system administration and other tasks&lt;/li&gt;
&lt;/ul&gt;
</description>
          <pubDate>Mon, 07 Apr 2008 18:41:59 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2008/04/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2008/04/</link>
        </item>
      
        <item>
          <title>March 2008</title>
          <description>&lt;h4&gt;Thursday, March 27, 2008&lt;span style=&quot;vertical-align:super&quot;&gt;*&lt;/span&gt;&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h4&gt;Luke Amdor / &lt;a href=&quot;http://www.studentloan.org/&quot; rel=&quot;external&quot;&gt;Iowa Student Loan&lt;/a&gt;&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;Alternative Ruby (JRuby / Rubinius / IronRuby)&lt;/h4&gt;

&lt;p&gt;&lt;span style=&quot;vertical-align:super&quot;&gt;*&lt;/span&gt;&lt;b&gt;Note:&lt;/b&gt;&amp;nbsp; This is a special meeting date.&amp;nbsp; We will return to our normal third Thursday meeting date in April.&lt;/p&gt;

&lt;p&gt;Lately there has been a plethora of news surrounding alternative Ruby interpreters: Sun hires the main JRuby developers, Oracle begins deploying JRuby on Rails applications, Engine Yard hires Rubinius developers to work full time on Rubinius, and Microsoft is currently developing it's own Ruby interpreter IronRuby to run on its CLR.&lt;/p&gt;

&lt;p&gt;In this presentation, we'll talk about the motivation behind these interpreters, where they're headed, and what impact this is having on the Ruby community.&lt;/p&gt;
</description>
          <pubDate>Sun, 02 Mar 2008 22:05:53 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2008/03/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2008/03/</link>
        </item>
      
    
      
        <item>
          <title>December 2007</title>
          <description>&lt;h4&gt;Thursday, December 20, 2007&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h4&gt;Josh More / &lt;a href=&quot;http://www.alliancetechnologies.net/&quot; rel=&quot;external&quot;&gt;Alliance Technologies&lt;/a&gt;&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;Web Application Security&lt;/h4&gt;

&lt;p&gt;Josh More presents an excerpt from SANS 504: Hacker Techniques,
Exploits and Incident Handling.  We will cover issues like Cross Site
Scripting (XSS) and SQL Injection, with examples in a Ruby on Rails
application.&lt;/p&gt;

&lt;p&gt;Josh More has fourteen years of experience in IT, and seven years
working in Security. He has designed, developed, and implemented
distributed Linux-based secure products. He has also been the lead for
all technical security matters -- ranging from incident handling to
prevention -- in multiple companies. From a business perspective, he has
consulted on security policy, vulnerability analysis, and strategy.  He
will be teaching a SANS security course in Des Moines in January 2008.&lt;/p&gt;

&lt;h3&gt;Meeting Location&lt;/h3&gt;

&lt;p style=&quot;font-weight:bold&quot;&gt;&lt;a href=&quot;http://www.alliancetechnologies.net/&quot; rel=&quot;external&quot;&gt;Alliance Technologies&lt;/a&gt;&lt;br/&gt;
400 Locust Street, Suite 840&lt;br/&gt;
Des Moines, Iowa&lt;/p&gt;

&lt;p&gt;Directions&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Park at the ramp at 4th and Grand, or drive around and find a spot on
the street. (ramp parking costs $, street parking is free after 6).&lt;/li&gt;
&lt;li&gt;Come into the capital square building and take the escalator to the 2nd floor.&amp;nbsp; (If you come in via the skywalk, you will already be on the second floor.)&lt;/li&gt;
&lt;li&gt;Walk around to where the elevators are, sign in, and take an elevator to the 8th floor.&lt;/li&gt;
&lt;li&gt;Walk towards the near wall, turn left and cross the little bridge.&amp;nbsp; (The big bridge is the wrong way).&lt;/li&gt;

&lt;li&gt;Take the first left after you exit the small bridge.&amp;nbsp; Do not turn left until after you have crossed the bridge.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We are in a conference room on the left, after you pass several rooms and cubes.&amp;nbsp; Generally, you can just follow the noise.&lt;/p&gt;

&lt;p&gt;If you get lost, call Josh More at:  515-245-7701&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;time=&amp;date=&amp;ttype=&amp;q=400+Locust+Street,+Des+Moines,+IA&amp;sll=41.594713,-93.620596&amp;sspn=0.017716,0.038753&amp;ie=UTF8&amp;z=16&amp;iwloc=addr&amp;om=1&quot; rel=&quot;external&quot;&gt;Map&lt;/a&gt; (Alliance Technologies)&lt;/p&gt;


&lt;h3&gt;Dinner After the Meeting&lt;/h3&gt;
&lt;p&gt;If you can, please plan to join us for dinner at a local restaurant after the meeting.&lt;/p&gt;
</description>
          <pubDate>Tue, 18 Dec 2007 19:01:44 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2007/12/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2007/12/</link>
        </item>
      
        <item>
          <title>November 2007</title>
          <description>&lt;h4&gt;Thursday, November 15, 2007&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;h4&gt;David W. Body / &lt;a href=&quot;http://www.bigcreek.com&quot; rel=&quot;external&quot;&gt;Big Creek Software, LLC&lt;/a&gt;&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;Object-Oriented Ruby&lt;/h4&gt;

&lt;p&gt;The fundamentals of object-oriented programming in Ruby are straightforward and easy to learn.&amp;nbsp; But there are some aspects of object-oriented programming in Ruby that are special and set Ruby apart.&lt;/p&gt;

&lt;p&gt;Every data type in Ruby is an object, including data types that may be considered primitives in other languages.&amp;nbsp; For example, integers, booleans, and nil are objects.&amp;nbsp; Like other object-oriented languages, Ruby supports inheritance and dynamic dispatch of methods.&amp;nbsp; Although Ruby does not support multiple inheritance, it does allow collections of methods called modules to be &quot;mixed into&quot; classes.&lt;/p&gt;

&lt;p&gt;As in other object-oriented languages, Ruby objects are instances of classes.&amp;nbsp; But Ruby classes are themselves objects (instances of the class Class).&amp;nbsp; Yes, that means that Class is an instance of itself!&lt;/p&gt;
</description>
          <pubDate>Wed, 14 Nov 2007 13:43:26 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2007/11/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2007/11/</link>
        </item>
      
        <item>
          <title>October 2007</title>
          <description>&lt;h4&gt;Thursday, October 18, 2007&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;h3&gt;Speakers&lt;/h3&gt;
&lt;h4&gt;Mike Gorski, Lead Architect, &lt;a href=&quot;http://www.outsellinc.com&quot; rel=&quot;external&quot;&gt;Outsell, Inc.&lt;/a&gt;&lt;br/&gt;
Dan Buettner, IT Manager, Gannett Regional Toning Centers&lt;/h4&gt;

&lt;h3&gt;Topic&lt;/h3&gt;
&lt;h4&gt;Real Applications in Ruby on Rails: An Introduction&lt;/h4&gt;

&lt;p&gt;Ruby on Rails (RoR) is web application framework written in Ruby that 
implements a Model-View-Controller architecture for database-backed web 
sites.&amp;nbsp; There are plenty of tutorials available on the web which will guide 
you through building a simple web application with Ruby on Rails.&amp;nbsp; With this 
talk we hope to take that one step further by showing an RoR application in 
the real world.&lt;/p&gt;
</description>
          <pubDate>Wed, 17 Oct 2007 10:26:16 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2007/10/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2007/10/</link>
        </item>
      
        <item>
          <title>September 2007</title>
          <description>&lt;h4&gt;Thursday, September 20, 2007 - Organizational Meeting&lt;/h4&gt;

&lt;p&gt;6:00 - 7:30 PM&lt;/p&gt;

&lt;p&gt;Please join us for our first meeting.  We're just getting started, so please let us know how we can best serve the needs and interests of the Iowa Ruby community.&lt;/p&gt;

&lt;h3&gt;Speaker&lt;/h3&gt;
&lt;p&gt;David W. Body / &lt;a href=&quot;http://www.bigcreek.com&quot; rel=&quot;external&quot;&gt;Big Creek Software, LLC&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;Topics&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Organizational Meeting&lt;/li&gt;
&lt;li&gt;Getting Started with Ruby&lt;/li&gt;
&lt;/ul&gt;
</description>
          <pubDate>Sat, 28 Jul 2007 08:22:44 GMT</pubDate>
          <guid isPermaLink="false">http://www.iowaruby.org/meetings/2007/09/#<div><strong>undefined tag `lock_version'</strong></div></guid>
          <link>http://www.iowaruby.org/meetings/2007/09/</link>
        </item>
      
    
    
  </channel>
</rss>


