Skip to content

Instantly share code, notes, and snippets.

@jamesdabbs
Created March 14, 2014 19:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jamesdabbs/9555346 to your computer and use it in GitHub Desktop.
Save jamesdabbs/9555346 to your computer and use it in GitHub Desktop.
ATL Intermediate Ruby

As I announced at the last ATLRUG, I've been thinking about starting something of a Ruby study group. I'd love to get people's feedback, but here's the rough idea:

The Format

Each meeting we'll have an organizer who brings in a topic or problem and typically some Ruby code that starts to tackle the problem. That person then leads the group with some loose guidelines:

  • Focus on the code - every meeting should involve rolling up your sleeves, writing some Ruby code, and solving a problem (or at least making significant progress towards doing so)
  • Converse, don't present - the goal is for this to be interactive, and for members to be able to talk through different approaches, ask questions, and generally explore the concepts

So the actual content will depend greatly on the organizer and members. That said, I have some topics that I / people I've talked to would be happy to start with:

Ruby glue

Many people are familiar with Ruby mostly through Rails, but it is great for writing quick utility scripts. This session would touch on some common UNIX command line utilities (your pipes and cuts and greps and whatnot), and then look at the Ruby stdlib's tools for building super-charged versions of the same (system calls, IO, CSV, etc.). It's the kind of bread-and-butter Ruby that doesn't seem to get talked about much, but that I've found invaluable in my day-to-day work.

Building a personal gem

I've written a small mostly-personal-use Cmus (http://cmus.sourceforge.net/) wrapper gem: it spins up a DRb server (http://www.ruby-doc.org/stdlib-1.9.3/libdoc/drb/rdoc/DRb.html) to listen for media key presses and uses the Sequel gem (https://github.com/jeremyevans/sequel) for keeping playlists sync'd. I'd be glad to present either a little on that problem domain and look at ways to improve it, or talk about writing gems to scratch your own little itch.

Extending Rails

Not to exclude Rails entirely, we could have some sessions working through the specifics of expanding your post-Rails-Tutorial-blog with more common pieces of infrastructure: authentication systems, background workers, and the like. These would be hands-on introductions to things like Devise, Resque / Sidekiq, or whatever else people are interested in.

Who's It For?

My goal is to present topics that will challenge (but not overwhelm) a person who has graduated from the Emerald City group or worked through the Rails Tutorial, but I'm happy to adjust that target depending on interest. No matter how much Ruby you know, I think it's a valuable experience to work through solving a problem with other developers - you learn so much more than Ruby syntax by watching workflow, picking up editor techniques, and being exposed to different modes of thinking about things.

Interested?

Awesome! I'd love to hear about your background, what sorts of stuff you're struggling with / would like to learn more about. Also, if anyone has preferences for meeting times or locations (or would be interested in leading / hosting a session), please let me know. We have some options for locations already, but it'll largely depend on interest levels.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment