Scott on Writing

Musings on technical writing...

Scott Hanselman's Recommended Tools

The other day I stumbled across Scott Hanselman's 2005 Ultimate Developer and Power Tools List.  In his blog entry, Scott lists a whole slew of recommended tools and utilities covering a wide array of facets.  Definitely worth checking out.

There are a few tools Scott mentioned that I wanted to give a shout out to, as well:

  • Reflector - this tool has given me an understanding and comprehension of the .NET Framework and ASP.NET internals that (IMO) no book could ever provide.  Learning some factoid by reading about it doesn't stick in the ol' noggin nearly as well as figuring out the same bit of information by spending 15 minutes plowing through the actual source code.  Highly, highly, highly, highly, highly recommended.
  • Firefox Extensions - extensions make Firefox one sweet browser.  The most useful to me in a day-to-day setting are GoogleBar, IEView, and WebDeveloper.  For having to dig into the HTTP internals for a request, the Live HTTP Headers extension is invaluable.  (Ditto for Fiddler for IE.)
  • Peter Blum's Validation and More and Date Package - a client of mine bought these controls on a whim and it was the best investment he could have made.  It's probably saved me a couple dozen hours, netting the client several thousand dollars in savings... all this for a few hundred dollars.
  • Andy Smith's MetaBuilders - a number of very useful, free, open-source server controls and custom DataGrid column classes, that have also saved my clients oodles of money over the past couple years.
  • ELMAH - Atif Aziz's Error Logging Module and Handlers component, for which I co-authored an article on MSDN Online (Using HTTP Modules and Handlers to Create Pluggable ASP.NET Components).  This is another thing I use in every ASP.NET project - takes about two minutes to setup and the rewards are priceless.  Plus you can't beat the fact that ELMAH is free and open-source, so you can enhance it as needed.

One tool not on Scott's list that is invaluable to me is UltraEdit32.  (Granted, Scott has a similar buffed up text editor, Notepad2, the benefit over UltraEdit being that Notepad2 is freeware.  I've not used Notepad2, so I can't compare it feature-wise to UltraEdit.)  I also want to give a shout-out to FileZilla, which is a free FTP program that, since I started using it, I could not imagine life without it.  (I was using WS_FTP before... ick.)

For more tools and utilities be sure to check out Scott's list.  There are also some past blog entries that touch on similar topics, such as Programs You Can't Live Without and What Programs Do You Have Running 24x7?

posted on Tuesday, June 28, 2005 9:58 PM

Feedback

# re: Scott Hanselman's Recommended Tools 6/29/2005 10:39 AM Kristopher Cargile

Scott's got an excellent list of tools on his site. I also maintain a list (albeit without the high-caliber descriptions Scott has given us) of development tools on my blog, most of which are free. Take a look and let me know what you think!

# re: Scott Hanselman's Recommended Tools 6/29/2005 11:34 PM Greg Gamble

For text work, I use TextPad. It'll compile and run Java directly; and has syntax highlighting for any language you can think of. One of my "must have" programs.

# re: Scott Hanselman's Recommended Tools 6/30/2005 2:57 PM Brian

Why would you use the ELMAH over the Exception Handling Block that Microsoft provides? I'm new to .net too and the Exception block was recommended by someone who has been doing .net for years.

# re: Scott Hanselman's Recommended Tools 6/30/2005 7:58 PM Scott Mitchell

Brian, the thing I like most about ELMAH is that it's created as an HTTP Module, which means you can just take it and "plug it into" your ASP.NET application by adding the DLL to your /bin directory and adding a few lines of markup to your Web.config file. No recompilation or whatnot is needed.

ELMAH isn't designed to necessarily replace the Exception Handling Application Block (EHAB), rather it illustrates how to make pluggable components using HTTP Modules and shows the maintainance advantages therein. See the article Atif and I coauthored for more info on this concept and details about ELMAH - http://msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnaspp/html/elmah.asp

As I said in my blog post, ELMAH's so easy to setup and use that it's one of the first things I add to any new project. Plus, since I get a detailed email whenever an unhandled exception happens, I can oftentimes fix a bug that a client finds when testing before he can even finish writing up an email to me explaining said problem.

# re: Scott Hanselman's Recommended Tools 7/2/2005 1:38 PM Brian

Sounds like the winner. I read the Exception Handling App Block document and review their code. It requires an import on each page and a custom provider to send emails or do anything other than add to the event log. I also investigated the Data Access Block and it seems to be involved as well and is not 2.0 compatible as yet. MSFT said the next Enterprise Library will be 2.0 ready so I guess I'll wait. Thanks for the info and not just a RTFA reply ;-)

# re: Scott Hanselman's Recommended Tools 7/8/2005 8:51 PM Scott

I just looked at the ELMAH article, and it looks great. I'm curious, do you need to set up the Server SMTP address information? Thanks.

# re: Scott Hanselman's Recommended Tools 7/9/2005 1:20 AM Scott Mitchell

Scott, the SMTP settings in ELMAH are optional. If you want to automatically receive an email when an unhandled exception occurs then you need to provide said information, otherwise you can omit it.

# Watch Your Cookies! 7/18/2005 5:14 PM Scott on Writing

# re: Scott Hanselman's Recommended Tools 7/29/2005 5:07 AM Atif Aziz

Scott, the SMTP server address is one of those settings that cannot be setup in ELMAH and deliberately so. The rationale for this was laid out in a message board thread [1] over at the GDN Workspace for ELMAH [2]. I've included the response here for sake of convenience (apologies to the owning Scott [man, too many Scotts are in the house]).

"The SmtpServer property is a static property, meaning that its value applies globally to the entire AppDomain. ELMAH is like a "third-party" library to the application and if each such library were to set this property according to its configuration settings then they’d basically end up competing and stepping over each other. A little common sense, however, tells us this does turn out to be somewhat of a superficial concern because a sensible setup would have all libraries use the *same* setting. To be on the *technically* correct side, on the other hand, libraries should never touch global and static properties and leave it up to the application to set them up during start-up. In the case of ASP.NET, this would mean setting it in the Global.asax during Application_Start. It’s really the right place because it would then apply to all parties concerned with sending mails. This is one of the only areas (at least know to me to date) where deploying the e-mail module from ELMAH may require a change to application code. This is really an unfortunate side effect of the static design of the SmtpMail class. You can gain some hope using the Fields property on the MailMessage since it can be exploited to set the SMTP server on a per message basis. The downside here is that the solution would then only work on ASP.NET 1.1 since the Fields property was not there in 1.0. I didn’t want to leave out people who may want to eventually use ELMAH with ASP.NET 1.0. I guess I could use conditional compilation such that the feature would only work on ASP.NET 1.1, but that seemed ugly in the face of binary or type compatibility. There may exist a more elegant solution that could take advantage of JIT or dynamic assembly loading, but I dropped both those avenues to keep ELMAH digestible for the online article."

[1] http://www.gotdotnet.com/workspaces/messageboard/thread.aspx?id=f18bab11-162c-4267-a46e-72438c38df6f&threadid=64b1e0c3-8022-4f0b-b4e7-2bac55f591a8
[2] http://workspaces.gotdotnet.com/elmah

Title:  
Name:  
Url:
Protected by Clearscreen.SharpHIPEnter the code you see:
Comments   

Add To Your Reader

My Links

Archives

Post Categories

 

I am a Microsoft MVP for ASP.NET.
I am an ASPInsider.
<May 2008>
SMTWTFS
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

Comment Stats

DayTotal% of Total
Sunday 1866.8%
Monday 37913.9%
Tuesday 45316.7%
Wednesday 50418.5%
Thursday 53519.7%
Friday 49418.2%
Saturday 1666.1%
Total 2717100.0%

Hour1Total% of Total
12:00 AM 652.4%
1:00 AM 682.5%
2:00 AM 622.3%
3:00 AM 742.7%
4:00 AM 572.1%
5:00 AM 1033.8%
6:00 AM 1084.0%
7:00 AM 1585.8%
8:00 AM 1716.3%
9:00 AM 1475.4%
10:00 AM 1716.3%
11:00 AM 1816.7%
12:00 PM 1886.9%
1:00 PM 1696.2%
2:00 PM 1605.9%
3:00 PM 1324.9%
4:00 PM 1073.9%
5:00 PM 923.4%
6:00 PM 913.3%
7:00 PM 963.5%
8:00 PM 833.1%
9:00 PM 782.9%
10:00 PM 792.9%
11:00 PM 772.8%
Total 2717100.0%

Comments by Blog Entry Date/Time

Day Entry MadeAvg.Total
Sunday 5.54144
Monday 5.22339
Tuesday 4.28419
Wednesday 7.67637
Thursday 6.90607
Friday 5.48411
Saturday 5.33160
Total 5.842717

Hour1 Entry MadeAvg.Total
12:00 AM 5.0035
1:00 AM 1.002
5:00 AM 0.000
7:00 AM 7.0035
8:00 AM 5.35107
9:00 AM 6.32278
10:00 AM 6.47246
11:00 AM 4.41181
12:00 PM 6.88330
1:00 PM 3.00111
2:00 PM 5.41222
3:00 PM 8.64285
4:00 PM 4.0589
5:00 PM 5.92154
6:00 PM 4.52113
7:00 PM 9.67174
8:00 PM 9.80147
9:00 PM 5.05111
10:00 PM 5.4265
11:00 PM 4.5732
Total 5.842717

Learn More About Comment Stats
1 - All times GMT -8...


Blog Stats

Favorite Web Sites

My Books

My MSDN Articles