Archive for November, 2012
cool tools, cool project
November 30, 2012
Leave a comment
i’ve had the good fortune to work on a green field Rails project. Here are some of the “i would not want to do without” tools used on this project
- ruby 1.9.3 – so much faster than 1.8. wow.
- rails 3.2 – rails just keeps getting better and better.
- mini-profiler –everyone should want a fast app. found lots of unoptimized queries.
- sass — sass makes css fun!
- coffeescript — coffeescript makes javascript feel like ruby. that’s a good thing IMO.
- poltergeist/phantomjs – headless javascript testing. so much better than having Firefox popup.
- rspec — i love the rspec DSL.
- capybara — super useful for our request specs.
- devise — it works. easy to use.
- vcr — essential for service tests. call out once, but cache after that.
- cancan — great role system, easy to use.
- kaminari — works great for paging (along w/ jquery.pageless)
- sendgrid — send notification emails, easy w/ sendgrid
- librato — low level metrics like rows written on some models,
- machinist — love blueprints that are either persisted to db or not. easy to use.
- redis — super fast key value storage. great for caching.
- resque & resque-scheduler. for asyn and cron jobs, easy to use, fast.
- simple_form — a great improvement over standard Rails forms
- airbrake. you want to know when exceptions happen!
- activeadmin. most everyone needs a admin backdoor to their app right? here it is!
Neat stuff that we use that i’m not huge on
- inherited_resources — i prefer seeing the controller actions explicitly. it makes peer review on-boarding new people easier. less magic.
Other essential tools & practices
- a great, easy to use CI system. We use CircleCI. nearly turnkey and hooks into github nicely.
- incremental checkins. We use git, github, topic branches, pull requests, and ey cloud deployment commands.
- peer review of pull requests: either the code is pair programmed or the pull request is peer reviewed prior to merging into master
- Pivotal Tracker. A great simple tool that does the job.
- NewRelic: essential for app performance monitoring.
- Mixpanel: great for funnel analysis. we measure all activities in our app and important properties for those activities.
- Twitter bootstrap. it’d be great to have the luxury of a talented designer, but we didnt. this did a great job. it’s important to get a designer in there eventually, or your app will look like a twitter bootstrap app. this might be ok for a captive audience, but not mass consumption.
Using this great toolset has made this project a joy to work on. Hope this helps others.
Categories: tech