Prevent Jquery Mobile popups from auto-closing in iOS

If you need to automatically/programmatically open a popup on iOS/Safari using Jquery Mobile, you will likely see your popup flash by very quickly and then close on its own. This is a huge annoyance, as there are times when an automatic popup is required, such as for on-load disclaimers, or confirmations.
Continue reading “Prevent Jquery Mobile popups from auto-closing in iOS”

Adding a free Let’s Encrypt SSL certificate to an NGINX site

UPDATE, September 2017: Most of this information is now of historic/hacker value, as Let’s Encrypt has added Nginx support to the Certbot client, making the process MUCH simpler and quicker. However, it’s still worth reading through this how-to, as it could help you look out for places where things could go wrong.

A good friend recommended the free SSL certificate services offered by Let’s Encrypt. I thought I would give it a try and switch this site to HTTPS-only, and share the results of the process here.

First off, Let’s Encrypt is a “free, automated, and open certificate authority (CA), run for the public’s benefit.” Their certificates are provided by the  Internet Security Research Group (ISRG). In short, it’s legit.

Continue reading “Adding a free Let’s Encrypt SSL certificate to an NGINX site”

Nginx 404 redirect tips and tricks

There are some very simple NGINX site configuration changes that can alter the way your site responds to requests for non-existent pages.

For example, you can redirect all requests that return a 404 to either a specific page, or your default index page. Just note that this can be very confusing when you’re troubleshooting a site and are constantly returned to your index page. You could be seeing proper requests, or false positives. The NGINX access logs will show a 200 status for all requests. This can be very crazy-making when you are trying to figure out why a URI isn’t rendering. Caveat emptor.

Continue reading “Nginx 404 redirect tips and tricks”

Migrating from Drupal to WordPress

I just moved this site from Drupal 7 to WordPress 4.3. The times, they are a changing, and my work has been far more focused on WordPress than it has been on Drupal. So it made less and less sense to maintain a Drupal site. Also, for a relatively simple personal blog, Drupal’s capabilities and overhead were overkill for my purposes.

Continue reading “Migrating from Drupal to WordPress”

CSS tables with sortable columns using TinySort

Try searching for “CSS table sortable columns”. Good luck. Most of the sortable table libraries require that your data be in an HTML table. But you lose a lot of responsive flexibility when you use HTML tables. This presents you with a lousy choice: sortable columns and limited responsive design options, or responsive design options, and no sortable columns. I’m sure there are complex solutions to this which would involve sending different content based on browser or resolution detection, but that’s sounds like a maintenance nightmare.

Continue reading “CSS tables with sortable columns using TinySort”

How to add a GeoTrust SSL certificate to Nginx on Ubuntu

I had a bit of trouble finding the information I needed to get a certificate I purchased from GeoTrust installed on an Nginx server. The reseller I used – cheapsslsecurity.com – sent me a set of certificate files that didn’t match any of the instructions in GeoTrust’s support pages. Nginx configuration information is available on Digital Ocean’s support site. If you are running WordPress, there’s some useful information here.

Continue reading “How to add a GeoTrust SSL certificate to Nginx on Ubuntu”

Risk: Working around it, or working with it

Building on several conversations I’ve had over the last year around the evolution of organizations – and companies, it’s people I’m really talking about here – I tried to illustrate the evolving picture of what is coming together for me.

First off, the word of the day for me is “risk”. We use all kinds of words to talk and dance around risk – how we deal with it, how we try to avoid it, how we acknowledge it, and how we want to be able to live with it, and even be able to embrace it.

Continue reading “Risk: Working around it, or working with it”

Arduino, ethernet, nRF24L01, and Pachube/Cosm/Xively

This took a lot of digging and trial and error to figure out. For those who don’t know, the nRF24L01+ is a low power 2.4 GHz wireless transceiver chip from Nordic Semiconductor that is the heart of an extremely inexpensive series of Arduino-compatible wireless modules. They use SPI, are power misers, and have a theoretical range of about 150 feet, more or less, depending on what lies between the transceivers. Bandwidth is fine for sensor data, I’ve been using mine to send updates every couple of seconds. They can pump more data, but don’t expect miracles. However they are a fantastic alternative to much more expensive modules. They can be had (delivered!) for a couple of dollars each, and they are a great solution for sending data between microcontrollers. Use cases include any kind of remote sensor installation, or anything collecting data in an environment or location that is inconvenient for cabling. More information on what these modules do can be found here.

Continue reading “Arduino, ethernet, nRF24L01, and Pachube/Cosm/Xively”