~/talk

Introducing Rubyfmt

Talkat RubyConf 2019 · 2019-11-18..11-20· [ruby]
slides:none on file

A Ruby formatter is being built that claims no configuration and aims to be correct and fast. It parses with Ripper for correctness (not whitequark/parser), prototypes in Ruby proved too slow (106 ms small file, 415 ms on a 2,000-line file), and it now uses a Rust native extension fed by JSON to hit a <100 ms goal for ~3,000-line files. Distribution avoids gems and bundler because startup time kills interactivity.

AI-written summary · about

  1. 0:00Start
  2. 4:57No formatting related configuration options
  3. 8:22TDD results in better code
  4. 9:07This is another way of discussing tradeoffs
  5. 9:33My Principles
  6. 9:50Do one thing well Correctness beats simplicity Speed is needed at any cost
  7. 15:27Support one consistent style
  8. 20:48Disadvantages
  9. 21:18Running Ruby is slower than not running Ruby
  10. 22:30Rubyfmt uses ripper to ensure compatibility
  11. 24:24How fast is fast enough?
  12. 25:18100ms on 3k lines of Ruby code is the goal
  13. 27:13bundle exec
  14. 32:18an entire set of tooling in Rust to work with Ruby source code
  15. 33:40Sweating the details
~/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.