DNatt's LabVIEW Content

Each of the links below includes slides, demos, and a video recording. Feel free to present any of this content to your LabVIEW user group, I just ask that you credit me as the author. Also, if you have a virtual event at which you'd like me to present any of this material, I'm happy to do so, just let me know.

We often talk about LabVIEW programming style: rules to follow to make VIs "look good". We assume LabVIEW code that follows style guidelines is well-written and easy to read. I propose there is a palpable gap between style and readability, and I can prove it by creating and reviewing several beautiful VIs... that are unreadable. In this presentation I introduce simple programming techniques you can follow to maximize the readability of your LabVIEW code.

(last updated July 2024)

There are lots of supposed "best practices" we do in LabVIEW without thinking. If we actually think about them, it turns out they may not be best practices at all. 

(last updated June 2024)

Simple tips and techniques for speeding up your VIs. This includes general purpose programming techniques, as well as the most efficient way to use profiling tools in LabVIEW. 

(last updated April 2024)

DQMH is the world’s most popular 3rd-party framework for LabVIEW, and was designed to facilitate the robust implementation of complex LabVIEW applications, while still being accessible to CLAD/CLD-level LabVIEW programmers.

(last updated April 2024)

Connecting error wires across nodes on a block diagram is one of the most common, brainless tasks performed by a LabVIEW programmer. Unfortunately, this often means that VI behavior in an error condition is a second thought, if it's even thought about at all. This presentation will cover best practices in regards to the generation and propagation of errors on LabVIEW block diagrams. You should come out of this presentation with the ability to write VIs that are not only functionally correct in an error condition, but also precisely convey their exact error behavior in an error condition. 

(last updated April 2024)

In just an hour of LabVIEW programming, you interact with the LabVIEW IDE hundreds, perhaps thousands, of times. Chances are, you could be executing many editor gestures more efficiently. Explore how to change your workflow to perform the most common LabVIEW programming tasks as quickly as possible. 

(last updated March 2024)

In my time as a TSE at NI, I have seen a lot of compiler errors, app builder failures, crashes… and most of the time, users will settle for any hack, kludge, or workaround just to get usable code. In this presentation I’m going to share a number of the ridiculous ways I’ve managed to get broken code running. 

(last updated February 2024)

You can choose from many hooks to add your own G-based features to the LabVIEW IDE (no text programming required). This session reveals every single one of those hooks (No, really!) along with some LabVIEW Scripting tips and best practices for implementing those LabVIEW features you always wanted. 

(last updated December 2023)

A comprehensive presentation on the features of the VI Analyzer, and how it can be used to improve code style, increase code performance, and detect bugs. 

(last updated October 2023)

Introduction to the fundamentals of Strings and Arrays, then moving into Sets and Maps, the newest data types in LabVIEW. 

(last updated September 2023)

A walkthrough of several useful VIs and APIs that ship with LabVIEW, but are not officially supported by NI.

(last updated June 2021)

All the details of the right-click plugins feature in LabVIEW, that allows you to extend the right-click menus in the LabVIEW editor purely with G code. 

(last updated April 2021)