Ruby DCamp 2010: Lightening Talks
gfxCardStatus
Keith
Productivity tools for a Mac.
gfxCardStatus
What Apple is saying about their power consumption is not true.
Your MacBook had two video cards, an Intel one and an Nvidia one.
Your Nvidia card sucks a TON of power.
gfxCardStatus lets you control which one of your video cards to use.
Using the Intel card saves a LOT of battery power.
JumpCut
JumpCut is a multi-level clipboard that is in your toolbar. The hawtness!
Formtastic
Jim
Better rails forms with Formtastic! It is a bunch of helpers for creating Rails forms.
Why use it? It makes the forms easy to create AND accessible by default (coolness)
it is SO easy!!!1!:
<% semantic_form_for(@person) do |f| %>
<%= f.inputs %>
<%= f.buttons %>
<% end %>
Be wary, it is VERY opinionated code.
Super Postgress Funtime
Nic
Rails can do interchangeable data sources, BUT Rails hides the cool features Postgres.
Postgres has full text search for you! It is the hawtness. You don’t need a stupid plugin for it. Postgres is so cool!
Postgres can give you geospatial encoding for free in Postgres (Actually this is just PostGIS)
There are compound indices that let you index on many fields at once.
There are trees and hashses, XML validations, ISBN validations, etc.
It can encrypt password fields FOR you!
Wow. I had no idea… Why are we using MySQL again? (nono, I know there are some reasons)
Crabgrass
Andrew
It is an open source social network platform based on Rails
The interface gives you something a lot like a simple facebook. It lets you get a social network up pretty fast.
Unfortunately, it is not very active, but it is quite mature and ready to use.
You can use Rails plugins, but Crabgrass has a “tools” directory, that are Crabgrass specific plugins.
There are also “mods” that you can use to override views and partials without modifying the core Rails app. This allows you to pull down the core updates and still have your site customizations be unmodified.
Ralph Waldo Emerson is for Hackers
Adam
Emerson wrote a lot of stuff that resonates with us today.
Listen to what is going on around you and record it. Write things down. It can help you. As soon as it is on paper, you can expand on it.
Non-conformity as a goal and practice is valuable. Attaching yourself to a practice can make you less unique.
Your mind is as only as big tomorrow as it is today. Say what you say today, but don’t be afraid to change them tomorrow.
Kickass Gem
Avdi
Kickass makes your life easier with style and buzzwords!
(Avdi makes fun of gem designers and their self-promotion talks, comedy gold)
Making Things
Eliza
A lot of devs that like to create new projects, start, but NEVER finish these great projects.
The goal: Pick SOMETHING and finish it.
Take 15-minutes a day and work on it, even if you think that it is boring. Gun through it, try it. You CAN do it, if you try.
5 Gems and 5 Minutes
Advi
fattr: declare an instance variable, default value, and dynamic blocks. It defines getters, setters, and test methods for you. Sweet!
main: A DSL for writing command-line ruby apps. Define a run method to tell the command what to do. It also creates a nice document for you.
arrayfields: You want to treat an array like a hash. you can assign array positions to variable names
orderedhash: Want your hash to be ordered (hashs aren’t). Use this.
shared: You want to have class and instance level methods included in your modules. This is a shorthand to do this.
LISP in Ruby (I was drunk…)
Nathan
car and cdr in Ruby
require 'cadar' [1, 2, 3].first [1, 2, 3].rest [1, 2, 3].car [1, 2, 3].cdr [1, 2, 3].rest.first # => 2 [1, 2, 3].cadr # => 2, you can chain a's and d's
Fibers in Ruby 1.9
Nic
A fiber s like a thread…but different. What the hell is it?
The ruby thread scheduler is completely fair, which allows all threads the same amount of processing time. That means if one thread is dependent on another, it still has to wait for that thread to run.
Fibers are more like a relay race. Your fiber passes control off to other fibers, instead of having a scheduler control which fiber will run.
This CAN be dangerous, if your fiber does not give up control, you are stuck.
cucumber-farmer
Matt
There are things that are really hard to test for a computer, but really easy to test for a human.
This allows a person to monitor your cucumber tests that you can have a tester interact with the tests to verify that a human-perceivable test has passed or not.
It uses a simple popup dialog where the tester says if the test has passed and cucumber records the results.
Managing your global gems
Matt
ree@global: using RVM you have a default global gemset
Use bundle install —gemset ~/Gemset.global to allow you to have gems that are universal for all your rubies.
Ruby Mendicant University (RMO)
Ashish
This is a great place to improve your Ruby skills. There is an entry exam to get into the university, and then you can help out and learn.
There is a google group and IRC channel where you can learn more about RMO and get involved.
Talk to @seacreature on Twitter for more information.
Twitgres
Snuggs and Andrew
Cross-engine joins in Arel
What if you want to join your set of people in a local DB with a set of people on Twitter
cap_pi((P)bowtie(small_delta(T))) # WTF? This is relational algebra
Basically, they created a way to join a twitter feed with a Postgres (or MySQL) database table.
(Sorry guys, Arel looks cool, but it is a bit too greek for me to grok right now)
What I learned about Rails 3 Engines
Adam
Rails 3 Engines are interesting. Here is how you do it.
A Rails engine is like a plugin, but it is a whole Rails app.
It is like a Rails app, but everything is namespaced in your lib directory, when you add it as an engine.
That allows you to make portable chunks of rails code you can use in many Rails projects.
RTF
Camille
How do you convenience you team to be more agile? Collect the right metrics.
Running Tested Features (RTF) metrics are easy to collect.
- If your feature is running AND tested, it is a 1, otherwise 0.
With Waterfall your graph is flat until the end.
With agile, your graph grows.
For a 1, it MUST be a real feature, it MUST have automated testing, and it MUST be running.
Gaming the system by making smaller features, or writing simple tests are a GOOD thing. They improve your codebase inadvertently.
Check out Ron Geoffrey, he invented this idea, and managers LOVE it!
Ruby Nuby
Mark
Ruby Nuby is a google group that promotes Ruby awareness.
They are in a contest with British Airways to help defer the cost of Ruby Nuby by flying n00bs around the world to go to Ruby Conferences.

