Stop Dell Laptop Overheating in Sleep Mode

Dell XPS 7590 laptops have an annoying tendency to overheat after going into sleep mode while plugged in. The laptop gets VERY hot and the fan runs full blast, for no apparent reason. I found a post on the Dell Community forum claiming the problem had something to do with the fingerprint scanner. It linked to another post explaining how to disable power management for the fingerprint driver.

To do so:

  • Open Device Manager
  • Under Biometric devices, open properties for Goodix fingerprint
  • Open the Power management tab
  • Uncheck Allow the computer to turn off this device to save power

It seems to have fixed the overheating issue for me.

SQL Server Won’t Start After Replacing Physical Drive

So, I had to replace a failing hard drive in my computer at work. It was the D: drive and only had data on it, so no big deal. Put in the new drive, copy the data over, remove the bad drive, rename the new drive to D:, and should be good to go, right? Well, not quite… See, when I had installed SQL Server, I told it to put all of the databases on the D: drive, including master, model, etc. Even though all of those files got copied over to the new D: drive, SQL Server wasn’t happy. I kept getting this error when trying to start up SQL Server:

FCB::Open failed: Could not open file D:\SQLServer\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\model.mdf for file number 1.  OS error: 5(Access is denied.).

SQL Server was configured to run under the Network Service account, so I checked the effective permissions for that account on the model.mdf file. They appeared to be sufficient, but not “Full Control”. So I gave Network Service full control on the MSSQL10_50.MSSQLSERVER folder and after that SQL Server started up just fine.

I looked at permissions on some other systems and the account SQL Server is running under does not typically have full control over those files. In fact, it usually seems to have the same, or even more restricted, permissions than what mine had when it wasn’t working. I’m not quite sure what exactly it needs to work, but it’s working now and giving the service full control to that folder probably isn’t too dangerous.


Get Notepad++ to Recognize Any File Extension

Notepad++ is my favorite text editor on the Windows platform; however, I’ve often wished it would recognize other file extensions and use the appropriate language setting. On several occasions I have poked around in the Preferences, but was never able to find a way to get it to do that. (It’s a testament to my laziness that I hadn’t bothered to put much energy into figuring it out, despite the fact that it repeatedly annoyed me.) Well, today I noticed the Style Configurator menu option and wondered what it was. It turns out this is where you get Notepad++ to recognize other extensions!

Simply go to the Settings menu and then click on Style Configurator dialog:

In the Language list, select the language you would like an extension to default to. For example, I typically want *.config files to be opened as XML files. To do this, select the XML language, enter “config” into the User ext. field, and then click Save & Close. That’s it! Now when you use Notepad++ to open a file with a config extension, it will default to the XML language. If you want to associate multiple extensions with the same language, simply enter them all in a space-delimited list.

I’m sure this information is out there somewhere, but I was too lazy to look for it, and I needed to write something on my blog. 😉

Note: this does not create a file associate in the operating system. So if you want to also be able to double-click on a config file and have it automatically open in Notepad++, you’ll also need to create that association in Windows.




Agile Coach Camp USA

 Games Day Warm-up

Last weekend I attended the Agile Coach Camp-USA in Columbus, Ohio, and I can’t say enough good things about this event. If you care about building successful Agile teams, you should definitely get to one of these camps.

getKanban Game

The first day was the Agile Games Day. A full slate of hands-on activities were planned to simulate many different aspects of a coach’s role. I participated in the Get Kanban game, Kanban Pizza, 99 Test Balloons and Marshmallow Challenge. Each of these games were very good simulations of different Agile concepts. One thing that jumped out at me during these games is Agile coaches aren’t always very good at taking Agile approaches with relatively simple tasks, myself included. Each time I noticed teams making the same mistakes. In the Get Kanban Game, none of the teams prioritized a very high value story correctly. In the first round of the Kanban Pizza game, both teams created way too much work-in-progress by significantly over-producing slices of pizza which were not completed. In 99 Test Balloons, none of the participants asked for adequate acceptance criteria at the beginning. In the Marshmallow Challenge, both teams began by attempting grossly over-engineered solutions, rather than starting with the simplest thing that could provide immediate business value and then building upon that. What was interesting was when I stepped away from my team and observed what the other teams were doing, the mistakes were obvious, yet my teams were making the same mistakes and I didn’t see them.

During the conference, someone suggested that these kinds of mistakes might indicate the importance of cross-functional teams and that a team consisting of only coaches may not perform well. While there is probably some truth to that, I think there is more to it. Having just come off a coaching assignment where I had a lot of developer responsibilities as well as coaching responsibilities, I saw some similarities. I had a hard time balancing the duties of my two roles and I found that when I was wearing my developer hat, I had difficulty functioning as a good coach, because I had my head too deep in details. It occurred to me that in order to be a good coach it may be necessary to avoid getting too involved in the work of the team. I don’t like this idea as I’ve always felt that being in the trenches with the team is a great asset to a coach, but I can’t deny the pattern I experienced and witnessed. In my case it might simply be a lack of coaching experience, but that doesn’t explain the behavior I observed in much more experienced coaches. Maybe there’s another explanation. Maybe people weren’t taking the games seriously enough. Maybe the games are too abstract. I’m not sure, but I think I may pursue the notion that a coach shouldn’t get too engaged in the team’s work, at least in my case.

Open Spaces Board

The following two days of the event were an Open Space format. There were a lot of very interesting topics proposed and I had a hard time choosing which topics to participate in. I can honestly say that I got a lot out of every conversation I went to. The topics included estimation techniques, recruiting strategies, coaching skills, distributed teams, and selling Agile. One topic that I regret not choosing was Influence Map by Siraj Sirajuddin. I’m really not sure what exactly went on in that session, but it certainly seemed to have had a profound impact on those that participated. I will certainly not miss the opportunity should it present itself again.

This was a great event and I’m glad I decided to attend. I don’t think I’ve ever been surrounded by so many thoughtful and generous people. I learned a lot, met some fantastic people, and regained enthusiasm for coaching, which had waned after a recent disappointing coaching assignment. I hope to make the next event in Minneapolis.



Organize Media Files with PowerShell

I’ve never been happy with the way Windows imports photos, so I decided to look for a better way. I found this post on Steve Smith’s blog about how to rename photos and organize them using a PowerShell script. The script extracts the date each photo was taken from the file’s EXIF data, renames the files with the date, and organizes them into folders based on the month. This was close to what I wanted, but I also wanted to do the same thing with videos. Unfortunately, videos don’t contain the same kind of EXIF data. After some research and experimentation, I figured out how to extract the Media Created date from MP4 and AVI files.

My script recurses through the $SourceRootPath looking for any files with an extension in $FileTypesToOrganize. For each file, it extracts the appropriate creation date. In the case of JPG files, this comes from the EXIF DateTaken and for other file types this comes from the MediaCreated date. Using the date and the $DestinationRootPath it builds a path of the following format:


Right now the script only works with JPG, MP4 and AVI files; however, it would probably work with other video formats simply by adding them to the list of extensions.

You can download my script here.

Unable to Stream Media from PC to Xbox via Wireless Network

I finally got around to getting an Xbox 360 last weekend. This weekend I wanted to try streaming pictures and music from my laptop and Droid X to the Xbox via DLNA and my wireless network. No matter what I tried, I could not get the Xbox to see my phone or laptop, nor them then Xbox. I spent hours and hours this weekend searching the Internet and trying everything I could think of, but I couldn’t get it to work. Since none of the devices could see each other, it seemed like it was likely a router issue. While perusing the router settings for the umpteenth time, I noticed that an unfamiliar setting, called AP Isolation, was set to “On”, which was not the default. I looked up the documentation on this setting for my Linksys router and it said:

Creates a separate virtual network for your wireless network. When this feature is enabled, each of your wireless client will be in its own virtual network and will not be able to communicate with each other. You may want to utilize this feature if you have many guests that frequent your wireless network.

Doh! I don’t ever remember turning that setting on, but it sounds like something I would have done. None of the wireless devices on my network have ever needed to talk to each other before, so it probably made sense to turn it on, until now anyway. As soon as I turned off that setting all the devices could suddenly see each other. As the documentation says, this setting only isolates the wireless devices from each other. Since I’ve never tried to get any of my wireless devices to communicate before, it was never an issue. My wireless devices were still able to communicate with all the wired devices, though.

I’m posting this on the off chance it might help someone, and as a reminder to me to be careful when tweaking things because I often forget what I did.

Kalamzoo X Conference

X Conference is a small event that has been taking place in Kalamazoo, Michigan for three years, and it’s one of my favorites. I love the theme of the event, which is about improving developer soft skills, as opposed to most events which are focused on technologies. In the last two years I’ve heard talks on subjects like self-branding, community involvement, developer education, interviewing, and body language. Last year I also heard one of my all-time favorite talks by one of my favorite speakers, Alan Stevens. His talk, entitled “Does Your Code Tell A Story,” was just brilliant. The format also works very well: a single-track of 30-minute talks. It creates a great environment for conversations between talks, during lunch, and after the conference because everyone has heard all the same content. I can’t recommend this event enough. If you care about becoming a better developer, you need to get to this conference.

Agile and Beyond

I attended the Agile and Beyond conference in March. This is a one-day, regional event with a little over 500 attendees. The opening keynote by Mary Poppendieck was very good, as her talks always are. I was intrigued by her discussion of Dunbar’s Number and how it relates to team size. I attended a few interesting sessions during the day, but, for me, the highlight was definitely the closing keynote by David Hussman. I hadn’t heard of David before, but he’s now definitely on my favorite speaker list. I thoroughly enjoyed his talk and I recommend watching it.

This was a very good conference and I certainly plan to go back next year.

Getting WatiN Test Recorder to Run on Win7 64bit

I finally decided to check out WatiN today. The first thing I did was run the Test Recorder, but when I launched the app I received the following error:

System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {98EDB477-3064-4D0E-A09E-CC73F9AAB324} failed due to the following error: 80040154.

I’m running Windows 7 64bit. After digging around I found the solution is to run the following command (with administrator privileges):

corflags /32bit+ "C:Program Files (x86)WatiN Test RecorderTest Recorder.exe"

Obviously, change the path to the executable, if necessary.

Orchard 0.9 Released

Version 0.9 of Orchard CMS released yesterday. This release includes the addition of Orchard Gallery and Gallery Server, which are two related Open Source projects I’ve been working on since I joined NimblePros in November. Gallery Server is a general purpose, back-end component gallery, and Orchard Gallery is a front-end for it. (Gallery Server will also be the back-end for NuGet.) You can check out the Orchard Gallery in action at this demo site. This has been a very interesting project to work on and we still have a lot more to do before the 1.0 release next month.