* Popular operating systems for running Ruby:
- Ubuntu LTS (Long Term Support), stable and fairly current packages
- Ubuntu, fairly stable and current packages
- Fedora, less stable and very current packages
- Debian stable, very stable but old packages
- Debian unstable, fairly stable and current packages
- RHEL and CentOS, fairly stable but very old packages
* Max Ogden presented his "CouchAppSpora" project:
- CouchAppSpora is an implementation of the Diaspora protocol's
social network using CouchDB.
- Preview of app:
- Source code and details: http://github.com/maxogden/couchappspora#readme
- Diaspora project: http://www.joindiaspora.com/
* Reid Beels presented "MacRuby and HotCocoa"
- MacRuby is a Ruby interpreter for Mac OS X, provides complete
access to the operating system's Objective-C runtime:
- HotCocoa is offers MacRuby wrappers for easily interacting with
the Cocoa framework using friendly Ruby-esque APIs and DSLs:
- Reid used it to write a simple web browser that displays the web
page and its print preview side-by-side. Cool!
* Discussion: "How do I make my tests faster?"
- It depends...
- Use mocks and stubs to avoid hitting database or performing
other expensive operations
- Partition your tests so you can run only the ones you need as
your developing, and then the whole set before a checking
- Parallelize your tests, but this may be tricky...
- Hydra: http://github.com/ngauthier/hydra/wiki/Getting-Started
- Specistent: http://github.com/jpoz/specistent
- Run a persistent server that has your Rails, libraries, testing
environment, etc loaded
- Spork loads Rails and test environment:
- Run specific tests with spec
- A file, e.g. ./script/spec spec/model/mymodel.rb
- A specific test at line 11, e.g. ./script/spec
- Use zentest, autospec or watchr to run only tests in files that
- Commit your changes and then have a continuous integration
server run the tests, e.g. Cruise Control, Hudson, etc.
- Benchmark to find slow tests, so you can optimize or partition them:
* Discussion: "How to deal with invalid HTML/XML/etc?"
* Use Nokigiri or Hpricot to parse and emit sanitized document, e.g.:
* Use mechanize to interact with the remote service for you, as a
kind of programmable text-based browser:
* Use the sanitize library: http://github.com/rgrove/sanitize/
* Abstract your HTML parser so you can easily switch between
* "Really simple JSON and XML parsing, ripped from Merb and
* Use a library that makes consuming RESTful services easier:
* Discussion: Libraries to help with JSON?
* Abstract your JSON parser so you can easily switch between
* Turn json apis into jsonp apis through a heroku proxy:
* Discussion: "What are lightweight test unit libraries?"
- No framework, just do asserts: