Early access to new HUD for Full Tilt players

Feelin’ dangerous? Wanna try out the new Poker Copilot HUD? You can download and run an early preview version now.

This is a not a full-featured version. It only works with Full Tilt Poker, and is only suitable for the classic table theme. Also, at the moment it only works with Leopard (Mac OS X 10.5). Sorry Tiger users, I’m still chasing down some Tiger issues.

I’ll be adding PokerStars support soon.

A table-tracking bug has held me back for the last week or so. I think I’ve finally nailed it though. I’ll gratefully receive any feedback of problems you discover via email to support@pokercopilot.com.

Customising the Poker Copilot HUD

The first release of the HUD will allow some simple customisation. You can choose up to 6 statistics to be on-screen at once. This video demonstrates how:

I eventually aim to have more customisations. For example, colour coding the stats (red/yellow/blue to indicate different ranges).

The video quality is cruddy. I’m new to this online video uploading thing that all the cool kids are doing. There’s a better quality video here. Tips for online video demos gratefully received.

Another PokerStars Update. Oh no.

So I start PokerStars this morning, and it informs me it has an update to install. Please, please, please don’t have more changes in the hand history format, prays Steve to himself. If there are changes it will steal another day from my work on the HUD.

Update: I played a couple of hands on PokerStars and had no problem.

On Luck and Success

This article is my reaction to a post in an online forum. It is based on my strong belief that luck has more to do with success than most of us acknowledge.

“In my experience it doesn’t take much at all to succeed in this world,” wrote someone in a forum.

His experience is probably limited to rich parts of this world. Most people “in this world” draw the short straw and are born into poor, corrupt, over-populated countries.

There are several countries where 25% of people die before they turn five, usually due to malaria. Are they to blame for not working harder for success? Can one say this: “those good-for-nothing 4-year-olds in Mali – they expect life to be handed them on a platter. It’s their own fault for dying.” Of course not.

Most of you reading this are super lucky, born into rich countries with low levels of corruption and (relatively) high education, health, and literacy, where personal liberty and economic freedom taken for granted. We are not representative of the world population.

I’m slightly impressed with people in rich, developed, uncorrupt countries who succeed. I am incredibly impressed with people in countries such as India who succeed. I’ve been to India. Corruption and poverty are normal. To succeed from there into the wider world is astonishing.

I was born white, male, in good health, in the late 20th century, in a rich country, where English is the mother tongue. While growing up I received free health care and free education, at levels ranked amongst the world’s highest. I have the economic and personal freedom to travel to most parts of the world. All of this happened through no action of my own. Percentage-wise I am one of the luckiest people who ever lived.

Poker Copilot Update Available

If you’ve been having problems adding PokerStars tournament summaries to Poker Copilot, then this message is for you.

I’ve released Poker Copilot version 1.39. You can download it now. It fixes problems with PokerStars tournament results not being processed.

Now that’s resolved I can get back to finishing the new HUD.

PokerStars Tournament Summary Problems

PokerStars have suddenly changed their date formats again. This means that your PokerStars tournament results can’t be read.

I woke up this morning to find my inbox overflowing with people telling me about problems importing PokerStars tournament summaries. I put it down it coincidence at first, but now that I’ve got my hands on someone’s most recent summary, I’ve quickly found the problem.

I’ll try to roll out a patch with 24 hours. Stay tuned.

HUD Sneak Preview

I’ve been working industriously on a new heads-up display (HUD), one that will show statistics next to each player on your poker table. It’s about time I proved that this is more than vapourware. Here’s a look at what you can expect in the first cut:


To anticipate some questions:

  • when you move and resize the table window the HUD repositions itself nicely.
  • you can customise the HUD somewhat. You can choose up to 6 statistics out of 10 to show.
  • as shown in the screenshot, you can view full information for any player in a pop-up window by clicking on their stats.

If I get the last outstanding issues resolved and my tests on Tiger (OS X 10.4) go smoothly, you can expect a beta release in a few days time. Note that the first beta release will only show the HUD on Full Tilt Poker.

Instead of "rewriting from scratch…"

Continuing on from Nobody cares that you “rewrote from scratch”

There’s a common belief amongst programmers that when confronted with a revolting, despicably complicated codebase with severe quality issues, the best you can do is throw it away and start again. That might have been true once (although I suspect not), but it’s certainly not true today.

First, one has to ask, why is the codebase so bad? Almost always, the answer is due to shoddy processess – lack of testing, no culture of quality, a prevalent cowboy attitude within the coding team (or person). No number of rewrites will make these process problems go away. Software quality is a mostly solved problem today, at least on the small and medium-sized projects I have experience with. We know the solution, although too often it is not applied.

Second, today’s great refactoring tools make it easy to turn bad code into good code. This is especially true in the Java world, where our IDEs runneth over with refactoring goodness. A codebase might seem to have tremendous quality problems, but normally most of the problems lie in a few concentrated areas. Once the biggest problems are identified they can be rectified.

A good refactoring process might go like this:
1. Break up that large, confusing method that keeps crashing into a number of smaller methods, which can be tested individually.
2. Write unit tests for those new smaller methods.
3. Add precondition checks for the methods. For example, check for null inputs or out-of-range values
4. Repeat from step 1 until the problem spot has become clear and simple
5. Repeat entire process with another problem spot

Once you’ve improved these trouble spots, you can claim what Microsoft claims with each new release of Windows: That the latest release is a “new, improved update, more stable than ever”