Add WordPress-style shortcodes to your Ruby blog #

One of WordPress’s strengths is the ability to give non-coders a way to generate custom data with the use of shortcodes. Shortcode elegantly brings that classic feature to the Ruby community.

The gem notes using Parsing expression grammar instead of regular expressions to improve the readability and testability of the code. It supports both block tags and self-closing tags, and adding shortcodes is as easy as adding a partial.

%blockquote
  %p.quotation= @content
  - if @attributes[:author]
    %span.author= @attributes[:author]

Shortcode also supports custom presenters for more complex tasks like image galleries. Take a look at the documentation on GitHub.

Generate 4 language bindings for your API in one Go #

You just built an API, and want to make sure everyone can use it. Building libraries in every language isn’t only going to be hard, its going to take a lot of time. Time you don’t have. This is where Alpaca can help.

You define your API according to the format, alpaca builds the API libraries along with their documentation. All you have to do is publishing them to their respective package managers.

Right now it can generate API clients in PHP, Python, Ruby, and JavaScript. You can see examples of the generated client libraries here. I can’t speak to the quality of all the generated language bindings, but I took a cursory look at the Python lib and it looks good. Looks like Alpaca could save us all a lot of time.

Sponsor: RubyTapas, short Ruby screencasts every week

In Episode #90 we talked with Avdi about pair programming, distributed teams, workflows, and of course, Ruby! Needless to say, we’re big fans of Avdi and his work — and we’re happy to have him sponsor the RSS feed this week.

Don’t just take our word — Avdi has shared an exclusive, Changelog-only, freebie of episode #72 for you to check out (the video above). The episode is called “Random Access” and it kicked off a short mini-series for Avdi where he takes his subscribers on a journey to reimplement a small subset of the UNIX “tail” command in Ruby.

Find dead code in your Rack app by running Coverband in production #

Neat idea from Dan Mayer at Living Social: Coverband is a rack middleware which helps measure production code coverage.

Why would production code coverage data be useful? Because you can use it to find (and then purge) latent code paths in your app. How’d it go at Living Social? Dan says:

After running in production for 30 minutes, we were able very easily delete 2000 LOC after looking through the data. We expect to be able to clean up much more after it has collected more data.

Read more about Coverband on the Living Social Tech Blog.

Que leverages PostgreSQL’s advisory locks to deliver a fast, reliable job queue #

Que is the new kid on Ruby’s job-backgrounding block.

It takes advantage of PostgreSQL’s advisory locks to provide concurrency, efficiency, and safety. Chris Hanks – Que’s author – in an email to us, says:

…in a benchmark on EC2′s biggest compute-optimized instance it’s capable of queuing and dequeuing almost 10,000 jobs per second, while DelayedJob and QueueClassic max out at around 500

Between that and its built-in support for transactions (for ActiveRecord and Sequel), Que looks pretty tantalizing to this long-time Resque user (and admitted Postgres fanboy).

Dashing creates gorgeous dashboards #

Dashing is a framework from Shopify for building gorgeous dashboards that can be displayed on large TVs throughout your office.

It ships with pre-made widgets, is completely customizable, and can be deployed to Heroku in a breeze. See Dashing in action here and here.

Members: Get 77% off RubyTapas for 3 months

For members only — Avdi wants you to start learning Ruby with a pro (him). He’s giving our members an exclusive 77% off discount to enjoy RubyTapas for 3 months. Normally a subscription to RubyTapas is $9 per month, but our members save $21 and pay just $6 to get access for 3 months!

Track issues and todos while you code with Watson #

Watson lets you create issues while you code, including custom labels, without ever having to interrupt your workflow. It syncs with remote services like GitHub and Bitbucket — Push locally created issues and get the status of remote issues right in your command line.

Pick your flavor and install either the Ruby or Perl version.

Keep an Eye on your processes #

If you aren’t happy with the current process monitoring tools out there, check out Eye. It uses Celluloid to provide multi-threaded process monitoring that behaves very similarly to Bluepill. One valuable addition is the ability to get more information about the processes running:

$ eye i(nfo)
test
  samples
    sample1 ....................... up  (21:52, 0%, 13Mb, <4107>)
    sample2 ....................... up  (21:52, 0%, 12Mb, <4142>)

Other bonus tools include debugging configurations and tailing the logs of the processes being monitored.

#110: Capistrano and Burnout with Lee Hambley

Andrew and Adam talk with Lee Hambley about some serious subjects such as Capistrano 3.0/2.0, open source burnout, various conversations around deploying, Ruby, respect, handing over the reigns and more. If you hack on open source or run an open source project, you should listen to this episode.

Git your game on with Githug! #

Githug is a cool new way to learn git by Gary Rennie. From the readme:

Githug is designed to give you a practical way of learning git. It has a series of levels, each utilizing git commands to ensure a correct answer.

Game on!

#108: Exercism.io with Katrina Owen

Adam and Jerod talk with Katrina Owen – Panelist on Ruby Rogues, Instructor at Jumpstart Lab and creator of Exercism.io, an open source platform for crowd-sourced code reviews on daily practice problems.