How to

A collection of 80 posts
Dynamic Unloading of Classes

Dynamic Unloading of Classes

In my previous post, I did a demo of the factory pattern. In it I showed how to dynamically load classes based on their path. One thing you may have noticed in that demo is that the classes stayed in memory even after the Test VI stopped running. If you
3 min read
Python Adaptor in TestStand

Python Adaptor in TestStand

I wrote a recent post about calling Python from LabVIEW. As it turns out you can also call Python directly from Test Stand as well. In TestStand 2019 a new Python Adaptor was added. Rather than create my own example, I will just point you to the shipping example. It’
2 min read
Python node basics

Python node basics

I have been learning a bit about Python lately. I find it a nice complement to LabVIEW. Like LabVIEW it is very good for writing quick little scripts and rapidly prototyping things. Unlike LabVIEW, it is not strictly typed, which makes it rather interesting to me. A few years ago
3 min read
Setting up LVCompare and LVMerge

Setting up LVCompare and LVMerge

EDIT: Since I originally wrote this post, I have come up with a much easier way. I am leaving this post up for historcial reasons, but do yourself a favor and just go here There has been some discussion on LinkedIn and other places about how best to setup LVCompare
2 min read
Automatically Creating A Gitlab Repo

Automatically Creating A Gitlab Repo

I’ve been working on streamlining some of my processes lately. I noticed that one of the one things that takes a little time is creating a new GitLabRepository. It just seemed like it took too much time. Here are the previous steps 1. Goto GitLab Webpage 2. Login 3.
2 min read
SSH keys and git bash

SSH keys and git bash

So when it comes to git I much prefer ssh over https. I can’t clearly articulate why, I just do. However one thing I noticed is that git bash was constantly asking me for the password for my ssh key. It got annoying so I did a little research
2 min read
Changing Git's default branch

Changing Git's default branch

In the wake of the protests surrounding George Floyd’s death and the resurgence of the #BlackLivesMatter movement, there has been a lot of talk in the tech community about changing some of the terms we use. There was a lot of focus on moving away from using master and
4 min read
Right to Repair

Right to Repair

A few weeks ago I noticed that the lightning port on my iphone 8 was not working very well. My headphones kept cutting out and the power cord would fallout of the lightning connector. I decided to fix it myself rather than take it somewhere. I had used iFixit before
2 min read
Enhanced State Diagram Editor

Enhanced State Diagram Editor

I was talking to Fab a while ago and she put me onto the Enhanced State Diagram editor. Apparently it is one of Jeff K’s pet projects. It is a way to create a state machine by drawing the diagram in a special editor that automatically generates the LabVIEW
1 min read
Git Reflog

Git Reflog

In a previous article, I talked about orphaned commits. First, let’s talk about why they are bad. They are bad because they will eventually be removed by git’s garbage collection algorithm, losing the data forever. The reflog is designed to prevent that (for a time). In my previous
3 min read
Navigating a git repository

Navigating a git repository

Navigating the Commit Graph Sometimes we want to go back and revisit a particular commit in our project. We might want to do that for a variety of reasons: * Maybe a customer reports a bug in a specific version. We might go check out that tag to reproduce the bug.
9 min read
Git Tips For Beginners

Git Tips For Beginners

Git is a great source code control tool, but it is not known for being user friendly. It’s actually a shame. The way in which git stores and references content is incredibly elegant, but it’s UI seems more of an afterthought. The command structure is not at all
7 min read
Git Basics

Git Basics

I am working on some new training material on git. I thought I would use a series of blog posts to kind explore some ideas and help clarify my thinking. Learning git can be difficult. I want this material to be approachable to beginners, yet still detailed enough that they
7 min read
Managing Dependencies with DQMH Messages

Managing Dependencies with DQMH Messages

In one of his talks, Uncle Bob describes Software Engineering as the art of managing dependencies. This is something that a lot of new programmers have difficulty with. I often run into code written by beginners (and some not-so-beginnners) that has lots of circular dependencies. I also see a lot
1 min read
Caraya Review

Caraya Review

Caraya is a popular Unit Testing solution from JKI. Compared to JKI VI Tester, Caraya seems to be newer and better supported. In fact while conducting this review I found a small bug. I reported it and it was fixed within 24 hours. The Caraya paradigm is different from the
4 min read
Insta Coverage

Insta Coverage

I first heard about InstaCoverage at NI Week 2018. I was part of a panel discussing Unit Testing. Peter Bokor gave a brief presentation right before the panel started on a new unit testing tool IncQuiry Labs had created called InstaCoverage. He really emphasized the code coverage calculation. This is
7 min read
Using JKI VI Tester

Using JKI VI Tester

If you have been following my posts, you will know that I am a big fan of JKI VITester. It is my goto Unit Tester. Why? Mostly because it is an implementation of xUnitStyle testing, which means that I can easily use all of the great patterns outlined in xUnit
5 min read
Update VMs on SSDs

Update VMs on SSDs

This post is an update to my previous posts on using Virtual Machines (VMs). Here are some links to those articles: * Using Virtual Machines Part 1 * Using Virtual Machines Part 2 In part 2 I included a section on where to store VMs. I mentioned that I was using a
2 min read
Using Virtual Machines Part 2

Using Virtual Machines Part 2

This is second of a 2 part series on using Virtual Machines for LabVIEW development.  You can check out part 1 here.  Part 1 discusses why we use virtual machines.  This article will discuss a little more of the how.  I’m not going to give away all my secrets,
12 min read
Gitting Started With Git

Gitting Started With Git

What do you use for source code control? While I was asking everyone I met at NI Week about what frameworks they were using, I also started asking about source code control as well. Almost everyone I talked to universally said they were using some kind of source code control.
6 min read

Finding LabVIEW Version of a File

Since I do consulting, I often end up inheriting code.  Often I get called in because someone had hired a LabVIEW developer to write some code for them and then the LabVIEW developer had disappeared, either retired or moved, or got another job or something similar.  Luckily they usually leave
3 min read