A few weeks ago I created a new, simple WordPress plugin, Debug Bar Widgets.
It adds a panel to Debug Bar that displays all of the widgets registered on a site, even if the widgets aren't active. There are probably simpler ways to get at the same info but I've found it useful in developing some of my other widget-centric plugins.
Pull requests welcome.
There are many online resources about using SSH keys to achieve passwordless, cron-initiated tasks like rsyncing some files around. Most of these assume your SSH key is either not encrypted with a password, or that you're running the related command in an interactive session.
What I couldn't easily find recently was a way to make sure that a script initiated via cron on OS X 10.10 (Yosemite) and that uses an SSH key that is encrypted with a password would have access to that key as managed by the current login session's
This problem manifested itself with the following kind of output from my rsync command - being used to back up some files from a remote server - when it was executed via cron:
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: unexplained error (code 255) at /SourceCache/rsync/rsync-45/rsync/io.c(453) [receiver=2.6.9]
If I ran the same command from the shell prompt it worked fine.
Continue reading Cron rsync with encrypted SSH keys on OS X
There are a couple of extensions for Chrome that I've been using for a while now to try to maintain or improve my privacy online. Some have been helpful, others haven't. Some mini-reviews:
Most every modern website has a "Terms of Service" that governs your interactions with it. The document usually lays out how and when the site will use any data it collects about you - helpful, right? The document is also usually many pages long and would potentially take hours to fully absorb and understand. Terms of Service, Didn't Read is an extension that tries to give you a high-level view of the Terms of Service of the site you're on, based on their team's reading and interpretation of those documents on your behalf. If there are particular concerns related to privacy and personal data use, the extension will flag that when you arrive.
I used this extension for several months, finding it interesting at first to see how the sites I visited regularly measured up to TOSDR's evaluation. But after the initial curiosity wore off, I realized that for the most part, the information here wasn't changing my behavior. If TOSDR flagged something like "The copyright license is broader than necessary" or "This service tracks you on other websites," I'd still have to do some more digging to figure out exactly what that meant, and whether or not I was comfortable with it. So, the information provided by TOSDR is helpful, but not always conveniently actionable when it comes to protecting privacy. (There's a theme in all this: protecting privacy is rarely convenient.)
Continue reading Chrome extensions to manage online privacy
I recently released two simple WordPress plugins:
This creates a simple pet adoption search form in a widget on your WordPress site. Once you enter a postal/zip code, you're taken to results on Adopt-a-Pet.com where you can look for a homeless dog, cat or other animal waiting for your love. (Yes, I've worked a lot in the past with Adopt-a-Pet.com, but this plugin is not affiliated with or endorsed by them, I just created it for fun and to promote pet adoption.) Pull requests welcome.
This creates a simple widget display of the current U.S. national debt, based on the latest data available from the U.S. Treasury. If you want you can animate the number so that it is increasing/decreasing on the page according to recent changes in the actual debt. Pull requests welcome.
Continue reading Pet Adoption, Debt Clock WordPress Plugins
You need to be using two-factor authentication (2FA) for your online accounts that matter.
In the past 2FA was a kind of geeky thing that only the most security-conscious would bother with. Today, it's essential that anyone storing sensitive information online or using online services for anything remotely important employs the use of 2FA.
It's an imperfect security mechanism and there things about it that are inconvenient, but for now it's the best intermediate option for protecting against unauthorized access to your accounts and your information. Using it is much less inconvenient than trying to recover from having someone take your money, abuse your identity, or access your private data.
Continue reading Two-factor authentication
As a part of trying to live a more paperless life, I'm determined to take notes electronically when I'm sitting at my computer, instead of jotting them down on scraps of paper and then putting them into a document later.
When a phone call comes in, I want to be able to start typing my notes about the call right away so that I'm not distracted as I'm switching over to my text editor, opening a new document, saving the document someplace to make sure I don't lose what I'm typing, and THEN being ready to actually take notes.
I've been using the OS X productivity app Alfred more and more lately, and so I decided to create a simple Alfred workflow that would let me get a phone call notes file up in front of me, ready to edit, with minimal typing.
I wanted to make sure that the resulting notes file was named in some reasonable way that I could find again later, and so part of creating the workflow was figuring out how to take a free-form description of the call that I'd be typing in as it started, and turn that into a filesystem-friendly name (sometimes known as a slug). I ended up using a simple Perl script to do that for me.
The Alfred workflow, then, is just a keyword and a script run:
Continue reading Perl script and Alfred workflow for quick call notes
I went looking today for tools to create an autoresponder for Facebook's private messaging functions. I try to avoid using Facebook's messaging whenever possible, but that doesn't stop someone who I'm connected to there from sending me a private message, which then most often sits unreplied for weeks or months. Having an autoreply that encouraged message senders to email me instead would save me some time and help make sure the contact attempt got through in a timely manner.
The bottom line is that the options are very limited and I may need to build my own if it feels important enough to pursue. In the meantime I thought I'd post my findings here in case there are others looking for the same, or who have new ideas to share.
Continue reading Facebook messages autoresponder