IT TidBits
No warranty is expressed or implied for this information.
December 31, 2005
December 24, 2005
Visual Studio 2003 to 2005 Application Conversion
My first Visual Studio (VS) 2003 to 2005 C# application conversion went pretty smoothly. Time required: 90 minutes. The application is a data processing, automation utility I use for report writing on a healthcare information system.
New feature I like: VS 2005 supports basic XP refactoring (rename, extract method, encapsulate field, extract interface, promote local variable to parameter, remove & reorder parameters).
For the past year I've focused on writing code in a hierchical database language called Magic. I didn't realize all the generic concepts I'd learned til I stepped into this C# code from a year ago. Reading Martin Fowler's book on Refactoring has, as he promised made me a better programmer already.
// Automatic Build and Copy
if(chkAutomaticBuildCopy.Checked==true)
{
RegWriter.WriteRegistryInfo("AutomaticBuildCopy", "true");
}
else
{
RegWriter.WriteRegistryInfo("AutomaticBuildCopy", "false");
}
The code above & below demonstrates just one of many of things I'll now refactor and do just a little differently:
// Automatic Build and Copy
strRegistryKey = "AutomaticBuildCopy";
RegWriter.WriteRegistryInfo(strRegistryKey, chkAutomaticBuildCopy.Checked.ToString());
The Extract Method in VS 2005 is pretty good, but not perfect. Variables not needed due to refactoring were included as unnecessary parameters when I performed the Extract Method routine. You still have to know what you are doing.
So far I really enjoy refactoring code in VS 2005!
December 23, 2005
Desktop Faxing
Working from home today I had a need for a fax machine, which I don't have. A coworker needed to fax me a report with handwritten changes.
Obviously this could have been scanned, but using our new scanner sucks. Fax machines are nice, because everyone knows how to use them. You can setup desktop faxing in Windows XP, if you have a modem and a phone line handy. I didn't have a land line installed in my home office.
I signed up with FaxAway: http://www.faxaway.com/. 5 minutes later, I received the attached changes from my coworker. FaxAway requires a $10.00 deposit via your credit card, but you don't use that money unless you send faxes. Incoming faxes are free. They come to an email address of your choice. Outgoing faxes are 10 cents. To send you print to the fax printer like you would a PDF.
It's great!
December 17, 2005
Soliciting Project Specifications
In our excitement about what new technology can do for us, we can be overzealous to be sell technology to our clients. We are not in the computer programming, screen building, system implementation or IT business. We are in the business of solving real problems for the healthcare community. The problems we solve: 1) transforming paper processes into new electronic processes and solutions and 2) improving electronic processes.
Instead of promising a solution through a specific technology, just take the specs. We'll meet the business needs using all the tools and technologies available. Mock up the user's request (currently MS Word works well for this purpose) just as they would want it to look like. Once all the requirements and constraints are known, we can select the best tools necessary to meet the business need. If the best solution is a $T, PDI, NPR or AEF; we don't want to let the customer down because they didn't get their favorite TLA (three letter acronym).
Don't tell the customer about the labor pains for example: how hard it is or which technologies are necessary if they don't need to know. Just show them the baby (read end result of your labors)! As problem solvers we are expected to produce results and save the requestor of our services the pain of the details. Be brief (don't burden them with acronyms and technologies), be bright (use the best combination of resources available) & be gone. Let's not sell specific technology; let's sell great solutions.

http://www.despair.com/
December 15, 2005
December 14, 2005
Option Explicit & Option Strict Defined
Option Explicit: Used at file level to force explicit declaration of all variables in that file. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vblr7/html/vastmOptionExplicit.asp
Option Strict: Restricts implicit data type conversions to only widening conversions. This explicitly disallows any data type conversions in which data loss would occur and any conversion between numeric types and strings.http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vblr7/html/vastmOptionStrict.asp

December 12, 2005
Visual Studio 2005 Professional
I can't wait to get my hands on the latest version of Microsoft Visual Studio 2005 Pro http://msdn.microsoft.com/vstudio. Even though I ordered it early it was due to ship around 12/30/2005.
The other day I received this message from Amazon:
On 12/11/05, order-update@amazon.com
We are pleased to report that the following item will shipsooner than expected: "Microsoft Visual Studio Professional 2005" [CD-ROM]
I'm waiting.... :)
The World Is Flat
Check out ODesk https://secure.odesk.com/company.php
This outsourcing / offshoring consulting company might be on to something. They seem to have a great application for managing geographically dispersed technical resources.
I can't wait to try them out.
Perl Programming Resources
I've been scripting on Windows Workstation since the year 2000. At one time I had every Batch & Windows Script Host script book on the market in 2003. You could say scripting was my passion. That was until I discovered database programming. Recently, I've had this curiosity to learn PERL. I want to learn PERL in hopes that it will teach me to think about programming in new and more productive ways.
My journey begins at http://learn.perl.org the #1 Google Search Result for "learn perl". I've listed other resources below.
The Comprehensive Perl Archive Network (CPAN) http://www.cpan.org
Online Perl Library http://learn.perl.org/library
Perl Download http://www.perl.com/download.csp#stable
Useful acronyms: JAPH Just Another Perl Hacker.
PERL is not an acronym, therefore it is spelled: Perl.
December 10, 2005
December 09, 2005
Requirements Defined
"Requirements are mostly things you must live with and adapt your system to.... requirements are just what they are named. They are required." - Ralph Kimball
Printing .prn files on a Windows NTx system.
From the command line xcopy the .prn file to the shared printer.
If the .prn file is located in the spool directory and sharedprinter is the name of your locally shared printer:
xcopy %windir%\system32\spool\printers\file.prn %computername%\sharedprinter
December 08, 2005
December 01, 2005
Deleting Persisting Job(s) in the Windows XP Print Queue

1. Click Start, Printers and Faxes and double-click on the printer driver.
2. In the following screen, go to the printer menu and select Cancel All Documents. This will purge the print queue so as to allow the printer to print or uninstall the driver.
3. If the print jobs are not removed from the queue, click Start, Run, type Net Stop Spoolerand press ENTER.
4. Delete the files from: %windir%\system32\spool\printers.



