Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Keeping Software Soft

John Kary
January 17, 2015

Keeping Software Soft

Software provides continual value when it can evolve with the business. But without proper care it's easy for software to become rigid and difficult to change--it stops being soft. In this talk John introduces ways to think of software as independent, replaceable components.

John Kary

January 17, 2015
Tweet

More Decks by John Kary

Other Decks in Technology

Transcript

  1. $ ls -l | grep "b" fabien.txt rabid-bear.rb sunk-cost.bl zabbazabba.do

    ! ! $ tail -f logs/prod.log | grep "error" [2015-01-16 21:15:45] app.error — Uncaught Exception [2015-01-16 23:22:42] app.error — Invalid argument "1" expected "2" [2015-01-17 00:01:52] app.error — SQL parse error "); DROP TABLE St
  2. $ ls -l | grep "b" fabien.txt rabid-bear.rb sunk-cost.bl zabbazabba.do

    ! ! $ tail -f logs/prod.log | grep "error" [2015-01-16 21:15:45] app.error — Uncaught Exception [2015-01-16 23:22:42] app.error — Invalid argument "1" expected "2" [2015-01-17 00:01:52] app.error — SQL parse error "); DROP TABLE St Unix Pipes
  3. GET /index.html HTTP/1.1 Host: www.lmgtfy.com www.lmgtfy.com HTTP/1.1 200 OK Date:

    Mon, 23 May 2005 22:38:34 GMT Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT ETag: "3f80f-1b6-3e1cb03b" Content-Type: text/html; charset=UTF-8 ! <html><head><title>An Example Page</title></head> <body>Hello World</body></html>
  4. Interface "[Prohibits] access to all resources by default, allowing access

    only through well-defined entry points" http://en.wikipedia.org/wiki/Interface_(computing) "[A] shared boundary across which two separate components of a computer system exchange information."
  5. Further Study Basic of the Unix Philosophy! http://www.catb.org/esr/writings/taoup/html/ch01s06.html The Art

    of Unix Programming (2003) ! The Art of Destroying Software! Talk by Greg Young (Unsure location/date) http://vimeo.com/108441214 ! Stop Writing Classes! Jack Diederich @ PyCon 2012 https://www.youtube.com/watch?v=o9pEzgHorH0 ! Architecture the Lost Years Robert C Martin (Uncle Bob) @ Ruby Midwest 2011 http://confreaks.com/videos/759-rubymidwest2011-keynote-architecture-the-lost-years ! Seven Languages in Seven Weeks (Erlang chapter)! https://pragprog.com/book/btlang/seven-languages-in-seven-weeks
  6. Homework • Build small things • Build simple things and

    compose them together • Connect things by generic messages • Isolate complexity into more small things • Build things that can be thrown away