Statistics show that every blog can only have one first post, so why waste it writing about what your blog is about or what purpose it will or will not serve.
Instead, here is a list of my most utilized rubygems and homebrew installed software.
my core rubygems
- blavosync A Rubygem i wrote to help my less techincally inclined team members get the latest database and uploaded assets for local development. Previously the generally accepted way of developing was by deploying every commit to the production server for testing. Seriously.
- bundler If you are doing Rails/Sinatra/Ruby (or even PHP with rack-legacy) you cannot live without bundler!
- capistrano I use capistrano for all deploy management (unless we’re going deploy to Heroku or Engine Yard – they have their own gems). There are other ways including chef and puppet, but capistrano makes sense for my mental model.
- capistrano-ext An extension to capistrano that allows me to easily set up multistage deploys for having a “staging” or “sandbox” application.
- engineyard I dont always deploy to engine yard, but when i do, i use their Command Line Interface (CLI).
- heroku Heroku is my new favorite deployment platform. We can deploy rapid prototypes with non-IP address domain names in under a minute. And did i mention it’s FREE!?
- mysql2 Mysql has been my database of choice since i started developing for the web in 2001. The mysql gem no longer works properly for various versions of rails, and i got tired of trying to debug the issues, which inevitable led me to downgrading to the 2.7 version of mysql. That is until i read about mysql2. All problems have been solved until recently – the 0.3.x versions of the mysql2 gem only work with Rails 3.1, which is still in release candidate status.
- powder I have switched to using Pow as my local development server. This has been largely positive positive, and less resource intensive than passenger. The Powder gem makes using Pow so simple that i have forgotten the manual way of adding Pow hosts.
- ssh-forever I can’t remember passwords, and when i can i have a hard time typing them. Luckily the process of putting my public key on a server for passwordless ssh is as simple as adding (-forever) the first time i have to SSH into a new server.
- ruby-filemagic Much of my work has to do with uploaded audio and video, and checking mime-types from uploaded audio and video not fun. The only reliable way i have found to check files is with the libmagic library, using the ruby-filemagic gem to cross the bridge from ruby to that library. Installation can be tricky. Expect post #2 on this subject.
my homebrew packages
- git We use Version Control on every project, from landing pages and banner ads, to mobile applications and web applications.
- imagemagick Every web application we build does some form of image resizing and cropping. Imagemagick is the best way we have found to do that, coupled with the paperclip rubygem.
- libmagic This is needed to use ruby-filemagick. Installation can be tricky. Expect post #2 on this subject.
- memcached All of our web apps that need caching use memcached. My favorite rubygems for this connection is Dalli.
- mysql The database. Facebook and Flickr use it.
- node Node.js is a great server-side javascript framework for building stupid fast applications.
- php I don’t use php often, but when i do, i use the php-cgi variety so that i can keep running POW via rack-legacy.
- wget I have always hated curl, so one of the first applications i install on any server is wget.
manually installed (yuck)
- rvm We develop all new ruby and rails applications in 1.9.2. Rvm allows us to still patch bugs and add features to ruby 1.8.7 applications.
- pow Pow is a minimalist development server that mostly stays out of the way.
What do you use? Why? Sound off below.