Archive for the 'Software Engineering' Category

When to commit changed VIs caused by type definition changes

In LabVIEW, whenever you change a TypeDef (type definition) any VIs that use the TypeDef will require recompiling and need to be saved.  This presents a problem for developers working on a large project with other developers who might be working on code that “feels” the effects of the changed TypeDef.
So, how do you deal [...]

Planning for software reuse is easy — mining is hard

One of the best places to find reusable code is in your old projects.  However, “mining” your old projects for “reuse gems” (sorting through every VI, looking for sparkly little gems of general-purpose code that have immense value) is simply not an effective use of time or energy.

For example, if you were a miner looking [...]

Monolithic vs. Modular Software Reuse Libraries (Part II)

In part I of this series, we discussed the benefits of the monolithic reuse library.  These benefits make it a very attractive solution in the early stages of a reuse library's evolution. Most of these benefits are a result of the fact that there is a single unit, which is easy to distribute, version control, and manage. However, a monolithic reuse library can quickly become [...]

A Challenge to NI: Use your Application Builder

I'd like to challenge developers at NI to find more ways to incorporate stand-alone (built) LabVIEW applications into their internal systems and processes. One of the major pain points in my day-to-day use of LabVIEW (which I love) is building stand-alone applications. I suspect that the reason this is so painful for me is that (in addition to my use cases [...]

Monolithic vs. Modular Software Reuse Libraries (Part I)

If you’ve gotten past the horrendously boring title of this article, you probably know a little bit about software reuse libraries.   You probably even contribute to a software reuse library (a personal reuse library or one belonging to your organization).   So, I won’t go into the benefits of code reuse and the pitfalls of reinventing the wheel -- I’ll jump right in and get to [...]

Did National Instruments forget about Virtual Instruments?

It’s been over 20 years now that National Instruments has been refining LabVIEW as a powerful test, measurement, and automation platform, as well as a general purpose graphical data flow programming language. For many years, LabVIEW’s slogan was " the software is the instrument ". NI even named the basic building block [...]

LabVIEW and the Multicore Crisis

Software developers and technologists everywhere are beginning to discuss the looming "multicore crisis".  In a nutshell, this crisis stems from the fact that processors are no longer getting faster due to heat issues; they are just getting cheaper, so, we're putting more of them in a single computer.  Today's multicore processors look like a single chip, but actually have [...]

My NIWeek 2007 Presentations

One the reasons that NIWeek 2007 was the Best NIWeek Ever was that I got to present four times! I gave the following two presentations (I presented the latter at three different times):

Using Free and Open Source LabVIEW Software
Developing Commercial Software Applications in LabVIEW

The first presentation, “Using Free and Open Source LabVIEW Software“, was [...]

Should your Commercial LabVIEW Application be Cross-Platform?

One of the great things about LabVIEW is that it supports several platforms. However, being cross-platform is not always trivial, especially if your application is a stand-alone executable (as opposed to a reuse library distributed in source code form).

In order to decide whether you should be cross-platform compatible, first consider whether you need to. [...]

Password Protecting VIs is Security Through Obscurity

I have a huge problem with password protected VIs. It gives people false assurance that nobody will be able to see the intellectual property contained in a VI’s block diagram (the source code).
The basis of my argument is that, behind the scenes, LabVIEW accesses a VI’s block diagram to recompile it for other platforms [...]

Bad Behavior has blocked 5052 access attempts in the last 7 days.