Your SlideShare is downloading. ×
Robb broome rubyconf x presentation for publication
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Robb broome rubyconf x presentation for publication

731
views

Published on

Rubyconf overview

Rubyconf overview

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
731
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Rubyconf X Thursday, November 18, 2010
  • 2. Thursday, November 18, 2010
  • 3. Chelimsky::Dry Thursday, November 18, 2010
  • 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
  • 7. Chelimsky::Dry Thursday, November 18, 2010
  • 8. • Does not mean:“don’t type anything twice” Chelimsky::Dry Thursday, November 18, 2010
  • 9. Chelimsky::Dry Thursday, November 18, 2010
  • 10. Chelimsky::Dry • Every piece of knowledge Thursday, November 18, 2010
  • 11. Chelimsky::Dry • Every piece of knowledge • must have a Thursday, November 18, 2010
  • 12. Chelimsky::Dry • Every piece of knowledge • must have a • single, Thursday, November 18, 2010
  • 13. Chelimsky::Dry • Every piece of knowledge • must have a • single, • unambiguous, 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
  • 16. Chelimsky::Dry Thursday, November 18, 2010
  • 17. Chelimsky::Dry • before filters for orthogonal stuff: Thursday, November 18, 2010
  • 18. Chelimsky::Dry • before filters for orthogonal stuff: • authentication Thursday, November 18, 2010
  • 19. Chelimsky::Dry • before filters for orthogonal stuff: • authentication • logging 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
  • 22. Matz Thursday, November 18, 2010
  • 23. Matz • ruby 2.0 Thursday, November 18, 2010
  • 24. Matz • ruby 2.0 • by christmas 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
  • 28. aaron patterson @tenderlove Thursday, November 18, 2010
  • 29. aaron patterson @tenderlove • zomg Thursday, November 18, 2010
  • 30. aaron patterson @tenderlove • zomg • rewrote arel Thursday, November 18, 2010
  • 31. aaron patterson @tenderlove • zomg • rewrote arel • superficial vs deep refactoring Thursday, November 18, 2010
  • 32. aaron patterson @tenderlove • zomg • rewrote arel • superficial vs deep refactoring • 6 weeks 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
  • 34. aaron patterson @tenderlove does ruby scale? Thursday, November 18, 2010
  • 35. aaron patterson @tenderlove • benchmark over time Thursday, November 18, 2010
  • 36. aaron patterson @tenderlove Thursday, November 18, 2010
  • 37. aaron patterson @tenderlove • inject is way slower than hash & a map • Hash.[@list.map{|val| ... }] 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
  • 42. Scott Chacon github Thursday, November 18, 2010
  • 43. Scott Chacon github$ git describe HEAD Thursday, November 18, 2010
  • 44. Scott Chacon github$ git describe HEAD v0.2.4-25-g8a3f93b Thursday, November 18, 2010
  • 45. Scott Chacon github$ git describe HEAD v0.2.4-25-g8a3f93b $ git describe HEAD@{1.month.ago} Thursday, November 18, 2010
  • 46. Scott Chacon github$ git describe HEAD v0.2.4-25-g8a3f93b $ git describe HEAD@{1.month.ago} v0.2.4-6-gf51a8ba Thursday, November 18, 2010
  • 47. Scott Chacon github$ git describe HEAD v0.2.4-25-g8a3f93b $ git describe HEAD@{1.month.ago} v0.2.4-6-gf51a8ba git log --oneline --decorate --graph Thursday, November 18, 2010
  • 48. Scott Chacon github$ git describe HEAD v0.2.4-25-g8a3f93b $ 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
  • 49. Scott Chacon github$ git describe HEAD v0.2.4-25-g8a3f93b $ 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
  • 50. Scott Chacon github$ git describe HEAD v0.2.4-25-g8a3f93b $ 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
  • 51. Scott Chacon github$ git describe HEAD v0.2.4-25-g8a3f93b $ 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
  • 52. Scott Chacon github$ git describe HEAD v0.2.4-25-g8a3f93b $ 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
  • 53. DHH Thursday, November 18, 2010
  • 54. DHH Thursday, November 18, 2010
  • 55. DHH Thursday, November 18, 2010
  • 56. DHH Thursday, November 18, 2010
  • 57. DHH monkey-patching Thursday, November 18, 2010
  • 58. DHH monkey-patching freedom-patching Thursday, November 18, 2010
  • 59. DHH monkey-patching freedom-patching Thursday, November 18, 2010
  • 60. DHH Thursday, November 18, 2010
  • 61. DHH ruby is your friend, not your parents Thursday, November 18, 2010
  • 62. DHH ruby is your friend, not your parents ruby - guidance Thursday, November 18, 2010
  • 63. DHH ruby is your friend, not your parents ruby - guidance java - enforcement Thursday, November 18, 2010
  • 64. DHH ruby is for consenting adults Thursday, November 18, 2010
  • 65. Thursday, November 18, 2010
  • 66. DHH Thursday, November 18, 2010
  • 67. DHH BFF Thursday, November 18, 2010
  • 68. DHH Thursday, November 18, 2010
  • 69. DHH Thursday, November 18, 2010
  • 70. 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
  • 71. 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
  • 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

×