At this year's Lone Star Ruby Conference, Intrideans Brendan, Pradeep, and Adam presented a full-day training, "Ruby Intrigue", in which they walked through the construction of three separate applications: a web crawler, an Asteroids clone, and an SMS server.
Web Crawler Pradeep live-coded four different versions of a web crawler using varying techniques including: single-threaded (crawly), threaded (thready), forking (forky), queuing (queuy), and event machine (eventy). Students followed along asking questions as they went. Once a crawler was complete an open discussion would happen regarding the benefits and drawbacks of the method in question.
Asteroids Clone Adam live-coded a full-blown OpenGL Asteroids clone using Gosu, the 2D gaming library, in just over two hours. Students followed along and successfully built their own versions written on Windows, Linux, and OS X. The clone implemented the player's ship, projectile, asteroids (of different sizes), collision detection, lives, levels, scores, and title/end game screens.
SMS Server Brendan discussed and live-coded different ways to setup a server to send SMS messages using his gem/plugin sms_fu. Though students were able to setup SMS servers, they also received a crash-course in gem publishing as they found a few bugs in sms_fu which resulted in new versions of the gem.
All of the code, labs, and lesson plans are available as open-source and can be found on Intridea's Github account. Adam has also extracted the Asteroids clone into a separate repository to include contributions, updates, and optimizations submitted from the class and can be found here.
As a bonus, the attendees of our class received a custom vintage LSRC shirt, printed on Alternative Apparel shirts and designed by David Potsiadlo. These t-shirts were a huge hit and we'd like to thank A.B. Tees for their quality shirts!
This was the third year in a row that we have had a team of developers teaching a Ruby class at Lone Star. Every year we have a great time connecting with Ruby developers from the local Austin area and beyond. Many thanks to the Lone Star team for organizing this annual conference and all the hard work that goes in to making happen!