riviera.rb 
This Talk Has No Title 
Yet 
Jean-Baptiste Mazon 
@jbmazon
May contain trace amounts of 
● ruby (twitter request) 
● beer 
● Java 8 
● one or two other 
obscure languages 
● no live...
GoF 
● abstract factory 
● builder 
● factory method 
● prototype 
● singleton 
● adapter 
● bridge 
● composite 
● decora...
Multiton
Multiton
RAII
RAII 
● Resource Acquisition Is Initialization 
● C++ 
● Perl, Python, PHP 
● CADR
Speaking of Lisp
Norvig 
● abstract factory 
● builder 
● factory method 
● prototype 
● singleton 
● adapter 
● bridge 
● composite 
● dec...
Wired 
● master/slave 
● CSMA/CD 
● token ring 
● sneakernet
Locking 
● acquire 
● release 
● read-write lock 
● deadlock 
● spinlock
Antipatterns 
● race hazard 
● input kludge 
● busy waiting 
● magic numbers 
● magic strings 
● action at a distance 
● e...
Cargo Cult
Error Hiding 
begin 
ImportFile(filename) 
rescue 
raise SomeException, 'import 
failed' 
end
Modeling 
● anemic domain model 
● BaseBean 
● circle-ellipse 
● god class, god object
Design
Design 
● spaghetti code 
● ravioli code 
● lasagna code 
● big ball of mud 
● inner-platform effect 
● tester driven deve...
Maintenance 
● circular dependency 
● dependency hell 
● DLL hell 
● JAR hell 
● boat anchor
A few others 
● gold plating 
● golden hammer 
● silver bullet 
● not invented here 
● invented here 
● premature optimiza...
Consider this simple code 
[-]+++++++++++++++ 
+++++++++++++++++++ 
+++++++++++++++++++ 
+++++++++++++++++++ 
.---.+++++++...
Simplifying 
def h 
puts 
'HELLO' 
end 
h 
h 
h 
h
A last one
Thank you!
Untitled talk at Riviera.rb
Untitled talk at Riviera.rb
Untitled talk at Riviera.rb
Upcoming SlideShare
Loading in …5
×

Untitled talk at Riviera.rb

601 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
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
601
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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!

×