← Extractions

Ruby Rendezvous: Method Call, Proc, and Beyond — Agnieszka Małaszkiewicz at wroclove.rb 2023

Agnieszka Małaszkiewicz gives a nostalgic tour of lesser-known Ruby flavors at wroclove.rb 2023 — adjacent-string concatenation in parse.y, calling methods via :: scope resolution, calling procs with === (enabling procs in case/when), curry, Symbol#to_proc, Hash#to_proc, Method#to_proc, and numbered block parameters. She also recounts using ChatGPT to brainstorm the talk title and reflects on first speaking at wroclove.rb in 2020.

Model
claude-opus-4-7
Ingestion
f5b8165f
Input tokens
157,970
fresh
92,240
cached
58,864
cache write
6,866
Output tokens
12,618
Duration
176.0s
Roundtrips
6
Tool calls
15
Cost
$0.00
Nodes/edges extracted
29 / 41
Read set (nodes/edges)
82 / 2

Nodes (29)

create merb tool
kind (empty) tool
name (empty) merb
slug (empty) merb
attrs (empty) {"status" => "defunct", "category" => "framework"}
description (empty) Ruby web framework whose core team later merged with the Rails core team. Cited in Małaszkiewicz's talk as an early c...
short_description (empty) Defunct Ruby web framework that merged with Rails.
create Hash#to_proc concept
kind (empty) concept
name (empty) Hash#to_proc
slug (empty) hash-to_proc
attrs (empty) {"category" => "pattern"}
description (empty) Ruby core method that converts a Hash into a proc equivalent to `->(key){ hash[key] }`, implemented in Rubinius as `m...
short_description (empty) Ruby method converting a hash into a proc equivalent to hash[key].
create Ruby Archaeology talk
kind (empty) talk
name (empty) Ruby Archaeology
slug (empty) ruby-archaeology
attrs (empty) {"type" => "talk"}
description (empty) Nick Schwaderer's talk exploring old Ruby code (like the merb framework) in the spirit of a 'Ruby detective'. Małaszk...
short_description (empty) Nick Schwaderer talk on exploring old Ruby code as a 'Ruby detective'.
update Agnieszka Małaszkiewicz person
attrs (empty) {"blog" => "womanonrails.com", "first_ruby_version" => "1.9.3", "first_rails_version" => "3.0", "joined_ruby_communit...
description Conference speaker. Ruby developer who joined the Ruby community around 2011–2012, starting on Ruby 1.9.3 and Rails 3. Runs the Woman on ...
short_description Conference speaker. Ruby developer and conference speaker; author of Woman on Rails blog.
update Ruby Rendezvous Method Call, Proc, and Beyond talk
attrs {"type" => "talk"} {"type" => "talk", "title_brainstormed_with" => "ChatGPT"}
description Talk at wroclove.rb 2023. Agnieszka Małaszkiewicz's wroclove.rb 2023 talk (final title crowdsourced with ChatGPT after rejecting drier suggesti...
short_description Talk at wroclove.rb 2023. Tour of lesser-known ways to call methods and procs in Ruby.
create ChatGPT tool
kind (empty) tool
name (empty) ChatGPT
slug (empty) chatgpt
attrs (empty) {"category" => "service"}
description (empty) Conversational LLM by OpenAI. Małaszkiewicz used ChatGPT to brainstorm the title of her wroclove.rb 2023 talk, iterat...
short_description (empty) OpenAI's conversational LLM assistant.
create Greg Navis person
kind (empty) person
name (empty) Greg Navis
slug (empty) greg-navis
description (empty) Ruby developer and blogger. Author of the widely cited article enumerating 12 ways to call a method in Ruby. Małaszki...
short_description (empty) Ruby developer; author of '12 ways to call a method in Ruby'.
create 12 Ways to Call a Method in Ruby resource
kind (empty) resource
name (empty) 12 Ways to Call a Method in Ruby
slug (empty) 12-ways-to-call-a-method-in-ruby
attrs (empty) {"type" => "article"}
description (empty) Blog article by Greg Navis cataloguing 12 ways to call a method in Ruby, using a `User#hello` example. Referenced by ...
short_description (empty) Greg Navis's article enumerating 12 ways to invoke a method in Ruby.
create Nick Schwaderer person
kind (empty) person
name (empty) Nick Schwaderer
slug (empty) nick-schwaderer
description (empty) Ruby developer whose 'Ruby Archaeology' / 'Ruby Detective' talk inspired Małaszkiewicz. He popularized the framing of...
short_description (empty) Ruby developer known for 'Ruby Archaeology' / 'Ruby Detective' talks.
create Rubinius tool
kind (empty) tool
name (empty) Rubinius
slug (empty) rubinius
attrs (empty) {"category" => "language", "last_update" => "2020"}
description (empty) Alternative Ruby implementation written largely in Ruby itself. Last update was in 2020. Małaszkiewicz uses it as a r...
short_description (empty) Ruby implementation written largely in Ruby.
create IronRuby tool
kind (empty) tool
name (empty) IronRuby
slug (empty) ironruby
attrs (empty) {"status" => "defunct", "category" => "language"}
description (empty) Historical Ruby implementation targeting Microsoft's .NET framework, circa 2011. Mentioned in passing by Małaszkiewic...
short_description (empty) Ruby implementation for Microsoft's .NET framework.
create RuboCop tool
kind (empty) tool
name (empty) RuboCop
slug (empty) rubocop
attrs (empty) {"category" => "tool"}
description (empty) Ruby static code analyzer / style linter. Its documentation recommends using `::` only for referencing constants (inc...
short_description (empty) Ruby static code analyzer and style linter.
create Yacc tool
kind (empty) tool
name (empty) Yacc
slug (empty) yacc
attrs (empty) {"category" => "tool"}
description (empty) Parser generator ('yet another compiler compiler') that consumes a BNF-style grammar description and emits C code. Us...
short_description (empty) 'Yet another compiler compiler' — parser generator.
create Backus-Naur Form concept
kind (empty) concept
name (empty) Backus-Naur Form
slug (empty) backus-naur-form
attrs (empty) {"category" => "methodology"}
description (empty) Metalanguage ('BNF') for describing the grammar of programming languages. Ruby's parse.y uses BNF-style notation cons...
short_description (empty) Metasyntax for describing context-free grammars of programming languages.
create Ruby parse.y resource
kind (empty) resource
name (empty) Ruby parse.y
slug (empty) ruby-parse-y
attrs (empty) {"type" => "repository"}
description (empty) The `parse.y` file in Ruby's MRI source tree — a Yacc grammar in BNF-like notation that defines Ruby's syntax. Małasz...
short_description (empty) The grammar file defining Ruby's parser in MRI.
create Adjacent String Literal Concatenation concept
kind (empty) concept
name (empty) Adjacent String Literal Concatenation
slug (empty) adjacent-string-literal-concatenation
attrs (empty) {"category" => "pattern"}
description (empty) Ruby (like Python, C, and C++) concatenates adjacent string literals at parse time, so `'hello' " world"` becomes `'h...
short_description (empty) Ruby parse-time concatenation of adjacent string literals separated by whitespace.
create Scope Resolution Operator concept
kind (empty) concept
name (empty) Scope Resolution Operator
slug (empty) scope-resolution-operator
attrs (empty) {"category" => "pattern"}
description (empty) Ruby's `::` operator, properly called the scope (or constant) resolution operator, used primarily to reference consta...
short_description (empty) Ruby's :: operator for resolving constants, classes and modules.
create Proc Triple-Equals Call concept
kind (empty) concept
name (empty) Proc Triple-Equals Call
slug (empty) proc-triple-equals-call
attrs (empty) {"category" => "pattern", "since_version" => "1.9.1"}
description (empty) Ruby Proc responds to `===`, so `my_proc === arg` is equivalent to `my_proc.call(arg)`. Present since at least Ruby 1...
short_description (empty) Calling a Ruby Proc with === — enabling procs in case/when.
create Symbol#to_proc concept
kind (empty) concept
name (empty) Symbol#to_proc
slug (empty) symbol-to_proc
attrs (empty) {"category" => "pattern"}
description (empty) Ruby core method that returns a proc which, given an object as its first argument, sends the symbol's method to that ...
short_description (empty) Ruby method converting a symbol into a proc that invokes that method on its argument.
create Method#to_proc concept
kind (empty) concept
name (empty) Method#to_proc
slug (empty) method-to_proc
attrs (empty) {"category" => "pattern"}
description (empty) Ruby converts a `Method` object (obtained via `object.method(:name)`) to a Proc bound to its original receiver. Combi...
short_description (empty) Converts a Method object into a Proc bound to its receiver.
create Proc#curry concept
kind (empty) concept
name (empty) Proc#curry
slug (empty) proc-curry
attrs (empty) {"category" => "pattern"}
description (empty) `Proc#curry` returns a curried version of a proc with a declared arity. Calling the curried proc with fewer arguments...
short_description (empty) Ruby method returning a curried proc that partially applies arguments.
create Numbered Block Parameters concept
kind (empty) concept
name (empty) Numbered Block Parameters
slug (empty) numbered-block-parameters
attrs (empty) {"category" => "pattern"}
description (empty) Ruby feature allowing block arguments to be referenced implicitly as `_1`, `_2`, `_3`, etc., instead of naming them b...
short_description (empty) Implicit block parameters _1, _2, _3… in Ruby.
create Woman on Rails resource
kind (empty) resource
name (empty) Woman on Rails
slug (empty) woman-on-rails
attrs (empty) {"url" => "womanonrails.com", "type" => "blog-post"}
description (empty) Agnieszka Małaszkiewicz's blog at womanonrails.com. She publishes her conference slides there (e.g. womanonrails.com/...
short_description (empty) Agnieszka Małaszkiewicz's Ruby and Rails blog.
create Use === to put Procs in case/when takeaway
kind (empty) takeaway
name (empty) Use === to put Procs in case/when
slug (empty) use-to-put-procs-in-case-when
attrs (empty) {"type" => "recommendation"}
description (empty) Practical recommendation from the talk: because Proc responds to `===` and `case/when` dispatches via `===`, any Proc...
short_description (empty) Since Ruby 2.2, any Proc can act as a case/when condition via ===.
create Prefer . over :: for method calls takeaway
kind (empty) takeaway
name (empty) Prefer . over :: for method calls
slug (empty) prefer-over-for-method-calls
attrs (empty) {"type" => "recommendation"}
description (empty) Convention, codified by RuboCop: use `::` only to reference constants, classes, modules, and constructors like `Nokog...
short_description (empty) RuboCop and community convention: reserve :: for constants, use . for methods.
create Read Ruby source to understand Ruby takeaway
kind (empty) takeaway
name (empty) Read Ruby source to understand Ruby
slug (empty) read-ruby-source-to-understand-ruby
attrs (empty) {"type" => "lesson-learned"}
description (empty) Meta-lesson of the talk: many 'magic' Ruby features become obvious once you read the source. Adjacent-string concaten...
short_description (empty) Dig into parse.y and Rubinius to learn how Ruby features really work.
create Does any of these techniques see real project use? question
kind (empty) question
name (empty) Does any of these techniques see real project use?
slug (empty) does-any-of-these-techniques-see-real-project-use
attrs (empty) {"answer_summary" => "Mostly for fun; in production she uses === procs in case/when (notably with Rails Event Store) ...
description (empty) Audience question following the talk. Answer: some techniques are mostly fun/curiosity and not production-ready, but ...
short_description (empty) Audience asks whether she uses these tricks in production.
create Have you compared performance of these method-call styles? question
kind (empty) question
name (empty) Have you compared performance of these method-call styles?
slug (empty) have-you-compared-performance-of-these-method-call-styles
attrs (empty) {"answer_summary" => "No benchmarks; performance comparison is an open topic."}
description (empty) Audience question: beyond readability, have the techniques been benchmarked for speed or any other benefit? Answer: n...
short_description (empty) Audience asks whether any technique offers speed benefits beyond fun.
create Do you chain/compose procs in practice? question
kind (empty) question
name (empty) Do you chain/compose procs in practice?
slug (empty) do-you-chain-compose-procs-in-practice
attrs (empty) {"answer_summary" => "Tried it for fun, but readability suffers, so not used in production."}
description (empty) Audience question about composing functions / passing procs into procs within blocks. Answer: she has tried it as a '...
short_description (empty) Audience asks about functional composition of procs passed through blocks.

Edges (41)

update Agnieszka MałaszkiewiczauthoredRuby Rendezvous Method Call, Proc, and Beyond
context (empty) Speaker delivering the talk at wroclove.rb 2023.
update Ruby Rendezvous Method Call, Proc, and Beyondpresented_atwroclove.rb 2023
context (empty) Talk given at wroclove.rb 2023.
create Agnieszka Małaszkiewiczattendedwroclove.rb 2023
context (empty) Speaker and attendee in 2023.
relation (empty) attended
source_node_id (empty) e21d8935-ebce-4159-86ec-41c6bd542ef5
target_node_id (empty) f1adcf6d-780c-4418-8a81-c88da8b4e631
create Agnieszka MałaszkiewiczauthoredWoman on Rails
context (empty) Runs and publishes at womanonrails.com.
relation (empty) authored
source_node_id (empty) e21d8935-ebce-4159-86ec-41c6bd542ef5
target_node_id (empty) 7354eab9-bfbc-4b30-a66b-8794a70cb685
create Ruby Rendezvous Method Call, Proc, and BeyondaboutRuby
context (empty) Tour of Ruby language features around method invocation and procs.
relation (empty) about
source_node_id (empty) 1e419349-d18a-4b0f-b476-5478287a87cc
target_node_id (empty) c7f25b33-06c9-460e-aca7-fe993123ebee
create Ruby Rendezvous Method Call, Proc, and BeyondaboutAdjacent String Literal Concatenation
context (empty) Opens with the Ruby behavior where adjacent string literals auto-concatenate.
relation (empty) about
source_node_id (empty) 1e419349-d18a-4b0f-b476-5478287a87cc
target_node_id (empty) 5ff6f867-3dcc-4a2b-a320-bc8473e78341
create Ruby Rendezvous Method Call, Proc, and BeyondaboutRuby parse.y
context (empty) Inspects parse.y to explain string concatenation grammar.
relation (empty) about
source_node_id (empty) 1e419349-d18a-4b0f-b476-5478287a87cc
target_node_id (empty) c650f73a-92d8-469a-bcb5-a114b8a69615
create Ruby Rendezvous Method Call, Proc, and BeyondaboutBackus-Naur Form
context (empty) Explains parse.y's BNF notation.
relation (empty) about
source_node_id (empty) 1e419349-d18a-4b0f-b476-5478287a87cc
target_node_id (empty) 85377036-bc2f-43ab-8361-49ce3ed40f07
create Ruby Rendezvous Method Call, Proc, and BeyondaboutYacc
context (empty) Notes parse.y is consumed by Yacc to emit C.
relation (empty) about
source_node_id (empty) 1e419349-d18a-4b0f-b476-5478287a87cc
target_node_id (empty) f87f08c7-012c-454c-95ba-3a242452a02a
create Ruby Rendezvous Method Call, Proc, and BeyondaboutScope Resolution Operator
context (empty) Covers calling methods via :: and why RuboCop discourages it.
relation (empty) about
source_node_id (empty) 1e419349-d18a-4b0f-b476-5478287a87cc
target_node_id (empty) 964f5d33-cd80-4220-8590-b824761406cf
create Ruby Rendezvous Method Call, Proc, and BeyondaboutProc Triple-Equals Call
context (empty) Highlights calling a proc via === and using procs in case/when.
relation (empty) about
source_node_id (empty) 1e419349-d18a-4b0f-b476-5478287a87cc
target_node_id (empty) 9cfff207-f429-424d-8b24-db91f5580f4e
create Ruby Rendezvous Method Call, Proc, and BeyondaboutSymbol#to_proc
context (empty) Walks the Rubinius implementation of Symbol#to_proc.
relation (empty) about
source_node_id (empty) 1e419349-d18a-4b0f-b476-5478287a87cc
target_node_id (empty) 7dfb5d9e-54d7-4f5c-b5ba-6f5fee649d88
create Ruby Rendezvous Method Call, Proc, and BeyondaboutHash#to_proc
context (empty) Shows hash.to_proc and using &hash with map.
relation (empty) about
source_node_id (empty) 1e419349-d18a-4b0f-b476-5478287a87cc
target_node_id (empty) 9c3db252-e62b-41fa-b75e-f14ac2f0fe8e
create Ruby Rendezvous Method Call, Proc, and BeyondaboutMethod#to_proc
context (empty) Uses method(:+).to_proc with curry to pass an argument via map.
relation (empty) about
source_node_id (empty) 1e419349-d18a-4b0f-b476-5478287a87cc
target_node_id (empty) 2c2046e1-bd26-403b-a7de-8ff8cea7bec1
create Ruby Rendezvous Method Call, Proc, and BeyondaboutProc#curry
context (empty) Demonstrates curry for partial application with procs and methods.
relation (empty) about
source_node_id (empty) 1e419349-d18a-4b0f-b476-5478287a87cc
target_node_id (empty) 72c23470-0d41-4270-8dd3-3dc7a58b875c
create Ruby Rendezvous Method Call, Proc, and BeyondaboutNumbered Block Parameters
context (empty) Closes with _1/_2 implicit block parameters.
relation (empty) about
source_node_id (empty) 1e419349-d18a-4b0f-b476-5478287a87cc
target_node_id (empty) d891ddcb-56bd-42f4-bb58-8e2a17572138
create Ruby Rendezvous Method Call, Proc, and BeyondaboutRuboCop
context (empty) Cites RuboCop's guidance to reserve :: for constants.
relation (empty) about
source_node_id (empty) 1e419349-d18a-4b0f-b476-5478287a87cc
target_node_id (empty) fcac2d76-8455-4039-b625-b40591cbcf17
create Ruby Rendezvous Method Call, Proc, and BeyondaboutRubinius
context (empty) Uses Rubinius as a readable reference implementation of Symbol#to_proc and Hash#to_proc.
relation (empty) about
source_node_id (empty) 1e419349-d18a-4b0f-b476-5478287a87cc
target_node_id (empty) a62a44c7-861d-435f-acfa-8c6e59680126
create Ruby Rendezvous Method Call, Proc, and BeyondaboutIronRuby
context (empty) Mentioned in passing as an old .NET Ruby implementation.
relation (empty) about
source_node_id (empty) 1e419349-d18a-4b0f-b476-5478287a87cc
target_node_id (empty) ac28fdd5-7fe1-42a2-a5f6-9674ac6587f5
create Ruby Rendezvous Method Call, Proc, and Beyondaboutmerb
context (empty) Cites merb as a codebase that used :: to call methods.
relation (empty) about
source_node_id (empty) 1e419349-d18a-4b0f-b476-5478287a87cc
target_node_id (empty) 105ff0d0-e868-45c0-b0d6-90a65bb99739
create Ruby Rendezvous Method Call, Proc, and Beyondabout12 Ways to Call a Method in Ruby
context (empty) Uses Greg Navis's article as the baseline catalogue of method-call styles.
relation (empty) about
source_node_id (empty) 1e419349-d18a-4b0f-b476-5478287a87cc
target_node_id (empty) 7cbde1ba-da65-49fb-9f6d-2968086a6400
create Ruby Rendezvous Method Call, Proc, and BeyondaboutRuby Archaeology
context (empty) References Nick Schwaderer's Ruby Archaeology talk as a source of the :: call example.
relation (empty) about
source_node_id (empty) 1e419349-d18a-4b0f-b476-5478287a87cc
target_node_id (empty) 69a50ec5-02ec-4a7f-90d5-682f62dc78bd
create Ruby Rendezvous Method Call, Proc, and BeyondaboutChatGPT
context (empty) Opens with ChatGPT-brainstormed title suggestions.
relation (empty) about
source_node_id (empty) 1e419349-d18a-4b0f-b476-5478287a87cc
target_node_id (empty) ad4d9c22-458a-4d00-947c-e5fb3221ebbf
create Greg Navisauthored12 Ways to Call a Method in Ruby
context (empty) Navis wrote the article Małaszkiewicz references.
relation (empty) authored
source_node_id (empty) 6adce20b-cea0-4456-ae19-316dc1d14a8e
target_node_id (empty) 7cbde1ba-da65-49fb-9f6d-2968086a6400
create Nick SchwadererauthoredRuby Archaeology
context (empty) Schwaderer authored and presented the Ruby Archaeology / Ruby Detective talk.
relation (empty) authored
source_node_id (empty) 4471ce96-a8b7-4cfe-9b61-69ebb36b5048
target_node_id (empty) 69a50ec5-02ec-4a7f-90d5-682f62dc78bd
create Agnieszka Małaszkiewiczhas_skillRuby
attrs (empty) {"level" => "expert"}
context (empty) Experienced Rubyist since 2011–2012, comfortable reading Ruby source.
relation (empty) has_skill
source_node_id (empty) e21d8935-ebce-4159-86ec-41c6bd542ef5
target_node_id (empty) c7f25b33-06c9-460e-aca7-fe993123ebee
create Agnieszka MałaszkiewiczusesChatGPT
context (empty) Used ChatGPT to brainstorm the talk's title.
relation (empty) uses
source_node_id (empty) e21d8935-ebce-4159-86ec-41c6bd542ef5
target_node_id (empty) ad4d9c22-458a-4d00-947c-e5fb3221ebbf
create Agnieszka MałaszkiewiczusesRubinius
context (empty) Reads Rubinius source to understand Ruby internals.
relation (empty) uses
source_node_id (empty) e21d8935-ebce-4159-86ec-41c6bd542ef5
target_node_id (empty) a62a44c7-861d-435f-acfa-8c6e59680126
create Agnieszka MałaszkiewiczrecommendsRuby Archaeology
context (empty) Explicitly recommends Schwaderer's talk during her presentation.
relation (empty) recommends
source_node_id (empty) e21d8935-ebce-4159-86ec-41c6bd542ef5
target_node_id (empty) 69a50ec5-02ec-4a7f-90d5-682f62dc78bd
create Agnieszka Małaszkiewiczrecommends12 Ways to Call a Method in Ruby
context (empty) Directs audience to Greg Navis's article.
relation (empty) recommends
source_node_id (empty) e21d8935-ebce-4159-86ec-41c6bd542ef5
target_node_id (empty) 7cbde1ba-da65-49fb-9f6d-2968086a6400
create Use === to put Procs in case/whenfrom_talkRuby Rendezvous Method Call, Proc, and Beyond
context (empty) Key practical takeaway of the talk.
relation (empty) from_talk
source_node_id (empty) 6a926922-f988-44f4-b169-e54df317010a
target_node_id (empty) 1e419349-d18a-4b0f-b476-5478287a87cc
create Use === to put Procs in case/whenaboutProc Triple-Equals Call
context (empty) Takeaway explicitly about the === proc-call behavior.
relation (empty) about
source_node_id (empty) 6a926922-f988-44f4-b169-e54df317010a
target_node_id (empty) 9cfff207-f429-424d-8b24-db91f5580f4e
create Prefer . over :: for method callsfrom_talkRuby Rendezvous Method Call, Proc, and Beyond
context (empty) Discussed alongside the RuboCop rule.
relation (empty) from_talk
source_node_id (empty) 7efdd07d-7ca3-453a-a208-aafef82588ff
target_node_id (empty) 1e419349-d18a-4b0f-b476-5478287a87cc
create Prefer . over :: for method callsaboutScope Resolution Operator
context (empty) Takeaway concerns using :: vs . for invocation.
relation (empty) about
source_node_id (empty) 7efdd07d-7ca3-453a-a208-aafef82588ff
target_node_id (empty) 964f5d33-cd80-4220-8590-b824761406cf
create Read Ruby source to understand Rubyfrom_talkRuby Rendezvous Method Call, Proc, and Beyond
context (empty) Underlying meta-lesson demonstrated throughout the talk.
relation (empty) from_talk
source_node_id (empty) c12b0528-7ba7-43e5-877d-5052a4ce337d
target_node_id (empty) 1e419349-d18a-4b0f-b476-5478287a87cc
create Read Ruby source to understand RubyaboutRuby parse.y
context (empty) Takeaway illustrated with parse.y.
relation (empty) about
source_node_id (empty) c12b0528-7ba7-43e5-877d-5052a4ce337d
target_node_id (empty) c650f73a-92d8-469a-bcb5-a114b8a69615
create Read Ruby source to understand RubyaboutRubinius
context (empty) Takeaway illustrated with Rubinius's Ruby-in-Ruby source.
relation (empty) about
source_node_id (empty) c12b0528-7ba7-43e5-877d-5052a4ce337d
target_node_id (empty) a62a44c7-861d-435f-acfa-8c6e59680126
create Does any of these techniques see real project use?asked_atRuby Rendezvous Method Call, Proc, and Beyond
context (empty) Audience Q&A question.
relation (empty) asked_at
source_node_id (empty) 563b5aa7-2082-4831-8832-8ff717ca574c
target_node_id (empty) 1e419349-d18a-4b0f-b476-5478287a87cc
create Does any of these techniques see real project use?aboutrails_event_store
context (empty) Speaker answers that she uses === procs with Rails Event Store in real code.
relation (empty) about
source_node_id (empty) 563b5aa7-2082-4831-8832-8ff717ca574c
target_node_id (empty) 9e5cb718-6f86-4937-9b4c-eb77da3aede8
create Have you compared performance of these method-call styles?asked_atRuby Rendezvous Method Call, Proc, and Beyond
context (empty) Audience Q&A question on benchmarking.
relation (empty) asked_at
source_node_id (empty) a65d4766-3d93-4057-a415-895e067f9f72
target_node_id (empty) 1e419349-d18a-4b0f-b476-5478287a87cc
create Do you chain/compose procs in practice?asked_atRuby Rendezvous Method Call, Proc, and Beyond
context (empty) Audience Q&A question on functional composition of procs.
relation (empty) asked_at
source_node_id (empty) 0f9bf7bc-07ee-4a06-8683-753bb17e72db
target_node_id (empty) 1e419349-d18a-4b0f-b476-5478287a87cc

Read set

82 nodes

event wroclove.rb 2019 search_nodes event wroclove.rb 2018 search_nodes event wroclove.rb 2024 search_nodes event wroclove.rb 2025 search_nodes event wroclove.rb 2022 search_nodes event wroclove.rb 2023 search_nodes event wroclove.rb 2026 search_nodes talk Building LLM powered applications in Ruby search_nodes talk Fantastic Databases and Where to Find Them search_nodes talk Data Management With Ruby search_nodes talk Ruby Rendezvous Method Call, Proc, and Beyond search_nodes+get_node_edges concept Method References in Ruby search_nodes concept Ruby undef_method performance search_nodes tool methods gem search_nodes talk Methods Gem for Ruby Method References search_nodes concept Duck Typing search_nodes concept yield_self search_nodes tool rails_event_store search_nodes tool Rails Event Store Event Browser search_nodes project rails_event_store/ecommerce search_nodes tool Ruby Event Store search_nodes tool Ruby on Rails search_nodes takeaway rails_event_store is the most productive DDD tool in Ruby search_nodes question Can parts of Eventide, Rails Event Store and Trailblazer be combined in one project? search_nodes talk Applying CQRS & Event Sourcing on Rails applications search_nodes talk Working with RailsEventStore in Cashflow Management System search_nodes concept Event Store search_nodes talk Scientific Ruby Lightning Talk search_nodes talk Rubyana Gems and the Ractorous Rubetta Stones! search_nodes takeaway Ruby as a Data Management Language search_nodes resource Short Ruby Newsletter search_nodes project Ruby Romania search_nodes resource My Ruby Story search_nodes tool TruffleRuby search_nodes person Akira Matsuda search_nodes project Ruby News search_nodes project Scientific Ruby Community search_nodes takeaway Prefer class-method services over stateful service objects search_nodes concept Stateless Service Object search_nodes takeaway Encapsulation Via Function-Style Objects search_nodes concept Ruby Module Customization Mechanics search_nodes question How do you determine call-graph arrow direction? search_nodes person Agnieszka Małaszkiewicz search_nodes person Michal Matyas search_nodes person Adam Okoń search_nodes talk Building Beautiful UIs with Ruby A Rails-Native Approach search_nodes question Why implement the proxy in Ruby? search_nodes tool Distributed Ruby search_nodes tool Ruby search_nodes concept Global Interpreter Lock search_nodes talk Ruby Standard Library Hidden Gems Lightning Talk search_nodes takeaway Upgrade Ruby version for free speed search_nodes tool mruby search_nodes project monolith framework search_nodes concept Cynefin Framework search_nodes tool Rack search_nodes tool Ember.js search_nodes talk Ruby on a $4 Computer search_nodes tool Active Admin search_nodes tool JSON API Resources search_nodes tool .NET search_nodes talk JRuby: Professional-Grade Ruby search_nodes takeaway Name Things To Find Their Properties search_nodes company Amplifr search_nodes tool Release Drafter search_nodes tool webpagetest.org search_nodes tool RealtimeBoard search_nodes talk Events events events search_nodes company Transloadit search_nodes talk Offline Sandwich Focus Workflow search_nodes tool Tailwind CSS search_nodes takeaway Act as a perfect tool on reviews search_nodes tool Prime (Ruby stdlib) search_nodes concept Strong Parameters search_nodes takeaway Be kind and build useful things search_nodes concept Developer vs Programmer search_nodes takeaway Buy Faster Hardware search_nodes talk Developer, Programmer, and AI search_nodes resource awesome-ddd search_nodes talk Ever shorter feedback loop search_nodes tool Sync Space VR search_nodes person Julik Tarkhanov search_nodes

2 edges