Category Archives: Uncategorized

Trapped in the poker world

Yep, I admit it. I’ve gotten sucked into the whole poker craze. I think it was Brad Wilson’s fault, originally.

Only two small problems:

1. I tend to prefer tournaments more than cash games, even though cash games are generally much more profitable.

2. When I get into a new hobby, I really get into it. Not in a gamblaholic sense, but in a “I need to keep doing this so I can get as good as I can possibly be at this thing” sense.

So I of course flew to Vegas last weekend to play in a few tournaments.  Not the WSOP events (although I’m thinking about going back to play in one of the preliminary NLHE tournaments), but just some of the regular tournaments. Here’s a quick story from one of them:

First tourney I played in after arriving, at Binion’s, $150 buy-in (2000 chips) + $50 add-on (1500 chips).  108 players.
After about 5 hours of playing, I make it to the final table of 10.  I put out two players in the first 3 hands, who were short stacked enough to have to go all in on marginal hands, and I’m now on the big stack.  2:1 chip advantage over the next biggest stack, over 100K in chips.
We whittle down to four folks.  I’m still on the big stack, but not by much – one other guy is pretty close.  Blinds are 6,000/12,000, antes 1,000.
Guy to my right raises to 25,000 under the gun, with about 50,000 more chips in his stack.  Based on past behavior, this is a pretty weak raise from this guy, and it looks like he’s trying to steal the blinds.  I look down and see A-J suited.  Pretty strong hand for 4-handed, I’m thinking.  So I lay an 80,000 raise on the guy, which would put him all-in to call.
Blinds both fold…and this guy sits there thinking about it for a while.  The longer he thinks, the more I want him to call. :-)  He finally calls, and turns over K-6 unsuited.  I’m thinking a) wow, can’t believe you called with that, and b) woo-hoo.
Darned if he didn’t suck out on me with a 6.
So anyway, I was crippled after that, given the size of the blinds, and ended up going out 4th.  Well into the money, but not nearly as much as 1st place.  Sigh…

Chris takes me to task

At least I can count on Chris Pirillo to not hold back. :-)

He’s right – we did have an IM exchange a couple of weeks ago, and I did tell him development is moving forward on NewsGator Outlook edition. In fact, it’s in beta right now, but the beta is pretty small at the moment while we iron out some problems. As I’ve said in the past, there are MAJOR changes in the way we retrieve and synchronize content in this version – and we’re moving slowly to make sure that when we ship, it not only rocks, but it’s rock solid.

An older version of Chris’s subscription list is actually one of the test cases we use for testing. And it works fine…but performance isn’t quite up to the level we want with that many feeds (Chris’s list is about 800 or so feeds, and we test with others with about 1500 feeds).

So Chris, I know you want to be on the beta, and you will be…just give us a chance to get it to a point where it’s ready for you.

As to his point about wasting bandwidth, NewsGator Outlook edition works similarly to nearly every other desktop aggregator – it retrieves content directly from the publisher – so I’m not sure how that’s acting irresponsibly. That said, some of the changes we’ve made in the upcoming version have to do with the way we retrieve content…so stay tuned, and I’ll post more details as we get closer.

New and Improved

As many of you noticed, NewsGator Online was down for maintenance last weekend for about 8 hours.

We use Microsoft SQL Server on the back end for much of our storage needs. What we found was the SCSI disk arrays we were using for storage were being maxed out in terms of I/O throughput during peak times on the site. Lots of changes have been going on in the database structure and the code accessing it, but at the end of the day, we just needed more I/O capacity than was possible with the storage system we had.

Another problem in parallel was the massive growth we’ve been experiencing.  The SCSI arrays we were using had physical limits as to how much storage space we could add, and we were bumping up against those limits on a regular basis. We needed something more expandable.

So over the weekend last weekend, we installed an EMC fibre-channel SAN, and moved our I/O-intensive SQL databases over to that. We got a HUGE boost in I/O performance, and we can now expand storage capacity very quickly and seamlessly without downtime.

We went live again around 6:00pm.  Amusingly enough (in hindsight), at 6:31pm, we had our first drive failure…we’re all sitting there with the EMC guys, and our phones start beeping with the email notifications.  Probably better that it happened while they were still there!  Luckily one of the hot spares just took over, and we had a new drive at the data center a few hours later.

In the end, we’re very happy with the current system.  We can now scale out where appropriate with local storage, and scale up where necessary with the SAN.

One new years resolution done!

I didn’t post about it…but one of my new years resolutions for this year was to clean out my email inbox.  I believe at the beginning of the year, I had about 500 unread messages, and about 1500 total in that folder…I was using it as an every-growing to-do list.  It hit critical mass a couple of weeks ago, with over 1000 unread.

Some friends told me to just archive the whole thing and start from scratch…but I just knew there were things in there I should respond to. So over the last week or so, I’ve been cutting it down to size.  And today, on a holiday, I spent about half the day and got it all the way down to empty.  Could I be more excited?

So if you’ve gotten a flurry of email today, regarding things you’ve long since forgotten about, now you know why!  And here’s to hoping I can keep this better under control now. :-)

New guy on the block…

As you can tell from my post last week laying out the NewsGator product roadmap, enterprise products and services are a big part of our future. In support of this, I’m excited to announce that Charlie Wood has joined our team as Vice President, Enterprise Solutions.
Charlie has been involved in the online syndication and aggregation space for quite some time. In 1997 he joined content management vendor Vignette, serving first as a systems engineer and later as an account executive. Ultimately he became Group Product Manager for the company’s $100M content management and syndication product line. He later served as Director of Enterprise Solutions at Stellent, and managed operations for network security startup Permeo Technologies.
You’ll probably hear a lot from Charlie in the coming months.  Watch his Moonwatcher weblog, where he writes about RSS and its applications in the enterprise.
Welcome Charlie!

Long time no write

Wow, it’s been a while. So much has been going on, and I’m going to try to catch you all up here in the coming week or so.

One thing I’d like to mention here…we at NewsGator have decided to donate 3% of our Q1 revenue to the American Red Cross for the Tsunami relief efforts. Our hearts go out to all involved during these difficult times, and I hope we can make a difference.

The Best of the Best

Yep, we’re still looking for great Windows and .NET developers.  Turns out it’s pretty hard to find folks with the depth of knowledge we’re looking for.  Most recently, Gordon has joined us (welcome!), but we still need more help.

So I thought I might list a few questions that our ideal candidate wouldn’t have too many problems with. Does this describe you?

  • You know the difference between _beginthreadex and CreateThread.
  • You know all of the ways to share memory between Win32 processes.  (hint – it’s a short list.) (another hint – it’s a really short list.)
  • You know what an AppDomain is, and you can think of a reason you might want to create one yourself.
  • You know what a HttpModule is, and you can think of at least two examples of why you might use one.
  • You know what Mutexes and Semaphores are used for. (hint – they don’t magically enable sharing stuff between threads.)
  • You know you can override member functions in C++ without them being declared virtual; and you know when and why you should declare them virtual.
  • You can explain the difference between:
       A::A() {m_x = 5;}
       A::A() : m_x(5) { }
  • When someone asks you to write code on a whiteboard to reverse a string in place, you’re disappointed that they didn’t ask a more interesting question.
  • You know that IL isn’t interpreted.
  • You can explain transaction isolation levels as they relate to SQL Server.
  • You know what the Running Object Table is, and can think of situations when you might want to use it.
  • You want to work with an amazing team of folks who thought I shouldn’t have put such easy questions on my blog.
  • If you’re not already here, you’re interested in relocating to Colorado.
Most of the work we do is in C#…however, some of our work is done in C++ (Managed C++ in most cases).
So if you want to come work with us, working on cutting-edge products for a very quickly growing company, then send a note to jobs (at)!

RSS and SourceSafe

I while back, I wrote an application to generate RSS feeds from Visual SourceSafe databases. The code was set to expire a few months later, as we were considering building this capability into a product. A couple more times after that, I posted updated versions with a later and later expiration.

Well, I’m happy to announce that we’ve decided to release the source code for this application. It requires .NET 1.1, and build files are included for Visual Studio .NET 2003.

This really is a cool app…it runs as a Windows service, and generates RSS feeds based on the change logs in VSS. And now it’s free, unlimited, and ready for you to play with. :-) The copyright and license are included in the readme.rtf in the package below – basically, it’s an unrestricted modification and redistribution license.

download source: