This week I’m trying to automate some pieces of our disaster recovery test, which happens in less than two weeks. Previous tests have taken 4-6 hours to bring the BCP environment online and in the event of a true disaster, the faster we can bring it online the the better, so in the next two weeks whatever can get scripted… gets scripted.
Yesterday I wrote and tested a series of scripts to stop/disable and enable/start the IIS services on the web servers. There are multiple services that all need to be running, some of them take 5-10 seconds to start up, and some of them are dependent on others. In my testing, I was getting errors. I needed to insert a pause.
So I inserted a ping in the startup_iis.bat script.
sc \Web1 config IISADMIN start= auto
sc \Web1 start IISADMIN
sc \Web1 config HTTPFilter start= auto
sc \Web1 start HTTPFilter
sc \Web1 config W3SVC start= auto
sc \Web1 start W3SVC
The IP address 126.96.36.199 is invalid and not reachable, but the ping command will try anyway. It created a pause of about 20 seconds, enough time for one service to finish starting before I attempted to enable and start the next service.
As an Application Administrator, it’s ingrained into you the religion of Change Management and the love of uptime. So I cannot even begin to describe how counter-intuitive it is to forcibly take down the Production environment. How awkward it is to write scripts specifically designed to create a disastrous outage. It’s the closest I will come to being a Mad Scientist.
UPDATE: a friend on Facebook pointed out some the parameters accepted as options in ping.exe. His example:
ping 188.8.131.52 -n 1 -w 300000>nul
This makes one ping request with a timeout of 300,000 milliseconds (5 minutes). Nice if you are waiting for a server to reboot.
This pretty much sums up my most productive weeks:
This week I discovered the website musicforprogramming();
It describes itself as:
“A series of mixes intended for listening while programming to aid concentration and increase productivity (also compatible with other activities).”
I’m only as far into the first (of seven) in the series, but it’s an excellent companion to working heads down on a project. If you are tired of listening to The Social Network original soundtrack while coding / debugging / troubleshooting / documenting, give it a try. Each mix is about an hour long. Here is their RSS feed and their subscription link in iTunes.
This weekend we are doing a conversion for an existing site, migrating their data from their existing EMR into the new platform. One of the tasks I was responsible for was stopping the windows service that runs the lab interface and e-prescribe messaging.
So I created a .bat file with these two lines:
sc stop servicename
sc config servicename start= disabled
I created a scheduled task on the server to run this .bat file at 7:01pm, when the data conversion was expected to begin. The site would be closed by then and the database would have been taken offline as well. And I didn’t have to login and work on a Friday night.
I can’t wait until our new platform is off of Windows 2003 and we move forward to Windows 2008 R2. I’m eager to start using PowerShell.
The production Citrix servers are locked down with some The Citrix servers for my production environment are fairly tightly locked down with group policy and I can’t get to the Start Menu and can’t view any of the server’s local drives in Windows Explorer. I can’t pull up the Run dialog. I can’t Search. So I created a shortcut in my home folder for the Command Prompt and launch from there, but you have to know the right run commands. Here are my go to commands:
- Computer Management: compmgmt.msc
- Control Panel: control
- Microsoft Paint: mspaint
- Notepad: notepad
- Registry Editor: regedit
- Task Manager: taskmgr
Here’s a big list: http://mypchell.com/guides/34-guides/69-156-useful-run-commands
I send out an email at 8:45 AM: “please call me.”
I’m away from my desk from 11:15 AM – 11:30 AM to pick up something for lunch, I come back to a voicemail.
This is how phone tag begins.
Luckily our phone system in the office will forward your voicemails in a .wav file to your inbox. So I just replied to the original email thread with the voicemail .wav file attached, saying “I got your voicemail, I had a follow up question.”
I used to spend 6+ hours a day on the phone and it was an integral part of my job success. I couldn’t have lived without it and when I had to solve a problem I would prefer to pick up the phone and talk to someone. Not so much anymore. I think clearly part of that is the decreased amount of end user support I do on a daily basis. Part of that is how much I use instant messaging. The main reason: my severe distaste for playing phone tag.
One time years ago I had a performance evaluation that left me speechless. It was 25 minutes of being told I exceeded expectations in every area but one; my manager kindly requested I shave my beard.
Some time ago I had a performance evaluation that was entirely peer review, despite having no peers.
Two years ago I had a performance evaluation that resulted in a promotion.
But this year, my performance evaluation is the first one I’ve thought long and hard about in the days following. I usually leave those one-on-ones feeling like I’m doing well, better than average, and that I just need to keep doing what I’m doing. But this year, I wasn’t applauded for doing routine tasks that are in my comfort zone. I wasn’t applauded for being likable or friendly or easy to work with. I was expected to be easy to work with. I was expected to make quick work of routine tasks. I was expected to hit all my dates. I got a clear evaluation of the key areas I need to improve in. I didn’t like it at first. I don’t think anyone likes being told exactly how they are inadequate.
I remember the last time I felt like that: I was cut from the Varsity Golf team in High School. I hadn’t improved between my Sophomore and Junior year and someone else stepped up and took my spot. I worked with a golf instructor a few times over the next year and he showed me the flaws in my swing and gave me a new practice routine. It took hitting a lot of practice balls (at the range and on the course) but I played again as a Senior.
Good news, I’m not in danger of getting cut. My boss even mentioned that there’s really never been a time he’s come to me with a question and I didn’t have an answer or he came to me with an issue and I didn’t have a solution. But he’s going to give me practice in the areas I need to improve. My boss isn’t hesitating throwing me into the deep end. Every area of improvement I need to work on will be an area I will get plenty of practice in over the next year. More good news, knowing where you need to improve makes setting goals easier. I’ve already purchased a few books on Amazon to help straighten out my work routine. We’ll see how well I adapt, changing habits can be hard, but I expect to get better in some of my weak areas. I’m glad to have a new baseline of my work performance rather than just being told “you’re doing fine”.
Outlook 2007 has a “To-Do Bar” that shows a current month calendar, the next several calendar appointments, and a list of active tasks. I’ve seen the To-Do bar used in lots of ways, but those who seem to get the most out of it have done the following things to tweak it:
- Hide the “Date Navigator”. Just another word for “monthly calendar”, it doesn’t do anything at a glance that the calendar in the system tray won’t tell you. So free up the vertical screen real estate in the To-Do Bar and hide it.
- Collapse them. Like the push-pin side menus of the Microsoft Development tools, you can collapse the To-Do Bar so it docks on the right hand side of the window. You can do the same thing to the folder view on Navigation Pane on the left if you want to reclaim even more horizontal screen real estate.
- In the Appointments don’t show every appointment you have that day, bump up the number of appointments shown. If the Appointments show the same recurring weekly meeting twice, tick that number down. My sweet spot is 3-5 appointments shown.
- Show the Task List. Customize the fields displayed. I’ve stripped down the original fields and just show Task Subject, Due Date, Category (if you aren’t using Categories, start!), & Importance. Then I sort by Flag Status.
One of the Project Managers I work with does not display Date Navigator or Task List, just Appointments. Considering he has 5 meetings a day, he can see his week at a glance. One of the support techs I work with doesn’t really ever attend meetings, so he has a huge tasks list. It’s like having Mail & Tasks open at the same time.
And when I move to Office 2010, I’ll have to reinvent my system all over again. Super.
This last week, the gal who sits next to me at work has been out on leave. We have different skill sets, but work on most of the same projects so we share a good knowledge base about the software we configure and support. So in her absence I’ve been picking up tickets assigned to her (that is to say the support desk is just assigning them directly to me) and trying to stay afloat. I’ve never been busier. She is out next week as well.
- Go heads down. Block off time on the calendar so people think you are in a meeting. Find a way to keep people from interrupting you. Don’t look at email. Don’t let yourself get distracted. Do this for about an hour a couple times a day.
- Discern the difference between urgent and important. If something comes up that is both, drop what you are doing and take care of it.
- Keep you boss well informed of all the little things you are putting off doing (since you don’t have the time), lest one of them blow up in your face. I’ve been told on several occasions that there’s no such thing as bad news, just surprise news.
- Ask for help. There are people at work with years of expertise beyond me. There are also people at work who are just starting to out. If there is a task that might take me 2 hours to develop a fix, but someone else might already know a good solution and it take him 15 minutes, ask for help. If I can document a solution or at least the next steps in 15 minutes, rather than spend 2 hours working with a client, there are people at work looking for an opportunity to learn some of this stuff. I know I can ask for help and my teammates will come through.
I’m contemplating getting out my laptop and working some this weekend. I have an ominous feeling that Monday will not be kind. But right now, I must go play some video games. It’s been a cruel week.
Common problem: you’ve opened up an excel workbook and a column of numerical values is being stored as text. There’s that annoying green earmark in the top left of the cell. If you’ve got 3000 rows, you don’t want to step through each value and click on the context menu to convert it to number. That would take forever. here’s a workaround that takes less than a minute.
- Create a new column to the right of the column of data that is number stored as text.
- In this new column, add the number one (1) to every row. You can enter it in the first few rows, select those rows, then double click on the bottom right of the cell to extend the value to last row.
- Select the row you wish to convert to number and Copy to the clipboard.
- Select the top cell of the newly created row, right click and choose “Paste Special”
- In the Paste section, choose “All”. In the Operation section, choose “Multiply”. Click Ok.
Because it is performing a mathematical operation, it will convert the data type to number. Because it’s multiplying by one (1), it won’t modify the value. Pretty sweet.
(via Blue Moose Technology)