64 Bit ColdFusion with 32 Bit Open Office

If you’re running a 64 bit ColdFusion installation and want to use cfdocument to convert Word, Excel, or PowerPoint files to PDF you may encounter an issue with an incompatibility between the 64 bit dll for ColdFusion and the 32 bit dll for Open Office. Java can’t load and run them both to work together. The good news is that there is a workaround for this issue. You’re going to need to: Download the latest version of Open Office from openoffice.org to your server and install it (you can use the default locations during the installation). Download the Non Sucking Service Manager (NSSM) from¬†nssm.cc and simply save it into a convenient folder – no installation needed. You will then create […]

ColdFusion Error: Truncated class file

I was getting an oddly unhelpful error message when working on some ColdFusion development. Code that I knew ran okay on our development server was having an issue when setting it up to run on my local server. The error simply read “Truncated class file”. It turned out that the settings in the ColdFusion administrator had the component files setup to cache – which you don’t want on a development server where they are frequently changing. So, under Server Settings > Caching I unchecked the Save class files checkbox and used the buttons to clear the cache and everything was working again. Why was this breaking, probably a result of switching between branches in git and / or a file […]

Nest Protect and Thermostat Integration Needed

I’m at that ten year mark when I need to replace all the smoke detectors in my house. I’m looking at the items on the market and in reviewing the Nest Protect I noticed a huge missed opportunity. I have a Nest Thermostat and love it. However, one shortcoming it has it that the temperature can vary a lot between where it is placed and the other rooms in the house. I have to put a smoke detector in almost every room to be up to code. If those also had a temperature sensor and could communicate to the thermostat then I could easily adjust or set rules when the bedroom is too hot or cold compared to the kitchen […]

Tower, Git, Springloops, Xcode and Authentication Errors

I installed an update to XCode and subsequently found I could not connect to git repositories on Springloops using Tower on macOS Sierra (that’s a nice pile of software). I was getting Authentication errors in Tower when trying to reach the repository. After trying a bunch of things to reconnect and getting rather frustrated by the whole thing I finally found that I need to agree to the XCode license again in order to use git. To do so open up Terminal and type: sudo xcodebuild -license Then hit space a bunch to get to the bottom of the license. Once you do you’ll be prompted to type the word agree. Once you do that quit Tower and start it […]

Docs Onsite Updates

We’ve added a few new features to Docs Onsite. Docs Onsite is the document and project management system that we’ve developed. We’ve been really pleased to see how it has worked for other client based companies who need to manage large quantities of documents with clear, simple, auditable access controls and logging. It is also how we manage our internal tasks, calendars, files, time tracking (which exports to QuickBooks for billing), support tickets, and bug tracking. The latest features are small looking updates, but are both very useful. We’ve added tagging to the Tasks, with color coding. This has really helped make it easy to quickly filter the task list to a related group of tasks. We’ve also integrated a […]

ColdFusion SQL Security

It’s common when working on a web application to interact with a database to read, insert, update, or delete data. In doing so you must take care when using variables in your SQL. The input may be coming from a search form or passed in the URL, but wherever it comes from there is a risk of SQL Injection, Cross Site Scripting or other attacks on your system. ColdFusion provides a few helpful tools for preventing people from executing malicious SQL queries or executing JavaScript injected into your database. One is the cfqueryparam tag. Assuming we set first_name = “Kevin” This would look something like this SELECT u.first_name, u.last_name FROM users u WHERE u.first_name = <cfqueryparam cfsqltype=”CF_SQL_VARCHAR” value=”#first_name#”> This will […]

A Good Router

I recently upgraded my home router from the one my ISP provided to the NETGEAR AC1750 Smart Wi-Fi Router, 802.11ac Dual Band Gigabit (affiliate link)¬† – which is a bit of a mouthful, but also a fantastic router right out of the box. Before I bought this our devices constantly lost their connection to the wi-fi router, requiring restarting the wi-fi on the device and also restarting the router regularly. Even doing that we were often lucky to get 1.5 Mbps or any connection at all. Turns out that router stunk. As soon as I hooked this up I was seeing the actual advertised speeds from my ISP and could easily connect and use multiple computers, phones, and tablets for […]

A Good Shave

I thought I’d try something new here. I’ve found the it’s very helpful when reading other blogs when people mention products and other things that they personally use and enjoy. So I thought I’d share some of those things here as they come up. Today I’d like to mention the Braun Series 7 790cc-4 Electric Foil Shaver (affiliate link). I just bought this after 2 of the 3 cutting heads on my 10 year old Norelco stopped working. And this thing is amazing. Apparently the slow, awful decline of my old razor had reached a point where I regarded razor burn and ripping rather than cutting hairs as normal. Apparently you can actually get a nice, smooth, pain free shave […]

Peer Review

We use Peer Reviews during coding for a variety of reasons. The three main reasons are: Quality Assurance – checking other developers work to make sure everything is done correctly and works as it should. Cross Training – the reviewers going over what was done ensures that at least two people have a good understanding of everything that is built and changed. By rotating reviewers for different tasks in the same part of a system many people will be looking at what is built as it is happening. Education – the developers and peer reviewers learn from each other during the review process – new tricks or techniques are shared and developed. Peer Review Checklist We use a detailed checklist […]


It is hard to avoid stagnation. It requires pushing yourself and the people around you out of your comfort zone. As you get better at what you do it actually becomes even harder – you know the “right” way to do things and become even more set in your ways. So how do we keep growing ? The Comfort Zone When we start learning something new we don’t have much of a comfort zone. I’ve been teaching my son to play basketball and I’ve been realizing that simple things like not pushing your knees together when you jump are not yet simple to him. It’s a good reminder not to take things that seem obvious to me for granted. I […]