How to

A collection of 75 posts
Trouble Shooting GitLabCI

Trouble Shooting GitLabCI

I saw a post recently on LinkedIn by Jim Kring. He had some issues with a build hanging unexpectedly. They were running Jenkins under a system account and therefore it was really hard to see what was going on to be able to troubleshoot it. Jim then linked to a
3 min read
A case for sets

A case for sets

Back in LabVIEW 2019, NI introduced both sets and maps. Maps became immediately popular. They should be. They are very useful constructs. However, sets seem to have gotten much less attention. In some ways, they aren’t as glamorous, but they do offer some advantages over arrays. To me, these
4 min read
Quick VI Analyzer

Quick VI Analyzer

I haven’t talked a whole lot about VI Analyzer yet. It’s a static code analysis tool. If you come from text-based background, it is similar to a linter. It checks your code against a set of predefined rules and reports back any violations. You do need LabVIEW professional
10 min read
GitLab CI and Git Bash

GitLab CI and Git Bash

A while back GitLab CI deprecated the batch executor for Windows runners. That meant that you could no longer directly call batch scripts from a Gitlab Runner. They had switched over to Powershell. There were workarounds. You could still write a batch script and call it from PowerShell using cmd.
3 min read
CRIO Tips: Mounting Network Drives

CRIO Tips: Mounting Network Drives

This a follow on article to a previous article. Its part of a series of tips that Neil Crossan provided me with, dealing with cRIOs and Linux RT targets. He saw a post of mine and sent me a bunch of tips and tricks. I thought I would share some
4 min read
Advanced Datatypes with Python Node in LabVIEW

Advanced Datatypes with Python Node in LabVIEW

A recent LinkedIn post on using Python and LabVIEW got me thinking about passing more advanced datatypes between LabVIEW and Python. I have written about the Python node before, but I hadn’t really played with advanced datatypes before, so I thought I would play around and come up with
3 min read
How to create a cRIO Virtual Machine

How to create a cRIO Virtual Machine

Just a week or two ago I stumbled upon a forum post that outlined how to create cRIO Virtual Machine. I’ve written a little bit about Virtual Machines before. Creating a virtual cRIO was pretty straightforward, but it required piecing together several responses in the thread, particularly since I
5 min read
View the Git Reflog Graphically

View the Git Reflog Graphically

While creating some content for my “Using Git Effectively” course, I discovered something new and amazingly useful. You may know about Git’s reflog and that it provides a chronological history of where your HEAD has been so that you can recover orphaned commits. For some things though, it can
1 min read
February 2021 Webinar

February 2021 Webinar

LabVIEW Shortcuts – Don’t waste time wiring… February 24th, 10:00am MT We are fortunate to have Stefan Lemmens join us in February. He is going to give a presentation on all the various types of LabVIEW Shortcuts. We are always looking for ways to be more efficient. These tips
1 min read
TDD in LabVIEW using Caraya

TDD in LabVIEW using Caraya

I’ve written a lot about Unit Testing in LabVIEW. There are a variety of frameworks. My go-to is JKI VI Tester, but JKI’s Caraya has been gaining popularity lately. I finally had time to sit down with it and practice some Test Driven Development (TDD). This is where
1 min read

PPL Plugins

I wrote previously about Tom and I’s Gang of Four project where we are creating GOF Examples in LabVIEW. We’ve been getting distracted a little lately, but I have finally found some time to get back to it. I thought I would share with you what I have
2 min read
Showing Status in the Git Bash Prompt

Showing Status in the Git Bash Prompt

Whenever you use Git there is always this conflict between using a GUI and the Git Bash. They both have their strengths and most people prefer one over the other. I feel like in order to master Git you really need to learn to use both and take advantage of
8 min read
Branch by Abstraction

Branch by Abstraction

In the past I have been a big fan of Git Flow. I still am, but I recently read the book Continuous Delivery and it has me rethinking some things. In particular they talk about Continuous Integration and not using feature branches, which is a very large component of Git
4 min read
Getting Started with 3-D Printing

Getting Started with 3-D Printing

I did a job a few years ago for a mining company. We were building a tester to test soil samples. I was amazed that many of the parts for the tester were 3-d printed. I thought it was pretty cool technology. At the time I thought it could be
4 min read
PPL Paths

PPL Paths

As some of you may know, we host a Virtual Coffee on Tuesday mornings. It started out as a part of our local LabVIEW User Group ALARM. A bunch of us ALARM members would get together every couple weeks in person for coffee. When COVID hit, we couldn’t do
3 min read
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