onrails.org home

MWRC 2010 - Notes from Day 1.

Jake Parsell took some really great notes using Google Wave. I know the videos will be available shortly but in the mean time if you want to figure out what you may want to watch you can find out more details below:


Giles Bowkett - making some music with ruby Archaeopteryx

- Giles Bowkett: Archaeopteryx: A Ruby MIDI Generator

- learn probability matrix

- google is easy if you understand prob matrix

- google spell check in 21 lines of python

- wonder how easy OCR would seem in this context?

- don't understand python community.... why are there not more dick jokes about pythons?

- how is there not a web framework called trouser snake?

- oh yeah... better talk about lambdas

James Golick - Cooking with Chef - @jamesgolick github.com/jamesgolick

- Chef: Quick and Tasty Ruby Powered Server Configuration

- sysadmin work is boring

- too many config languages

- amazed if anyone can get nagios working on a consistent basis

- ues recipes to install packages

- recipes written in ruby

- create services -> status, restart, reload, etc.

- templates to create config files

- erb

- notifies restart if config changes

- autoreload on save very handy for things like dynamic lists of ips that change when you start a new EC2 instance

- makes setting up stuff like haproxy and heartbeat easier

- security

- easy to include iptables

- always turn off password ssh logins - easier to remember when part of your cookbook

- look into chef server and chef client

Joe Damato - RVM

- RVM: Ruby Version Manager - RVM Ruby Version Manager - Documentation

- RVM gemset - different gemsets for the same ruby version per project

- create rvmrc to switch env automatically when you cd into a project directory

- export gemsets?

- should you use gemsets or just bundler

Loren Segal - Documentation with YARD

- YARD 0.5.3 - The Longest

- Yet Another Ruby Documentor

- Talk about documentation in general

- Documentation to help you think about your API

- What makes documentation good?

- consistency -> pick a style and stick with it

- correct -> it can be wrong and should be audited

- coherent


- meta-data

- @param [Symbol] req_type :get or :post

- ....

- yard-respec

- shows rspec specs alongside method docs

- yard-sinatra

- shows your routes for api

Michael Jackson - Rack for web developers

- Rack: a Ruby Webserver Interface

- Read the Spec

- blah, blah, blah

- rack is cool in that it allows web frameworks to communicate with web servers, but not sure you care that much unless making a web framework

Yehuda Katz - Modularity - Lessons learned from Rails 3

- Try to become modular too soon and you will be wrong

- Become modular once lack of modularity is hurting you, then decouple

- Constants -> Globals

- router.url_for in rails 3

- easier to track down where instance variables came from than Globals

- eliminate things that are global

- tests are the canary in the coal mine

- instead of hard coding contants, pass things around

- be subspicious of Contant.foo

- stop caring about object allocations

- object allocations are essentially free

- Render

- Controller -> ViewPathSet -> ViewPath -> Template (on file system)

- Used to assume actual file path

- hard to cache

- Template.new takes a path

- Now

- Caller -> LookupContext -> ViewPaths -> PathResolver-> Resolver -> Template

- Template.new takes a source

- Could overide PathResolver to pull from database or S3 or something

- could be useful in making a CMS system with Rails

- Use Modules

- don't put methods you want people to be able to override in a class, make a module

- then you cna call super

- Use ActiveSupport::Concern

Paul Sadauskas - HTTP

- read the spec :-)

- prevent the requests that you don't have to answer

- Persistent Connections - so you don't have to create a new TCP connection for every request --- keepalive=onC

- Caching

- how do you decide when something is stale?

Jeff Casimir - Ruby Processing

- dynamically generate images in ruby app

- uses jruby

- first built to create verticle column headers

- Distributed Programming with Ruby -> to learn how to send jobs to ruby processing from rails

- Beanstalkd -> simple fast background processing -> brew install beanstalkd 

Fork me on GitHub