SoftRAID – the wait

My favourite safety/disk utility – SoftRaid does not work with Snow Leopard OsX – and the new release has been “in the works” since early 2009.

But there is hope – as their website has the following new announcement :

The SoftRAID 4.0 official release is near. We expect sometime in late January to mid February 2010. Upgrades from SoftRAID 3.x will cost $69. All customers who purchased after January 1, 2009, are eligible for a free upgrade to SoftRAID 4.0.

[From SoftRAID Home]

Update: According to Softraid the old 3.6.8 version should now work with OsX 10.6.2 and newer! I will have to check – as this is good news.

HFS+ compression

I was not aware of the HFS+ file system compression feature until quite recently – this article is a good one :

now Leopard introduces a new feature that has been used on most of the system files: HFS+ compression. This compression is rather different than most other file compression options available in the sense that it is completely transparent; there isn’t even a way to tell that the files are compressed using Snow Leopard’s included command line tools (in fact, contrary to what some posts on this site have suggested, command line utilities like strings will see the same file regardless if it is compressed or not).

In order to even determine if a file is compressed using HFS+ compression or not, a tool like hfsdebug is needed.

[From 10.6: Compress files with HFS+ compression – Mac OS X Hints]

Chumby as a monitoring display

One of the main reasons for getting a Chumby was to use it as a display for the various sensors inside and outside the house.

Here are some pictures showing the Chumby displaying graphs from internal monitoring of external temperature and electricity usage (original data from a Wattson device)

IMG_3047 IMG_3048

(Click for larger)

The chumby is running a channel with a large number of the same widget (image URL) like this:


where each of the widgets is set up to display a .jpg image served of a local webserver, where the images themselves are generated by a Ruby program pulling data from a series of sensors that are a combination of Arduino based sensors, a Wattson device with data read through the USB port using another Ruby program, and last data generated from LWB connected to a LaCrosse weather station.

Accessing internal readings from a WS23xx weather center using LWC

One of my original problems with LWC (Lightsoft Weather Center) was the lack of any ability to access the measurements done by the control panel – which has internal sensors for humidity and temperature.

The easiest way would be using their custom CGI access, but this is limited to a set number of variables in the call – none of the internal measurements are in this set.

The second way of getting hold of it was setting up a page using the LWC variables (a LWC process picks up all files in a specific directory, does substitutions on any LWC tags it finds in these files, and copies them to another directory with these substitutions done.

The problem was that there were no tags for internal readings, except as part of a graphic file.

But then I discovered that there is a development version of LWC – called LWC2 – available on their website, where a number of new tags have been added – including tags for internal temperature and humidity.

Making up a new file with these tags was then the next step :


(Click for larger)

which gives the following output in a browser


Job done.

Weather station

My main Christmas gift from the family was a Weather station – and decent Mac software for it.

So this is currently online from a few places on the Internet, and of course available from a webpage inside the house (and on my chumby)

The Lightsoft Weather Centre – or LWC as it’s affectionately known is the key to getting this up and running on a Mac under OsX, and it looks like this :


(Click for larger image)

and it’s superbly customisable, even down to making quite bespoke webpages available – but more about this later.

And best of all – it fits into the home monitoring/automation system I’m building based on the Arduino, where I can pull both internal and external data together from measurement points all over the house and the weather station as well.

The weather station itself is a WS2355, originally from LaCrosse, but now from other suppliers as well as a more generic weather station. It comes with a USB interface to the central console, which in turn uses wireless signals to pull in measurements from external sensors, in this case for humidity, temperature, windspeed, wind direction and rainfall.

The measurements are then stored in a LWC database for display of historical data.

Wattson power meter OsX Mac reading

I have now had a Wattson power meter for more than a year – and although it now comes with software for the Mac this is IMHO not terribly useful for my purposes, so I wanted to read the Wattson in real time, and use a server to send the information to other programs around the house and outside it.

This fits into the house monitoring system I am building using Arduino microcontrollers both to collect data, and to display data. More about this in other posts.

But the necessary information is hard to come by, and the public API has been a long time coming.

Bu using a terminal emulator running on my laptop and the FDDI drivers i normally use for the Arduino I managed to communicate with the Wattson (19200 – N81 for anyone interested), and through various tests I found that if I send the command “nowp” to the Wattson, it returns a hex string containing the current power usage.

After discovering the “ruby-serialport” library I wrote a short (and very ugly) ruby program to retrieve the data at regular intervals and also to twitter these (at



# My first try at Ruby programming for the Wattson power meter


require ‘uri’

require ‘net/http’



require ‘serialport’

gem(‘twitter4r’, ‘0.3.1’)



require ‘timeout’


   $version = “0.1”;

   $debug = false;


#params for serial port

   port_str = “/dev/tty.usbserial-A4004sx2” #differs depending on your setup

   baud_rate = 19200

   data_bits = 8

   stop_bits = 1

   parity = SerialPort::NONE


   sp =, baud_rate, data_bits, stop_bits, parity)


   sp.write “nowp\r”

   puts “Start”


   while true do

   inn = ‘ ‘

   sp.write “nowp\r”

   inn[0] = sp.getc

   inn[1] = sp.getc

   inn[2] = sp.getc

   inn[3] = sp.getc

   inn[4] = sp.getc

   if $debug then

   puts inn


   if inn.length < 6 then

   inn2 = inn.slice!(1..4)

   print + ‘:’ + + “->” + inn2.hex.to_s + ‘W’

   puts ”


   twitter = Twitter::Client.from_config(“/users/tor/.twitter.yml”,’house’)

   message = “Power usage just now ->” + inn2.hex.to_s + ‘W’

   twitter.status(:post,message )






Entourage and Time Machine

A excellent and interesting hint on how to make incremental backups and Entourage play nice – and it will of course work for lots of other applications as well..

Make Entourage work well with Time Machine – revisited
Thu, Oct 29 2009 at 7:30AM PDT • Contributed by: WillowCreek
One problem for people like me who are still using Microsoft Entourage as their email client under OS X 10.5/10.6 has been its huge monolithic database file. Time Machine will try to back up the database file every time it is modified, even though only a few megabytes out of several gigabytes of the file have been changed. This can quickly fill up your backup storage, and if Time Machine is working over a network, each backup can take a long time.

This hint, which is essentially a non-geek version of this previous hint, will enable Time Machine to incrementally back up the Entourage database file. No command line operations or Unix scripting needed here; all will be done in the GUI.

[From Make Entourage work well with Time Machine – revisited – Mac OS X Hints]

Varnish 2.04 – maybe this can help others to avoid problems

I downloaded and compiled Varnish 2.04 and compiled it successfully on OsX today – so far so good.

But then I tried using some of my old VCL snippets and the code errored out with messages like this :

sh-3.2# ./varnish_test.csh

Expected action, ‘if’ or ‘}’

(active.vcl Line 54 Pos 9)

   return (pass);


and so on.It turns out that a bug seems to have been introduced, and contrary to what is in the “default.vcl” file you can not use the “return (pass)” but just “pass”, and things start working again…