Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Name Your State State Your Thread (Nordic Ruby ...
Search
Andrés N. Robalino
June 08, 2013
Programming
0
35
Name Your State State Your Thread (Nordic Ruby 2013)
Andrés N. Robalino
June 08, 2013
Tweet
Share
More Decks by Andrés N. Robalino
See All by Andrés N. Robalino
La gallina que canta, pierde el huevo. (Regional Scrum Gathering México 2020)
andrasio
0
42
¿Por qué Rust?
andrasio
0
190
Deuda Técnica. Colabora y Entrega.
andrasio
0
88
Func Developeroa (VI Jornadas Tecnológicas e Industriales)
andrasio
0
78
Ruby Kryptography (RubyConf Argentina 2013)
andrasio
0
230
Of Developers and Testers and cooking together the pepino ruby recipe test (Agiles 2013)
andrasio
0
88
Comunica el código en el mismo vocabulario del dominio (Campus Party Quito 2013)
andrasio
0
78
I can't see the popups and buttons to submit on this black screen. (La Conf 2013)
andrasio
0
240
Other Decks in Programming
See All in Programming
Google I/O recap web編 大分Web祭り2025
kponda
0
2.9k
CEDEC2025 長期運営ゲームをあと10年続けるための0から始める自動テスト ~4000項目を50%自動化し、月1→毎日実行にした3年間~
akatsukigames_tech
0
140
TROCCO×dbtで実現する人にもAIにもやさしいデータ基盤
nealle
0
280
LLMOpsのパフォーマンスを支える技術と現場で実践した改善
po3rin
8
960
エンジニアのための”最低限いい感じ”デザイン入門
shunshobon
0
120
Understanding Ruby Grammar Through Conflicts
yui_knk
1
120
LLMは麻雀を知らなすぎるから俺が教育してやる
po3rin
3
2.2k
未来を拓くAI技術〜エージェント開発とAI駆動開発〜
leveragestech
2
160
TanStack DB ~状態管理の新しい考え方~
bmthd
2
170
レガシープロジェクトで最大限AIの恩恵を受けられるようClaude Codeを利用する
tk1351
2
320
バイブコーディングの正体——AIエージェントはソフトウェア開発を変えるか?
stakaya
5
980
State of CSS 2025
benjaminkott
1
110
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Designing for Performance
lara
610
69k
Git: the NoSQL Database
bkeepers
PRO
431
65k
Adopting Sorbet at Scale
ufuk
77
9.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Fireside Chat
paigeccino
39
3.6k
The Cost Of JavaScript in 2023
addyosmani
53
8.8k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Speed Design
sergeychernyshev
32
1.1k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Transcript
Andrés N. Robalino @androbtech 1 Saturday, December 14, 13
RoleModel.check :up Jorge Robalino @sd @jera1618 Sebastian Delmont 2 Saturday,
December 14, 13
Jorge Robalino @sd @jera1618 Sebastian Delmont Yo 3 Saturday, December
14, 13
Jorge Robalino @sd @jera1618 Sebastian Delmont Yo 4 Saturday, December
14, 13
THREADS BECAUSE WE WANT AND WILL LOVE USING THEM! BUT...
5 Saturday, December 14, 13
THERE ARE SURPRISES WE NEED TO BE AWARE OF 6
Saturday, December 14, 13
‘(Race Condition Starvation Deadlock) (WHEN ‘[COORDINATION NEEDED] ) 7 Saturday,
December 14, 13
‘(Race Condition Starvation Deadlock) (WHEN ‘[COORDINATION NEEDED] ; MANUAL SYNCHRONIZATION
) 8 Saturday, December 14, 13
‘(Race Condition Starvation Deadlock) (WHEN ‘[COORDINATION NEEDED] ; MANUAL SYNCHRONIZATION
EASY TO FORGET! ) 9 Saturday, December 14, 13
BUT THE PROBLEM IS ELSEWHERE... 10 Saturday, December 14, 13
BUT THE PROBLEM IS ELSEWHERE... SHARING MUTABILITY 11 Saturday, December
14, 13
IS MUTABILITY BAD? NOT NECESSARILY. ONLY WHEN WE MUTATE AND
SHARE 12 Saturday, December 14, 13
HOW TO GET AROUND WITH STATE FOR PROGRAMS TO DO
USEFUL THINGS STATE MANIPULATION CANNOT BE AVOIDED. 13 Saturday, December 14, 13
HOW TO GET AROUND WITH STATE STATE MANIPULATION DOESN’T NECESSARILY
MEAN STATE MUTATION. 14 Saturday, December 14, 13
HOW TO GET AROUND WITH STATE ‘(and I can hear
our functional programming friends telling us to think STATE TRANSFORMATION instead of state modification) 15 Saturday, December 14, 13
•Encapsulate mutability and share only immutable data. •Make everything immutable.
•Shared mutability. •Use libraries to watch over changes and warn of violations (if any) 16 Saturday, December 14, 13
•Encapsulate mutability and share only immutable data. •Make everything immutable.
•Shared mutability. •Use libraries to watch over changes and warn of violations (if any) 17 Saturday, December 14, 13
•Encapsulate mutability and share only immutable data. •Make everything immutable.
•Shared mutability. •Use libraries to watch over changes and warn of violations (if any) 18 Saturday, December 14, 13
•Encapsulate mutability and share only immutable data. •Make everything immutable.
•Shared mutability. •Use libraries to watch over changes and warn of violations (if any) 19 Saturday, December 14, 13
Thank you. ANDRÉS N. ROBALINO @androbtech 20 Saturday, December 14,
13