Play a single hand of poker with Poker Copilot’s HUD, and you’ll learn that your adversary has a VPiP (Voluntarily put money in pot) value of 0% or 100%. Clearly both values are wrong and yet those two values are the only possibilities after one hand. This is why Poker Copilot makes the values grey until you’ve played 25 hands. After 25 hands, VPiP will have converged to a reasonably accurate number, and we then show it in full colour.
The problem is much worse with a stat that we can only measure in certain situations, such as “Folded Big Blind to Steal Attempt.” On a full ring table, a player is only on the big blind every 9th or 10th hand, and in most of those hands will not be facing a blind steal attempt. You may need to play hundreds of hands against a villain until you have accurate data for “Folded Big Blind to Steal Attempt.”
tl;dr version: convergence is a problem.
In Poker Copilot 5 we are adding a new approach to solving this problem: default values. This means that for a player you’ve never played before, instead of assuming that their VPiP is unknown, we’ll assume it is a preset default, say 20%. So after one hand, instead of seeing 0% or 100%, you’ll see 19% or 23%. Until you have 25 hands of data, we’ll fill in the missing hands with a value of 20%. After each hand, we’ll use the default value less and actual data more.
This will be much better for “Folded Big Blind to Steal Attempt”. Even though I designed and coded most of Poker Copilot, I still find myself looking at this statistic after just a couple of rounds around the table, and using it to make decisions. It is quite likely that the villain had only low hands in the big blind, and folded wisely. Or had great hands and re-raised the blind steal attempt. So I’m using the data incorrectly.
Instead we’ll use a default value of maybe 50%. Only after a significant amount of hands against a player will I now see the correct value. “Significant amount” here means we could measure the statistic 25 times.
“But wait”, you say. “Isn’t that giving me wrong values?” Yes, and no. Yes, the values are wrong, but that’s the nature of statistics – in a dynamic setting they are always partly wrong, but we make them as accurate as we can. And I believe that the default values are less wrong than the current approach.
“I don’t like this. Is it optional?” Of course. In fact, by default this feature will be disabled.
“Do we have to use the default values you choose?” No. You can choose your default value for each statistic. Or none for certain statistics. You can make the default values work for any number of hands, so that after, say, 10 hands, you see the measured values only.
We conceived this feature with the help of a online pro.
For Poker Copilot 5, we’ve create a new deck of cards for the replayer. We’ve paid attention to the details so that they work well in Hold’em and Omaha. They are more legible, and make better use of the the top-left hand quadrant of each card. I hope you like them!
The next major update of Poker Copilot will have much better integration with SharkScope. Here’s one of the SharkScope-enabled features we will be adding: better tournament filters.
If you are a SharkScope subscriber, then you’ll be able to filter tournaments in Poker Copilot on the extra data that SharkScope makes available. For example, you’ll be able to filter by tournament speed, and other tournament formats:
Want to see how you play in Double or Nothing tournaments that are not turbos? You’ll be able to do this.
Please note that this is an early access version. This means that the software has known bugs and may be unstable; development continues. It is a chance for you to be part of the development of Austin, by helping us find any issues we’ve overlooked. We need your feedback! Please let us know of any problems you encounter, by emailing email@example.com, or by selecting “Report an Issue” from Austin’s Help menu.
At the end of our early access program, we’ll give away five licenses. Each one will go to a randomly picked person who gave us feedback on Austin.
We’re currently making a Windows version of Poker Copilot for Mac. The Windows version is code-named Austin. If you want to be an beta tester of Austin, sign up here. And be eligible to win one of five free copies of Austin.
I’ve been using OS X exclusively for a few years, for work and for play. Since I stopped regularly using Windows, Microsoft released Windows 7, 8, and 8.1. Now that we are making Austin, I needed to get familiar with Windows again. I installed Windows 8.1 on a virtual machine and I was lost. I needed help.
To make sure that Austin plays nicely on Windows, for a few weeks I’ve hired Alex, a freelancer who spends most of his time doing things on Windows. He is spending a few hours every day testing Austin, and finding the things that do not feel right on Windows. Keyboard shortcuts, OS integration, the menu system, and window management are all being tested over and over again.
This barbary ape doesn’t approve of poor quality software.
In the process Alex has also found many small Poker Copilot bugs, inconsistencies, and oddities that have escaped my notice. So making a Windows version of Poker Copilot is also making the Mac version better. There are four main areas that are improving:
The first-time experience is improving significantly. Alex has a fine eye for detail. He records each experience with Poker Copilot that initially didn’t feel right or was confusing. An example: when Poker Copilot prompts you to enable instant hand history in PokerStars, until now, you’ve needed to follow that with a restart of Poker Copilot. The next update will automatically detect changes to the PokerStars hand history folder settings without requiring a restart of Poker Copilot.
Outright bugs are being located, hunted down, destroyed, and then, importantly, being retested. For example, it turns out that the View menu’s “View Options” screen was not working properly. Change multiple settings at once and only one of them sticks. The next update improves this. We’ve found several minor bugs like this.
Translations are improving. Alex’s mother tongue is German. So he has been able to evaluate the non-English use of Poker Copilot. He has found bad translations in the German translation of Poker Copilot, and some areas that haven’t yet been translated. This is a workflow problem that I’ll fix. The problem is this: some of the professional translators we’ve used only translated a file of strings, without then having a chance to check their translations running in Poker Copilot. So, for example, the english word “Record” was translated into German as Rekord. As a noun, in some contexts, this is correct. But as a verb, on Poker Copilot’s hand replayer, this is incorrect, and should be Aufzeichnen. I intend to make a better workflow for dealing with translations.
The general user interface is getting enhanced. I have thought carefully about each part of Poker Copilot’s user interface, and implemented it according to my opinions. Alex also has opinions, and often has been enquiring as to why things are done a particular way. I describe why, as best I remember, I chose to do things as I did. Sometimes Alex isn’t convinced and suggests a different approach. And sometimes he convinces me. For now this has only resulted in minor alterations, such as initial window locations, window titles, and some defaults. I’ve recorded bigger issues and will address them in the future in the next major version of Poker Copilot.
Quality Control is important
I wish I could do all the things that good software development teams do to ensure high quality software. According to Code Complete: A Practical Handbook of Software Construction, Second Edition, good teams execute formal design reviews, code inspections, pair programming, and high-volume beta tests. As a one-person company, I’m limited to less comprehensive techniques. Also, as a one-person development team, I’m limited by lack of motivation to do tedious-yet-useful tasks.
Until now, quality control in Poker Copilot has been a combination of unit testing, my own haphazard system testing, and customer feedback. It is clear to me now that this is not enough. Having a person dedicated – even for a few weeks at a time – to quality control is unbeatable for making a software product top-notch.
Things have been quiet here on the Poker Copilot blog lately. That’s because we’ve been busy working on a Windows version of Poker Copilot. The code name is Austin. It won’t be branded as Poker Copilot, because we are partnering with a big name in the world of online poker to bring Austin to reality.
We’ll have our first early access version of Austin available on May 16th, 2014. And we need your help (or the help of your Windows-using poker-playing friends).
In recent years, operating systems such as OS X have made it easy to monitor a file, folder, or set of files and folders for filesystem changes. This means a program like Poker Copilot uses fewer operating system resources (such as CPU) to find whether you’ve got a new hand history file in one of your hand history folders, or whether a hand history file has had a new hand added. It also makes the programming code dramatically simpler. Simpler code is less error-prone and easier to maintain.
I’ve tried twice to add file system monitoring to Poker Copilot. The first time was in the early days of Poker Copilot, in version 1, I think. It didn’t work because Full Tit Poker seems to keep a hand history file open all the time, rather than opening the file, adding a hand history, and closing it. Unfortunately OS X’s file monitor libraries don’t inform of the change until the file is closed. At least, this is my understanding of why the file monitor library works with PokerStars but not with Full Tilt Poker.
The second time I attempted to add file system monitoring was because I forgot that I had tried this years earlier and encountered the problem with Full Tilt Poker not closing files between writes.
If you open OS X’s “Activity Monitor” and watch CPU usage while Poker Copilot is running, you’ll notice that every 10 seconds or so, Poker Copilot has a sudden peak in CPU usage. That’s because Poker Copilot periodically scans through your hand history folders, looking for new files. Once a new file is found (defined as created within the last ten minutes), it is added to a list of files checked every second for changes. This is a quick process that doesn’t use noticeable system resources, because only a few files need to be checked.
This is one of the frustrating things about writing software (such as Poker Copilot) that is dependent on other third-party software (such as Full Tilt Poker). I don’t have just my own bugs and performance issues to worry about. I also need to code work-arounds for bugs in other software.