Where you find software success stories, you invariably find people who are good at saying no.That's from Scott Rosenberg's Dreaming in Code, an outstanding fly-on-the-wall account of a software project-cum-train wreck. I felt like throwing the book across the room in frustration once every ten pages or so as the project team made common mistake after common mistake.
The Poker Copilot Blog
Tracking the development of Poker Copilot, Mac OS X software for poker analysis and statistics.
Thursday, 30 April 2009
Sentence of the Day
Poker Copilot: Worst Day Ever. Best Day Ever.
Worst Poker Copilot Day Ever
Full Tilt's update two days ago resulted in me getting the most Poker Copilot support e-mails ever. Whenever I check the support inbox, it's overflowing with new e-mails asking why Poker Copilot stopped working. It's been hectic trying to answer them timely while also fixing the problems the Full Tilt update introduced. I'm almost "on tilt" myself! However I've managed to answer all e-mails within 24 hours, and most within a few hours.
Best Poker Copilot Day Ever
The copious quantities of support e-mails have revealed that many people are actively using Poker Copilot. And relying on it. That gives me a warm fuzzy feeling! I also had the highest number of sales yesterday in the almost-year that Poker Copilot has been on the market. That gives my bank account a warm fuzzy feeling.
Worst Day Ever + Best Day Ever: Is there a correlation or is it coincidence? Were some potential customers pushed onto my "Buy Now" page by seeing me respond quickly to the problem? Did it give me a chance to demonstrate that Poker Copilot is the work of a real person and not a faceless organisation? I don't like drawing conclusions from one data point so I'll leave the questions open.
Wednesday, 29 April 2009
Adobe. Fireworks. Activation System. Sigh.
I try hard to keep this blog a gripe-free zone but Adobe has pushed me to the limits. They have a "product activation" system that allows one to use Fireworks on two computers: a main work computer and a laptop or home computer.
My work computer was faulty. I needed to send it back to Apple for a replacement. First I reformatted the hard drive to remove my personal stuff. But Fireworks doesn't recognise this arrangement. It won't activate on the replacement computer that Apple sent me. All I get is advice that I should have deactivated Fireworks before reformatting the hard drive. Can you see the difficulty this poses for mortals without time machines? If only I hadn't sold my flux capacitor to pay for my new iMac.
So I can't use my fully purchased, legitimate, licensed Fireworks to work on the artwork for the new Poker Copilot Hand Replayer. This is a product licensing system that is too clever by half. It's hurt me, an honest, paying customer. The help files and FAQ are circular, resulting in no clear solution.
There's a moral here for us small software companies. Make the licensing system just enough to keep the typical customers honest. Don't work from an assumption that all your customers are thieving scoundrels. And if the occasional customer installs the product on one computer too many, assume that the reasons are legitimate. If a poor student with lots of time and little money works out how to bypass your licensing system, accept it and move on.
Yet Another Poker Copilot Update for Full Tilt
The fix released yesterday didn't work for everybody. Therefore I've released another update, version 1.71. You can download from here: http://pokercopilot.com/download.html. You only need to download this update if Poker Copilot is not working with Full Tilt Poker for you.
[And now the technical info: yesterday's Full Tilt update introduced hand histories in UTF-16 encoding. For most users, that's UTF-16 with little-endian byte order. For some users, however big-endian byte order is used. Which means that every pair of bytes in the hand history are switched. Including the mysterious zero-width no-break spaces at the beginning of each line of text in the hand history file.
Why? I'm not sure. It could be an error from Full Tilt's Mac programmers. However there could be a dang good reason for it that I'm not wise enough to ascertain. On days like today I wish I could have a casual chat with Full Tilt's programmers and find out!]
Tuesday, 28 April 2009
Poker Copilot 1.70 Now Available and Highly Recommended
Problem solved!
You can download Poker Copilot 1.70 direct from the Poker Copilot home page. This fixes the problem caused by today's Full Tilt update.
From the home page, simply click on the big "Download Now" button.
[For the technically curious]: It appears Full Tilt switched the hand history files from UTF-8 encoding to UTF-16 encoding. For a mysterious reason each line in the hand history file now starts with an invisible, zero-width character. Precisely, it's the unicode Byte-order Mark character, or BOM. In my understanding this character should only be at the beginning of the file.
Today's Full Tilt Update breaks Poker Copilot
It seems that the latest Full Tilt update has some subtle changes to the hand history file. This confuses Poker Copilot.
I'm working on an update for Poker Copilot and hoping to release within 24 hours.
Sunday, 26 April 2009
Coming in Version 2: Improved Players Summary
Here's a preview of the improved Players Summary in Poker Copilot 2:
You can view add any available statistic to the table:
You can quickly search for a particular player:
Or even for a select two or three players:
Friday, 24 April 2009
Thursday, 23 April 2009
Seriously Good Mac FTP Software
I've been happy with Transmit as an FTP client, but ExpanDrive takes things up several notches: http://www.expandrive.com/mac
Tuesday, 21 April 2009
A Pair of Aces Twice in a Row?
There's been a discussion on 2+2 of the odds of getting dealt a pair of aces in Texas Hold'em twice in a row.
My immediate thinking was: the odds of getting dealt aces in (4*3) in (52*51) = 1 in 221. The odds of this twice in a row in 1 in (221 * 221) = 1 in 48841.
I was wrong. On further reflection I realised that there is no correct answer, because there is insufficient info. The question should be "what's the odds of getting pocket aces twice in a row given...
For example, what's the odds of getting aces twice in a row in the next two hands is 1 in 48841.
But the odds of getting aces twice in a row given that you got aces in the first hand is only 1 in 221. Not so remarkable after all.
And the odds of getting dealt pocket aces twice in a row during a session of 100 hands? Pretty high I guess!
Monday, 20 April 2009
The Life You Can Save: Chapter 2
Today I started reading Peter Singer's "The Life You Can Save: Acting Now to End World Poverty". I'm a fan of Peter Singer; it was his seemingly irrefutable logic that made me a vegetarian.
For various personal reasons, this topic of helping the poor is one that interests me greatly. So I'll probably post a few times on my reactions to his arguments in this book.
This evening I read chapter 2.
Chapter 2: The Basic Argument
"First premise: Suffering and death from lack of food, shelter, and medical care are bad."
Yep, seems reasonable to me, although nihilists might disagree.
"Second premise: If it is in your power to prevent something bad from happening, without sacrificing anything nearly as important, it is wrong not to do so."
Yep, also sounds pretty good.
"Third premise: By donating to aid agencies, you can prevent suffering and death from lack of food, shelter, and medical care, without sacrificing anything nearly as important."
Not so fast, Mr Singer. I've seen aid agencies from the inside. I've also seen them at work in various African countries. In my opinion, they are not an unqualified good, successfully converting donated funds to saved lives. They have their fair share of empire building, wasteful spending, clashing ideologies, and dire projects. To those who doubt this, I challenge you to spend six months working for an aid agency. You are likely to become outraged, cynical, or defeatist.
"Conclusion: Therefore, if you do not donate to aid agencies, you are doing something wrong."
Because I don't agree with the third premise, I don't agree with the conclusion.
Nevertheless, I do financially support an aid agency, and have done so regularly for 16 years.
Saturday, 18 April 2009
Dependent on Poker Copilot
I played some live poker recently, and it revealed two things. One: I'm not very good at live poker. Two: I've become dependent on Poker Copilot's HUD. When there's a tough call to be made, I check my opponent's stats. Does he attempt to steal the blind often? If so, I'll call him with my AT. Does my opponent have a low Post-flop Aggresion Frequency? If so, then I'll fold my outside straight draw to his post-flop raise.
In live poker, there's no transparent box hanging over a player's head. I wonder if I could make a Poker Copilot 3D...
Thursday, 16 April 2009
Pencil and Paper are SOOOO 2007
It used to be that when I wanted to make a new screen for a computer program, my first step was to grab pencil and paper to sketch out how it should appear. I realised today that my first step now is to launch Balsamiq Mockups.
Monday, 13 April 2009
Poker Copilot updated today
I've released Poker Copilot 1.68, which fixes a couple of minor bugs. Namely:
- PokerStars 55bb min tables work with the HUD
- PokerStars tournament summaries now work properly if you have a comma in your location
- The PokerStars tournament summaries screen should work a bit better with tournaments that have more than 10,000 players
Sunday, 12 April 2009
Poker Copilot's 150K hand limit overcome
Poker Copilot's power users often ask me to remove the 150,000 hand limit. Overcoming this for version 2 has required lots of changes to Poker Copilot's database engine. As you can see in the screenshot, I now have 500,000 hands in my test database:
In close-up:
Storing 500K hands requires about 2 GB of disk space.
There's been some technical challenges in adding this while keeping Poker Copilot's speed. I've used every database performance trick I could find: denormalising data, removing unused data, creating pre-built data summaries, using multiple threads. The result seems satisfactory. Or, as we say in IT technical jargon, it's butt-kickin' wicked fast.
Friday, 10 April 2009
Do German Programmers Dream in English?
English is the de-facto standard language of software development.This is simply not true in my experience here in Germany. I've worked with teams of German programmers who prefer talking and working in German. My German is pretty lousy, yet most of my German colleagues clearly preferred perservering with me in German on programming issues.
Typical German programmers can speak English. They can read Javadocs in English. But they are more comfortable doing so in their native tongue. They have families, customers, bosses who all speak to them solely in German. They watch television and read books in German. Therefore to program in German is more natural.
English-speaking-only people around the web say things like "all the German programmers I meet speak English." But naturally! This boils down to saying "all Germans I've been able to speak to in English speak English!". Or in logical form:
A and B implies Bwhere A is "is German" and B is "speaks English".
This leads to some strange code, because of Java conventions such as setters and getters. These rely on being in English to work. So method names are sometimes a mixture of languages. For example, setAnschrift(...) or getGrenzwert(). The "set" or "get" part ensures things work, but the "Anschrift" or "Grenzwert" part ensures all on the team understand what it does.
Wednesday, 8 April 2009
MacZOT results
The Poker Copilot special offer on MacZOT yesterday went well. We sold 40 discounted copies, and gave one copy away.
If you make Mac software and want to try new ideas for promotion, then I recommend giving MacZOT a go.
Sunday, 5 April 2009
Poker Copilot 50% off on MacZOT
If you are thinking of buying Poker Copilot, here's some good news. On April 7th Poker Copilot is MacZOT's offer of the day. For one day only, you can get Poker Copilot for 50% off. That's $24.95 instead of the regular price of $49.95.
You will also be eligible for a free upgrade to the forthcoming Poker Copilot 2.
Friday, 3 April 2009
Search Traffic Overtakes Referrals Traffic
In March for the first time http://pokercopilot.com/ got more traffic from search engines (read: Google) than from referrals.
I'm happy about this. All three types of traffic continue to grow in absolute terms, but search engine traffic is growing faster.
Coincidentally (or not?) Poker Copilot's Google PageRank reached six a few days ago. This is very, very good for me.
Wednesday, 1 April 2009
Sentence of the Day
From Paul Graham (who is paraphrasing Paul Buchheit):[as a startup] it's better, initially, to make a small number of users really love you than a large number kind of like you
Price Sends a Signal
When I'm not working on Poker Copilot I do IT consulting in Germany. Specifically in Java projects. Due to Poker Copilot's success I don't really need to keep doing consulting. And I don't find it the most enjoyable work in the world. The consultant's dilemma is this: well-run IT teams typically don't need external consultants. Therefore it's almost certain that any consulting gig will be in a somewhat dysfunctional environment.
If I don't enjoy the work much, and I don't need to do it to meet my expenses, then why continue? A very good question! So I've taken that old advice of hiking up the rates to at least make the work more finanically rewarding.
They say price sends a signal. If you charge average rates, you are presenting yourself as an average consultant, barely nothing more than a commodity. If you charge 50% more than your competition, you are presenting yourself as a superior service. When a potential customer needs the best to solve their problem, they may be willing to pay the premium. The higher rate also signals an ability and willingness to work in senior roles.
So as of yesterday, I've dramatically hiked up my Java consulting rates.
I'm also doing this because I feel I have more to offer than many of my peers. Often an IT consultant has previously only worked as an permanent employee programmer for a big organisation for many years, before going it alone. Whereas I've founded, run, and sold a consulting firm, in which I led to completion projects of various sizes for all sorts of clients. Business analysis, writing specs, building and mentoring a team, database modelling, usability are all areas I've worked in. So I feel that I'm short-changing myself when I charge the same rate as a "body for hire".
Will this succeed? I don't know. If it fails...more time for Poker Copilot. If it succeeds...good!
Poker Copilot Translation Project
About This Blog
This blog tracks the ongoing development of Poker Copilot. Who would find this blog interesting? People interested in 1-person software development, in Poker, or in both.
Contact me via email at steve at pokercopilot dot com.
Blog Archive
-
►
2012
(31)
-
►
January
(29)
- Coming in the Next Update: Ignore Old Hand History...
- Coming in the Next Update: Poker Copilot can forma...
- From the "It's About Time, Too" Department
- Poker Copilot Business Cards
- Playing on Entraction Network?
- Unofficial Update for Ongame Players
- One Person with Two Accounts Playing on Ongame?
- Small Tweaks in Poker Copilot Preferences
- Ongame Network and Poker Copilot
- Buy Poker Copilot via Bank Transfer
- Improvement to Appearance of HUD Popup
- Improvement for Poker Copilot Translators
- Coming in the Next Update: HUD Layout has an extra...
- Unofficial Poker Copilot Update for Ongame Network...
- Poker Copilot Demo Video in French
- Reason I Like My Mac #17,823
- Updated Poker Copilot Demo Video
- Poker Copilot 3 Coming...
- News for Poker Copilot Translators
- Updated Poker Copilot Translations
- New Poker Copilot Screenshots Reveal How Version 2...
- Poker Copilot Translation Project: Update
- PokerStars now has built-in Auto-Hotkeys
- Reflection on the PokerStars Update that Broke Pok...
- Poker Copilot 2.101 Now Available
- Poker Copilot Website in French
- Spanish Website Translation
- Poker Copilot Website in Spanish
- Update for PokerStars Denmark Users (PokerStarsDK)...
-
►
January
(29)
-
►
2011
(154)
-
►
December
(10)
- New Unofficial Update
- Poker Copilot Discussion Forum in French
- Coming in the next update: multiple HUD layouts
- Poker Copilot Fact of the Day
- Unofficial Poker Copilot Update for the Brave
- Coming in the next update: All-in Equity in $ or B...
- Who uses BarrierePoker.fr?
- Coming in the next update: Filter tournaments by t...
- Help Wanted: BlazingStars or AHK for Merge Network...
- Coming in the next update: choose a language for P...
-
►
November
(13)
- MacKeeper's "Real-time protection" breaks Poker Co...
- PokerStars Playing History Audit CSV Problems with...
- Poker Copilot 2.99 Now Available
- HUD not working on PokerStars in update 2.98?
- PartyPoker support in Poker Copilot
- End of a Troublesome Week
- Poker Copilot 2.97 Problem Fixed?
- Desperately Seeking Help to Solve the Crashing Pro...
- Is Poker Copilot 2.97 Crashing For You?
-
►
December
(10)
-
▼
2009
(337)
-
▼
April
(21)
- Sentence of the Day
- Poker Copilot: Worst Day Ever. Best Day Ever.
- Adobe. Fireworks. Activation System. Sigh.
- Yet Another Poker Copilot Update for Full Tilt
- Poker Copilot 1.70 Now Available and Highly Recomm...
- Today's Full Tilt Update breaks Poker Copilot
- Coming in Version 2: Improved Players Summary
- Poker Copilot Reviews in German and Russian
- Seriously Good Mac FTP Software
- A Pair of Aces Twice in a Row?
- The Life You Can Save: Chapter 2
- Dependent on Poker Copilot
- Pencil and Paper are SOOOO 2007
- Poker Copilot updated today
- Poker Copilot's 150K hand limit overcome
- Do German Programmers Dream in English?
- MacZOT results
- Poker Copilot 50% off on MacZOT
- Search Traffic Overtakes Referrals Traffic
- Sentence of the Day
- Price Sends a Signal
-
▼
April
(21)

