--- 
riterate: 
  version: "1.0"
  do_not_update: true
  ordered_slides: 
  - Abstracting Services in Ruby
  - Stuff Gets Complicated
  - "Back when things were simple..."
  - "Trying to improve user's experience..."
  - "Use other machines to poll a work table..."
  - "Use queue infrastructure"
  - "Issues"
  - "Problem Domain, Solution Domain"
  - "Service Middleware Semantics"
  - "Testing, Debugging, Diagnostics"
  - Objectives
  - Foundations of Objects
  - Messaging
  - REST
  - "Design"
  - "Design: Nouns"
  - "Design: Verbs"
  - "Abstraction Leads to Rich Features"
  - "Simple"
  - "Client-Side Message"
  - "Server-Side"
  - "Client-Side Result"
  - Sample Service
  - Using a Client Proxy
  - Example Message
  - Client support for any Module
  - Client Proxy
  - Message
  - Result
  - Coder
  - Identity Coder
  - Transport
  - Client Transport
  - Call service directly
  - "Call service directly - Output"
  - In-core, in-process service
  - Sample Service with Client Support
  - "In-core, in-process service - Output"
  - One-way, asynchronous subprocess service
  - Subprocess Transport
  - "One-way, asynchronous subprocess service - Output"
  - "Subprocess service with continuation"
  - One-way, file log service
  - "One-way, file log service - Output"
  - Replay file log
  - "Replay file log - Output"
  - One-way, named pipe service
  - Named Pipe Server
  - "One-way, named pipe service - Output"
  - Chain Coder
  - One-way, named pipe service with signature
  - "One-way, named pipe service with signature - Output"
  - One-way, named pipe service with invalid signature
  - "One-way, named pipe service with invalid signature - Output"
  - Socket service
  - "Socket service - Output"
  - Socket service with forwarded exception.
  - "Socket service with forwarded exception. - Output"
  - Example Exception
  - Encapsulated Exception
  - "Socket service with local fallback."
  - "Socket service with local fallback. - Output"
  - Implementation
  - Transport
  - Transport#send_message
  - Local Transport
  - Null Transport
  - YAML Coder
  - File Transport
  - File Transport Support
  - Payload IO for Transport
  - Transport#receive_message
  - Process (receive) messages from a file.
  - Stream Transport
  - Serve all Messages from a stream.
  - Serve a Message from a stream.
  - Marshal Coder
  - Sign Coder
  - TCP Socket Transport
  - TCP Socket Server
  - TCP Socket Client
  - "Transport#send_result"
  - "Transport#receive_result"
  - "Sends the encoded Message payload String."
  - "Receives the encoded Message payload String."
  - "Sends the encoded Result payload String."
  - "Receives the encoded Result payload String."
  - Fallback Transport
  - Buffer Transport
  - Synopsis
  - Slide Tools
  - Appendix
  - Modules and Classes
  - Object Initialization
  - Diagnostic Logging
  - Null Coder
  - Sign Coder Support
  - Broadcast Transport
  - HTTP Transport
  - Transport Support
  - Message Identity
  - Message Delay Support
  - Code More
  - Client Mixin
  - Proxy Configuration

  unknown_slides: []

  unordered_slides: []

