Samuel Taggart

Samuel Taggart

The official "Architect of Adventure". I help teams create healthy, human-centered software development processes.
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
April 2021 Webinar

April 2021 Webinar

April 22, 10 AM MT 10 things I wish I knew when I started using Git. Using Git can be complicated. It is not designed to be user-friendly. Yet it is at the core of good software engineering practices. Unit Tests are great for telling you that you accidentally broke
2 min read
Informative Versus Transformative Learning

Informative Versus Transformative Learning

In the technology field, particularly programming I feel like we tend to focus a lot on informative learning. Informative learning is just building upon what you already know. For instance, if you already know how a for loop works in C, and then you learn how to implement it in
1 min read
LazyGit

LazyGit

In a previous post, I mentioned lazygit in passing. It’s a nice CLI replacement for some of the Git GUI tools like SourceTree. It’s not too well known so I decided to do a little write-up on it. What LazyGit has over something like SourceTree is that is
5 min read