The SAS Workshops Blog

Helping You Become a Better LabVIEW Developer

Working Effectively With Legacy Code

Working Effectively With Legacy Code

Several people have recommended this book to me over the years. I only recently got around to reading it. Software developers continue to recommend this 15-year-old book for good reason. It is quite useful because we all encounter legacy code and all of its techniques are still highly relevant. Thesis
2 min read
The Joel Test

The Joel Test

The Joel Test is a classic. It’s been around for a while and is still increbibly relevant. It’s probably one of his most popular articles. I thought I would just go through each item and comment on how they apply to LabVIEW today. Looking at Joel’s list
6 min read
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
Back to Basics

Back to Basics

So here is another article from Joel on Software. In this article, titled Back to the Basics, Joel talks about the importance of understanding how some lower-level things (like how strings are stored and memory management) work. It’s a bit of a rant. His conclusion is that you need
4 min read
Legacy Code First Aid Kit

Legacy Code First Aid Kit

In general I hate digital only books. I much prefer physical books, but this one, like Dive into Design Patterns is worth making an exception for. Nicolas did a great job with this book. It covers 14 different tools to help get you started working with legacy code. If you
1 min read
Yahtzee Kata

Yahtzee Kata

The Yahtzee Kata is a common refactoring kata. You can see a version of it on Emily Bauche’s Github. As a refactoring kata, it requires some starting code. Emily’s page contains starting code for a lot of languages, but not LabVIEW. So I took it upon myself to
1 min read
Peopleware

Peopleware

This book was recommended to me many years ago by a friend, but for some reason it took me a while to get around to reading it. I read it immediately after reading “Why Employees Are Always a Bad Idea” and a lot of the ideas seemed the same. Tom
1 min read

GDevCon NA 2021 is on, in person!

GDevCon NA is now selling tickets! There are still some early bird tickets available. The date is October 20-21st in Boulder, CO. It’s going to be super exciting. We are also looking for more presenters and sponsors. You can get more info and buy tickets here: https://gdevconna.org/
Why Employees Are Always a Bad Idea

Why Employees Are Always a Bad Idea

Dilbert has been poking fun at corporate America for quite some time now. It wouldn’t be so funny if it did not contain some truth. Corporate America is broken and we all know it. “Why Employees are always a bad idea” explains why Dilbert resonates so much and what
2 min read
Code as Communication.

Code as Communication.

The code we write is a form of communication. We are telling the computer what to do, but we are also communicating with our colleagues. If we were only communicating with the computer, we could just simply write a bunch of 1s and 0s. That’s all the processor needs.
1 min read
Simplest Thing That Could Work

Simplest Thing That Could Work

It seems like I have been giving the same piece of advice lately: Start with the simplest thing that could possibly work and only add complication as you need it. Sometimes our natural tendency is to plan for all eventualities. We get so caught up planning for what might happen,
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
Forget the word but

Forget the word but

In improv, there is this idea called “yes and”. The idea is that the first person goes and starts telling a story. The second person (and everyone after them) picks up with “yes and” and then continues adding to the story. What you want to avoid doing is using the
2 min read
The Freedom of Refactoring

The Freedom of Refactoring

Let’s talk about software design and refactoring in LabVIEW. When I first read Martin Fowler’s Refactoring book several years ago, it was very liberating. Prior to that, I had always had the idea that I had to get things right up front. It was kind of paralyzing. I
5 min read
Choosing a Language

Choosing a Language

I’ve decided to start a new series. I recently bought the book “Joel on Software” by Joel Spolsky. It is a collection of his blog posts. He still continues to produce more content today. Some of the articles in this book are a little dated but they seem to
2 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
Fab and Richard's Book

Fab and Richard's Book

As many of you know, last year Fab co-authored a book on LabVIEW with Richard Jennings. I was fortunate enough that she asked me to review a few chapters for her. As a way of saying thanks for that, she sent me a free copy. I’ve had it for
3 min read
Introduction to LabVIEW FPGA

Introduction to LabVIEW FPGA

I will start this review off by saying I am not much of an FPGA programmer. I took the NI class over a decade ago and I have an sbRIO dev kit sitting at home that I have played around with, but that is about it. On some previous cRIO
2 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
Coding Camps and Climbing Gyms

Coding Camps and Climbing Gyms

I have been a programmer for over 15 years and a rock climber for over 20. During that time I have seen a lot of changes in both. In some ways, the changes are very similar. Rapid Growth Both programming and rock climbing have taken off over the past couple
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