Nagios, Belkin WeMo and a Plasma Globe

I monitor a number of servers using nagios and I always thought it would be neat to be able to have some sort of ambient device light up when there was a critical problem. Yes, I get email and text alerts, and nagios is always up in one tab on my browser, but I wanted […]

Nginx with php-fpm generating blank page

I struggled a long time trying to figure out why my nginz + php-fpm setup was not working. I could tell that the gateway was fine and I was getting a HTTP 200 OK response, but the output was blank and there were no illuminating entries in either the nginx or php-fpm logs. After a […]

Find a Javascript parent node that matches a certain string

Here’s a small bit of javascript that I use in my Sencha Touch projects to find a parent with an id that matches a string. function findParentNodeRegex(regex, childObj) { var testObj = childObj; var count = 1; while(! { //console.log(‘My name is ‘ + + ‘. Let\’s try moving up one level to see […]

Detecting a click in a checkbox with jQuery

A simple script to detect when a checkbox is clicked. What you do with once you’ve detected the click is up to you. <html> <head> <script src=””></script> <script> google.load(“jquery”, “1.3.2″); google.setOnLoadCallback(function() { $(‘#agree’).click( function() { if($(this).attr(‘checked’)){ alert(‘checked’); } else{ alert(‘unchecked’); } }); }); </script> </head> <body> <p> <input id=”agree” type=”checkbox” /> I agree </p> </body></html>

Redirect from within a WordPress admin page

I was trying to perform a redirect to generate a CSV file from within a WordPress admin page using the wp_redirect( ) function, but the problem was that I would always get the dreaded “Cannot modify header information – headers already sent” message. This is because admin plugins are simply hooks that are performed within […]

Result of expression ‘document.forms[0].submit’ [[object HTMLInputElement]] is not a function.

I was trying to add a small delay into my form submission like so: <form … onsubmit=”setTimeout(‘document.forms[0].submit()’,2000);return false;”> but everytime I tried it, I got the following error: Result of expression ‘document.forms[0].submit’ [[object HTMLInputElement]] is not a function. This one had me stumped, until I realized what it was telling me… that my submit button […]

RSSCloud: No need to adjust your firewall

I’ve been following the recent development of RSSCloud with interest… I think it has the potential to replace Twitter in the long term, although I suspect that Twitter might also evolve in the direction of RSSCloud. One misconception about RSSCloud is the supposed need for the cloud to notify the desktop or mobile reader of […]

Using jQuery and Prototype together while avoiding the dreaded element.dispatchEvent error

Here is what I do to avoid the dreaded “element.dispatchEvent is not a function” error. I load jQuery first, Prototype second, and then I use jQuery( ) instead of $( ) for all my jQuery calls. <!– Set up jQuery and prototype together –> <script src=””></script> <script> google.load(“jquery”, “1.3.2″); google.load(“prototype”, “″); google.setOnLoadCallback(function() { jQuery(‘#helphide’).hide(); jQuery(‘#helpbutton’).click( […]

Using Skype to control a model train

Small wireless spy cameras are widely available, and there are even a few available specifically for HO-scale trains. This got me to thinking about letting my cousin in Germany run a train on my train layout, using Skype. Why not? Connecting the camera receiver to my laptop is easy and Skype allows you to select […]