New Versions of File Mover and USB Detect & Launch

Due to popular request, both File Mover, and USB Detect & Launch have been updated so that they minimise to the system tray.

Sponsored Post Learn from the experts: Create a successful blog with our brand new courseThe WordPress.com Blog

Are you new to blogging, and do you want step-by-step guidance on how to publish and grow your blog? Learn more about our new Blogging for Beginners course and get 50% off through December 10th.

WordPress.com is excited to announce our newest offering: a course just for beginning bloggers where you’ll learn everything you need to know about blogging from the most trusted experts in the industry. We have helped millions of blogs get up and running, we know what works, and we want you to to know everything we know. This course provides all the fundamental skills and inspiration you need to get your blog started, an interactive community forum, and content updated annually.

Full Podcast Download Automation

In my last post I chose Juice (formally known as iPodder) to keep me up-to-date with the latest podcasts. It downloads the latest episodes and sticks them into a folder when they’re complete. Since this runs on my server I don’t know when the download is ready, and I also have to plug in my MP3 player and copy them over manually.

In an Ideal World…

Wouldn’t it be great if I was notified when the download had completed and could simply plug in my MP3 player and the PC copied over the files automatically? There didn’t seem to be anything out there that automated things to this degree so I decided to roll my own. Here’s what should happen:

  • Podcast app downloads new episodes from the RSS feeds I’m subscribed to
  • Podcast app should update my ‘completed downloads’ RSS feed with the latest podcast (this feed is read on my desktop at work). This is achieved through a simple script that’s executed when the download completes.
  • If the podcast app doesn’t support scripts and you’d like to reorganise the downloaded files or run a script, then use File Mover as an intermediate step.
  • Detect when a USB storage device is inserted
  • Based on the USB device’s label, run a specific script, which in this case will move .mp3’s to my MP3 player, and move video episodes of Diggnation & Hak5 to a USB memory stick so that I can get them on my laptop with the minimum of fuss.

Basic flow



The New Application

Detecting a USB storage device and running a specific script based on it’s label isn’t something I found an application for. That’s when wrote my own app to do exactly that.

Like with most of my utilities, the program is quite simple, with the power coming from being able to fire off a script which you can do almost anything with. In this case I’ll write a simple script to copy over any .mp3 files onto my appropriately labelled MP3 player, and anything else goes onto my 2GB USB stick.

The new app is called USB Detect & Launch and is available here for download. It’s effectively a beta, so give it a try and let me know whether it works for you!

Putting It All Together

1) Install Juice (or whatever app you’re going to use to subscribe to podcasts with)

2) Add the RSS feeds for the podcasts you want into Juice. E.g. Diggnation has them listed on the right hand side of the page, just pick the type of file you want (MP3, WMV, Xvid, etc).

3) Set up the destination folder for the downloaded podcasts

4) Set up the download schedule so that new podcasts are automatically downloaded

If you want to use RSS to inform you of newly downloaded podcasts follow the next steps, otherwise skip to step 8.

5) Write a quick script to add a few lines into our ‘completed downloads’ RSS feed so you’ll know when a new podcast is available even when you’re not near your server.

6) Add the script to Juice. Note; if you’re using another app that doesn’t support scripts in this way, then you can easily use File Mover as an intermediate step.

7) Setup your LAMP/WAMP installation to use a PHP script that will generate the RSS feed of completed downloads. The PHP script parses the logfile written by the script in step 5 and makes it into a simple feed.

Back to the automation…

8 ) Install and configure USB Detect & Launch. For each USB device you want to sync to, build up a simple script using the volume name, and the script you want to execute when the device is inserted.

e.g.

label:PENDRIVE
exec:wscript “c:\backup.bat” “%1” “%2”

label:CREATIVE300
exec:wscript “c:\batch\copy-to-mp3-player.bat” “%1” “%2”

%1 is replaced by the drive letter of the attached device (e.g. e:\)
%2 is replaced by the volume label of the attached device (e.g. PENDRIVE)

9) Write the script that’s called from USB Detect & Launch. The scripts can be as complex as you need them. A simple example would be to copy all the files from one of your podcast folders to your MP3 player using a batch script like this:

rem backup.bat
rem —————————————-
rem USB Detect & Launch will put the drive
rem letter of the USB storage device into %1
rem —————————————-

copy /Y “c:\podcasts\hak5\*.*” %1

Or maybe using xcopy to move all the sub-folders (/S) over would be better. Xcopy’s other options (/M) also allow you to copy over files with the Archive attribute and can reset this attribute after the copy.. essentially only copying the files over once, whilst keeping a copy on your hard drive:

xcopy f:\podcasts %1podcasts /M /S /Y

For more advanced copying of files, try using Robocopy with the Robocopy GUI app to help build up the command’s parameters.

Test The Setup…

10) That’s it. Start up Juice, and start USB Detect & Launch.

Test the process by subscribing to a new feed of podcasts. Let Juice download the latest episode automatically. When the download has completed you should find the file added to your RSS feed:

At this point you can insert your USB device and it should be detected & your podcasts will be copied over using the batch script you’ve written.

Simple 8)

Podcast Subscription Software

There are a whole host of podcasts that I download when a new episode is released. What I want to do is automate the process so that I don’t have to keep checking back for the latest ep. There is a fair amount of software out there that claims to do this, so I downloaded a fair number and looked for the following features:

  • Can be left unattended to just do it’s stuff
  • Accepts RSS feeds for subscriptions
  • Ability to download into a specific folder
  • Download the latest unseen episodes
  • Allow me to specify the episodes I don’t want
  • Schedule the downloads to happen at certain times
  • Minimum of clutter

Using a VirtualPC was ideal for evaluating each app; it allowed me to try each one without worrying about cluttering up my PC with stray registry entries and .dlls.

The ones I took a look at were RSS Radio, Nimiq, FireAnt, and Juice (formally known as iPodder). The one I liked most, for it’s simplicity and the fact it just works, is Juice which is Open Source and cross-platform.

Over the coming days I’ll play a bit more with it and see whether it lives up to my expectations! :-D

PC Virtualisation

Using a technology such as Microsoft’s VirtualPC is ideal for developers. In a nutshell, it allows you to run a virtual copy of Windows 98/2000/XP on your desktop.

In the screenshot below you’ll see my local copy of XP running a virtual copy of XP. The progress bar is showing a file being copied over to the desktop of the virtual PC after I dragged it in there from my PC.

For me, the benefits of using this type of software are:

– Older operating systems such as 98, NT4, and 2000 can be run without the need for multi-booting. This is great for testing your app works on legacy PCs.

– You can work on your normal desktop and switch to the virtual PC as if it’s another windows app.

– Each virtual PC can be setup to discard changes when you’re shutting it down; this is ideal for trying out software in an environment you can reset to a pristine state afterwards.

– The virtual hard drive for each PC is kept in a single file on your proper PCs hard drive. This makes it very easy to backup, or copy onto another PC (OS license permitting).

– The VirtualPC software is completely free! (but it does require you to have the relevant OS licenses for each virtual PC you create).

All in all it’s a good piece of software to try, especially if you’re a developer who doesn’t have a host of PCs to use as a test suite.

File Mover 1.3 Released

This new version of File Mover includes a number of snazzy new features :)

  • UNC support
  • Multiple source/destination folders
  • File wildcarding support (e.g. only move files matching *.log)

The Advanced Settings script can be used to specify multiple source/destination folders as well as wildcarding and custom script execution when a file is successfully moved.

Here’s an example situation; I’d like to move any files that appear in the completed folder into another folder called video. When a file is moved I’d also like some VBscript executed to perform some custom task. In another folder I’d also like any files called some*.log moved into a UNC network fileshare, but don’t want any VBscript executing each time. To achieve this I can use this script in Advanced Settings:

source:c:\temp\completed\*.*
dest:c:\video\
exec:wscript “c:\something\whatever.vbs” “%1”

source:c:\another\folder\some*.log
dest:\\10.1.1.20\some\share

Click on through to the File Mover page for the download.

DriveMapPro v1.5 Released

DriveMapPro has had a number of usability enhancements which have been rolled into version 1.5. If you haven’t seen DriveMapPro, it’s a tool for power users who manage lots of servers. It sits in the system tray and gives you a simple interface allowing easy access to;

  • Map/unmap a network drive on the fly
  • Explore a mapped network drive
  • Quick launch a program against the server, e.g. VNC
  • Ping the server repeatedly (useful when you’re waiting for it to reboot!)

Click through to the DriveMapPro page to download it.

Energy Usage – Results

Last night I tried out the energy meter I bought from CPC to see whether I could save money by replacing the home file server with a newer, more energy efficient model.

These are the results:

Home Server
-------------------------------------------
ASDL Router             On      On      On
Wireless AP             Off     On      On
600Mhz P3 File server   Off     Off     On
-------------------------------------------
Totals                  16w     22w     70w

I was quite surprised to see that the old P3 running at 600Mhz doesn’t actually consume as much as I’d thought it would. With that setup running 24/7 it’s costing me around £4.70 a month.

To save power at night, I have the Wireless Access Point on a timer switch (together with a couple of other power adapters) that powers down from 11:30pm until 7:30am. These consume about 6w so that saves me around £1.60 a year in electric, as well as providing a bit of security on the Wireless AP at night.

After seeing what I used on the server, I tried it out on the main TV setup:

TV
----------------------------------------------------
Wireless Client         On       On      On      On
Freeview                On       On      On      On
Amp                     St by    On      On      On
TV (32" CRT)            Sd by    Off     On      On
Xbox Media Centre       Off      Off     Off     On
----------------------------------------------------
Totals                  15w      39w     160-    205w
.                                        180w

It’s interesting to see the standby power consumption in the first column which totals 15w. Until a few months ago I used to leave everything on standby, but now switch everything off through a single switch on the power strip. This saves us around £8.70 a year.

To work out the costs, I used this Electricity Running Cost Calculator from UK Power. When I was weighing up whether to replace the file server with a more energy efficient model, I worked out the monthly cost for 2 levels of wattage, and used a quick accumulator in Excel to see how much each level would cost over the years.

Energy Meters

With all the recent electricity price increases it occurred to me that I really should know how much the appliances in my home use when they’re on standby. Therefore I ordered one of these energy meters from CPC.

At home we’ve actually pre-empted this by turning off the TV, Amp, and Freeview box at night (all on 1 switch on a powerstrip). However it’ll be interesting to see how much they’d all normally take up whilst on standby.

This web page can then be used (once you know that watts) to see how much they’d cost to run for a month:

http://www.ukpower.co.uk/running-costs-elec.asp

What really interests me is how much power my server (on 24/7) is consuming. It’s an old 600mhz P3 which does the job for a fileserver. However, maybe replacing it with a MiniITX system that consumes around 40w of power would pay for itself in a couple of years.

I’ll find out in a few days when the meter is delivered :-)

New Features Added to Simple Webcam Capture

Latest additions to Simple Webcam Capture include support for capturing an image via a hotkey, and also via the command line! The command line arguments are as follows:

/filename “<full path and filename, e.g. c:\temp\cam.jpg>”
/suffix dd-mm-yyyy hh.nn.ss
/jpgquality 40
/imgperfect 500
/imgcaption Command line test

With command line support you can now trigger image capture from another app. One idea I had is to trigger the capture from a web page, i.e. you don’t have the webcam continuously capturing images, instead it only takes an image when you click a button on the page.

Power Meter Plus 1.2 Released!

You can now customise the meter colours to suit your desktop! Hop over here for the download

Classic Gaming: Deuteros for the Amiga

Deuteros is one of those games I vividly remember from my game-playing days on the Amiga. Due to the number of games available I guess I played it for a few weeks, then dropped it. Amiga emulators for the PC now give me the chance to play the game again, without dragging the old hardware out of the loft.

The emulator I chose was WinUAE and setting it up is pretty easy once you’ve acquired the Kickstart ROM. After that, another search will give you disk images of the actual game. Deuteros had a custom save disk & I couldn’t get it to work through the emulator… however, WinUAE can simply Snapshot the entire (virtual Amiga) memory to a PC file; perfect!

One thing I’d forgotten was how hard Deuteros got when the Methanoids started attacking. In fact, I don’t have the patience to balance my resources so perfectly, just to create enough battle drones. Instead, I decided to cheat.. but only to bypass the mind-numbing drone production process.

In the Amiga days there was the Action Replay which was a bit of hardware you could attach. This had a button that would freeze the game and allow you to tinker with the memory, etc. With the Amiga emulator running on a PC we have access to the memory through PC applications.. which is when I found Poke from http://codefromthe70s.org/

Poke is just what you need when you’re searching for values in memory which you don’t the value of. When the number of drones on a ship in Deuteros is 20, the actual value in memory isn’t 20.. it’s something else. This renders lots of memory searching applications useless. But Poke can take a snapshot of the processes memory address space, then you play the game a bit longer and then tell Poke to search for memory locations that have Remained the Same / Changed / Increased / Decreased. Easy! After a number of passes you’ll end up with the memory location you’re looking for.

Optimus OLED Mini-Keyboard.. Why Not Use a PDA Instead?

I’m sure you’ve seen the pictures of the Optimus OLED Mini-keybaord. If not, head over to HardOCP forums for some nice pictures.

Basically it consists of three customisable buttons on the end of a USB cable. These buttons are small OLED screens that can display pretty much anything. At the end of the day, it’s a nice thing to have but I was thinking most of us have a PDA kicking around (I use the Mio 168 for GPS)… how about hooking the PDA up to display stuff piped over from your PC??

The touchscreen on the PDA could accept user input.. perhaps to page over to another set of displays. I could imagine it’d be pretty useful whilst gaming; no need to tab out and check who’s just emailed you. Same goes for CPU temps etc etc.

Has anyone spotted anything like this for PocketPC? If there’s a market for a 3-button OLED keyboard, then surely there’s a market for someone writing a wizzy app to display this kind of info on a PDA. Drop me an email (via the contact page) if you know of anything.

Power Meter Plus v1.1 Beta Released

After some user feedback it now features messages to warn you of critical battery levels and when you switch from one type of power to another. It does this in an unobtrusive way.. unlike the standard Windows power meter! ;-)

You can also define a threshold for when your battery is effectively full, because some laptops stick at around 98%. This meant that when charging, the power meter remained on the screen indefinitely.

Let me know if you have any bugs (or feature requests) to report and I’ll get them fixed ASAP. But don’t ask me for a version for Dell laptops which warns you when your battery is about to explode :-D

Wander over to the Power Meter Plus page for the download.

Power Meter Plus – Reviewed in the Bangkok Post

After just getting back from my holidays I was really really chuffed with this review of Power Meter Plus which appeared in the Bangkok Post. If anyone has a copy of the paper edition which they can scan in and email me then I’d really appreciate seeing it :-D

http://bangkokpost.com/160806_Database/16Aug2006_datacol13.php

DSR Drop Problem – Solved??

During a conversation with USRobotics tech support they noticed that the Initialisation String I was trying was wrong.

The string they asked me to try instead was &S1. After using that, the modem carries detecting caller ID between calls. This now appears in the modem log:

– Interpreted response: Ring
– DSR state changed, But is currently high, Ignoring.
– Recv: <cr><lf>RING<cr><lf>
– Interpreted response: Ring

I’m waiting for confirmation from someone else who was experiencing the same issue before I close the support call with USR, but the results from my side are really promising :-)

[Update – Hmmm, this is still causing me (and others) problems. There’s a thread at Hexus discussing the attempts at making it work. I need to get my a.ss in gear and start posting the debug logs :-o ]