Referral Programs

So I’ve been debating referral programs fora number of different projects. I see businesses use them with great success but I haven’t implemented one before. 

For 45Squared, my web development company, I have no sales team besides myself. I rely solely on word of mouth right now. I’ve been mulling around the idea of doing a $50 referral program for any new customer that someone brings in. But, how do I control it? 

Last night I decided to do a trial run with only my close friends to see if they can bring in some people. In my friend group, we have quite an extensive reach so it could be successful. At $50 per referral, my margin is still large enough especially when I can sell hosting.

For my other business, there are too many people involved to implement a successful program. I find that most people, to complicate things with aggressive equations to calculate a percentage of a deal that the referrer will receive.

Ultimately I think that this takes away from the program and makes it unsuccessful. But, I have no experience with it, yet. 

So what are your thoughts on referral programs? Comment below.

Fixing Unifi Controller Errors

Recently I was working on a device that for the life of me I could not get to attach to my Unifi Controller. Repeatedly I would get

used default key in INFORM_ERROR state, reject it!

error on my server. The other error that I kept getting on the device itself was

Decrypt Error

when running the Inform Command.

Quite frustrated I spent a lot of time removing and adding my SSL certificate thinking that had something to do with it. I was wrong.

The real issue resides when someone deletes a whole site without removing the devices that are inside the site first. What happens is that the devices stay in the database and have a site associated with them that no longer exists. This results in me not being able to adopt them into a new site.

So Let’s Fix It

To resolve this issue we need to delete the device out of the controller by accessing the MongoDB that stores all of our information. While most of you are probably more fluent in writing Mongo queries and thus could do it from the command line I prefer to find a GUI solution so that I could understand what I am doing.

Enter Robo 3T. This is a GUI connector for MongoDB.  Depending on your setup you will need to modify your connection type. I used SSH with my private key.

Once connected you should see a list of your databases in the left column.

The Unifi Database (unless you changed it) will be called ace. Go ahead and expand out Ace and then Collections to display all your sites information. You will see a tabled called “device”. This table stores all the specific information about our devices and how they are programmed.

We now need to find our specific device so using the built in shell in Robo 3T run the following query replacing the X’s with your MAC Address.

db.device.find({ 'mac' : 'XX:XX:XX:XX:XX:XX' })

The MAC address string must be all lower case.

NOTE: Please backup your database before you do any of the following!

Once you find your device, verify that the MAC address does, in fact, match your device.

Right click on the ObjectID block. Should look something like this:

In the right click menu you can choose to Delete the document. This will permanently remove the device from your controllers database.

Once you have deleted the Document run your Inform command again and it your device should populate into your controller like normal!

If you have any questions let me know!

Comparing Cooking to Architecting

I like to cook. I’m not great at it but I enjoy it. I first really started cooking when my wife was out of town visiting family overseas. I learned very early on that I wasn’t made to follow recipes. Often times I would see a great Pinterest recipe or a Facebook post but, when I went to follow the recipe I found out that I had never quite had the right ingredients. 

Tonight I went to make enchiladas. Per usual I was missing nearly half the ingredients. But, after a few well spent minutes I still managed to whip up a dish that I highly enjoyed.

The comparison struck me as I went back to the original recipe. I technology nothing is quite as easy as just following the instructions on a page. From setting up a simple SFTP server to creating a serverless application there is no one size fits all guide.

When it comes to creating a solution for a client taking a similar approach to cooking works quite well. Starting out by identify the clients needs allows you to get a general idea for what you are going to build. After that either using a predefined recipe or plan gets you headed in the right direction. But, at the end of the day there is no one size fits all method. Sometimes you need to throw out an ingredient for another one until the solution is a whole meal. 

So, whether you’re making your next meal or architecting an enterprise system always remember, no recipe is perfect. Substitute those ingredients until you find something that tastes great and runs fast.

Local Business

I own and operate 45Squared. A local web development and hosting company in Grand Rapids. I also manage product development and distribution for VanBelkum another local technology company here in Grand Rapids.

All to often I see people quick to share posts and media from celebrities and large organizations. But, when it comes to supporting their friends local band, local business or local charity no one comes to aid.

I’ve been running 45Squared now for 2 years. The only way I have been successful at getting “likes” on my Facebook page is by inviting my friends to do so.

So what do we do about this? Currently I’m not sure. I own one solid business that puts out a great product and work for a second. Neither get much attention on social media from my family or friends no matter what I post.

I’m currently running a lead generation ad through Facebook to see if I can drum up any business through it. So far I have had 1 form fill from a guy who works for a competing business. I’m confused.

But yet we press on. As a small business owner I persevere through the lack of interaction from my family and friends. It’s a struggle some times but at the end of the day I am doing what I love.

The Security Specialty Certification

Today I sat the AWS Security Specialty Exam. While I didn’t pass I thought to provide some commentary on the experience in relation to the training that I sought out to assist myself in the process.

I have been a big fan of ACloudGuru. They helped me pass my Solutions Architect exam last year so naturally, I returned to train and learn from them again. Much of the content that I found in this course I found to be a repeat of what I saw in the Solutions Architect material. I didn’t think much of it because I assumed this to be the correct curriculum.

Boy was I wrong.

Upon sitting down at the exam center I utilized my standard method of test taking. Answer the questions that you know the answer to first and then go back and hammer out the harder ones using the process of elimination and your knowledge.

Ryan Kroonenburg does a great job of explaining all the features of AWS and how to utilize them in a lab environment, we miss the actual application level that AWS is asking for in the exam. Now, I’m not saying that Ryan doesn’t know what he is talking about. Quite the contrary. Nor am I blaming my failure on ACloudGuru.


On top of learning all the content outlined in ACloudGuru or LinuxAcademy or whichever training resource you want to utilize, you really need to seek out real life application to these topics. 

I will be going back over all the labs in the training material and applying them into my product environments (after testing). I think that this is the only way to truly learn what is needed.

Current Exam Rankings

Hardest to Easiest (based on what I’ve taken):

  1. Security Specialty
  2. Solutions Architect Associate
  3. SysOps Associate

If you have any questions regarding the exams feel free to reach out!

AWS Summit 2018 – Recap

This was my second year attending Amazon Web Services Summit. Both times I have headed down to Chicago for a few days to network, learn, and get excited about new AWS developments.

This year, the summit was scheduled for only one day. Being that the summit started early in the morning I decided I was going to head down early. By happenstance, I was invited to attend a workshop put on by Dynatrace. 

Dynatrace is a logging and monitoring platform built inside AWS. It integrates with nearly any piece of technology you can think of. For me, monitoring is important for the web servers that I manage for my customers. In this workshop, we learned how to create a continuous development pipeline. Essentially what this means is that we deployed our application which had various staging and production environments that Dynatrace was able to monitor and ensure successful deployments.

After the workshop, Dynatrace hosted a lovely rooftop cocktail party. Thanks again for the invitation!

Quick lookout shot from the rooftop!

The summit began early the next morning. I spent the morning visiting some vendor booths and getting the lay of the land before attending the keynote.

This years keynote was centered around the concept of “Builders”. Amazon wants all of its customers to be builders. By that, they mean that they want us to explore and be curious with their platform. When we see a problem they want us to solve it within Amazon Web Services. While this concept is great fundamentally, I do believe that is catered more towards developers and people that code rather than infrastructure gurus like myself. Nevertheless, I still found the concept compelling in my adventures.

4th row for the keynote!

The day continued with various sessions. I spent a good amount of time working through the business executive track which focuses on migrations and security. 

Large scale migrations – one of my favorite sessions

Overall the summit was good. I did miss the two day format. By the end of the day it was a very long day of travel and learning. 

If you or someone you know is interested in cloud computing, AWS Summit is a great place to get excited about all the possibilities!