A strange Poker Copilot bug report arrived yesterday: for one user the cents part of bets, table stakes, and statistics were not being shown. A $0.05/$0.10 table was shown as $0/$0.
Fortunately the person who reported the bug discovered the source: if your Mac was set to run in Japanese, then this happened. The reason is that the Japanese Yen doesn’t get divided into hundredths, cents, centavos, kopecks, pennies, or fens. Therefore when you get the system currency formatter it doesn’t want to show that part of the currency.
I had mistakenly assumed that all currencies are split into hundredths. This may seem an obscure localisation problem to some, but must be faced by many companies large and small.
The next update will “fix” this: I’m now forcing the currency formatter to use two decimal places. Ideally though, I need a library that will allow me to format currency X as per the custom in locale Y.
0 decimal places: many, including Iraqi dinar, Icelandic króna, Japanese yen, South Korean won
0.7 decimal places: Malagasy ariary, Mauritanian ouguiya. Yes, 0.7. These two countries divide their unit of currency into five subunits, so Wikipedia wonks decided to get all mathematical and describe this as 10 ^ 0.7 which is approximately 5.
Thank goodness I don’t have to handle the UK’s pre-decimal pounds/shillings/pence.
Yesterday I accidentally flicked a switch on our eCommerce store that caused Poked Copilot to be free. If you tried to buy Poker Copilot from on online store yesterday you received a 100% discount.
Giving all customers a 100% discount is not a good business practice. Fortunately only a couple of people “bought” Poker Copilot before I realised what was happening.
You can now download an early access update of Poker Copilot with a working Zoom Poker HUD. Download now.
This is under development still, so expect possible problems. It works on one table at a time, on No Limit Hold’em, with real money.
How to use the Zoom Poker HUD:
1. From Poker Copilot’s menu, select “Head-up Display” -> “Zoom Poker HUD (Experimental)”
2. (Optional) If you want your already-played Zoom hands to be included in the HUD statistics, select “Tools” -> “Recalculate Statistics” and wait for it to finish.
3. Open PokerStars, and sit down at a Zoom Poker table.
4. Maximise the Zoom Poker table. If your monitor doesn’t have at least 1600 x 900 resolution, you won’t be able to make the window big enough. Sorry. I do intend to make Zoom Poker work at smaller window sizes eventually.
5. Make sure you’ve selected one of PokerStars’ “Nova” table themes.
6. All things going well, you should see your own statistics now:
Understanding the “Zoom Poker HUD” info window:
As you play more Zoom Poker hands, Poker Copilot will show statistics on a higher percentage of players. Here’s how to use the “Zoom Poker HUD” info window:
The first column is the seat number, starting from the upper-left hand seat and continuing clockwise.
The second column is Poker Copilot’s “normalised” name for each player, determine by screen-scraping. It is all caps, with spaces and punctuation removed, and letters with umlauts and other diacritical marks converted to their closest plain latin alphabet equivalent.
The third column is the matched name in Poker Copilot’s database, if any. If a match is found, then you’ll also see a “tick” symbol or checkmark. The tick means that Poker Copilot is showing statistics on that player.
The matching uses fuzzy logic, so that “Poker Copilot” will match “Poker Oopilot” and “Pker Copilot”. This allows for the difficult of 100% success with screen scraping.
How you can help:
If there is a player at your table which Poker Copilot seems to scrape erroneously, you can help me. After your session, you’ll find the following folder in Finder:
Documents/Poker Copilot Images/
This contains the scraped images from the most recent session. It is deleted and started anew when you restart Poker Copilot. Find the image in there for the player that Poker Copilot didn’t scrape successfully and email it to me at steve@pokercopilot.com.
In the next Poker Copilot update there will be two small but important changes to the hand formatter.
1. Players are now anonymised. This is in keeping with poker forum etiquette.
2. Stacks change throughout the hand. Each player’s revised stack is now shown at the beginning of each street. This gives you an idea of how much a player’s current stack they are betting.
Note that the second change is only in the “Formatted” view at the moment. I’ll introduce this to the “2+2” format in a future update.
Here’s an example of me being a calling station with KTo.
Thanks to loyal Poker Copilot customer Gregory for suggesting these changes.
Like the subject says. Last last night I played 100 hands or so of Zoom Poker with the new Poker Copilot Zoom Poker HUD. It was recognising an increasing number of people successfully, so that eventually I was seeing statistics on most players.
Now for some tidying up, further OCR “teaching”, and then I can release a early-access version.
I’ve got the basics working. When I play Zoom Poker, Poker Copilot promptly identifies about 50% of the players correctly. The basic components are in place, but all need to be improved, tightened up, and tidied up. The biggest problem is the letter k – I’ll need to tune my code to handle this better.
My ScreenScraping Teaching tool I’m using to create the Poker Copilot Zoom Poker HUD shows an image on screen and what character it thinks that image contains. I tell the Teaching tool if the character is correct or not.
Problem is, I can’t tell whether it thinks an image is an upper case 0 or the number 0. I can’t tell if it thinks a letter is an upper case i (l) or a lower case L (l).
So I’ve created a small Java class which will give me a textual description of a character. Now it will tell me that l is either:
UPPERCASE LETTER I
or
LOWERCASE LETTER L
It will tell me that 0 is
UPPERCASE LETTER O
or
DECIMAL DIGIT NUMBER 0
The Java class is called Characters, and the source code follows:
public class Characters {
public static String getDescription(char ch) { return CharacterType.getDescription(ch); }
private static String getDescription(final int c) { final int type = Character.getType(c); final CharacterType characterType = CharacterType.values()[type]; return characterType.toString().replace('_', ' ') + ' ' + (char) Character.toUpperCase(c); }
In order to get Poker Copilot’s HUD working with PokerStars Zoom Poker, I need to know what symbols are acceptable for PokerStars. This a valid PokerStars screen name: ÀÁÂÃÄÅÆ
Now that’s going to be hard to determine purely via naïve screen scraping. Wish me luck.
Here’s another valid name: þ o k e r Ð
That name includes two icelandic letters, and five spaces. Incidentally, Iceland abolished the letter z in 1973. Things you learn from Wikipedia…