4Nov/090
Tools for the job
Here are some tools / gems / plugins I can't live without:
IDEs:
- Aptana Rad Rails - very good at Rails and Ruby. It's based on Eclipse - Java - so it tends to bloat
- gedit- Tiny footprint, simple. Great for web and PHP with the right plugins and conf tweaks
Ruby / Rails plugins:
- will_paginate - ActiveRecord pagination made easy
- fleximage - online image processing Rails plug-in based on rmagick. Very easy to manipulate
- hpricot gem - for parsing HTML and XML. Very resilient to formatting errors. Use it to parse XML feeds with wrong encoding and screen scraping.
- authlogic - for easy and extensible authentication. With care you can make it easily authenticate with anything.
- BlueCloth gem - for markdown markup
- eventmachine - scalable asynchronous Ruby servers made easy.
- styled_objects - simplify stylesheet development and maintenance. By yours truly.
- delayed_job - job queuing for Rails made easy.
- app_config gem - easy application configuration. Easily differentiate for each environment.
- acts_as_xapian - easy ruby and Rails bindings for Xapian - full text search engine. Xapian uses offline index update and does not use a daemon.
- lockdown - authorization system for Rails
- acts_as_pingable - to expose you Rails stack to external pings. Use it for pingdom.com integration.
- resource_controller - simplifies code for resource controllers (almost no code at all for most cases !)
- aasm (acts as state machine) - easily turn your objects into state machines.
Testing
- cucumber - BDD at it's best
- mocha - intuitive mocking and stubbing
- rspec and rspec-rails - Rails testing
- factory_girl - Get rid of fixtures
Database
- MySQL - I love it, I hate it, I have to live with it...
- Tokyo Cabinet - fast single table database for key-value store (it already has multiple columns format) with a simple Ruby API. Useful for a lot of things. You can also use Tokyo Tyrant for service.
Deployment
- Capistrano - although there are some simpler alternatives around, I simply love Capistrano and use it for almost everything deployment-related.
- capistrano-ext - with multistaging deployment, among other goodies.