There are no RailsBridge Employees

RailsBridge is 100% volunteer-based. It’s really fun! But sometimes we end up with a big backlog of to-do items. Can you help with any of these things?

(Almost all of these things can be started by joining the RailsBridge Google group and introducing yourself! We’ll get you in touch with the right person from there. Alternately, comment on this blog post!)

Coding things:

* We have a Tracker backlog of lots of things that would make the RailsBridge web presence better: https://www.pivotaltracker.com/projects/710609. Some of them are easy, some are harder, any would be a huge help.

Communication things:

* We could use better materials for a quick intro to organizing. The cookbook is great for all the details, but a less threatening introduction would be great.
* I made a Git/Hub one page pull request guide that I would love help expanding: http://railsbridge.github.com/bridge_troll/. Suggestions? Send ’em my way (lillie.chilen@gmail.com).
* Blogging. We need bloggers. Can you blog about something (or anything even tangentially) related to RailsBridge?
* It would be fantastic to have a topic/skills roadmap for the RoR ecosystem (and the Railsbridge curricula in particular). Ping the mailing list if you’re interested in working on that!

Curriculum things:

* There are JavaScript, Git, and iOS curricula in the works. Want to help with those, or write a new one? Join the workshop Google group and introduce yourself!
* We’re going to attempt to merge the Boston RailsBridge repo with the main RailsBridge repo. If you’d like to help with that, ping the Google group.
* We need to rename our various curricula, because “Intro Rails” and “Intermediate Rails” gets really confusing when you have class levels that include the word Intermediate.

And my favorite: Bridge Troll! Our fun open source event management software project is chugging along, and we could use help with coding, documentation, bug testing, and UX!

There are no RailsBridge Employees

Bridge Troll: An Update!

A renewed effort to build out Bridge Troll (open source event management software) started in late November 2012, but mostly inside my head. As a new product manager, I wanted to define ALL THE THINGS before we started to build it. A kind developer-friend reminded me that that is very un-agile, and I should really get something out into the world ASAP. Luckily, there were extra volunteers at the December RailsBridge workshop,  and a few of them were willing to code instead of teach. Our official kick-off  took the form of a hack day in January, and awesome folks came out and made major contributions to the project. So where are we at now?

What We’ve Done

Here are the stories that have been completed & accepted since December 10, 2012:

  • Upgrade rails
  • Events should have Organizers
  • Only an event’s organizer should be able to edit that event
  • User should see only the RSVP’d participant’s names on event page
  • Organizers should see RSVP’d user’s email addresses and teaching preference
  • Event detail page should show organizer volunteers by teaching preference
  • Organizers should be able add details to Event
  • Event organizer should be able to specify co-organizers
  • User should have an Account page instead of “Add Your Skills” page
  • User has both a first and last name.
  • Organizer can format Event Details to have line breaks.
  • Organizer can specify that an event spans multiple sessions which can span multiple days
  • User should see an RSVP questions page
  • Users should have a Profile page
  • event dates should be rendered in the event’s time zone
  • User session should not expire
  • Manage Organizers page should have a link back to the event page
  • A volunteer can edit their RSVP preferences
  • Add teaching preferences checkboxes to volunteer RSVP form
  • Volunteer can specify which sessions they are attending

Doing all of those things required a lot of love and sweat and database decisions and migrations. This community is awesome.

When will Bridge Troll be ready for a trial run? Our MVP is that volunteers can sign up for an event and organizers can assign them their tasks & check them in at the event! It’s not too far off, but we could use your help. Plus, we’ve got a couple of designers working on the visual design & UX of the application, so that’ll take some major implementation work. (Pull requests accepted here; we also have something like a roadmap for adding student registration and class-level sorting. And of course, here’s our backlog.)

Who Is This Thing For? How Many Bridge Trolls Will There Be?

At the January hack day, I ran around answering questions and having conversations about where the project was going. A particularly fruitful one took place between myself and Sarah Allen, who was one of the original Bridge Troll product manager-types (and co-founded RailsBridge). I had been thinking that each RailsBridge community would have its own Bridge Troll instance — one each for SF, Boston, NW Florida, Seattle, and anybody who started holding workshops in their area could spin their own up.

The angle that I hadn’t considered was the huge opportunity we’d have for collaboration between cities if we shared an instance. Sarah pointed out we don’t always know if workshops will happen more than once in a given city, and that having a bunch of individual instances of Bridge Troll would probably not be very helpful. Certainly if a city wanted to have their own, they can go for it. But generally, it wouldn’t be an engineering challenge to allow filtering / sorting by location, and it would have major collaboration & data benefits to have everything living in the same place. I’m *really* glad that conversation happened!

Sarah and I also talked about bigger-picture hopes and dreams for Bridge Troll, which you can read through on the project wiki here: https://github.com/railsbridge/bridge_troll/wiki/Someday-Feature-Wishlist. I’m excited to deposit big ideas there so we can focus on slimming down the Bridge Troll MVP and getting something out the door.

Bridge Troll: An Update!

Workshop Organizing: Hard, but Awesome

Putting on a RailsBridge workshop takes a lot of different pieces. You need volunteers to teach and TA, you need students to devote half a weekend to computer-time, you need a place with lots of tables and chairs and power and wifi, and you need someone to pay for the food and the drinks. The RailsBridge community in San Francisco is ridiculously fortunate to have all of those things in spades. Bay Area rubyists are incredibly generous with their time, the companies are more than happy to host and feed us, and the students keep showing up. The only thing we really have to work for is finding workshop organizers.

For almost every other role in a workshop, you just show up. (Obviously, it’s nice when new teachers and TAs read the curriculum ahead of time.) Organizers have to put a bit more time into the workshop, and while there is certainly a kind of glory in directing traffic and telling people to go back to class after lunch (which, I admit, I love doing), organizing a workshop taxes a different part of the brain than coding, teaching, learning, or reading Reddit.

I am a very detail-oriented person and care a lot about making things as efficient as possible (you should see me optimize lunch buffet traffic), but you don’t have to be like me to throw a great workshop. As long as you can get all the people in the same place, and can provide them with sustenance, a workshop will definitely happen. (Also, wifi. Having the internet work is also necessary.)

How We Roll

The minimum viable workshop requires just a few things (space, people, food, internet), but since we’ve been doing this for about three years now, we’ve figured out what makes things run smoother. I hope I don’t scare any would-be workshop organizers, but here’s most of what we recommend you do when organizing a workshop, before the actual event itself (if you’re in SF, we’ve got the first five done for you):

Identify existing communities to collaborate with, Find a space, Find a sponsor, Recruit volunteers to teach, TA, and help you plan, Recruit participants, Join the organizer’s listserve, Confirm dates & details with the hosting venue, Meet your workshop mentor (if first time organizing), Post the event on Meetup.com, Survey the students and volunteers, Arrange catering, Make after-party reservations, Train the teachers, Communicate with everyone, Arrange childcare, Obtain necessary objects (power cords, flash drives, name tags, etc.), Update the pre- and post-workshop presentation slides, and Figure out student class levels.

(This is why you should always be super nice to your organizers.)

Because there’s a lot to do, wizened organizers will tell you:

Don’t organize alone. Always have a buddy.

(Supporting evidence: I recently organized a workshop by myself at my company, because organizers are a precious resource and I want conserve them right? Well, it turned out totally fine and no one died, but it was very stressful at times and I would not recommend doing it.)

Your co-organizer can do some of the stuff you don’t like doing. Hate giving presentations? Perhaps your co-organizer can. Bad answering strangers’ emails? Maybe your co-organizer can cover the pre-workshop communication. If you’re in SF and volunteer to organize, we will provide you with a brilliant co-organizer! And if you’re a new organizer, we’ll hook you up with a mentor — someone who has organized before and can answer your questions and be a proper cheerleader. (If you’re looking to establish a RailsBridge chapter in your town, let us know and we’ll try to help you find like-minded folks in your area.)

Are you super pumped? Do you want to organize a workshop? Are you wondering why Kansas City hasn’t had a workshop, and you want to make one happen? Or do you have a lead for an awesome company that might want to host a workshop? WE WANT ALL THE INFO!!!

ACTION ITEMS

  • If you want to organize in the Bay Area — email me (Lillie Chilen) at my first and last name @gmail.com, and my co-meta-organizer, Rachel Myers (rachel [dot] marie [dot] myers @gmail.com).
  • If your company wants to host a workshop, or sponsor one, or somehow else get involved, email Rachel and me.
  • If you’re getting started with RailsBridge outside of SF, join the mailing list and introduce yourself. We love to help.
  • For general awesomeness, join the workshop mailing list! We talk about upcoming workshops, the curriculum and installfest, and generally what RailsBridge is about and where it’s going. It’s pretty low-traffic, so come on by.
Workshop Organizing: Hard, but Awesome

RailsBridge Boston 2: Ruby with a Vengeance

Daniel Choi and a brilliant team of RoR devs put on their second Boston RailsBridge workshop in November. It included things like free O’Reilly & Prag Prog e-books and stickers featuring their sweet new logo. Oh, and learning. A lot of learning. (They also made an app to track students’ progress and display it on breaks! How cool is that!? I am super impressed.)

You should read Daniel’s write up of the weekend, including excerpts from the student follow-up surveys (major theme to watch for — the TAs were amazing):

http://www.railsbridgeboston.org/blog/2012_nov_recap

The student suggesting brie for next time might be on to something.

RailsBridge Boston 2: Ruby with a Vengeance

So Many Curricula

Suggestotron is the flagship RailsBridge curriculum. Although somewhat difficult to say aloud, it is the springboard for all RailsBridge intro to Rails classes, whether the students are total “Ruby Nubys” or professional Java developers wanting to learn more about this Rails thing. For the uninitiated, Suggestotron walks you step-by-step through building (and deploying to Heroku) a little topic-voting app: anyone can submit topics with descriptions, see them listed on a page, and vote them up. Kind of like a very, very lightweight Digg, as my first teacher said, back in the days when people talked about Digg like it was a thing.

Three years later, Suggestotron is still being used heavily and has been tweaked and given love and attention by a lot of different people. Since all the RailsBridge curricula are open source, you can fork it and submit a pull request if you see something that could be improved.

(Although not a curriculum, we also pour our hearts and souls into our step-by-step Installfest instructions, which cover all major operating systems and include contingency instructions for when things don’t go perfectly. Technologies installed or set up include: Ruby, Rails, Git, a bunch of gems, Heroku SSL keys, a text editor, and other OS-specific things, like RVM and Windows terminal config stuff. The Installfest instructions are quite the labor of love.)

In February 2012, for logistical reasons, there wasn’t a workshop planned. According to legend, a core member of the RailsBridge team, Steven! Ragnarök, thought it was high time to teach people a little bit more about front-end development and all the HTML-writing that Rails was saving them from. A friend of a friend of RailsBridge (and fantastic frontend dev), Ryan Richards, whipped up a curriculum and lead the first front end workshop. For the next front end workshop a scant two months later, another amazing frontend dev, Emily Nakashima, powered by caffeine and a looming workshop date, morphed Ryan’s original presentations into a web-based curriculum that could be used by students at every level. People were so excited. This was something they’d been wanting to learn, and now we were RailsBridge-i-fying frontend development. Success!

At this point in the story, we have two RailsBridge curricula (in addition to the slide decks we’d had covering Ruby for Beginners and Ruby for Programmers). Even more curricula were discussed in depth on the workshop organizer’s mailing list, and Carina Zona decided to make a full-day Ruby-only workshop a reality. We held that workshop on August 24 & 25, 2012 and had an awesome time digging into Ruby.

The most recent addition to the stable is what is currently being called the Intermediate Rails curriculum, and was written by Travis Grathwell and me. It’s a decidedly *not* step-by-step walk through building a Rails app: it presents features that need to be completed, then gives the student online resources, hints, and discussion topics that the teacher should consider covering. In it, you build a message board — something of a souped-up Suggestotron, with comments on the posts pages. One of the authors of that curriculum (me) made a writeup of the curriculum-writing process and how the first workshop went — you can check it out here.

And since there is so, so much more to learn, there is another curriculum in the works: Michele Titolo is – right now – writing an iOS curriculum! It is going to be awesome.

With all these things, and more on the horizon, it was high time that an index with all the different curricula existed. Thankfully, one was born on Tuesday, November 19, 2012. Check it out, and feel very encouraged to make pull requests, start your own workshops, write your own curriculum, and share your accomplishments with us (by commenting here, joining and posting to the workshop mailing list, or any other way you think would be fun).

Oh, you do want to write a curriculum? Here are just a few ideas for things we’d love to teach and learn:

  • Test-Driven Development
  • Terminal / Shell Superpowers
  • How Computers Work (Physically)
  • Networking And Its Joys
  • All About Browsers
  • Git: In Depth!
  • How To Be All Agile ’n Stuff

Want to talk about this on Twitter? Hit me up — I’m @lilliealbert.

 

So Many Curricula

Making a New Rails Curriculum

(Hi! I’m Lillie Chilen, and I do meta-organizing for RailsBridge SF, which means that I work with Rachel Myers to find organizers and venues for our monthly workshops here. This is a post I wrote on my blog and thought you might like!)

On a Sunday afternoon about a month ago, Travis Grathwell said he thought we should build a message board. So we sat on our couch and worked the rest of the day; him making suggestions for what I might do next, me remembering what rails is. I wanted it to be pretty, so after I had an empty app and had installed Devise (the authentication gem that Travis wanted to use), I added a rails-friendly version of Bootstrap. Since I didn’t know how any of these things worked already (and Travis knew generally, but didn’t know the specific commands to type in) we just read through the documentation and troubleshot as necessary.

After getting things set up, we were ready to actually make something useful — a post. I was a little bit rusty on the old MVC and what those things meant, but we played Follow the Error Message and got the models, views, and controllers set up. It got a little crazier when we added commenting (nested resources, anyone?), but by the end of the day I had a fun little app and Travis had posted on my LillieBoard message board with a topic of “Lillie is a doof”. I commented that that was not accurate.

Since we wanted to make a new Rails curriculum that was a bit closer to what it’s like to program IRL, we set out a series of four challenges:

  • Install Devise and make a static home page
  • Add Bootstrap
  • Add posts functionality
  • Add commenting

Each step had a series of requirements (i.e. “The user should be able to create a post with a title, author, date published, and content.”), as well as topics that teachers and students would probably want to discuss, links to topical resources, and some hints.

We did a little bit of beta testing with the gracious and supersmart Michelle Glauser during a RailsBridge workshop at GitHub. We found more pieces that needed clarification and decided to break up the beginning slides a bit more, so the “Make a static home page” came before “Install Devise” — having a home page before having authentication made it a lot easier to see what was going on.

I decided to organize a workshop to give this new curriculum a shot, and the fantastic VP of Engineering at VerticalResponse was totally behind sponsoring and hosting. So while testing and improving the curriculum, I got to plan foodstuffs and send many, many emails. Once the workshop was definitely happening, we tried to improve the curriculum as much as possible. We ended up splitting up the steps even more, and Travis made some sweet mockups using Balsamiq. I didn’t expect students to get through to the end, but I did figure they’d get to the point of being able to create a post.

Turns out it was kind of hard! By the time we had lunch, one class had just finished adding Devise to their app. But that class also spent a time in the morning reviewing CRUD and other concepts, so that once they were actually coding they had a better idea of what was going on. Another class sort of dissolved around 3:30pm, which was concerning, but the teacher himself said that he didn’t really stop them, and the students felt like they should just work on it at home, if they weren’t going to be told what to do. This seemed like the exception, though, as a lot of the classes were still working hard at 4:15pm when I started haranguing them to pack up for the day.

After we wrapped, we had a damn lively teacher’s retro — a lot of opinions on improvements for the curriculum as well as for sorting students to make sure they were in the correct class. On the registration survey, I had described each curriculum and let students choose between doing to intro Rails curriculum at one of two levels (Beginner or Advanced Beginner) or doing the brand-new Intermediate curriculum. In retrospect, some of the students doing the new curriculum weren’t quite ready for it, and probably should have done the intro curriculum again.

The plan now is to add more resources to this new curriculum and some concepts review for the teachers to teach before people dive into their apps. One comment I heard a few times was that people had spent too much time with Bootstrap and just wanted to get to rails, so I’m planning on making an optional cheat sheet with step-by-step instructions for anyone that wants a styled app but quickly. Another suggestion was grouping people by topics for the intermediate curriculum — perhaps the “let’s really get into databases” group, and the “make it really pretty” group, and the “dive into devise” group.

As many things as I want to improve, I’m really happy about how the workshop turned out. The general feedback I’ve heard is that the new curriculum really helps cement concepts for people who mostly get rails, but haven’t yet gotten a chance to apply what they learned from the intro curriculum. And I got to learn a ton, too! Now I just need to get someone to write my dream regex curriculum with me…

Making a New Rails Curriculum