Feb 26

Aloha and welcome to AceCracker.com! We're glad you found us :)

Our product is still in development, but if you'd like a free sneak peek at what we expect will be the most sophisticated and dominant poker play analyzer on the market BEFORE it is released, just add your name to our list here.

And if you're so inclined, you can also subscribe to our RSS feed for updates on how the work is progressing.

Mahalo!

If you haven’t realized yet, AceCracker is built on a blazing fast math engine that calculates the odds on the fly. It doesn’t rely on tables of pre-calculated probabilities as other poker calculators do. This approach allows us two important advantages:

  1. Accuracy: Everything can be and is calculated down to the card.  Nothing is approximated.  Rest assured you’ll know that the odds you’ll catch your straight are EXACTLY 52.36%, not just rounded to ~50% as in other products.
  2. Flexibility: Since we’re not tied to predetermined scenarios, AceCracker can do more. For instance, we can let you know when opportunities to bluff arise in real time. We can also give you our best guess at what hands each of your opponents most likely holds, based on the cards already seen,  their betting history, and their style of play.

To keep abreast of updates in AceCracker’s development, feel free to leave your name with our Update List, or our RSS feed!

Feb 26

Today was tedious. Much of it was spent doing calculations on paper to see if the computer generated numbers are right. As my friend Kyle put it: “a few percentage points off could mean losing millions of dollars”. So it behooves me to put a lot of work into it now. Already, it’s paying dividends. Several subtle logic errors were found that have since been corrected.

2/26/09 v0.14

  • Found subtle inaccuracy in straight and straight flush calculations.
  • reworked high card calculation. It’s actually quite useful as a hand ranking system
  • Removed all the “10000%” typos.  No biggie, just wrote 100′s instead of 1′s as base probability.

Feb 25

Depending on where you play poker, different styles of play are called for.  I thought I’d get a sense of what style to focus on first with a simple survey.  Enjoy!

Feb 25

v0.13 – 2/25/09

  • finally finished calcprobabilities.
  • found a crazy bug where memory was being thrashed. ugg, was so frustrating.
  • from all indications, numbers are accurate.  self high-five!
  • phew. figured out why it wasn’t working if firebug wasn’t installed. Have to check for the existence of “console” first.
  • KKKJQ doesnt seem to think it can make a full house- FIXED
  • straight flushes are recognized as flushes- FIXED
  • took sharethis plugin off pages as a default.  site runs WAY faster.

2/11/09

  • wrote scanSharedCards to analyze the texture of the flop
  • had to change the sajax javascript parameter because  sajax can’t take objects.
  • now you can’t unselect “ME”.  unnecessary feature
  • gave up on iterative calculation on the turn and river.  I can always come back to it in the future , but it’s currently more efficient to just calc everything from scratch.

Feb 7

v0.12 1/21/09

  • calcrecurse does ALL my probability calculations now. Sure glad I stuck with it.
  • crap, I hate debugging recursive functions.
  • replaced calcpossibles with calcrecurse, which does the same thing, but allows for arrays of things to look for

v0.11 1/19/09

  • calc’d probabilities up to flushes. they’re probably wrong, but fix later. Also, only calc’s up to flop. bad idea?
  • successfully doing an entire ajax loop from card selection to server to callback javascript
  • optimized starting hand stat generation from 54.31 secs down to 1.39 secs. Not bad. Doesn’t really matter tho. Results will be cached. Still, good for the morale.

v0.10 1/18/09

  • figured out a simple hash to use so cache searches will be pretty uniform
  • generated cached statistics files for the starting 2 cards
  • cleaned up the card input data (less work on the server), now it strips out ‘blank’ cards
  • simplified the cardpick function. Only 3 states now.
  • combined all the different betting round calls into one call that takes any number of cards
  • wrote the hand checker module. Now it can tell you kind of hand you’re holding.

Feb 5

v0.09 1/15/09

  • took out the breaks from cardpick, so that if you’re recalcing the flop, it also calculates later rounds
  • refactored a few card variables. a bit more efficient
  • sends cards to server
  • calls server when cards are selected
  • got [s]ajax calls working.

v0.08 1/14/09

  • Now, if a player doesn’t have money left at the end of a hand, they are removed.
  • changed spacer color. The red was too distracting.
  • game progression is rock solid now. No more surprises hopefully.
  • fixed the spacers so that each betting round is nice and clean
  • puts in a check if the game ends before the showdown.
  • redid the state machine on paper statistically this time (reduced from 12 to just 5 states) So clean now.

v0.07 1/13/09

  • now you can only whoops a fold in the current round
  • went through all the states that you can achieve all in status
  • now if you run out of money, your seat is vacated for next round
  • hey what do you know, that minimum raise fix also fixed BUG 3!(can’t raise in round 2 and higher.)
  • can now click enter on the raise amount
  • added minimum raise. somehow fixed another weird raising bug as well. skeptically glad.
  • parseInt is unnecessary. Number() works just as well for my purposes
  • figured out why whoops stopped working. duh accidentally deleted a line that reversed the pot
  • split js file into two just for manageability

Feb 3

v0.06 1/10/09

  • fixed copyright symbol: the code for it is ©
  • FIXED (shouldn’t have reset history counter) BUG 2: 2nd round history text doesn’t show up.
  • display new sections for each new betting round
  • fixed bug where folding under the gun led to an infinite betting round
  • put in a check to end a round of betting
  • fixed whoops logging. now correctly traverse backwards in case of mistake

v0.05 1/9/09

  • baked in 3 values into the log: amount bet, what was needed to call, and the potsize
  • replaced check button with one smart button that checks/calls/raises depends on the bet
  • plugged in some game logic: eg. you can’t check after someone raises
  • deactivated selectbox. kills BUG 1.
  • changed layout of the control center

v0.04 1/8/09

  • I never liked ratios, so you can toggle how the pot odds are displayed by clicking on it.
  • got a working Pot now. shows how much is needed to call, and calculates pot odds for shiggles
  • now logs putting the blinds in
  • using whoops now brings folded hands back from the dead
  • can’t whoops past the beginning of the hand
  • using the whoops button erases the log
  • KNOWN BUG 1: changing the dropdown messes up the log
  • fixed bug where if you used ‘whoops’ to back up, the log would get out of sync
  • added ‘spacers’ to clear up who bet first
  • now logs what action each player took(check, raise, fold)

Feb 3

I’ve already done some work on Acecracker, so I’ll just gradually release the version history here.

v0.03 1/6/09

  • put in a stack size input box, moved me and blind buttons to bottom
  • got rid of a couple of global ‘pointer’ arrays
  • put in hand history columns.  They only appear when needed.
  • played with fonts

v0.02 1/5/09

  • spiffy resizing columns, just click fold and ‘next hand’ to see
  • bake into the log the required call amount and the current potsize;
  • put in bernie’s animation code, really cool… when it works. spent way too much time debugging. for nothing
  • can now toggle me button. which in turn toggles hole cards
  • refactored code. a bit smaller, but a lot cleaner and more efficient
  • put in a js file randomizer so it doesn’t cache during development
  • separated out file into separate css and js files

v0.01 1/4/09

  • cleaned up some weird folding/unfolding behavior.
  • figures out who is under the gun once hands begin
  • now automatically assigns who is the dealer, big blind and small blind each time you start a new hand
  • replaced radio buttons, with javascripted divs. The button box even toggles from dealer>small blind > big blind
  • added ‘me’ radio button, defaults to first spot
  • instead of a blank entry in the player pulldown, i put in ‘* open [player ID]‘
  • put in some logic to avoid letting a blank name rejoin.
  • blanking the player name folds you, adding it returns you
  • using the whoops button, or selecting a name in the dropdown, then checking or call/raising undoes a fold
  • fold removes a player from the rotation, deletes the name on next hand
  • check, call, raise now advance the game, ‘whoops’ retreats it
  • can now click ‘next hand’ to start the next hand
  • linked player column names to player drop down, so you can act for any player
  • figured out tool layout, automatically resizes columns depending on how many table seats
  • can unclick card selections off widget
  • displays card selections, hole cards, flop, turn, river
  • wrote card selection widget

Feb 3

Welcome to AceCracker.com. Here I’ll document my progress in writing a texas hold’em play analyzer/ coach.

My goals are as follows:

  • Given any play situation, AceCracker will clearly suggest the best mathematical move to make.
  • Counter-intuitive textbook gambits will also be integrated and suggested.
  • It will use uploaded hand histories to build betting profiles of opponents and counter them.
  • All play history will be recorded and analyzed, allowing AceCracker to improve with every hand played.

What this isn’t:

  • An online gambling site.
  • An automatic online pokerbot.
  • A means to collude with other players or otherwise cheat in any way.