My notes on GOTO 2015 - Progress Toward an Engineering Discipline of Software - Mary Shaw
Notes
17:28 past the bridges and into software engineering
Software Engineering is all design. Production used to be printing the CDs, and nowadays it is hitting the "deploy" button.
"scaling the costs to the consequences" -- the point is not to minimize the cost, the point is to scale it to the consequences. Risks must be taken, and if the potential gains are huge, then the risks can be correspondingly large.
My notes on GOTO 2014 - REST: I don't Think it Means What You Think it Does - Stefan Tilkov
"People decide they want to build something in a RESTful fashion, so they spend all their time arguing about where the slashes go".
"It is the first litmus test for your REST API whether you depend on specific characters in your URIs for things to work."
(From the client's point of view.)
"Version numbers in URIs just suck. Everybody does it which doesn't make it any less sucky. It is a stupid idea. Don't do that."
"The version number is in the URI because the URI is the API". <-- ? I would assume the URI is NOT the API.
Versioning: "Version your documentation documents. Wait what? --Yes, no versioning".
Postel's law "TCP implementations should follow a general principle of robustness: Be conservative in what you do, be liberal in what you accept from others." http://tools.ietf.org/html/rfc761
Client rules Don't depend on URI structure Support unknown links Ignore unknown content
Server rules Don't break URI structure unnecessarily Evolve via additional resources Support older formats