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
Rankings, você esta fazendo isso errado
Search
João Moura
September 02, 2013
Programming
0
210
Rankings, você esta fazendo isso errado
João Moura
September 02, 2013
Tweet
Share
More Decks by João Moura
See All by João Moura
State Machines in Elixir
joaomdmoura
0
300
Spreading my love for Elixir and State Machines
joaomdmoura
0
57
Unboxing Data Science (Short Verison)
joaomdmoura
0
83
Elixir a Language for the Future
joaomdmoura
0
110
Tackling Authentication with Phoenix
joaomdmoura
2
480
Desenvolvendo Produtos além das Metodologias Ágeis
joaomdmoura
1
63
Graph Theory Behind Immutable JS
joaomdmoura
0
540
E agora mobile?
joaomdmoura
0
68
(short version) Elixir By A Rubyist
joaomdmoura
0
200
Other Decks in Programming
See All in Programming
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
280
技術同人誌をMCP Serverにしてみた
74th
1
680
AI時代のソフトウェア開発を考える(2025/07版) / Agentic Software Engineering Findy 2025-07 Edition
twada
PRO
97
34k
Rails Frontend Evolution: It Was a Setup All Along
skryukov
0
240
GPUを計算資源として使おう!
primenumber
1
200
Porting a visionOS App to Android XR
akkeylab
0
660
Node-RED を(HTTP で)つなげる MCP サーバーを作ってみた
highu
0
120
The Niche of CDK Grant オブジェクトって何者?/the-niche-of-cdk-what-isgrant-object
hassaku63
1
500
iOS 26にアップデートすると実機でのHot Reloadができない?
umigishiaoi
0
140
AI時代の『改訂新版 良いコード/悪いコードで学ぶ設計入門』 / ai-good-code-bad-code
minodriven
22
9k
テスト駆動Kaggle
isax1015
1
510
NPOでのDevinの活用
codeforeveryone
0
870
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Music & Morning Musume
bryan
46
6.7k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
It's Worth the Effort
3n
185
28k
GitHub's CSS Performance
jonrohan
1031
460k
Designing for Performance
lara
610
69k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
7
330
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
Transcript
João Moura @joaomdmoura github.com/joaomdmoura
PALPITEROS RUBYSOURCE
TEMOS vAGAS!
[email protected]
rankings você esta fazendo isso errado
por que? onde e como?
GAME NEWS
GAME NEWS
objetivo ordenar e distinguir
quão hábil relevante? fator!
Relevância é dinheiro
1
None
Ranking Relevância Resultado
Ranking Relevância Resultado
problema Resultado errado!
“eu quero ser o maior treinador de todos os tempos”
1 2 3 1000 2000 1500
1 2 3 1000 2000 1500
1 2 3 1000 2000 1500 10
1 2 3 4 1000 2000 1500 10
“eu quero ser o maior treinador de todos os tempos”
Só que não
Consequência objetivo x realidade
Habilidade != histórico
Rankings não são coisa de criança
é possível algorítimos
“Um algoritmo é uma sequência finita de instruções bem definidas
e não ambíguas, cada uma das quais pode ser executada mecanicamente num período de tempo finito e com uma quantidade de esforço finita”
ELO rating
Rating game
Rating game Ra = Rb
Precisão Nø partidas
Microsoft sim, microsoft
Microsoft sim, microsoft
+
TRuESKILL
TrUE Skill ELo Rating on Steroids
distrust SKILL rating {
SKILL distrust
distrust USER game SKILL
2000 100 1500 500
2000 100 1500 500
distrust SKILL
distrust SKILL
distrust SKILL
x DESAFIO distrust SKILL
WIN LOST dificuldade
Microsoft sim, é patentiado
Sigma ̇ Ruby! ruby! Ruby! Ruby!̇
100.times { user_1.won (user_1.rating - user_2.rating) user_2.lost (user_2.rating - user_1.rating)
user_2.won (user_2.rating - user_3.rating) user_3.lost (user_3.rating - user_2.rating) user_3.won (user_3.rating - user_4.rating) user_4.lost (user_4.rating - user_3.rating) }
2.times { user_5.won(user_5.rating - user_2.rating) user_2.lost(user_2.rating - user_5.rating) } 2.times
{ user_5.won(user_5.rating - user_1.rating) user_1.lost(user_1.rating - user_5.rating) } expect(User.ranking.first).to eq user_5
None
x.rating x.position x.matches x.won(difficulty) x.lost(difficulty) EASY
CODEPONG Devs também fazem esporte
CODEPONG Devs também fazem esporte
Habilidade COnfiança EXpectativa acertividade
COnclusão
COnclusão Todos participaram
COnclusão Todos participaram produtividade despenca
COnclusão Todos participaram produtividade despenca Akita é japonês e não
joga bem
Revisão POssibilidades Relevância ALgorítimos SIGMA PING PONG é LEGAL
TAKE OFF CONF
None
None
FEVEREIrO 2014
Thank you! @joaomdmoura github.com/joaomdmoura