Category Archives: Uncategorized

Odds and Sods

Apple Fall 2016 Product Announcements

Are the  Apple product extravaganzas vaguely creepy? It seemed if you were a presenter you had to be a gray-haired guy wearing a rumpled denim shirt. We are so excited.   The new Home button!  The special adapter for plugging your old earphones into the Lightning port! Everything is so awesome. Each tiny incremental change is touted like a family FaceBook update.

We wanted a refreshed MacBook (four years old). We got Pokemon on the iWatch.

Biggest news was probably the upgraded camera on the iPhone.

Upgrade to Quickbooks 2016

We have upgraded our QuickBooksPro 2014 to QuickBooksPro 2016. There doesn’t appear to be any major changes from an installation standpoint.  The main steps include:

  1. Purchase Quickbooks Pro 2016 3-user license through TechSoup. The result of this purchase process is that you receive a unique license ID number.  You’ll need that number plus the “product ID” number to complete installations on each machine.
  2. Download Quickbooks Pro 2016 to each workstation.
  3. Download Quickbooks Pro 2016 to the “server”  Our server is a re-purposed  Windows 7 workstation with a shared folder for the Quickbooks data files.  When you use the Quickbooks installer on the server,  choose “Host the company file on this machine, but access it from Quickbooks on other machines”
  4. Copy the company data file to the shared folder on the server.
  5.  Run the Database Manager on the server, to make the file available to the workstations.
  6. Open the file on the workstation(s).
    A few more hints on configuring the server are located here.  Don’t forget the AntiVirus!


PCI compliance.

If you take credit cards and handle the actual card data, then you may have already been prompted to certify that you are in compliance with the PCI security standards. This requires a yearly questionnaire and a quarterly scan of your public IP addresses. You can get started by doing free scans from HackerGuardian. If this works for you and you need to continue with scanning you can get a 3 year subscription via TechSoup for $67.00.

MailClark: Use Slack for Customer Support

One thing that is pretty wonderful about Slack is the number of integrations available. We have integrated Trello, Google Calendar, Dropbox and Google Drive with our Slack installations. Now a new one has presented itself that allows you to create what I would call a “threaded customer support system”. This appears to be ideal for relatively low-volume eMail support. Here’s how it works:

Hire a Mail Clerk, (named Clark).

The key is a terrific application called MailClark an email bot for Slack. If you have worked with Slack at all, you know about the “slackbot”; an artificial intelligence “user” which you can communicate with to perform various tasks, or to get help on Slack. (Think Siri for Slack). MailBot is a similar “bot” but one that allows you to send and receive eMail directly to and from Slack channels.

Adding MailClark to Slack adds a new user called @mailclark, and provides you with an intermediate email address that includes your team name and the channel that you are going to use for inbound questions.  So, for example if your Slack team name is  “tfnphelpteam”, and you have a Slack channel called “grantsupport” you will get an email address of

Emails sent to that address will show up in the techsupport channel showing the complete email address of the sender and a reply button. Screenshot_071416_110006_AM.jpg

If I click on the reply button, MailClark will create an entirely new Slack channel for the conversation, including the original query.  This channel will be named similarly to the original (inbound) channel, but will be randomized for the individual. The channel will show up with unread messages…  and you can then click on the channel to reply to the original question.


The crux on the replies is that you need to follow the your reply with @mailclark send on its own line at the end of the message.



What’s cool, is that any subsequent emails to or from this person will stay in the channel, so that you have a threaded discussion of an entire conversation. This is the equivalent of a “trouble ticket” system like ZenDesk.

Of course isn’t a particularly intuitive email address for help. So, we created our own own google eMail address, something like (not a real address!) which then gets forwarded to the MailClark address.

Odds and Sods

Random Tips

  • Panic in the ranks! This is not the first thing you want your users to see in the morning as they attempt to log into to complete a grant application:
    The table "{{settings_global}}" for active record 
    class "SettingGlobal" cannot be found in the database."

    After some poking around it turns out we were out of allocated disk space on the Linode.  df -m showed 100%. I think this was related to a backup and restore that I had done a day earlier; which preserved the old image as it copied a new version  to the same allocated disk space. The actual error was returned by LimeSurvey, which was reacting to a system 8 error generated by mySQL.

  • Trying to see the analytics for a link?  Just append a plus sign ‘+’ to the link. This will show the statistics for the link instead of what the link points to.

Stuff I’d Like to Try Out

Two “glue” programs that process something in one program, based on a trigger that is set in another program.

Two forms program that make web forms.

Links of Interest

50 tools for project management. (from Zapier)

Apple Downsizes. New iPad Pro and iPhone


Apple is holding its March announcement, and it is an odd mixture of a sort of fashion runway theme, snake oil salesmanship, and religious revival. It was a bit disconcerting to see CEO Tim Cook slavering over the new colors for the watch bands for the iWatch. The whole presentation seemed to have a sense of desperation.

Incredible!, Awesome!, Epic!, Incredibly!, Biggest!, Unbelievably Thin! I keep thinking there should be a way to lend a greater aura of dignity to the whole proceeding, but always end up feeling a little queasy.

They are even claiming that  your iPhone will help you sleep better.

Two interesting segments of the presentation revolved around a new iPad and health-related software.

  1. The Health App is a dashboard for health data which consolidates health data from other sites and devices. There was discussion of ResearchKit, which uses the iPhone as a data collection device for research data, and a new framework called CareKit, which delivers.
  2. iPad. A new iPad Pro with a 9.7 inch display. They are saying they are targeting Windows users. There are over 600 million PCs in use today that are over 5 years old.  The iPad solves problems that you never knew you had. There is an available smart keyboard, and the Apple Pencil. The cameras have been upgraded to a 12 megapixels, and the ability to shoot 4K video. The front camera is 5 megapixels. Starting at $599 at 32GB, If you add an Apple Pencil, and a smart keyboard, the cost will approach a thousand bucks.

Outside of these two announcements there was the aforementioned discussion of new fabrics, styles and colors for the Apple Watchband, an upgrade to Apple TV, and upgrades to a few of the apps on IOS 9, including the lame Notes and News apps, and a new smaller iPhone. All this is accompanied by polite applause and accompanying whoops.

LimeSurvey: Reset User Names and Passwords

We use LimeSurvey for receiving grant applications. These applications sometimes take a while to fill out, and the applicants have the opportunity to save an existing application with a name and password for re-use later.

Once they save, the LimeSurvey server will send them an eMail with their name and password, and a link to get back into the existing application to continue working.

Inevitably, people forget their name and password, or misplace the email.

Incredibly, even after all these years, LimeSurvey doesn’t have a one-click solution for fixing the problem at the administrator level  or  a “forgot your password?” link on the login screen.

So, this becomes a tech support issue, and significant time sink.  The only solution that I know of is for the administrator to go into the database  back-end which stores all of the LimeSurvey tables, and reset the user’s password to a known password.  Here is how I do this.

  1. Once contacted by a user in distress, I search the listings to find their application, and view the contents.  If there isn’t any significant work done there, (i.e. they have just started the application), I’ll delete it and have them create a new one.  Otherwise,  I will note the eMail password and the user name.
  2. I then SSH into the mySQL back-end (or whatever database you are using).
  3.  mysql -pmypassword
  4. use limesurvey;
  5. select scid, identifier, access_code, email from lime_saved_control;
    This select statement displays the list of all the LimeSurvey users. Scanning this list, you’ll find your user’s email address or name.  You can then isolate that particular record by repeating the query with a where clause.
  6. select scid, identifier, access_code, email from lime_saved_control where scid=’81’
    The result record will look something like the following:
  7. Note in the diagram above the field names:
    identifier = the name under which the user saved their application
    access_code = a hash value of the password that they used.
    These two items are what the user needs to be able to go into their existing grant application.
  8. You could run the hash through a reverse hash calculator to recover their existing password. However, I prefer simply to  put in a new password:
    update lime_saved_control set access_code = MD5(‘12345′) where scid=’81’;
  9. At this point I can send the user an eMail  message showing what name the application was saved under and the new password of 12345.

Naturally this solution is fraught with danger…. so I’d recommend that you rehearse this procedure on your installation.

10 Ideas for New WordPress Users

Our team implementing a WordPress site, and as experienced web-site developers, but as newish WordPress users, we’re starting to develop a list of best practices that we either should have done earlier or are actually doing.

  1. Know the difference between, the online free WordPress hosting service,, the site hosted by the producers of WordPress, and your own independently hosted WordPress site.
  2. Much of the flexibility in modifying themes and the availability of themes require an independent WordPress site. Third-party plugins are not available on a site.
  3. With a site, your site will be named as a subdomain of an additional charge, you can have your own domain name point to your site. As an example, I created a site called  I then purchased the domain name and pointed it to the blog.
  4. Once you have chosen a theme, be sure to create a child theme based on that theme, and then make all modifications in the child theme. The reason for this is that when the main theme is updated by the developer and then updated on your site, the main theme is overwritten and reinstalled. Your child theme will inherit the updates, but your own modifications and changes will remain untouched.
  5. Know the difference between themes, layouts,  widgets and plugins.
  6. Within a post,  some layouts have “formats”.  These are page styles, unique to each post,  i.e.  a post can have only one format. Formats include “aside”, “quote”, “status”  and a few others. Formats are a WordPress thing, a theme can choose to support formats or not.
  7. Use categories to group posts for navigation and searching. Best practice is to assign one category for a post. If your site has three different main types of information, then you might make three categories, and assign one of these to each post. For example, for a bike touring site, you might have categories like “routes”, “gear”, “stories”.
  8. You can also have sub-categories, especially if you have a more complex site.  For our bike site, we might split up “routes” by region; “north-east”, “north-west”, “south”, “central” and under the category of gear, we might include “bikes”, “luggage” and “camping”.  If you assign a sub-category to a post, then it will automatically appear under the main category when the user searches by category. Best practice is to assign only the subcategory the post.
  9. Tags are another way to classify a post, and a post can (and maybe should) have multiple tags assigned to it. Since a tag is similar to a category, (they are both just a snippet of text which describes the content of a post), a tag shouldn’t duplicate the category, You can also use popular tags which will enhance the ability of your post to be found in Google searches.
  10. There is a lot of support for WordPress in the community. WPBeginner and Smashing Magazine are two places to start.