Skip to main content


Showing posts from 2016

Fixing Issues with Microsoft LifeCam Studio on Windows 10

A recent Windows 10 update seemed to cause my Microsoft LifeCam Studio to start behaving badly. Actually it wasn't so much the webcam itself, which seemed to work fine, but when the video on the webcam was active the entire machine would start behaving extremely sluggishly, even though the CPU and RAM stats were both nominal.

To cite a specific symptomatic situation, if while on a Skype call I'd try to interact with another application such as Chrome or Slack, I'd click on the app and after a few second it would get focus. In the case of Slack, as I type the letters wouldn't appear for several seconds, and then would appear all at once, usually with a few dropped characters. With the video on the webcam disabled, none of this happened.
I dug around a bit and although some of the solutions I found were related to the general webcam issues related to the Windows 10 anniversary update (aka #webcamgate), my webcam wasn't freezing or refusing to work at all as some peop…

Running a Django Application on Windows Server 2012 with IIS

This is a first for me since under normal circumstances we run all our Django applications on Linux with Nginx, but we're in the process of developing an application for another department and due to the requirements around this project, we'll be handing the code off to them to deploy. They don't have any experience with Linux or web servers other than IIS, so I recently took up the challenge of figuring out how to run Django applications on Windows Server 2012 with IIS.

Based on the dated or complete lack of information around this I'm assuming it's not something that's very common in the wild, so I thought I'd share what I came up with in case others need to do this.

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Assumptions and CaveatsThe operating system is Windows Server 2012 R2, 64-bit. If another variant of the operating system is being used, these instructions may not work properly.All of the soft…

Exporting and Converting iPhone (iOS 9) Wallpaper Files

I found myself needing to export and convert iPhone (iOS 9) wallpaper files from an old iPhone, and the source photos for these files no longer exist. As with most things Apple this turned out to be a horrendous pain but I was determined not to let Apple win. To paraphrase Ferris Bueller, "If I'm gonna get busted,  it is not gonna be by a company like that."

Although getting here was pretty time-consuming, the end result is simple. I did this on Windows but it should work on a Mac as well, provided you can install Pillow and run some Python.

Connect the iPhone to your computerBackup the iPhone using iTunesGrab iExplorer and run it, allowing it to connect to the iPhoneIn the Backup Explorer, navigate to HomeDomain -> Library -> SpringboardIn that directory you'll see HomeBackground.cpbitmap and LockBackground.cpbitmap files, along with .jpg thumbnails of the files. Export these files from iExplorer to your computer.The .cpbitmap files are worthless (except to the…

Fixing DPI Scaling Issues in Skype for Business on Windows 10

My setup for my day job these days is a Surface Pro 4 and either an LG 34UC87M-B or a Dell P2715Q monitor, depending on where I'm working. This is a fantastic setup, but some applications have trouble dealing with the high pixel density and don't scale appropriately.
One case in point is Skype for Business. For some reason it scales correctly as I move between the Surface screen and the external monitor when I use the Dell, but on the LG monitor Skype is either massive on the external monitor, or tiny on the Surface screen.
After a big of digging around I came across a solution that worked for me, which is to change a setting in Skype's manifest file (who knew there was one?). On my machine the file is here: C:\Program Files\Microsoft Office\Office16\LYNC.EXE.MANIFEST
And the setting in question is this:
Which I changed to this: <dpiAware>False/PM</dpiAware>
Note that you'll probably have to edit the file as administr…

Installing Python 3 and Django on Dreamhost

I'm working on a side project for a friend that has zero budget and since I'm already paying for Dreamhost (my favorite and only choice for shared hosting) and totally underusing it, I figured I'd use this project as my opportunity to figure out how to install Python 3 and Django since A) Dreamhost lets you do install things even on their shared platform (one of the reasons I love them!), and B) the default Python on Dreamhost is Python 2.7.3.

1. Install Python 3.5.1
This part's really simple and Dreamhost even documents it nicely on their knowledge base, but for the sake of one-stop shopping I'll include the steps I performed here. Note that I'm leaving the default Python 2.7.3 in place since I'm not sure what havoc it would wreak to blow it away, so Python 3.5.1 will be installed in such a way that it'll be run as python3. (For the curious, you can also read more about Python at Dreamhost in general.)

Before going any further, if you haven't enabl…

Installing PyGame with Python 3.5 on Windows 10

Quick installation notes for PyGame with Python 3.5 on Windows 10 since the available installers didn't work for me, the symptom being the apparently highly frequent "pygame module has no attribute init" error when trying to call pygame.init() after importing pygame.

First if you've run any PyGame installers previously, make sure to clean up anything they installed. The easiest way to do this is to run the installer again and choose the uninstall option, but you may also want to check the Lib/site-packages directory under your Python installation to make sure there aren't any remnants.

Next, go here and download the appropriate .whl file for your environment.

Next, open a command prompt and run:
pip install wheel

Finally, browse to the directory where your downloaded .whl file is located and run:
pip install pygame_file_name_here.whl

Restart your command prompt to be safe, and at that point you should be able to do this in a Python interpreter without getting err…