Pivotal Labs

Main menu

Skip to primary content
Skip to secondary content
  • About
  • Case Studies
  • Team
    • Executives
    • Locations
      • San Francisco (HQ)
      • Boston
      • Boulder
      • Denver
      • London
      • Los Angeles
      • New York
  • Community
    • Blogs
    • Tech Talks
    • Events
  • Careers
    • Lifestyle
    • Principles & Practices
    • Benefits
    • FAQ
    • Apply
  • Tools
  • Contact
    • Press Room
    • Press Releases
    • In The News
    • Press Kit
  • All
  • Labs
  • Standup
  • Tracker

My Talk at RailsConf

Pivotal Labs
Tuesday, April 22, 2008

So I’m giving a talk at RailsConf, the last day, the last time slot before the keynote — Sunday @ 1:50

My talk is in the “advanced” track, and is intended for language nerds and Ruby programmers who already have some metaprogramming experience. The topic is “ACTIVERECORD ASSOCIATIONS AND THE PROXY PATTERN”. I will look at

  • several implementation techniques for the proxy pattern (aka Blank Slate),
  • and will look very closely at the implementation details and advanced features of ActiveRecord’s association proxies, Named Scope’s repository proxies, and several other cool uses of this pattern.

If you’re looking for an intense, detailed, close look at very advanced Ruby coding techniques then this talk is for you. The full outline is here

  • 0 Shares
  • Share on Facebook
  • Share on Twitter

8 Comments

  1. Kris says:

    Hi Nick, I’m not going to be able to make it to RailsConf, but I really enjoy reading your blog. I was hoping you could help me with a little question related to your talk.

    Could you explain the advantages / disadvantages of using some_class_instance.extend NewMethodsModule and some_class_instance.instance_eval { def new_method; … ; end} as opposed to creating a new blank state proxy class?

    Using extend on the instance seems a lot simpler than defining a new class for a lot of simpler cases, but I’m worried that there may be some performance / memory issue I am not fully aware of?

    Thanks!

    May 9, 2008 at 2:26 am

  2. Matt Esterly says:

    Your presentation was my favorite at Rails Conf. Thanks for time you spent developing your presentation.

    June 1, 2008 at 10:21 pm

  3. Fabio says:

    My head is still buzzing because of your live coding session, dude. It would be awesome to be able to check that code again!

    -Fabio.

    June 2, 2008 at 3:07 am

  4. Ben Mabey says:

    Hey Nick,
    Awesome presentation. I have never seen a live coding demo go so smoothly, and for an entire 50 minutes! I have one question for you… You seemed to of slipped in a custom rspec matcher in the middle of things. I wanted to ask to see the code but I didn’t want to disrupt your presentation… Anyways the matcher I’m talking about is your “should perform(1.query)”. Would you mind sharing that matcher? Thanks,
    Ben

    June 2, 2008 at 10:00 pm

  5. Nick Kallen says:

    Thank you guys so much for the kind words. It made me feel really great – all the nice things people said about my talk. I can share my source code on Github soon, but when I get a chance maybe I’ll make a video!

    June 4, 2008 at 4:41 am

  6. Yar Dmitriev says:

    Everyone who saw the presentation seems to be extremely excited, igniting interest among those who skipped the RailsConf. Was it filmed right there, or you plan to redo the talk? In any case, there is a huge audience waiting – maybe you could release it as a PeepCode tutorial and earn some bucks.

    June 11, 2008 at 11:46 am

  7. Tom Dyer says:

    I really liked the presentation at RailsConf also. Would love to see a video, screencast or PeepCode as suggested above.

    I’ve been playing with this screencast tool lately, pretty good. http://www.jingproject.com/

    thanks,

    June 17, 2008 at 6:06 am

  8. Geert Van Daen says:

    Hi,

    Did you put your slides on-line?

    July 31, 2008 at 8:50 am

Add New Comment Cancel reply

Your email address will not be published.

Pivotal Labs

Pivotal Labs

Recent Posts

  • Does the set of all sets contain itself?
  • Standup 3/8/2012
  • Standup 3/7/2012
Subscribe to Pivotal's Feed

Author Topics

riddles (1)
agile (167)
capistrano (2)
rails (26)
movember (1)
git (10)
railsdoc (1)
object-design (1)
bdd (3)
cucumber (3)
linkedin (1)
oauth (1)
ruby (17)
tdd (2)
lvh.me (1)
rails 3.1.1 (1)
selenium (6)
homebrew (1)
mysql (5)
rvm (1)
sproutcore (1)
paperclip (2)
pry (1)
amazon (1)
heroku (1)
rails3 (2)
jasmine (3)
design (3)
process (12)
productivity (8)
learning (1)
olin (1)
migrations (2)
mongodb (2)
devise (2)
javascript (13)
rubymine (4)
ipad (1)
whurl (1)
head.js (1)
pairing (2)
tools (4)
pair programming (1)
rspec (10)
rspec2 (1)
ruby19 (1)
incubation (3)
startup (5)
api (1)
presenter (1)
vanna (1)
pivotal tracker (5)
capybara (1)
fakeweb (1)
webmock (1)
intern (1)
ruby on rails (25)
meetup (1)
textmate (1)
testing (20)
solr (4)
nyc-standup (11)
community (1)
opensource (3)
activerecord (4)
chrome (1)
mp4 (1)
activeresource (1)
flash (3)
neo4j (1)
nginx (1)
rsoc (1)
meta programming (1)
agile standup (7)
government (3)
webos (4)
xss (1)
jquery (1)
bundler (2)
ci (3)
gems (5)
postgresql (1)
geminstaller (1)
gemcutter (1)
cloud (2)
rack (2)
refraction (1)
gem (5)
refactoring (1)
validations (1)
webrat (1)
engine-yard (1)
firefox (2)
jsunit (1)
mongrel (2)
thin (1)
unicorn (1)
facebook (1)
rubygems (5)
jruby (1)
actioncontroller (1)
rails 2.3 (1)
palmpre (1)
autotest (1)
mac (2)
hosting (1)
goruco (11)
database (3)
railsconf (11)
gogaruco (4)
deployment (4)
github (1)
ie (1)
ajax (1)
intellij (1)
json (1)
asset packaging (1)
polonium (1)
character encoding (1)
utf-8 (1)
test (3)
civics (1)
hpricot (1)
rake (3)
sms (1)
unicode (1)
iphone (1)
java (1)
safari (1)
memory leaks (1)
rr (3)
editor (1)
css (1)
nyc (3)
performance (5)
fun (5)
enterprise rails (1)
health (1)
new and cool (1)
general (2)
treetop (1)
errors (1)
stack (1)
trace (1)
cache (1)
cookies (1)
freesoftware (1)
conferences (1)
development (1)
driven (1)
proxy (1)
caching (1)
peertopatent (1)
languages (1)
rest (2)
rubyforge (1)
sake (1)
file (1)
upload (1)
constants (1)
osx (1)
terminal (1)
pairprogramming (2)
  • About
  • Case Studies
  • Team
  • Community
  • Careers
  • Tools
  • Contact
  • Labs
  • Events

Contact Us

contact@pivotallabs.com
+1 415-77-PIVOT
TwitterLinkedInFacebook

Pivotal Tracker

Tracker is the award-winning agile project management tool that enables real-time collaboration around a shared, prioritized backlog.
Visit pivotaltracker.com >