Category

Archive for the 'Software Engineering' Category

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 […]

My definition of software engineering

In my opinion, software engineering is the quest to create working software that satisfies its requirements, where the effort required to develop and maintain the software is minimized and does not grow exponentially with the complexity of its ever-changing requirements or the number of changes made to the software over time.
Think about all of the […]

Write your LabVIEW code so that it breaks

One thing that I try to do when writing LabVIEW code, is to craft it in such a way that it breaks during just the right editing circumstances. I know that it might sound crazy, but it’s true.
You probably know that LabVIEW is a very strictly typed language. For example, when you try […]