Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Untitled talk at Riviera.rb

732 views

Published on

This surprise talk was given on 2014-06-03 at Riviera.rb.

The slides are really just up for reference: unless you're a sociopathic genius with an uncanny cultural fit, you're really not going to understand much without the speech.

Published in: Entertainment & Humor
  • Be the first to comment

  • Be the first to like this

Untitled talk at Riviera.rb

  1. 1. riviera.rb This Talk Has No Title Yet Jean-Baptiste Mazon @jbmazon
  2. 2. May contain trace amounts of ● ruby (twitter request) ● beer ● Java 8 ● one or two other obscure languages ● no livecoding
  3. 3. GoF ● abstract factory ● builder ● factory method ● prototype ● singleton ● adapter ● bridge ● composite ● decorator ● facade ● flyweight ● proxy ● chain of responsibility ● command ● interpreter ● iterator ● mediator ● memento ● observer ● state ● strategy ● template method ● visitor
  4. 4. Multiton
  5. 5. Multiton
  6. 6. RAII
  7. 7. RAII ● Resource Acquisition Is Initialization ● C++ ● Perl, Python, PHP ● CADR
  8. 8. Speaking of Lisp
  9. 9. Norvig ● abstract factory ● builder ● factory method ● prototype ● singleton ● adapter ● bridge ● composite ● decorator ● facade ● flyweight ● proxy ● chain of responsibility ● command ● interpreter ● iterator ● mediator ● memento ● observer ● state ● strategy ● template method ● visitor
  10. 10. Wired ● master/slave ● CSMA/CD ● token ring ● sneakernet
  11. 11. Locking ● acquire ● release ● read-write lock ● deadlock ● spinlock
  12. 12. Antipatterns ● race hazard ● input kludge ● busy waiting ● magic numbers ● magic strings ● action at a distance ● error hiding ● magic pushbutton ● hard code ● soft code ● database-as-IPC ● programming by permutation ● copy and paste programming ● cargo cult programming
  13. 13. Cargo Cult
  14. 14. Error Hiding begin ImportFile(filename) rescue raise SomeException, 'import failed' end
  15. 15. Modeling ● anemic domain model ● BaseBean ● circle-ellipse ● god class, god object
  16. 16. Design
  17. 17. Design ● spaghetti code ● ravioli code ● lasagna code ● big ball of mud ● inner-platform effect ● tester driven development
  18. 18. Maintenance ● circular dependency ● dependency hell ● DLL hell ● JAR hell ● boat anchor
  19. 19. A few others ● gold plating ● golden hammer ● silver bullet ● not invented here ● invented here ● premature optimization ● repeating yourself ● reinventing the square wheel ● abstraction inversion ● pattern abuse and overuse
  20. 20. Consider this simple code [-]+++++++++++++++ +++++++++++++++++++ +++++++++++++++++++ +++++++++++++++++++ .---.+++++++..+++.
  21. 21. Simplifying def h puts 'HELLO' end h h h h
  22. 22. A last one
  23. 23. Thank you!

×