I've run into this enough times that I thought I'd write a little script to do the work for me.
It's just a simple one line call to python, but I wrapped it with some argument parsing.

It's a python script that takes a password and returns the salted sha512 hash by default. sha256 and md5 can be specified with switches.


We maintain multiple repositories, many of which have the same rpms repeated in different locations. In order to save space we use hardlinking extensively. The hardlink command does an ok job of finding things to link, but we are only really interested in rpms and don't want repomod.xml or comps getting linked so I wrote a little python script to hard link all the rpms based on a checksum. The script is over at my github. hardlink_rpms


When using an mdbox or maildir mailbox, you need to use the dovecot-lda to deliver the message and not allow procmail to do this directly. I had a few issues getting this to work properly, here are the details of getting it going.


I have a view of profile data that I want to sort by lastname. The name field currently has "firstname [middlename] lastname" in it. I looked around and found this example of using views php filter to sort based on a query.


Our aliases are spammed like any other account, but filtering on them would require making a real account. I wanted to be able to filter aliases without creating accounts for everything. My first solution was to create an account and filter on that one, then using $original_local_part I could forward to a filtered alias. This works but if someone discovers the filtered alias, they can bypass the filtering.


The leap second has had been a problem for Java apps (389-console for me) and apparently some ruby apps (seems like puppet ((can't prove it)) ). I found the common fix is to just set the date based on the current date as shown here.

Doing this on all the machines, a single line with func.


We are using gnarwl for vacation notification and I would like gnarwl to only reply if the current time is in the vacationStart vacationEnd window.

Here is the queryfilter to do that using the following information:


$recepient - receiver of the message
$time - current time in seconds since the epoch


I often use dd to copy large files or make images from hard drives. It's annoying to watch something without any progress indicator, so I use the little known kill switch on dd.

From the man page:

Sending a USR1 signal to a running ‘dd’ process makes it print I/O statistics to standard error and then resume copying.

$ dd if=/dev/zero of=/dev/null& pid=$!


I wanted to monitor the ambient temperature in my computer room and decided to try using the built in sensors on my servers. ipmitool showed an ambient temperature, so I did some sed to get just the temperature.


[thomas@hotstuff: ~] $ sudo ipmitool sdr type "Temperature" |grep Ambient
Ambient Temp | 08h | ok | 7.1 | 22 degrees C


A talk I gave at PICC 12 on mock

Slides available here