This isn't so much mining with a mac as it is, using one to make sure your miners are doing what they're supposed to be doing. I use a linux machine for mining, not that it matters.
I used geektool heavily for this one. http://projects.tynsoe.org/en/geektool/
If you'll look you'll see on my left screen(I think the right one is up on flickr, if you want to follow the link), you can see one large number, which is the current difficulty of bitcoin. To get all the text on this screen I used geektool, I believe I set that particular command with a 10 minute refresh(which is really unnessecary because difficulty should only change about once every two weeks, I think but with asics coming I wanted to keep my eye on it).
That command is from geek using the shell option, and the command is: curl -L http://blockexplorer.com/q/getdifficulty
The one under that is just the date command, and I have it set for 1 second refresh so it's accurate within a second, I was somewhat scared to do this I thought the constant refreshing might put stress on my system but that's not true.
Now the number under that is my current mining speed, judged by the number of shares in the last 5 minutes,and I wrote a script to do that:
<php url = "http://hhtt.1209k.com/user-details-json.php?user=13nQ57at15LYJWZ5m62Ra2cEtTJkMkvAR9"; $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_BINARYTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); $output = curl_exec($ch); curl_close($ch); $fireduck = json_decode($output); print_r($fireduck->hashrate->last_5_min); ?>Originally I had a loop to keep checking the json, but I found that using the refresh setting in geek tool, worked just as well.