The Poker Copilot Blog

Tracking the development of Poker Copilot, Mac OS X software for poker analysis and statistics.

Monday, 13 July 2009

It's Official: Full Tilt Poker Approves of Poker Copilot

I received an e-mail today from Full Tilt Poker:

We can confirm with you that Poker Copilot is allowed to be used as long as it contains only hand histories from hands in which you yourself have participated.
But note:
[Customers must note] that adding other players' hand histories ... may result in permanent closure of their accounts.
So there you have it. Use Poker Copilot with Full Tilt, but don't add other players' hand histories.

Over at PokerStars, we also are on the list of approved products.

Sunday, 12 July 2009

The Power of Crowdsourcing

Yesterday's Early Access Program (EAP) release was a disaster. While fixing some bugs last week I inadvertently added some multi-threading problems. These are the one-in-73 type problems: you might use Poker Copilot 73 times and only see the problem once, because they are subtle timing problems.

On the other hand, the release was very successful because it quickly revealed these problems. I fixed them late last night, added some checks that will make it harder for such problems to happen in the future, did some smoke-tests this morning, and have now released a new EAP build (#23).

That's crowdsourcing at work. Thank you EAP community!

Saturday, 11 July 2009

Poker Copilot 2 Early Access Program Update

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

What's changed:

  • improved stability. I hardened the HUD code this week as a result of some stress testing.
  • bug fixes
  • more stats on the Advanced Dashboard
You can run the EAP version without affecting Poker Copilot 1 at all.

There's now only one known crash-causing issue. I've added special information to the crash reports to help me track it down.

Why Poker Copilot Doesn't Use MySQL...

Loyal customer KeithX asks:

Why doesn't Poker Copilot use MySQL or (shudder) Postgres?
There's two main reasons:
  1. User Experience
  2. Speed

User Experience


Consider iTunes. iTunes is, fundamentally, a database with lots of data. The data is in the form of thousands of files that encode sound frequencies. In my case, iTunes has 13 Gigabytes of music in 2517 files. Plus 920 Megabytes of podcasts. Plus 14 Gigabytes of TV shows.

iPhoto is, fundamentally, also a database. This time the data is in thousands of files encoding photos.

In neither iTunes nor iPhoto is the end user expected to first install an SQL relational database system. The database is hidden from the user and managed so that the user simply sees what's important.

I aim for Poker Copilot to have the same seamless experience one finds in iTunes and iPhoto. The complicated database management is hidden from the user.


Speed

Using an embedded database engine - which Poker Copilot does - has the potential for greater speed than a separate database server like MySQL or PostgreSQL. To get all technical, communication between a piece of software and a database server involves (in common scenarios) creating a TCP socket connection, encoding the query in a standardised manner, sending the query over the socket, retrieving the results over the socket, decoding the results, and disconnecting. Often the overhead of connecting and communicating is the most time-consuming part of the process. (There are ways to speed things up somewhat, such as connection-pooling and client-side query caching.)

An embedded database engine, if engineered for speed, can operate faster.

Poker Copilot uses a Java-based embedded database engine called H2. It is open source, offers high performance, and uses SQL. It can be configured to offer high concurrency.

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...)

Friday, 10 July 2009

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

Free 30 Day Trial

Only $49.95

Order risk free with our 30-day money back guarantee.

  • Poker software for Mac OS X
  • Supports Full Tilt Poker and PokerStars
  • Analyses your opponents while you play
  • On-table HUD for Mac
  • Easy to use, easy to understand

Watch a demo of the major features of Poker Copilot