← Extractions

One machine please, make it Turing — David Halasz at wroclove.rb 2024

David Halasz delivers a theoretical-computer-science crash course for Ruby programmers at wroclove.rb 2024 — covering formal languages, the Chomsky hierarchy, finite/pushdown/Turing automata, the Church-Turing thesis, algorithmic complexity, and the compiler/interpreter pipeline (lex/parse/semantic analysis, optimizations, virtual machines). Concludes by pointing Rubyists to existing lexer/parser generators and alternative VMs (YARV, JRuby, TruffleRuby, Parrot) and urging developers to recognize the theoretical patterns under the hood.

Model
claude-opus-4-7
Ingestion
0effc2ba
Input tokens
270,580
fresh
218,160
cached
46,025
cache write
6,395
Output tokens
11,681
Duration
160.3s
Roundtrips
5
Tool calls
14
Cost
$0.00
Nodes/edges extracted
24 / 48
Read set (nodes/edges)
286 / 5

Nodes (24)

create Parrot VM tool
kind (empty) tool
name (empty) Parrot VM
slug (empty) parrot-vm
attrs (empty) {"category" => "platform"}
description (empty) Multi-language virtual machine cited by Halasz as one of the alternative VMs onto which Ruby code can be targeted (al...
short_description (empty) Multi-language virtual machine originally created for Perl 6.
create LLVM tool
kind (empty) tool
name (empty) LLVM
slug (empty) llvm
attrs (empty) {"category" => "platform"}
description (empty) Compiler infrastructure / low-level virtual machine cited by Halasz as another alternative VM target for Ruby impleme...
short_description (empty) Compiler infrastructure project and low-level virtual machine.
create Constant Propagation concept
kind (empty) concept
name (empty) Constant Propagation
slug (empty) constant-propagation
attrs (empty) {"category" => "practice"}
description (empty) Optimization replacing a variable's use with its known constant value (e.g. substituting `3` for `a` where `a = 3`) s...
short_description (empty) Substituting known constant values into later expressions at compile time.
create Virtual Machine concept
kind (empty) concept
name (empty) Virtual Machine
slug (empty) virtual-machine
attrs (empty) {"category" => "architecture"}
description (empty) Software component that executes an intermediate representation (bytecode, three-address code, etc.) rather than runn...
short_description (empty) Runtime that executes intermediate code instead of running directly on hardware.
update David Halasz person
attrs {"location" => "Brno, Czech Republic", "nationality" => "Hungarian", "twitter_handle" => "(mentioned on slide)"} {"location" => "Brno, Czech Republic", "teaches_at" => "university", "nationality" => "Hungarian", "twitter_handle" =...
description Hungarian-born Ruby developer living in Brno, Czech Republic. Works at Red Hat on the ManageIQ project, mostly on in-... Hungarian-born Ruby developer living in Brno, Czech Republic. Works at Red Hat on a small Ruby project (ManageIQ, mos...
update One machine please, make it Turing talk
description Talk at wroclove.rb 2024. David Halasz's wroclove.rb 2024 talk (invited, in his words, by Andrzej 'Andre' Krzywda). A theoretical-computer-scie...
short_description Talk at wroclove.rb 2024. Theoretical-CS primer for Ruby programmers: formal languages, Turing machines, compilers, VMs.
create Formal Languages concept
kind (empty) concept
name (empty) Formal Languages
slug (empty) formal-languages
attrs (empty) {"category" => "methodology"}
description (empty) Languages defined mathematically by an alphabet (symbols/letters) and a grammar consisting of terminal and non-termin...
short_description (empty) Mathematical languages defined by an alphabet and a grammar of production rules.
create Chomsky Hierarchy concept
kind (empty) concept
name (empty) Chomsky Hierarchy
slug (empty) chomsky-hierarchy
attrs (empty) {"category" => "architecture"}
description (empty) Hierarchy classifying formal languages by the restrictions on their grammars and the automata required to parse them....
short_description (empty) Classification of formal languages into regular, context-free, context-sensitive, and recursively enumerable.
create Finite State Machine concept
kind (empty) concept
name (empty) Finite State Machine
slug (empty) finite-state-machine
attrs (empty) {"category" => "pattern"}
description (empty) Automaton consisting of a finite number of states and transitions that accepts exactly the regular languages. Every r...
short_description (empty) Automaton with finite states used to recognize regular languages.
create Pushdown Automaton concept
kind (empty) concept
name (empty) Pushdown Automaton
slug (empty) pushdown-automaton
attrs (empty) {"category" => "pattern"}
description (empty) A finite-state machine extended with a stack as memory. Recognizes context-free languages. Deterministic and non-dete...
short_description (empty) Finite-state machine with a stack; recognizes context-free languages.
create YARV tool
kind (empty) tool
name (empty) YARV
slug (empty) yarv
attrs (empty) {"category" => "platform", "language" => "Ruby"}
description (empty) MRI Ruby's stack-based virtual machine, written by Koichi Sasada ('Koji' in the transcript). Executes Ruby bytecode p...
short_description (empty) Yet Another Ruby Virtual Machine; MRI Ruby's stack-based bytecode VM.
create Turing Machine concept
kind (empty) concept
name (empty) Turing Machine
slug (empty) turing-machine
attrs (empty) {"category" => "architecture"}
description (empty) Mathematical model of computation: an infinite tape over an alphabet, a read/write head that can move left/right, a f...
short_description (empty) Mathematical model of computation with an infinite tape, head, and state transitions.
create Church-Turing Thesis concept
kind (empty) concept
name (empty) Church-Turing Thesis
slug (empty) church-turing-thesis
attrs (empty) {"category" => "methodology"}
description (empty) Thesis that whatever can be expressed by a Turing machine — or by its equivalents, lambda calculus and partially recu...
short_description (empty) Anything computable can be computed by a Turing machine or equivalent formalism.
create Lambda Calculus concept
kind (empty) concept
name (empty) Lambda Calculus
slug (empty) lambda-calculus
attrs (empty) {"category" => "methodology"}
description (empty) Mathematical formalism for expressing computation via function abstraction and application. Equivalent in expressive ...
short_description (empty) Formal system for expressing computation; equivalent in power to Turing machines.
create Algorithmic Complexity concept
kind (empty) concept
name (empty) Algorithmic Complexity
slug (empty) algorithmic-complexity
attrs (empty) {"category" => "methodology"}
description (empty) Two-dimensional analysis of algorithm cost. In Turing-machine terms: spatial complexity is how many cells of the tape...
short_description (empty) Measure of algorithm cost in space (memory) and time (steps).
create Abstract Syntax Tree concept
kind (empty) concept
name (empty) Abstract Syntax Tree
slug (empty) abstract-syntax-tree
attrs (empty) {"category" => "architecture"}
description (empty) Internal tree-shaped representation of source code generated by a parser: usually an operation at the top with operan...
short_description (empty) Tree representation of source code produced by syntactical analysis.
create Bytecode concept
kind (empty) concept
name (empty) Bytecode
slug (empty) bytecode
attrs (empty) {"category" => "architecture"}
description (empty) Intermediate representation of code, more compact than an AST and typically executed by a virtual machine. Some langu...
short_description (empty) Compact instruction-set intermediate representation executed by a virtual machine.
create Compiler Pipeline concept
kind (empty) concept
name (empty) Compiler Pipeline
slug (empty) compiler-pipeline
attrs (empty) {"category" => "architecture"}
description (empty) Canonical stages of a compiler or interpreter: (1) lexical analysis — character-by-character scanning into tokens, na...
short_description (empty) Stages a compiler/interpreter uses: lex, parse, semantic analysis, optimization, execution/codegen.
create Loop Unrolling concept
kind (empty) concept
name (empty) Loop Unrolling
slug (empty) loop-unrolling
attrs (empty) {"category" => "practice"}
description (empty) Compiler/interpreter optimization that detects a SIMD-capable CPU (MMX/SSE on x86) and unrolls a loop so that, for ex...
short_description (empty) Compiler optimization expanding loops to exploit SIMD instructions.
create Constant Folding concept
kind (empty) concept
name (empty) Constant Folding
slug (empty) constant-folding
attrs (empty) {"category" => "practice"}
description (empty) Optimization in which a compiler or interpreter evaluates a constant expression (e.g. a multiplication of literals) a...
short_description (empty) Compile-time evaluation of constant expressions.
create Lexer and Parser Generators tool
kind (empty) tool
name (empty) Lexer and Parser Generators
slug (empty) lexer-and-parser-generators
attrs (empty) {"category" => "tool"}
description (empty) Category of tooling (e.g. Yacc-style generators) that, given a grammar for a language, produces a lexer and parser em...
short_description (empty) Tools that generate lexers and parsers from a grammar description.
create Recognize theoretical CS patterns under the hood takeaway
kind (empty) takeaway
name (empty) Recognize theoretical CS patterns under the hood
slug (empty) recognize-theoretical-cs-patterns-under-the-hood
attrs (empty) {"type" => "insight"}
description (empty) Halasz's closing lesson: creating a programming language is not fun to do from scratch, but the patterns are already ...
short_description (empty) Compiler and runtime design reuse classical formal-language and automata patterns.
create Use existing parser generators and VMs instead of rolling your own takeaway
kind (empty) takeaway
name (empty) Use existing parser generators and VMs instead of rolling your own
slug (empty) use-existing-parser-generators-and-vms-instead-of-rolling-your-own
attrs (empty) {"type" => "recommendation"}
description (empty) Halasz's pragmatic advice: you will almost never build a language toolchain by hand. Tools exist to generate lexers a...
short_description (empty) In practice, leverage lexer/parser generators and existing VMs (YARV, JRuby, TruffleRuby, Parrot, LLVM, .NET).
create Ruby Regex compiles to a finite-state automaton takeaway
kind (empty) takeaway
name (empty) Ruby Regex compiles to a finite-state automaton
slug (empty) ruby-regex-compiles-to-a-finite-state-automaton
attrs (empty) {"type" => "insight"}
description (empty) Whenever you write a regular expression in Ruby, it generates an automaton of the kind described by type-3 regular gr...
short_description (empty) Every Ruby Regexp is implemented as a finite-state machine under the hood.

Edges (48)

update David HalaszauthoredOne machine please, make it Turing
context (empty) Halasz delivered the talk at wroclove.rb 2024.
update One machine please, make it Turingpresented_atwroclove.rb 2024
context (empty) Talk was given at the March 22, 2024 edition of wroclove.rb.
update David Halaszworks_atRed Hat
context Speaker states he works for Red Hat States he works for Red Hat on a small Ruby project.
update David Halaszworks_onManageIQ
context Works on in-browser remote consoles in ManageIQ Halasz's 'small Ruby project' at Red Hat — confirmed by his previous wroclove.rb 2019 talk.
create One machine please, make it TuringaboutFormal Languages
context (empty) Chapter two of the talk introduces alphabets, grammars, words and languages.
relation (empty) about
source_node_id (empty) 5f6c6de7-3590-4026-92bb-6ef9cea6b7f4
target_node_id (empty) 63cefbce-8aa7-4659-a6a7-1c58cb4a6e85
create One machine please, make it TuringaboutChomsky Hierarchy
context (empty) Walks through regular, context-free, context-sensitive, and recursively enumerable languages.
relation (empty) about
source_node_id (empty) 5f6c6de7-3590-4026-92bb-6ef9cea6b7f4
target_node_id (empty) 2189e54f-7652-4a77-aa18-42ba11543d6f
create One machine please, make it TuringaboutFinite State Machine
context (empty) Introduces FSMs as the parser for regular languages and lexical analysis.
relation (empty) about
source_node_id (empty) 5f6c6de7-3590-4026-92bb-6ef9cea6b7f4
target_node_id (empty) 5ae037dc-737f-48da-8b81-73e91c8755c3
create One machine please, make it TuringaboutPushdown Automaton
context (empty) Explains pushdown automata as FSM + stack for context-free languages, with the parenthesis-matching example.
relation (empty) about
source_node_id (empty) 5f6c6de7-3590-4026-92bb-6ef9cea6b7f4
target_node_id (empty) 900a4378-e88f-4d13-b263-50c695076159
create One machine please, make it TuringaboutTuring Machine
context (empty) Core chapter describes tape, head, states, determinism, and multitape reductions.
relation (empty) about
source_node_id (empty) 5f6c6de7-3590-4026-92bb-6ef9cea6b7f4
target_node_id (empty) dc884ab8-5a02-4b35-a39a-f0bd7cc1202d
create One machine please, make it TuringaboutChurch-Turing Thesis
context (empty) Presented as the bridge between Turing machines, lambda calculus and partially recursive functions.
relation (empty) about
source_node_id (empty) 5f6c6de7-3590-4026-92bb-6ef9cea6b7f4
target_node_id (empty) f50032b0-72a3-4ea9-b446-050be0ce3b7f
create One machine please, make it TuringaboutLambda Calculus
context (empty) Cited as equivalent in power to Turing machines and general recursive functions.
relation (empty) about
source_node_id (empty) 5f6c6de7-3590-4026-92bb-6ef9cea6b7f4
target_node_id (empty) 301d354e-b6e3-4418-a0c8-46bb92923ea5
create One machine please, make it TuringaboutAlgorithmic Complexity
context (empty) Defines spatial and time complexity in Turing-machine terms (cells used, head moves).
relation (empty) about
source_node_id (empty) 5f6c6de7-3590-4026-92bb-6ef9cea6b7f4
target_node_id (empty) c13f6c8a-b258-4b4c-a0db-72782c35d6ea
create One machine please, make it TuringaboutCompiler Pipeline
context (empty) Chapter four walks through lex, parse, semantic, optimize, execute/codegen.
relation (empty) about
source_node_id (empty) 5f6c6de7-3590-4026-92bb-6ef9cea6b7f4
target_node_id (empty) 7db08c02-5cfb-4922-beaa-d1fec7e52760
create One machine please, make it TuringaboutAbstract Syntax Tree
context (empty) AST is described as Ruby's internal tree representation after parsing.
relation (empty) about
source_node_id (empty) 5f6c6de7-3590-4026-92bb-6ef9cea6b7f4
target_node_id (empty) 10cec82f-02fe-4082-971c-9a201646d6bd
create One machine please, make it TuringaboutBytecode
context (empty) Described as an alternative/additional intermediate representation (e.g. Java, and YARV's execution format).
relation (empty) about
source_node_id (empty) 5f6c6de7-3590-4026-92bb-6ef9cea6b7f4
target_node_id (empty) c3914813-68ef-4f6a-97b5-7bdd2b5f0e12
create One machine please, make it TuringaboutConstant Folding
context (empty) Given as an optimization example — precomputed multiplications of literal constants.
relation (empty) about
source_node_id (empty) 5f6c6de7-3590-4026-92bb-6ef9cea6b7f4
target_node_id (empty) 40b3c3f4-5170-4e45-8be6-29f77957b577
create One machine please, make it TuringaboutConstant Propagation
context (empty) Given as an optimization example — substituting known constant values.
relation (empty) about
source_node_id (empty) 5f6c6de7-3590-4026-92bb-6ef9cea6b7f4
target_node_id (empty) 0f17e8a5-59a7-4bde-86e5-3b877a20ae50
create One machine please, make it TuringaboutLoop Unrolling
context (empty) Halasz's favorite optimization, exploiting MMX/SSE SIMD for four multiplications at once.
relation (empty) about
source_node_id (empty) 5f6c6de7-3590-4026-92bb-6ef9cea6b7f4
target_node_id (empty) 2ead5b13-4735-4559-a576-2155c4f48e1b
create One machine please, make it TuringaboutVirtual Machine
context (empty) Explains what a (non-VirtualBox) VM is and how it hosts intermediate representations.
relation (empty) about
source_node_id (empty) 5f6c6de7-3590-4026-92bb-6ef9cea6b7f4
target_node_id (empty) e7c2b1a6-a5b6-4b40-9d99-e808abfdceae
create One machine please, make it TuringaboutYARV
context (empty) Cited as Ruby's stack-based virtual machine written by Koichi Sasada.
relation (empty) about
source_node_id (empty) 5f6c6de7-3590-4026-92bb-6ef9cea6b7f4
target_node_id (empty) 07e736f8-8121-4c31-9aba-e784ece2d4a2
create One machine please, make it TuringaboutJRuby
context (empty) Cited as the Ruby implementation running on the Java VM.
relation (empty) about
source_node_id (empty) 5f6c6de7-3590-4026-92bb-6ef9cea6b7f4
target_node_id (empty) b76f329b-b6ac-4301-9a48-0d31d22a3d72
create One machine please, make it TuringaboutTruffleRuby
context (empty) Cited as an alternative Ruby implementation on GraalVM.
relation (empty) about
source_node_id (empty) 5f6c6de7-3590-4026-92bb-6ef9cea6b7f4
target_node_id (empty) f23def46-56c9-45bd-a05d-f663832df558
create One machine please, make it TuringaboutLLVM
context (empty) Mentioned as an alternative VM/compilation target for Ruby.
relation (empty) about
source_node_id (empty) 5f6c6de7-3590-4026-92bb-6ef9cea6b7f4
target_node_id (empty) 56daefd8-48ee-440d-86ad-39c418e993b6
create One machine please, make it TuringaboutParrot VM
context (empty) Mentioned as an alternative VM compatible with Ruby-family languages.
relation (empty) about
source_node_id (empty) 5f6c6de7-3590-4026-92bb-6ef9cea6b7f4
target_node_id (empty) 30d9faa8-7c93-4a2e-9ff6-46901d870b0d
create One machine please, make it TuringaboutLexer and Parser Generators
context (empty) Practical closing advice to use existing generators rather than writing parsers by hand.
relation (empty) about
source_node_id (empty) 5f6c6de7-3590-4026-92bb-6ef9cea6b7f4
target_node_id (empty) dde48808-9033-4269-a9a7-984033d96169
create One machine please, make it TuringaboutGlobal Interpreter Lock
context (empty) Halasz notes the GVL that 'kills parallelism in Ruby' lives inside the virtual machine layer.
relation (empty) about
source_node_id (empty) 5f6c6de7-3590-4026-92bb-6ef9cea6b7f4
target_node_id (empty) b2da1bdf-0293-4d62-8478-327f08bd9f7f
create Koichi SasadaauthoredYARV
context (empty) Halasz attributes YARV to 'Koji' — Koichi Sasada.
relation (empty) authored
source_node_id (empty) 45fa5513-c41c-4176-9838-6014c8d29fb6
target_node_id (empty) 07e736f8-8121-4c31-9aba-e784ece2d4a2
create Recognize theoretical CS patterns under the hoodfrom_talkOne machine please, make it Turing
context (empty) Closing takeaway urging pattern recognition in real codebases.
relation (empty) from_talk
source_node_id (empty) 75da41a1-13f3-4032-9e28-74d8f54667cc
target_node_id (empty) 5f6c6de7-3590-4026-92bb-6ef9cea6b7f4
create Use existing parser generators and VMs instead of rolling your ownfrom_talkOne machine please, make it Turing
context (empty) Halasz's 'really bad news': you will never do this manually — tools exist.
relation (empty) from_talk
source_node_id (empty) f9273dc6-20f9-4e0b-ba71-87ed55097ea4
target_node_id (empty) 5f6c6de7-3590-4026-92bb-6ef9cea6b7f4
create Ruby Regex compiles to a finite-state automatonfrom_talkOne machine please, make it Turing
context (empty) Pattern-recognition point: every Ruby regex generates an FSM under the hood.
relation (empty) from_talk
source_node_id (empty) 036bc3f0-3356-4a0f-b876-733d4a6a466a
target_node_id (empty) 5f6c6de7-3590-4026-92bb-6ef9cea6b7f4
create Use existing parser generators and VMs instead of rolling your ownaboutLexer and Parser Generators
context (empty) Takeaway recommends using generators instead of hand-writing parsers.
relation (empty) about
source_node_id (empty) f9273dc6-20f9-4e0b-ba71-87ed55097ea4
target_node_id (empty) dde48808-9033-4269-a9a7-984033d96169
create Use existing parser generators and VMs instead of rolling your ownaboutVirtual Machine
context (empty) Takeaway recommends reusing existing VMs (YARV, JRuby, TruffleRuby, Parrot, LLVM, .NET).
relation (empty) about
source_node_id (empty) f9273dc6-20f9-4e0b-ba71-87ed55097ea4
target_node_id (empty) e7c2b1a6-a5b6-4b40-9d99-e808abfdceae
create Ruby Regex compiles to a finite-state automatonaboutFinite State Machine
context (empty) Takeaway is specifically about Ruby regex lowering to FSMs.
relation (empty) about
source_node_id (empty) 036bc3f0-3356-4a0f-b876-733d4a6a466a
target_node_id (empty) 5ae037dc-737f-48da-8b81-73e91c8755c3
create Recognize theoretical CS patterns under the hoodaboutCompiler Pipeline
context (empty) Takeaway highlights patterns from automata theory showing up in every compiler stage.
relation (empty) about
source_node_id (empty) 75da41a1-13f3-4032-9e28-74d8f54667cc
target_node_id (empty) 7db08c02-5cfb-4922-beaa-d1fec7e52760
create Andrzej Krzywdarelated_toOne machine please, make it Turing
attrs (empty) {"relationship" => "invited the speaker"}
context (empty) Halasz jokes repeatedly that 'Andre made me do it' — Krzywda invited him as an organizer.
relation (empty) related_to
source_node_id (empty) 337ffd2c-5847-4b23-9ef7-e8f70aa4c66a
target_node_id (empty) 5f6c6de7-3590-4026-92bb-6ef9cea6b7f4
create Finite State Machinerelated_toFormal Languages
context (empty) FSMs parse the regular-language class within the Chomsky hierarchy.
relation (empty) related_to
source_node_id (empty) 5ae037dc-737f-48da-8b81-73e91c8755c3
target_node_id (empty) 63cefbce-8aa7-4659-a6a7-1c58cb4a6e85
create Pushdown Automatonrelated_toFormal Languages
context (empty) Pushdown automata parse context-free languages.
relation (empty) related_to
source_node_id (empty) 900a4378-e88f-4d13-b263-50c695076159
target_node_id (empty) 63cefbce-8aa7-4659-a6a7-1c58cb4a6e85
create Turing Machinerelated_toFormal Languages
context (empty) Turing machines parse recursively enumerable languages — the top of the Chomsky hierarchy.
relation (empty) related_to
source_node_id (empty) dc884ab8-5a02-4b35-a39a-f0bd7cc1202d
target_node_id (empty) 63cefbce-8aa7-4659-a6a7-1c58cb4a6e85
create Chomsky Hierarchyrelated_toFormal Languages
context (empty) The Chomsky hierarchy classifies formal languages by grammar and automaton power.
relation (empty) related_to
source_node_id (empty) 2189e54f-7652-4a77-aa18-42ba11543d6f
target_node_id (empty) 63cefbce-8aa7-4659-a6a7-1c58cb4a6e85
create Lambda Calculusrelated_toTuring Machine
context (empty) Equivalent in computational power (Church-Turing thesis).
relation (empty) related_to
source_node_id (empty) 301d354e-b6e3-4418-a0c8-46bb92923ea5
target_node_id (empty) dc884ab8-5a02-4b35-a39a-f0bd7cc1202d
create Church-Turing Thesisrelated_toTuring Machine
context (empty) The thesis states Turing machines capture the notion of effective computation.
relation (empty) related_to
source_node_id (empty) f50032b0-72a3-4ea9-b446-050be0ce3b7f
target_node_id (empty) dc884ab8-5a02-4b35-a39a-f0bd7cc1202d
create Compiler Pipelinerelated_toAbstract Syntax Tree
context (empty) The AST is the classical output of the syntactical-analysis stage.
relation (empty) related_to
source_node_id (empty) 7db08c02-5cfb-4922-beaa-d1fec7e52760
target_node_id (empty) 10cec82f-02fe-4082-971c-9a201646d6bd
create Compiler Pipelinerelated_toBytecode
context (empty) Bytecode is an alternative intermediate representation emitted during/after parsing.
relation (empty) related_to
source_node_id (empty) 7db08c02-5cfb-4922-beaa-d1fec7e52760
target_node_id (empty) c3914813-68ef-4f6a-97b5-7bdd2b5f0e12
create Virtual Machinerelated_toBytecode
context (empty) VMs typically execute bytecode intermediate representations.
relation (empty) related_to
source_node_id (empty) e7c2b1a6-a5b6-4b40-9d99-e808abfdceae
target_node_id (empty) c3914813-68ef-4f6a-97b5-7bdd2b5f0e12
create YARVrelated_toVirtual Machine
context (empty) YARV is the canonical MRI Ruby virtual machine.
relation (empty) related_to
source_node_id (empty) 07e736f8-8121-4c31-9aba-e784ece2d4a2
target_node_id (empty) e7c2b1a6-a5b6-4b40-9d99-e808abfdceae
create Loop Unrollingrelated_toCompiler Pipeline
context (empty) One of the optimizations performed in the optimization stage.
relation (empty) related_to
source_node_id (empty) 2ead5b13-4735-4559-a576-2155c4f48e1b
target_node_id (empty) 7db08c02-5cfb-4922-beaa-d1fec7e52760
create Constant Foldingrelated_toCompiler Pipeline
context (empty) Optimization-stage transformation.
relation (empty) related_to
source_node_id (empty) 40b3c3f4-5170-4e45-8be6-29f77957b577
target_node_id (empty) 7db08c02-5cfb-4922-beaa-d1fec7e52760
create Constant Propagationrelated_toCompiler Pipeline
context (empty) Optimization-stage transformation.
relation (empty) related_to
source_node_id (empty) 0f17e8a5-59a7-4bde-86e5-3b877a20ae50
target_node_id (empty) 7db08c02-5cfb-4922-beaa-d1fec7e52760

Read set

286 nodes

company SpaceX list_nodes_by_kind company Statesert list_nodes_by_kind person Aaron Patterson list_nodes_by_kind person Greg Young list_nodes_by_kind person Isaac Newton list_nodes_by_kind person Ismael Celis list_nodes_by_kind person Ivan Nemytchenko list_nodes_by_kind person Jakub Rodzik list_nodes_by_kind person Jan list_nodes_by_kind person Janko Marohnic list_nodes_by_kind person Jared list_nodes_by_kind person Joel Drapper list_nodes_by_kind person John Gallagher list_nodes_by_kind person John Hawthorne list_nodes_by_kind person Josef Strzibny list_nodes_by_kind person José Valim list_nodes_by_kind person Julik Tarkhanov list_nodes_by_kind person Karol Szuster list_nodes_by_kind person Koichi Sasada list_nodes_by_kind person Krzysztof Hasiński list_nodes_by_kind person Kuba Suder list_nodes_by_kind person Louis Antonopoulos list_nodes_by_kind person Lucian Ghinda list_nodes_by_kind person Łukasz Reszke list_nodes_by_kind person Łukasz Szydło list_nodes_by_kind person Maciej Rząsa list_nodes_by_kind person Maciek list_nodes_by_kind person Magnus Carlsen list_nodes_by_kind person Marco Heimeshoff list_nodes_by_kind person Mariusz Gil list_nodes_by_kind person Markus Schirp list_nodes_by_kind person Mark Zuckerberg list_nodes_by_kind person Soutaro Matsumoto list_nodes_by_kind person Stefan Wintermeyer list_nodes_by_kind person Stephan Schmidt list_nodes_by_kind person Stephen Margheim list_nodes_by_kind person Stephen Wolfram list_nodes_by_kind person Steve Ballmer list_nodes_by_kind person Szymon Fiedler list_nodes_by_kind person Szymon Kulec list_nodes_by_kind person Toby Lütke list_nodes_by_kind person Tomasz Donarski list_nodes_by_kind person Victor Shepelev list_nodes_by_kind person Vladimir Dementyev list_nodes_by_kind person Wojtek Wrona list_nodes_by_kind person Xavier Noria list_nodes_by_kind person Yaroslav Shmarov list_nodes_by_kind person Yatish Mehta list_nodes_by_kind person Yehuda Katz list_nodes_by_kind event 2NIT Nerds on Lakes Sailing Trip list_nodes_by_kind event Advent of Code list_nodes_by_kind event Brighton Ruby list_nodes_by_kind event EmberConf list_nodes_by_kind event Eventide Summit 2023 list_nodes_by_kind event Hacktoberfest list_nodes_by_kind event KanDDDinsky list_nodes_by_kind event Rails World list_nodes_by_kind event wroclove.rb 2018 list_nodes_by_kind+search_nodes event wroclove.rb 2019 list_nodes_by_kind+search_nodes event wroclove.rb 2022 list_nodes_by_kind+search_nodes event wroclove.rb 2023 list_nodes_by_kind+search_nodes event wroclove.rb 2024 list_nodes_by_kind+search_nodes event wroclove.rb 2025 list_nodes_by_kind+search_nodes event wroclove.rb 2026 list_nodes_by_kind+search_nodes company 2NIT list_nodes_by_kind company 37signals list_nodes_by_kind company adesh consulting list_nodes_by_kind person Adam Okoń list_nodes_by_kind person Adam Piotrowski list_nodes_by_kind person Adrian Marin list_nodes_by_kind person Agnieszka Małaszkiewicz list_nodes_by_kind person Akira Matsuda list_nodes_by_kind person Albert Einstein list_nodes_by_kind person Alberto Brandolini list_nodes_by_kind person Alina Lova list_nodes_by_kind person Amanda list_nodes_by_kind person Amelia Walter-Dzikowska list_nodes_by_kind person Andrei Bondarev list_nodes_by_kind person Andrei Kaleshka list_nodes_by_kind person Andrew Kane list_nodes_by_kind person Andrey Sitnik list_nodes_by_kind person Andrzej Krzywda list_nodes_by_kind+search_nodes person Andrzej Śliwa list_nodes_by_kind person Andy Hunt list_nodes_by_kind person Andy Kroll list_nodes_by_kind person Andy Maleh list_nodes_by_kind person Anita Jaszewska list_nodes_by_kind person Anton Davydov list_nodes_by_kind person Armin Pašalić list_nodes_by_kind person Arturo Herrero list_nodes_by_kind person Ayush Newatia list_nodes_by_kind person Bartosz Blimke list_nodes_by_kind person Ben Johnson list_nodes_by_kind person Bertrand Meyer list_nodes_by_kind person Caio Almeida list_nodes_by_kind person Charles Nutter list_nodes_by_kind person Chikahiro Tokoro list_nodes_by_kind person Chris Oliver list_nodes_by_kind person Claude Lévi-Strauss list_nodes_by_kind person Damir Zekić list_nodes_by_kind person Dan Kubb list_nodes_by_kind person Dave Thomas list_nodes_by_kind person David Halasz list_nodes_by_kind+get_node_edges person DHH list_nodes_by_kind person Dimitry Salahutdinov list_nodes_by_kind person Elisabeth Kübler-Ross list_nodes_by_kind person Emiliano Della Casa list_nodes_by_kind person Eric Evans list_nodes_by_kind person Eric Normand list_nodes_by_kind person Erin Meyer list_nodes_by_kind person Erwin Kroon list_nodes_by_kind person Ethan Garofolo list_nodes_by_kind person Galileo Galilei list_nodes_by_kind person Garry Kasparov list_nodes_by_kind person G.K. Chesterton list_nodes_by_kind person Gottfried Wilhelm Leibniz list_nodes_by_kind person Greg Molnar list_nodes_by_kind person Greg Navis list_nodes_by_kind person Martin Fowler list_nodes_by_kind person Martin Gamsjaeger list_nodes_by_kind person Masahiro Nakagawa list_nodes_by_kind person Mateusz Nowak list_nodes_by_kind person Matthias Verraes list_nodes_by_kind person Matz list_nodes_by_kind person Max Howell list_nodes_by_kind person Michael (liik) list_nodes_by_kind person Michał Bronikowski list_nodes_by_kind+search_nodes person Michał (Helpling) list_nodes_by_kind person Michal Matyas list_nodes_by_kind person Michał Młoźniak list_nodes_by_kind person Michał Zajączkowski de Mezer list_nodes_by_kind person Mike Dalessio list_nodes_by_kind person Mike Perham list_nodes_by_kind person Miron Marczuk list_nodes_by_kind person Nate Berkopec list_nodes_by_kind person Nathan Ladd list_nodes_by_kind person Nick Schwaderer list_nodes_by_kind person Nick Sutterer list_nodes_by_kind person Nicolò Rebughini list_nodes_by_kind person Norbert Wójtowicz list_nodes_by_kind person Pavo list_nodes_by_kind person Paweł Dąbrowski list_nodes_by_kind person Paweł Pacana list_nodes_by_kind person Paweł Pokrywka list_nodes_by_kind person Paweł Strzałkowski list_nodes_by_kind person Peter Solnica list_nodes_by_kind person Piotr Solnica list_nodes_by_kind person Radoslav Stankov list_nodes_by_kind person Rafael Zamaris list_nodes_by_kind person Rafał Cymerys list_nodes_by_kind person Rafał Rothenberger list_nodes_by_kind person René Descartes list_nodes_by_kind person Rich Hickey list_nodes_by_kind person Robert C. Martin list_nodes_by_kind person Romeu Moura list_nodes_by_kind person Ryan Townsend list_nodes_by_kind person Sam Newman list_nodes_by_kind person Sandi Metz list_nodes_by_kind person Scott Bell list_nodes_by_kind person Scott Bellware list_nodes_by_kind person Scott Wlaschin list_nodes_by_kind person Sean Schofield list_nodes_by_kind person Sebastian Wilgosz list_nodes_by_kind person Sergey Ivanov list_nodes_by_kind person Sergey Sergyenko list_nodes_by_kind person Seth Horsley list_nodes_by_kind person Sharon Rosner list_nodes_by_kind person Shona list_nodes_by_kind person Shugo Maeda list_nodes_by_kind company Air Canada list_nodes_by_kind company Amazon list_nodes_by_kind company Amplifr list_nodes_by_kind company Andreessen Horowitz list_nodes_by_kind company Anthropic list_nodes_by_kind company Apply4 list_nodes_by_kind company Arkency list_nodes_by_kind company Auth0 list_nodes_by_kind company Bearer list_nodes_by_kind company Brightworks list_nodes_by_kind company Chattermill list_nodes_by_kind company Clear Scope list_nodes_by_kind company Cloudflare list_nodes_by_kind company Cybergeizer list_nodes_by_kind company Dollar Shave Club list_nodes_by_kind company Evil Martians list_nodes_by_kind company Facebook list_nodes_by_kind company Fly.io list_nodes_by_kind company General Motors list_nodes_by_kind company German Police list_nodes_by_kind company GitHub list_nodes_by_kind company GitLab list_nodes_by_kind company Google list_nodes_by_kind company Helpling list_nodes_by_kind company Hetzner list_nodes_by_kind company Hippo list_nodes_by_kind company Institute of Computer Science, Wrocław list_nodes_by_kind company Ironin list_nodes_by_kind company Jobandtalent list_nodes_by_kind company liik list_nodes_by_kind company LinkedIn list_nodes_by_kind company Meedan list_nodes_by_kind company Microsoft list_nodes_by_kind company Mistral AI list_nodes_by_kind company Monterail list_nodes_by_kind company Nagarro list_nodes_by_kind company Netflix list_nodes_by_kind company New Bamboo list_nodes_by_kind company OpenAI list_nodes_by_kind company OVH list_nodes_by_kind company Phusion Passenger list_nodes_by_kind company Planuj Wesele list_nodes_by_kind+search_nodes company Pragmatic Bookshelf list_nodes_by_kind company Product Hunt list_nodes_by_kind company Rails Foundation list_nodes_by_kind company Red Hat list_nodes_by_kind company Salesforce list_nodes_by_kind company Secret Source list_nodes_by_kind company Shopify list_nodes_by_kind company SoftSwiss list_nodes_by_kind company Solaris Bank list_nodes_by_kind company test.io list_nodes_by_kind company ThoughtWorks list_nodes_by_kind company Transloadit list_nodes_by_kind company Turso list_nodes_by_kind company Twitter list_nodes_by_kind company Upside list_nodes_by_kind company USA Today list_nodes_by_kind company US Department of Health and Human Services list_nodes_by_kind company Visuality list_nodes_by_kind company YouTube list_nodes_by_kind company Zencargo list_nodes_by_kind company Zendesk list_nodes_by_kind+search_nodes project ManageIQ search_nodes concept Manager Layer search_nodes tool PagerDuty search_nodes concept Process Manager search_nodes tool langchainrb search_nodes tool Render search_nodes tool Redmine search_nodes tool Honeycomb search_nodes tool New Relic search_nodes tool YJIT search_nodes tool TruffleRuby search_nodes tool Distributed Ruby search_nodes takeaway Read Ruby source to understand Ruby search_nodes tool mruby search_nodes concept Global Interpreter Lock search_nodes talk Rubyana Gems and the Ractorous Rubetta Stones! search_nodes tool Ruby Packer search_nodes resource Ruby parse.y search_nodes tool Ruby search_nodes talk One machine please, make it Turing search_nodes concept State Machine search_nodes concept AI Agent search_nodes concept Petri Nets search_nodes project AlphaZero search_nodes concept Rubber Duck Debugging search_nodes tool ChatGPT search_nodes project Petri Nets Performance Prediction Gem search_nodes concept Vector Embeddings search_nodes concept Backus-Naur Form search_nodes takeaway Business logic is mostly about state machines search_nodes takeaway Use state machines instead of boolean flags search_nodes tool Yacc search_nodes tool Babel search_nodes concept Transpilers search_nodes tool PureScript search_nodes concept WebAssembly search_nodes tool Crystal search_nodes takeaway Watch WebAssembly for real performance wins search_nodes tool Elm search_nodes tool Flow search_nodes tool Opal search_nodes talk When REST is Not Enough: Implementing Alternative Protocols in Ruby on Rails search_nodes talk JRuby: Professional-Grade Ruby search_nodes tool JRuby search_nodes tool IronRuby search_nodes takeaway Upgrade Ruby version for free speed search_nodes tool AWS Lambda search_nodes takeaway Identify Data Calculations Actions In Your System search_nodes tool Clojure search_nodes takeaway Purity Is The Wrong Lens; Dependency On Time Is The Right One search_nodes concept Function as a Service search_nodes talk Functional Programming as Naming Lightning Talk search_nodes takeaway Sign serverlessforruby.org petition search_nodes tool Elixir search_nodes

5 edges