WSOP Day 1

I played in the $1500 Pot Limit Omaha 8 or better WSOP today. Event #41. It’s a 3 day event, I survived day 1 with a slightly below average stack. About 170 players remain, 82 places pay, payouts range from $240k for first to $3k for 82nd.

I’m in pretty good shape. Some key hands.

In one of the early rounds, several players limp, so I limp in late position with Ad Kd 5d 4c. We see a flop of Ac 3d 7d. Player right in front of me bets most of the pot, I call, small blind calls. turn is an offsuit K, giving me nut flush draw, open ended straight draw, top two pair, 3rd nut low. Now it’s checked to me, so I bet the pot, and the small blinds raises me and we get all in. He turns over J332 for just a small set and I have a huge number of outs to scoop him, but he dodges them all and takes half.

After the dinner break, I’m getting a bunch of good hands, I run my stack up from 8k to over 14k, then this hand happens. At 200-400 blinds, I have Ac Th 9h 2s and it’s folded to me on the button. I raise the pot to 1400, then the small blind reraises the pot. It’s about 1/3 of my stack. I should probably fold, but I call. The flop is K64, he bets out the pot and I fold. He later claims he had AA2x

Near the end of level 7 I think, several players limp into a hand. I am somewhat short stacked and have KJ63 in the big blind and check. flop is K85, two diamonds and it gets checked around. The turn is an offsuit J and the small blind checks, so I bet the pot with my top two pair. Button calls and small blind calls. The river is an offsuit 2, and now the small blind bets out the pot. I somewhat grudgingly call all in. Happily, the button also calls. small blind has just A3 for nut low and button has AK53 for nut low and two worse pair than me. So I get half of a 3 way all in pot, to bring my stack back up to just under average.

Near the end of level 9, I win a decent sized pot when me and a guy get all in on an K75 board and he has AA29 and I have AA5x but I make trips to scoop.

All in all, I’m playing well, but I’ll probably be loosening up to start to make more progress and accumulate more chips. I definitely feel like I’m in the top 1/3 of the players at my tables.

Comments off

Not so hot no NoSQL

A few years ago a lot of software people got very excited about so called NoSQL databases. It started I think with the papers introducing the Google File System(GFS), BigTable and their use of MapReduce(which like PageRank turns out to be based on decades old principles, just applied in a new way). Since then many different distributed databases have come along including Hadoop, Cassandra, CouchDB, MongoDB, Voldemort, and many others. Typically the NoSQL dbs trade off ACID compliance, 100% availability, and/or a SQL interface in return for being distributed and much higher performance or lower cost. I bought into it and thought it was a great idea. Now I’ve sort of changed my mind.

NoSQL is not a bad idea, but it fills a pretty small niche. A much smaller niche than I thought before. If you are considering a NoSQL implementation, you should probably satisfy several of the following conditions:

  • willing to develop in house expertise in NoSQL storage, monitoring, backups, analysis, tuning
  • large dataset
  • A lot of unstructured data
  • no schema design

Willing to develop in house expertise:

This is the big one in my mind. I don’t know many people who love SQL, but it’s a very mature, very well understood standard. You can find expertise at all levels, whether you need a tutorial to write your first SELECT, or you need to a DBA and storage expert to figure out why your query on a multiterabyte Oracle DB takes 5ms instead of 1ms.

Large Dataset:

MySQL can handle millions of rows easily and hundreds of gigabytes per table. Oracle can scale even better, and that is without using any sharding or partitioning. Of course Oracle is more expensive, but you get piece of mind and support. For NoSQL to make sense, you need to have a dataset of billions of rows, or multiple terabytes of data. NoSQL dbs are mostly distributed object dbs with carefully designed to partition data among nodes and handle node failures. So if you’re running on a single host, you’re almost certainly better off going with a traditional SQL db.

Unstructured data:

One common reason to use a NoSQL db is to avoid  storing text or xml BLOBs in a database. This is an excellent use for NoSQL. One of the great values of a SQL database is that you can get good average response times because your data is structured. A SQL db querying an indexed integer field is a lot more predictable than trying to store and query both integers and 10MB text objects together. SQL databases are traditionally not good at handling BLOBs. Also because people usually require highest availability on SQL databases, people think that putting large unstructured data into a NoSQL db with cheap distributed hardware is a money saver. Of course even with NoSQL, you’ll still need a monitoring, administration, backup and high availability plan of some sort, but in theory it shouldn’t be as expensive as the  ”this SQL db must have 100% uptime” plan.

no schema design:

Many NoSQL databases are simple key-value structure or key-object. This is fine for many types of applications. But building extra layers on top of this to handle object relationships or mappings is time consuming. Some NoSQL databases have columns or fields and definable indices, allowing fast lookups. They tout flexible schema as a great design feature. OK, but SQL dbs are even better at that.

I still think NoSQL dbs are cool and useful, just not for everything

Comments (3)

Where’s tiered desktop storage

I got a couple SSDs last year and they are super fast. I bought two Intel X-25m g2 and put them in a raid 0. I get over 400MB/s sequential read.

It’s a the best upgrade that money can buy. Why? Because for years disk performance has been improving so slowly compared to the rest of system performance. Disk capacities have grown dramatically, but I/O latency and in particular random access time hasn’t seen much improvement in decades.

The next step is for system developers to take advantage of SSD’s unique properties to present a new tier in the hierarchy of data access. SSD is not quite as fast as memory, but it offers large amounts of data/$. DDR3 memory is about $20/G, while MLC SSDs are closer to $3/G. And as importantly, random access memory performance is more similar to SSD than traditional hard disk. There’s a lot of computing research and technology devoted to bridging the gap in performance characteristics of memory and spinning disk. Things like virtual memory, ram disks, disk caches, and maximizing sequential access all are designed to avoid slow random accesses of disk, but what if we lowered the cost of random disk reads by two orders of magnitude? That’s what SSD does.

There are several ways to take advantage of SSDs. One is to simply use it like memory. It’d make a great swap disk. One thing I’m going to try is allocating a full 80GB or 160GB SSD as a swap disk and try and create a process that occupies that much virtual memory. That’ll be interesting experiment because there’s no reason it shouldn’t work, and while it won’t be quite as fast as real memory, it’d be a lot cheaper if you need to make a process that needs a huge amount of memory. I’ve seen a couple of appliances which use this technique to make a dense memcached server.

The second trickier way to use an SSD is to build a tiered storage system. The simplest type of this is a single disk hybrid ssd. It just uses an ssd as a cache for the regular hard disk. So you get some of both, fast SSD access and cheap storage in the hard drive. This could be popular but isn’t yet. Seagate announced the Momentus hybrid storage for laptops. I don’t know if there are volume shipments of these. Enterprise vendors now have expensive SSD arrays which companies can use to build their own storage tiers. These solutions are flexible and reliable, but extremely expensive and typically deployed as SAN storage arrays.

What I want is more sophisticated desktop support, I want the OS to support tiered storage in software. Windows and Linux already support software raid, but it’d be even better if they built on that and created support for software storage tiering. So for instance, I could dedicate a pool of ssd drives as my cache and a pool of hard drives as my long term storage and data automatically gets moved from the cache to the hard drive and back when the cpu is idle and the data in the cache is old. Sun’s ZFS supports designating an SSD as a cache pool, but licensing has prevented it from running directly on linux. And I have doubts about the future of ZFS with Oracle owning it.

If I had a lot more knowledge and an infinite amount of time, I’d write the linux support myself, but I don’t, so I’m hoping someone else will.

Comments off

Week in Puerto Vallarta

We spent last week in Puerto Vallarta at the Crown Paradise all inclusive resort. It’s nice, I recommend it. We got a good deal. It wasn’t super upscale, but it was pretty good. It was mostly relaxing, we didn’t have any planned activities.

The hotel itself was pretty nice, it was a bit odd that we had a full kitchen and refrigerator in a 1 bedroom unit at an all inclusive hotel. But we later found out that our part of the hotel had been re-converted from a condo to a hotel so it made sense. A few other things struck me. Compared to our trip to Cabo San Lucas last year, the hotel guests were much more Mexican. At Cabo, I think like 70% of the guests were American/Canadian. At Puerto Vallarta, it felt like less than 40%. Part of it was that our hotel in Cabo was nicer, but it still was good to see that at least some Mexicans still seem to be doing pretty well for themselves. The kids water park was interesting as a contrast to what an American water park would be. The water slides were short, maybe 10 feet tall, but the bottom of the slide dropped into about 12 inches of water on slick painted concrete. An American hotel would never have that kind of thing due to liability and injury concerns. This didn’t stop me from letting Lucas play there, but I did wonder if that made me a bad parent. The water park was pretty busy with dozens of other kids so apparently I wasn’t the only bad parent. Many kids ran around with even less supervision than I was giving Lucas. The food was good, better than expected I’d say. In particular the meats were always very good, or excellent. The food tended to cater to the mostly Mexican guests, but I enjoyed it even though Mexican food isn’t usually my favorite. Unfortunately as with any all inclusive, even if it’s very good, by day 4 or 5, you’re kind of sick of it anyways. And of course, we ate too much.

I did play a round of golf at the Vista Vallarta golf course with my brother-in-law. It’s a nice course, well maintained, it only cost us I think $60/round but that was a discounted rate. I don’t play much golf and I’m bad, so I’m not sure how I’d describe it, but it was a bit tricky and had a lot of ditches. I saw a lot of sand play and lost many many balls. The good news was that I shot 10 strokes better on the back 9. The bad news was that I shot a 78 on the front nine, and that might’ve been a bit generous.

We bought a nice cake for Lauren’s birthday, unfortunately it didn’t taste quite as good as it looked. It was very nutty and heavily sauced inside.

We also got to swim with some dolphins while we were there. I figured it was kind of a once in a lifetime thing, so I might as well try. It was more fun than I imagined, though my expectations were probably a bit low. Dolphins are cool.

Pictures at http://tierneychen.shutterfly.com/1972.

Comments off

Starcraft 2 Beta Impressions

We’re about two weeks into the Starcraft 2 Beta and here’s my impressions. I used to be a very good, but not expert Starcraft 1 player. I played it for about 3 years. I’m mediocre at Starcraft 2, and pretty disappointed about how I’m playing right now.

Overall: It’s good, no doubt. The graphics are excellent. But it feels like it’s missing something new. In pre-beta builds, they had several different new mechanics that looked even more interesting(like the mothership’s time stop and planet cracker, phoenix overload). I wish they’d put some of those features back in. They’ve gone with a build that looks more like the original than I would like.

Strategic: The new cliff jumping and destructible rocks really change things. It’s much harder to just defend a base from a single choke point, and static defenses are slightly weaker than they used to be. Those two things put together mean that the game is less turtling and more aggression than the original. In addition, the mid-game ground units are pretty weak, so after the early game, it becomes a race to air units. This isn’t good or bad, just different. Overall, the games are noticeably shorter, I think most games are 12 minutes or less. The maps are good, and the map editor will supposedly be excellent.

Balance: It’s in flux of course as they test and tweak, but overall it’s pretty good. There will no doubt have to be some changes, probably even after release, but right now it doesn’t feel too bad. We’ve already had 3 patches and they’ve taken care of several things that I thought weren’t working.

Specifics: I really like Colossi, and in general I like Terrans. I like how they’ve given races slightly more differentiating abilities, like Zerg get a speed bonus on creep, Protoss Warp Gates can summon units anywhere with pylon power, and Terrans can lift off buildings and switch the building add ons between different types of buildings.

Comments off

the new wp version

After a lot of frustration with blogger.com(and in particular their disabling of remote ftp support), I’ve moved to wordpress. I’ll be updating this and making changes soon

Comments off

Vacation in San Diego

We spent a few days in San Diego last week for Lucas’ birthday. We visited Legoland and Sea-Life(the aquarium next door) and the San Diego zoo. Overall, Legoland was enjoyable for 3-6 year olds, the rides were innocuous and unexciting. There weren’t quite as many actual Legos as I thought there would be. The time of year and the previous week of hard rain had scared away all the crowds, so we had to wait just once more than 15 minutes for a ride. SeaLife was mediocre, it was clearly just an afterthought added on to Legoland. It was probably only worth 2 hours of entertainment. The world famous San Diego Zoo was impressive, but not quite as impressive as I had imagined. It’s bigger and better than the SF zoo, but not amazingly better. Though we didn’t go out on the Safari adventure, just the main Zoo. We stayed at the Grand Pacific Palisades Resort and had very nice rooms for a very good price, probably a combination of the time of year and the economy. They have nice rooms, a big pool and mini-waterpark for kids. We also had a good experience with food. We enjoyed Gregorios, Karl Strauss, and Bistro West. Overall it was all very nice. I’d definitely go back.

Comments off

What kids learn

Lucas has shown some interesting things lately. For one, he’s learned to lie. 6 months or a year ago, he didn’t know what it was. You could ask him if he did something bad, and he’d tell you. Now when he does something bad, and we call him out on it, he is able to lie to try and get out of it. He doesn’t do it all the time, but I am pretty sure he understands that he’s lying.

Also there’s been a change in how he solves problems. We are doing the same simple jigsaw puzzle we did a year ago, it’s got about 50 big pieces or so. We’ve done the puzzle dozens of times. When we did it a year ago, he’d memorize the picture on a piece and be able to put it exactly where it went. It was impressive, he’d do a better job than I would much of the time. Now he solves the puzzle algorithmically the way I do. He analyzes a piece and searches for neighbors, unfortunately it’s quite a bit slower than his old methodology, but at least it doesn’t require repetition to get better.

Lucas is starting to learn to read, but hasn’t gotten too far yet. He’s probably average or a bit ahead for his age, but I would like him to overachieve a little more.

Comments off

Bethany Beach

Been a while since I posted. The family spent last week in Bethany Beach, DE. It’s a nice, oceanside, suburban town with a lot of nice houses that you can rent out during the summer. We got 2 big houses for the extended family and spent a week there mostly just hanging out. We spent a couple days at the beach and some time driving to the nearby boardwalk at Rehoboth. We played a round of mini-golf and I saw a whale from the boardwalk. We didn’t eat out more than a couple of meals. Because the houses had full kitchens, we cooked most of the time. We celebrated my dad’s 75th birthday. Overall it was a great time, mostly because I got to see my family and Lucas and Lauren got to hang out with their cousins.

Comments off

Health Care

I’m a liberal, but in my old age I’m a bit more conservative and I’m swayed by using proper economic incentives to achieve societal goals. I am generally a fan of using free markets and pricing to guide people because it’s the simplest, most predictable method of encouraging change. But health care is a massive, complex problem which clearly is not working and there doesn’t seem to be a way to fix it without massive government intervention. I start with the premise that we want at least basic health care with universal coverage. A couple of things I’ve heard recently make me think that free markets are not the way to go. The various components of the health care industry have perverse a set of incentives that are sort of contradictory to overall public health.

First, doctors are paid by the procedures they do and not the overall quality of life that they provide to the public they serve.

Second, health insurance agencies can achieve financial success by avoiding paying out claims. Insurance companies spend a large amount of effort to avoid covering expensive patients and procedures.

Third, consumers have no way of ever understanding, valuing or navigating through the health care system without professional help.

I think we need a publicly funded health care option. It’s critical for someone you trust to step in between the consumer and health care provider to give you the best value for care, set cost limits, and negotiate with providers. Government may not be the most efficient way of doing this, but at least you don’t have to second guess the intentions of the government like you do with an insurance company.

Comments (1)