Past meetings

From NHRubyWiki

Jump to: navigation, search

Contents

June 17, 2008: Google App Engine

Brian DeLacey presented an introduction to Google's new App Engine, which allows you to create and deploy database-driven web applications with remarkable ease. Some of the main benefits of this platform are that deployment is trivially easy, and the app runs on a dynamically scalable computing cloud maintained by Google. Programming language support is currently limited to Python and includes most of the DJango framework, so plenty of discussion was devoted to the similarities and differences of Python and Ruby, Django and Rails.

Brian also showed off a new embedded computing platform based on the new Intel Atom CPU, which is what ran his presentation. Ubuntu Linux was his OS of choice for this platform, and it ran without any hiccups.

Finally, a number of free books were given to attendees thanks to O'Reilly's user group program.

May 20, 2008: Rack and NetBeans

Thanks to Ted Roche for the following summary:

Nick Plante entertained and educated the group on Rack, a foundation layer that interfaces between the web application handler (like Mongrel or FastCGI) and the actual web application framework adaptor (like merb or Camping or Halcyon or Sinatra) in a manner similar to the Python WSGI layer. It allows for the creation of custom web frameworks while removing a lot of the grunt work. Nick had a sample application whipped up where a few lines of code could define the routing of various requests and cleverly answered "Hello, World" to the correct RESTful query.

For those for whom Rails isn't the complete answer or those who want to build their own web functions with components other than those used by the Rails framework, Rack is a foundation on which you should be plugging together your building blocks.

Brian Turnbull volunteered to fill in a bit for Scott Garman, who had to cancel at the last minute. Brian had been using NetBeans only a brief while, but had a great story to tell on using the built-in debugger to trace out a problem with Rails-generated CSS meta tags always getting a cache-breaking URL. While a feature in development, when the CSS was being served from a caching store like Amazon's S3, the ever-changing URL defeated the point of caching. Brian showed how breakpoints could be applied to the code and step-by-step tracing and walked from his code into the Rails framework down to the mis-behaving component.

Having identified the problem, our discussion took a tangent into a discussion about monkey-patching, and how this 'feature' was a bug deserving of an optional switch to disable, and ought to be submitted upstream to the Rails maintainers. To confirm, we went through the steps to grab the latest version of rails so that we were working with the latest 'edge' code to confirm the problem hadn't already been fixed. By installing this way, we were overriding the Rails framework only for this application, and could easily revert to the stable version, without disturbing the main shared code on the machine. We talked about how this was a Best Practice when bringing an app under development up to production, so it was isolated from changes outside of the app's control.

Plenty of time was available for discussion, and we talked with Tim a bit about configuring a new machine with all the tools he'd need to develop a Rails app with NetBeans: Ruby, Rails, a couple good gems, the Java runtime. Nick and Brian noted that the default Rails environment within NetBeans is JRuby not MRI (Matz' Ruby Interpreter) and how you might want to reconfigure NetBeans to use MRI instead if you weren't planning on deploying to a JRuby environment.

April 15, 2008: Live Help Session/Hackfest

Thanks to Ted Roche for the following summary:

We lead the night off with a brief video on Passenger, a new Apache module that hosts rails, like a mod_rails (not _ruby) module. Nick Plante reported he's been running it on one of his sites for a while and is pleased with the performance and the marked decrease in load. Having a mod_rails option available is likely to get hosting companies offering fractional horsepower shared virtual machines to be able to host Rails apps, bringing Rails onto the $7-a-month commodity hosting sites. Cool!

I asked for recommendations on the right way of parsing incoming XML and SOAP packets and was referred to Hpricot and soap4r. Another attendee asked for recommendations on Content Management Systems. Nick mentioned Radiant (which we got to see later in the presentation). comatose and railfrog. We got into a couple discussions during the evening on the stability and applicability of Ruby and Rails for many situations, citing high traffic web sites and the several runtime engines/VMs like JRuby in which Ruby code can run.

Finally, we arrived a the Live Hacking session where we got to watch Scott and then Nick show how to add new functionality to an existing app. Actually getting to see another craftsman at work brings out all sorts of good questions. Scott Garman added chronic to his To-Do application, ProgressPuppy. Chronic is a "natural language datetime parser," according to the web site, and Scott showed how it could easily be integrated into an existing app, and accept values like "Next Tuesday" or "Thursday last week" and return sane datetime values. A functional test was also written for the feature addition to demonstrate best practices in Rails development.

Nick showed us a little more of the Radiant application, and his work on making the Radiant CMS support multiple sites. The source he's working on is stored at github.com, and the networking graph is a thing to behold. Nick spent a little time getting us familiar with the different philosophy of git (branching is inexpensive, merging is very smart, branches can interact in many ways including pushing to and pulling from each other) and then grabbed the most recent code and hopped right into to refactor a code snippet that was an inelegant hack using a deprecated technique into one that was more proper, running our unit tests before and after to confirm the refactoring didn't break anything.

March 11, 2008: A Comparison of Rails and Django

Brian Turnbull gave a great overview of Ruby on Rails and Python's Django web frameworks and where each of them offers advantages. Streaming video of this presentation can be found here.

February 19, 2008: Return of the Lightning Talks

The following lightning talks were given by the following speakers:

Scott Garman:

  • Methods of looking up and making use of Ruby and Rails documentation.
  • Using piston to manage your Ruby on Rails plugins.
  • Writing an AOL Instant Messenger (AIM) bot in Ruby.

Nick Plante:

  • Mapping and geocoding with Rails.
  • Using the Sphinx search engine to perform full text searches.

January 15, 2008: Using OpenID in Rails and an ActionMailer Overview

Nick Plante gave an introduction to OpenID, including its benefits and current use on the 'net, and then dove into an example of using OpenID in a Ruby on Rails application. You can download PDF slides of Nick's presentation on OpenID. Scott Garman also gave a talk on ActionMailer, the Ruby on Rails component that sends and receives email. This talk included code examples from a live production Rails app, including testing practices for both unit and functional/integration testing. You can download PDF slides of Scott's presentation on ActionMailer.

December 2007: No Meeting

November 12, 2007: Reporting with Ruby and Rails

Ruby author and New Hampshire resident David Berube gave a presentation on using Ruby to perform various reporting tasks. Scott Garman gave a quick overview of monit and how it can be used to monitor mongrel processes for crashes and restart them if necessary. Nick Plante also gave a demo of the Sinatra mini-framework and talked a bit about DataMapper, and ORM library which is an alternative to ActiveRecord.

October 16, 2007: Deploying Rails Apps with Vlad the Deployer

Scott Garman gave a presentation and demonstration of deploying a Ruby on Rails application using Vlad the Deployer, a simpler alternative to Capistrano. Scott discussed some of the differences between Capistrano and Vlad, and the minor issues he ran into when using Vlad and their workarounds. PDF slides from this presentation.

Scott also demonstrated how the rcov gem and plugin can be used to generate HTML reports of your Rails application's test code coverage. Using code coverage tools substantially improves the benefits of testing software, and using rcov with a Rails application is about a simple as you can get.

Also touched upon briefly was the rake task "rails:update" which makes it trivially easy to upgrade your Rails application from one version to the next. Scott had previously been performing diffs between empty rails applications before learning about this method. It's worth taking a look at the output of rake -T to see what other hidden recipes might make your life easier.

Finally, David Berube demonstrated a Ruby desktop/network app hybrid he wrote for the film industry to manage the creation and review of actor casting auditions. The application made use of the fx ruby GUI library and was able to record video in multiple formats using third-party utilities such as Apple QuickTime.

September 25, 2007: Live Coding Session, Part 2

Thanks to Ted Roche for the following meeting summary:

Nick Plante had some great stories about the Rails Rumble, a 48-hour online programming contest he help run. A large number of teams competed and a fair number actually delivered working applications, some of them looking quite polished. There's open voting on the most popular applications, and winners will walk away with a number of desirable prizes. Nick's also been tapped to do the closing presentation at Ruby East, where he will demonstrate some of the more popular applications. There are some great apps there, and some will be providing their source code, though not all. Check them out!

On to the main presentation: Scott and Nick had started a simple Rails app for NHRuby.org members to be able to suggest future meeting topics and vote on them, giving the organizers some ideas on what to present next. Tonight, Scott presented the unit, functional and integration test frameworks built into Rails and/or available as add-ons. Nick showed the UI for the voting interface and dove deep into how the form functioned.

There was a lot of discussion, with debates on where the boundaries are in unit vs. functional vs. integration, and how Javascript (via the Prototype libraries) can be integrated into the interface and how Rails allows graceful degradation on platforms with Javascript unavailable or disabled. Comparisons were made between the internal, programmer-centric tests provided by Rails and external tests a QA person might run with a tool like Selenium.

August 21, 2007: Writing Ruby Desktop Apps

Brian DeLacey gave an engaging demo and overview of SHOES, a tiny Ruby toolkit for making web-like desktop applications. SHOES was developed by Why the Lucky Stiff, and is very simple to get up and running with. Brian then also showed how to use the GTK+ Ruby bindings to create native-looking applications for the GNOME desktop environment under GNU/Linux. Nick Plante discussed the upcoming Rails Rumble, a programming contest he has been involved in setting up that will be loads of fun.

July 17, 2007: Live Coding Session, Part 1

Nick Plante and Scott Garman hosted a live coding session during July's meeting to create a Rails-based web application for tracking proposed meeting topics. Models were created, database migrations were demonstrated, RESTful design was explained and used throughout, and the process for debugging problems as they inevitably cropped up was shown.

While we managed to get the application working with a user account system and the ability to save topics, the voting system has yet to be added. So next month, we will continue this process by adding a spiffy AJAX-enabled "1 to 5 star" voting system for the proposed meeting topics (note: this has been delayed until the September meeting). We will also demonstrate how to write unit, functional, and integration tests for this Rails application (which has yet to be named).

June 12, 2007: A Medley of Rails Topics

Our new meeting location at RMC Research is beautiful, to say the least! As you walk through the main doors and up the stairs, you pass by a museum-like arrangement of African masks, which are the collection of RMC Research's owner. The inside of the building has a very open and tasteful architecture, including the conference room, which has antique furniture along its walls. This room can easily hold 20-30 people, and the 62" plasma display is a great alternative to using an LCD projector.

Scott Garman's overview and demonstration of using the TabNav Rails plugin showed one of the many ways Rails can abstract time consuming forms of HTML and CSS coding into simpler methods for getting things done. Notes from the TabNav presentation.

Nick Plante gave a great presentation on how to contribute to Rails open source software projects. His overview included a discussion of the political issues of getting a patch accepted as well as the mechanics of generating a patch and submitting it to the project. PDF slides of this presentation.

Scott Garman then gave a short overview of some of the best screencasts for Ruby on Rails developers. These links are great resources for newcomers to Rails as well as experienced developers. Listing of these screencasts.

By this point we were running short on time, and Nick Plante gave a five minute overview of his planned presentation on using Macromedia Flash with Rails applications. Nick will be giving this complete presentation during a future meeting.

May 15, 2007: How to Deploy a Ruby on Rails Application

Scott Garman gave a presentation and live tutorial on how to deploy a Ruby on Rails application to a production server running Apache v2.2, mod_proxy_balancer, Mongrel, and MySQL. He also gave an introduction to Capistrano, a tool for automating the deployment of Rails applications from a source code repository to production server(s). The slides from this presentation can be downloaded here.

Three books were also given away, thanks to O'Reilly's user group support.

April 17, 2007: Lightning Talks

Nick Plante and Scott Garman gave some great lightning talks on various topics, including rake (Nick), RESTful web application design (Nick), and a demo with code example walkthroughs of a Rails-based task manager (Scott). Nick and Scott also gave enlightening demos of their development environments, consisting of IntelliJ and jedit, respectively.

March 20, 2007: Security and Cryptography in Ruby and Rails

Not only did Brian DeLacey impress us with the ease with which you can use cryptography libraries in Ruby, but he also give us quick tours of the Camping mini-framework for web applications, and demo'd some basic features of Ruby on Rails in his financial portfolio management application. Four people walked away with free books on security or Ruby on Rails, thanks to O'Reilly's user group support.

February 20, 2007: RJS Templates

We started with introductions and had a few new folks show up. Most people are still very early on in their Ruby/Rails experimentation, so we're going to keep that in mind for upcoming meeting topics.

After settling in, we watched a PeepCode screencast about RJS Templates. The screencast was a bit fast-paced, and the LCD projector I had a somewhat dim bulb in it, but I think everyone got to see some impressive AJAX calls and dynamic HTML effects that you can do with RJS, and not have to write a line of Javascript.

Everyone at the meeting got a coupon code to download one free PeepCode screencast, so they can follow the RJS sceencast at their own pace, or download a different screencast topic (these screencasts normally cost $9 and I find are well worth it as learning resources). I also handed out some schwag from O'Reilly.

After the screencast, the discussion turned to various things, including upcoming conferences, people's development environments, and some of the virtual machine implementations of Ruby.

January 16, 2007: Ruby and Rails Resources

Scott Garman kicked off the first meeting of the NH Seacoast Ruby/Rails User Group with an overview of some of his favorite resources for doing Ruby development and following the Ruby community. During this meeting, many web sites and other resources were discussed. You can find a list of them on Ruby and Rails Resources.

Personal tools