Nick Sutterer's wroclove.rb 2018 talk walking through his programming life: learning functions in C++ as a child, moving through Perl into Ruby/Rails, being dissatisfied with Rails' monolithic style, and writing Cells (2008), Reform and Trailblazer to get proper encapsulation. Explains how Ruby's module/include/super/prepend/refinements mechanics make customizing objects painful, which led him to adopt a more functional style. Covers Trailblazer 1.1's process method and hidden call stack, 2.0's step DSL inspired by Scott Wlaschin's Railway Oriented Programming (two tracks, mutable context object, nesting/compositions, replace/insert/delete DSL, diagram rendering via developer gem), and 2.1's BPMN-based activities, workflow DSL, tracing, and suspend/resume events used in the German police's one-time-password login and other workflows. Concludes that his style has converged on small callable units with typed inputs/outputs orchestrated by a process engine — essentially what his dad told him 25 years ago. Q&A: would switching language help? Even Elixir's pipe operator only handles linear flow, so the step DSL is still novel.