# Tuesday, January 10, 2006

Just days after the release of Visual Studio 2005 I got an e-mail asking for information on best practices for Visual Studio 2005. I promptly ignored it since I tend to think of best practices as something that are built up over time and come from experience. Since there had not been enough time to come up with any new best practices I didn't have anything new to add to the discussion.

Today, while surfing I came across this article on CodeProject about the decorator design pattern. I look at design patterns as an abstract best practice. They are an accumulation of knowledge that says when presented in the past with a problem that looks like this, the following solution(s) proved valuable. I am always trying to improve my coding skills so I am interested in design patterns. I read once that there are 3 types of people when it comes to design patterns. 1. Those who don't know about them. 2. Those who know about them but don't know when or how to use them. 3. Those who use design patterns all of the time. I am afraid that for many design patterns I fall into category 2. I am still waiting for the "aha" moment when I look at a problem and can recognize it as one that a design pattern that I know will fix. In most cases I kind of just stumble onto the design pattern because I have read about it and use it because the solution has stuck in the back of my head.

I think overall the article is good, but it has the same problem that a lot of the articles and books on design patterns have; it doesn't do a good job of explaining the problem and when/how to apply the pattern. The comments offer an alternative way to solve the problem that is shown in the article but even then there is no discussion of the pros and cons of each approach other than a personal bias.

I realize that writing articles is difficult and that it is especially difficult to anticipate every question and circumstance that might come up for the readers of the article but some days I wish I could read the article that would give me the knowledge I need on how to always apply design patterns. Oh well, maybe some time in the future when books are adaptive or I become smarter, whichever comes first :) 

Tuesday, January 10, 2006 12:22:54 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Thursday, January 05, 2006

I just saw this a message in my inbox on the patch. I have copied out part of the message. I have not downloaded or tested the patch but I plan on looking at it later tonight or tomorrow.

Important Information for Thursday 5 January 2006

Microsoft announced that it would release a security update to help
protect customers from exploitations of a vulnerability in the Windows
Meta File (WMF) area of code in the Windows operating system on Tuesday,
January 2, 2006, in response to malicious and criminal attacks on
computer users that were discovered last week.
 
Microsoft will release the update today on Thursday, January 5, 2006,
earlier than planned.

Microsoft originally planned to release the update on Tuesday, January
10, 2006 as part of its regular monthly release of security bulletins,
once testing for quality and application compatibility was complete.
However, testing has been completed earlier than anticipated and the
update is ready for release.

In addition, Microsoft is releasing the update early in response to
strong customer sentiment that the release should be made available as
soon as possible.

Microsoft's monitoring of attack data continues to indicate that the
attacks are limited and are being mitigated both by Microsoft's efforts
to shut down malicious Web sites and with up-to-date signatures form
anti-virus companies.

The security update will be available at 2:00 pm PT as MS06-001.

Enterprise customers who are using Windows Server Update Services will
receive the update automatically.  In additional the update is supported
Microsoft Baseline Security Analyzer 2.0, Systems Management Server, and
Software Update Services.  Enterprise customers can also manually
download the update from the Download Center.

Thursday, January 05, 2006 5:21:17 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Tuesday, January 03, 2006

I walked into work this morning and flipped the lights on like I normally do. No I am not the first one into the office just the one who can't stand to work in the dark (litterally and figuratively). I was met with the usual "we knew it was you because someone turned on the lights" and "Owwww, the light hurts my eyes" type comments. I unfortunately didn't handle it all that well and let someone have it about how working in a dark room causes me to have headaches so if they would be so kind as to let me work from home or in an office where I could turn on the lights I would be more than happy to leave the lights off for the rest of them.

While I didn't handle the situation well at all, it did bring to mind something that I have been thinking about a little lately. You see, I have noticed more and more the "mood music" at various places. I noticed it at the skating rink when I went ice skating with my family. Mostly because I would catch brief bits of songs amongst all the screaming and crashing. I would mostly find myself thinking that I am either too old or too young because I didn't recognize the song. Later at a movie theater I noticed that they had some music going before the start of the movie. That started me thinking about my work environment.

I generally work in a cubicle farm with all the attendant distractions as other people carry on phone conversations, talk about what they did in World of Warcraft the night before or what they plan on doing at lunch that day, or whatever else is going on in their lives. There is rearely a moment when there is comlete silence. I went out and bought a pair of noise cancelling headphones to allow me to concentrate on what I am doing when I need to. I have already mentioned the fact that I can't stand to work in a darkened room with a bright monitor. Another requirement is that the room be a comfortable temperature. That is a hard one since just about everyone seems to have a different idea of what a comfortable temperature is. I find that I tend to be cold when others are comfortable so I almost always have a sweater at hand so I can regulate my own temperature. Other than that, a glass of water and a window to look out occasionaly when I need to take a break and I think I could be happy working just about anywhere. I do have to admit I like working at home because I can control all of the aspects better than in a shared office. Unfortunately I don't get the opportunity as often as I would like.

So, what is your idea of the ideal work environment?

Tuesday, January 03, 2006 10:07:46 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [1]  | 
# Saturday, December 31, 2005
Here it is in the waning hours of 2005 and I haven't put together my predictions for 2006 yet. Considering how badly I did predicting 2005 maybe I should stay out of the prognostication game. In any case 2005 has been a very good year for me and my family. We have been blessed to be healthy and prosper. I know a lot of people who suffered through and are still sufferning from hurricanes, floods, fires, and all sorts of other natural and man made disasters can not say the same thing. It is my hope that 2006 will bring to you and yours health and happiness.
Saturday, December 31, 2005 7:09:00 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [2]  | 
# Tuesday, December 27, 2005

Are you looking for something to do over the holiday break? Do you want to sharpen up your Visual Basic or ASP .NET skills? Well then Microsoft has a deal for you. Just go to http://msdn.microsoft.com/vstudio/learning/elearning_promo/default.aspx and read the details on how to sign up for one of the following 15 free e-learning classes.

Upgrading from Visual Basic 6.0

    • Course 4335: Upgrading from Microsoft® Visual Basic® 6.0: Microsoft Visual Studio® 2005 Development Environment

      This three-hour online learning course teaches Visual Basic 6.0 developers how to use their existing skills with the Visual Studio 2005 development environment. Specifically this course covers the wide range of features included in the Visual Studio development environment, how to open and save projects, and how to build and debug projects. This training is designed with the Visual Basic 6.0 developer in mind to allow for a simple transition to the .NET Framework.   

    • Course 4336: Upgrading from Microsoft® Visual Basic® 6.0: Introduction to the Microsoft .NET Framework

      This three-hour online learning course teaches the Visual Basic 6.0 developer about the .NET Framework 2.0 including the Common Language Runtime, the Common Type System, Garbage Collection and COM interoperability. The course also introduces the .NET Framework namespaces and base classes. This training is designed with the Visual Basic 6.0 developer in mind to allow for a simple transition to the .NET Framework.   

    • Course 4337: Upgrading from Microsoft® Visual Basic® 6.0: Microsoft Visual Basic 2005 Language Enhancements

      This three-hour online learning course teaches the Visual Basic 6.0 developer how to develop applications with Visual Basic 2005. The course covers, variables and types, decision and loop structures, managing data using arrays and collections, and error handling. This training is designed with the Visual Basic 6.0 developer in mind to allow for a simple transition to the .NET Framework.   

    • Course 4338: Upgrading from Microsoft® Visual Basic® 6.0: Introduction to Object-Oriented Programming

      This three-hour online learning course teaches the Visual Basic 6.0 developer how to benefit from an object oriented approach to application development with Visual Basic 2005. The course covers classes, including properties, methods and attributes, and also how to control the lifetime of an object. The course also covers both interface and implementation inheritance and how to override methods and properties. This training is designed with the Visual Basic 6.0 developer in mind to allow for a simple transition to the .NET Framework.   

    • Course 4339: Upgrading from Microsoft® Visual Basic® 6.0: Deploying .NET Framework Applications

      This three-hour online learning course teaches the Visual Basic 6.0 developer how to deploy an application written with Visual Basic 2005. This course covers creating deployment projects, managing deployment applications and making assemblies available to other applications. This training is designed with the Visual Basic 6.0 developer in mind to allow for a simple transition to the .NET Framework.   

    • Course 4340: Upgrading from Microsoft® Visual Basic® 6.0: Upgrading Visual Basic 6.0 Applications

      This three-hour online learning course teaches the Visual Basic 6.0 developer the considerations and methods for upgrading an application written in Visual Basic 6.0 to Visual Basic 2005. The course includes upgrading best practices, the Visual Basic 6.0 Code Advisor, and the Migration Wizard. This training is designed with the Visual Basic 6.0 developer in mind to allow the Visual Basic 6.0 developer a simple transition to the .NET Framework.   

    ASP.NET 2.0

      Tuesday, December 27, 2005 11:01:43 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
      # Monday, December 26, 2005
      If you are having a hard time breaking the habit of querying sysusers then maybe this download from Microsoft will help. It is a PDF with the system views in SQL Server 2005 along with the relationships between them. Now if I can just get access to that plotter to print out a poster size version that I can put up on my cubicle wall.
      Monday, December 26, 2005 3:59:30 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
      I realize that Christmas is over but I wanted to let everyone know that I wish them a Merry Christmas. I love this time of year, especially the way that people seem to take the time to think of others. As I was reading the news this morning and looking at the stories of the memorials on the one year anniversary of the tsunami in Asia I remember what a sick feeling I had that morning and then later the feeling of pride as I saw the world pull together to help those affected. This year has seen hurricanes and earthquakes that have tested the faith, charity, and resources of a lot of individuals and countries. I hope that we will always band together to help anyone who is suffering.
      Monday, December 26, 2005 3:56:16 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
      # Monday, December 19, 2005
      I checked my e-mail this morning and there was an invitation to the Utah Geek Dinner tomorrow night. Now, I know it is not much notice but it is more than the last one. The dinner will be held at the Mayan resturant. You can get more information and sign up for the event at http://www.devutah.com/geekdinners.htm. I am not sure what the topic will be but I look forward to seeing you all there.
      Monday, December 19, 2005 11:52:33 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
      # Friday, December 02, 2005

      Yesterday I spent all day at a MSDN and TechNet events showing the "best of launch" in the 2005 products. It was great to meet up with some people that I have not seen for a long time. There was an excellent turn out. Between the morning and afternoon sessions there were just under 1000 people attendees. A lot of them were there for both the morning and afternoon sessions.

      The training I will be teaching on the 13th and 14th was also announced. I heard that the class already has 35 people signed up. It sounds like there is a lot of interest in the new development products. 

      Friday, December 02, 2005 3:03:29 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  |