Poker Copilot World Domination Continues

Some Poker Copilot firsts this week:

  • my first sale in Thailand
  • my first sale in Venezuela
  • my first two sales in some unlikely-sounding place in Canada called Saskatchewan

(Sorry Canadians, if that sounds condescending. But hey, you guys probably don’t know where Waikato is in New Zealand is, right? Happens to be where I was born. Peace…)

Compliment

This is the best compliment I received in years:

Steve is like the Lucky Luke of software development

Lucky Luke never made it to New Zealand, so I didn’t know at first what this meant. Clarification is here. It brought a smile to my face.

Poker Copilot + Full Tilt are Friends Again

There’s a new Poker Copilot update that resolves the problems Poker Copilot has with the latest Full Tilt update. You can download version 1.81 here:
http://pokercopilot.com/download.html

Many thanks to Alex for helping me eliminate several possibilities. Many thanks also to Afsheen who spotted the clue that gave me the breakthrough and gave me what I needed to reproduce the problem.

A Technical Explanation
The recent Full Tilt update started writing empty (zero-length) summary files. As far as I can tell with limited information, this happened when you played a tournament over midnight. It would result in two summary files, one of which was empty.

Poker Copilot tripped up on this empty file, and stopped reading any more files. The thread which handles turning files into a collection of parsed games stopped, and there wasn’t enough error handling in place to detect that the thread stopped.

Notably, Poker Copilot 2 does detect this situation in its error reporter.

Lessons I Learnt

  1. When your software relies on another oft-updated product, it must be defensive to a level verging on paranoia. Assume nothing that holds true now will hold true in the future.
  2. The first step in solving a problem is being able to reproduce the problem. All first efforts should focus on being able to reproduce the problem.
  3. Customers get annoyed when the day after they buy Poker Copilot, it stops working. And rightly so.

Poker Copilot Update 1.80 Released

There’s a new Poker Copilot update that resolves some (but not all) problems with the latest Full Tilt update. You can download version 1.80 here:
http://pokercopilot.com/download.html

This fixes the problem with Full Tilt tournament results not appearing.

With regards to vanishing statistics, Robert had success doing the following:

I also had to re-add the the hand history files for both Full Tilt and PokerStars to get Poker Copilot to recognize them. When I first started Poker Copilot after the update for some reason it looked like I hadn’t played any hands at all.

For people still affected by these problems, I’m continuing to investigate.

Update/Plea: If you have these problems and you are a techie, could you please use Terminal to look in your Full Tilt hand history folder to see if there any hidden files/folders or otherwise unusual additions? If so, please let me know.

Full Tilt Update. Broken Poker Copilot. Sigh.

Creating software as a sorta, kinda add-on for other software can be headache-inducing, when there’s no official integration involved. There’s no well-defined interface between Poker Copilot and the online poker rooms. The hand history files which Poker Copilot uses have no published specification, and occasionally the format of those files changes slightly enough to break Poker Copilot.

And so every time Full Tilt Poker or PokerStars releases an update, I hold my breath, waiting to see if any damage has been done. Full Tilt and PokerStars seem to be in an arms race, so the updates come often. Which means I hold my breath far too often. It’s not healthy!

Full Tilt released an update yesterday. Overnight my inbox filled up with “Full Tilt Update Breaks Poker Copilot” messages. So enough writing for now. Time for some fixing.

A Brief History of Poker Tracking Software

James Devlin writes:

the online poker industry is without a doubt the strangest application of computer science and software development technique to a particular domain that I’ve ever witnessed or come across

The whole piece is long, opinionated, and a bit spotty in places, but it’s a fascinating read for anyone relatively new to the world of poker tracking software. No mention of Poker Copilot, though. 🙂

I learnt a few things.

EAP: Where’s the Poker Copilot HUD Console?

I neglected to mention some changes in today’s Early Access Program (EAP) release of Poker Copilot. There is no longer a HUD control window. If you want to change HUD settings you can go to the Head-up Display menu and choose “Head-up Display Options”. This is a quick way of getting to the HUD preferences.


Here’s why I did this:
1) Poker Copilot EAP suffered from window-clutter
2) Most people will change the HUD settings once or twice, then never need to see the controls again
3) There’s a principle in user interface design that says you should hide complexity from first-time users, but make the complex features easily findable as users become confident with the user interface.

The HUD is now always on when Poker Copilot is running. It is optimised to use minimal resources.

Poker Copilot 2 Early Access Program Update

When someone tells me that Poker Copilot won’t start for them, I figure that there are others with the same problem who simply give up on the software immediately. Which is why I’m so grateful for people who endure start-up problems with EAP build after EAP build, aways giving me bug reports, until I solve the problem. Thanks Michael!

For the curious, the brave, and the desperate, Poker Copilot 2 early access version build 20 is available at http://pokercopilot.com/eap.

What’s changed:

  • improved stability and performance
  • bug fixes based on crash reports
  • custom chart by hands is now working

You can run the EAP version without affecting Poker Copilot 1 at all.

I’m hoping that this will be the last EAP version. The crash reports have slowed to a trickle as I’ve been fixing problems.

Profiling Java Programs on the Mac

Java 6 on the Mac finally gives us the goodness of Sun’s VisualVM. This all-in-one Java profiler attaches to a running Java program. It shows threads and memory usage. That’s somewhat helpful.

But overwhelmingly awesome is the ability to profile CPU usage and memory usage of any running Java program. Which objects are created the most? Which objects are hogging memory? Which methods are called the most and consume the most processing time?

To run VisualVM on your Intel-based Mac OS X, from Terminal type “jvisualvm”.

I profiled Poker Copilot 2.0 and found way too much time was spent rendering the colourful “Mucked Hands Viewer”. I gave it some rendering smarts and now it barely registers on the “time used” chart.

I identified other surprising time-eaters in Poker Copilot which I’ll be dealing with in the days ahead.