Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Why a programmer should try online poker (0x7bc.com)
20 points by napolux on Sept 5, 2012 | hide | past | favorite | 39 comments


Programmers probably shouldn't play online poker. When programmers aren't programming, or creating other things, they should probably spend time off the computer. They don't need another computer activity.

So, play poker face to face. Maybe you don't live in an area where you can do that, then start a low stakes home game with friends. Don't have friends, go out and meet some people. ;)

Don't bother with free poker, you will learn much other than the basic rules. Even micro stakes are a bit crazy.


Reasons why you shouldn't:

http://www.theage.com.au/national/online-poker-fraud-reveale...

http://money.cnn.com/2011/04/15/news/economy/online_poker_in...

For programmers it should be particularly obvious that cheating is just too easy and too tempting for online poker/gambling sites. Not getting caught is a little harder.


Just a heads up, your second link does not discuss any fraud of the players and instead discusses money laundering which the sites had to engage in to pay players from the United States. UltimateBet and AbsolutePoker had a massive cheating scandal, and both they and FullTilt were insolvent and werent able to pay back the players. Pokerstars has shown time and again that they are operating on the up and up, and many of the other pokersites are part of publicly traded companies.

The biggest concern is that of bots, and while some sites arent very vigilant about banning suspected bots, Pokerstars is.

In short, play on reputable sites, and if you are worried about bots, then play at pokerstars and report anything suspicious. Are there cheaters? Yes, but it is easier for a site to detect cheating when they have access to all hands played by every account than it would be for a casino who has none of that information.


It should be noted that the post explicitly recommends using free/fun to play games and links to a problem gambling site.


Exactly. I'm not telling you to play your money on poker. I'm just telling you to play poker for the fun and "benefits" of the activity.


Cheating by the site is a risk, but on Poker Stars I feel fairly safe because they have so much invested and would do their best to make sure their image does not get tainted.

I mainly played heads up before Black Friday, and there is more to it than just simple odds. You get into a psychological battle, which includes odds, and has money at the end.

I stayed around the 50NL games, but was still able to pull in $1000/mo playing in my spare time. Then there was Black Friday.


I would have thought that online poker sites were infested with bots? There certainly seem to be a lot available by searching for "poker bot".


Interesting forum for someone who wants to learn something about poker bots: http://pokerai.org/pf3/index.php


In my opinion, Magic: The Gathering is a far more interesting game for programmers.

Not only does it cover all the same facets of poker (stats, hands, bluffing), it has complex strategy. I think a lot of the logic put into playing and building a deck in MTG aids in similar mental processes for programming.

Actually, the skills needed for MTG are probably even better for someone in business and finance. Learning to budget, offsetting losses and tracking trends in the metagame--all very good skills for someone trying to make money in a market.

Oh, and it's got more geek appeal. Can't overlook that.


I can recommand Poker, although not specifically to programmers. I got more general life lessons out of it.

You learn to take decisions with vague information by approximating and using basic math. As TomGullen says, the necessary math is neither hard nor is it much. To art is to adapt your numbers to the real world situation. Example: With an open-ended straight draw at the flop, you chances are roughly 1/3 for a straight in the end. First, you need at least two other players. If you have one other player, you fold, because it is not profitable. With three or more other players you keep playing. With two enemies it gets interesting, because you need to factor more information in, to decide. What is your position? Did someone raise before the flop? How did your two enemies play their hands before? What is your image at the table? ...

Another lesson i got from poker is to control my emotions when I'm on a streak. If you are on a winning streak, you still must fold when the math says the expected value is negative. On a loosing streak you still must go all-in if the math says so. No peaking at the flop, when your initial hand is too bad.


Again, as I said in response to TomGullen's comment, that is still the very basic of poker math. Further, your example is incorrect. To continue with an OESD [open ended straight draw], you do not need 2 opponents. You simply need the pot odds of the bet you are facing [and factoring in potential bets on future streets while drawing, as well as expected profit when you make your draw] to be giving you at least 2:1 odds.

In poker it is very easy to think youve "figured it out," because in a casino it is hard to keep track of your profits and losses over more than a few visits, and the ups and downs can have large impacts on your short term results [which take a long time to get past in a casino].

I do agree that emotional control is the biggest thing [outside of profits] that I got out of poker, because it carries over into the rest of my life. Im more patient, and dont get upset as easily about things that are outside my control. Those are important lessons to learn in life, and if you have gotten those from poker, great, but you still have a ways to go to understand the basic math and other concepts.


Emotional control is one of the hardest things to master in poker and is ultimately why I failed. Learning the influence your emotions have on you and your decision making is as you say a very important life lesson. Being able to recognise when your emotions are causing you to make a series of bad decisions is a very useful tool.


Emotional control was the biggest skill I learnt from playing Poker. It's a game where short term winning and losing are unimportant. I learnt to have confidence in my own game, and know that I would (probably) be rewarded (eventually). Knowing that there are factors out of your control (i.e. luck) and becoming comfortable with that, and even getting to a point where you can embrace that (after all, without luck Poker would be no fun). I feel I have taken this skill and adapted it to many other aspects of my life.


Math in poker is a little overrated. It's often listed as an advantage of the game by less experienced players.

Once you have the basics nailed (mainly expected value calculations) there really isn't much more to it, the rest of the skill then comes from estimating opponents hand ranges. And past that, meta game, hand range balancing, deception etc become increasingly important.

Poker is an amazing game when you're playing people who also understand the game. When you're scrapping at the free games it's a pretty dismally inefficient learning tool. If you want to play good people, you need to play with money.

If you get to a reasonable level at poker, it does have a lot of advantages. Here's a blog post I wrote comparing running a startup to playing poker: http://www.scirra.com/blog/80/why-running-a-startup-is-like-...

Poker also has a big potential downside, which is obsession, outright misery and despair which can slowly creep into your life. Distinguishing between addiction and a pursuit you are thoroughly interested in and enjoy is often difficult to pinpoint.

Poker also has other downsides which I've observed many times, even with close friends. Illusions of grandeur are common, and can be destructive in your life in a larger way than you are prepared to admit. For example, many players who have been playing for many years still believe they can go pro. These players don't study the game, they just play it and often bemoan their bad luck. For years. In an alternative Universe they might have perused a career, yet they are still playing small stakes games and bleeding off their money at a very slow pace, slow enough to kid themselves that they are simply suffering a bad run of luck.

Perseverance and self belief really aren't virtuous qualities in poker for most people.

Harrington on Holdem are the best strategy books on poker in my opinion. If anyone is interested in seeing how poker players should be thinking as they play I highly recommend those books!

As for recommending people go into poker, I actively tell people to steer well clear of it. Money flows upwards, addicts keep on self destructing and the winning players will justify it with ethically dubious statements like "if I don't take their money, someone else will", or with blinders on with statements such as "all the losing players are probably just casual and playing for fun" to appease their own ethics.

A lot of winning players do not understand or empathise the torture that some losing players have to endure.

There is a real pleasure playing poker on a table with people who are equal, or above you in skill level. The level of thought, the challenge, the tactics are thoroughly thoroughly enjoyable. I was never especially good at poker, but I did touch upon these sorts of experiences. To get there though will take most people a lot of time, probably time better spent elsewhere.


"Poker also has a big potential downside, which is obsession, outright misery and despair which can slowly creep into your life. Distinguishing between addiction and a pursuit you are thoroughly interested in and enjoy is often difficult to pinpoint."

Yeah, a long list of things you can do on the internet has these same potential downsides.

"Math in poker is a little overrated."

I think it's one of the most important parts of the game. Poker is like a market and in each street you are basically looking for arbitrage opportunities. The players set the odds for you, some are long term winners, others are long term losers.

"To get there though will take most people a lot of time, probably time better spent elsewhere."

I agree with this, however, for me poker is a social activity. And that's worth it.


I would also recommend the Harrington books for beginners looking to improve their tournament play. They are widely read, however, and the strategy is exploitable by someone who knows you're playing it. But it's still much better than your own strategy at the start.

Edit: I would say, in my anecdotal experience, you don't encounter the same number of addicts in poker as you do in other games. You're more likely to see them at the roulette or blackjack table looking for a quick bet. The adrenaline moments in poker, tournaments especially, are quite widely spaced out.


>They are widely read, however, and the strategy is exploitable by someone who knows you're playing it.

So true. I've had some great success exploiting people who play Omaha to the letter of one of the more popular books.

>I would say, in my anecdotal experience, you don't encounter the same number of addicts in poker as you do in other games.

My anecdotal experience says that the worst addicts "play" the stock market. I think it works well with your observation about adrenaline moments as every tick makes for one.


> Harrington on Holdem are the best strategy books on poker in my opinion. If anyone is interested in seeing how poker players should be thinking as they play I highly recommend those books!

Elements of Poker by Tommy Angelo the single most important book to read after you actually learn how to play, which the Harrington books are excellent for.

It covers everything about poker that doesn't have to do with what the cards actually are. Where to sit, when to look at your cards, how to act, when to play, when NOT to play, how money flows, etc.

http://tommyangelo.com/table-of-contents/


Are the "winning players" that you refer to at every level, or do you just count those at the very top as winners?

Is poker zero-sum, or do things like spectator events or sponsorship change that?

Also, can you comment on the "creativity" aspect that the blog post suggests. I would have thought very little strategy or tactics are thought up on the spot, but take many weeks of practice beforehand. Perhaps that is only at the top levels though?


As far as zero-sum goes, with the rake [the fee per pot casinos charge] it is negative sum. Further, when ESPN pays Caesars to broadcast the World Series of Poker, none of that money is added to the prize pool, so it is not like professional golf where sponsors help add to the prizepool [or maybe entirely add to it, im not sure]. Some individual players are sponsored so for them, they are "freerolling" [meaning they cant lose money, they can only win as somebody else is paying their way].

For your creativity question, it depends a lot on how players think. There are a lot of small situations that occur in a game where what I have been studying previously makes me think of a better play while I am actually playing, but most of that is based on concepts I have been previously discussing and thinking about. However, Phil Galfond, one of the top players in the world, has said that he learns the most by playing and thinking deeply about every situation and figuring things out on the fly. He is clearly an exception to the rule, and I he is where he is at now because of all the hours he played leading to now as well as how much he discussed the game with other very high level players.


Winning players: The winning players he's talking about exist at every level. At the small time level, they're often "prop" players, sponsored by the casino to generate action where the floor manager wants it.

Poker is strongly negative-sum. The venue has to be paid for. There isn't enough sponsorship to go around to everyone, and there definitely isn't any for the small time.

Creativity: spending a lot of time practicing something isn't the opposite of creativity. I find that creativity is simply recombining things you already know how to do. There aren't many fields where someone is simply "a natural" at a very high level; it almost always comes from practice.


This is an incredibly jaded reply. Somebody who was "never especially good" at programming but spent a lot of time try to be could make the exact same post. Poker is very difficult to become successful at in your part-time, because you need to balance playing with studying which forces you to divide a small pie even smaller.

While the best of the best can beat tough tables and will play anybody, most of us make money by playing worse players. Recreational players will often say "I cant beat these players because they dont think, if only I could move up to where they respected my raises!" But the problem with that is that the majority of our profits come from those players, if you cant figure them out, then you wont be beating the better players. Plain and simple.

As far as math being overrated, I couldnt disagree more. Yes, bad players or people who dont play often ask if you need to be a math genius to figure it out, or if you have to count cards, both of which arent true but that doesnt mean math is unimportant. Yes, pot odds, counting outs, etc is all pretty basic. Solving complex game trees for various situations to find the maximally exploitive play is not. Is the math complex? No, not really. It can be confusing, but there are tools to help and it isnt very high level math; however, that doesnt make it unimportant.

Further, saying math is unimportant is completely ignoring the activity you are "playing." Poker is entirely math. All you are doing is playing a numbers game. In texas hold'em your first card dealt will have a 1/52 chance of being a specific card, and your second will have a 1/51 chance. Then you have the various probabilities for the flop, turn, river, etc. Saying poker isnt about math misses the forest for the trees. I could say blackjack isnt about math, you just need to follow the basic counting strategies to turn a profit. But what do you think those are based on? How were they calculated? Look at what the University of Alberta is doing with math and try to say it isnt important.

I respect your posts in BFI at 2p2, but this is something that only provides the perspective of a player who never reached a high level of play. It is important to understand that perspective, but while people should always learn from somebody who failed, they need to be very careful when looking to them for advice. Yes, many give great advice, and many winners just got lucky, but you need to hear both sides.

TLDR: As far as the actual question goes, if you live in the US dont get into online poker unless it is just for fun. There arent enough options for you to play, and the risks are too high. If you are outside the US and want to learn the game, make sure you have enough time to study and play, use good resources (twoplustwo.com in conjunction with a video training site), listen to people better than you, and always try to improve. Dont look for how to play x hand in y situation, look to understand the framework that will help you make those decisions. It isnt easy, and if you already code then your time is better spent freelancing, but for college students, I think it is a great option, provided they can be honest with themselves about their abilities.

When it comes to crossover with programming, Im not so sure i directly agree (although Im just learning to code, so take this with a grain of salt) with their specific points. I think when poker is properly studied, it helps you learn how to think and analyze situations rationally. That ability helps the coding process, but it is broader than that, and not really the reasons the author outlined. It truly is a math/logic based game (so is any non purely luck based game), so it requires a similar mindset, but I dont expect learning one would help a ton with the other directly.


Somebody who was "never especially good" at programming but spent a lot of time try to be could make the exact same post.

Programming doesn't have a rake.

Regarding math, there are about a half-dozen or dozen situations that you should memorize the approximate odds to, and be able to divide those odds by how much is in the pot (minus your bet/call). It's not that sophisticated, you're not deriving probability theory from first principles here.

Poker's fun, don't get me wrong, but nobody should regard it the way we regard programming.


Great reply thank you!

> Look at what the University of Alberta is doing with math and try to say it isnt important.

University of Alberta have done awesome research into poker, and I believe that every poker game is theoretically solvable. Math is a great tool to win poker with, but for most humans that depth of math is unreachable therefore as a player it's sort of useless (especially so in a live game).

When I was a winning player at various levels (plo100 was as far as I got) I really don't feel I was consciously doing much math except in the less frequent harder spots. (My demise was tilt and bankroll management).

> This is an incredibly jaded reply.

Fair comment, you have to understand though that it's a game that really hurt me at one point and that some of my friends are unknowingly suffering from it. I would not wish my experience of poker onto anyone else, and I would feel very uncomfortable exploiting someone who was in a similar position (which is obviously near impossible to ascertain online). I am quite vocal about this because I do feel a lot of the downsides are glossed over by the winning players - especially the less direct downsides like people deviating too far away from other paths in their lives that they would be happier in (such as a 'real' job/career).

When I went to casinos, local games, even pub games I would only say about 10% of the people in each place were happily enjoying themselves. My experience of poker is that the vast majority of people who play it a lot really aren't actually enjoying the pursuit, many to the point it impacts their outside lives, and that the game does tend to attract less savoury characters. Of the 90% that were not enjoying it, many of them are deluded by their own ability and potential. Perhaps I was just at the bottom of the pit and it changes at higher levels, but new players starting it would be difficult to break away from that majority group.

This definitely makes me hesitant to recommend the game to anyone, regardless of the huge enjoyment and lessons I did get out of it.


thanks for writing this up. I couldn't be bothered to do it myself, posted a snarly reply and got downvoted obviously. Best post itt


To prevent obsession, you should start with an initial budget (e.g. 50$) and never pay more. Force yourself to get more money from the tables. Also restrict your maximum buy-in to something like 1/25 of you budget. For 50$, this means tables with 2$ buy-in. The buy-in restriction keeps you at a comfortable level, because tables with higher buy-ins have better players.

Using this strategy I played from 50$ up to 300$ over a year or something. At that point I quit, because I got bored.


Your advice is pretty much spot on however I believe the downvotes are attributed to the fact that reasonable budgetting doesn't prevent obsession. It may help prevent you from overspending initially but using moderation to prevent an addiction is a bit of an oxymoron.


Poker is awesome. Free poker doesn't teach you much. Programmers value security and structure. With free money there is no structure to poker. People will go all-in, or raise the big blinds. There is no accountability and nothing to risk.

Once you play real-money games you see a drastic difference between play and real. People start being accountable for their actions and try to calculate optimally as to their odds of success on a given hand. The problem is once you start with real-money, win or lose, you find it harder to stop. This is where programming and poker are intertwined. Programmers can't stop programming. They will always program. Poker players will always buy-in.


Poker is mostly about some weird sort of secret autistic like aptitude that no one really understands. Programmer types are higher in weird autistic aptitude than average.

Moderately outlying poker players can make about as much as they can as Bay Area programmers, and it's kind of a lot more fun to hang out all day getting served drinks in a casino all day than be in the Bay Area, though the Oaks Card Club is quite good for live multi table No Limit turbo-ish tournaments. Email if you want to play sometime there.

Also email me if you know of a Bay Area Startup poker game with a decent buy-in. I only ever find the social club low-limit ones on Facebook.

I didn't read the article and upvoted it.


For the best, maybe "reading people" is just how you described it -- that "weird sort of secret autistic like aptitude that no one really understands." This is like that famous (to poker players anyway) first scene of the movie Rounders where Matt Daemon's character goes around and tells you to some sick level of accuracy the hand range of his opponents.

But in my experience, not being that, I can describe it better:

For me, reading people is about giving them as much negative stimuli as possible and watching closely at their reactions. I'm really only passably good at this in a 1-on-1 setting. I avoid big money in multi-player pots if i can even though they provide a chance for much richer implied odds (eg the ability to earn 2, 3 x my money).

What that means is this -- I play what's known as a "tight aggressive" game. I only play about 5-10% of the hands dealt to me. And I play them hard. I raise a lot. Not usually huge raises, instead I like to have more, smaller raises. A good Pot Limit game is great for that. The idea here is simple: I want to make you make more decisions. If I think you're a worse player than I am, then my odds increase the more decisions I make you make. And I would much rather be in a position where I re-raise and she comes back with a huge re-raise and I fold than a position where I have less signal about her hand, and more noise, and think I have the best of it all the way down and lose a big pot.

YMMV, but that's what "reading players" means to me.

Edit:

Also, build a poker bot. For fun. Not profit. You probably won't profit. But I loved it. There are great "engines" you can build off of. I used WinHoldem but this was circa 2005 so certainly there are better options. It's great. You get computer vision, machine learning, etc, it's loads of fun.


Reading people in internet poker means using a HUD plus drawing distinctions based on how long they wait before making a move. That's it.


Wtf HN? How in the hell does this article make the frontpage when it's written (albeit with good intentions) by a complete poker newbie and the points he make are incredibly shallow? There are so many much better blogposts about online poker, please don't upvote this. (fwiw I played up to 25/50 for a little while, and quit a huge winner, so I know what I'm talking about)


I am a programmer and not a poker player. :)


By this logic, programmers should try playing super smash brothers melee competitively.


Any particular reasons for poker instead of chess, go, baccarat, skat etc.?


I played go, chess and many other games. Poker is widely avaible online, could be played for free or money and is quite "dirty". Never seen Jessie James playing chess :P.


Well, the money aspect didn't even figure in the original article as a positive, and go, chess & various other card games contain math, too, and often have quite vibrant online communities.

And, erm "dirtyness" as a deciding factor? Then I'd suggest three card monte.


LOL. :)


As both a programmer and a poker player I have strong opinions on the subject. In turn:

"Math is useful I see a lot of people around telling “I don’t need math”. In poker (and in programming) you need a lot of math, even for simple operations."

I think the importance of math is overstated in poker. When you look at a hand you must determine your chance of your hand improving, which is a straightforward mathematical exercise. You must also determine your opponents chances of improving his hand, which is also a straightforward mathematical exercise, but is complicated by the fact that you can't see the cards your opponent has. So once you have pegged your opponent for a certain hand based on his or her behavior earlier in the hand as well as any previous knowledge you have of the player, if applicable, then again straightforward math. Finally, professional/skilled poker players always calculate the odds the pot gives them versus the odds that either their hand will improve or the odds that in the specific situation they can expect to win the pot, and they further must consider what odds they are offerring to their opponent by their actions. Weighing those factors pretty much completes the degree to which mathematics plays a role in no-limit Texas Hold'em.

"Be fast and precise In online poker you can’t think hours for your next move. If you are a programmer you should be fast-thinking and precise. Fast and no errors."

While this resonates much more for me in vis a vis poker, I think this is borderline idiotic in the sense of programming. In poker you must act fast because it is forced upon you in the context, you have no choice. Think of it like using Javascript before Douglas Crockford came along and enlightened you to the good parts of the language, the only reason to use it was because you had no choice! But in programming, to say that you have to be "fast and [make] no errors" is stupid insofar that it's an obvious goal of which stating serves no purpose. It's like when I tried to explain to a non-programmer friend of mine the concept introduced by Jason Fried of "getting good at making money". He thought it was the stupidest thing he'd ever heard, like as if someone saying "I'm going to work hard to improve my skill at making money" is going to in any way have a causal relationship with the actualization. I probably didn't do Jason justice in setting the right context for my friend, nevertheless I think this phrase exhibits the same logical fallacy.

"If you want to try poker there are a lot of free poker games on facebook, iPhone, etc… Don’t waste your money. The fun is the same."

You'll never get good if you're money is not on the line. Now, I'm not saying that one should get in over their head, or even wager large amounts of money, especially when learning to play poker. However, you will simply not see the real scenarios and wrestle with the real hands that make you a great poker player, unless you and your opponents are playing for money. My impression of free poker games is that they mimic televised poker. Televised poker is for entertainment, not education, so the hands that are shown are epic bluffs, balls-to-the-wall all-in wagers, and other 5%-ish hands that provide the greatest level of excitement to viewers. I'd do the same thing if I was a TV producer, but it's not real poker. My point in this tangent is to illustrate that 95% of winning and loosing in poker comes down to average-plus hands beating average-minus hands. And while no hands are trivial in poker, playing an average-x hand against an opponent who holds the counterpart is ridiculously challenging. You will not have the motivation to really wrestle to find the answer without your money on the line, and getting good at finding out how to induce small mistakes in your opponent is basically synonymous with becoming a good no-limit Texas Hold'em player.

And finally, a gaping omission in my mind:

Poker is great for programmers (and maybe more accurately entrepreneurs) because it is a game where the perfect amount of information is available such that a skilled player, in the long run, can expect to have a positive ROI when playing against players of lesser skill. No-limit Texas Hold'em in particular, is the epitome of this. At the height of its popularity when big no-limit tournaments were attracting deep-pocketed beginners, a skilled player could expect his tournament entry fee to be worth 5 to even 10x its value in terms of expected value each time. The concept of imperfect information is resonant in entrepreneurship I think for sure, and as for it's benefits with programmers, I believe the best way to think about it is that poker in beneficial because it ostensibly uses the same cognition as design patterns in software engineering. You have a problem to solve with a variety of factors, and you apply patterns to solve those problems based on your knowledge and the past experience of others who have blazed the trail before you.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: