Author: Tom

  • TRI Resources T3 plugin for WordPress

    TRI Resources International provides data, reference tools, and web services for the printer supplies industry. One of those services is “T3,” an API designed to serve data needed to support “ink and toner finders” like you see on virtually every printer supply retail site. To avoid making each of our clients write an app to…

  • Ansible, python and mysql… untangling the mess

    Nearly every “how to” article or tutorial on the web describes one way of using Ansible, python, and connecting to MySQL as if that was the only solution.  Many don’t note code versions used, or even the pub date, and the Internet is rife with simply bad advice.  I finally gave up researching all this…

  • Retrofitting tests

    In this time of TDD, the obvious question is, “why?” (Or possibly “what the hell is wrong with you?”)  But I think I can explain… Why are there no tests to begin with? It is sort of obvious if you have been at this for a while:  legacy apps. All the Cool Kids have the…

  • Why you shouldn’t care whether Ansible runs are re-entrant

    I recently wrote about a problem I had as a result of imagining that Ansible runs were re-entrant.  (Spoiler: they are generally not.)  After kicking this around a little I realized that you should not care whether Ansible runs are re-entrant.  I like cherry pie so I will explain myself with a pie analogy. If you…

  • Re-entrant vs idempotent in Ansible roles

    I wasted a couple hours tracking down a problem with a raft of  new AWS ec2 instances generated using Ansible, and it’s worth explaining because it showcases problem common in a lot of Ansible roles.  While Ansible docs talk up the concept of “idempotency” (the ability to run a playbook multiple times without screwing up…