Introducing MakeMeACountdown.com

I like to be able to count down to big milestones in life. Whether it’s a big vacation, your birthday or the launch date for your new product.

I created makemeacountdown.com to help out with this as there’s nothing that exists on iOS to keep a countdown omnipresent. On the Android platform you can have widgets and there are plenty of countdown widgets that you can throw on your home screen. I wanted the constant reminder for that next big thing.

Continue reading

Provisioning Vagrant with librarian-chef and your Chef repository

librarian-chef is a gem that makes installing and managing Chef cookbooks locally much easier. It’s Bundler for Chef basically. You have a Cheffile that specifies your cookbook dependencies and then you just run librarian-chef install to install those cookbooks. You can install cookbooks via refs, paths, urls, github, etc. The interface and setup is identical to Bundler.

Continue reading

Testing your first class in Ruby

We’re going to implement a few simple methods to go over getting started with testing in Ruby. You’ll first need Ruby installed of course, use RVM or rbenv to get Ruby setup on your machine. For this tutorial we’ll be using RVM and Ruby 1.9.3. You’ll also need to know a few of the basics about Ruby such as seting variables and control structures.

Continue reading

Deploying your chef infrastructure with capistrano

Chef and Capistrano are the perfect pair when it comes to managing and deploying your web application to the cloud.

Chef is strictly responsible for managing the server, items like installing Ubuntu packages, configuring Nginx, Varnish, etc. Capistrano is strictly responsible for deploying new application code and running migrations. We’re also using capistrano-ext so that we can deploy to multiple stages which is nice and works really well with the Chef environment’s we’ve configured.

Continue reading

Authentication with 37Signals’ OAuth and omniauth-37signals for your Rails application

First you’ll need to register your application so that you can obtain your 37Signals client credentials. I recommend setting the redirect URI to http://127.0.0.1/users/auth/37signals/callback so that you can test it locally if you need to. If you’re using pow.cx you can specify that symlink as the default and easily test your OAuth integration. Even better if you’re using the powder gem you can just run “powder default” from the app root and it’ll link that up as the default app which will then respond at 127.0.0.1.

Continue reading

It’s all about the execution

Once a week I sit down with my notebook and jot down 10-20 ideas. The ideas can be anything from business ideas to ideas on being more efficient throughout the day, whatever comes to mind when I start basically.

One of the brief ideas I had a few weeks ago was a group email service. A service for club sport groups, groups of friends, planning a trip, SXSW RSVP lists, etc. Basically an easy way to keep everyone up to date around some common thread.

Continue reading

Authlogic and automatic logouts

I recently added in a timed automatic logout to an application that pays attention to user interaction as well as Authlogic’s lastrequestat magic field. If you just need the user to be automatically logged out after 15 minutes and it’s ok to have them kicked out on the next request then the native functionality within Authlogic will work great, take a look at the Authlogic::Session::Timeout section in the documentation.

Continue reading