Jump to content

User group: Difference between revisions

From LabVIEW Wiki
Dnatt (talk | contribs)
Adding DNatt content
Line 29: Line 29:
|[https://forums.ni.com/t5/LabVIEW-Development-Best/Object-Oriented-Design-Patterns-Technical-Manual-and-Exercises/ta-p/3507995 Presentation and Demo Materials]
|[https://forums.ni.com/t5/LabVIEW-Development-Best/Object-Oriented-Design-Patterns-Technical-Manual-and-Exercises/ta-p/3507995 Presentation and Demo Materials]
|Yes - experience implementing class-based software architectures
|Yes - experience implementing class-based software architectures
|-
|What to Expect When You're Expecting an Error
|Connecting error wires across nodes on a block diagram is one of the most common, brainless tasks performed by a LabVIEW programmer. Unfortunately, this often means that VI behavior in an error condition is a second thought, if it's even thought about at all. This presentation will cover best practices in regards to the generation and propagation of errors on LabVIEW block diagrams. You should come out of this presentation with the ability to write VIs that are not only functionally correct in an error condition, but also precisely convey their exact error behavior in an error condition.
|Darren Nattinger
|[https://bit.ly/dnatterrors Slides and Recording]
|
|-
|All About Collection Data Types
|Introduction to the fundamentals of Strings and Arrays, then moving into Sets and Maps, the newest data types in LabVIEW. 
|Darren Nattinger
|[https://bit.ly/dnattcollections Slides, Demos, and Recording]
|
|-
|}
|}


Line 57: Line 70:
|[https://github.com/elijah286/lvug-team-dev GitHub Repo for slides and demo materials]
|[https://github.com/elijah286/lvug-team-dev GitHub Repo for slides and demo materials]
|Yes - CLA-level knowledge of how to manage and coordinate development activities across a team
|Yes - CLA-level knowledge of how to manage and coordinate development activities across a team
|-
|Improving Your LabVIEW Code with the VI Analyzer
|A comprehensive presentation on the features of the VI Analyzer, and how it can be used to improve code style, increase code performance, and detect bugs.
|Darren Nattinger
|[https://forums.ni.com/t5/VI-Analyzer-Enthusiasts/Improving-Your-LabVIEW-Code-with-the-VI-Analyzer/m-p/3415352 Slides, Demos, and Recording]
|
|}
|}


Line 76: Line 95:
|[https://github.com/elijah286/Extensible-Config-Dialog Example source code]
|[https://github.com/elijah286/Extensible-Config-Dialog Example source code]
|Yes - CLD-level knowledge of how to dynamically load and communicate with sub processes
|Yes - CLD-level knowledge of how to dynamically load and communicate with sub processes
|-
|Introduction to DQMH
|DQMH is the world’s most popular 3rd-party framework for LabVIEW, and was designed to facilitate the robust implementation of complex LabVIEW applications, while still being accessible to CLAD/CLD-level LabVIEW programmers.
|Darren Nattinger
|[https://bit.ly/dnattdqmhintro Slides, Demos, and Recording]
|
|}
===Best Practices===
These materials cover best practices for various aspects of LabVIEW development.
{|class="wikitable sortable static-row-numbers sticky-header col1left" border="1" cellpadding="20" cellspacing="0"
!|Presentation Title
!|Abstract
!|Author
!|Demo Resources
!|SME Requirements
|-
|An End to Brainless LabVIEW Programming
|There are lots of supposed "best practices" we do in LabVIEW without thinking. If we actually think about them, it turns out they may not be best practices at all.
|Darren Nattinger
|[https://bit.ly/brainlesslabview Slides and Recording]
|
|-
|}
|}


Line 89: Line 133:
!|SME Requirements
!|SME Requirements
|-
|-
|What to Expect When You're Expecting an Error
|I Find Your Lack of LabVIEW Programming Speed Disturbing
|Connecting error wires across nodes on a block diagram is one of the most common, brainless tasks performed by a LabVIEW programmer. Unfortunately, this often means that VI behavior in an error condition is a second thought, if it's even thought about at all. This presentation will cover best practices in regards to the generation and propagation of errors on LabVIEW block diagrams. You should come out of this presentation with the ability to write VIs that are not only functionally correct in an error condition, but also precisely convey their exact error behavior in an error condition.  
|In just an hour of LabVIEW programming, you interact with the LabVIEW IDE hundreds, perhaps thousands, of times. Chances are, you could be executing many editor gestures more efficiently. Explore how to change your workflow to perform the most common LabVIEW programming tasks as quickly as possible.
|Darren Nattinger
|[https://bit.ly/labviewspeed Slides, Demos, and Recording]
|
|-
|Quick! Drop Your VI Execution Time!
|Simple tips and techniques for speeding up your VIs. This includes general purpose programming techniques, as well as the most efficient way to use profiling tools in LabVIEW.
|Darren Nattinger
|[https://bit.ly/slowvis Slides, Demos, and Recording]
|
|-
|Don't Wait for LabVIEW R&D... Implement Your Own LabVIEW Features!
|You can choose from many hooks to add your own G-based features to the LabVIEW IDE (no text programming required). This session reveals every single one of those hooks (No, really!) along with some LabVIEW Scripting tips and best practices for implementing those LabVIEW features you always wanted.
|Darren Nattinger
|[https://bit.ly/dnattlvhooks Slides and Recording]
|
|-
|Hidden Gems in vi.lib
|A walkthrough of several useful VIs and APIs that ship with LabVIEW, but are not officially supported by NI.
|Darren Nattinger
|Darren Nattinger
|[http://bit.ly/dnatterrors Slides]
|[https://forums.ni.com/t5/Hidden-Gems-in-vi-lib/Hidden-Gems-in-vi-lib-pptx/td-p/3502591 Slides and Recording]
|Yes - CLA-level knowledge of how to manage and coordinate development activities across a team
|
|-
|-
|I Find Your Lack of LabVIEW Programming Speed Disturbing
|Augmenting Right-Click Menus in LabVIEW
|In just an hour of LabVIEW programming, you interact with the LabVIEW IDE hundreds, perhaps thousands, of times. Chances are, you could be executing many editor gestures more efficiently. Explore how to change your workflow to perform the most common LabVIEW programming tasks as quickly as possible.  
|All the details of the right-click plugins feature in LabVIEW, that allows you to extend the right-click menus in the LabVIEW editor purely with G code.  
|Darren Nattinger
|Darren Nattinger
|[http://bit.ly/ludicrouslabview Slides]
|[https://forums.ni.com/t5/LabVIEW-Shortcut-Menu-Plug-Ins/Presentation-Augmenting-Right-Click-Menus-in-LabVIEW/ta-p/3521526 Slides, Demos, and Recording]
|
|
|-
|-
|}
===Debugging/Troubleshooting===
These materials cover suggestions and insight from developers aimed at debugging and troubleshooting LabVIEW applications.
{|class="wikitable sortable static-row-numbers sticky-header col1left" border="1" cellpadding="20" cellspacing="0"
!|Presentation Title
!|Abstract
!|Author
!|Demo Resources
!|SME Requirements
|-
|Ludicrous Ways to Fix Broken LabVIEW Code
|When LabVIEW programmers encounter compiler errors, app builder failures, and crashes, they will usually settle for any hack, kludge, or workaround just to get usable code. This presentation demonstrates a number of ridiculous ways to get broken code running.
|Darren Nattinger
|[https://bit.ly/ludicrouslabview Slides, Demos, and Recording]
|This content is very DNatt-specific, and may be difficult for others to present.
|-
|}
|}


==References==
==References==
<references />
<references />
[[Category:User Group]]


[[Category:User Group]]
[[Category:User Group]]

Revision as of 21:55, 5 April 2024

A User Group, or LabVIEW User Group (LUG), is a local group of LabVIEW enthusiasts that come together to share common interests or goals. The user groups within the NI Community are segmented into different categories such as Local User Groups, Product User Groups, Special Interest Groups, and Partner Groups. Within each of these groups, you may collaborate with others on best practices, plan in-person meetups, or discuss any topic of your choice. [1]

Organizing a User Group

User groups are typically created out of a shared need to seek advice and share ideas among a community of individuals that are working on similar problems OR applications. It is recommended that such a group align on goals for the organization, such as the following:

  1. Share ideas and practices to improve the quality, performance, scalability and readability of LabVIEW code
  2. Provide a forum to solicit advice from peers regarding how best to solve technical and procedural challenges when developing LabVIEW code
  3. Drive standardization on stylings, code organization and tooling for the purpose of enabling greater reuse and collaboration

See the LabVIEW Community Forum: User Group List to find one near you.

User Group Content

This is a collection of content that can be used to organize and run a LabVIEW user group.

Fundamental Programming Constructs

These materials focus on the G syntax and language-specific constructs

Team Based Development

These presentations are intended to review best practices for code design and development processes. They are generally more advanced and benefit a presenter who has multiple years of experience with the relevant tools and technologies.


Software Architectures and Code Design Patterns

These presentations are intended to review best practices for code design and development processes. They are generally more advanced and benefit a presenter who has multiple years of experience with the relevant tools and technologies.


Best Practices

These materials cover best practices for various aspects of LabVIEW development.

Tips and Tricks

These materials cover suggestions and insight from developers aimed at streamlining interaction with the development environment for the sake of increased productivity.

Debugging/Troubleshooting

These materials cover suggestions and insight from developers aimed at debugging and troubleshooting LabVIEW applications.

References