show workspace names instead of 'eval' in backtrace
pass workspace name in info map
start the chapter with a capital letter
don't save workspaces that weren't successfully loaded
Further work to reduce the readability of oscencode:

* inline more fns to increase efficiency
* remove superfluous calls to force_encoding
Merge pull request #205 from nicoder/patch-12

start the chapter with a capital letter
Merge pull request #207 from jweather/dont-save-empty-workspaces3

don't save workspaces that weren't successfully loaded
Merge pull request #196 from jweather/workspace-names3

show workspace names instead of 'eval' in backtrace
Add bounded integer and float cache to OSC decoder
set ruby's parent process so it will die the GUI does
Add new fn: quantise

Round value to the nearest multiple of resolution.
Teach live_loop to thread result back into itself:

* Allows you to thread a context through a live loop
* For example, you could use it to count the num of
  iterations:

live_loop :foo, init: 0 do |cnt|
  puts cnt
  play 50
  sleep 1
  cnt += 1
end
Add more C extensions:

* Did you mean?
* A Ruby Profiler
better error reporting on startup
bind Home and End
Merge pull request #209 from jweather/home-and-end

bind Home and End
oops - comment out oscevent - this is highly experimental
add new fn factor?
change duration to match the code example
remove extra whitespace