Archive for June, 2009

Path Tagger Explained

Four weeks ago I posted that I was starting on a new project called Path Tagger.

Here’s the idea:

GPS data loggers are small devices that collect your latitude and longitude every few seconds throughout the day. Most of the modern dashboard Garmin devices do this automatically. You can also purchase small ones that you can carry in your pocket. An iPhone app would have obviously been ideal, but currently battery power and accuracy are big problems, not to mention that you can’t run apps in the background which would be essential for an app like this.

When you’re ready to look at the data, you can upload it onto your computer and see where you’ve been using a program like Google Earth.

Path Tagger was going to be a web app that analyzed the GPS data and determined exactly where all your time went.

Think of it as a RescueTime for your life.

For example, you would be able to tag sections of the map based on location and/or time. You could create a border around your gym and specify that if you are in that area any time between 11am and 2pm, Path Tagger should categorize it as “Gym”. You could do this for anything, assuming the GPS device was accurate enough: Work, Home, Grocery Store, Sleep, etc.

Routes between these areas would be automatically classified as “Commute” or “Drive to Work” or “Drive from Work” based on your speed and settings.

Using the GPS data and the user-defined tags, Path Tagger would also show you on a calendar what your schedule looks like. Imagine in the screen shot below that the blocks are labeled “Home”, “Gym”, etc.

Path Tagger would have also shown you a detailed breakdown of your life:

Gym – 4 hours/week

Commute – 6 hours/week

Sleep (assuming it was accurate enough) – 50 hours/week

And so on.

There are a lot of directions Path Tagger could have gone in to make money. Imagine something along the lines of: “You pass a Starbucks 10 minutes are you head to work every morning — here’s a $2 off coupon”.

I think Path Tagger is an interesting idea but its one I’m not passionate about so I’ve decided not to pursue it.

If anyone wants to give it a go please feel free –

Thoughts?

AOL-Files Fanfare on Digital Gangster

Ten years ago I helped cofound AOL-Files.com, a website devoted to finding and exploiting holes in the America Online service. Together, Rob, BMB, and I grew AOL-Files into one of the most respected community of amateur hackers on the net.

Recently I started Googling for information about the site, to see if anything other than the archive on this site was still online. To my great surprise, the site is still talked about regularly on hacker forums.

Digital Gangster, the most notable of the lot, appears to be where a lot of the former AOL-Files crew migrated after it was taken down.

Here are a few excerpts:

yes I do, you used to hang with the aol-files crew we used to chat on rob’s irc server and talk about hax0ring the world

O0O, April 2007

O0O was a major contributor to the site and eventually one of the staff. The word “brilliant” comes to mind when I remember his work.

i edited my aim 5.1 by learning the hex offsets via tauville from aol-files

mx, July 2007

I went by the alias Tau back in those days — never heard the term tauville before, but I think he’s referring to some of the articles I wrote. Glad to help!

There was a long discussion in 2007 about an article that appeared on Wired about a hacker named Smokey, the “self-professed ringleader in the AOL hax0ring scene”. There’s a lot of discussion in the thread about AOL-Files while they try to determine the accuracy of Smokey’s claims. O0O sums it up pretty well:

The only Smokey I remember from back in the day was a coat-tail rider of some of the old AOL-Files crew. The guy was a young newb that knew less than Cam0.

There are also several threads dedicated to people posting their old AOL-Files profiles:

In March 2008, omer downloads AOL-Files from Archive.org and posts a link to it:

thanks to webarchive.org ive been able to get a lot of documents from aol-files.com from 2001. most important thing is that ive recovered A LOT of the FDO documents/tokens/keywords/arguements/SOFTWARE (which is already on my site ) and including the People’s list, (which im sure a lot of you readers can find your names/handles on there.) I know a lot of you will look at it and be like what the fuck? Thats okay because i think i did an okay job with at least in some perspective bringing it back to life. and i made it for fun so <^> . Enjoy!

Later in the thread there’s some discussion about when AOL-Files.com launched in relation to Observers.net. O0O sets the record straight again:

In April `99, Moo/Brat and other ex-CLs filed their Department of Labor complaint asking the US GOVT to rule that CLs should be paid a wage, that they weren’t really volunteers, but workers in a sweat shop. I never really agreed with them and their interpretation of the law, but went with it cause it gave AOL bad press. This got Observers alot of mainstream media attention, etc. It was also Kelly’s shining moment in the spotlight, her 15 minutes of fame. Over the next year, Kelly took over more control of Observers, by the end of the year she owned the domain, paid for the webhosting and all the original staff had left. She brought in her own lapdogs and slowly ran the website into the ground with overt censoreship of the forums, not letting anyone ever criticize here or exercise an opinion opposite of hers. Around that time aol-files sprung up and all the real deal hax0rs moved over to those forums and eventually their IRC.

and

The Obs forums died once Kelly started censoring them in late `99. Newriot wasn’t even around until late `99 if I remember correctly. That website was pretty fuckin stupid and the forums there were filled with script kiddies who thought they were badass cause someone taught them one of the 6 methods to jack an AIM. AOL-Files was the best website/forums ever regarding AOL shit.

Newriot…wow… memories.

and

Good times while it lasted, AOL-Files was way better though, definately the best of all sites and the best msg board for the scene.

In June 2007, a2 posts another link to the archive.org version of AOL People, which people nostalgically browse through and post their old profiles.

i forgot who was in charge of that but i think you just had to email the template filled out to like people@aol-files.com

Rather than create a form that let people post their information, I had everyone email it to me and then I manually went formatted them and created pages for everyone. What a major pain in the ass.

From March 2009:

aol-files is still up if you guys didn’t know matt kept most of the archive up and the members and the database of aliases

http://www.mattmazur.com/archive/aol-files/

oh don’t we miss them days

And in October 2008, after I post the AOL-Files archive on this blog, people discover more profiles. The common response when people see their old profiles is “wow, I can’t believe I wrote this”. I wholeheartedly agree.

Good times.

Poker Bot Q&A, Round 1

This is post #6 in an ongoing series of articles about my work as a poker bot developer.

I’ve received a lot of questions about the poker bot the last few days and rather than continuing to answer the same ones over and over, I’m just going to summarize them here.

Do you know how it was caught?

Not for sure, but I imagine the 40+ Heads Up SNG’s the bot was playing per day didn’t help (the average person might play 5-15/day). I don’t think it was an opponent, based on the fact that there wasn’t any suspicious chat in the weeks leading up to the suspension.

Lesson learned: don’t be greedy.

Are you OK with that?

Sure, I knew it would happen eventually. I had slowly started transitioning to a new project, ALL IN Expert, which was an extension of some of the technology I used to make the poker bot. As long as I was spending the majority of my free time on the bot, I couldn’t move on and focus on more legitimate long term ambitions. I wish it had happened earlier.

Why Heads Up No Limit?

Actually, the first year was spent trying to make a short stacking bot… just thinking about it makes me cringe.

I eventually realized that if I was going to continue working on a bot it might as well be something I enjoyed. I had a lot of experience with NL Heads Up SNG’s so it was the ideal choice.

Did you use anything to mask the bot’s process?

Nope.

I wrote all the processes so it would have been difficult for PokerStars to look for a specific one.

What if they scanned the files on your computer? Or took screen shots?

I would hope that PokerStars stays away from massive privacy invasions like this.

Plus, there’s a lot of smart programmers writing add ons for PokerStars and I think that someone would have figured that out and publicized it by now if it was true.

PokerStars should have hired you to make a bot to attack Full Tilt. That’d be profitable for them because they’d knock out the competition.

Uh.

What type of Artificial Intelligence were you using?

At its core it made decisions based on Expected Value calculations and some glorified conditional logic

… not too much unlike an intermediate player.

What were the descriptions on that original screen shot?

The descriptions reflected my opponent’s actions so far in those games plus any previous matches the bot had played against them.

The numbers were fed into the bot’s opponent modeling algorithms, which were ultimately used to calculate ranges, equity, and to make decisions.

Why didn’t you wait for a response from PokerStars? Why’d you only wait one week?

Actually, it’s been more than eight months and I think it’s fair to say they’re not going to respond at this point.

Did you make adjustments against frustrated opponents, as reflected by their chat?

No, their behavior usually took care of that.

If you really want to help, you shouldn’t have written about it.

I think writing about it does more for the long term security of online poker than not writing about it does.

Did you use SAGE at all?

Yes, for a time, but don’t use it for your bot.

An exploitative strategy will trump an optimal strategy.

Doesn’t PokerStars looked at mouse movement to detect bots?

No, based on the fact that I didn’t worry about it for 23 months and didn’t get busted.

“But”, you might say, “the locations where you click are recorded in the PokerStars log file.”

Yes, that’s true, but that’s mouse clicks, not mouse movement, and even so, I’d guess that it’s mainly used for support, not for security reasons. If it were really used for bot detection, do you think they’d log it all in an unencrypted text file?

Why didn’t you try to sell it to PokerStars?

That’s not how it works.

Was your account reopened?

Negative.

They’d be risking too much reopening it. -EV.

~

Have questions? Email me: matthew.h.mazur@gmail.com or post in the comments.

Talking to Nobody: Conversations with a Poker Bot

This is post #5 in an ongoing series of articles about my work as a poker bot developer.

One of the best parts about watching a bot in action is reading what your opponents say to it during the course of the game.

Most of the time it’s a simple “nh” (nice hand), “gg” (good game), “gl” (good luck”), or “ul” (unlucky”), but every now and then you come across an opponent who chats the damn entire time. If I was around, noticed it, and was in the mood, I tried to respond, but usually I simply ignored it.

What follows is a collection of chat logs from every opponent I played during the course of 2008 with the hand histories removed. Remember these are heads up games, so there’s no doubt they’re talking to me.

You’ll notice when I did respond it was usually a quick one or two word answer, which I had to do because part of the way the bot worked was that it constantly switched from one table to the next to check if it was its turn to act, so in order to respond I had to either stop the bot or respond very quickly; most of the time I chose the latter.

A common complaint by my opponents was how slowly I acted. This was deliberate, not the result of tedious calculations behind the scenes. I figured a normal person when playing three tables at once (which was the bot’s normal rate) would be somewhat slow too, and tried to keep it the same with the bot.

Without further adieu, here’s what people said to the poker boy. Enjoy.

One last note: New paragraphs indicate new opponents.

what is koan a gay name
wosse

gg
lol

nh
gl

nh
me: ul

nh
this would be sick

g.call

stepped away

no bet??
bye

what a idiot
tx for all raises
SLOW LY DYING
BYE

sick lol
me: :)
me: gg

riv again
river again

what took you so long to call

like what the **** manb
this site is riged

gg

puzzy
scumbag

nh

me: ul

jammer

me: ty bud

back in da game

geluk
me: :)
me: unlucky

sorry I am having comp. problems

gg
me: i have chips, thx
good job not pushing me al in]
i thought you wre gonna
me: k
what you have
me: kq
ic
gg

nh

ty
ty
ooops
oooops
lol

how can you bloxk statistics on your account on sharkscope?
me: email em
you did that?
me: ya
thx
nice
;)
gg

ty
u cant win
u cant beat me
i told u u cant beat me lol

63

an
?
lol
gg

its not over

your brutal. flush on board. good job

gg

wow, i thought you had it
nice

u idiot

LOL NH
nh
n1

u must kidding me
UPSETTTTTTTTTTTTTTTTTTT

lol

nice call thanks
me: np

whatever

me: nh

so ur gonna go all in all the time

FCKN BSSSSS
WHATEVER
OK
lol
BSHTTTTTTT
UN FCKN REAL
FCKN BSSSSSSSSSSSSSSSSSSS
me: seeya
me: ggz

nhs

me: rtyy

me: seya
me: doh
me: t

nh

lol??

gl
30 minut im going to resturant! please move..
omg
call my all in?
this torunament is slow slow slow
me: you whine a lot
ok?
call my all in?
this torunament is slow slow slow
me: you whine a lot
ok?
allin?

wow
me: :)

lucky

gg

noooo
a a

gl

good fold

nh
wow
nice fish
nh gg

nh

ya ok

go al in already
all that and you fold
gg

gg

sick

good luck

how many lives do you have ?

Tough game
****

nerd
hahahahaha
jij ben gek man

do u know how many hours it is with train from amsterdam to london ?

oiiiii
cum on luv

come on dutchman
ik heb niet de hele nacht.
ich habe nicht alle nacht
je n’ai pas toute la nuit
me: not german
rotterdam isnt in germany
american?
ohio?
me: ?
califoria?
texas?
hackensack
irvington
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
z
z
me: 8
me: 8
me: 8
me: 8
good night
damn
me: lucky

comon???
me: go?
hev
me: ?
ok

me: gg

wake up dude
me: calm yoself
i am trying
i need a shot right now

me: nh?

gl

come on
?????????????????????????????????????
What are you doing.. you wasting my time

play

zzzzzzzzzzzzzzzzzz
cmon
lets play,donk
me: 8
me: 8
me: 8

nh

me: lol

zzzz
cmon…

me: gl
zzzzzzzz

????????????????????????
me: s_

zzzzzzzzzzzzzz
fack connection or what?????????
me: ya
me: its crapping out
river
like me before

aooooooohhh!!!!!!
me: sry my connection is terrible today

tzzzzzzzzzzzzz

me: cc/,

me: JT
53cl
missed-it-all
6-2-kills-me
u-got-32
g1

zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
lol
lol
lol
lol
man u r getting played
lol lol lol lol9 in a row falke

zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
play please
****

good luck

you nare so slow, ohhh well

lol
ur a clown
i sucked out
\lol
sorry
i didnt mean to fold

gg

QQ
hope u had it
A5?
hence no raise

u got straight
Q no good?
pretty coin flip
and you had to think why?
how did it take so long to call?
crazy?
lol
and you had to think why??????????????????????
such a bad player

***cer
*******
f.u.c.k.e.r
hahahahahaa
loser
loser
loser
loser
loser
loser
loser
loser
loser
loser
loser
loser
loser
loser
loser
loserl
loser

gl

no ****ing way
me: ul
me: ha

sorry here now
hello
again
it’s 1-1

Zzzzzzzzzzzzz…….

ohne des wird was
haha

me: maybe i win this time

gay

me: rigged
multitabling?

nice :)
nice

what happened

me: value city
?
what does that mean?

u r sooooo slow..

FRENCH
me: vgg
me: lloll
me: ****ty game
me: gogogog me
GOOD GAMES

me: gl here
damn 1-10
a*
me: no way
me: lucky
me: omg
gg

me: biggest comeback ever

why yu’re not on sharkscope ?
me: =/

me: gg tho

me: owned

lol

me: whats out record
me: we played a lot

lol
me: 4 outer for you sir
sir???

me: wow

where r u from

nice call
me: ty
me: gg

oh jesus, come one
nh
zzzzzzzzzzz

wake up

all in or nothing…lol
you can’t play after the flop can you

hahah;0

4
this is funny
gg

lol
damn river
lol
lol
lol
lucker³³³
lol

could u beat that
wow nh

wtf
haha
lol

GOOD GAME

me: nh

ty

oh **** didnt even see that
me: wow
bs
lol
nh

me: ow

me: twice now
me: suckout ame
please, lol you haven’t seen bad beats………you know what my win ratio is with pocket kings???? 3 / 17
cold decks all around

gg

lol

nh
nh
nh
nh
nh

goodbye
terminated

ouch

so gross

joke

me: nh!

nh

2 out of 3

zzzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzz
whats up???????????????ßß
hey

gg

it’s just a game
nh
me: lol
nh
gg

nh

nh

how did i know?!!!!
opps
nh
gg

lol
scared?
I have full house
LOL
that’s SICK
LOL
hahahahah
sick

hahahaha
now what?
full house
QQQ TT
LOL

AA
sick

afraid ?

a mulato!!………

me: lol

me: lol
me: 54?

river river
luckydevil

fold alreafy

omg
bad player
bluffer

+

haha
hehe:D
me: n1
thnx
n1
sorry man

good bet

n1
really had the 4?
nice

that was pretty lucky for me at the other table, gg

happens to me all the time
site is ****ed
gg

joke

nh

zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

luck

me: ul

wow

can u play faster please…it is turbo
u suck
and are very annoying

gg

hahaha

kk?
lol
nice river
road runner
me: thats what u get for donking into me
w/ my two pair?
idiot
nice bet
lol
27
lol
bye idiot

lol gg

nh
this game really annoys the hell oy of me
wot all the time

lol….nice fold
gg

ng
nh
very nice
nh

*****
****er
lololol

AGAIN!

gh

nice start

doh

nh

OH YEAH GOOD LUCK
KEEP BULLYING
AINT GONNA GET U ANYWHERE
SWEET
HOW U FEEL NOW BULLY
HOW COME NO RAISE EVERY HAND NOW/
GOOD GAME. CHUMP.. LMAO…LOLOLOLOL…

10 hands, no flop – Nice
lol

wow ur sorry
betting and raising with a king high
play king high this hand
pu s sy
lol
U ARE THE ULTIMATE PU S S Y

show me
you cards

lol
gg

nh

ive got 2/8 at least 10 times

full house on th3e flop
all the time a flop with the same cards
and again
what is going on here wih the flops

quad
kk?

lol
gg

hehe
hehe

ALLEZ
BOUGE TON CUL
GROSSE PUTE

where is mt. laurel???pü
so

fast please
fast please
fast please
fast
fast
fast please

me: lol

+
LOL
FROM==50
me: i knw
KKIK
KK
K
KKK
KKKKKK
KKKKKKK
KK
K
K
K
K
K
K
KK
K

u got snow

of course

are ya starting to sweat
lol

rivered

gg

nh
cmon im all in in the dark
ouch
h
nh
wrong moment

a licker
lol
* *
F U

nice call
c on

nh

zzzzzzzzzzzzzzzzz
play men
zzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzz
alter spiel
zzzzzzzzz
zzzzz
z
z
z
z
z
z
z
zz
z
z
z
z
zzzzzzzzzzzzzzzz
z
z
z
z
zzzz
z
z
z
z
z
z
z
z
z
z
zzzzzzzzzzzzzzzzzz
z
z
z
z
z
z
z
z
z
z
z
z
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzz
zzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzz
z
z
z
z
z
z
z
z
zg
trg
tgt
hgt
ght
hgththt
………………….
spiel du peenne
sssssss
s
s
s
s
s
s
s
s
s
s
s
w
w
w
w
e
f
v
e
ev
espiel du penner
waht the **** thinking u???
play men

lol
great call

call
or
fold
79
wanna blast my lyst money

up against aa
bleeeeeeeeeeeeeeeeeed
lol

nh

THAT WAS BS
NH

why do u play 6d? uv played over 4k games

???
cmon man play
imm out
dont like wiating
nerving ,yself

nh

gg

gud call

nh
i will win this tho
here it comes
yes
yes

bluffing and hittin
i could womate
wtf
jokerstars

slow down
wtf
ur a fkin jackoff
lol

turbo man

love y

not in dan`s house

gg
ooooo

nice one
i got lucky
wow, nice

wow

zzzzzzzzzzzzzzzzz
why so slow?

omg playyyyyyyyyyyyy

play

how ?
WHAT ARE U DOING I DONT GET U
A2

ofcourse

i played u just be4 aye?

lol
bleed slow
nh
you blew it
lol
lol
6 against aa
lol
lol
5 times ive beat you
lol
bye

no, just **** out the wife
pi mp
i need to stop running
can’t keep eyes open lately
you talk to kelly jones at all
about saturday
possible cookout
she just told me yesterday
was supposed to tell everyone at DC last night
i forgot
chris requested the lime drink
i am gonna make a pitcher
you guys around
4 oclock
bring your own stuff to grill
from here
bodog called me today
apologized for the confusion
released my money
i cashed it out
now they are offering 100% match
but, i don’t have a way to get it in there
here?
i am screwed at BD
??
on the 3
in that case
i am just going to say screw the whole thing
and not pay you crap
i don’t have but 75 or so here
you dont need any at FT
good
thinking year end
same terms as your loan?
i gave you a discount
you on FT

Dude
Come on

sup?
lol

computer ?
computer “

straight kill me

n1

ive made 62 bucks since we played last you?
you really suck
you REALLY SUCK
lol
you suck
lol
bye

zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
2+2=4

u back ?

helluva chase
lol
hack

your fun to play with

me: u’ll win

lets go

talented, eh?

gbye

jack
had three queens

wtf man!
*****
wow

nh
lol

ha

sorry

nj?

n1

n1

get real

play a little faster plxz

lol puss

okK
ahahaha
KQ

zzzzzzzzzzzzzzzz

unbelievable read
respect
me: ty
i had an ace beat…………………

oh come on
80 chips
to see if i had it
i woulda called with anything

?
any day

last time i fold

lucky

i hope this game is finished fast…….
what a bad player you are
f. your game…………
wate for a king or a a. s. s
ohhhh a king ???
jep a king player …….

zzzzzzzzzzzz
what a hassle

sorry

you must be stupid
hey im sorry

k
k
k
k
lucky

nice bluff

good game
lol
me: :)
unreal
me: haha
dont worry, i am sure u will get it back in a min

me: nh
nh
what come on
you are a poor poker player

thanx for the 6 bux tool!
wow u are terrible
with a capitol T

hurry mr. chicken head
kakkakakka

nh
me: now you get queens’
me: lol

always the same
cant wn today
win

zzzzzzzzzzzzzzzzzz

zzz
cmon
zzzz
all in
gg

nh
nh

comon
grow some balls
play a fcukin hand

WHERE YOU FROM?
do you wach the hockey game

so predictable
gg

NICE COMEBACK

me: lol

gg

nh
nh

hurry p dik
me: multitabling
me: sry
i know assssss

thats the third time u ‘ve folded on the flop i had pocket kings
pu$$y
u know my cards huh

lol
lol
lol
lol

don’t take so long…either in or out…
man u r sooo slow…
about time..

hey i have to go…im sure you have me beat on this

nh

nice bet
great bet

nice
gg

idiot
lol
lol
typical

NJ?
?

gg

hihihi

k
ok
kk?
on the river, always, lol

me: agg

the result I expected

nc

gg

gl have friend watching/ is why Im showing cards
f…ing river

is there any for your slow play?

what do you here
me: what

nh :-)

interesting

nh

hmmmmmmmmm

didnt i play u last night

nh

ur really easy to take outta of a POT

good 1

***
seriously?

nh

nh

come on

gg\

good hand

lucky
crazy all time the same here
call and win

zzzzzzzzzzzzzzzzz
playing with u is so boring.unbelievable.

go faster
im sorry
but i promised i would play basket ball with my dauthter
**daughter

i felt so tired.lets play like u and wait for the aces.

nh
to sellGG

when du u want to play cards?

me: brothers
u have violated the heisenberg uncertainty principle !!!

lol

hi

me: whats lol
me: i lol you
me: pos
sry

gg

i mean i’ll still win
because you’re no good

yawn

A 3

:))))

sorry, but ure to slow. go all in

your so ****ing lucky

sorry

lol

lol
you havent changed
lol
you still suck
lol
lol
what absolute luck
i will still beat you

bull again
u are not gettin this round
nice suck out

aaaaaaaaa
f…

hey i’m here
nice hand

gg

sorry but i must take ur money
nice
Q
wow

dominatedd

ZZZZZZZZZZ
play men

dan gonna make some action !
dan kicks you out !
again….
don´t mess the best man !
ty
now it`s time to kick your ***
yes
zzzz

Hello

hi

lol

zzzzzzzzzzzzzzzzzzzzzz
play men
……………………………………
zzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzz
z
z
z
z
z
z
z
z
z
z
z
z
cheaqter
zzzzzzzzzzzzzzzzzz
z
z
z
z
z
z
z
z
z
z
z
z
playyyyyyyyy men
??
play men

you will lose this game

I jus wanr u
won 17 in a row
the man before u cost me over 2 hours
damn he was qa hard one
and he was just like: I KICK U..
u kno?
i HAD 120 against him, and won in 4 rounds
thx
vvvnh
me: ty
sorry
lucky
its urs
come on
haha
ur a good one
I see that
Im a pro
learn from me
not anything u think
u kno
Im really a pro
but
hmm
forget it
u gamble good
vvvvvn
u hav eme
haha
very good
damn
haha
very good
damn
but u have great hands, dont u?
and u fold the right way
like a pro
very good
me: ?
me: gotta play aggro short stacked
haha
damn

i hope you win then i can never put one more cent on this site again
****in joke
had [pocket kings

i hate playing u
i mean HATE
i think ur a computer program

sorry
i dont’ like to lose or win like that
me: it happens
me: a lot
nice call

?

yes
yes
yesss

rererere\\

me: no

i know was jokin

me: =)
a kaon is a nuclear particle in physics i guess it does not have a realtion to your screenname
me: not really
me: just a name
ok….. but a kaon is a famous particle
me: i know

ahahhahah
zzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzz
zzzzzz
zzzz
zzzz
zzz
zzzzzz

nh
nh

nh

gg

why ufr
nice j

oh no kaon
you thinkig so much fpr the palying
****
play men
play men
play men

me: sorry
me: that was nasty
me: not this time
sorry
me: fair
me: what goes around
me: comes around
wish it was that fair most of the time
me: thats poka
me: itll be over soon
me: u prob win
me: ya
me: 96o
me: gogogog
me: c
me: c
me: c
me: c
me: kik
me: lol
me: maybe i win?
me: not over
me: haha
me: 7
me: 7
me: 7
me: sigh
me: unbelievable
lol
me: maybe never end
me: 55
me: haha
me: most bad beats ever in a game
me: see
sorry

nh

lucky ***
2500 chips vs 500 and this is how you play?

me: back for more eh

mug
you complete moron
your online stats say it all
fIsH
coc
fish
where did you learn to play poker??
nursery?
coc
mug
lol
your pathetic
:->

dsfdsf
dsf

is good

is your mouth open to idiot

nh

jj
llo

me: u dont give up
no u dont
lol
dont raise
i’ll move in
just give up and gimme ur money

nice bet
great call STUPID

cmon man
what are u doing man
stop folding

nh
zzzzzzzzzzzzzzzz

zzzzzzz

no other play?
yawn
bored

me: …

Hi, good luck
good bet
nh

me: maybe

terimah kasih

TT

u r here just to fold
free chips
lol
u r so boring
* *
the blinds will crush u soon

good call
nh

???
buyer beware
nice catch fishy
and another fine catch for the fish
my turn
lucky girl
b/s
do the fish ALWAYS win here?|
nope
go fish
just dump a bunca chips on it
and p/s will do the rest
as usual
buy
fish
catch
repeat

juega rapido loco
play fast azhole
you will die
your chips will be mine
uuuuuaaaajajajajaja
you’ll die
:D
:D:D:D:D:D:D:D
die
die

tight
you are
:P

this time i’m gonna take you!!!!!!!!!1

faster please
me: nh
zzzzzzzzzzzzzzzzzzzzzz
too slow

nh
gl

gb

nr

n
me: ;)

nh

me: lol

zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
pfff second time
amazing

good grief all day long
wow

y are u so slow
COME ONE
COME ON
SLOW SLOW SLOW SLOW
jeus christ man
jesus
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
r
x
y
z
me: whats your problem
me: many tables
me: so calm down
nah
ur too slow
its heads up for god sake

come on
hosenscheißer
me: ?
bist ein richtiger

nh

hurensohn

wow
me: ok then

l

zzz
zzz
zzz
what takes you so long

topsy turvy game!

u did that the first time aswell
but i respect that
i have to say man at fist i thought you were a fish but your not bad

me: ill get you
i´ll see

e

good move im impressed

come on its a turbo
gg

DAM

nh

nh

swoop

u need to play quicker
wow speed it the **** up

nh
lol

nh
not letting u river me again !

you bluff any
kanker
tjaa
2 pair hoor

me: aj’
me: nh
thx

daiiiiiiiiiii

NICE SICK

zzzzzzzzzzzzzzzzzzzzzzz

nice coll

bluff

zzzzzzzz

hello

nh

so rediclious bull****
show

yuck
ha
you are soo bad
sooo bad
thank you

waw
attand moi
ton eleve
ha ha
oui metre

you bluff 2 much

sorry

qqqqqqqqqqqqqqqqqqqqq

gg
lol

very nice
nice

hum
I fold pair of K

gl
me: gl

lol
was not a strong hand

do you speak english?
hurry and loose
ur so slow
bye
gg
gg

just call

u r shi.t

ty

gh

oi

gh
gh
gg
wow
gg

hi gl
me: gl
me: gl
me: gl
me: gl
me: gl
gl

nh

bye

lol
wow u must be getting great cards

nice call

hmm
u bluff?
me: no
me: :)
me: nh
me: too bad no 5 for me

me: owned
luck

me: :)

me: )
Q
sick
FFFF
lol

me: u win
lol
me: lol
me: uh
once more and im back, lol
ok, lets try
sorry
me: =)
hmmm
hmmm
k9
think i had u
lol
lol
lol
gg

WELCOME BACK

GOIN FOR IT
not like vegas tho

my name is **** andyure name is * * * * *

u LUCKY f*CK

how much does it cost do disable your stats
kaon how much
n

funny
why did u give me odds to chase flush earlier
wat happens wen it hits.. ur crippled
borin
sigh
so gay if u have the 3
ha
terrible

haha
just fold
sick
f
WTF?
I got full house!
yeye!
wooo hooo
puke
sick

ouch
gg

Cards Anyone

WHEW
DUMB ***

lol

gl man
have fun
me: gl

nh

hold
hold
6
****ing Q7…hahahaha
K
6

n
:)

??

nh

j 2
u like to bluff eh
me: dont u
not in hu
na
nice call
thats why i donlt bluff lol
a 9 i had
j
even steven
big blinds now
nh
kq here
gg
this hand
yuck
gg
gg

bad flops
over bet obvv
what u have aa or kk
pick one
should have slow rolled me
this is my house baby
your mine
game time wwwweeeeeeeeeeee
bluff
play one more after this
ill winn that way
gg
gg
gg
gg

hurry up

2-8
:(
come on
:(
og
omg
lol
all in
looooooool haha
omgomgomgomgogmgogmogmogmo
lalalalala
llalalal
alalal
come on mate
all in soon
not just bet
all in
and you got it

wow just better cards
again raises and gets an ace to fall
wow you just getting better cards
wow owrst hand in the deck and still hit
wow hit every time
well played

ho e dAI
hahahahahahahhahahahaah
haahhaahahahaa
ooooooooooooooooooooooooooooooooo
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaa
me: what
ahhahahahahahaahahaahahahahhaahahahahahah
haaaaaaaaaaaaaaaaaaaaaaaaaaaaa+
haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
mmjvhbkhgcgckvhglkb
jhgffhhvxgfxdfhkfg
hiddbebasao
hahahahahahaahhhahahahah

im about to beat u for the 3rd time now lol
how much have u lost today kid
or u going back and fourth
up and down
kq clubs
can’t
nh
should have never called that big bet
wow im getting hands kid
ak aq kk aa
gg
gg

me: playing a bunch of tables
me: srry about any slowness
oic
its fine
u like playing me or what
we keep playing each other
brb
bathroom
me: helps me get better
what u mean
playing me
gg
one more

sry inet connection was broke

lol knew it

bad play by me
good catch

gg

wow

come on dude, play faster!
plz, play faster
solajma
PLAY FASTER THANKS!

ace woulda been nice one time, lol nh

U ON AUTO FOLD?
NB
NB
U PLAY CRAP AND GET LUCKIE
FOOL
URCRAP

THIS HAS BEEN HAPPENING TO ME ALL NIGHT
THE SUCKOUTS R UNREAL
F’ING UNREAL

lol
lol
lol
r u going to make a comeback?
lol

gg

1 pair all game

rescpect my biug
stupid
jaja
respect

o ya

please quicker man

me: me

hahahahaha
me: got me

zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
6 lento come i biacchi

hmmz
well done

sorry

vn

1 card wonder
nice 1st round
about even

GO
GO!!!!

-h-
helo
llo
hello
where is laurel
he
hola
hallo
ciao holla
guten tag
arsch
blöder
call
depp
wow
nice mouve
hello
stronzo
me: lose already?
me: bye
me: :)
me: 7
me: 7
me: 77

ooopppsss

again
***er
justice!
nh

have to say gg
enjoyable

wow
pff
tanulj meg te nyomi
hahaha
hahahaha
hahaha
hahaha
idiota donkeys
hahahaha
hahahah
hahaha
haha
donkey
bye
lucky

nh

nh


Oh the suspense

??/

THAT WAS SOME 2 CARDS

lucky

nh

You connection must be really slow if you time out on each round
You have got to be kidding with this slow play
NH

your an up tight *******

u lose

if you win ill meet you on rt.38

by

sorry phone

U LUCKY SOB

???
you stink

I wish I could see your face
LOL

WOW

lol
lol
lol
lol
lol
lol
nh

lucky

why do you like
3betting me so much
?

yo
see me in other tourney?
see in 25 tourney?
gg man

gg

fast play ?
play faster

?

gg

remember me?

g2g right away
all in from here
after this hand

gg

sry
it appears to be death to get it in with the best hand

rais rais
noo rais
all in
ok

lol

faster please

what takes you so long

talk about luck

gg…

nh

lol
ty^^
gg…

zzzzzzzzzzzzzzz

gg

well played, i would have spent more if it was me
ok, game on…speed up though pls
i dont think im enjoying your company
pushy

gg
gg

zzzzzzzz

u suck
xfbn cgm,

hand?

big and sexyyy

vnh

why r u slow

nh

big fish

lame
ur lucky
u play like an idiot
CUN…T

fish
:->
ywn
gg

harsh i love 33 lol

mothr****rr

me: lol’

gg
me: no
gg

hard to bluff us fishies
ow\
nh
gg

play mennnnnnnnnnplayyyyyyyyyy
……
————-
………………
play men
……………………….
…………
……..
tik tak tika tik

sorry comp froze

me: you fold way too much
me: just do it already
me: comon
me: gogogog
me: =/
me: haha
me: you call with that
me: seeya

why do u raise every hand?
ok u can piss off now
ur just ***n me off
wtf man
u are a **** stop playing like a freakn amature

n c
lol
omg

u gonna play some hands ne time soon
ur the biggest biiitch ive ever playhed
ur hittin the board evertime

gg

queen high call?
that wont work everytime:)
ill catch you eventually

I got k j

me: 5
me: 5
me: 5
me: 5
me: 5
me: i’ll take it
me: you cant win
me: ;(
me: 58o
me: 74′
me: soon
me: k2
me: ooops
me: big nowwx
me: booooooom
me: all in
me: good odds
me: so many outs

lucky idiot
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
took you long enough
me: computer frozen
ahh thats frustrating :/
jooooke
omg
youre horrible
idiot
me: luck
yeah and bad skill by you

me: gg

call

you’re a fat kid

play men
,,,,,
….

playyyyyyyyyyyy

nh
lol

good folddddd

f

oh nooo KAON
me: we play a lot
me: and i think you are a luck sack
i not want to play with you next time
sorry
you play so much slow
how old are you?
you play so slow
me: lots of tables
me: thats why
me: srry
i dont want to play with you next ttime

…..
……………
…..

ure tight
gg

zzzzzzzzzzzz
zzzzzzzzzzzz

crappiest hands ever lucky u
crap crap crap crap
next descent cards all uin
**** it imout
cant take it all in everytime
its urs

lol not yet
nh

lol

nh
gg

té une graine

jgyjhk
;;

where are the face cards

wtf
cant believe this
worst player ever

zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

i lied
again
i lied
kk
good one

vn
vn

echt?? ich gugg noch zu
gsieh
r
schwer
des is e fuchs:-)
eijo…wie e depp
weses
geed so …war schwer geje denne
looool
loooooooooool
a a
kenns me du?
dann ich a
eim jetzte 50-er hu
ne gut so
hopp
nix kadd
hab jetzt e daaam unn e viera
haus haus
scheisse
gewinn noch
ty
jetzt
nh

ha
me: lol

GC

vendetta
nh

me: ul sorry
me: u had a gh
don’t be

y u slow rollin ****

what you call
* * * * so player
f u c k * * ckk

unb.

u again !
i love playing you !
pocket 8′s ???
?
getting aggressive now eh ?
two can play that game b1tch
not so aggressive now ****er!
i beat u every time haha
easy
nice all in !
gg

monster call
vn

sick

lol
lol

nice bet
nh

gg

very lucky

zzzzzzzzz+

66

AA
brave boy
so pathetic man

thanks

nc

40

are u sleeping
you take too damn long

nh

zzzz

wow

strange reaises
hahaha

ja geh rein ich such dich gleich
ok
me: gl
me: gl
gl
me: gl
s
ja hab grad sehr viel verloren
war fast schon vorbei
guck zu schatz

nice call

gl and Gb
me: gl
me: gl
me: gl
me: gl
im gay and play crazy, sorry
aa
not the meeting
10-10
my card have went away
theyre back
got me
gg

NICE

99

ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
ZZZZZZZZZZZZZZZZZZZZZZZZ

i know no english
me: gl
wow

zzzzzzzzzzzzzzzzzzzzzzzzzzzzz

yessssssssss

=)

eeeeeeee
eeee
wer you come from


lol


;

me: lol

du grand pocker stars

zzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

GREAT BET STUPID
GREAT BET

50 50

^^

aa
all in need to go

why raise when u cn see it for free
ofcaourse

‘we kill people by mistake’
america’s foreign minister
bombarbment

lol nh

nice check

nc

aggressive sob ok

thank you
yw
yw

NH
NICE CALL

man your slow

unreal

me: gl
vergogna

nh

lol

ihi
z10 hope to get u after this
cmonnnn
nh
vnh

call
chicken bluffer

only

you like that

;)
puss move
nh

77
next time
k 10
u keep tryin thta move

THATS RIGHT
lol
schhmmmmuuuuck
lol
u suck so bad doode
whata d ouche u cal with a j
lmao
unbelievable
uhhhohhh

sorry dude

9
n1
3 A?
have a straght i have a set

nh

where from
lol

gg

nh

OL

gg

zzzzzzzzzzzzzzzzzzzzzzzzzzzzz
moi je montre
zzzzzzzzzzzzzzz
clochard

hahah
luckbox
so sick of losing to someone that isnt as good as me at this game
lol
nothing but a luckbox

lol
nh
ha ha ha
thats a joke

zzzzzzzzzz
keep it comin
lol
thought i had you ha ha

jokerstars

ahhhhhhhhhhhhhhhh u got no ballz

gg

wow nh

gg

nh

nh

then why u keep playin me??

sry
ouch

gg

??
nh
h

zzzzzzzzzzz

ancora tu???

nh

alles klar
verarsche hoch zehn
föld
sag ich doch

smart boy

gotta love it
i was down to 100 chips in this headsup
then this happened when i had 100 chips
pray for this kid

Poker Bots: Handling Talkative Opponents

This is post #4 in an ongoing series of articles about my work as a poker bot developer.

One of the main hurdles associated with creating a poker bot is avoiding detection.

I imagine most people when initially considering the problem look at it from the vantage point of the poker site. You ask yourself: “If I was charge of security, what would I look for to detect poker bots?”

So you make a short list of everything you can think of and start brainstorming ways not to violate those principles.

Your list might look something like this:

Mouse movement – Figure out an algorithm that closely models human behavior

Mouse clicks – Don’t click in the same location every time

Number of hands – Don’t play an excessive number of hands in given period of time

etc etc. You get the idea.

It’s critical that you take these precautions because its likely the first thing the poker sites look at when determining who’s been naughty and who’s been nice (or maybe not).

However, in my experience, the biggest challenge is NOT how to fool the poker site, its how to fool your opponents. These are the people that the bot will spend the most time with you and if it plays in a robotic or in an abnormal manner, someone might get suspicious. All it takes is one person emailing the poker site saying “Hey, what’s up with this guy?” and you’re toast.

Since most bots rely on playing a large number of hands, it’s vital that you devote a lot of time and energy to how you’re going to deal with people.

One of the problems you’ll have to figure out is what you want to do when people talk to your bot.

Do you want to create some IF/THEN rules that talk back when someone says a specific word or phrase? Maybe have the bot text your phone and then send your response back to that chat? You can get pretty creative, but I recommend keeping it simple. The more complicated your system, the more likely it is to fail.

Here’s the thing: most players never chat so if your bot never does, most people won’t raise an eyebrow. 99% of the time you can safely ignore what people say and you’ll be just fine.

However, in certain circumstances, especially when you’re heads up and someone says something provocative, you definitely want to respond. Take, for instance, if someone says: “Agh I hate bots”

You could ignore it… but its probably not the best way to increase your chances of long term success.

Here’s what I did: I created a list of words like “bot”, “computer”,  and “cheater” and if anyone said one of those words, my computer would start playing a loud, annoying bell. If I was in the around I could pause the bot, answer the the belligerent individual, and hopefully quell his suspicion.

Simple and effective.

What do you do if you’re not around?

Tip #2: be around. It’s not as sexy (?) as picturing yourself out to the movies while your bot’s at home paying for your evening out, but it will drastically increase how long your bot survives. There will be bugs. Things will break. Stuff will happen that you’ve never seen before. Be around. You don’t have to be there at your desk watching every move, but be in the vicinity. Also, the easiest way to ensure the bot isn’t playing an excessive number of hours is to make sure that you’re around when the bot is playing. In theory, you could be playing the same number of hours.

In general, you don’t want to stick out at all. Leaving your bot on all night is a sure-fire way to fail at that. You want the bot’s behavior to be as average as possible.

…except for its results :)

How do you measure a poker bot’s success?

This is post #3 in an ongoing series of articles about my work as a poker bot developer.

When I was working on the poker bot, my friends and family were fond of asking: How’s it doing?  Sure, it was probably just small talk, but it did raise an interesting question: how do you measure its success?

Net profit seems like an obvious choice, but that answer is close to meaningless unless you are very specific with the details and even if you are, it still probably won’t mean much… unless its just for small talk. For example, what period of time are you measuring? How many games did it play during that time? Once you’ve agreed on a time period and a way to count the results, how can you be sure that the results weren’t a product of luck and variance instead of skill?

Win rate seems like a decent choice, but you face the same questions as well as some new ones: do you measure $/game, big blinds/100 hands, $/hour, or something else? And once you calculate those, is that number good or not? What do you compare it to? Other bots? Other people? What’s your benchmark?

What about development time? If you spend 500 hours developing a bot that eventually makes $500, that means you made a dollar an hour… not exactly something to brag to your in-laws about. But if it made that $500 in two days, then you might be on to something.

Also, do you only count the games you know its competent at, or do you also include the shots you’ve had it take at higher limits?

You get the idea: it’s complicated.

With that in mind, I offer the following graph, which shows the poker bot’s profits at PokerStar’s $11+$0.50 No Limit Heads Up Sit-n-Go’s for all of Sept 2008, the last full month it played before PokerStars nixed my account. Midway though the month I also started mixing in a few $22+$1s to see how it would do, but I didn’t include those results here because there weren’t enough games for the results to mean anything.

For the curious non-poker geeks: “$11+$0.50″ means that the buyin for the game was $11 and that the rake, which is what you pay PokerStars to play, was $0.50. So when you beat the other guy, you win his $11 minus the $0.50 rake for a total profit of +$10.50. When you lose, you’re out the rake and the buyin, or -$11.50.

Analysis like this is good in that it tells you what your results are, but it doesn’t tell you what led to those results. For example, a graph like this lets you say “Hey honey, I made $250 dollars last week” whereas with a thorough analysis you’d be able to say, if you were so inclined, something like “Hey honey, I widened my 20BB to 30BB three bet range to include low pocket pairs and Ace-x-suited hands and after 200 occurrences the bot is winning 2bb/100 more at that level than it was before.”

Now that dollar results are kind of out of the way, future posts should lean more towards that end of the spectrum.

Link: 12 Ways to Blow Your Investor Pitch

Fail: 12 Ways To Blow Your Investor Pitch

I really want to know is how the author found such good pictures to go with the slides. I mean c’mon, Suzanne Boyle on the make the most of it slide: absolutely brilliant. The semi-transparent background on the white text is a really nice touch too.  Very well done.

Improving PokerStars’s Bot Detection Techniques

This is post #2 in an ongoing series of articles about my work as a poker bot developer.

As soon as my account was suspended, Jeff, head of PokerStar’s security team, emailed me to inform me that I had violated their Terms of Service by running a bot and that they were shutting down my account and seizing the funds I had in it.

What follows is the email conversation I had with Jeff about being suspended, creating bots, and improving PokerStars’s bot detection techniques.

I hope that posting this will create an awareness of the issues that will ultimately lead to better security for the online poker community.

October 2, 2008

Hello Matthew,

Upon a review of your account, we find that you are running an automated player program, commonly known as a “bot”.  The running of a bot is against the terms of service to which you agreed when opening your PokerStars account.  Those terms of service are located here:

http://www.pokerstars.com/tos.html

Among them are these terms:

5.5 AUTOMATIC PLAYERS (BOTS). The use of artificial intelligence including, without limitation, “robots” is strictly forbidden in connection with the Software and the Games. All actions taken in relation to the Games by a User must be executed personally by players through the user interface accessible by use of the Software.

5.8 FRAUDULENT BEHAVIOUR In the event that PokerStars deems that a User has engaged or attempted to engage in fraudulent, unlawful, dishonest or improper activity while using the Service, including without limitation, engaging in any of the activities set forth above [...] PokerStars shall be entitled to take such action as it sees fit, including immediately blocking access to the Service, [and] terminating such User’s account with PokerStars [...]

As such, your PokerStars account has been closed, and the funds within it have been seized and will not be returned.  they will be used to compensate the victims of illicit activity on PokerStars. Please do not attempt to return to the games on another account.  You are no longer welcome to play on PokerStars.

Thank You,

Jeff
PokerStars Game Security

October 3

Jeff and team,

Thanks for the email, really. What started off as a small experiment turned into this massive project that I haven’t been able to let go of. I’ll happily stop running the bot (not that I have a choice at this point) and won’t make attempt to open a second account.

It may be bit much to ask at this point, but is there any possibility that my account can be reopened? I have no intent to run the software again, but I still love the game and would like to resume normal play on your fantastic site.

Thanks and I hope you all have a wonderful day.

October 9

Hello Matthew,

Thank you for being forthcoming here.  It is refreshing, as many
developers in your situation will try to “deny, deny, deny”, in an attempt
to return to the site.

Unfortunately, we cannot be lenient in such matters.  We cannot re-open
your account.  We have a zero tolerance policy toward bots, and as such
your account must remain closed.

Best Regards,

Jeff
PokerStars Game Security

October 9

Jeff,

I completely understand. Perhaps I can be of some service to PokerStars so that my work was not in vain.

In the process of developing the bot I’ve developed several advanced analysis tools that contributed greatly to my bot’s improvement and ultimate profitability. If you’re interested I’m willing to share everything I have–the tools, methodology, code, analysis and ideas to improve PokerStars’s security.

It’s important to understand that it was never about the money. My poker income was good when I took the leap and it was unlikely that I’d ever earn more with a bot. I liked the challenge and that kept me motivated for a long time–probably too long. Ironically, it was after it was clearly profitable that I really lost interest.

I’ve since moved on to other things, but would like to see it put to good use.

Let me know.

Matt

October 10

Hello Matthew,

Your email has been forwarded to Jeff.

Thank you for your patience.

Regards,

EddieC
PokerStars Support Team

October 10

Hello Matthew,

>If you’re interested I’m willing to share everything I
>have–the tools, methodology, code, analysis and ideas to improve
>PokerStars’s security.

As long as you understand that what you’re offering is to travel along a one-way street, we would welcome the opportunity to see what you have to share.  We will not, however, be able to share any of the details of what we’re already doing to detect bots such as yours.

I will say that should the data you provide give us any insight that we’ve overlooked, we would *possibly* reconsider the permanence of your barring.

>It’s important to understand that it was never about the money. My poker
>income was good when I took the leap and it was unlikely that I’d ever
>earn more with a bot. I liked the challenge and that kept me motivated
>for a long time–probably too long.

This is a concept and a mentality that we’re all-too-familiar with.  The same is true of the vast majority of people who develop and run bots. I myself am a programmer and poker theorist as well, and if I wasn’t challenging myself by catching bots, I could definitely see the allure of the challenge of writing one.

Let’s see what you have to share, and perhaps it will ultimately (though not immediately) result in some sort of reprieve for you in the long run.

October 11

Jeff,

You may recall that several weeks ago we had a brief discussion after my account was suspended for operating a bot. I said that I’d like to share some information with you, you said don’t expect anything in return, and I said okay. It’s taken a little bit longer than I would have liked, but here’s my follow-on email.

Below are my best guesses as far as what you currently do to identify bots as well as some thoughts on how they might be improved.

Hand Quantity

The easiest and most obvious way to narrow down the field is to look for players with abnormally high numbers of hands in a given time period. This stems from the fact that most bots can’t compete in terms of skill, but can compensate for this disadvantage by playing massive quantities of hands. This one’s pretty obvious and I’m sure PokerStars considers it.

When I personally played HUSNGs, I probably played 10-15 on a given day, rarely playing more than 25. At 40-50 games/day, my bot was probably in the top 1% in terms of volume of HUSNGs played and yet it still went many months before the account was finally suspended. Even now, I’m not positive that’s what finally did it in, though I’d guess it probably was a big factor.

The “easiest” way to circumvent this is to set up multiple accounts, so that no individual account raises a flag. Fortunately, the logistical problems associated with creating multiple accounts with multiple addresses (assuming PokerStars look into the playing habits of players from the same address) or having friends run the software and exchange money is probably more than most people want to or can do successfully.

Abnormal Play

Along the way I made several big mistakes that probably should have raised a flag or two.

I had two programs: one that played the games and one that registered for new ones. One day the program that played the games crashed while I was out. I hadn’t built in a check for this, so the other program kept opening new ones for several hours, even though I was sitting out for all of them. By the time I got home, the bot had sat out for more than 20 consecutive games. I waited for the suspension, but nothing ever happened.

Another oddity was that the bot stuck to the same buyin for extended periods of time, which you wouldn’t expect from a human. There were periods of something like 800 games where it played nothing by $6+$0.25 Turbo HUSNGs. I’m sure there are people that do this, but most people tend to move up every now and then, even if only a little bit.

CAPTCHAs

I saw a CAPTCHA once while I was personally playing at a NL100 Heads Up table and I think once while the bot was playing a HUSNG. There may have been more, but my general impression was that you didn’t do them very often and didn’t target my account despite the other warning signs.

I realize there are lots of considerations to make when deciding whether to use CAPTCHAs.

As with any test, you’re still faced with false-positives (people who either don’t see the CAPTCHA or do but answer incorrectly) and false-negatives (correct answers, though still a bot). I imagine most people who are prompted with a CAPTCHA notice it, but a lot probably get it wrong due to their complexity.

You also have to worry about bots that can detect and solve CAPTCHAs. I never tried to write or purchase CAPTCHA solving software because it didn’t appear to be a major threat. (Though who knows, missing a few of them may have eventually led to the suspension). One of the problems of detecting and solving a PokerStars CAPTCHA is that they occur so infrequently so its hard to gather a large enough sample size to be confident in whatever system you develop to solve them. In that sense, the scarcity was good for you.

As I’m sure you know you can’t just throw a CAPTCHA at anyone who demonstrates suspicious activity. You have to consider the impact on legitimate players. If you prompt players with too many CAPTCHAs you may risk them getting annoyed and switching to one of your competitors. Additionally, the fact that you have to have it in the first place implies there are bots that they should be concerned about.  You’ll likely also have a high false-positive rate, resulting in angry explosions on poker forums of players crying foul.

You may have realized the tradeoff and purposely chosen a more passive, non-intrusive approach rather than aggressively testing suspicious accounts. In exchange you get some false-negatives, which might be the underlying reason my account lasted as long as it did.

That being said, I think you should still test the high volume players more often. If a player is in the top 5% by volume he is probably the type of player who will probably appreciate your attempts to protect against bots.

Additionally, knowing that CAPTCHAs are a threat probably discourages most people from trying to develop a PokerStars bot. The semi-frequent threads on poker forums about your CAPTCHAs have probably done more to minimize the number of bots on PokerStars than the CAPTCHA itself.

When I first saw a PokerStars CAPTCHA I attempted to take a screen shot of it, but was unable to. MSPaint said it couldn’t load the data, and no other software could either. It seemed that the PokerStars software disabled print screen during the CAPTCHA test. It could have been the result of an error on my part and not an intentional move by the software. If you don’t do this, maybe you should, as it makes it a lot harder to program the bot to detect a CAPTCHA when it doesn’t know what it’s looking for.

My hack was to have the bot check for abnormalities in the chat area of the screen. If the colors or window hierarchy were abnormal, the computer played loud obnoxious noises to draw my attention. Another hypothetical solution was to extract the CAPTCHA and send it to me on my cell phone, which I could quickly access and respond to.

It’d be hard to find a method that doesn’t result in any false positives or false negatives, but taken together with other flags you can definitely increase the likelihood of identifying bots.

Window Resizing

I think you also attempt to hinder bots by making slight changes to the dimensions of the game window every now and then. I’m not sure if this was intentional or a software bug or whether it was targeted or random, but it caused me a bit of trouble. At the time my bot (and most bots) operated on a fixed mapping which assumed that certain pixel are static. By resizing the windows you made it a lot harder to extract important information.

I had the bot resize the window by having the mouse click and drag it to the correct position, but sometimes things were still slightly off. I was able to overcome this by having the bot calculate where to look versus having it based on fixed positions, but it was a messy fix. Luckily, the images for things like the cards didn’t change; their positions just shifted by a few pixels.

This method can never fully prevent bot detection, as any changes you make developers can and will adapt to, but it will disable the majority of the commercial botting platforms.

Mouse Analysis

I’m not sure what PokerStars does with this, if anything, but I have a good idea of what it doesn’t do. You don’t check to see whether the locations that I click are consistent with a human. At least not very well.

Here’s what I did, but looking back, I’m really not sure it was worth the effort. Using the PokerStars log file, I extracted the locations I clicked during the course of a day and overlaid it on a screenshot of the table. With this, I could see where I clicked and set up the bot so that it clicked in similar locations. For example, when the bot would click call, fold, and raise the distribution resembled two bell curves in the shape of a cross, so that most of the clicks usually occurred near the center with very few at the corners. Again, at this point, I think this was mostly unnecessary.

One thing that you should check for is where a normal player clicks on the table itself; how often does he check out the Instant Hand History, how often does he click on the table graphics, how does he double click a player’s avatar to edit notes, etc. My bot rarely strayed from the area around the action buttons, which should have been a large flag if the software had been looking for abnormal behavior.

Another thing I did when starting out was to have the mouse to drag around versus having it jump from location to location. Theoretically this was supposed to make it look more human, though it just looked ridiculous in practice. A friend even worked out acceleration and deceleration so that it would look more natural. After doing this for a few days I switched it back to mouse hopping, figuring it was a huge waste of time if you weren’t actually checking it and if you were, the silly methods I used weren’t likely to fool you.

I saw on some botting forum that people claimed to have mouse movement down to a science. They proudly announced they had discovered what normal mouse movement looks like so they don’t have to fear being caught by site security. These developers likely wasted a lot of time working on inconsequential preventative measures. Probably not unlike me with some of these things…

Nonetheless, there is a big opportunity in mouse movement.  Have the PokerStars software look for abnormal behavior not only in where the user clicks, but the path and speed between those nodes.  If the behavior is abnormal, have the software notify your security team, who can then do further investigation. If the software doesn’t detect strange behavior, at least store a history of the user’s mouse movement in some encrypted file for a few days. If you do suspect an account of using automation software, have the software send you that log and do your own analysis on it, looking for indications of bot use.

Again, abnormal behavior is not a sure sign of a bot. PokerStars allows lots of scripts that aid multitablers and these tools do not violate the terms of service. However, when analyzed with respect to other available data it is one more piece of evidence you can look at before making your final decision.

Chat Box

Since PokerStars uses a custom control for the chat window, it’s not an easy task to extract the relevant information. In the beginning this was a major challenge, as most of the information the bot needs to make quality decisions is contained there (with the exception of stack sizes and holecards, which have to be read using less elegant methods).

I started off using some unreliable character recognition techniques, but eventually found a much easier way. While talking to another bot developer about the problem, he said he’s never had the problem. After some detective work we discovered that he ran PokerOffice, which adds its own control to the window which can be read using normal methods. So rather than doing the extensive work required to have the bot obtain the text, I just let PokerOffice run in the background and let it do the majority of the work.

Make the chat box harder to read and you’ll make it harder for bots to get the information they need to make intelligent decisions.

It might seem that I think PokerStars’s current bot detection algorithms are less than stellar. On the contrary, based on what I’ve seen and read in various forums about the security on other sites, PokerStars is second to none. Your site is so notoriously difficult to operate a bot on that most do not even try.

I don’t think there’s a single method you can use to tell whether someone is or is not a bot. The best you can do is use the data you have to make educated decisions about who might be, and then use your own judgment to make the final call.

You probably have terabytes worth of information available to you and as I’m sure you know it’s not a trivial task to analyze it all. Fortunately, the methods above should be relatively easy for PokerStars to implement on the client side. Until the final judgment has to be made, you shouldn’t have to rely on hand histories to narrow down the field.

I wish you guys the best of luck. It’s a tricky and important problem without an easy solution.

November 11

Hello Matthew,

Thank you for your email.

I have now forwarded your email to the department responsible for handling
this matter. As this department is currently receiving a bulk number of
requests, please allow some time before being contacted. Our apologies for
any inconvenience that this may have caused.

Thank you for your patience, cooperation and for choosing PokerStars.

Regards,

Andrew
PokerStars Support Team

The Last Day I Played Online Poker

This is post #1 in an ongoing series of articles about my work as a poker bot developer.

October 2, 2008 was the last day I played online poker… well sort of.

I actually hadn’t played for many months prior to that, though that’s probably not what you’d have concluded if you looked at the activity on my account. The hand histories would have painted a different story–one of an extremely active, fairly profitable player at PokerStars’s Heads Up No Limit Hold’em Sit-n-Go’s, which are basically short one on one poker tournaments.

The thing is I didn’t play any of those games — a poker bot I built called EVe did.

October 2 was the day PokerStars figured it out.

October 2 was the day they suspended my account:

PokerStars Sunset

I’ve debated for a long time whether to write about it.

On one hand, the online poker community usually doesn’t react well to this type of thing (go figure). Bot discussions tend to get a lot of “People like you destroy the games”, “What a scumbag you are…I hope you get banned” and “I hope you die in a grease fire”-type responses and I definitely don’t want to die in a grease fire.

On the other hand, I learned in the process and I’d like to share some of my experiences. I have nearly two years of stories, spreadsheets, hand histories, and results that I think a lot of people will find fascinating.  Maybe, just maybe, talking about it will result in better bot detection techniques, which the poker sites very much need. I’d also like to try to convince any ambitious programmers out there that they’re better off eating glass than trying to create a poker bot (because at least with the glass you’ll quickly feel the pain and realize what a terrible idea it was, unlike building a poker bot).

After weighing the options I’ve decided to go ahead and write about it a little bit at a time. If the feedback is positive, I’ll keep writing and if not, I’ll probably stop. We’ll see how it goes.

More to follow.

Django Masterpiece

Let’s roll:

« Previous Page