NOTES - YEGRB 10 Work Smarter

This last meetup was different from normal, as we led a series of small group discussions about the tools and tricks people used to make developing with Ruby more enjoyable.

Editors

Most of the groups spent a lot of time discussing their favourite editors with vim and TextMate taking the lead. Other popular editors included gedit on Ubuntu Linux and Notepad++ for Windows. MacVim and emacs where also mentioned.

Vim was singled out as a popular editor amongst our members. Most people were using a combination of different vim plugins including vim-rails, pathogen, NERDTree, vim-surround, jslint and ctags.vim. Some of the members also publish the contents of their ~/.vim folders on GitHub for you to fork and make your own (Fletcher and Mark). Peepcode also offers a pair (part i and part ii) of excellent screencasts which are well worth the $12 if you’re looking to learn vim quickly. The screencasts also come with an excellent sample ~/.vim folder which is used throughout.

In TextMate many people also mentioned the Command-T keyboard shortcut for searching files and code. Peepopen was also recommended as a navigation plugin for TextMate that also works well with MacVim and other Mac editors.

Deployment

The topic of deployment was also raised with Capistrano remaining the hands-down favourite. Vlad the deployer and git-deploy also got honourable mentions.

Documentation

For daily reference members recommended rdoc.info and railsapi.com. The official Rails Guides were available for more detailed Rails tutorials. For screencasts members turned to Railscasts, Peepcode, PragProg and The Ruby of Rails Tutorial by Michael Hartl. Rails for Zombies was also mentioned as fun way to learn Ruby on Rails.

Testing

Most members use either rspec or minitest for their tests, along with various complementary tools like factory-girl, machinist, and mochra. The autotest gem from ZenTest was also mentioned as an important tool for automatically running tests. Watchr is another tool which can be used to run your tests automatically, though no one at the meetup is using it.

Other tips

Some members use a terminal emulation client called screen to maintain a persistent console on their servers. You can detach from screen terminal sessions, leaving them running while you disconnect from the server. This is great for managing long running server processes. Screen sessions also persist if your accidently disconnected, making them an essential tool for managing flaky internet connections. Scott is an avid screen user and has shared his .screenrc.

Mark was the sole tmux user, preferring it to screen as it allows multiple users to share a session. It also lets you split a window vertically and horizontally which can’t be done in screen. He uses tmux for remote pair programming, and for running autotest in a split below his editor.

Fletcher is a fanatic about versioning and sharing his configuration, Mac users should look at his post with details of all this GitHub repositories on the mailing list.

Speaking of the mailing list, if you don’t already you should sign up to stay in touch with the meetup between events. It’s also a great way to get help when you’re stuck on a tough problem. Just be sure to include a link to your code if you’re look for help on something specific!

Next Meetup

Our next meetup is on March 15th, the third tuesday in March. We’re not ready to announce details yet, but trust us when we say we’re planning something special.