Craig Shoemaker

<August 2008>
SuMoTuWeThFrSa
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456


Navigation

The Roll

Subscriptions

News

Check out the Podcast
Polymorphic Podcast - the show about object oriented development, architecture and best practices in .NET
Subscribe to the Blog
ASP.NET 2.0 AJAX
Beginning Ajax with ASP.NET

Post Categories



This Blog Has Moved

I have moved this blog over to a new account. Please update your aggregators to point to

http://feeds.feedburner.com/PolymorphicPodcastBlog

...and you will automatically be updated with any future changes to the this feed.

Thanks,

Craig Shoemaker

posted Thursday, December 06, 2007 5:08 PM by drazz75 with 0 Comments

Why I Quit My Job: So I Can Podcast More for You

I Quit With a Smile on My Face

I recently quit my job for a much bigger and decidedly better opportunity. I am elated to announce that I have accepted a new position with Infragistics as a New Media Evangelist. This means that I get to spend my days doing the things I love in hopes that I can help bring the developer community closer to a great company.

What does this mean for the Polymorphic Podcast?

I see great things on the horizon. While I retain 100% control over the show, Infragistics is allowing me to spend time during my workday on development and production of the show. In the past I have always had to steal an hour here or an hour there to work on production, but now I have dedicated time to apply to the growth the Polymorphic Podcast.

What this does not mean is that the Polymorphic Podcast is now a corporate extension of Infragistics. You don’t need to worry that I will be dropping the URL of my employer all over the place. There is no veiled marketing going on here. Infragistics just realizes there is a lot of value to keeping me connected to an established community. I thank Jason Beres and Ambrose Little for their hard work in making this happen.

So When Do You Get a New Show?

How about three? I’ve been promising you a video on how to install Subversion on a Windows box. Wait no longer because that video is now here. I have also recorded a show demonstrating how to use a new utility I call MVP Commander (thanks Rob Conery!) that generates MVP stubs right in Visual Studio. This way you are not forced to go to the tools page on my website to generate this code. Please checkout the notes and download links for the code and video here. Finally I recorded an audio catch-up show to announce my affiliation with Infragistics, tell you about the video shows and answer some reader email. You can listen to the show on the MVP Commander show-notes page.

Get Ready!

Between the work I am doing on my blog and podcast, the new podcasts, videos and screen-casts coming from the Infragistics website, and some appearances I am making at user groups and conferences throughout the year - some of you might be regretting asking for more! ;)

posted Wednesday, November 14, 2007 9:46 AM by drazz75 with 6 Comments

Podcast: Architecting for Extensibility II : Interview with Miguel Castro on Extensibility Patterns in CodeBreeze

Listen to the show here

Craig Shoemaker sits down with Miguel Castro to follow up on the first show on Architecting for Extensibility. In the previous show, Miguel takes us through a number of the patterns that make it possible for you to design points of extensibility into your applications. In the sequel to part one, Miguel describes in detail how he uses this pattern in CodeBreeze.

Raising Money for Diabetes with Halo 3 on Oct 11

Join Scott Hanselman in his enduring fight against diabetes by playing Halo 3 in high-def! For details on the event check out Scott's blog (http://tinyurl.com/yue4qm). To sign up go to http://iammasterchief.com/

Thanks!

I want to send a warm greeting and a big thanks to:

  • Jeffrey Norris
  • Buddy Stein
  • Brian Deacon

Still an MVP

My ASP.NET MVP award was renewed this year!

posted Friday, October 05, 2007 9:19 AM by drazz75 with 0 Comments

Podcast: Subversion Quickstart for .NET Developers

Listen to the Show!

Subversion

Subversion, sometimes known as SVN, is an open source version control system. Subversion allows users to keep track of changes made over time to any type of electronic data. Typical uses are versioning source code, web pages or design documents.

Why Subversion over Visual Source Safe?

While Visual Source Safe (VSS) is fully integrated into the Visual Studio environment, there are many disadvantages that can not be ignored.

Reliability

Sam Gentile, in his blog post entitled "No More VSS, Its Subversion", is so bold to just link to the search terms "VSS+corrupt" on Google to make a case for the ubiquity of VSS problems.

  • Numerous accounts of crashing and corruption: See links above...
  • Not a client-server application: The current VSS setup makes it difficult to expose source code to developer's outside your network.
  • Database size restriction: Some say the limit is 2GB, others say 10GB. Even if it's 100GB - who want's to worry about a size restriction?

Preferential Issues

There are also a number of issues with VSS that are most fairly described as "preferential issues". I cite these issues because while they are not technically "bugs" they do represent limitations that many developers find as a hurdle to deal with in the real world. Examples of some of these issues are exclusive file locking and VSS's method of tagging and branching make it difficult at times to work with.

Operation

Subversion features the operations you would come to expect from any source control system. If you come from a VSS background, some of the terms may seem a bit awkward. Below is a list of the most common operations you encounter while using Subversion.

Trunk

The trunk is the main thread where you will often work on your source code. The trunk acts as the basis where you can branch off and make changes or create point-in-time copies of your code. The trunk, just like a tree, is what supports a source code project.

Checkout

As opposed to a "check out" in VSS, a Subversion checkout is when you contact the code repository for the first time and bring down the files on to your machine. When you do a checkout the file and directory structure is created on your computer and a hidden folder is created under each folder under source control that helps maintain the state of each file.

Add

When you want to add a new file to the source control repository, you must first mark the file as being added. This will signal to Subversion that the next time you synch up with the repository, the file must be copied from its location on your machine to a versioned state on the Subversion server.

Commit

Many changes that you make to files will require a two-step process to expose the changes to other users of the repository. After you have added or changed a file, you must commit the changes up to the Subversion server. This will allow you to make many changes, but submit all the changes to the repository in a single transaction. Changes to the repository are atomic actions.

The two-step process also enables Subversion to keep the code repository's integrity while not requiring a exclusive lock on files under source control.

Conflict Resolution

When multiple people are working on the same project, inevitably they will end up editing the same file at the same time. When this happens there is a conflict in file states that must be resolved. When you go to commit your changes to Subversion, if a conflict is detected you will have an opportunity to resolve the conflict. Some of the UI tools make the experience prettier, but the process is the same whether or not you are using a GUI tool or the command line. Conflict resolution will expect you to choose portions of a file or entire files all together as the file version of the file. You do have an opportunity to say, "give me this section from file 1 and this section from file two" in order to reliably keep everyones cha