Jon Boyce

Recent Articles

Agile Indy Kickoff

AgileIndy is Back! A 2023 Conference Experience Recap

I was able to attend the AgileIndy conference again this year. What I will do here is give a summary of the content of the talks I attended. Or at least some notes that I took. These notes do not entirely capture the talk itself. If you want more information, hopefully, that will be a […]
Read Full Post
Manage the lifecycle of QObjects in C++ using smart pointers with custom deleters that invoke deleteLater.

deleteLater: Managing the QObject Lifecycle in C++

This post describes how to manage the lifecycle of QObjects in C++ by using smart pointers with custom deleters which invoke deleteLater. Qt has it’s own lifecycle for QWidgets/Objects that is distinct from the usual C++ object lifecycle. Most of the time that is essentially a non-issue. Normally, QWidgets last for the lifetime of the […]
Read Full Post

DevOpsDays Indianapolis Conference: A Detailed Summary

I am providing a summary of my experience at DevOpsDays Indianapolis. For more context, please visit their website: https://devopsdays.org/events/2019-indianapolis. The conference spanned three days, with one half day of training. On the first day, I had to choose between these options for training: Kubernetes Training by IBM, Cloud Native Continuous Delivery with GoCD by Thoughtworks, […]
Read Full Post

AgileIndy, a Developer’s Perspective

First, I want to give some background on myself and my relation to the Agile movement. I have read the manifesto, I have worked on teams that have used scrum, and have also worked on some teams that practiced Agile. However, AgileIndy was my first agile conference and my first software related conference in general. […]
Read Full Post

Prevent Signal/Slot Memory Leaks in Python

When using Qt in python, any QObject with a connection to at least one of its signals is not eligible for garbage collection. This makes it very easy to have memory leaks when using dynamically created QWidgets. In order to not leak memory, you must disconnect any slots from all signals on the QObject before […]
Read Full Post
close up laptop keyboard and screen with code

Scripted Git Branch Deployment with Jenkins

When working with git, normally work is done on a branch then merged onto master. However, it is often desired or required that someone else take a look at it before putting it on master. The process of deploying your branch to a test environment is oftentimes manual / time consuming. It does not have […]
Read Full Post

Stop Using Variables – Learning Through Constraints

My new year’s resolution for 2017 was to stop using variables. My goal was to force some learning by applying a constraint to my work. Over the course of the year, I attempted this while writing various types of code: Restful api endpoints – good. It felt quite natural to write code without variables in […]
Read Full Post

A minor shift in mindset that improved my SQL

I am currently working on a project that involves writing stored functions in PostgreSQL. Typically the goal is one SQL query that returns all the data needed by a particular web page. At first I approached this from an Object Oriented perspective with a focus on minimizing redundant data. This led me down the path […]
Read Full Post