~/talk

Serial Protocol Analyzer on Ruby

Talkat RubyKaigi 2017 · 2017-09-18..09-20· [embedded-and-hardware, ruby]
links:none on file
slides:none on file

Builds a Ruby serial protocol analyzer that reads exactly what the sender writes to the device, tests on macOS and Windows COM ports, and finds that simply catting the device fails because file descriptors are per process. Tries send_io on Unix domain sockets, FFI C extension and /proc tricks, and various kernel hacks for two weeks with no reliable result. Settles on IO.pipe + fork to share descriptors between sender and analyzer, which works and yields a simple, publishable Ruby solution.

AI-written summary · about

  1. 0:00Introduction and background
  2. 4:09Why build the analyzer
  3. 10:28Windows environment setup
  4. 13:59File descriptor sharing challenge
  5. 19:58Solution with IO pipes
  6. 24:18Summary and future plans
  7. 26:08Q&A session
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.