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
77
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
Azure AI Foundryではじめてのマルチエージェントワークフロー
seosoft
0
160
datadog dash 2025 LLM observability for reliability and stability
ivry_presentationmaterials
0
450
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
520
High-Level Programming Languages in AI Era -Human Thought and Mind-
hayat01sh1da
PRO
0
730
猫と暮らす Google Nest Cam生活🐈 / WebRTC with Google Nest Cam
yutailang0119
0
110
“いい感じ“な定量評価を求めて - Four Keysとアウトカムの間の探求 -
nealle
1
8.3k
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
6
1.9k
ruby.wasmで多人数リアルタイム通信ゲームを作ろう
lnit
3
440
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
420
Select API from Kotlin Coroutine
jmatsu
1
230
PHPでWebSocketサーバーを実装しよう2025
kubotak
0
270
GraphRAGの仕組みまるわかり
tosuri13
8
530
Featured
See All Featured
Done Done
chrislema
184
16k
Code Reviewing Like a Champion
maltzj
524
40k
BBQ
matthewcrist
89
9.7k
Facilitating Awesome Meetings
lara
54
6.4k
How to train your dragon (web standard)
notwaldorf
94
6.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
The Pragmatic Product Professional
lauravandoore
35
6.7k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
The Cost Of JavaScript in 2023
addyosmani
51
8.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
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