Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Robb broome rubyconf x presentation for publication

on

  • 863 views

Rubyconf overview

Rubyconf overview

Statistics

Views

Total Views
863
Views on SlideShare
863
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Robb broome rubyconf x presentation for publication Robb broome rubyconf x presentation for publication Presentation Transcript

  • Rubyconf X Thursday, November 18, 2010
  • Thursday, November 18, 2010
  • Chelimsky::Dry Thursday, November 18, 2010 View slide
  • Chelimsky::Dry • every time you reduce duplication you increase coupling by introducing new dependencies Thursday, November 18, 2010 View slide
  • Chelimsky::Dry • every time you reduce duplication you increase coupling by introducing new dependencies • metaprogram only when you really do not know the conditions Thursday, November 18, 2010
  • Chelimsky::Dry • every time you reduce duplication you increase coupling by introducing new dependencies • metaprogram only when you really do not know the conditions • DRY. What does it mean? Thursday, November 18, 2010
  • Chelimsky::Dry Thursday, November 18, 2010
  • Chelimsky::Dry • Does not mean: “don’t type anything twice” Thursday, November 18, 2010
  • Chelimsky::Dry Thursday, November 18, 2010
  • Chelimsky::Dry • Every piece of knowledge Thursday, November 18, 2010
  • Chelimsky::Dry • Every piece of knowledge • must have a Thursday, November 18, 2010
  • Chelimsky::Dry • Every piece of knowledge • must have a • single, Thursday, November 18, 2010
  • Chelimsky::Dry • Every piece of knowledge • must have a • single, • unambiguous, Thursday, November 18, 2010
  • Chelimsky::Dry • Every piece of knowledge • must have a • single, • unambiguous, • authoritative representation Thursday, November 18, 2010
  • Chelimsky::Dry • Every piece of knowledge • must have a • single, • unambiguous, • authoritative representation • within a system Thursday, November 18, 2010
  • Chelimsky::Dry Thursday, November 18, 2010
  • Chelimsky::Dry • before filters for orthogonal stuff: Thursday, November 18, 2010
  • Chelimsky::Dry • before filters for orthogonal stuff: • authentication Thursday, November 18, 2010
  • Chelimsky::Dry • before filters for orthogonal stuff: • authentication • logging Thursday, November 18, 2010
  • Chelimsky::Dry • before filters for orthogonal stuff: • authentication • logging • not for finding records Thursday, November 18, 2010
  • Katz • rails3 • short branches (2days) • change code or tests, not both • or, refactor up a level • deprecation isolation (compat module) • check out tests on the depot app Thursday, November 18, 2010
  • Matz Thursday, November 18, 2010
  • Matz • ruby 2.0 Thursday, November 18, 2010
  • Matz • ruby 2.0 • by christmas Thursday, November 18, 2010
  • Matz • ruby 2.0 • by christmas • whatever year Thursday, November 18, 2010
  • Matz • ruby 2.0 • by christmas • whatever year • embedded ruby Thursday, November 18, 2010
  • opengov codeforamerica sunlight fdn • making gov data openly and freely available • building apis with mongo db - eric mill, sunlight foundation / labs • -> json view chrome extension • sections argument , range arguments in url determine what’s returned • different calls each map to dup'd data in the mongo db • each call maps to a whole data structure in mongo • crowdsourcing (guardian example). Needs a framework Thursday, November 18, 2010
  • aaron patterson @tenderlove Thursday, November 18, 2010
  • aaron patterson @tenderlove • zomg Thursday, November 18, 2010
  • aaron patterson @tenderlove • zomg • rewrote arel Thursday, November 18, 2010
  • aaron patterson @tenderlove • zomg • rewrote arel • superficial vs deep refactoring Thursday, November 18, 2010
  • aaron patterson @tenderlove • zomg • rewrote arel • superficial vs deep refactoring • 6 weeks Thursday, November 18, 2010
  • aaron patterson @tenderlove • zomg • rewrote arel • superficial vs deep refactoring • 6 weeks • working on integ with mongo Thursday, November 18, 2010
  • aaron patterson @tenderlove does ruby scale? Thursday, November 18, 2010
  • aaron patterson @tenderlove • benchmark over time Thursday, November 18, 2010
  • aaron patterson @tenderlove Thursday, November 18, 2010
  • aaron patterson @tenderlove • inject is way slower than hash & a map • Hash.[@list.map{|val| ... }] Thursday, November 18, 2010
  • aaron patterson @tenderlove • inject is way slower than hash & a map • Hash.[@list.map{|val| ... }] • class_eval is way faster than define_method because dm uses a proc activation Thursday, November 18, 2010
  • aaron patterson @tenderlove • inject is way slower than hash & a map • Hash.[@list.map{|val| ... }] • class_eval is way faster than define_method because dm uses a proc activation • attr_reader way faster than a method Thursday, November 18, 2010
  • jake scruggs • Metric_fu • The great thing about standards is that there are so many to choose from • when to fix, when to refactor (flog>60) • high churn objects desire better test cov Thursday, November 18, 2010
  • polite programmer’s guide • testing private methods? • monkey-patch. evil or not? • fail if instance_methods.map.... include?(:mymethod) • new method v existing • delegate vertically if you own, horizontally if not Thursday, November 18, 2010
  • Scott Chacon github Thursday, November 18, 2010
  • Scott Chacon $ git describe HEAD github Thursday, November 18, 2010
  • Scott Chacon $ git describe HEAD v0.2.4-25-g8a3f93b github Thursday, November 18, 2010
  • Scott Chacon $ git describe HEAD v0.2.4-25-g8a3f93b github $ git describe HEAD@{1.month.ago} Thursday, November 18, 2010
  • Scott Chacon $ git describe HEAD v0.2.4-25-g8a3f93b github $ git describe HEAD@{1.month.ago} v0.2.4-6-gf51a8ba Thursday, November 18, 2010
  • Scott Chacon $ git describe HEAD v0.2.4-25-g8a3f93b github $ git describe HEAD@{1.month.ago} v0.2.4-6-gf51a8ba git log --oneline --decorate --graph Thursday, November 18, 2010
  • Scott Chacon $ git describe HEAD v0.2.4-25-g8a3f93b github $ git describe HEAD@{1.month.ago} v0.2.4-6-gf51a8ba git log --oneline --decorate --graph git bundle create repo.bundle master Thursday, November 18, 2010
  • Scott Chacon $ git describe HEAD v0.2.4-25-g8a3f93b github $ git describe HEAD@{1.month.ago} v0.2.4-6-gf51a8ba git log --oneline --decorate --graph git bundle create repo.bundle master git clone repo.bundle -b master repo Thursday, November 18, 2010
  • Scott Chacon $ git describe HEAD v0.2.4-25-g8a3f93b github $ git describe HEAD@{1.month.ago} v0.2.4-6-gf51a8ba git log --oneline --decorate --graph git bundle create repo.bundle master git clone repo.bundle -b master repo git branch --merged Thursday, November 18, 2010
  • Scott Chacon $ git describe HEAD v0.2.4-25-g8a3f93b github $ git describe HEAD@{1.month.ago} v0.2.4-6-gf51a8ba git log --oneline --decorate --graph git bundle create repo.bundle master git clone repo.bundle -b master repo git branch --merged git branch --no-merged Thursday, November 18, 2010
  • Scott Chacon $ git describe HEAD v0.2.4-25-g8a3f93b github $ git describe HEAD@{1.month.ago} v0.2.4-6-gf51a8ba git log --oneline --decorate --graph git bundle create repo.bundle master git clone repo.bundle -b master repo git branch --merged git branch --no-merged git rerere (Reuse Recorded Resolution) Thursday, November 18, 2010
  • DHH Thursday, November 18, 2010
  • DHH Thursday, November 18, 2010
  • DHH Thursday, November 18, 2010
  • DHH Thursday, November 18, 2010
  • DHH monkey-patching Thursday, November 18, 2010
  • DHH monkey-patching freedom-patching Thursday, November 18, 2010
  • DHH monkey-patching freedom-patching Thursday, November 18, 2010
  • DHH Thursday, November 18, 2010
  • DHH ruby is your friend, not your parents Thursday, November 18, 2010
  • DHH ruby is your friend, not your parents ruby - guidance Thursday, November 18, 2010
  • DHH ruby is your friend, not your parents ruby - guidance java - enforcement Thursday, November 18, 2010
  • DHH ruby is for consenting adults Thursday, November 18, 2010
  • Thursday, November 18, 2010
  • DHH Thursday, November 18, 2010
  • DHH BFF Thursday, November 18, 2010
  • DHH Thursday, November 18, 2010
  • DHH Thursday, November 18, 2010
  • Resources • Video: http://confreaks.net/events/ rubyconf2010 • Matz Keynote: http://www.slideshare.net/ yukihiro_matz/rubyconf-2010-keynote-by- matz • Overall: http://zero2railshero.tumblr.com/ post/1592771138/rubyconf-new-orleans- awesome-twosome Thursday, November 18, 2010
  • Resources • Chelimsky: http://blog.davidchelimsky.net/ wp-content/uploads/2010/11/ duplication.pdf • online sessions: http:// rubyconfirmate.heroku.com/ conference_sessions • opengov: http://sunlightlabs.com/ Thursday, November 18, 2010
  • • git-tips.heroku.com • Scott Chacon: bit.ly/classygit must-see introduction • Speaker’s Videos: http://confreaks.net/events/ rubyconf2010 up in a week or so • dave thomas: @pragdave keynote: http:// www.slideshare.net/prqgdave/rubyconfx- keynote • james edward gray II @jeg2: http:// www.slideshare.net/JamesEdwardGrayII/unblocked • poisioning rubinius: @brixen http://slidesha.re/ cLdpsc Thursday, November 18, 2010