How to Create a Dystopian Future at Home with Python, OpenCV, and Microsoft Azure

Derek Andre Articles, Azure, Cloud, Development Technologies & Tools, Python, Tutorial 2 Comments

Facial recognition is both amazing and horrifying. Some amazing things it can do is the ability to find missing children or seniors, using your face to unlock your phone, and being able to board an airplane faster.

In this blog post, I want to highlight some powerful tools and platforms that allow you to create distributed facial recognition systems with OpenCV and Azure’s Cognitive Services. By the end of this post, you will have a working face detector using OpenCV that can communicate with Azure’s Cognitive Services.

I used Python 3.7.4 and pip 19.2.3 for this project. You can view the code from this blog at https://github.com/dcandre/Dystopian-Future-At-Home.

Go To SQL

Gabe Schmidt Articles, Databases, Go, Programming, SQL, Tutorial Leave a Comment

In between projects here at Keyhole, I’ve been tasked with applying a relational database access and mapping framework in the Go language.

In this post, I go step by step to create a Postgres relational database, then perform CRUD operations against it in the Go language.

I won’t get into the specifics of configuring Go in this blog, but you can check it out yourself here – https://golang.org/. Additionally, Keyhole’s very own David Pitt wrote an excellent primer on the subject here – https://keyholesoftware.com/2019/09/26/go-on-the-fly/.

Documentation: Enough Already! Not.

Mike McCoy Articles, Consulting, Programming, Soft Skills Leave a Comment

Documentation. I know we all hate having to create it. I don’t like writing it and feel like I always leave something out. However, our assumptions of what other developers should think we are trying to accomplish by our masterpieces of software are usually filled with potholes (sometimes big ones). The truth of the matter is that no matter how stellar your code or software is – if you’re the only one who understands how it works, it doesn’t do any good.

These are not paintings or sculptures that would live the rest of their days in a museum, untouched by human hands and just collecting dust as they run. In reality, documentation will be added to and changed as the information they describe evolves.

In this blog, we discuss two suggested strategies for the creation of useful and concise software documentation.

Knowledge Transfer in Consulting Projects

Strategy: Knowledge Transfer In Consulting Projects

Josh Green Agile, Articles, Consulting, Project Management, Soft Skills Leave a Comment

Imparting Knowledge And Preparing For The End Of A Contract

In this blog, I share an example of a consulting engagement that required significant knowledge transfer to new hires. We detail an approach for teaching Spring Batch to developers with no previous experience in Java or the Spring Framework.

The goal is to provide a real-world example of closing a contract, imparting knowledge with the client and their employees, and the potential issues faced in the process.

Go On The Fly

Go “On The Fly”

David Pitt Articles, Development Technologies & Tools, Keyhole Creations, Programming, Tutorial Leave a Comment

People that know me, know that I love to fly fish and tie flies. I made up the saying “Time flies when you’re tying flies.” It is true, just like when you are trying to solve a programming problem, time flies.

Over the past few years, we at Keyhole have utilized Docker (with assorted technologies) and have gotten up to speed on the Hyperledger blockchain framework. Something that all of these technologies have in common is the Go language. Go is the language used to implement Docker, Hyperledger, OpenShift, and many other system-level applications.

Personally, I like to peek under the hood to better understand the tools I’m using. That led me to learning about the Go language. And in my opinion, the best way to learn a language is to build something.

So, I built an application for fly tying videos. There are numerous fly tying tutorials on YouTube, so I built an application that allows them to be organized into virtual fly boxes and types.

In this blog, I will introduce you to the Go language. We’ll go over some of the key language concepts by walking through how the https://flytyerworld.com server-side API is implemented using Go.