The SAS Workshops Blog

Helping You Become a Better LabVIEW Developer

Practical Versus Theoretical

Practical Versus Theoretical

I am a big believer in personal development and growth. One of the things that often keeps us from growing is lack of awareness. There may be certain ways that we present ourselves or ways that others perceive us that we aren’t aware of. I did an exercise recently
3 min read
The Problem With Solving Problems

The Problem With Solving Problems

As engineers we pride ourselves on problem solving. That’s what we do. However I find the use of the word problem to be somewhat problematic (pun intended). When we use the word problem, typically we are referring to something that is not working. Often it was working, but for
4 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
Gang Of Four Patterns in LabVIEW

Gang Of Four Patterns in LabVIEW

I have written a bit about design patterns previously. Recently Tom McQuillan and I were talking about how it would be nice to have examples on how to implement the GOF design patterns in LabVIEW. To be fair, Elijah Kerry put together some great examples several years ago, but he
5 min read
What is Docker?

What is Docker?

I recently posted a book review for a book about learning Docker. I immediately got some feedback that I did not do a great job of explaining exactly what Docker is. This post is going to be a brief explanation of exactly what Docker is and particularly how it compares
4 min read
T Shaped Knowledge

T Shaped Knowledge

I saw post about a similar graph on social media recently. Someone posted it on twitter, but I don’t remember who. I thought it was interesting and that it would make a good topic for a post. The graph above represents someone’s depth of knowledge. In this case
2 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
Docker in Action

Docker in Action

Note: for more on Docker itself, see here. Chris Stryker has recently put a lot of effort into getting LabVIEW to run inside of a Docker Container. This is really exciting news. I think this is really a huge step forward in improving Continuous Integration (CI) with LabVIEW. It offers
3 min read
Undoing A Bad Commit

Undoing A Bad Commit

For our local LabVIEW User Group we have a Slack channel. Someone on there recently asked for some advice about undoing a commit in Git. They were working on a project in LV2019 and someone had accidentally opened it in LV2020, made some changes, and then pushed them to the
3 min read
The Zen Of LabVIEW

The Zen Of LabVIEW

Simple is better than complex. Straight wires are better than bent. We read left to right, let’s wire that way. BD cleanup is often better than a messy diagram. White space is your friend as long as everything fits on one screen. Subvis are also your friends. Use them.
1 min read
August 2020 Webinar

August 2020 Webinar

Be A Craftsperson August 26, 11:00am MT The way we think about coding and the way we approach it has a huge impact on our results. Approaching software from a craftperson perspective helps us to produce high quality valuable software. Sometimes we feel like firefighters running around putting out
1 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
Workability versus right and wrong

Workability versus right and wrong

Very early in my programming career, I was very dogmatic. I learned one way to do things and that was THE right way and anyone who didn’t do it that way was doing it wrong. I really wasn’t afraid to tell people that either. Obviously starting with “Your
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
Sales Bible

Sales Bible

I used to be part of a business coaching group called EntreLeadership by Dave Ramsey. It was a good group of people. One guy, Eric put me onto this book by Geoffrey Gitomer called the Sales Bible. He was enthusiastic about it, so I bought a copy. It sat on
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
What does scalability actually mean?

What does scalability actually mean?

So recently the question of scalability came up on an NI forum post. Stephen Loftus-Mercer (aka AristosQueue) made a very interesting point. He talked about how scaling can mean many different things to many different people. A solution that is scalable on one axis might not be scalable on another.
1 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
Endurance

Endurance

This particular book had been recommended to me several times. It is quite popular in the outdoor recreation community and also in the business leadership community. To tie it into LabVIEW a little: I saw Scott Kelly speak at NI week last year. I was quite impressed, so I bought
2 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
June 2020 Webinar

June 2020 Webinar

Technical Skills For Agile Development June 24, 11:00am MT Agile has a lot to say about how we manage the software development lifecycle, but it requires good technical skills to be successful. Often we get caught up in the software development lifecycle side of agile software development. It is
1 min read