Archive for February, 2008

February 25th, 2008

Google Lets You “Chatback” With Your Visitors

As many of you may know I love Google Talk. I love it because of its light foot print both on my hard drive and when running in memory. I love the integration with all my Google services. And I love the flexibility that it provides. If you would like a copy of it, you can download it as part of the Google Pack. Or by it self from http://www.google.com/talk.


However the Google Talk team just gave me another reason to love Google Talk. It now allows me to have direct conversations with my visitors with a simple click of the mouse on the chat bubble you see to your left.

This new feature is called chatback and allows you to integrate Google Talk in to any website you have access to add HTML. Chatback uses the web-based Google Talk Gadget so your visitors don’t need to download anything. It opens in a new window so they can keep chatting with you even if they browse to other pages.

Of course, chatback isn’t just for blogs. You can use it on any web page that you can add HTML content to. To get started, visit the chatback start page. (This is also linked from the Google Talk homepage.) Then just copy the provided HTML snippet to your web site. Visitors will then see a badge on your site indicating your availability, and can click to start a chat with you. If there’s a time when you don’t want to be distracted, just set your online status to “busy” and visitors won’t be able to chat with you until you change your status back to “available.”

So now if you want to chat with me about anything and you see a Green dot. You have the go ahead to say hi or ask me any question you want. I may not always respond, because I sometimes forget to turn of GTalk when I am in a meeting or giving a presentation.

Tags: , , , , ,

Posted in News | kick it on DotNetKicks.com | Bookmark | View blog reactions | 5 Comments »

February 24th, 2008

Nick Berardi’s Essential Software for 2008

Every developer has their favorite tool collection that they must have in order to survive while developing software. The list below is indispensable in my day-to-day activities and that is why I am sharing it with my readers. My list was inspired by Scott Hanselman’s own list of tools that he uses. However I would be really interested to see what Scott’s actual list is since it would be almost impossible to touch each and every tool once a week as he claims. Because many of them serve the same purpose.

The goal of my list is to keep the tool list up to date with my current tool set. So if I stop using a tool it will drop to the bottom of the list in a section called Not Using Anymore.

Creative Commons License This list is licensed under a slightly different license than the rest of my site. So please do not reproduce this work in it’s entirety. I would rather you link to http://www.coderjournal.com/essential-software/, because work like this takes much of my time. And I am going to do everything that I can to make sure the links stay relevant and up to date. You have this pledge from me, because the links below are also my source for downloading these tools.

Development Tools

  • Notepad++
    This is a great program because it will open up any text based file and allow for quick editing. Also has built in context menu integration.
  • WinMerge
    This is still my favorite merge application, I know others have a growing following. But this is my chosen merge application because many of the others tools, check for and integrate this tool with their own to provide a free collaboration toolset.
  • PuTTY
    PuTTY is a wonderfully portable tool that doesn’t require an installation and can easily allow you to make SSH connections to any source that you may need to. I personally use it to create a tunnel in to my home network, which provides me complete access to all my computers via remote desktop with out exposing them on the internet.
  • PowerShell
    PowerShell allows for some advanced script processing and is readily being integrated in to many Microsoft projects. Now is a great time for developers to jump on board.
  • Reflector
    Reflector allows you to peer in to the .NET assemblies and view the code in your preferred language.
  • CodeSmith
    Great tool for generating any type of code that you may need from a template.
  • Fiddler
    This tool is one of my favorites because it allows me to watch the HTTP requests and view the headers. Fiddler acts as a proxy between for your HTTP connections.
  • NRegEx
    This JavaScript based tool RegEx evaluator is a great way to quickly test your regular expressions.
  • RhinoMock
    I have just started using RhinoMock for my unit testing and it really is an amazing piece of code.
  • WireShark
    WireShark use to be called Ethereal and monitors all network connections that pass through your network card.
  • Microsoft Network Monitor
    Microsofts answer to WireShark.
  • URL Rewriter and Reverse Proxy
    This is my own URL Rewriter and Reverse Proxy that I have developed. It uses the Apache style mod_rewrite syntax, so it should be familiar to most developers who have worked with Apache in the past. It is not very hard to understand so anybody can easily pickup the syntax.
  • Microsoft Best Practices Analyzer
    This is a great tool that analyzes your setup on your server and makes recommendations around best practices.
  • Visual Studio Team System 2008 Team Foundation Server Power Tools
    Extra power tools that provide access additional tools that were not shipped with the Gold Version of TFS 2008. It also includes an Team Foundation Server Analyzer that makes sure you server is setup properly.
  • Visual Studio 2005 Team Foundation Server Power Tools
    Same as above only for TFS 2005.
  • Team Foundation Server Administration Tool
    This is a great tool that lets you set permissions for each project in your server. Sometimes the permissions aren’t set correctly for each project for all the servers required, including SharePoint, SQL Reporting, and TFS. This can occur in installations were users are not defined by groups.
  • Visual Studio Express
    Don’t think this one needs explaining.
  • SQL 2005 Express
    Don’t think this one needs explaining either.
  • GhostDoc
    This is a wonderful tool that lets you document your source code pretty quickly. One thing I really love this tool for is that it helps me make self documenting code, because inorder for GhostDoc to work the methods and properties have to have some English flow to them.
  • TortoiseSVN
    Great tool with Windows Explorer Integration that allows you to work with the SVN source control server directly though Explorer.
  • AnkhSVN
    Lets you work with the SVN source control server by integration with Visual Studio.
  • Consolas Font Pack
    This is a wonderful font that is very easy to read. It is highly recommended for Visual Studio. I use it as my default.
  • SmartFTP
    A great FTP program.
  • Paint.NET
    This is one of my favorite projects currently on the internet. The developer of this application is constantly pushing C# to the limits. And does a great job with usability. It also has 99.9% of everything I require from a graphic editor as a software developer. The 0.1% that is missing is Icon support.
  • Microsoft Virtual PC
    This is a must have for any developer, especially when you are required to run operating systems that are not your current install.

Firefox Add-On

  • LinkedIn Companion for Firefox
    LinkedIn integration for keeping track of contacts.
  • StumbleUpon
    Great add-on that allows you to find sites you never knew you wanted to find.
  • IE Tab
    This is probably one of my favorites because it quickly lets me switch back and forth between Firefox and IE without ever leaving the Firefox browser.
  • User Agent Switcher
    Allows you to change the User Agent of FireFox with a quick drop down menu. I usually setup a User-Agent for Google Bot to see how websites react and change to the search engine.
  • Google Browser Sync
    Keeps your bookmarks in FireFox synced between your work and home PC.
  • Firebug
    Firebug is a must have for any professional web developer. It allows deep access to the HTML in a nice tree structure and event displays code that is generated by DHTML and JavaScript.

    • YSlow
      Grades your website and provides some useful hints on improving your score.

Other Software That Makes My Life Easy

  • Mozy *** My Review ***
    Everybody should back up their computer, and Mozy provides unlimited backup for $4.95 per month. Also Mozy Pro allows you to backup your SQL Server and Exchange installs.
  • Skype
    Great for making VOIP calls to your friends and family. Also many contractors are starting to use this as their primary communication especially over seas.
  • Picassa
    Very good program for keeping track of your family photos.
  • Gtalk
    I love it because it has a very small foot print.
  • Google Pack
    Get a whole host of software provided by Google and it also updates other common programs for you, such as Skype, FireFox, Acrobat, and others.
  • 7-Zip
    I mainly use this on my Servers because it provides better and quicker support for archiving of Zip files than the built in Windows Zip Archiver.
  • PowerArchiver
    I became disenchanted with WinZip about 4 years ago, and I happened to stumble across this application that had the look and feel of WinZip but provided support for 7-Zip, RAR, CAB, ZIP, GZip, and many others.
  • Virtual TI-89
    Because every once and a while you need to graph out more complex equations.
  • CCleaner
    It’s a very good idea to clean your registry every Spring. It is really amazing the speed in boot time when Windows doesn’t have to load a bloated Registry.
  • Ultimate Boot CD
    Wonderful set of tools.
  • WordPress
    I use it on Coder Journal, and even though my forte is .NET I still haven’t found a better blogging application.
  • Windows Live Writer
    Allows for quick and easy posts.
  • Deamon Tools
    Quickly mount and dismount ISO images for your favorite software.
  • LinkedIn Outlook Toolbar
    Allows you to keep your Outlook Contacts in sync with your LinkedIn network information and connections
  • gSyncIt
    Allows me to keep my Google Calendar in sync with Microsoft Outlook, so that my wife always knows what is going on during the day. Also has the added benifit of syncing stuff from Google to Outlook when she wants to add something to my calendar.

Tags: , , , , , , , ,

Posted in Personal, Programming, Review | kick it on DotNetKicks.com | Bookmark | View blog reactions | 1 Comment »

February 13th, 2008

Best Practices for Production ASP.NET Applications

I would like to thank Kyle Beyer of Daptivate for putting this post together. This is a great resource for developers as well as server administrators. Some of what I think are the most critical steps for any production server I have pulled out below for your browsing pleasure.

1. Generate new encryption keys

When moving an application to production for the first time it is a good idea to generate new encryption keys. This includes the machine validation key and decryption key as well as any other custom keys your application may be using. There is an article on CodeProject that talks about generating machineKeys specifically that should be helpful with this.

My Take:This is very important, which is why I think it is number 1, especially if you have a standard image that you burn on all your new servers. This is important because this is the base encryption key that .NET uses when securing any of its data/communications.

4. Set retail=”true” in your machine.config

<configuration>
    <system.web>
        <deployment retail="true"/>
    </system.web>
</configuration>

This will kill three birds with one stone. It will force the ‘debug’ flag in the web.config to be false, it will disable page output tracing, and it will force the custom error page to be shown to remote users rather than the actual exception or error message. For more information you can read Scott Guthrie’s post or the MSDN reference.

6. Set the memory limit for your application pool

When creating the application pool, specifically set the memory limit rather than the time limit which is set by default. Asp.net has a good whitepaper which explains the value of this:

By default IIS 6.0 does not set a limit on the amount of memory that IIS is allowed to use. ASP.NET’s Cache feature relies on a limitation of memory so the Cache can proactively remove unused items from memory. It is recommended that you configure the memory recycling feature of IIS 6.0.

7. Create and appropriately use an app_Offline.htm file

There are many benefits to using this file. It provides an easy way to take your application offline in a somewhat user friendly way (you can at least have a pretty explanation) while fixing critical issues or pushing a major update. It also forces an application restart in case you forget to do this for a deployment. Once again, ScottGu is the best source for more information on this. This actually returns an HTTP Response Code of “503 Service Unavailable” which is the Google friendly way of saying we are down for an update.

And my own addition to this great list would be. These are some of my own personal best practices that I try to keep.

* Don’t use the Default Website instance

I don’t like using the Default Website instance in IIS, it is created by default and much like the Automatic “First Post” which is part of any blog software, it is usually the first to be deleted on my servers. I prefer naming my web site instances after my domain that is going to be hosted, so for example in IIS for Coder Journal the web site instance is called coderjournal.com.

** Don’t use the wwwroot folder to host your websites

Much like how I don’t like using the standard Default Website instance in IIS I also don’t like using the c:\inetpub\wwwroot\ folder. I usually try to put all my websites on a separate partition. If I don’t have a separate partition I create a folder on the c:\ driver where all my websites will be stored.

Tags: , , ,

Posted in How To | kick it on DotNetKicks.com | Bookmark | View blog reactions | 4 Comments »