Saying “Yes” to the Mess

This pandemic been hard for everyone, no question about it, but one group I haven’t really heard mentioned is artists. Many of them, my wife included, relied primarily on art/craft/vendor shows to sell their wares. It is now August, nearly 3/4 of the way through the year, and nearly every show that she did or would have signed up for has been cancelled. She does sell some paintings through her website (shameless plug: and Facebook page, but shipping any kind of reasonably large painting is prohibitive. Because of that, she hasn’t been painting much. What she has been doing, however, is diversifying. She’s becoming a “Swiss Army Knife,” if you will.

She always did some jewelry work, but now she’s trying new techniques and styles because, well, jewelry is incredibly easy to ship. And people are buying it! She’s pursuing new distribution channels: partnering with a school fundraising effort, and exploring B2B options such as working with realtors to create custom closing gifts. She’s also in the process of starting a “box” program where customers will be able to order supplies and pre-recorded instructional videos, then she will mail it to them so that they can make their own painting or art project. Think like a “subscription box” but with no recurring commitment.

Recording videos, however, is something WAY outside her comfort zone. She’s tried it a few times just using her phone and a cheesy bracket to hold it, but it’s always seemed janky and she’s never happy with the results. One time the phone even ended up in the art piece she’d spent countless hours on… we try not to think about that one.

So, now /I’m/ pulling out /my/ Swiss army knife capabilities. I spent the evening turning her painting studio (fka the garage) in to a video studio. I broke out the photography lights, unboxed the boom we ordered to mount a webcam looking down at her table, set up an old laptop to record the feed… I even commandeered one of my surplus monitors so she didn’t have to stare at an impossibly small laptop screen from across the room. Is it cutting edge tech? Absolutely not, but she is able to take better videos (and photos) of her work than she ever has before.

Note: I hesitated to post the photo of this setup above because, frankly, my “work bench” is a disaster. In my wife’s words “Out of the mess comes the masterpiece,” however so there’s no doubt I’m gonna have an awesome and amazing project emerging at some point in the future.

I’m afraid this turned in to an ad for my wife, and that really isn’t my point. What I’m trying to say is that one day she WILL be going to shows and festivals again. She might even be able to return to her prior business model, but why would she do that? The changes COVID has forced her to make won’t suddenly be useless… she’ll be emerging with a stronger and more resilient business.

So, in short, we can’t just give up. There’s no doubt we are all making sacrifices right now: wearing masks, avoiding gatherings, embracing remote learning and remote work… it can feel disheartening. I think these concessions are necessary, however, and we can’t just dwell on what what we are losing or have lost. Instead, let’s focus on the growth opportunites we are being afforded. If we do this right, the new skills we can learn, the connections we can make, the new distribution mechanisms and the innovations we create will carry forward, for years to come. I’m confident that we can emerge from the other side of this as stronger people, more robust businesses and maybe even a better society as a whole.

She calls this one “2020” and I think that speaks for itself.

“Contain” your excitement!

Forewarning: For this to work, I suggest you have a rudimentary familiarity with Powershell. I believe this also requires an active NI SSP agreement, but you might be able to work around that.

OK, for those who don’t pay attention outside the LabVIEW community, using Docker for continuous integration is all the rage. Why? Well, a variety of reasons. For one, the ideal state is having a different build “machine” (or virtual machine) for every project you work on that builds it, and only it. Traditionally that hasn’t been a possibility.

Continue reading ““Contain” your excitement!”

Finishing Your GitLab Configuration

This is one of a series of posts on “Demystifying the Magical World of DevOps”

Alright, so, as of last time, we have our basic GitLab instance installed and working. I’m not going to go through exactly “How do I Git” or “How do I GitLab” right now, but there are lots of good resources out there. Googling is useful, but I’d start with the GitLab Basics Guide. A later post will go in to my take on those topics and more importantly, how to use Git with LabVIEW.

So for now, let’s dive in. We’re going to do a few things this time:

  • Configure backups
  • Enable LDAP authentication
  • Configure the SMTP settings
  • Configure third-party integrations
Continue reading “Finishing Your GitLab Configuration”

Installing a DevOps platform

This is one of a series of posts on “Demystifying the Magical World of DevOps”

As of last time, we finally have a Hyper-V server with a copy of Ubuntu server on it. Now let’s actually make it in to something useful. We’re going to install a copy of GitLab Enterprise Edition on it, and do some basic configuration. Stepping back for a moment, however, why GitLab EE?

Continue reading “Installing a DevOps platform”

Installing an OS on your VM

This is one of a series of posts on “Demystifying the Magical World of DevOps”

Alright, so, we have our Hyper-V server up and running, but as you may have noticed, it’s not very useful at the moment; it needs an actual VM with an OS on it.

There are a couple things to consider before we get started:

  • What OS do you want to use?
  • Does the VM disk image need to be encrypted?

For this post we’ll be creating an encrypted Ubuntu Server.

Continue reading “Installing an OS on your VM”

Setting up a Hyper-V Server

This is one of a series of posts on “Demystifying the Magical World of DevOps”

Most of the content here is not applicable if you are going with a cloud-based solution.

I’m a huge fan of virtual machines. For those not familiar, VMs are essentially a way of running a completely independent OS inside of another. (Note that this shouldn’t be conflated with containers, which are similar but share underlying components with the host OS. More on that in a future post in this series.)

Hyper-V is a hypervisor created and distributed by Microsoft. In it’s simplest sense, a hypervisor is simply a platform for running virtual machines. I’m a huge fan of Hyper-V for a variety of reasons, some technical and some logistical, but I do feel compelled to point out that there are other solutions out there, such as Oracle’s VirtualBox and a variety of options made by VMWare. Today though, let’s just talk bout Hyper-V.

Continue reading “Setting up a Hyper-V Server”

Demystifying the magical world of DevOps

Note: This the introduction to a series of posts on building your own DevOps infrastructure.

So, everyone knows that source code control is mandatory, unit tests are great. And hey, that thing called continuous integration? Yeah, you should be doing that.

When done properly, the results are fantastic. But let’s be honest… how many of us actually have the infrastructure in place for all of this?

Here at Hiller, we already do a good job of SCC, but we’re embarking on a journey to implement a full DevOps solution. Now, there are already a variety of resource detailing how you can do most of this, but we have a twist, as we must have provisions to be ITAR compliant for many of our projects. As such, we can’t use GitHub Enterprise, the cloud version of GitLab, or many of the other solutions out there.

So, as a general outline of the plan:

As we go, I’ll generate blog posts on every step of the way. You can watch for posts with the “DIY DevOps” tag, or just keep an eye on this page, which I’ll edit and post links to new entries as I make them.

For reference, we’ll be hosting everything on-prem (at least initially). In my posts, I’ll try to make note regarding the differences between a cloud-based approach and what we’re doing (and how we may partially migrate to a cloud based approach down the road).

Act(or)ing up in NXG

So, like everyone else, I’ve been on the edge of my seat, waiting for NXG 4.0 to release. It finally dropped on NI Package Manager today! Wait, everyone else wasn’t opening NIPM several times a day waiting on NXG 4.0 to finally appear? Oh, well, here’s why you should have been.

NOTE: This post wouldn’t have been possible without my employer, Hiller Measurements, who provides me access to the software (and is also a pretty darned awesome place to work).

Continue reading “Act(or)ing up in NXG”

2019 CLA Summit: Top 5 Takeaways

For those that weren’t aware, the 2019 CLA Summit was held September 25-27 in Austin. I was fortunate enough to attend, and now that I’ve caught back up at work, figure I should highlight the points I found most interesting.

Worth noting, every session was recorded, and will be posted over at along with the slides from each session. Major thanks to Q, Mark and everyone else involved in that effort!

To be clear, there was a TON of information there, and there’s no way I can do it justice in a single post. I’m going try it anyway, however, with full understanding that I’m leaving many things out. That said, I’m biasing my list towards things that are immediately actionable by the majority of readers, not just CLAs. So, without further ado, my top 5 takeaways (in no particular order):

Continue reading “2019 CLA Summit: Top 5 Takeaways”