A new list needs new topics to get the discussion started and for us
to get to know each other. What is better than to talk about the tools
of the trade; the things we use each and every day to write our Ruby
code, to run it, to host it and whatever else is related to the trade
of Rubyists.
My background is in building web services, doing system administration
and building web apps so expect my tools to be biased in that
direction. I'd love to see what someone uses to build desktop computer
games with Ruby, for example, just to see a completely opposite point
of view :)
VM: Ruby Enterprise on my servers for the better Garbage Collector.
For development I still default to a version of Ruby 1.8.6, though
Ruby Enterprise and Ruby 1.9.1 have been installed, too. I've played
with MacRuby, JRuby and rubinius, but haven't done more with them than
just playing.
Testing: RSpec. I've been using it for about two years and I love it.
Cucumber for stories is something I've played with a couple of times,
but I've not yet done a serious project with it.
Editor: TextMate. It works well enough. There are plugins for every
language I work with, so highlighting and snippets are taken care of
for me. I recently tried Emacs again, but the short-term productivity
loss while learning was not worth it at the time. I probably need to
pair program with an experienced Emacs user to get a good workflow
going. Being able to use the same editor on your desktop as on servers
really has a lot of value.
SCM: Git. I made the switch in 2008, and I won't ever go back to
Subversion. Decentralized, easy branching, fast and very good code
hosting at Github make it a no-brainer to use it.
Gem hosting: Gemcutter.org. 'gem push mygem-1.2.3.gem' What's easier
than that to publish a gem?
Web frameworks: I'm currently having a lot of fun with Sinatra, but
I've worked a lot with Rails (started with it in early 2006) and even
did some work with Merb.
Templating: Haml + Sass. Seriously, not having to type pointy brackets
or close tags makes web development so much more fun :)
Whitespace-sensitivity for scope makes both templates and code so much
more readable for me. It's actually a feature that could make Ruby
even nicer to look at.
Database: Traditionally I've been using MySql and it works well enough
for my needs. Lately I've been looking at CouchDB for projects with a
more document-oriented data structure. I think the NoSQL movement will
be a source of additional tools to use to solve our problems.
VPS Hosting: Slicehost. It's completely automated, works pretty well
and, thanks to the dollar, it's cheap. So far I've not encountered
other VPS providers with similar automated services. Being able to get
a new server up and running in 5 minutes makes it so much easier to
work with.
Deployment: Traditionally I've been using Capistrano, but for my
latest couple of projects I found that a couple of rake tasks were
actually enough for my needs.
OS: For development it's Mac OS X. For hosting it's Ubuntu Linux. I've
developed on Windows and Gentoo/Ubuntu Linux and hosted on Gentoo too,
but my current setup has made my life easier. I look at my Mac as
Linux (technically BSD) with a great GUI and good hardware support.
Gentoo is great when you need to compile lots of things, such as when
working with the latest versions of ffmpeg and imagemagick. What made
me switch to Ubuntu was not having to compile core linux utilities and
libraries, as that became a bit of a headache on Gentoo. An Ubuntu
system upgrade can be done in minutes instead of hours.
Image editing: Pixelmator. It does just about everything I used with
the Gimp and it does more. Real-time rendering is really nice and it
using a lot of standard OS X libraries allows for using plugins for
those libraries. I've used GIMP before on Linux and Windows, but on OS
X it's kind of inconvenient to use due to not having a native Mac
interface.
Cheers,
Wes
--
Wes Oldenbeuving
http://groups.google.com/group/amsterdam-rb
Freelance Rubyist @ http://narnach.com
Mobile: +31 648 779 786
Twitter: @Narnach