Recently my alarm kept triggering and I couldn’t figure out why. I first figured out which motion sensor was causing it. That helped a bit, but not enough. I then boosted up the logging and discovered (1) it happened very rarely when nobody was home and (2) also around the time the heater went on or off. At first it seemed to happen mostly when the heater went off so I thought the sensor was too close to the vent. I didn’t want to move the sensor so I programmed around it. Then I discovered it also happened while the heater was on (not quite as often), so I programmed around this as well. Finally I couldn’t get rid of ALL of the false positives so I took the top off the sensor (which is mounted to the ceiling) and had the cap in my hand while looking at the sensor on the ceiling. Everything looked fine, the senor was already on least-sensitivity.

I then looked down in my hand and there was a silverfish sitting on the PIR lens. Once the bug was removed from the system, the false positives were 100% gone!

After being down for almost a year, we’re back! This is no longer, it’s!

WordPress has been updated thanks to wp-cli. I can’t believe this thing want’s FTP enabled to auto-update!

I setup a home automation system in my house and it runs from the cloud. Yup, you read that correctly. I do understand a lot of “home automation” now runs from the cloud but my definition of home automation isn’t Hue, Smarthome, Nest, or one of the other half-baked systems. Mine is full-blown _everything_.

I think it’s very important to make this distinction because if the internet/cloud is down, literally the house is like a car without premium features. Just imagine getting into a car from the 1920s. No keyless entry, thermostat, airbags, or maybe even the starter. It may function, but it’s a shock when you’re used to something else.

That being said, my setup actually works very well.

A little background on my system — many home automation systems are hardware devices with custom firmware (HAI, Omni, etc). Since I’m in IT, I prefer the software ones such has OpenHAB, CQC, Misterhouse. I decided to go with a CQC. Also, even though the primary brain of my system runs from the cloud, don’t forget that sensors, etc have to be installed and powered in the house.

Here are a list of the pros and cons I came up with and I thought were relevant to the cloud decisions.


  • Server stability – rock solid. Servers in the cloud run at data centers where the power and internet connections are more stable than your average business or home. This is actually really nice because I don’t have to worry about doing work on my house and dealing with servers powering up/down.
  • Hardware maintenance – None. No dealing with motherboards, hard drives, and other computer problems.
  • Noise – no computer fans or extra noise.
  • Heat – no added heat to rooms


  • Internet must be up. I just checked and my residential internet connection has been down about 5 times in the past 6 months during the middle of the night for about 10 minutes. I never noticed. Even though this hasn’t been an issue for me, it’s possible that my ISP could go down for a week, the CLEC (or someone else) could introduce noise into the line, etc. causing a problem.
  • Everything must run over Ethernet. This can be good or bad depending on how you view it. I like Ethernet and prefer it over serial, USB, etc. At the same time, some home automation devices require serial ports and USB. Implementing anything that doesn’t come as Ethernet takes careful consideration and planning. Solutions has to be planned to work with this requirement.
  • Local hardware still required. Even though I run as much as possible in the cloud, not everything can run there. Audio jacks, alarm sensors, etc have to be installed in the house and powered locally. The nice thing though is that these don’t require maintenance or much electricity.

Although this solution is rare and I’m currently the only person I’ve heard of doing it, I’ve been very happy with it and will try adding more cloud-ish home automation features to it in the future.


I was asked by Packt Publishing to give the book Mastering Zabbix a review. It’s by Andrea Dalle Vacche and Stefano Kewan Lee, copyright 2013.

I found it most interesting to see what topics they covered as the book title states, “Mastering Zabbix” vs. not covered. Many things I’ve done with Zabbix are not discussed in the book and many things I haven’t done with Zabbix are discussed in the book.

I would say the book is a good resource for anyone who has installed Zabbix and has done some basic things with it. Now that they got their feet wet and are looking to get more out of the software, get the book!

The book covers some very advanced scenarios which I’m not sure should be in the book, but they are. One of which is High Availability. HA in Linux can be done different ways. I’ve done it, it’s not easy. If you haven’t done HA in Linux, then the book will probably shorten the learning curve, but it’s not a cookie cutter system. You’ll end up reading a lot of other docs/books on HA before you’re done.

Overall, it’s a useful book. It’s not perfectly written and easy to follow in some places, but since you probably already have your feet wet, it’s not bad. Definitely worth the online price. I would have bought it if there was a book when I started with Zabbix!

Clink here to check it out.

Original Posting and Script

This is an updated script to install Zabbix 2.2.x on CentOS/Red Hat 6. I have tested it on CentOS 6.5. The script was made for Zabbix 2.2.1, but if you modify the ZBX_VER variable in the script, it should work on any version in the 2.2 series. I have also made updates to the script based in feedback from the old versions.

Basically, the script tries to do a few things and assumes some things:

  • Only run this for NEW installations, you will lose data if you run on an existing installation
  • Run at your own risk
  • Installs Zabbix 2.2.x on CentOS 6
  • Do not corrupt an existing system
  • Be able to run the script over and over in the event that it errors
  • Be somewhat flexible
  • The database server, web server, and zabbix server all run on one box

Zabbix v2.2.x install script

Yes, we all know iTunes sucks, but some of us are stuck with it. Anyway, I was receiving an error like “iTunes Library file cannot be saved not enough memory”. I didn’t save the exact error, I should have.

Anyway, I loaded up process monitor and noticed a lot of access errors to ATH.exe. This I immediately realized was because many months ago I renamed ATH.exe to something else because it was constantly sucking up 100% CPU. I didn’t put much thought into it at the time because it solved my immediate problem. Once I renamed ATH.exe back, the memory leak in iTunes went away.

So in summary, to fix a memory leak in iTunes, check process monitor (sysinternals) or uninstall all Apple software (iTunes, Apple Mobile Device Support, etc.) and reinstall it.


Update: This has been updated for 2.2.x. Follow this link.

Original Posting and Script

This is an updated script to install Zabbix 2.0.x on CentOS/Red Hat 6. I have tested it on CentOS 6.2. The script was made for Zabbix 2.0.1, but if you modify the ZBX_VER variable in the script, it should work on any version in the 2.0 series. I have also made updates to the script based in feedback from the old versions.

Basically, the script tries to do a few things and assumes some things:

  • Only run this for NEW installations, you will lose data if you run on an existing installation
  • Run at your own risk
  • Installs Zabbix 2.0.x on CentOS 6
  • Do not corrupt an existing system
  • Be able to run the script over and over in the event that it errors
  • Be somewhat flexible
  • The database server, web server, and zabbix server all run on one box

Zabbix v2.0.x install script

There have been many times I have needed to run NTOP on a Debian host and got it working, but never set it up 100% correctly. Usually I’d get NTOP working and configured and by that time I was too anxious to wrap it up. I’d modify /etc/rc.local and bring up the interface with a simple ifconfig eth1 up.

Today I had to reboot an NTOP host and ifconfig wasn’t already in rc.local so I decided to do it correctly. I found a blog post here. I wouldn’t have re-written another blog post, but he doesn’t allow comments on his.

Modify the file /etc/network/interfaces with the following content:

# For NTOP
auto eth1
iface eth1 inet manual
up ifconfig eth1 up


This is about my experience with OS X from my perspective — don’t forget, everyone’s different. This all took place over a little more than a year.

Chapter 1 – Introduction to Mac

About a year ago I purchased a MacBook Air and was excited to get it up and running and learn everything Mac. It was awesome at first. I was learning shortcuts, command line tricks, brew packages, and Xcode. I was installing menu bar tweaks, dynamic backgrounds …it was FUN!

Then I got into the applications like iPhoto, Aperture, Mail, Microsoft Office 2011, Illustrator, FaceTime, Adium, etc.

Then work came and I started adapting my work environment into Outlook 2011 and MS Office. Some programs I couldn’t find right away, I started poking around for alternatives such as Visio. Meanwhile, a few programs that are CRM and management tools we have at work only run on Windows which begged the question, “do I RDP into a Windows machine and run these or do I run them in Parallels?” I didn’t want to clutter my shiny Mac with Parallels so I decided to use RDP. RDP on the Mac turned out to be painful. The two or three RDP clients I used were either slow, buggy, or finicky with the keyboard.

Welcome Parallels!! I don’t want to run “WINDOWS!” so I ran Parallels in Coherence mode. I thought it was amazing until I started trying to use Windows keyboard shortcuts and key combinations that didn’t exist because the keys weren’t on the keyboard. I hacked around with the keyboard mapping, settings, it was painful.

Welcome LION!! (and Parallels 7). I found a solution — run Windows full screen and use the three finger swipe to switch between Windows and Mac, perfect! Now I have the best of all worlds.

…whew. I can finally use Remote Desktop. (as a side note, do you see where this is going? Windows. It gets better).

Chapter 2 – My First Serious Problem

Outlook 2011. Yup, I hate it — curse it up and down. You see, I live by my iPhone, multiple computers, and a world of effortless syncing. Enter Outlook 2011 into the equation on an Exchange 2010 server and it “appears” to work great, but guess what? Calendar appointments start acting up, duplicates, triplicates. I started trying to get a handle on it contacting Microsoft, verifying patches and service packs were installed. I finally stopped using it and stuck with Outlook in Windows and the pains continued as I now discovered about 75% of my 500+ contacts that I’ve meticulously entered data for had birthdays now off by one day. Who was off by one day? When did it happen? How do you fix it when it’s only 75% of the contacts? I had no answers to these questions so every time a birthday shows up (a year later), I still have to double-check if it’s correct or not.

Chapter 3 – Cruise Control

I finally figured it out. Run MS applications in Windows/Parallels and run Mac Applications in the Mac. Life went on, switching between Windows and OS X effortlessly thanks to the three finger swipe. Adobe Apps ran in the Mac so when I opened PDFs they opened in one world, Word ran in Windows, and so on. Things were fine but I started to realize, I didn’t really need OS X! I needed Windows — it has all the critical and main programs I use. Yea, OS X had toys and was fun to play in sometimes, but it wasn’t going to get my work done.

Chapter 4 – Divorce and Closing

It’s over. As of this past Sunday, I formatted my MacBook Air’s SSD with NTFS deleting all partitions and installed Windows 7 with Boot Camp drivers.

Here is a summary of Pros and Cons of OS X that I experienced, they are not weighted equally:

Pros Cons
  • FaceTime
  • Adium
  • Unix shell
  • Browsing the web
  • Xcode
  • Everything MS Office (Outlook, etc.)
  • Visio
  • RDP clients
  • Business Apps (CRM, etc)

The Pros have been replaced with Skype, Pidgin, Putty, and VMware. The short list of Cons makes me money. I’ll have to have fun without OS X.

Oh, and the thing about Viruses and Stability: OS X is not more stable than Windows 7. I’ve seen it crash many times over the past year. Viruses? I haven’t had a virus on any of my computers in…. well, I can’t remember it’s been that long (AND I don’t run Antivirus software).

Not so fast folks!


As always, we’re trying different things. I recently used some older parts and created a Server with 2.6.39 (Debian) that has a 3ware card and a Btrfs filesystem. LVM was placed on top of the 3ware partition and then Btrfs was put on top of that. The storage was shared out via NFS for an ESXi host.

I was expecting the system to work okay and it did for about a month. Eventually the volume needed more space, so the Btrfs volume was resized and life continued. About a week ago the system performance became unacceptable. VERY slow, high load averages, 80+% IO wait, etc. In addition, the VM would no longer boot because ESXi was complaining about disk IO timeouts! I was definitely experiencing some major performance issues. All of the hardware I was using was pretty much old, but tried and true. Being Btrfs was new on the scene and the strange behavior the kernel was displaying, I suspected the shiny Btrfs. I created a new Reiserfs (v3) volume, which in the past (and apparently still is) was my file-system of choice. I copied the VMDK and associated goodies to the new volume, shared it out, and ESXi was in heaven again.

So, what I have learned is:

1. Btrfs has some issues with NFS. The performance appeared perfecetly fine coping the data from Btrfs to Reiserfs, but accessing the data via NFS was awful.

2. Btrfs performance degrades over time. Initially the VM worked great. Over time, performance degraded until it was basically no longer usable.

I haven’t yet determined exactly why I experienced these issues with Btrfs, but Reiserfs seems to have solved it for now. I’ll definitely be looking for clues in the coming months.

Lastly, some data on backup times the VM logs. (The VM is responsible for backing up other servers. These times are for one small server that is backed up to the VM’s storage). The last 1 minute time is after switching to Reiserfs.

Duration: 1 min.
Duration: 1 min.
Duration: 1 min.
Duration: 0 min.
Duration: 1 min.
Duration: 1 min.
Duration: 1 min.
Duration: 3 min.
Duration: 1 min.
Duration: 8 min.
Duration: 10 min.
Duration: 39 min.
Duration: 12 min.
Duration: 59 min.
Duration: 109 min.
Duration: 66 min.
Duration: 3 min.
Duration: 240 min.
Duration: 297 min.
Duration: 298 min.
Duration: 657 min.
Duration: 375 min.
Duration: 2140 min.
Duration: 1 min.

« Older entries