Scott Hanselman

Hanselminutes Podcast 15

April 27, '06 Comments [5] Posted in Podcast | ASP.NET | XML | Tools
Sponsored By

HanselminutesMy fifteenth Podcast is up. This episode is about replacing Start|Run.

We're listed in the iTunes Podcast Directory, so I encourage you to subscribe with a single click (two in Firefox) with the button below. For those of you on slower connections there are lo-fi and torrent-based versions as well.

Subscribe to my Podcast in iTunes

Our sponsors are PeterBlum and the .NET Dev Journal.

As I've said before this show comes to you with the audio expertise and stewardship of Carl Franklin. The name comes from Travis Illig, but the goal of the show is simple. Avoid wasting the listener's time. (and make the commute less boring)

  • Each show will include a number of links, and all those links will be posted along with the show on the site. There were a number of sites mentioned in this episode, some planned, some not.
  • The basic MP3 feed is here, and the iPod friendly one is here. There's a number of other ways you can get it (streaming, straight download, etc) that are all up on the site just below the fold. I use iTunes, myself, to listen to most podcasts, but I also use FeedDemon and it's built in support.
  • Note that for now, because of bandwidth constraints, the feeds always have just the current show. If you want to get an old show (and because many Podcasting Clients aren't smart enough to not download the file more than once) you can always find them at http://www.hanselminutes.com.
  • I have, and will, also include the enclosures to this feed you're reading, so if you're already subscribed to ComputerZen and you're not interested in cluttering your life with another feed, you have the choice to get the 'cast as well.
  • If there's a topic you'd like to hear, perhaps one that is better spoken than presented on a blog, or a great tool you can't live without, contact me and I'll get it in the queue!

Enjoy. Who knows what'll happen in the next show?

Now playing: Newsboys - He Reigns

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

DasBlog moved from CVS to SVN

April 27, '06 Comments [5] Posted in ASP.NET | DasBlog | Subversion | NUnit | Tools
Sponsored By

Just an FYI to those who care. Joshua Flanagan has been goodly enough to help us move DasBlog's source from CVS to SVN up on SourceForge. To browse the project on the web, go to: http://svn.sourceforge.net/viewcvs.cgi/dasblogce/

Note: Most DasBlog enthusiasts chase the source code and are running the latest stuff by building it. However, for the rest of us, we do recognize the need for a 1.9 binary release and will get to it soon.

However, if you DO want the code...here's Josh's excellent instructions:

Getting the Code

To retrieve and work with the code, you need a SubVersion client.

  • You can use the command-line client (not recommended) http://subversion.tigris.org/
  • Or you can use the TortoiseSVN Windows shell extension (rockin' sweet): http://tortoisesvn.tigris.org/
    • In either case, you must enable the ASP.NET "hack". It simply requires you set an environment variable before working with SubVersion: set SVN_ASP_DOT_NET_HACK=1.
      NOTE: The new TortoiseSVN will ask you this when you install it. Here's more information about the switch/hack.

The rest of these instructions assume the command-line client. The equivalent actions with TortoiseSVN should be obvious.

The first thing you will notice is that the project root folder (dasblogce), has 3 subfolders:
 [branches]
 [tags]
 [trunk]

These 3 folders are a common convention in Subversion repositories. You can read about them in the Subversion book http://svnbook.red-bean.com/. If you are new to Subversion, I highly recommend you read the first 3 chapters. If you are already familiar with Subversion and how to use these folders, you can skip down to the section labeled *DasBlog Specifics.

For example, to checkout a working copy of the entire codebase, you would use the following command:

svn checkout https://svn.sourceforge.net:443/svnroot/dasblogce/trunk dasblogce

This will create a new folder on your filesystem named dasblogce which contains all of the data under the trunk folder. Nothing from branches or tags will be retrieved.

The DasBlog trunk folder has the following layout:
 [docs]
 [lib]
 [source]
 [tools]

The source folder contains only the source code and automated unit tests created by the DasBlog development team. Under CVS, this folder held all files related to the project. The following sections will describe the new location for files that are not considered part of the DasBlog source code, but are still kept with the project.

The docs folder contains all documentation and reference material (URL links). This includes the readme, license, and release notes.

The lib folder contains all compiled 3rd party assemblies referenced by the source code projects.
These files used to be in the source\Assemblies folder. The projects under the source folder have been updated to reference the files in the lib folder (which is why it is important to checkout the entire trunk, and not just the source subfolder, when working on code).

The tools folder contains all of the executables needed to support the development and packaging of DasBlog (not including the .NET Framework itself). For example, the tools\nunit folder contains all of the nunit executables required to run the DasBlog unit tests. Note that the nunit.framework.dll referenced by the test projects is copied to the lib folder - source code should not reference files in the tools folder directly. Keeping the tools stored with the project helps ensure that all developers on the project always use the same version. (You will want to remove NUnit from your GAC to avoid overriding the project copies.) For more information about this strategy, check out Mike Robert's excellent article "How to setup a .NET Development Tree":

Kudos and big thanks to Josh for taking the initiative on this!

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Open Source versus Source Out in the Open

April 25, '06 Comments [8] Posted in DasBlog | NUnit | NCover | Nant | XML | Bugs
Sponsored By

An interesting point came up during my talk at Deeper In .NET on Saturday. (Korby Parnell has a flattering writeup as does Avonelle, BTW)

There's a difference between "Open Source" and "Source in the Open."

I've seen folks copy and paste directly from Google Groups and when prompted for a bit of code's origin they announce "It's Open Source."

Despite what many folks may have gleaned from some recent thinking out loud, I'm a fan of Open Source. Within the context of just .NET, I think that the (Windows Development) world is a much better place due to widely successful Open Source applications like NAnt, NUnit, log4net, NCover, Subtext, SharpDevelop, etc.

These projects are great places to learn how to code in .NET.

I made a comment at a conference once, where a lot of folks were badmouthing XML, complaining that the XML spec misses a number of important, albeit edge, cases and that it was generally a mess. Not meaning to be snarky (but succeeding) I introduced our next talk saying "I can't talk to the previous speakers concern about XML, but at Corillian we use success as a metric."

That's really what it comes down to. When you copy/paste/refactor/beg/borrow/steal someone else's code and put it into your application it's important that you know at least two things:

A. What it does.
2. That it works.

When one finds code in production (and you know you've found this yourself) with a link to a Google Group's thread embedded within the code's comments, you might want to pause a moment.

I'm much more likely to snarf an algorithm or technique from NUnit or SharpDevelop because I know those applications work and work well. They are successful by virtue of the fact that they are used. What they lack in Unit Tests they make up in sheer code coverage.

DasBlog has a number of nasty bugs lurking, some we know about, most we don't. However, it's tested every day on this blog and others. I know what it's good at and what it's not.

When an application is a trusted, used, successful "Open Source" Application, chances are it's code is more trustworthy than "Source in the Open."

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Speaking Schedule - 2nd Quarter 2006

April 25, '06 Comments [10] Posted in PowerShell | Ruby | TechEd | Speaking | XML | Web Services | Tools
Sponsored By

Just wanted to post about a few upcoming talks I've got:

  • Friday, April 28th, 2pm - Portland State University (Smith Memorial Student Union (SMSU) Room 236) - Monad PowerShell, Microsoft's new Command Shell
  • Tuesday, May 9th, 2006, 5:30pm - Pittsburgh.NET - Topic TBD
  • Just Added: Wednesday, May 10th, 2006, ~6:00pm - North Dallas.NET - Advanced System.Xml
  • Thursday, May 11th, 2006, 6:00pm - Dallas .NET - Essential Tools for the Effective Developer
  • Monday, June 12th, 2006, 5:30pm - (During TechEd!) - Beantown.NET - Essential Tools for the Effective Developer

I'm also presenting at TechEd with Patrick Cauldwell a session for the ARC track called "Dirty SOAP: A dynamic SOAP endpoint, how and why."

Here's our synopsis from the TechEd site. Sign up now so we know how many chairs to bring.

ARC310 - Dirty SOAP: A Dynamic Endpoint without ASMX - How and Why?
Speaker(s): Patrick Cauldwell, Scott Hanselman
Time: 6/13/2006 - 4:30pm-5:45pm
Session Level(s): 300
Not every large system in the wild can use .NET 2.0, ASMX and "Indigo". Often the real world isn't very pretty, and/or formal use of .NET ASMX Web Services doesn't lend itself to a particular solution. Corillian's software handles a quarter of the nation's retail banking online population with .NET. The system is built with a contract-first approach using WSDL and a custom binding to generate in-process service proxies. When it came time for Corillian to present their Operations as SOAP, we created a dynamic endpoint-WITHOUT ASMX. We then extended it to support POX (Plain Old XML). In this session, we discuss the architectural and design ramifications of managing a dynamic endpoint and how this decision will positively or negatively affect our move to WCF.

Additionally, John Lam and I will be giving a joint Birds of a Feather on Ruby and .NET and his brilliant RubyCLR Bridge one evening.

Hope to see you!

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

The Immediacy and the Remoteness

April 22, '06 Comments [6] Posted in Z | Coding4Fun | Movies
Sponsored By

Orb4Remote1Ok, you've sold me. I poo-pooed in the past, but I'm digging it today. I'm away from home and local news in the hotel I'm in is crap. I've got TVs and movies at home I'd like to watch.

Orb.com, while sporting the worst of user interfaces, is the bomb. It was obviously written by folks who know their server side. ;)

I've used BeyondTV in the past for this same thing, forwarding ports outside and auto-transcoding video streams, but the setup of ORB was so very easy and it just works.

I've got the Windows Media Center PC running over yonder in Oregon while I'm here in Milwaukee, Wisconsin in a hotel. I want to watch a show that the Media Center taped back home. I'm connected to the 'net via a Verizon Wireless Cellular Phone PC Card.

Orb detects my connection speed and transcodes the video to the level appropriate for my connection. (This can be overridden as well.) The quality of the video over this cellular connection is pretty sweet.

Orb3There's some kinks to be worked out around seeking within a stream, but this is a no-brainer: Microsoft, buy them, build it into Windows Media Center. (Of course, this is too niche and no one cares about remoting TV, right?)

Remote2

Other than BeyondTV (BeyondTV Link) what are the competitors?

Of course, an alternative to getting video from my house is to get it from the cloud. Why get my copy of a show when there's a cloud copy?

As an aside, being away is hard, but Webcams make it easier. Watching Z react to my voice over the phone is a blast.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.