What's New in LabVIEW? Everything!
The LabVIEW you know is changing. May 2017 marks a key inflection point in the history of LabVIEW. We will introduce new features and technologies that will fundamentally improve how you engineer your systems while we continue to update the same LabVIEW that you know and love today. See what these innovations mean for you and how you can use them in your next application.
But I Heard that LabVIEW Does Not Work with Git or Hg?
Many companies are making the move to a distributed version control system. However, doing so LabVIEW requires planning, good architecture, and an understanding of the tools. This session will introduce the basic workflow and it will equip you with the process to successfully push your code to a DVCS and “merge” files from a team of developers. And finally, it will point to you other existing resources to reinforce your success with LabVIEW and Git or Hg.
Principles and Tools for Moving to Agile Development
Whether you are growing a new team of LabVIEW developers with the freedom to define your process or you are part of a larger organization that is tied to traditional waterfall approaches to software development, you will learn concrete ideas to help move your team to a more Agile process. This session will include the concepts, a few use cases, and tool recommendations.
GUI Builder for End-Customer IC Evaluation and System Prototyping
The presentation will demonstrate and describe the key design aspects of a LabVIEW framework that gives customers the ability to evaluate/configure a DUT or prototype their system or IC based application without having to visit the LabVIEW block diagram. The GUI Builder is a graphical development application built in LabVIEW that allows runtime drag and drop of display, acquisition and processing widgets and then intuitive previewing of the results. LabVIEW tips and tricks that enable such features will be profiled. Ways of customizing the LabVIEW development environment for a family of ICs will be described. The presentation will also outline nifty tools and strategies for distributing a modular library of plugins efficiently.
Choosing a Framework
Managing communication between asynchronous processes while developing extensible, modular and loosely-coupled interfaces, is a challenge tackled by every programmer. This presentation will discuss LabVIEW frameworks that make this task much easier. We will show common design patterns that provide simple and efficient strategies to build large applications from small building blocks, and how to create robust distributed applications.
Doing Code Reviews
Developing code consistently across a team is one of the keys to building efficiently maintainable code in any programming language, including LabVIEW. We will look at some ideas on how to build a team specific style guide, what should go in it and how to apply it.
Modularity: Bringing Order into Chaos
Creating modular code is one of the bedrock principles of software development because it fundamentally enforces logical boundaries in your code base that lead to inherent organization, efficient development, and stable distributions. In this session, we will briefly define code modularity, understand the motivation behind it, learn some principles to enforce it, and look at common pitfalls that violate it.
Code Smells: Sniffing Out Poorly Written Code
Technically your code works. It implements the required functionality, but you know something isn't quite right and you prefer not to show the block diagram to others. This session will introduce you to real world “code smells" - those frequently-taken shortcuts that result in poor readability, maintainability and scalability. You'll learn how to identify common code smells and discuss strategies to eliminate them.
Best Practices in Upgrading LabVIEW Code
This session will delve into the considerations for upgrading LabVIEW code, not just the technical know-how but also the determining factors for deciding to upgrade in the first place. We’ll explore the differences in complexity between upgrading components vs. an entire system as well as cover how to integrate source code control into this process. The session will also talk about the LabVIEW release timelines and expectations you should have for moving into future versions of LabVIEW.