Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
43
¿Por qué Rust?
andrasio
0
190
Deuda Técnica. Colabora y Entrega.
andrasio
0
89
Func Developeroa (VI Jornadas Tecnológicas e Industriales)
andrasio
0
83
Ruby Kryptography (RubyConf Argentina 2013)
andrasio
0
230
Of Developers and Testers and cooking together the pepino ruby recipe test (Agiles 2013)
andrasio
0
89
Comunica el código en el mismo vocabulario del dominio (Campus Party Quito 2013)
andrasio
0
80
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
Combinatorial Interview Problems with Backtracking Solutions - From Imperative Procedural Programming to Declarative Functional Programming - Part 1
philipschwarz
PRO
0
120
Evolving NEWT’s TypeScript Backend for the AI-Driven Era
xpromx
0
250
dotfiles 式年遷宮 令和最新版
masawada
1
520
FluorTracer / RayTracingCamp11
kugimasa
0
170
しっかり学ぶ java.lang.*
nagise
1
470
Module Harmony
petamoriken
2
600
Integrating WordPress and Symfony
alexandresalome
0
110
ローターアクトEクラブ アメリカンナイト:川端 柚菜 氏(Japan O.K. ローターアクトEクラブ 会長):2720 Japan O.K. ロータリーEクラブ2025年12月1日卓話
2720japanoke
0
320
AIと協働し、イベントソーシングとアクターモデルで作る後悔しないアーキテクチャ Regret-Free Architecture with AI, Event Sourcing, and Actors
tomohisa
5
17k
Media Capture and Streams: W3C仕様と現場での知見
nowaki28
0
120
Building AI Agents with TypeScript #TSKaigiHokuriku
izumin5210
5
1.2k
WebRTC と Rust と8K 60fps
tnoho
2
1.8k
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Designing for Performance
lara
610
69k
BBQ
matthewcrist
89
9.9k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Product Roadmaps are Hard
iamctodd
PRO
55
12k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Navigating Team Friction
lara
191
16k
Scaling GitHub
holman
464
140k
Raft: Consensus for Rubyists
vanstee
140
7.2k
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