IIS and unknown file types

June 17th, 2010 No comments

Since IIS6, or there abouts, IIS will not host a file that it does not understand, or doesn’t have a MIME handler for. This is a security feature, but can cause some unknown issues…

Read more…

Categories: Microsoft, Work Tags: ,

Maintenance Windows, and communicating your times…

June 14th, 2010 No comments

Bob Plankers of The Lone Sysadmin fame, has an excellent article titled Midnight is Always Tomorrow, which talks about communicating maintenance windows effectively with peers, as well as customers. He describes the confusion between the term of Midnight, and how some people consider it one day, whilst others see it as a different day.

Midnight is 00:00, meaning the start of a new day. Always.

If you’re in doubt, use 00:01. Assume everybody is clueless about time, because they are. For example, a lot of people think in terms of when they go to sleep, not what actual time it is, so if they’re still up at 0200 on Sunday they consider it to be Saturday.

He timed it well, I was thinking of posting about this very subject myself after a similar incident last week. After our QA team had cleared a break-fix release, it was scheduled for that fateful time, on Midnight on Friday. This was discussed at length by several people on Monday. After several meetings, I hear somebody walking past, telling the business units on Wednesday…

Yes, it’ll be released tonight, and ready for tomorrow.

“Tonight” would have been Wednesday night, tomorrow would have been Thursday. Somehow the magical shift of midnight pushed the release forward a day. Fortunately we interjected, and had them corrected.

This isn’t the only incident that is like this, we see it frequently when something gets requested for that time. I cannot begin to count the number of times I’ve had somebody ask me “is the release tonight at 2am?”. This goes into the idea that people consider “tonight” to be anytime before they went to sleep.

Going with Bob’s suggestion, use dates, and 24 hour clocks, if necessary (and always recommended) shift the time by a few minutes to make it obvious which date midnight falls on. Notify customers, tell them the outage/maintenance/changes are at 00:05 on 06/15/2010 (if you work with international customers, use words instead of numbers).

Bob finishes on a perfect example…

“The system shutdowns will commence at 2200 on 4/17/2010, the power will be disconnected at 0000 on 4/18/2010, and power-ups will occur again at 0800 on 4/18/2010. All times are in CDT (-0500).”

Be clear. Be concise. Be exact. Remove as much ambiguity as you can. The customers will be happy for it.

PowerShell; Calculated values in results

June 11th, 2010 2 comments

Whilst sitting here on a product release call, I was reading over my twitter feed, specifically looking at #powershell, and I saw a post by @tonjoh. Feeling I had a few minutes on my hands whilst QA bashed away at the servers, I decided to take a look…

Read more…

Categories: PowerShell Tags:

Saving the event of the year… Or at least the pictures

June 8th, 2010 1 comment

Whilst working away this morning, I received a very pitiful look. It’s that look that we all know. The “I did something terribly wrong” kind of look. This look came with the hands of a digital camera, a small compact point and shoot. A story followed the look, as the camera was handed over to me…

Read more…

Categories: Technology, Work Tags: ,

Cleaning up remote directories with PowerShell

May 24th, 2010 1 comment

Part of our application at work sends email notifications to various uses when certain criteria are met. This is great, except testing is difficult as you really don’t want to send out mails to valid customers, so we disable relaying outbound, and the local mail server just chomps on it a bit, then decides to not deliver it and drops it to the local file system. This is great, except in a the matter of days, we have 100k message files. This becomes entirely unmanageable with Windows, so PowerShell is here to help…

Read more…

Screenshot sharing…

May 17th, 2010 2 comments

From time to time, I have to share screen shots, it’s a common task for some, especially when showing errors and the likes. This is usually fine because it can be emailed, or saved as an image file for attaching to a bug ticket. I’ve started sharing some screen shots online, which now requires a few more steps, and becomes quite time consuming, screen shot, save image, upload to some site. This is where jing came in…

Read more…

Categories: Technology Tags:

SQL 2008 and MERGE

May 14th, 2010 No comments

A feature I’ve long awaited in Microsoft SQL (TSQL) has been a function similar to MySQL’s REPLACE function. For those that haven’t used it, the REPLACE function allows you to do an insert of a new record, or replace an existing record1 if one matches the primary key. In SQL 2008, Microsoft introduced a function called MERGE. This is like REPLACE, but a whole bunch of extra goodies…

Read more…

  1. This is really a bit false, the term replace would hint it does an update, however it actually does a DELETE then an INSERT, so if you have triggers, be careful[]
Categories: Microsoft, Technology Tags: , ,

Tracking the rogue IP address

May 6th, 2010 3 comments

Digging up an old post today, I helped my wife figure out why her office A/C system couldn’t be managed properly. Apparently their system connects on a specific IP address, and it wasn’t responding. It was surmised that it was caused by some work I had done fixing one of the other machines a few months ago. But after some quick digging, turns out it wasn’t. Apparently their “consultant” had a device on the network for VPN, firewall, etc, which had the same address on it. How it got the same, we don’t know, but here is how we figured it out…

Read more…

Categories: Networking Tags:

Reverting a checkout from another workspace

May 6th, 2010 No comments

Every now and again, we have issues where a developer will have their laptop rebuilt, and forget they have files checked out in Team Foundation Server (TFS). This isn’t very helpful as sometimes they cannot undo their check outs. Visual Studio doesn’t give you access to undo a checkout in another workspace if it’s not your workspace, however the TF.exe command does. Here’s how:

tf /undo /workspace:workspacename;username $/project/path/to/file

This will happily undo the change on that particular file. If you have a whole directory to revert the changes on, that’s easy too…

tf /undo /workspace:workspacename;username /recursive $/project/path/to/directory

You must remember when reverting somebody else’s change to use the project URL, not the physical path on your local machine, otherwise you’ll get an error like this:

No pending changes were found for <localpathname>\file.aspx

For more details on the tf.exe undo command, see the Microsoft documentation here. Full details on arguments for the tf.exe command can be found here too.

Categories: Microsoft, Technology, Work Tags:

The importance of up verses alive…

April 30th, 2010 4 comments

The Nubby Admin has an interesting post, and lesson learnt on the importance of monitoring. The post, titled The Wisdom of Specificity in Monitoring and Alerting. After an outage was caused due to his service provider making some DNS changes due to disk usage issues, Wesley found himself with a broken site, but monitoring didn’t report it as such.

Read more…