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 […]

Stopping Exchange 2016 Same Domain Spam Spoofing

We recently converted over to using Exchange 2016 for our internal email hosting and we were immediately buried in spam. Initially we enabled the exchange built-in spam protection and it just wasn’t cutting it. We expanded out and got ourselves BitDefender Exchange Protection which promptly dropped our spam rate almost overnight. However, we were still getting emails from our own domain The best places we found to combat this involved removing the permission: ms-exch-smtp-accept-authoritative-domain-sender in the active directory for the receive connectors. This, thankfully, allowed BitDefender to at least classify them as spam, but we were still able to be spoofed. A simple telnet to our server like so: >telnet <server_ip_here> 25 >EHLO >MAIL FROM: test@<domain_here> >RCPT TO: someone@<domain_here> […]

A Quick Note on XMLSearch.

For a long time, we have considered the use of XMLSearch slow compared to working through an xml object as a standard ColdFusion structure. However, recently we have discovered that XMLSearch is actually comparable in speed to the structured approach and it was just our way of using it that was causing the slowdowns. It turns out that that we were using the “//” XPath operator at the beginning of our calls to XMLSearch regardless of where the XMLDoc object that we were supplying was pointing to.  This would cause the search function to go to the root of the document and search the whole tree.   Removing the “//” operator from the XPath portion of the call forces ColdFusion […]

Gulp Watch After Windows Restart

Recently we’ve switched over to using gulp and node.js for a few pieces of our projects and I had pondered a way to get our gulp watch process running on startup. When we reboot our windows based servers I wanted to spawn a command prompt window running Gulp Watch (or just Gulp) in our working directory so when we deploy our source there it will automatically version/build out our compiled code. I ended up using a simple Shortcut to accomplish this The shortcut should point to C:\Windows\system32\cmd.exe With the addition of /k gulp watch So Target C:\Windows\System32\cmd.exe /k gulp watch Then in the starting directory I put our working directory. Double clicking the icon launches gulp watch, I then added […]


Today started out like many others at Infinite Web Design. Get into the office and ask how everyone is doing on the myriad of tasks they have in progress, jump on slack and check in with Kyle who is working remotely in Traverse City and then double check my email to make sure all the websites we manage are in good working order. After putting out all the fires and grabbing a cup of coffee Kevin and I hit the road. We had interviews lined up back to back all day to recruit new interns and full time developers. We were fortunate to have Dr. Issa at GEE who was willing to lend us his conference room at their headquarters […]

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 […]