Fork me on GitHub

Publishing a gem with Bundler fails silently the first time

by Nick on March 30, 2011

If you’re writing your first gem and publishing it with Bundler, you may run into the same problem as myself.  The issue is that when pushing to http://rubygems.org, Bundler will report a success when it has actually failed.  To start the process of deploying a gem for the first time, Bundler offers several rake tasks:

nick@nick-laptop:~/Coding/rottentomatoes$ rake -T
(in /home/nick/Coding/rottentomatoes)
rake build # Build rottentomatoes-1.0.1.gem into the pkg directory
rake install # Build and install rottentomatoes-1.0.1.gem into system gems
rake release # Create tag v1.0.1 and build and push rottentomatoes-1.0.1.g...

Deploying the gem is easy.  The only command you need to run is rake release.  This will automatically handle tagging based on the version file, building the gem into the pkg folder, and then pushing to rubygems.  When you first run the command, the output looks like:

nick@nick-laptop:~/Coding/rottentomatoes$ rake release
(in /home/nick/Coding/rottentomatoes)
rottentomatoes 1.0.1 built to pkg/rottentomatoes-1.0.1.gem
Tagged e67663fc with v1.0.1
Pushed git commits and tags
Pushed rottentomatoes 1.0.1 to rubygems.org

Great.  We’re done, right?  Unfortunately, trying to install the gem afterwards fails with an error saying the gem could not be found.  The issue is that there is no configuration setup for rubygems.  To fix this, create an account at http://rubygems.org and get your API key from the settings page.  Then create the file ~/.gem/credentials with the following content:

---
:rubygems_api_key: my_provided_api_key

You can then rerun the push command with gem push:

nick@nick-laptop:~/Coding/rottentomatoes$ gem push pkg/rottentomatoes-1.0.1.gem Pushing gem to RubyGems.org...
Successfully registered gem: rottentomatoes (1.0.1)

That’s it!  Ideally Bundler would let the user know that their credentials need to be setup first but it’s an easy fix.

My Ubuntu desktop setup with Conky

by Nick on March 20, 2011

Conky is a monitoring system that is both lightweight and very flexible for the X Window System.  It’s really easy to configure exactly what information you want displayed, and how it should be laid out.  Anything can be added: hard drive monitoring, CPU usage, network traffic, weather, music, email, and more.  I’ve found the resource usage to be negligent as well, with memory use hovering at 1.5mb.

I’ve tried to keep the setup simple and fit within a single column on my monitor.  This setup is used on my laptop which is displaying at 1366×768, so there’s about 700 vertical pixels of space when you take out space used up by the menu bar and padding. My setup was originally based off a post in the ubuntuforums.org thread which has many, many examples and great screenshots to go along with posts to get ideas.

If you’d like to get started with Conky, first install it:

sudo apt-get install conky

Then edit your .conkyrc file from your home directory:

vim ~/.conkyrc

Inside of that file you can configure Conky to your liking by using the code below or any other config file to get you started.  A screenshot of my setup is below along with the code.

South Park XBMC Plugin

by Nick on August 3, 2010

After taking a look through some source code of other plugins and following Voinage’s plugin tutorial, the result is South Park XBMC Plugin.  This is my first attempt at putting together a plugin for XBMC, and as all other plugins go it’s written in Python.

The website xepisodes.com hosts most of the videos they provide on 4shared.  Thankfully, it’s pretty easy to pull the direct FLV url from a 4shared embed line.  Sometimes they serve links from novamov, but it’s so infrequent that I didn’t bother adding support for those links.  They are also scrapable, but I would need to pull up another page first before getting direct access to the FLV.

The plugin first makes an index of all seasons.  From there, you can go into individual seasons and select the episode which includes a thumbnail.

I’d like to expand on it a bit by adding support for season covers (maybe pull from the thetvdb.com’s API), plot, support novamov, and convert it into an addon for inclusion in the XBMC Dharma branch.  For now, I’m just happy it works!

You can follow the support topic on the XBMC forum or download the South Park XBMC Plugin from GitHub.