Within minutes of my arrival at the Emergency Department a call comes in that an
ambulance will arrive shortly transporting a man in cardiac arrest. Orientation
can wait. Over the next 20 minutes he is given a regiment of drugs. I follow
him to a unit that will try to locate and destroy the clot in his heart. In the
next hour his heart stops four times while technicians put two femoral catheters
in his legs and follow a dye through his blood stream. Eventually they finish
what they can do and ship him to the Cardiac Care Unit. No one knows about
permanent damage. On my way back to the Emergency Department I pass a frantic
looking woman with a cell phone. She’s just spied her teenage daughter running
in and cries, “they say it’s his heart and it’s serious.” I don’t make eye
contact.
I have a lot of files on my computer. Email archives, personal documents, stuff for work, photos I've taken...the list goes on - I'm sure most people reading this are in a similar boat. On occasion I've found some files to be missing or corrupt which is disturbing but is probably something to be expected. The bad part is, I keep backups, but I rotate them out when they reach a certain age which means if I don't notice a file is corrupt or missing I'll eventually lose it forever.
I stayed up late a few nights ago and wrote a script to raise an alert when something has changed. On its first run the script will recursively walk a directory tree hashing each file and storing the hashes in the directory (in an md5sum compatible formatted file). On subsequent runs it will begin tracking new files automatically but it will also print messages for missing and changed files. By saving the checksums in each directory it becomes portable - you can copy a directory somewhere else and still be able to verify nothing changed (a quick md5sum -c checksums.txt will let you know).
By default the script only prints messages when it sees something fishy so it's perfect to drop into cron and it uses exit statuses so it'll work for nagios too. I've been running it for a few months and have found a couple files that have changed - nothing critical yet but it's nice to know it's there.
I use split windows, both horizontally and vertically, in Vim all the time.
I’ve always wanted to be able to split the window and then start a command line
shell within that window but up until now that has just been a dream.
AMO has had an on-again off-again relationship with unit tests. A little
over a year ago we had a thousand unit tests that sort of, mostly, ran.
The problem is, PHP unit testing just isn’t as good as it should be. CakePHP
relies on SimpleTest, one of the main PHP test suites. It worked
relatively well for a small number of tests, but as our suite grew, so did our
troubles.