# Tuesday, November 10, 2009
Most of you know me from Criticalsites or NTP Software since those are the two companies with which I have been associated for over a decade now.

This post is to tell you all that while I am still doing work with both of these companies they are now my clients rather than my employers.

CriticalSites and NTP Software have always been closely connected and with the huge success that NTP Software has been experiencing over the last couple of years, CriticalSites has shifted gears to be more of a services arm for NTP Software and has stopped taking on new clients that are not NTP Software clients.

I wanted to get back into development, training and security consulting work full time and so while I keep both NTP Software and CriticalSites as customers, I have left on the best of terms to pursue my interests through DTS.

DTS offers many of the same services that CriticalSites used to offer to New England companies. Some of you know that I actually started DTS before I co-founded CriticalSites and while not always my primary focus, it has been in business since 1994.

For many it won't make any difference other than the company name on my name tag at conferences, but I figured it was worth a post to keep people updated.

Tuesday, November 10, 2009 11:30:13 PM (Eastern Standard Time, UTC-05:00)  #    Comments [23]  | 
# Thursday, November 05, 2009
I am getting ready to go to the PDC this year and I got to thinking that devs need to dig in now more than ever to stay up to date on the latest and greatest tools available to get their jobs done.

I spent this last week teaching a class on SQL Server 2008 at Blended Solutions in Manchester, New Hampshire and I found myself telling many old school stories about how back in SQL 4.2 we had to do pretty much everything ourselves and how Replication made its debut in SQL 7.0, but alot of people didn't discover it until SQL 2000.

It got me thinking that while you hear it alot you have to keep learning and work pretty hard to stay up to date, which brings me back to PDC. I know it is really hard to get away these days, but Microsoft has been really good about putting content online so watch the web and pay attention. Even dropping out for a few months can really hurt your abilities to get caught back up.

Thursday, November 05, 2009 10:51:16 PM (Eastern Standard Time, UTC-05:00)  #    Comments [33]  | 
# Monday, September 28, 2009
Lately I have been working on developing a new product key system and realized that one of the core rules of the road is not documented anywhere I can find (which is crazy in this day and age when everything is supposed to have already been said).

The rule is pretty simple once you think of it. You should never include the numbers 0 or 1 or the letters L, O or I in a license key that you require users to ever type. The reason is that there is too much chance of confusion that will cause the key to fail. Zero looks like the letter "O", lower case "L" looks like 1 and upper case "I" in many fonts.

A simple set of rules, but ignored way too often. The only exception and I think it should be used sparingly is when the key is all numberics since that should remove the ambiguity provided you clearly state that the key is all numeric.

Random ramblings perhaps, but it will save you down the road on customer support calls and that means money!

Monday, September 28, 2009 5:43:27 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [22]  | 
# Tuesday, July 28, 2009
Microsoft has just announced that there are security flaws in the Active Template Library (ATL). While many developers will think that this only applies to C programmers and while to some extent they are correct I think it is important to take a lesson from this issue. Micheal Howard has posted a very informative post to the MSDN Security blog that I think is well worth the read for all developers (not just C and C++ programmers).

Too many organizations think that they can ignore code once it has been written, but the price of secure code (like freedom) is constant vigilance.

Tuesday, July 28, 2009 8:31:09 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [18]  | 
# Friday, July 17, 2009
Microsoft has always done well with version 3 goes the well worn saying. And so I have high expectations for SilverLight 3 which has just released. Being more involved with Security, Business Processes and Enterprise System Development I have not delved as deeply into SilverLight 1 and 2 as I had hoped. With this new release I feel I just have no choice and I suspect that if you are reading this then neither do you. Rich Internet Applications are really the best of both worlds given their low deployment hurdles (the gift that browser based apps bestowed on us) combines with rich and client processor driven user experience.

I had thought I would have years or at least a year more to wait for the third version, but Microsoft has been driven to outstrip the competition. I hope the competition tries to keep up since I like this pace very much.

If you are just getting started check out the "How Do I" Videos and read regularly Scott Guthrie's blog.

SilverLight in this new release has the makings of starting the next dev revolution I believe. If I am right this one will have as big an impact as the release of Visual Basic 3.0...

Friday, July 17, 2009 11:39:42 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [26]  | 
# Sunday, May 17, 2009
I am currently reading the book "Outliers, the Story of Success" by Malcolm Gladwell and while I am very interested in the entire book so far I was very struck by a specific passage about half way through dealing with job satisfaction.

The quote is, "three things - autonomy, complexity and a connection between effort and reward - are, most pople agree, the three qualities that work has to have if it is to be satisfying." I found myself rereading that passage because it sums up so well my experience in working in technology. I have to add that I also found these qualities in my time as an Infantry Officer in the Army. If you are searching for work try to communicate that you want these things to the person doing your interviews. I want this kind of person working for me, but I find that often some of these qualities turn out to be a wish that many regret once fulfilled.

Lets start with Autonomy. I chose the Army rather than the Navy or Air Force precisely because I wanted to have a hand in my fate. A Navy officer in combat dies based on where the ship is sailed by the captain. Twenty yards one way or another on deck rarely matters when the ship is sinking. You can find the same analogy for the Air Force where you life is hanging by the performance of a piece of high tech gear working against gravity. As an Infantry Officer I could choose my path within hundreds of meters most times and the mistake of stepping on a mine was mine to make. Often people get autonomy and then squander it. Autonomy is a form of trust. Can you work at home in your job? If so it is probably because you either work for yourself or your employer trusts you very much.

Complexity in tasks it welcome, especially to technical people. We like a challenge because there is accomplishment in resolving it. The hazard here is to mistake a job with complexity as a license to behave arrogantly and to feel entitled. If you work for a company and make a fair wage by any objective standard (not just your own) then you are unlikely to ever be considered to be given a share in the company. That is reserved to those who take the risk of starting the company and those who negotiate for that right at the right opportunity (which rarely arises).

A connection between effort and reward is the easiest to understand and represents the point where employers should take the most note. If you have two people working for you of equal ability and one works like a dog while the other skates, your treatment of them will be instructive to both. Praise only goes so far and eventually becomes hollow if there is no material benefit included (even if only occasionally).

I like this book very much and recommend it to anyone who wants to conquer the world, but with one caution. It does not sugar coat what it takes to accomplish outstanding success and that means that your long standing beliefs, some of which are likely comforting, will probably be changed fundamentally. I always preferred hard and useful truth to comforting fables anyways...

Sunday, May 17, 2009 12:32:42 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [26]  | 
# Monday, May 11, 2009
Over the years Microsoft has pitched alot of product and while I have always liked the technology (MS Bob, et. al. aside of course) they have not always been the most marketing savvy company when it comes to media. Over the weekend I what promises to be the best leverage of new media by Microsoft ever. The people responsible for pushing the MicrosoftWeb Platform have posted a video in the style of Magnum PI called Cannon PI (PI stands for Platform Installer) on YouTube.

Check it out and if you have the same reaction as I did you will be looking forward to where they take this series. It was an added perk to see Scott Guthrie and Soma playing supporting roles. Maybe that is why my interest is so keen?

Monday, May 11, 2009 10:00:53 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [25]  | 
# Wednesday, April 22, 2009
My favorite interviewers Carl Franklin and Richard Campbell invited me to appear again on .Net Rocks recently. We talked at length about the circumstances that we often see that cause technical projects in particular to fail.

Initial feedback has been quite positive so if you happen to listen to it I hope you like it as well. This particular episode is found here

Wednesday, April 22, 2009 3:06:07 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [28]  | 
# Monday, April 13, 2009
Most of the people I know feel uniquely qualified to say how a particular commercial software product should work based on their experiences of using it. It doesn't matter which product you pick, it is always the same. The problem with this is that it is almost impossible for an individual to be objective about whether their use of a product is mainstream or even typical. The consequence is that listening to the advice of all your customers is a good idea, but you have to pick and choose which suggestions you actually implement as part of your roadmap.

Ultimately it is the vendor that decides what they will offer. The customer often gets confused about who is steering the boat. So I respect and completely understand the position that a commercial software vendor has the right to decide that some complained about aspect of the product is "as designed" if they believe it is not important to their plans for the product. The other side of this coin is that it is your customers that decide if you have run the boat onto the rocks or not. And they tend to vote with their feet.

The best course is to always get as much feedback from your user community as possible and pick through that information objectively. One great question is whether the customer would pay more for the product if it had their proposed feature, character or ability. If the answer is no then that should tell you something.

Monday, April 13, 2009 11:27:35 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [22]  | 
# Friday, April 03, 2009
I sent the following email out to our entire company today and afterwards thought it would be interesting to post if for no other reason than to compare notes with others who grapple with these same issues (i.e. everyone). If you have a company of any size at all I would highly recommend sending out semi annual reminders like this one. It helps alot to remind people of the dangers and sets the tone for new employees who have joined since the last reminder. Above all you will note that the message is maturity and responsibility.

The subject of the email was the same as this post (Virus Prevention Advice and Policy) and below is the text:

It is that time again and we are starting to see warnings about worms and viruses passed along by friends and family so I wanted to take this opportunity to remind everyone of how we keep our own network safe and free of these destructive monsters.

Some rules of the road for using company email and company computers:

1. If you did not expect it then don't click on anything in it. This general rule will help you deal correctly with most emails and web pages. If you go to a site expecting to download something be sure that you are on the correct site (many common typos of URLs host malicous copies of the popular site). If your brother sends you a message called, "Kids latest pictures" and it was not something you expected, do not click on links or attachments until you have verified that it was indeed sent by him. Our last major virus here at the company was the result of just such a message being clicked on by an employee who did in fact get pictures from her brother quite often, but this time it was a virus that was sent by her brother's computer instead. It took us 2 days to clean up the mess. A better policy is to only open personal email attachments at home while you are not connected to our network.

2. Be paranoid, but try not to be crazy. If you get an email from yourself that is some form of spam then welcome to the club. We can't stop the spammer in Asia from using your email address to send the world spam and if you use the address long enough it will certainly happen that you and others you know will get spam that looks like you sent it. It will pass, but we can't fix it. See rule #1 as this fact should also make you more cautious of anything you get that you didn't expect even if you converse with the user often.

3. A great many viruses and malware are picked up by browsing the web. Visiting site like Youtube.com and MySpace.com is often a bad idea unless you know exactly what you are doing, why and accept the consequences if the result is 2 days of lost time to the company.

4. There is a reason you can't install things on your computer. We limit what the average user can install on their computer so that if a mistake is made, it is less likely to have a lasting effect on our network. In most cases, if it isn't already installed on your computer you don't need it. There are exceptions, but be sure you have a cogent argument for why you need Software X on your work PC. We also use specific version of MS Office products as a hedge against system outages. We do pay attention to the newest versions and will upgrade when the time is right, but no sooner. If there are business reasons why you need a specific version of something please let me know and we can make a business decision.

5. Keep up the good work. We have an amazing track record here for having staff that do the right thing. Most companies get hit by a virus once a quarter or more and we are typcially only seeing an event every other year. This is in spite of the fact that we do not block sites or regularly check browsing logs to police what people are doing. My only caution on this point is that while we all enjoy this open environment it is dependent on our continued vigilence.

If you have any questions please feel free to contact me or anyone else on the technical staff and we will be happy to help you navigate the mean streets of the Internet.

Thanks Patrick

Friday, April 03, 2009 4:23:30 PM (Eastern Standard Time, UTC-05:00)  #    Comments [21]  | 
Site Search


Locations of visitors to this page