Despite some problems with keynote, Travis lead a good discussion and answered some of the questions I had with git.
Speaker really knew the topic well. Git is great, very useful talk.
Regarding the POST vs. PUT question asked, can PUT be used to create a resource if it doesn't exist...some references:
Quoting: http://atomenabled.org/developers/protocol/atom-protocol-spec.php#edit-via-PUT
"To edit a Member Resource, a client sends a PUT request to its Member URI, as specified in [RFC2616]."
Quoting: http://tools.ietf.org/html/rfc2616#page-55
"9.6 PUT
The PUT method requests that the enclosed entity be stored under the supplied Request-URI. If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a modified version of the one residing on the origin server. If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new resource by the requesting user agent, the origin server can create the resource with that URI. If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response. If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to indicate successful completion of the request."
Great presentation, one of the most concise intro to design patterns in 60 minutes I've ever heard.