LearnThe Coolest Ruby Projects Ever

Jason Seifer
writes on November 26, 2014

Hackety Hack

Hackety Hack is a project designed to teach programming. Hackney Hack does this via a client side GUI application, written in a framework called Shoes. Shoes is another Ruby project which provides a concise and easy to use API for creating GUI applications. Hackett Hack took Shoes and built lessons on it to teach programming using Ruby. The lessons gradually increase in difficulty from beginner to intermediate and teach basic programming. Students can work their way up to creating Shoes apps as well. Have an idea for a lesson? There is a project on GitHub which you can contribute to.

poignant_guide

Both Shoes and Hackety Hack are amazing projects that were started by someone going under the alias _why. Why was one of the earliest and most influential members of the Ruby community. Why created many projects including Why’s Poignant Guide to Ruby. According to Wikipedia, _why started Hackety Hack for the following reason:

Hackety Hack was originally created by _why in order to solve “The Little Coder’s Predicament”: that learning modern software development is complicated, and difficult. Why eventually developed The Bylaws of Hackety in the Hackety Manifesto which lay down the guidelines for the project.

Why enlisted the help of a group of 25 parents and their children to get early feedback, who he referred to as “50 of my closest friends”. The earliest iterations of Hackety Hack were based on an embedded Gecko browser, but this eventually transformed into the Shoes GUI toolkit.

Sass

sass

Ah, Sass. Sass was originally created by Hampton Catlin and stood for “Syntactically Awesome Style Sheets.” Today, Sass is so much more and has transformed in to a full blown CSS extension. Sass takes CSS and extends it to make it much better to work with. Ever look at a color in CSS and think to yourself, “this would be so much easier if it were a variable I could re-use and manipulate?” With Sass, you can! There are features like mix-ins that allow you do do wonderful things like the following (taken from the documentation):


@mixin large-text {
  font: {
    family: Arial;
    size: 20px;
    weight: bold;
  }
  color: #ff0000;
}

.page-title {
  @include large-text;
  padding: 4px;
  margin-top: 10px;
}

Which generates the following:


.page-title {
  font-family: Arial;
  font-size: 20px;
  font-weight: bold;
  color: #ff0000;
  padding: 4px;
  margin-top: 10px; }

Sass was originally written in Ruby but was eventually ported to C/C++. Oh, and Treehouse has a few courses on Sass, too. Sass is used in a surprising amount of places and does much more than I’ve mentioned here. Be sure to check it out if you haven’t yet.

Rails

rails

This project should speak for itself. I’m not going to go in to too much depth with Rails since it’s become a standard in Web Development over the years. Rails really revolutionized web development at the time it was released. People were incredulous at the original “build a blog in 15 minutes” demo, which I believe sold a lot of Textmate copies as well. Rails gave Ruby a huge jump in popularity and it is now used in startups and enterprises around the world.

Sinatra

sinatra

Sinatra is another Ruby web framework that has left it’s mark on the web. Using a surprisingly small amount of code, it’s possible to generate a functioning app:


require 'sinatra'

get '/hi' do
  "Hello World!"
end

Sinatra has inspired similar projects in many different programming languages. The minimal code and routing style make it attractive to code in. Because it’s a relatively small framework, it’s also attractive to implement in other languages. Have a favorite off-shoot of Sinatra? Let us know in the comments.

homebrew

homebrew

Homebrew has been called “The missing package manager for OS X” and that’s true. There have been projects for OS X that attempted to solve the package management problem (MacPorts, Fink) but homebrew is the go-to these days. Homebrew is written in Ruby and so are the recipes for installing software packages, or “formula” as homebrew calls them. The GitHub project is actively maintained and patches are, generally, quick to be accepted. This has lead to the project picking up a healthy amount of steam and also to having formulas be readily and quickly available when a new version of something gets released.

Discourse

discourse

Discourse is a relatively new entrant to the scene but has already built up a great reputation. Discourse functions as a mailing list, discussion forum, and chat room. It’s written using a combination of Rails and Ember.js with Postgres and redis used as back-ends. It’s free and open-source but hosting and support can be purchased. Discourse is widely used by some very well known companies. Note: we’re not sponsored by them 🙂

Play

play

Play is written in Sinatra and allows you and your team to collaboratively play songs in iTunes:

Play is an employee-powered iTunes-based client-driven distributed music server for your office. Also it can prepare your taxes.

The more interesting part of Play:

We have employees all over the world, but Play lets us all listen to the same music as if we were all in the office together. This has actually made a big impact on our culture.

But Wait, There’s More!

These are just some of the most interesting Ruby projects out there. There are tons more that I haven’t listed but are worth checking out. Ruby is only gaining more traction as time goes on. Why not take some time to learn it at Treehouse? Ok, shameless self plug over.

Have a cool Ruby project in mind that I missed? Let us know in the comments.

3 Responses to “The Coolest Ruby Projects Ever”

  1. Hackety Hack looks awesome! Thanks for making this list ^_^

  2. Hmm? What about Jekyll? The father of all static site generators. Or Middleman?

  3. Thank you for the extensive explanation, i just started to learn ruby and this is very helpful

Leave a Reply

Want to learn more about Ruby?

Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. Learn how to build a website using Ruby and the Rails framework.

Learn more