March 2005 - Posts

Sample Code: ASC251 Working with the Security Controls in ASP.NET 2.0

Here is sample code and slides from my session at ASP.NET Connections.

ASC251: Working with the Security Controls in ASP.NET 2.0
Server controls are great for abstracting typical functionality in your application, so where are the security server controls? In this session, you will be introduced to each of the new security controls in the ASP.NET v2.0 Framework – Login, Login Status, Login View, and Password Recovery. You will learn how to implement these controls as part of the authentication schema of your applications.

Sample Code: APM251 Applied ASP.NET 2.0 Membership Programming

Here is the sample code and slides from my session at ASP.NET Connections.

APM251: Applied ASP.NET 2.0 Membership Programming
Authentication is one of the great assets of the ASP.NET v1.x Framework – but can it get better? In this session, you will be introduced to the new Membership API feature set in ASP.NET v2.0. You will learn how the membership providers abstract user authentication and how to set up a membership provider in your applications. You will learn how the Membership API enables you to include rich credential storage with very little code.

Sample Code: ASC302 Implementing Role-based Security with ASP.NET and SQL Server 2000

Here is the sample code and slide deck from my session at ASP.NET Connections.

ASC302: Implementing Role-based Security with ASP.NET and SQL Server 2000
Security in Web applications is paramount, and a current hot topic. In this session, you will learn how to implement a complete role-based security model for a Web application. You will learn how security plays a role in the ASP.NET Framework, how to set up user roles in a SQL Server database, and how to use them effectively. Through this presentation, you will learn how to quickly and effectively implement a role-based security model using ASP.NET and SQL Server 2000.

[Poker: non-tech] My New Awakening

Today I made a conscious decision to quit gambling and start playing poker. Those of you who play poker regularly, or seriously, may know what I am talking about. There is a very big difference between playing poker and gambling. Of course, playing poker has an element of gambling to it - you are betting on who has the winning hand (or who can be most convincing that they have the winning hand).

To me, roulette is gambling. You pick a number or a color and spin a wheel. Not really much different then the lottery. Random luck of the spin. Poker, however, involves the element of deception, persuasion, and you can “win” without ever seeing the cards. Its a people-game. A game where the most cunning and creative win. Of course, that can fail, and that is where there is some times a gamble.

Scotty Nyugen said it best when asked how he has been so successful at gambling, and replied, “When you play poker like me, its not gambling.”

Now, I'm not saying that I am Scotty Nyugen level (yet), but I have decided to approach the game more seriously. Its sort of the equivalent to deciding to try out for the football team instead of just playing catch with your friends. I have decided to give up my old habits of gambling for the fun of seeing if I can hit an inside straight draw when I am in first position in a 9-handed game, and start folding K-4 suited in a 9-handed game.

After a dismal weekend, where I played the usual 9-person poker tournament with my friends, and placed 5th, followed by a poor showing in our follow-up open cash game, I decided to really look at how I play, and quit playing for the fun of the gamble, and start playing to win and improve my skills as a poker player.

With my new mind-set and focus, at the recommendation of some friends, I entered a sit-n-go tournament at FullTiltPoker.com for $20+$2 ($20 to the pot, $2 to the house). I played tight in the beginning, playing only the top 10-15 pocket hands. I let the others duke it out, and only played a little loose when I was in good position and at least half the table had folded. When we got down to 5-handed play, I was in my conservative 4th place position, and watching the 4-others work on each other. At 4-handed play I started to open up a little, without risking getting knocked out of the pay-out positions (top 3 pay out 50%-30%-20% of the $180 pot).

By the time we hit 3-handed play, I was in last place, with around $1,800 in chips, to the combined total of $11,700 chips in the other two player’s hands. At this point I am guaranteed to get paid $36 (a 64% profit). After giving up the blinds on some dismal cards, I find myself on the big blind and holding 7/2 off suit. For those of you who don't know, this is the worst starting hand there is. I couldn't help myself...after the dealer slowly called the $120 blind, and the little blind slowly called, I was faced with temptation. Of course, both of these players had been fairly aggressive throughout the game, so I was pretty sure they weren't holding much. I decided it was time to represent Aces. I bet the pot ($360), tripling the bet. The dealer, who was the chip leader called with $240, and the other player folded. The post was now $840 - about half my stack. The flop came down 4-7-A. I decided it was time to keep the bluff alive. I went all-in, and the chip leader folded to me, giving me a $480 boost in chips (around a 25% increase).

After this I started to get slightly better starting cards, and managed to double up once, putting me in a close race with the #2 player. Shortly after that I managed to bust the #2 player with an all-in bet on suited J-Q. He had a low pair, and my over cards paid off with a Q on the flop.

This put me in the #2 position, in a heads-up game. I was now guaranteed at least $54 (a 146% profit). We went back and forth for a bit, and I managed to pull in the lead with a couple of strong plays. In one hand, where I had pocket J's, I called the other player all-in on his big blind call. He had A-5 of hearts. The flop came down with an Ace and he took most of my money, leaving me with just over $1,200 to his $12,300. I had only 10% of what he had.

Again, with a couple strong plays I managed to double up a few times until we were nearly even. I really felt like I had a shot at the #1 position, which paid out $90 (over a 300% profit).

Finally, I was dealt big slick suited (A-K of the same suit), and went All-In. He called, and turned over pocket 8's. While I had one of the top-ten starting hands in Texas Hold'em (#4 to be exact), and he didn't, my fate was sealed. The flop came down a rainbow of low cards, followed by a turn of a J, and a river of a low card. In that hand, my opponent took me out and sent me home with my $54 (or 146% profit).

While I didn't win, I felt very good about 95% of my play, and regret only a couple of hands. I managed to switch my play up when it was critical, and in doing so walked away profitable. I feel good about this.

I will write more about my poker adventures as I have them.

Doug Seven Goes Blue

The rumors are true. I have officially accepted an offer from Microsoft to join the MSCOM CRM & Communities Team (MSCOM-CCT) as a Program Manager (on the Communities side). This team is responsible for building and maintaining the community tools that are used on Microsoft web properties, such as Chat, Webcast, Blog, Newsgroup tools and more. I will continue to work on the Codezone project, or at least on the platform that supports it - the Federated Community Services.

I am very excited about the opportunity to take my external experiences as a community site owner, speaker, author, and all-around community guy, and apply them in the MSCOM space. I look forward to working on some great projects.

My start date is Monday, 3/28/05.

.NET Game Developers Rejoice

March 8, 2005 - Yesterday, Microsoft announced a new developer tool at the Game Developer's Conference in San Francisco. The new tool, XNA Studio, is based on its upcoming Visual Studio 2005 Team System, and will offer tools and utilities for asset management, defect tracking, project automation, and more. The tools is apparently intended for developers who want to build games for the upcoming Xbox2 console system.
 
Here is a blurb from BillG posted on Microsoft's XNA Studio page:

"Software will be the single most important force in digital entertainment over the next decade. XNA underscores Microsoft's commitment to the game industry and our desire to work with partners to take the industry to the next level."
  - Bill Gates, founder and chief software architect of Microsoft