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
41
¿Por qué Rust?
andrasio
0
180
Deuda Técnica. Colabora y Entrega.
andrasio
0
87
Func Developeroa (VI Jornadas Tecnológicas e Industriales)
andrasio
0
77
Ruby Kryptography (RubyConf Argentina 2013)
andrasio
0
220
Of Developers and Testers and cooking together the pepino ruby recipe test (Agiles 2013)
andrasio
0
87
Comunica el código en el mismo vocabulario del dominio (Campus Party Quito 2013)
andrasio
0
73
I can't see the popups and buttons to submit on this black screen. (La Conf 2013)
andrasio
0
230
Other Decks in Programming
See All in Programming
Spring gRPC について / About Spring gRPC
mackey0225
0
220
Introduction to kotlinx.rpc
arawn
0
670
ソフトウェアエンジニアの成長
masuda220
PRO
10
920
最近のVS Codeで気になるニュース 2025/01
74th
1
260
バックエンドのためのアプリ内課金入門 (サブスク編)
qnighy
8
1.8k
Honoをフロントエンドで使う 3つのやり方
yusukebe
7
3.1k
Writing documentation can be fun with plugin system
okuramasafumi
0
120
Amazon Q Developer Proで効率化するAPI開発入門
seike460
PRO
0
110
富山発の個人開発サービスで日本中の学校の業務を改善した話
krpk1900
4
380
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
170
Grafana Cloudとソラカメ
devoc
0
140
Multi Step Form, Decentralized Autonomous Organization
pumpkiinbell
1
720
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Writing Fast Ruby
sferik
628
61k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Agile that works and the tools we love
rasmusluckow
328
21k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Making Projects Easy
brettharned
116
6k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Become a Pro
speakerdeck
PRO
26
5.1k
Designing for humans not robots
tammielis
250
25k
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