Archive for the ‘Tools’ Category.

C# Search: The .NET developer search engine

As a software developer, you’ve probably heard on more than one occasion that "Google is your friend" when it comes down to searching for a solution to a problem, an algorithm, a tool, etc.  As a .NET developer, I cherish very much my friendship with Google’s powerful search engine.  It’s true that I love working with .NET, but sometimes trying to search for a specific thing for it on Google can seem like a daunting task when millions of search results are generated.  Unless you’ve mastered the power of the Google search engine, trying to find exactly what you need is pretty much like trying to look for a needle in a haystack.  And until Google’s search intelligence evolves to a state that it’ll know exactly what we’re thinking, we might as well know how to properly and easily search for things, especially when it comes down to .NET development.  And you know what?  There’s a new site that offers a better and easier way to search for .NET related material.  And you know what else?  It’s powered by Google’s search engine and filters.

C# Search filtersA former co-worker of mine, David Hervieux, was kind enough to use his time and smarts to put together the best .NET-oriented search site powered by Google: C# Search, also known as "The .NET developer search engine".  This search engine is really revolutionary because it helps us to narrow our .NET related search through well-defined sources: sites (like CodeProject, MSDN, DotNetSlackers, etc.), newsgroups, forums, etc. (take a look at the picture on right).  And with the power of Google behind it, you can expect the search results to not only be precise, but super fast!  If you’re accustomed with using SearchDotNet, you can think of C# Search as being version 2.0 of SearchDotNet.

A neat thing about this customized search engine is that when you choose the "Everywhere" item as the source, the search will be done in the same way as if you were performing a regular search on Google.  So what does this means?  Well, first of all, it means that you can set C# Search as your homepage if you’ve already set Google as your homepage since you’ll get the same functionality and more. Second of all, it means that you can use C# Search as the default search page within Visual Studio.  To do this, follow these simple instructions:

  1. Launch Visual Studio
  2. Go to Tools -> Options
  3. Expand the Environment node, then click on Web Browser
  4. Under the Search page replace whatever link is there for "http://csharpsearch.com/default.aspx "
  5. Press on the OK buton

The image below shows you the end result.

Setting C# Search as the default search page in Visual Studio

Firefox and Internet Explorer users can be more productive with C# Search by installing the search toolbars, as shown in the images below.

 
The Internet Explorer C# Search Toolbar

 

The Firefox C# Search Toolbar

Mmmmm…..I’m lovin’ it!

Take control of your system with Windows Sysinternals

I recently purchased a Lenovo Thinkpad T61 (sorry Dell) and after performing a clean install of Windows XP SP3 (sorry Vista), as well as a full image backup with DriveImage XML (sorry Norton), I decided to search for those tools that will help me take a deeper control of my system and avoid chaos in the long run.  If you’re a Linux user, you might not know what I’m talking about.

Windows Sysinternals is Microsoft’s solution for Windows users to download advanced system utilities and technical information for free.  I don’t know about you, but when I see those four word (’advanced‘, ‘system‘, ‘utilities‘ and ‘free‘) in the same sentence, an interrupt gets triggered in my brain.  Seriously, these tools are a great asset for any Windows developers’ toolbox as some of the tools help in pinpointing memory usage information, manage processes and threads, etc.  In case you weren’t aware, Visual Studio doesn’t always ship with all the tools you might need.

As quoted in Windows Systinternals‘ home page:

The Sysinternals web site was created in 1996 by Mark Russinovich and Bryce Cogswell to host their advanced system utilities and technical information. Microsoft acquired Sysinternals in July, 2006. Whether you’re an IT Pro or a developer, you’ll find Sysinternals utilities to help you manage, troubleshoot and diagnose your Windows systems and applications.

Windows Sysinternals utilities are grouped into the following six groups:

  1. File and Disk Utilities: Utilities for viewing and monitoring file and disk access and usage.
  2. Networking Utilities: Networking tools that range from connection monitors to resource security analyzers.
  3. Process Utilities: Utilities for looking under the hood to see what processes are doing and the resources they are consuming.
  4. Security Utilities: Security configuration and management utilities, including rootkit and spyware hunting programs.
  5. System Information: Utilities for looking at system resource usage and configuration.
  6. Miscellaneous Utilities: A collection of diverse utilities that includes a screen saver, presentation aid, and debugging tool.

Here is a complete list of the tools being offered by Windows Sysinternals for each group as well as their description (you can find all these categories here).

File and Disk Utilities
AccessChk
This tool shows you the accesses the user or group you specify has to files, Registry keys or Windows services.

AccessEnum
This simple yet powerful security tool shows you who has what access to directories, files and Registry keys on your systems. Use it to find holes in your permissions.

CacheSet
CacheSet is a program that allows you to control the Cache Manager’s working set size using functions provided by NT. It’s compatible with all versions of NT.

Contig
Wish you could quickly defragment your frequently used files? Use Contig to optimize individual files, or to create new files that are contiguous.

DiskExt
Display volume disk-mappings.

DiskMon
This utility captures all hard disk activity or acts like a software disk activity light in your system tray.

DiskView
Graphical disk sector utility.

Disk Usage (DU)
View disk usage by directory.

EFSDump
View information for encrypted files.

FileMon
This monitoring tool lets you see all file system activity in real-time.

Junction
Create Win2K NTFS symbolic links.

LDMDump
Dump the contents of the Logical Disk Manager"s on-disk database, which describes the partitioning of Windows 2000 Dynamic disks.

MoveFile
Schedule file rename and delete commands for the next reboot. This can be useful for cleaning stubborn or in-use malware files.

NTFSInfo
Use NTFSInfo to see detailed information about NTFS volumes, including the size and location of the Master File Table (MFT) and MFT-zone, as well as the sizes of the NTFS meta-data files.

PageDefrag
Defragment your paging files and Registry hives!

PendMoves
See what files are scheduled for delete or rename the next time the system boots.

Process Monitor
Monitor file system, Registry, process, thread and DLL activity in real-time.

PsFile
See what files are opened remotely.

PsTools
The PsTools suite includes command-line utilities for listing the processes running on local or remote computers, running processes remotely, rebooting computers, dumping event logs, and more.

SDelete
Securely overwrite your sensitive files and cleanse your free space of previously deleted files using this DoD-compliant secure delete program.

ShareEnum
Scan file shares on your network and view their security settings to close security holes.

Sigcheck
Dump file version information and verify that images on your system are digitally signed.

Streams
Reveal NTFS alternate streams.

Sync
Flush cached data to disk.

VolumeID
Set Volume ID of FAT or NTFS drives.

 

image Network Utilities
AD Explorer
Active Directory Explorer is an advanced Active Directory (AD) viewer and editor.

AD Insight
AD Insight is an LDAP (Light-weight Directory Access Protocol) real-time monitoring tool aimed at troubleshooting Active Directory client applications.

AdRestore
Undelete Server 2003 Active Directory objects.

PsFile
See what files are opened remotely.

PsTools
The PsTools suite includes command-line utilities for listing the processes running on local or remote computers, running processes remotely, rebooting computers, dumping event logs, and more.

ShareEnum
Scan file shares on your network and view their security settings to close security holes.

TCPView
Active socket command-line viewer.

Whois
See who owns an Internet address.

 

image Process Utilities
Autoruns
See what programs are configured to startup automatically when your system boots and you login. Autoruns also shows you the full list of Registry and file locations where applications can configure auto-start settings.

FileMon
This monitoring tool lets you see all file system activity in real-time.

Handle
This handy command-line utility will show you what files are open by which processes, and much more.

ListDLLs
List all the DLLs that are currently loaded, including where they are loaded and their version numbers. Version 2.0 prints the full path names of loaded modules.

PortMon
Monitor serial and parallel port activity with this advanced monitoring tool. It knows about all standard serial and parallel IOCTLs and even shows you a portion of the data being sent and received. Version 3.x has powerful new UI enhancements and advanced filtering capabilities.

Process Explorer
Find out what files, registry keys and other objects processes have open, which DLLs they have loaded, and more. This uniquely powerful utility will even show you who owns each process.

Process Monitor
Monitor file system, Registry, process, thread and DLL activity in real-time.

PsExec
Execute processes remotely.

PsGetSid
Displays the SID of a computer or a user.

PsKill
Terminate local or remote processes.

PsList
Show information about processes and threads.

PsService
View and control services.

PsSuspend
Suspend and resume processes.

PsTools
The PsTools suite includes command-line utilities for listing the processes running on local or remote computers, running processes remotely, rebooting computers, dumping event logs, and more.

RegMon
This monitoring tool lets you see all Registry activity in real-time.

ShellRunas
Launch programs as a different user via a convenient shell context-menu entry.

 

image Security Utilities
AccessChk
This tool shows you the accesses the user or group you specify has to files, Registry keys or Windows services.

AccessEnum
This simple yet powerful security tool shows you who has what access to directories, files and Registry keys on your systems. Use it to find holes in your permissions.

Autologon
Bypass password screen during logon.

Autoruns
See what programs are configured to startup automatically when your system boots and you login. Autoruns also shows you the full list of Registry and file locations where applications can configure auto-start settings.

LogonSessions
List active logon sessions

NewSID
Learn about the computer SID problem everybody has been talking about and get a free computer SID changer, NewSID.

Process Explorer
Find out what files, registry keys and other objects processes have open, which DLLs they have loaded, and more. This uniquely powerful utility will even show you who owns each process.

PsExec
Execute processes with limited-user rights.

PsLoggedOn
Show users logged on to a system.

PsLogList
Dump event log records.

PsTools
The PsTools suite includes command-line utilities for listing the processes running on local or remote computers, running processes remotely, rebooting computers, dumping event logs, and more.

RootkitRevealer
Scan your system for rootkit-based malware

SDelete
Securely overwrite your sensitive files and cleanse your free space of previously deleted files using this DoD-compliant secure delete program.

ShareEnum
Scan file shares on your network and view their security settings to close security holes.

ShellRunas
Launch programs as a different user via a convenient shell context-menu entry.

Sigcheck
Dump file version information and verify that images on your system are digitally signed.

 

image System Information
Autoruns
See what programs are configured to startup automatically when your system boots and you login. Autoruns also shows you the full list of Registry and file locations where applications can configure auto-start settings.

ClockRes
View the resolution of the system clock, which is also the maximum timer resolution.

Filemon
This monitoring tool lets you see all file system activity in real-time.

Handle
This handy command-line utility will show you what files are open by which processes, and much more.

LiveKd
Use Microsoft kernel debuggers to examine a live system.

LoadOrder
See the order in which devices are loaded on your WinNT/2K system.

LogonSessions
List the active logon sessions on a system.

PendMoves
Enumerate the list of file rename and delete commands that will be executed the next boot.

Process Explorer
Find out what files, registry keys and other objects processes have open, which DLLs they have loaded, and more. This uniquely powerful utility will even show you who owns each process.

Process Monitor
Monitor file system, Registry, process, thread and DLL activity in real-time.

ProcFeatures
This applet reports processor and Windows support for Physical Address Extensions and No Execute buffer overflow protection.

PsInfo
Obtain information about a system.

PsLoggedOn
Show users logged on to a system

PsTools
The PsTools suite includes command-line utilities for listing the processes running on local or remote computers, running processes remotely, rebooting computers, dumping event logs, and more.

RegMon
This monitoring tool lets you see all Registry activity in real-time.

WinObj
The ultimate Object Manager namespace viewer is here.

 

image Miscellaneous Utilities
AD Explorer
Active Directory Explorer is an advanced Active Directory (AD) viewer and editor.

AdRestore
Restore tombstoned Active Directory objects in Server 2003 domains.

Autologon
Bypass password screen during logon.

BgInfo
This fully-configurable program automatically generates desktop backgrounds that include important information about the system including IP addresses, computer name, network adapters, and more.

BlueScreen
This screen saver not only accurately simulates Blue Screens, but simulated reboots as well (complete with CHKDSK), and works on Windows NT 4, Windows 2000, Windows XP, Server 2003 and Windows 9x.

Ctrl2cap
This is a kernel-mode driver that demonstrates keyboard input filtering just above the keyboard class driver in order to turn caps-locks into control keys. Filtering at this level allows conversion and hiding of keys before NT even "sees" them. Ctrl2cap also shows how to use NtDisplayString() to print messages to the initialization blue-screen.

DebugView
Another first from Sysinternals: This program intercepts calls made to DbgPrint by device drivers and OutputDebugString made by Win32 programs. It allows for viewing and recording of debug session output on your local machine or across the Internet without an active debugger.

Hex2dec
Convert hex numbers to decimal and vice versa.

PsLogList
Dump event log records.

PsTools
The PsTools suite includes command-line utilities for listing the processes running on local or remote computers, running processes remotely, rebooting computers, dumping event logs, and more.

RegDelNull
Scan for and delete Registry keys that contain embedded null-characters that are otherwise undeleteable by standard Registry-editing tools.

RegJump
Jump to the registry path you specify in Regedit.

Strings
Search for ANSI and UNICODE strings in binary images.

ZoomIt
Presentation utility for zooming and drawing on the screen.

If you don’t feel like downloading each tool individually, feel free to download Sysinternals Suite which contains the entire set of utilities as a single file download.

Google Sites: SharePoint sites à la Google!

This is perfect for students or individuals alike who are looking for an easy and free solution to collaborate, share documents, track items, etc., with other people.  It feels a lot like a having a SharePoint site, minus the hassle of maintaining a server for it.  The new publicly invention from Google is Google Sites.  According to Google,

Google Sites is powerful enough for a company intranet, yet simple enough for a family website.

I don’t know if as a company I would adopt it as a company intranet (there goes my intellectual property I would say…), but as a student or family member, I would definitely give it a shot!

Enterprise Library 4.0 Released

As some of you may have already heard, Enterprise Library 4.0 was released by the Patterns & Practices group at Microsoft.  You’ll be glad to know that the existing public APIs (EntLib v3.1) are still supported in this new release.  By the way, installing this version of Enterprise Library is much better than previous installations, as this one gives you the choice to extract AND build the different application blocks at the same time, instead of using a different installer to extract and build the source codes.  Furthermore, the Enterprise Library Configuration Tool is automatically integrated in Visual Studio 2008 upon installing this release of Enterprise Library.

The change log for this release is available here (highly recommended to read).  If you’re looking to upgrade your skills with Enterprise Library, I strongly suggest the Hands On Labs and the Getting Started tutorials for each of the application blocks.  Speaking of application blocks, this release gives us a new one: Unity.

For more information about Enterprise Library (resources, tutorials, news, etc.) I strongly recommend you referring to these sites:

Feel free to add your sources of recommended sites to learn more about Enterprise Library.

Rediscover the Web with these 20 Firefox Extensions

image One of the first things I did upon receiving my laptop from work was to install Firefox and some extensions to enrich my browsing experience on the Web.  Firefox is not only a solid Web browser, but it is also a great platform that provides a plugin architecture for developers to create useful extensions to extends the software’s usability and functionality. 

The following is a list of recommended Firefox extensions (for Windows) that will no doubt enhance your experience when surfing the Web.  As the guys behind Firefox would say…Rediscover the Web!  At the end of this list, I’ll share with you my five favorite ones.  Here we go:

  1. AdBlock
    With AdBlock, I can filter HTML elements that I want Firefox to remove or hide so that they won’t appear on the screen anymore.  The elements can be mostly any HTML tag that contains a URL such as an Image, a Div block, etc.  The beauty of it is that the filter can use either the wildcard character (*) or full Regular Expression syntax.
  2. AutoCopy
    This extension simply copies selected text from Firefox to the clipboard automatically.  If you do a lot of copy/pasting with text, this extension will no doubt be of great help to you.
  3. BugMeNot
    This one is such a time saver when dealing with popular and annoying web registration forms.  You basically activate the extension by right-clicking on a user name and/or password field of a site that asks for registration.  BugMeNot will log in for you automatically using user-submitted passwords. So far it delivers its promises on many sites I need to log in.  It can’t guess or analyze captcha just yet…but many in a couple of versions.
  4. del.icio.us buttons
    This extension helps me to quickly tag a link in my del.icio.us account directly from Firefox.  Over 17,000 downloads of this extension…you can’t go wrong!
  5. Dictionary Tooltip
    Since English isn’t my first language, there are some words I don’t understand when reading a blog post or an article.  This extension is very helpful in that case, because I just have to double-click the selected word to see its meaning/definition in a popup.
  6. Download Statusbar
    A simple extension that helps me view and manage downloads from the browser’s status bar.
  7. FireFTP
    This is a wonderful FTP extension for Firefox.  It basically integrates a FTP client within the browser so that you don’t have to launch an external FTP client to manage your FTP sessions.  It’s a handy tool for bloggers or web designers who wish to upload some files in their web servers.
  8. Flashblock
    Gosh I hate it whenever I’m visiting a site with an embedded Flash video in Internet Explorer because some of them start playing automatically…that’s fine, but when there’s more than one video at a time playing, things can get pretty annoying.  This tool is a great remedy to such a problem because it replaces Flash objects with a button that you must click in order to view them.
  9. FlashGot
    It enables single and massive downloads using the most popular external download managers for Windows and other platforms.  I’m currently using LeechGet Personal Edition as my download manager and this extension recognizes it without problems.
  10. Get directions from Google Maps
    This extension allows me to select an address on a web page, right click the mouse, and choose the "Locate on Google Map" menu item to see the location at Google Maps.  Simple!
  11. GmailSpace
    What a great innovative extension this one is!  It allows you to use your Gmail account space (almost over 7 GB of space) for file storage.  That means that you can upload/download folders from your file system to your Gmail account’s storage system.  Just remember to create a Gmail filter for every file/directory that you will upload because you’ll receive an email about it and if you delete that email, the file(s) you have uploaded will get deleted.  Set up the filter to send such emails automatically to another label for a cleaner inbox.
  12. Google Calendar Quick Add
    Basically a shortcut to add calendar entries quickly without having to open Google Calendar.  Which reminds me…I still have to figure out how to sync my Exchange calendar at work with my personal Google calendar to better utilize this extension.  So far I’m using Exchange over Google calendar mostly because I can also sync with with my PDA without hassle.
  13. Google Gears
    This extension is what allows me to cache my feeds from Google Reader so that I can view them offline. 
  14. IE Tab
    Enables you to use the embedded IE engine within Mozilla/Firefox.  It’s extremely useful whether you want to test your web design on both popular platforms or when you’re visiting a site that mostly works on IE, such as a SharePoint site.  It’s very easy to make the switch since you just click on the toolbar button to switch from one engine to the other.
  15. Image Assistant
    This extension launches an image in an external viewer.  It allows for zooming and other rich functionality not available in the browser.  It’s a great companion when dealing with images whenever you’re writing a blog post or article.
  16. Image Zoom
    Adds zoom functionality for images whenever you right-click on them.  Love it!
  17. PicLens
    I haven’t got a chance to fully experience this extension, but I like it so far.  As stated in the extension’s site: "PicLens transforms your browser into a visually stunning experience for enjoying online photos and videos.  Its interactive "3D Wall" lets you effortlessly search and zoom your way around thousands of images and YouTube videos faster and more immersively than ever before."
  18. ScrapBook
    It’s an organizer of saved Web pages so that I can view them offline (it’s stored in a cache).  This extension offers so many features such as text highlighting, HTML elements removal (so you can just keep the essential of a page), full text search, etc.  Check out LifeHacker’s post on ScrapBook.  In other words, it’s another way to bookmark your pages for later use.
  19. Session Manager
    Saves and restores the state of all windows.  It’s very useful for instance if Firefox should crash and you had multiple tabs opened.  No more worries about losing the tabs you had opened prior to the crash.  You can also configure the extension so that it can remember how many sessions back you can revert your tabs to.
  20. Tab Mix Plus
    Tab browsing with an added boost.  As per its description: "Tab Mix Plus enhances Firefox’s tab browsing capabilities.  It includes such features as duplicating tabs, controlling tab focus, tab clicking options, undo closed tabs and windows, plus much more".

My three favorite extensions from this list are:

  1. ScrapBook
  2. Session Manager
  3. AdBlock
  4. IETab
  5. GmailSpace

What’s yours?

Installing Linux Ubuntu as a Windows Application with Wubi

With the latest release of the popular Linux-based operating system, Ubuntu Hardy Heron, the installation process just got easier for Windows users who wish to try out an alternative to Vista or XP.  Even .NET developers who are looking out on trying the Mono project (the .NET platform for Linux-based operating systems) can benefit from it.  All this is possible thanks to a little Windows utility called Wubi, which is an installer for Ubuntu.

As described by Wikipedia’s definition on the tool:

Wubi adds an entry to the Windows boot menu which allows you to run Linux. Ubuntu is installed within a file in the Windows file system (c:\wubi\disks\system.virtual.disk), as opposed to being installed within its own partition. This file is seen by Linux as a real hard disk.

According to Wubi’s official site, Wubi is an officially supported Ubuntu installer for Windows users that can bring you to the Linux world with a single click.  Wubi allows you to install and uninstall Ubuntu as any other Windows application, in a simple and safe way.

The beauty of Wubi is that:

  • You don’t need to burn a CD. Just run the installer, enter a password for the new account, and click “Install”, go grab a coffee, and when your are back, Ubuntu will be ready for you.
  • You keep Windows as it is, Wubi only adds an extra option to boot into Ubuntu. Wubi does not require you to modify the partitions of your PC, or to use a different bootloader, and does not install special drivers. It works just like any other application. Wubi is spyware and malware free, and being open source, anyone can verify that.
  • Wubi keeps most of the files in one folder, and if you do not like it, you can simply uninstall it as any other application.
  • It’s free!

The following screenshot, which was taken from Wubi’s official site, shows you how easy it is to configure Ubuntu’s installation as a Windows application.

Remember that you don’t have to create a new partition to install Ubuntu with Wubi.  In fact, it will install the Linux-based operating system in the same partition that Windows is installed (just like a standard application).  You can choose whether to boot in Windows or Ubuntu whenever you reboot your computer.

There are some things to consider with this installation model:

  1. The performance is identical to a standard installation, except for hard-disk access which is slightly slower than an installation to a dedicated partition. If your hard disk is very fragmented the performance will degenerate.
  2. Hibernation is not supported under Wubi, moreover Wubi filesystem is more vulnerable to hard-reboots (turning off the power) and power outages than a normal filesystem, so try to avoid unplugging the power. An Ubuntu installation to a dedicated partition provides a filesystem that is more robust and can better tolerate such events.

For more information, I suggest you to skim through Wubi’s FAQ page.

Better Modelling with the Visual Studio Class Designer

As you may have experienced whenever modelling any kind of software design, it gets pretty hard to keep the model in-sync with the software as the code changes over a period of time.  It’s even harder to keep both updated if you’re modelling with a different, independent application than your IDE. 

Today, for the very first time, I was playing around with the Visual Studio 2008 Class Designer.  I’ve been using Sparx’s Enterprise Architect for a number of years, but I wanted a better way to keep my design in-sync with my code inside the IDE.  The major problem with the Visual Studio Class Designer is that it lacks some fundamental features that should appear on a UML class diagram such as associations between classes

Well, you might be delighted to know that there’s a neat project on CodePlex that fulfills this need. That project is PowerToys for the Class Designer and Distributed System Designer.  Here’s its description:

This set of add-ins augments existing functionality in the Visual Studio Class Designer and the Distributed Systems Designers. It now supports Visual Studio 2005, Visual Studio 2008. The Design Tools Enhancements add-in provides a common set of features that can be used by both the Class Designer and the Distributed System Designers, such as pan/zoom window and rich formatting commands. The Class Designer Enhancements add-in provides additional functionality for the Visual Studio Class Designer, such as HTML export and nested type creation commands. This download includes all necessary source code and a Visual Studio project template for creating your own add-ins for the Visual Studio designers. The Class Designer is a developer productivity tool available in Visual Studio Standard Edition and above, which allows developers to easily visualize, design, refactor, and document their code. The Distributed System Designers enable software architects, operations managers, and developers to visually design service-oriented solutions and validate them at design time against their operational environments. The Distributed System Designers are a core component of Visual Studio Team Edition for Software Architects and the Visual Studio Team System.

Even though the description says that it supports Visual Studio 2005, the latest release only supports Visual Studio 2008 (Professional edition or higher).  I haven’t tried it in Visual Studio 2005 (but if you did, feel free to post a comment on your experience with this PowerToys on VS2005).

P.S To show the associations between classes inside the Class Designer, simply right-click on a class attribute or a property, then click on Show as Association or Show as Collection Association, depending on the type.  Sweet!

Launchy: A Good Alternative To The Start Menu

I’ve been using Launchy for almost a year now, and I’ve concluded that it is a must-have tool for any Windows users and developers. Launchy is an open source keystroke launcher for Windows. As described in the tool’s official website:

Launchy is a free windows utility designed to help you forget about your start menu, the icons on your desktop, and even your file manager. Launchy indexes the programs in your start menu and can launch your documents, project files, folders, and bookmarks with just a few keystrokes!

image

If the tool’s description wasn’t enough for you to stop reading this post and downloading it, maybe you should know that Launchy has been awarded the SourceForge.NET 2007 Community Choice Awards for Best New Project! And if that is still not enough to persuade you in downloading this tool, maybe if I tell you how I use Launchy, I might persuade you to change your mind.

First of all, using Launchy to launch applications is as simple as Googling something on the Web. By default, Launchy shows up when you press the ALT+SPACEBAR hotkey. Personally, I have changed the default hotkey, and instead I press WINDOWSKEY+SPACEBAR to popup Launchy. As soon as the hotkey is activated, you can start typing the name of the application you want to launch. For example, when I start typing “visual”, Launchy automatically looks up its indexed catalog for any application that has “visual” in its name.

Launchy is smart enough to show you the list of matching application in the order of the most executed applications. For instance, since I tend to use Visual Studio 2005 more often than Visual Studio 2008, Launchy will put Visual Studio 2005 as the first item in the list, and then it will put Visual Studio 2008 in the second place, followed by the Visual Studio 2005 Command Prompt, as shown above.

Launchy can launch more than executable applications. For example, you can also use it to launch a bookmarked web link by simply adding your bookmarks directory (for example, C:\Documents and Settings\YOUR_ACCOUNT\Favorites) in Launchy’s Catalog (right-click on Launchy, then click on Options) and typing the bookmarked link’s name to open it with your web browser. For example, I have added ‘C:\Documents and Settings\bdicroce\Favorites’ in Launchy’s indexed catalog, and I have set up the filter to scan files with *.lnk extensions. That being done, I can now simply type the name of a bookmarked link, such as a link to my blog (ahem), as shown in the following screenshot:

image

Here’s another feature: The same way Rambo is equipped to launch missiles from any angle, simultaneously throw a hand grenade with his left hand and plant a C4 with his right hand, you can use Launchy to do more than launching applications. In order to do so, Launchy relies on plugins to extend its features. For example, the default-provided Calcy plugin allows you to evaluate mathematical equations within Launchy itself, as shown in the following screenshot:

Calcy doing his thing

You can also use Launchy to see what’s the weather like in some city, view a map of a certain region, etc., as shown in the following screenshots. This functionality is possible thanks to the Weby plugin (provided by default), which are simple web commands followed by a tab and a parameter (such as the name of a city). See Launchy’s options for more information on the possible web commands.

Type 'weather', followed by a TAB and the name of a city

Type 'weather', followed by a TAB and the name ofa city

So with Launchy, instead of wasting time in finding the application you want to launch from the Start Menu, you can simply execute it in no time. I love it!

For a complete list of available plugins for Launchy, visit Launchy’ official plugins page.

Finally, if you don’t like Launchy’s default skin, feel free to customize it or completely change it by visiting Launchy’s official skins page.

TeamCity 3.1 Released

<update>As Eugenia pointed out, there are a few differences between the Professional Edition and the Enterprise Edition.  I have included a screenshot of TeamCity’s features comparison for both editions.</update>

Great news! TeamCity 3.1 was released earlier today.  I’ve been involved in setting up a continuous integration environment at the enterprise level for one of our clients and I can, without a doubt, testify of this amazing product’s innovative features, ease of use and configuration, outstanding support from JetBrains and more.  I recommend it over CruiseControl for many reasons, including:

  • Running multiple builds in parallel by letting the server delegate the work to remote build agents
  • Sleek "AJAXified" UI for a more rich user experience with the application
  • Customizable builds clean-up policies
  • Easy integration with third-party tools (including both Java and .NET tools support)
  • Support for various version-control systems and build engines
  • Running private builds (or personal builds) to ensure that your modifications will never break the trunk in the repository (this is, in my opinion, the best reason why you should use a CI tool like TeamCity.  Our developers are running the personal builds against a Subversion repository at the moment and the trunk is as healthier as it ever was.  You can also run a personal build with Team Foundation Server if that’s what you’re using.)

TeamCity 3.1 is offered in two editions: Professional Edition and Enterprise EditionThe Professional Edition has ALL the features of the Enterprise Edition and it is also FREE!  The only difference between both editions is that the Professional Edition allows a maximum of 20 user accounts and a maximum of 20 build configurations.  The following screenshot clearly details the differences between the Professional Edition and the Enterprise Edition:

image

As stated by JetBrains,

The Professional Edition of TeamCity is available for free download to individuals, companies and organizations (both for-profit and non-profit) requiring the software for general commercial use or for non-commercial purposes.

The Professional Edition does not require any license key. TeamCity starts running automatically with the Professional Edition Server if no license key is entered in the program. A single Professional Edition Server installation grants the rights to setup:

  • 3 Build Agents at no additional cost
  • 20 User Accounts
  • 20 Build Configurations

If you need more information about TeamCity, feel free to checkout the following resources:

Exercise Your LINQ Queries With LINQPad

linqpad Here’s a great tool available for free, whether you’re starting out with LINQ for the first time, or whether you’re looking for a better way to write and test your LINQ queries. Written by Joseph Albahari, co-author of C# 3.0 In a Nutshell, LINQPad is a simple visual editor from which you can write LINQ queries against a database and by clicking on a button (or pressing F5) it’ll generate a visual/graphical output of the result. The tool itself is very small (2MB), self-updating and ready to execute (no need to install it). You’ll need to make sure that Microsoft .NET Framework 3.5 is installed before using it. If you have installed Visual Studio 2008 or Visual Studio 2008 Express Edition, then you have what it takes to run the tool.

LINQPad gives you the freedom to use C#, VB or SQL statements to write your LINQ query and offers you the choice between running it against a specific database or not (in case you want to run LINQ with your objects in memory).

For instance, the following screenshot shows you the output from a C# LINQ query:


Click to see larger image

Specifying a database connection (to target the query against) is very easy if you’re somewhat familiar with setting up database connections in SQL Server. All you need to do is click on the ‘Add connection‘ link on the left pane of the main window and fill in the connection properties. You can also test the connection properties, but there is a twist in the story: you’d expect a message dialog box to pop up telling you whether the connection was successful or not. In reality, the status of the connection is on the window’s title bar. Note that if, for some reason, the connection can’t be established, a message box will appear showing you the cause of the error.

Fill in the properties and click on 'Test' Verify the status of the connection

Now you have one less reason NOT to play around with LINQ ;)

WinDirStat: Get A Feeling For Your Drive’s Space Distribution

If you’re a Windows user looking for a way to analyze your hard drive(s) usage statistics, you can stop looking around because WinDirStat is the tool you’re looking for. Published under the GNU General Public License (which means it’s free), this tool is so useful, that I sometimes wonder why Microsoft didn’t include it in its Windows operating systems.

Written entirely in C++, WinDirStat (short for Window Directory Statistics) is a software that analyzes the disk(s) or folder you want it to analyze, and then generates a visual statistical report which shows you the disk usage of each directory. This is very helpful, for example, if you’re wondering which directory in your hard drive is taking too much space so that you can take some action towards it. WinDirStat is easy to use and the following screenshots should give you a pretty good idea how it works…don’t mind the Seinfeld DVD in the Z drive…not that there’s anything wrong with it.

Step 1. Select the drive(s) or a folder to analyze
image

Step 2. Wash a couple of dishes while WinDirStat analyzes the drive
(depending on how big your drive is and how much dishes there are to wash…)

image

Step 3. Once the analysis is completed you can view each directory’s size
image

Easy Blogging With Windows Live Writer

image For the past few months, I have been using Windows Live Writer, a desktop blog publishing application, to write and publish my posts. This free utility encouraged me to abandon the awful WYSIWYG text editor of WordPress for writing my posts. Don’t get me wrong, I love WordPress as a blogging platform, but its HTML text editor sucks!

Windows Live Writer allows me to freely manage a post without being dependent on the browser. This means that I don’t need to be connected on the Internet to start writing a post. You can think of it as being a blog client to your blogging platform (WordPress, Blogger.com, etc.), the same way that Microsoft Outlook is an email client to various email providers (Gmail, Hotmail, Yahoo Mail, etc.). In other words…"Write As You Go!".

With Windows Live Writer, you can automatically save a post locally, come back to it later, check for grammar errors before publishing it, publish the post as a draft, edit a post, manage multiple blog accounts, add and remove plugins to facilitate some tasks, write your own plugins for it, etc. Talk about flexibility!

As stated by Wikipedia,

Windows Live Writer introduces the Provider Customization API that enables both rich customization of Windows Live Writer’s behavior as well as the opportunity to add new functionality to the product. Currently Windows Live Spaces, WordPress, and TypePad have all taken advantage of this API to expose additional service-specific features within Windows Live Writer.

Currently, Windows Live Writer is compatible with the following blogging platforms:

Written in managed code, you can also use a tool like Reflector to view the internals of the application. This is incredible useful if you’re planning on developing plugins for it. On the subject of plugins, I am very impressed with the following ones:

Click here to see the whole list of currently available plugins.

There are of course some improvements and new features that could be implemented to make it better.

  1. For instance, whenever I insert a new table, I get to define its width in pixels only, NOT in percentage. What’s up with that? Is it a new ‘best practice’ to define a HTML Table’s width in pixels only?
  2. Another improvement could be to add an image toolbar so that we can edit the image on the fly (cropping it, adding shapes to it, etc.) whenever we insert one, pretty much like the Picture Tools ribbon in Office 2007. Resizing is fine, but not enough. For the moment, I have to copy an image to the clipboard, paste it in Paint.NET, edit it, then copy it again to the clipboard and finally paste it in Windows Live Writer. I should be able to do this from within the application, the same way any word processor software allows me to do.
  3. A last improvement could be to give me the possibility to choose the browser I’d like to view my posts in. Just because Internet Explorer is set as my default browser, that doesn’t make it my primary browser!

You can read more about it in the team’s blog.