Singleton Pattern

By Michael Flanakin @ 7:17 AM :: 6282 Views :: .NET 1.x, .NET 2.0, Patterns, Proven Practices :: Digg it!

Problem: You need to provide access to one and only one instance of a specific resource.

Read on for the solution, real world example, and downloadable code...

Compare Diff Utilities

By Michael Flanakin @ 2:48 PM :: 89898 Views :: Comparisons, Tools & Utilities :: Digg it!

After one aggravation after another, I decided to look into what free and open source diff utilities were out there. This is that review. I've tried to keep it up; but, as usual, I don't know about every diff utility around. Let me know if you find any problems or know of new tools I should add. You can also feel free to discuss your thoughts on the diff utility forum.

Most recent update: Added DiffMerge and corrected data inconsistencies.

Updated Jul 30, 2007

Compare Web-Based Issue Trackers

By Michael Flanakin @ 8:51 AM :: 7412 Views :: Comparisons, Tools & Utilities :: Digg it!

Here's my review of known web-based tracker tools. I'm looking for a generic tool that can be used for anything (i.e. bug tracker, feature request tracker, and tech support/trouble ticket tracker). If you notice any discrepancies, please let me know. Thanks!

I just reworked the way the comparison table is rendered, so updates will be easier to make for me. Another benefit will come with time as I add capabilities to allow users to alert me of changes easier. When updating everything, I added the license column, based on a suggestion from David Besonen. Thanks, David!

[Jan 29, 2007]
I just brought my previous comparison over to my new site. During this migration process, I updated most data, as well. After catching up with the comments/email I've had, I've updated almost everything. I have a handful of new trackers to add, so I'll try to get to those within the next month. Thanks to all who've contributed! I've also created a discussion forum for those who have questions and comments and would like a more interactive way to discuss these things.

Architecture of an XPS Document

By Michael Flanakin @ 12:54 PM :: 11836 Views :: .NET 3.0, Other :: Digg it!

The XML Paper Specification (XPS) is a document format created by Microsoft. There's been some controversy around the XPS format because it's a direct competitor to Adobe's Portable Document Format (PDF). There are a number of key differences between the two; however, I won't discuss those here. Instead, I will discuss the architecture of a simple XPS document. Note that this is not an intense exploration into the vast depths of XPS -- I only reviewed a couple small documents. If you're interested in an in-depth analysis, I recommend reading the full spec.

Click thru for the rest of the story...

.NET Coding Standards

By Michael Flanakin @ 12:09 PM :: 11257 Views :: .NET 1.x, .NET 2.0, Proven Practices :: Digg it!

This document outlines the minimum recommended coding standards to be followed for .NET development. These standards are a set of simple conventions that yield the following benefits:

  • Increased readability
  • Reduce maintenance effort
  • Facilitate code sharing and reusability

The standards in this paper were extracted and refined from the Microsoft Developer Network (MSDN) Coding Techniques and Programming Practices and other MSDN website resources.

Note: While I have completed the stand-alone document, I have not published it in its entirety online, yet. I will be doing that shortly, hopefully. In addition to publishing the online version, I plan on cleaning up the document and publishing it for download and use within your projects.

Read on for the rest of the article...

Latest update: Added the full Formatting Conventions and Visibility Conventions sections.

.NET Data Providers for Oracle

By Michael Flanakin @ 12:03 PM :: 4736 Views :: .NET 1.x, .NET 2.0, .NET 3.0, .NET 3.5 :: Digg it!

While working on a project that was having issues with the Oracle's data provider for .NET (ODP.NET), I found myself looking for alternatives, which led me to a hunt for supported connection string attributes. I must say that this search was harder than I originally thought it would be. Perhaps I wasn't looking for the right thing, but I figured I'd document what I found here for future use and hopefully to help someone else out. If anyone has any information on what I've gathered here, please don't hesitate to let me know. My hopes are to gather as much valid information as possible; or, if there's already a good, up-to-date resource available with this information, I'd have no problem linking to that.

Most recent update: Added connection string info for Oracle provider and details about Active Directory authentication.

Updated Jan 25, 2008

Keyboard Shortcuts

By Michael Flanakin @ 9:36 PM :: 8012 Views :: Digg it!

First, let me say this is a very, very rough draft of this list. I wanted to jot down a couple of my most used keyboard shortcuts to share. Don't expect to see the ones that are readily available in just about all programs (i.e. Ctrl+C). Instead, I'm going to try to focus on ones that aren't obvious and seemingly hidden. If you have any of interest, feel free to let me know!

Read on for the shortcuts...

Most recent update: Added shortcut send the current window "back"

Updated Nov 05, 2008

Regular Expressions for Visual Studio Code Analysis

By Michael Flanakin @ 1:30 PM :: 5197 Views :: .NET 2.0 :: Digg it!

The following is a work in progress. My hopes are to package all of this up in a Visual Studio add-in, but that will be dependent on whatever time I have available, of course.

As I've mentioned before, I'm going thru a lot of code analysis warnings and something came up that a regex find/replace would fix fairly easily. That, of course, got me thinking about how code analysis needs to have built-in refactoring capabilities. Whether or not you realize it, Visual Studio's find/replace regex is non-standard. As annoying as it is, at least I'm able to do most of what I need by going thru the online help. I'm glad I did because I now know how to do a few things I didn't think were possible, like replacement substitutions. With that in mind, here are a few of the ones I've been using to automate code analysis fixes. Before I get to that, tho, let me say that I'm no regex expert, so some of these might need further perfection. If anyone has any comments, corrections, or suggestions, I'd love to hear them!

Proceed for the regex goodness...


By Michael Flanakin @ 12:11 PM :: 9800 Views :: Tools & Utilities :: Digg it!

My top 10 softwareHere is a list of my favorite tools and utilities. I will be continually updating this list with new versions and hopefully new tools. Let me know what you think about these or any other tools you like. I'm mainly keeping it as a reference point for myself when I use new computers, but hope that others can take advantage of it as well. Click thru for the list...

The "top 10 software" list on the right is compliments of Wakoopa, which tracks what software I use on most of my computers. Pretty nifty.

Most recent update: Various version updates.

Updated Nov 6, 2008

Implementing HTTP Handlers in ASP.NET

By Michael Flanakin @ 4:23 PM :: 8781 Views :: .NET 1.x, Patterns :: Digg it!

As I mentioned before, it was hard to find information on how to setup an ASP.NET HTTP handler when I first started out. Of course, after time, I've found a wealth of articles, posts, and comments from others on these and other related topics. As my second post in the HTTP module/handler saga, I hope to give you an in-depth discussion on the topic of handlers to include pros, cons, and a sample implementation that you can extend.