- Use Bullet
- ActiveRecord breaks SRP
- Quick Start
- Long README
- Never do breaking changes if possible and use semantic versioning
- Support as many versions as possible
- Gemnasium - Auto keep track of your Gemfile's dependencies
- wwtd - Replicate Travis CI config locally
- Appraisals - Generate multiple sets of Gemfiles to use against Travis CI
vagrant up && bundle && rake test
must just work- Rubocop - Enforce code style rules
- Rubyflow - Give publicity to a gem
- Worst. Ideas. Evar - By Aaron Patterson
- Array#permutations
- Docker & Kubernetes
- Google Cloud with Ruby
- Rinda (Linda on Ruby)
- Build great partnerships
- DHH, "I wanted a life beyond work"
- Google - Unconscious bias
- Audit security of the gems you use (Hakiri)
- Breakmen - Find security vulnerabilities
(Didn't watch, but probably should)
- Re-fucking-watch!
- Take time off! - Duh
- GEM_PATH - ENV var to lookup for gems
- Small PRs
- LiceCAP to add gifs to PRs
- Limit the scope of DSLs to make people hate you less
- Whitespace as dots
- Auto-indent
- Ruby blocks
- RubyProf - CallStackPrinter
- StackProf
- AllocationTracer
- RubyVM.stats
- mruby-cli
- gdb -p 10 - Attach to process and leave you in a prompt
- backtrace - Where am I?
- info threads - List of all the active threads
- thread appli all backtrace - Applies backtrace for all threads
- quit - Exit, duh
- gdb --args ruby snowflake.rb - To run an arbitrary command instead of attach
- run - Run the program started with the previous command
- break rb_ary_uniq_bang - Set a breakpoint on that function
- list - Show source code (like whereami pry)
- display VALUE - Show the value of a variable VALUE
- display (struct RArray)VALUE - Display the value of the memory in Addr VALUE
- For MRI: rb_p - Ruby-like puts in C. Use like
call rb_p(VALUE)
- call rb_backtrace() - Ruby-like backtrace
- next (same function), step (drill in), finish (go back one level up)
- continue (go until the end)
- call(rb_p(rb_eval_string_protect("Ruby code", (int*)0)))