This document contains summaries of presentations from Rubyconf X on November 18, 2010. Chelimsky discussed that reducing duplication increases coupling and to only metaprogram when conditions are unknown. Katz recommended short branches in Rails 3 and refactoring tests or code but not both. Matz said Ruby 2.0 will be out by Christmas for embedded Ruby. Opengov discussed making government data openly available through APIs with MongoDB. Patterson discussed optimizing Ruby performance. Chacon demonstrated Git tools like describing commits and creating bundles. DHH talked about Ruby providing guidance not enforcement and being for consenting adults.
4. Chelimsky::Dry
• every time you reduce duplication you
increase coupling by introducing new
dependencies
Thursday, November 18, 2010
5. 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
6. 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
14. Chelimsky::Dry
• Every piece of knowledge
• must have a
• single,
• unambiguous,
• authoritative representation
Thursday, November 18, 2010
15. Chelimsky::Dry
• Every piece of knowledge
• must have a
• single,
• unambiguous,
• authoritative representation
• within a system
Thursday, November 18, 2010
20. Chelimsky::Dry
• before filters for orthogonal stuff:
• authentication
• logging
• not for finding records
Thursday, November 18, 2010
21. 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
25. Matz
• ruby 2.0
• by christmas
• whatever year
Thursday, November 18, 2010
26. Matz
• ruby 2.0
• by christmas
• whatever year
• embedded ruby
Thursday, November 18, 2010
27. 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
33. aaron patterson
@tenderlove
• zomg
• rewrote arel
• superficial vs deep refactoring
• 6 weeks
• working on integ with mongo
Thursday, November 18, 2010
38. 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
39. 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
40. 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
41. 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
72. • 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