Skip to forum
2026 From Online Ca...
 
Notifications
Clear all

2026 From Online Cash Games to Live

359 Posts
13 Users
124 Reactions
32.8 K Views
Rhodriguez
Joined: 01.10.2006

Now I have a DLL... After creating a bug in my C++ translation, this was the only way that came into my mind how to find that little fellow... I can load it now in my old tool and compare each table and each input with every other...

To calculate all tables my first code takes 5.3 seconds the C++ code only 1.8s. But then, to evaluate a HU preflop situation my first code only takes 125ms but the c++ code 480ms...

I changed two lines of code.... and now it's down to 40ms!
When I use it as a libray it's between 46ms and 30ms aswell!!! Now I need to compare multiple hands to get a more accurate result.

€dit: 50 seconds for one hand against all 1326 which would be 38ms per hand


Reply
Quote
Rhodriguez
Joined: 01.10.2006

I read a little bit and I think I understood how I can make the equity calculations faster. But I'm not confident that I understand why it works.


Reply
Quote
Rhodriguez
Joined: 01.10.2006

Already 3 days later. Didn't start the build up for the almost instant equity calculations. But I improved my code. Somehow in the process to translate it to C++ I forgot to include some functions that made everything faster. Now there are "two versions".

One uses five cards to evaluate. Takes 1-4ms to start (depending on the compiler) and 30 to 32 milliseconds to evaluate hand against all other preflop. Uses 0.5 MB.

The second version takes in the expected seven cards. Need 1.5 seconds to load and occupies 255.6 MB of space. But grants the result between 12ms to 17ms depending on the compiler.

A full run of one hand against all 1326 hands is now 20seconds. This raw power is enough to get the preflop equity for each of the 169 hands in under an hour. Two months ago it was a couple of days.

Next improvement should be rougly 8MB of ram. I don't know if a maximum of 30ms is realistic for one hand against any hand range. With 125ms It would be possible to analyze 5000 hands in 10 minutes. It's arbitrary but a goal nontheless.


Reply
Quote
taavi1337
Joined: 29.05.2009

Do you use Vim for C ?


Reply
Quote
Rhodriguez
Joined: 01.10.2006

I have Neovim installed. I use it on my tablet to edit files. But I haven't configurated yet to use it to code C++. Still struggle to learn all the motions...


Reply
Quote
Rhodriguez
Joined: 01.10.2006

Super aggressive - that's what I want my play style to be. It works for two orbits and then I'm in my own head. Slowing down and fall back to a rather caution play style. Not even switching gears on shifts which I am barely capable in PLO.

That's my metric. Deviation from gto towards super aggressive.

To more days to finish my equity calculator. The embarrassing thing is I never tested it how fast it already was for flops. Prefop there are 1712304 runouts. On the flop only 990. Half millisecond or 500 microseconds and it was done. Still will do the optimization for flop and preflop but not for the river. But what's next? A full solver seems too hard. Either a equity calculator+ or solver light. What ever that might be that lies between those two points.

I also need to finally finish my study podcast creator. I most likely have all parts. Each individual part is useless right now. But all together will be more than the sum of its part.

Hopefully March will be more like the first 3 weeks of January and no like February...


Reply
Quote
Rhodriguez
Joined: 01.10.2006

February, 11% of my goal...

Summary Feb
643 Hands
$+65.80
$2175.49


Reply
Quote
Rhodriguez
Joined: 01.10.2006

Equity calculator is finished! At least it was for a while and then I broke it again. It was blazingly fast. So fast that I need to do the same for the flop as well. Measure in μs and not in ms is so much fun.

I have now three (big) coding projects that are poker related. Everything with cute animal names. Best decision ever! Now I have whole zoo or better - habitat in my head.

Unfortunately I still didn't bring my quizzes project to a useful state. Therefore today ranges. If you want to follow as well because you don't have anything better to do today you're welcome to join. Just the cut off opening range and ace-suited for as many ranges you find time and are able to actual recall correctly.

[ ] study
[ ] fix preflop equity calculator
[ ] start flop calculator
[ ] use ppt to create test cases for my calculator
[ ] create random quizzes from today's study
[ ] improve code to make it better usable between projects
[ ] see how much poker day will be left


Reply
Quote
taavi1337
Joined: 29.05.2009

Yup poker fights + _creating_ software looks difficult, but a self-built fast tracker + database skills can be really helpful to make better decisions.


Reply
Quote
Rhodriguez
Joined: 01.10.2006

Word!

It helps you to think about something else. Wondering about how to shave off some more milliseconds rather than how to increase the win rate a fraction of the big blind from the last hand. One you can test the second never happens again.

Fixed the bug. Preflop one hand against 100% is 250x faster than on the flop one hand against 100%. I started with the fast precalc for flop implementation. And now that's the difference between commercial versus a hobby - I don't know if I should continue there. A 1:1 adaption would roughly end in a 50GB file. I could use other data structure and calculate some results. Would be 13 GB. 9GB (5GB removing one symmetry more) should be possible. If I don't run Firefox fitting in the ram as well. 90 minutes to calculate all once...

Study today
[ ] which hands to add towards bu
[ ] which hands to remove towards mp
[ ] king suited

Codebase
[ ] comma separated ranges
[ ] quizzes


Reply
Quote
Rhodriguez
Joined: 01.10.2006

Hacker mindset. That's what I need to acquire again and rebuild. Being curious isn't just learning more and more. Or asking questions to others all the time. It's being curious how does it work, can I break it and can I fix it? And not hust as a thought experiment. Just test it right away and then look only for the tool to break it open.

Monday I was studying a little poker, Tuesday wasn't much of a chance to make progress. Wednesday I was advancing very slow. Decided in six weeks I want randomly travel. And yesterday I tried too much. A strong start. Obtained more on more information. But now I recall a single information. More skimming. Noding to myself - "that's good stuff" - "keep that too" - to use it the rest of the year.

Let's do it. A hacker guide to playing poker!


Reply
Quote
Rhodriguez
Joined: 01.10.2006

I want to understand the math a little bit better. Why we want to be in a certain range. Why we aim for a certain frequency. While doing that always keep in mind you can synthesise a frequency multiple ways. Instead of only AK suited you could say AK, AQ, AJ KQ all in spades. Would end in the same frequency spot.

I took the charts from [2026 BEGINNER'S GUIDE]Simple modern strategies to beat the lowest stakes online to later adapt it to "my findings".

Pairs are 6x
Suited 4x
Off-suit 12x
100% 1326

UTG 8 pairs 13 suited 4 off-suit = 148 combos
MP 13,25,7 = 262 combos
CO 13,25,11 = 386 combos

If we calculate:
(1326-148)*(1326262) / (1326*1326) * 386/1326 = 20.75%

We have the amount of time we can open raise (vs 29.11% when already folded to us)

If we want to have 100 hands opened from CO we need to be sit there for 500 times. Which means I would need to play 3000 hands to get that sample size.

Does that number help in anyway? Probably not. If I have more than 100 hands opened EP and MP are too tight. If I have less than 100 data points after 3k hands they are too loose.

Common wisdom says, that I need to do the opposite of my opponents. If that would be true it would mean (they are tight) play it more like the table was 4 handed. Set BU to the same frq as if all player open gto frq.

No clue if that makes any sense at all. But it's good food for thoughts.


Reply
Quote
Rhodriguez
Joined: 01.10.2006

If nothing else I am at least improving mental health the last couple of days. Wake up early again and then heading to the local park sitting at a pond and observing the birds. It's where I wrote last posting so I am confident to say I practice that already for more than a week already.

An other new study confirmed that we humans can't multi task. Only learn how to quickly switch between different tasks. A reminder to focus more on a single item at a time. It's not faster but at least you might end up with a single thing that works.

My focus for today will be only equipped with pen and paper to make a plan of tools I need to study. And then use AI to implement that plan. Still struggle to get something useful that is just a palate stimulation that ends up being junk food.

Maybe I am too much like Goldie Locks of poker study.


Reply
Quote
Rhodriguez
Joined: 01.10.2006

From fpdb I have copied the svg.

And with plain c++ I got to this!


Reply
Quote
taavi1337
Joined: 29.05.2009

That's impressive! I would use pytoexe or Game Maker Studio or maybe Godot attempt, but

C++ only? Impressive.


Reply
Quote
Rhodriguez
Joined: 01.10.2006

Thank you! Learned a lot like separation of data and view and it's actually not a lot after you read through the documentation and references. It's fun to have build a small part which you then can use "easily" multiple times. But please don't ask me to do it on my own from scratch again. Yes, C++. Using GTKmm, a wrapper around GTK which itself is C.

In my post almost two weeks ago I wrote about combos in a range. Next step would be blockers.

Easiest case would be to start with an Ace on the flop. From 6 possible Aces there are now only 3 left. Each suited Ace gets deducted from 4 to 3. If we assume ATs+ it's -4. And off-suited are -3. Now we have 9 combos instead of 12. AJo+ -9.

If the second card is a King then the same goes for pairs. If different suit the same as for suited or else no reduction for AKs. And off-suit goes further down to 7. Or 6 if AK on the flop is suited.

All still a little bit bumpy worded. But I'm sure if I would put in the effort to do this mental gymnastics each time it would go smoothly very quickly.


Reply
Quote
Rhodriguez
Joined: 01.10.2006

Tomorrow morning I finally can sit in a train again. Just heading to the rail station, look at the depatures and pick one southbound I'm in the mood for. That's the plan for the next 30 days. After that for 3 months northbound. In total 122 days - enough time to finish at least one project.

Summary Mar
890 Hands
$+17.50
$2192.99


Reply
Quote
Rhodriguez
Joined: 01.10.2006

The primitive idea is when I observe the fold equity of the BB then I could do a simple ev calculation to build a first BU range.

EV = %fold × 1.5bb + (1-%fold)(ev[2R+0.5]-R)

For each hand I simply could check if EV isn't negative. And if it is strike it. From there the first idea was to iterate back and forth to build the blinds range. Which was a stupid idea because %fold actually tells me already the BB range. For EV I can take this range and should already get a proper first range that doesn't consider my skill. Next step would be to observe the win rates of other players for this spot. Or add one more hand to see if you could turn this hand into a profit.

Wondering if I should try to code a tool that would oberve and calculate such a range.

Or instead should I try tournaments again?


Reply
Quote
taavi1337
Joined: 29.05.2009

I think it depends on what the goal is. Do you have programming goals or online poker achievement goals? These are different as one is handicraft and the other is sports.


Reply
Quote
Rhodriguez
Joined: 01.10.2006

I want to hand craft a poker stats software! (Or an idle game)

There are two approaches:

  • Observing and copy winning strategies.
  • Observing the population and calculate winning strategy

Exploit single players would be the same process as calculating a winning strategy. And from copy and calculating there should be the possibility to synthesis a strategy.

First for each situation I would need populations the frequency. Sounds like a lot of work. Managable but still tedious. But then yesterday, at one of my places I like to travel. The view on the big lake and ships honking their horns feels so peaceful. I solved it in my mind. So easy that it almost felt wrong. Now it's already done. I can calculate the VPIP and PFR from utg at a table. So simple that it also can do it for a player.

How long should I keep history to improve my game?
In my mind I come up with those three metrics

  • number of played hands
  • hours played
  • calendar days (3 months or the last x days played)

Should it be a fixed frame or should the window increase over time to observe less likely events.


Reply
Quote