Preventing the Promise DS4600 RAID array from sleeping all the time

Dear Promise Technology, Inc.,

Your SmartStor DS4600 RAID array is pretty good. I really enjoy having a big phat 5.7TB RAID array on my desk (attached to an iMac via FW800). Even after consolidating all my loose storage drives, I still have more than 2TB of RAID protected space available. Yumm.

But why would you spin my drives down all the time, without checking whether I am at the computer? Checking drive access idle time is not enough when the array is the home of my iTunes library, my main project file storage, etc etc.

So ... I have hacked up this nasty little kludge to run as a cron job every minute. All it does is check actual idle time of the keyboard and mouse and if they are not idle, it touches a file on the array and flushes the disk cache (with 'sync').

If you know a better way to do this, I am all ears!

MINIDLE is the only value in the script you need to change, and this should match the idle time you want before the script will let the drive start its own sleep timer. I use 10 minutes at the moment,

Here's the 'keepalive' shell script (I saved this at /Users/geoff/bin/keepalive):

#!/bin/bash

MINIDLE=600
IDLETIME=(`/usr/sbin/ioreg -c IOHIDSystem | /usr/bin/sed -e '/HIDIdleTime/ !{ d' -e 't' -e '}' -e 's/.* = //g' -e 'q'` )
IDLETIME2=$[$IDLETIME/1000000000]

if [ $IDLETIME2 -lt $MINIDLE ]
then /usr/bin/touch /Volumes/DS4600/.keepalive
sync
fi

And here's the line from my cron file:

*       *       *       *       *       /Users/geoff/bin/keepalive

 

See ... that wasn't so hard ...

ALSO ... it probably doesn't need to run every minute, but I haven't yet timed the array to work out how long its spin down time is. There's nothing in the documentation and it's a pain to sit watching lights ...

OH ... AND ... this is on a Mac OS X system ... if you're using the array on another OS you'll need to find another technique, since the technique used to find the idle time will certainly fail!

 

Segmenting disc images

I had  a large Mac OSX disc image which needed to make it onto a few DVDs to be given away. Looking around I discovered a couple of downloadable utilities, but scratching a bit deeper I found the lovely hdiutil which has all the functionality I needed on the command line ...

hdiutil segment -segmentSize 4g -o outputPrefix largeDiscImage.dmg

Thanks Apple.

[split disc image dmgpart dmg]

An alternative to Textcast

Some months ago I read the story of how Textcast was created ... but (coincidentally) about a week earlier I'd created basically the same thing using Mac OSX's Automator. And months and months later I'm finally getting around to sharing that Automator script.

(I don't intend any disrespect to the Textcast authors. I understand they've done a nice job on their application ... but I don't need many bells and whistles ... and all the pieces were just sitting there in Automator ready to go ...)

You'll need a little Automator understanding to modify the paths and locations for your own use.

Here it is: spoken_web.zip

To use it, I copy the text I want to convert onto the clipboard and run the application.

(keywords: voice, reading, spoken, web, podcast, itunes, audio)

Using Speed Scheduler with Azureus on MacOSX

It took me too long to work out where Speed Scheduler should be installed to use it with the MacOSX version of Azureus. Since I spent a while searching the net, here's what I eventually worked out:

/Users/username/Library/Application Support
/Azureus/plugins/speedscheduler/SpeedScheduler_1.3.jar

(Of course, this should be one line!)

You'll need to create the 'speedscheduler' directory yourself ... the Speed Scheduler plugin is distributed as a single JAR file.