Tuesday, March 06, 2007

You haven't experienced New York City properly until you've spent your first weekend there and:

  1. Gone shopping out the whazoo
  2. Seen Les Miserables on Broadway (with Lea Salonga :))
  3. Seen Chicago on Broadway (with Bebe Neuwirth :))
  4. Been to the Empire State Building
  5. Eaten a NYC pie (pizza for the uninformed)
  6. Been to Times Square, Rockefeller Center, etc
  7. Ridden the subway
  8. Been to The World Trade Center site (Ground Zero)
  9. Left your wallet in a taxicab on the day you're supposed to fly out, only to recover it in the nick of time
  10. And much more.

We had a great weekend (March 3rd-5th, 2007) despite the debacle of #9.  It's been a surprise trip I've been planning for our 10th anniversary for some time.  In fact, the trip itself was a well guarded secret for a while, until that fact was divulged by an over-eager daughter...though thankfully she got her North-West confused with North-East. :) ...a fact that I exploited fully.

We'd never been to NYC before and wanted to soak it up as much as we could.  We'd long wanted to see Les Miserables on Broadway.  It's far and away my favorite production.  Also, and this was a much unexpected treat, but upon arriving to the theatre we discovered that Lea Salonga was playing the part of Fantine.  For years I have followed Lea's work and absolutely LOVE her voice.  She played Kim (in Miss Saigon - another favorite), the singing voice of Jasmine (in Disney's Alladin) and Mulan.  But her standout performance, IMO, was when she, reprising her role as Eponine in Les Miserables, nailed the part in the 10th Anniversary on-stage production.  So as you can imagine, I was in heaven to be on Broadway to see her perform.

We also made an impromptu decision to see Chicago on Broadway as well.  We've enjoyed the soundtrack for years but had never the opportunity to see it on stage.  Playing the role of Roxy Hart was the amazing Bebe Neuwirth (Lilith from Cheers and Frasier).  Bebe played the role of Velma Kelly in the recording we own, so that was a particularly special delight.

We stayed at the Waldorf=Astoria towers, ate some great food, and had a great time.  We were on our way to see the Statue of Liberty when I realized that I had left my wallet in a taxicab 20 minutes earlier.  Fortunately, some good people found it and returned it to me a few hours later.  The cash (about $350-$400) was gone, but that's what I expected (how sad is that?!)...I hope it went to someone who needed it more than I.  I was a bit panicked because we were scheduled to fly out of town later that evening and without an ID I wasn't going to be able to get on the plan.  I'm glad it didn't come to that.  Well, our plans to see the Statue of Liberty were cut short, but all in all we had a wonderful time (we did see it at a distance).

I may call this experience "the full experience", but there is oh, so much more to do - already anxiously anticipating the next trip! :)

Tuesday, March 06, 2007 11:09:00 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  |  Trackback
 Thursday, March 01, 2007

On March 8th, 2007 there's going to be a special event at the local, Salt Lake City Microsoft Offices: Windows Vista for Developers Clinic.  If you're using Vista, planning on using Vista, writing software that needs to run on Vista, or generally want to know more about it, please register and attend.

The event is an all-day event, running from 9:00 AM - 5:00 PM (just in time to get out to head to the Utah .NET User Group :)).  I'll be there and would love to see anyone else there as well.

(NOTE: I just found out about this event today - sorry for the late notice, but as I understand it not many are yet registered, so hurry up.  It should be a fun time.)

Here are the details:

Salt Lake City – March 8, 2007
Salt Lake City Microsoft Office
123 Wright Brothers Drive, Suite 100
Salt Lake City, UT
Registration: 8:30 am
Event: 9:00 am - 5:00 pm
Register:
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032329708&Culture=en-US
Event ID: 1032329708

Windows Vista for Developers Clinic

For developers who want to create connected applications with visually appealing and highly-differentiated user experiences, Windows Vista provides the most productive, secure and reliable platform.  Developers can take advantage of the .NET Framework for rapidly building connected and secure applications or websites, leverage native Windows APIs for additional functionality and performance or freely mix between the two models.

This one-day instructor-led clinic and hands-on lab for developers introduces students to high-level information and facilitated discovery on the Microsoft Windows Vista platform, maintaining and enhancing their productivity and driving them to further study and adoption of Windows Vista as their preferred application development platform.

AGENDA

Session 1: Introduction to Windows Vista Application Development

The session provides an overview of the major goals and benefits related to developing applications for Windows Vista. The session focuses on the new features available in Windows Vista and on an overview of the application compatibility issues for deploying existing applications that might not be Windows Vista compatible in a corporate environment.

Session 2: Introduction to Microsoft .NET Framework 3.0 Technologies

The session provides an overview of the .NET Framework 3.0 programming model. After explaining the basic concepts of .NET Framework 3.0, the session describes how to develop applications using Windows Communication Foundation and Windows Workflow Foundation as well as how to use CardSpace.

Session 3: Introducing Windows Presentation Foundation

The session provides an overview of how the Windows Presentation Foundation provides the foundation for building applications and high fidelity experiences in Windows Vista, blending together application user interfaces (UIs), documents, and media content.

Session 4: Introducing the Windows Vista APIs

The session provides an overview of the new Windows Vista APIs and demonstrates how to use the new APIs to develop applications for the RSS platform and to query the Windows search engine.

Hands-on Lab: Developing Applications for Windows Vista

The hands-on lab provides students an opportunity to work with developing applications for Windows Vista in a hands-on environment. This lab focuses on new application development features in Windows Vista.

Thursday, March 01, 2007 7:41:00 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  |  Trackback
 Thursday, February 22, 2007

I ran into an interesting issue today when working on an ASP.NET 2.0 Web Application Project that I had not heretofore seen.  Very frequently, but not 100% of the time, upon debugging my application from Visual Studio 2005 I would encounter an error message resembling "Cannot create/shadow copy 'XXX' when that file already exists." where 'XXX' is the name of some resource in my project.  I hadn't seen this error before installing SP1, leading me to believe it has something to do with that upgrade.  However, almost all of my Web Application Projects are done with IIS and not the Cassini web server - so maybe it's Cassini related.

Nonetheless, it's pretty easy to fix.  You simply have to tell ASP.NET not to shadow copy the project assemblies to the ASP.NET temporary folders file by updating your web.config with the following entry:

<configuration>
   <system.web>
      <hostingEnvironment shadowCopyBinAssemblies="false" />
   </system.web>
</configuration>

Then just restart your Cassini web server or simply right-click it and select 'Stop'.  That cleared it up for me.

Thursday, February 22, 2007 3:42:00 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [15]  |  Trackback

A special memorial fund has been set up for Jamie Walker (Jason Walker's wife) in his memory.  Jason unexpectedly passed away two days ago (Feb 20th, 2007) and leaves behind a beautiful family, a loving wife, and a great many friends.  Jason's enthusiasm for life was unbounded; an excitement with invigorated and enlivened all those around him.

As a small way of saying thank you to Jason for his friendship, his loyalty, and his support, please find it within your heart to donate to this memorial fund.  In this trying time for his family, it's but a small gesture of love and support to reach out a comforting hand and help buoy them up.  Please show your support by sending any donations to:

Jason Walker Benefit Memorial Fund
Wells Fargo
P.O. Box 3488
Portland, OR 97208-3488

If you're in Utah, you can go into any Wells Fargo bank and deposit directly into the account for Jamie Walker (contact me if you'd like the account #).

As I understand it, the name 'Jason Walker Benefit Memorial Fund' will not be set up for a day or so, but if you use snail mail to the P.O. Box above I don't foresee an issue.

We love you, Jason.

Thursday, February 22, 2007 3:49:00 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  |  Trackback
 Tuesday, February 20, 2007

I was greeted several hours ago with some very unsettling, tragic, and somber news.  Though it has taken some time for me to internalize the weight of the event and for the news to settle in, I feel greatly privileged to have had a close association with Jason Walker and his family.  Jason, a friend and associate on many levels, tragically passed away this morning.

Jason's influence has impacted all those with whom he came in contact.  Jason was a great friend who was, as a mutual friend said, a force of nature.  I can't help but think that his life was cut short and his potential not yet fully realized.

I still can't believe that it happened.  I can't believe I'm referring to my good friend in the past tense.  I vividly recall the very first time we met.  Even now - especially now - it seems like just yesterday.  I am so grateful that we had the opportunity to share many special moments together and with his family.  Our families have made it a tradition over the past year or so to go out to dinner and/or a movie and pass a delightful evening together.  Those memories will endure forever.

Most of my interaction with Jason was at a professional (or at least a technical) level.  His influence and impact as Vice President of our local Utah .NET User Group was felt every single time, every single meeting.  He will be deeply missed.

Jason loved life and enjoyed it immensely.  Despite the last two years in which he endured much due to a motorcycle accident, his miraculous recovery demonstrated his spirit and his positive, upbeat outlook on life.  He constantly shared his rejuvenating spirit with everyone.

Jason leaves behind a beautiful family (wife and two children).  Our thoughts are with his family at this time, as we reach out to offer a consoling hand.  Ours is the desire to help in any way we can.  On that note, and as a very small gesture, we are wanting to set up a special fund in memory of Jason for his family in this, their time of need.  I'll be publishing any and all details of that fund in the coming days as more information becomes available.

Here's to you, Jason.  I believe I speak for all when I say that you will be missed.  You were a great friend and I will always look back at our association with fondness, longing, and great memories.  You are loved.

Tuesday, February 20, 2007 10:57:00 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [2]  |  Trackback

Yesterday I posted that Microsoft released SQL Server 2005 SP2 last week.  This morning I noticed that my friend Craig had made a similar post a few days ago.  It's funny that this morning I was going to check to see the status on VPC 2007 and lo and behold, Craig beat me to the punch there as well.  Oh well.  I'm a big advocate of virtualization and have used VPC 2007 in its beta form for months, and VPC 2004 prior to that on a daily basis.  It's free to download and use.

Couple that with Invirtus' stellar VM Optimizer and you've got some great software.

Tuesday, February 20, 2007 4:10:00 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  |  Trackback
 Monday, February 19, 2007

Just a few days ago Microsoft released SP2 of it's SQL Server product.  Download it here.  If you're running Vista you'll want this update as pre-SP2 isn't supported on Vista.  Now I'm waiting for one more update (the VS.NET 2005 SP1 for Vista) before I officially make the switch on my primary development machine.

Monday, February 19, 2007 4:02:00 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  |  Trackback
 Monday, February 12, 2007

Deploying a web application and a database to a single server is pretty straightforward.  In fact, it's quite common.  However, for a variety of reasons, it may be necessary to separate the database from the web application into two (or more) physically separate machines.  Many a developer may be caught unawares by potential database authentication issues that may arise in this scenario.

If your web application accesses the database directly, with its own set of credentials, your task may not be too complicated.  You may simply need to make sure that Sql Authentication is enabled on the SQL Server.  If Windows Integrated Security is required, there are ways you can accomplish this as well, such as by programmatically impersonating a user, or perhaps by using a COM+ package with a specific identity.

If, on the other hand, your application needs to flow the end user's credentials (e.g. the browsing user's credentials) to the database there are some other things you'll need to consider.  This type of application is common place in a corporate intranet where a user logs on to his machine and can then navigate to a company portal without requiring an additional logon.  The authentication simply happens behind the scenes between the browser and the site.

Due to restrictions imposed by how NTLM works, however, if you must use integrated security and your database server is physically separate from your web application you will be unable to access the database through the website (though you would if you connected directly).  This is because NTLM causes the server to authenticate the client.  The client security token is authenticated by the web server.  When the time comes to connect to the SQL Server as the user, the database server will attempt to authenticate the client (in this particular connection the web server is the client).  The web server will not have the client token so authentication fails.  Essentially, you're given one network/machine “hop“ with your credentials.

This is where Kerberos comes into play.  Kerberos will allow your credentials to flow further, giving the database server the ability to ascertain your security token and grant you access.

If you're developing an ASP.NET application and need this functionality, there are a few things you should have in place to allow for the client credentials to flow across multiple machine boundaries like this:

  • Make sure impersonation is set in the web.config via <identity impersonate=“true“ />
  • Make sure that the website is set for Windows Authentication / Integrated Security (not anonymous).  If you set for Basic Authentication, the client will be prompted to login upon connecting and the web server will contain the security token and will then, upon attempting to query the database, make its one allotted network “hop“...but that defeats the purpose of the single sign-on we achieve with Windows Authentication.
  • Make sure that the machine is trusted for delegation.  This is accomplished in the Active Directory Users and Computers console.
  • Make sure that your connection to the remote database is using Named Pipes.

While troubleshooting this scenario you may encounter an error such as “Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'”.  In such an event it is possible that Kerberos is enabled but you're accessing the remote SQL Server via TCP/IP.  Make sure that your connection string specifes to use Named Pipes.

Monday, February 12, 2007 5:08:00 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  |  Trackback
 Thursday, February 08, 2007

Tonight's User Group presentation went better than last month's, though still not as smoothly as I would have liked.  The demo gods weren't on my side several times tonight.  Despite that, the event worked out for the best.  We held the Utah .NET User Group meeting at a new facility (provided graciously by Digital Draw Network) and sponsored by SOS Technical; it worked out quite well.  Our topic this evening was .NET Serialization.  We addressed serialization from various angles, experimenting with Binary, SOAP, XML, and custom serialization.  In addition we explored creating a custom IFormatter and even touched on versioning of serialized objects.

All in all it was a lot of fun and we had a good time.  I wish I could have done better, but then again, I always do.

Oh, and as an aside, our gathering at Denny's afterwards is getting bigger and better every time.  We had many people show up and it was a blast.  I really look forward to the 'after event' event.

Thursday, February 08, 2007 4:22:00 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  |  Trackback
 Wednesday, February 07, 2007

Time has once again flown by!  We're ready to move into February's installment of the Utah .NET User Group on Thursday, February 8th, 2007.

Neumont University, who has been so generous of their time and facilities has a school event that night which occupies both of the rooms we usually meet in. A huge thanks goes out to Digital Draw Network (DDN) for stepping up to the plate and offering space for the User Group to meet :) And - most conveniently - DDN is located in the same office park.

Directions:

When you turn on River Front Parkway off of 10600 South, rather than turning into Neumont, proceed a few buildings down. You'll reach a round-about in the road. Follow that around and turn into the parking log of 10897 South.

Time: 6:00 PM
Date: February 8th, 2007
Place: Digital Draw Network, 10897 South, River Front Parkway, Suite 300

DDN has arranged that the building doors will be open until 6:30. We are very excited about the prospect of meeting there. In fact, due to the multitude of scheduling conflicts for '07, we'll be evaluating the location for future meetings as well. We express our gratitude to DDN for the offer. Additionally, we've arranged to have internet connectivity in the new location (though perhaps not for the first meeting due to the short scheduling notice).

Invite your friends, co-workers, colleagues, enthusiasts, peers, inferiors, and anyone you'd like to attend. The event is free to all.

This month's meeting will focus on .NET Serialization and will be sponsored by SOS Technical.

It'll be a great time! See you there!

Wednesday, February 07, 2007 7:37:00 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  |  Trackback