Updated Flickr Set Downloader

A user mentioned to me that the FlickrSetDl tool was only allowing 500 images to download.

This is just a quick update to allow it to download more than that. Thanks for pointing out the limitation.



Upload Diablo III Screenshots to SkyDrive Automatically

Over the past couple weeks I’ve been spending a ridiculous amount of time playing Diablo III. It’s not that the game is that amazing, but the loot hungry monster inside of me has to keep playing hoping that something amazing drops and I become an instant Diablo III celebrity. The likelihood of this is rare, but it’s not unlike playing the lottery, or Russian Roulette. I guess the outcome of those two things are slightly different.

I realized that I take a lot of screenshots while playing, some of them are of crazy mobs, some of glitches, but the majority of them are of loot I find. I’m not sure why, but looking through the screenshots is a lot like looking through old photos. I sometimes will be having a discussion with a friend and try to describe what I found in the game, but when I try to remember one of many stats of all the things I find it’s almost impossible. So for the last few days I’ve been taking a screenshot when I find something interesting or rare. This way I always have that available to go back to if I want to find the exact details.  The problem with this, is I’m usually not at home on my PC when I’m having these discussion, I’m at work, on the bus, or over a friends house.

I thought to myself, what if I change the screenshot location for Diablo III to point at a folder in my SkyDrive? That way the photos would be  uploaded automatically and I could get them from my phone, or my work PC, anywhere that I have internet access. I spent a couple minutes with my buddy google checking to see if that was possible somewhere in a config file or in the options menu but I didn’t find anything.

I decide to write a simple command line tool that periodically checks my screenshot folder, and then if it finds something interesting it would copy it to the SkyDrivefolder. SkyDrive will take care of the rest. That worked, but I always had this annoying command line window on my taskbar.

I decided to make a windows form tool that would do the same thing, but allow me to change the hard coded directories, the interval, and minimize to the system tray. I create “Diablo III Image Copier” and it does just that, it takes a source and destination and periodically copies the files from one to the other.

Download: http://kmcgrail.com/d3ic.zip

Here is how I set it up to automatically put my files on SkyDrive.

  1. Create a SkyDrive account. http://www.skydrive.com
  2. Install the SkyDrive client tool https://apps.live.com/skydrive
  3. Setup the SkyDrive path to something that will be easy to find
  4. Run D3IC.exe.
  5. Set your source path <Drive>:\user\<username>\DiabloIII\screenshots
  6. Set your destination to a folder in your SkyDrive folder
  7. Choose a frequency
  8. Press start

When it’s running it will check the source folder for changes every so often, and if there were changes it will copy all those files to the destination folder.  You can minimize the window and it will go down in the tray, and continue to run in the background. After running if you check your SkyDrive account you will see your images showing up!

FitBit Group Finder

Yesterday I got myself a FitBit to track how active, or inactive I am in a given day. They have this great system designed called groups that lets you find other people who have similar interests and you can compete against them to see who walks the most, or just talk to each other.

However, I’ve never seen a more horribly designed website in my life. It lets you see 12 groups as a time in alphabetical order, and there are over 2000, so you can imagine how long it takes to get to the ‘Z’ groups. Sure you can manually change the URL, but that isn’t great navigation either.

I threw together a simple group scraping tool that goes through all the groups for you and presents a nice list and you can just click to go right to the group page. It takes a while to get all the groups so you will probably want to run it and let it sit for 10 minutes then come back. When I get some free time I’ll make it faster.

You can download it here: **NEW ** http://www.kmcgrail.com/FitBitGroupFinder.zip


Download All Files In Flickr Set

Several times in the past I’ve needed to download all the pictures in a particular flickr set. There were many tools that claimed to do this, but when you actually try to use them it turns out they are terrible.

Several only allow you to download a portion of a set, or have horrible UI experiences. Others ask you to pay or donate to get full access to the tool.

I decided I would just write my own, Flickr is great to interface with through code, and with about an hours worth of work I had an app working that did exactly what I needed, and nothing more. It runs on the command line, and could not be more simple. You just provide the SetID, and the path to download the photos to and it does the rest.

FlickrSetDL automatically tries to get the orginal image, and if that isn’t available it tries the large size, then the medium. If none of them are available it will skip the image and move on to the next image.

You can download it here:


[NOTE: Had to upload to a new location, the other file was removed for some reason]


The tool does report back some stats so I can see usage, so if that bothers you, don’t use it.

This doesn’t work on Windows 8 yet. It has a problem with the CLR.

Charging a Micro USB device without a charger

I kept hearing about people working on porting Android to the HP Touchpad, and I decided that I wanted to try to install the new release of Cyanogenmod on mine. I don’t really use the touchpad for anything other than browsing the internet so if it doesn’t work perfectly that will be ok.

I was so excited to begin, and started following a tutorial I found online. After step one I realized that my battery was at about 5% since I hadn’t charged in a while, and I would’t be able to continue without charging at least to 25%. All I had was the USB cable, but that doesn’t seem to do much more than trickle charge the device. Definitely not enough to charge in any useful amount of time. I looked everywhere to find a useful charger that would work a bit faster. The touchpad uses a micro USB plug to charge so I was excited to find my cell phone charger on my desk. Turns out it is only 1.0 amps and wasn’t much better than charging over USB.

I have access to an awesome Agilent power supply, and figured it must be possible to charge the touchpad with it. My original goal was to just cut a micro USB cable and attach the wires to the power supply with 5V 2Amp and it should work. It wasn’t quite so simple. Shorting D+ and D- and hooking it up directly only drew about .5Amps, which was just like being plugged into USB. After talking to a couple folks and learning a bit more about how the device knows to draw more power it made total sense.



I’m not an electrical engineer, so I turned to my smartest friend… Google. I found several forum posts about people trying to charge their touchpads in their cars, and have pretty much already solved the power problem using those cigarette lighter USB chargers. With a couple resistors you can convince the touchpad to draw more power.  A few minutes later I had my resistors all hooked up. It’s not pretty, but it matched the diagram, and I’m pretty sure it should work.


Not Pretty, but it works!

I was a bit scared to actually turn on power output, but I did it anyway. To my surprise nothing started smoking! Not only that, but the touchpad started charging without the warning about using the right power cable. Yay… It works!

After half an hour of charging, I had enough power to go through the Cyanogenmod install. The first time I did it, the touchpad got stuck in a strange state where I couldn’t get back into recovery mode, but after recovering the device and running it again everything worked.


Power Draw

So far I really like the Android interface, and it seems to run pretty smoothly on the device.