Archive for March, 2005

WSOP

The World Series of Poker is really going to be a spectacle this year. Instead of playing at the traditional Horseshoe Binions, most of the tournament will be taking place at The Rio. The reason for this is that Binion’s just can’t accomodate the expected 6600 participants. That’s 3x last year’s 2200 participants. At 10k each, that’s going to be $60million in prizes. I imagine they’ll pay over 500 places. And the winner will probably get 10-15 million dollars. It will also be held about 1 month later than it usually is, so that they can prepare for all the extra participants. Usually it starts in late May, this year it starts in late June. I might try one or two satellites to get a seat, but the frequency of actually winning cash back is so rare that it is pretty close to throwing money on the lottery.

Leave a Comment

Class::DBI

I’ve never looked at this package before, but Class::DBI looks like a great perl package for database abstraction. If you have a mysql database named ‘emaildb’ with a list of table named ‘emailtable’ and 1 column of emails named ‘email’, this code is all you need to do print out that list. No SQL required.

#!/usr/bin/perl
package email;
use base ‘Class::DBI’;

email->connection(‘dbi:mysql:emaildb’,'user’,'password’);
email->table(‘emailtable’);
email->columns(All => ‘email’);

package main;
@emails = email->retrieve_all();
print “All emails: @emails\n”;

# or you can search for entries with
@search = email->search(email=>’random@nowhere.com’);
print “Random emails: @search\n”;

There’s also iterators to iterate through results and a where clause builder so you can create more complex queries. Of course it can do much more complex things if you need to build your own SQL statements(which most non-trivial applications will need to do at some point). I just glanced quickly at the docs, but I’m sure there’s more to it(and some caveats no doubt), but I am a fan of dynamic programming languages like perl that allow you to build data types at run time like this. I’m going to be sure to use this more in the future.

Leave a Comment

YACHT-9

Last night I went to the 9th Yet Another Cool Holdem Tournament(YACHT-9). It’s a medium sized tournament(61 players) with a $40 buyin. It’s a fun event because the people are generally friendly and it’s not that big a game so there’s not a huge competitiveness that exists in casino games and bigger tournaments.

The tournament went not that great. For the first hour I got really good hands, but didn’t get paid off at all, so I was only up a bit after an hour. Then the second hour I got no hands and was shortly moved to a table where everyone moved all in a lot, so I had to just move in when I saw a hand. I had it hold up a couple of times, but not long enough. It wasn’t very eventful.

The game afterwards was pretty fun. I had two interesting hands. First one: We are playing limit 1/2 crazy pineapple 8 or better. Nat calls first to act. 2 other players call behind and I call from the small blind with A74. The big blind checks and we see a flop. The flop is A63, so I bet, Nat calls and a late position player raises. I have a two way hand and I really don’t want to chop either the high half or the low half, so I reraise hoping to get Nat to fold. It doesn’t come as a total surprise that Nat calls, and the other player calls. The turn is a 2, giving me the best possible low, plus my pair of aces may still be good for high, so I bet out. Both players call. Then the river is a 4, so the board looks like A63 2 4. Any 5 beats me both ways, so I check, Nat bets, the other guy folds and I make a crying call and of course Nat has A5. So he had me beat for high anyways, but we each had 3 outs to scoop.

Later I move to the much bigger 1/2 pot limit hold’em game and on the 4th hand, it goes like this. Kojo limps firs t to act. I loudly taunt him for such weak play. 5 people limp behind him. I am in the big blind, then I look down and find that I have QQ. And after that table talk, I have to raise. So I bet the $12 pot. Everyone except the small blind folds and so he decides to raise to $40. I think for a long while about raising the pot. We both have about $130 total. After some thought I decide he has AK. So my plan is to just call and then if the flop has an Ace or King, I will check and fold, otherwise I will try to get all in on the flop. I execute my plan to perfection. I call the $40. The flop is TT7 with two clubs. He bets out and then I move all in, and he calls. He has AT, I reach into my wallet to get some more money. My best play would have been to get all in before the flop. I was pretty sure he didn’t have AA or KK, but I figured that rather than getting all in on a coin flip. I could get all my money in when was ahead on the flop.

I eventually made back all my money including the tournament buyin thanks mostly to a very loose player who had won a lot of money earlier and was giving it back slowly but surely.

It’s a great event, I am bummed that I’ve missed the past 4 of them.

Leave a Comment

ANWR

I can’t say this is a surprise, but I’m really disappointed that the Senate has passed a bill which would authorize oil drilling in the Arctic National Wildlife Reserve. Sometimes I wonder what people who are so pro-business are thinking. I mean I can sympathize with the lumber worker who is going to lose his job because some green eco-freak like me wants to protect a forest. However, the individual lumber worker is hardly an effective lobbyist and he is not the driving force behind opening up protected forests. The driving forces are huge business run by the super wealthy. It’s not like they don’t have enough money.

More importantly, the drilling is only a temporary solution and would have significant impacts to the wildlife on one of the few undeveloped places on the continent.

Some people believe that environmentally protective policies hurt businesses. I am not so convinced. I feel that the negative effect on economies is overstated because new businesses and innovations will appear to recover some the losses.

My greatest fear is that by destroying a fragile ecosystem like the ANWR or the Amazon we will eradicate some small but precious species which could have otherwise unlocked a key to human biology. Perhaps some fungus or bacteria in the area could lead us to a cure for cancer, but because we wiped it out it will take another two hundred years to find the cure on our own. That may not be a the most plausible scenario, but once the damage is done to a pristine system, it can never be restored to its original state, so it’s worth it to be very cautious.

Leave a Comment

Is XSLT a programming language?

I’ve been looking a bit at XSLT. And I’m still not sure whether I should call it a programming language or not. It certainly has a bunch of things that programming languages do, like if statements, for loops, variables even subroutines. Unfortunately, it gets pretty ugly with all the programming constructs they try to employ. For instance, XSLT “variables” can’t be modified.

Leave a Comment

Programming language evolution

Someone pointed me to this programming languages evolution chart. It’s pretty interesting, and it’s kind of funny to see which languages he considers to be not under active development. If you were to read it at face value, you’d think the only languages are still alive Tcl, Fortran, Delphi, Python, Java, Ruby, php and Perl. I’m amazed I’ve never heard of this O’Caml thing. Also I recently glanced at the Groovy scripting language which is built on top of Java, but designed to be more flexible and agile like Python or Ruby. Groovy has some pretty interesting feature, of course I’m kind of a programming language geek.

Leave a Comment

Poker online

It’s odd that I play much bigger games online than I do at a casino. Part of it is that I rarely have enough cash on hand to play anything bigger than 6/12, while online I have my whole bankroll available.

One thing that I have gotten lazy about is keeping statistics. I am a winning player, but I am probably not winning as much as I should be. I go through phases where sometimes I think I play weak/tight, but then I try to adjust my game and get a bit aggressive. I’m a bit more more prone to being too weak/tight than being too loose/aggressive, but that’s ok by me because it cuts down the variance. I think my pot limit omaha and omaha8 games have improved substantially against typical competition. I’m pretty sure I wouldn’t do so well against top level competition, but I feel like I can beat pretty much any small or medium sized online game.

You know that poker is mainstream when your high school is having a charity poker event. I got an email from my high school alumni association saying they were having a fundraising Hold’em event. $25 buyin, some prizes for the winners, but the money goes to charity. If I were back home I’d stop by. Good luck classmates.

Leave a Comment

Death of Blue Martini

This week Blue Martini announced they were being bought out. It’s the end of an era, and I’m sad to see them fail. It was a good time while we were there, and we had some of the brightest engineers I’ve worked with. Unfortunately, it’s the fall of yet another once promising startup. There was a time when the company was valued at nearly $1B, but that was long ago in the most optimistic days of the dot com boom. The writing has been on the walls for a long time and the buyout was a way to take the company off life support even though their cash position is good($32m), there is just no way to grow the business. The challenges of competing with bigger, more established CRM products like Siebel, Peoplesoft, and mid-tier companies like epiphany.com made it tough to carve out a even a small niche.

The product was good, the people were good, but they grew too fast and the market just wasn’t big enough and the anticipation of more and bigger customers was met with harsh reality. It’s a story repeated frequently enough around the valley.

Leave a Comment

Shameless advertising

Google must’ve put up a new index and I got pushed to page 2 on a search for “Hubert Chen”. It’s kind of depressing because I was #2 on page 1 for a while. Being in the search business, I can tell you the dropoff rate of clickthrus is more than 80% once you get pushed to page 2.

So I need your help. Put up some links to http://www.chen.net and I can of course return the favor. Even my way old Java Applets page(which is now dead because I gave up that mindspring account) is ahead of this.

Leave a Comment

Proofpoint spam protection

I was talking with Tango the other day and he was amazed at the amount of spam I get. He’s been my mail server for a while now and because he works at Proofpoint, he runs all my mail through it to filter spam. I didn’t run any exact numbers, but I am estimating that I get around 800 emails a day of which about 85% are marked correctly as spam, and maybe another %10-15 are false negatives and less than %5 are true legitimate emails. Tango says their product is good and I’m the exception rather than the rule. They do much much better on everyone else’s mailbox he says.

There are two things that make my mailbox a bit more complex than the average mail user, but because proofpoint is an enterprise product, I would think it would deal well with them. First, my email address is old, more than 8 years old, and I’ve never changed it. Second, I have a blind forward from all of chen.net. Which means that if you send email to a Random.User.Name at chen.net I will get it, unless it’s to one of the couple dozen people I specifically forward email. But that shouldn’t be too unusual either.

Proofpoint still works well, but I have no idea why it can’t identify some things that I get which are obviously spam.

I might install Spam Assassin as a backup at some point.

Leave a Comment