To those those who have expressed their doubts about the authenticity of the poker botting series or the motivation behind it: I appreciate and applaud the skepticism. 95% of online poker-related material is dubious, spammy, get-rich-quick, Vegas pipe dream BS designed to get you to sign up for online poker or otherwise invest your hard-earned money in something which may or may not be appropriate for you. And some of you have interpreted this series as another attempt in that vein, which is understandable.

What bothers me is the accusation, however infrequent, that I'm hoodwinking people for personal gain. And yet, tellingly, you won't find online poker signup links, invitations to purchase botting tools, or any other such garbage, anywhere on Coding the Wheel. You won't find obnoxious, in-your-face, above-the-fold advertising. What you will find is a lonely sidebar ad, installed months ago and forgotten. I'm not even sure how I make money on it. PPC? CPM? Both? All I know is I've earned approximately enough money in ad revenue to buy myself a cheeseburger with fries and a Coke.

And it's like, as much as I appreciate the burger, a few pennies of dubious PPC revenue is not what I'm after. Coding the Wheel is a programming and technology blog, not some fly-by-night affiliate scam site. Employers see the blog. Clients see it. Friends and family see it. People in the community whose opinion I very much respect see it. I don't need the few hundred extra dollars per month that "selling out" would afford and if I were really interested in PPC or affiliate revenue, there would be a dozen better ways to do it.

So what's my motivation? One thing: community, and the unlooked-for benefits, the random knowledge, the occasional email offer to work on a side project, the ability to reach and converse with some of the best-informed people in the world on this topic. That may sound hokey to you, but to me it's worth far more, both in dollar value, and in other valuations, than any make-money-by-talking-about-botting scheme could ever be. So while I don't expect you to trust me completely just yet, three posts deep into a huge subject, I do at least ask that you give me credit for having a healthy amount of self-interest. Enough to know, for example, that real success is not to be had by posting a thin smear of content and somehow tricking people into clicking on my non-existent poker signup links.

So where's the code? Since the first article broke, I've had programmers asking for code; non-programmers asking for poker; poker-players asking for bot strategy; and normal people asking for history. I've gotten more hate mail than I can shake a stick at, and even the occasional death threat, on account of these posts. Online poker employees, posting negative comments, often not even bothering to disguise their originating IP. Fellow bot-builders, some of them established, cursing me for "letting the cat out of the bag" even though all this information is freely available with a little creative searching. And programmers, many of whom seem to have only the vaguest familiarity with poker, casually dismissing the whole thing as unrealistic (despite the fact that numerous, proven bots exist on the open market).

That's fine. Programmers and poker players are tough customers. The programmers want the choicest nuggets of source code; the poker players want the exact logic of the bot along with win rates, variance, etc. And everybody, particularly the non-programmer, non-poker player, wants an interesting read. And they want it today, not next week. Meanwhile, there are a lot of people who have no idea what it means to play "short-stacked" or to be "tight/aggressive". There are a lot of people who aren't familiar with DLL injection, or any of the other techniques we've discussed. And there are a lot of people who know all these things very well, and are ready to pounce on the first inaccuracy or simplification.

I'm not going to just post the bot source code along with seven winning formulae for beating online poker. In fact, were I to do so, you could safely assume I was full of crap. Instead I'm going to hit you with a large number of posts, ranging from historical fluff to working, in-the-trenches A.I., to the ins and outs of binary code patching on Windows, and everything in between. I'm going to tell you everything I know, which is a fair amount, and I'm going to introduce everything I've learnt from the community, which is even more. And I will quite simply never give you a piece of poker, programming, or poker-programming advice which I don't 100% believe; never try to get you a book which I haven't read so many times the binding splits; never tell you to sign up for online poker in order to make money off you.

The code is coming, an avalanche of it. But it's impossible to address everything at once. We're three posts deep into a complex topic covering two or more non-trivial domains - poker, programming, some math as well - and I can only hone in on specific subjects after we've laid some groundwork and established a basic interest level. I hope the posts so far have had a decent signal-to-noise ratio, given the complexity of the topic. I can at least say this: in writing these posts I've tried to create the sort of content that would've been helpful to me during the difficult, tedious, and yet ultimately rewarding handful of years I spent building the bot.

As to those of you who claim that building a bot is a superhuman feat of engineering. Ask yourself what you could have done, given (as I was) two, three, or four years of full-time, properly funded development effort. And let's assume you'd been playing poker for years, and botting in chess and MUDs prior to that. I think you'll find that with even a basic amount of programming knowledge, you could accomplish a lot. In fact:

Bots are a permanent reality in online poker and every other online arena where mouse clicks translate to money, including World of Warcraft. All this sound and fury over botting is just a prelude to the time when any ten-year old will be able to tell his computer, "Fritz, play a theoretically perfect game of poker for me and proofread my book report while I go watch Spongebob Squarepants."

Believe it. Count on it. Trust it. Take it to the bank and deposit it for a rainy day. This is where the world is going and rather than tip-toeing around the subject, we need to take a long, hard look at it. Because it won't be long now before poker succumbs to machine intelligence as chess, checkers, backgammon already have. And after that, domain after domain of human knowledge, falling like dominoes as artificial intelligence starts to come into its own. I'm reminded of some famous words by a famous poet:

The darkness drops again; but now I know

That twenty centuries of stony sleep

were vexed to nightmare by a rocking cradle,

And what rough beast, its hour come round at last,

Slouches towards Bethlehem to be born?

Yeats, living in the early part of the last century, probably wasn't talking about the rise of the poker bots. But the words will do for us cavemen, living in the Dark Ages before the wakening (and wakening is the word) of the first general artificial intelligence. Better minds than mine will bring this to you on a silver platter, for better or worse, and use it to build the only real Killer App that ever mattered: MakeMyLifeEasier.exe. Until then, we can have some fun, learn a lot about programming and poker, and possibly make some money, by studying the construction of an online poker bot.

Thanks for all your comments, negative and positive, and feel free to drop me a line at james@codingthewheel.com if you have any specific thing you'd like to say. I keep all emails in strict confidence (of course) even the angry ones.

Until next time...