<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://labviewwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=SamTaggart</id>
	<title>LabVIEW Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://labviewwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=SamTaggart"/>
	<link rel="alternate" type="text/html" href="https://labviewwiki.org/wiki/Special:Contributions/SamTaggart"/>
	<updated>2026-05-08T15:56:01Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=LabVIEW_Learning_Materials&amp;diff=34762</id>
		<title>LabVIEW Learning Materials</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=LabVIEW_Learning_Materials&amp;diff=34762"/>
		<updated>2024-10-09T20:35:01Z</updated>

		<summary type="html">&lt;p&gt;SamTaggart: /* Formal Training */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{see also|category:LabVIEW fundamentals}}&lt;br /&gt;
&lt;br /&gt;
This page provides a recommended set of resources for LabVIEW programmers. The links are a collection of white papers, YouTube videos and formal learning content. &lt;br /&gt;
&lt;br /&gt;
=LabVIEW Programming Basics =&lt;br /&gt;
&lt;br /&gt;
==Introduction to the LabVIEW Environment==&lt;br /&gt;
* [https://www.youtube.com/watch?v=ZHNlKyYzrPE&amp;amp;list=PLB968815D7BB78F9C LabVIEW Overview] - &amp;lt;small&amp;gt;&#039;&#039;(Playlist, 40 videos)&#039;&#039;&amp;lt;/small&amp;gt; Tutorials introducing the environment, data structures, wiring, visualization and basic hardware connectivity. Note that the links to several individual videos from this long playlist are included in relevant sections below.&lt;br /&gt;
* [https://www.youtube.com/watch?v=o3II4GUfyXw&amp;amp;list=PL4EGtL-9IHCGPRC9iBWV1qbrUy0f3Sjq4 How To... in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Playlist, 13 videos)&#039;&#039;&amp;lt;/small&amp;gt; Masterclass on performing various beginner-level tasks in LabVIEW&lt;br /&gt;
&lt;br /&gt;
==Data Types &amp;amp; Structures==&lt;br /&gt;
* [https://www.youtube.com/watch?v=dvShgNdY_GE Data Types Overview] &amp;lt;small&amp;gt;&#039;&#039;(Video, 4:25)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=_GlQ1riWjPc Introduction to arrays] &amp;lt;small&amp;gt;&#039;&#039;(Video, 3:51)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=dEsVDhrdhk4 Using shift registers to save data between loop iterations] &amp;lt;small&amp;gt;&#039;&#039;(Video, 3:00)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=I7FPlLzc7D0 Overview of For Loops] &amp;lt;small&amp;gt;&#039;&#039;(Video, 7:30)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=OZbaqCgyjdM All About Collection Data Types] &amp;lt;small&amp;gt;&#039;&#039;(Video, 56:18)&#039;&#039;&amp;lt;/small&amp;gt; An in-depth introduction to Strings, Arrays, Sets, and Maps.&lt;br /&gt;
&lt;br /&gt;
==User Interface Design==&lt;br /&gt;
* [https://www.youtube.com/watch?v=eGlvOiqYVxg Using event structures to capture user interactions] &amp;lt;small&amp;gt;&#039;&#039;(Video, 8:29)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=jWWJKUpoois Introduction to Panes for UI Organization] &amp;lt;small&amp;gt;&#039;&#039;(Video, 3:54)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=nCvMLB_kH4Q Programmatically changing UI controls using property nodes] &amp;lt;small&amp;gt;&#039;&#039;(Video, 7:10)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=rBM_kTpUfDk Creating resizable user interfaces] &amp;lt;small&amp;gt;&#039;&#039;(Video, 3:46)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=qvhGH0TlCqs Creating Custom Controls] &amp;lt;small&amp;gt;&#039;&#039;(Video, 5:17)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=0-B7p061la4 Creating Professional User Interfaces] &amp;lt;small&amp;gt;&#039;&#039;(Video, 48:50)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asynchronous Messaging==&lt;br /&gt;
* [https://www.youtube.com/watch?v=8DFf-9kcRcs How to use Queues in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Video, 5:27)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=9og3QbfgBu0 How to use Notifiers in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Video, 5:27)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Advanced Execution Control==&lt;br /&gt;
*[https://www.youtube.com/watch?v=dG8MaqO9c2A Launching clones of a VI] &amp;lt;small&amp;gt;&#039;&#039;(Video, 9:23)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
*[https://www.youtube.com/watch?v=tfZIJejBnXg Launching a dynamically dispatched VI programmatically] &amp;lt;small&amp;gt;&#039;&#039;(Video, 6:32)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Object-Oriented Programming (OOP) in LabVIEW==&lt;br /&gt;
* [https://www.ni.com/docs/en-US/bundle/labview/page/labview-object-oriented-programming.html LabVIEW Object-Oriented Programming] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/06/labview-object-oriented-programming--the-decisions-behind-the-de.html Decisions behind the design of OOP in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Whitepaper)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=GRDoyn1mNAI Simple Design Patterns to Improve Code Quality] &amp;lt;small&amp;gt;&#039;&#039;(Video, 51:09)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Debugging Tools==&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/12/debugging-techniques-in-labview.html Basic Debugging Tools in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=BEGFsFbJmBg Programming Patterns and Frameworks] &amp;lt;small&amp;gt;&#039;&#039;(Video, 59:45)&#039;&#039;&amp;lt;/small&amp;gt; Debugging LabVIEW Programming Patterns and Frameworks&lt;br /&gt;
* [https://www.youtube.com/watch?v=7zS3Q_K71XY Large Project Development Techniques] &amp;lt;small&amp;gt;&#039;&#039;(Video, 44:53)&#039;&#039;&amp;lt;/small&amp;gt; Debugging Large LabVIEW projects&lt;br /&gt;
* [https://www.youtube.com/watch?v=9LypMAOb21s Built in LabVIEW Debugging Tools] &amp;lt;small&amp;gt;&#039;&#039;(Video, 31:37)&#039;&#039;&amp;lt;/small&amp;gt; Utilizing debugging tools that are part of LabVIEW&lt;br /&gt;
* [https://www.youtube.com/watch?v=dTqKZmFFyw8 Run-time Code Analysis in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Video, 37:07)&#039;&#039;&amp;lt;/small&amp;gt; Utilizing run-time code analysis tools to debug LabVIEW applications&lt;br /&gt;
* [https://www.youtube.com/watch?v=HKcEYkksW_o Ludicrous Ways to Fix Broken LabVIEW Code] &amp;lt;small&amp;gt;&#039;&#039;(Video, 52:45)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Build and Deployment==&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/19/introduction-to-the-labview-application-builder.html Introduction to the LabVIEW Application Builder] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt; Building Executables (EXEs) and Installers with LabVIEW&lt;br /&gt;
&lt;br /&gt;
=LabVIEW Software Patterns=&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/22/design-considerations-in-labview-.html Design Considerations in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Whitepaper)&#039;&#039;&amp;lt;/small&amp;gt; An introduction to several concepts required for the successful design of medium-to-complex LabVIEW applications&lt;br /&gt;
&lt;br /&gt;
==State Machines==&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/16/simple-state-machine-template-documentation.html Introduction to State Machines] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=aT0obtY3PRk State Machines Tutorial] &amp;lt;small&amp;gt;&#039;&#039;(Video, 5:33)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Producer/Consumer Architecture==&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/21/producer-consumer-architecture-in-labview0.html Introduction to Producer/Consumer] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Queued Message Handlers (QMH)==&lt;br /&gt;
* [https://www.youtube.com/watch?v=-xXJt7yUEis Queued State Machine Overview] &amp;lt;small&amp;gt;&#039;&#039;(Video, 6:24)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/21/using-a-queued-message-handler-in-labview.html Introduction to Queued Message Handlers] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Event-Driven Programming==&lt;br /&gt;
* [https://www.ni.com/en-us/support/documentation/supplemental/06/event-driven-programming-in-labview.html Event Structures in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tooling and Development Processes=&lt;br /&gt;
==Configuration Management==&lt;br /&gt;
* [https://blog.sasworkshops.com/gitting-started-with-git Getting Started with git] &amp;lt;small&amp;gt;&#039;&#039;(Blog Post)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=iVRKQCDeDjc Git Setup for LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Video, 17:07)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://blog.sasworkshops.com/the-easiest-way-to-setup-lvcompare-and-lvmerge Configuring diff and merge in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Blog Post)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://learngitbranching.js.org Git command line tutorial] &amp;lt;small&amp;gt;&#039;&#039;(Interactive Webpage)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Static Code Analysis==&lt;br /&gt;
* [https://ni.adobeconnect.com/p4kis57esy9 Introduction to the VI Analyzer] &amp;lt;small&amp;gt;&#039;&#039;(Video, 41:44)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Dynamic Code Analysis and Performance Benchmarking==&lt;br /&gt;
* [https://www.youtube.com/watch?v=dHvk9OlCaAY Introduction to Dynamic Code Analysis] &amp;lt;small&amp;gt;&#039;&#039;(Video, 9:34)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=24t-D7_BmjM Quick! Drop Your VI Execution Time!] &amp;lt;small&amp;gt;&#039;&#039;(Video, 54:18)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Unit Testing==&lt;br /&gt;
* [https://www.youtube.com/watch?v=AFNbdF7ZU6s Unit Testing with JKI VI Tester] &amp;lt;small&amp;gt;&#039;&#039;(Video, 71:09)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=5l-YQsUYR9g Unit Testing with JKI Caraya] &amp;lt;small&amp;gt;&#039;&#039;(Video, 19:44)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Continuous Integration and Continuous Delivery==&lt;br /&gt;
* [https://sas-gcli-tools.gitlab.io SAS G-CLI Tools] &amp;lt;small&amp;gt;&#039;&#039;(Tutorial)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Software Design Patterns and Best Practices=&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/09/software-engineering-with-labview.html Software Engineering with LabVIEW] A collection of resources covering several aspects of software engineering and design with LabVIEW&lt;br /&gt;
&lt;br /&gt;
==Error Handling==&lt;br /&gt;
* [https://www.ni.com/docs/en-US/bundle/labview/page/handling-errors.html Error Handling Introduction] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=UlOFcmwrsBA What to Expect When You&#039;re Expecting an Error] &amp;lt;small&amp;gt;&#039;&#039;(Video, 60:20)&#039;&#039;&amp;lt;/small&amp;gt; Best practices for error generation and propagation in LabVIEW&lt;br /&gt;
&lt;br /&gt;
=Software Frameworks=&lt;br /&gt;
&lt;br /&gt;
==DQMH==&lt;br /&gt;
&lt;br /&gt;
* [https://dqmh.org/ DQMH Homepage] The official page for DQMH, the world&#039;s most popular 3rd-party framework for LabVIEW  &lt;br /&gt;
* [https://documentation.dqmh.org/dqmh DQMH Documentation] &lt;br /&gt;
* [https://wiki.dqmh.org/ DQMH Wiki] Your one-stop shop for everything you ever wanted to know about DQMH&lt;br /&gt;
* [https://www.youtube.com/@DQMHconsortium DQMH YouTube channel]&lt;br /&gt;
* [https://forums.ni.com/t5/DQMH-Consortium-Toolkits/bd-p/7120 DQMH Developer Community]NI community hub dedicated to DQMH discussions, where developers share best practices, examples, and troubleshooting tips&lt;br /&gt;
* [https://www.youtube.com/watch?v=OIAyii97moY Introduction to DQMH] &amp;lt;small&amp;gt;&#039;&#039;(Video, 51:15)&#039;&#039;&amp;lt;/small&amp;gt; An introduction to DQMH for beginners, focusing on key features and benefits of DQMH&lt;br /&gt;
* [https://dqmh.org/simplifying-your-hardware-abstraction-layer-hal-with-lvoop-and-dqmh-part-1 Hardware Abstraction Layers (HAL) and DQMH] &amp;lt;small&amp;gt;&#039;&#039;(Blog Post)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=IdqTCubXuPE DQMH Module Templates] &amp;lt;small&amp;gt;&#039;&#039;(Video, 5:14)&#039;&#039;&amp;lt;/small&amp;gt; Creating reusable DQMH module templates to speed development&lt;br /&gt;
* [https://www.youtube.com/watch?v=zXJqB2cA2nU DQMH Generic Networking] &amp;lt;small&amp;gt;&#039;&#039;(Video, 51:09)&#039;&#039;&amp;lt;/small&amp;gt; Introduction to the Generic Network (GenNet) template for implementing DQMH-based Real-Time (RT) applications&lt;br /&gt;
&lt;br /&gt;
==Actor Framework==&lt;br /&gt;
&lt;br /&gt;
* [https://labviewwiki.org/wiki/Actor_Framework Actor Framework Resources ] &amp;lt;small&amp;gt;&#039;&#039;(LabVIEW Wiki page)&#039;&#039;&amp;lt;/small&amp;gt; Resource page for Actor Framework introduction and tutorial materials.&lt;br /&gt;
* [https://www.youtube.com/watch?v=gz_6FTE1__8 The State of the Art for Actor Framework] &amp;lt;small&amp;gt;&#039;&#039;(Video, 62:32)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://forums.ni.com/t5/Actor-Framework/ct-p/7001 Actor Framework Community] A dedicated forum where LabVIEW developers discuss the Actor Framework, share use cases, and troubleshoot challenges.&lt;br /&gt;
&lt;br /&gt;
==Workers==&lt;br /&gt;
* [https://www.youtube.com/watch?v=Xyy8HLBpvjU Introduction to Workers] &amp;lt;small&amp;gt;&#039;&#039;(Video, 51:54)&#039;&#039;&amp;lt;/small&amp;gt; Introduction to the Workers framework for LabVIEW&lt;br /&gt;
&lt;br /&gt;
==Messenger==&lt;br /&gt;
* [https://www.youtube.com/watch?v=IxgSBkHu1RM Introduction to Messenger] &amp;lt;small&amp;gt;&#039;&#039;(Video, 57:03)&#039;&#039;&amp;lt;/small&amp;gt; Introduction to the Messenger framework for LabVIEW&lt;br /&gt;
&lt;br /&gt;
=Hardware and Instrumentation Connectivity=&lt;br /&gt;
&lt;br /&gt;
==DAQmx Basics==&lt;br /&gt;
* [https://www.youtube.com/watch?v=ofzbA3keOYE Taking a Measurement with DAQmx] &amp;lt;small&amp;gt;&#039;&#039;(Video, 4:55)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Instrument Control==&lt;br /&gt;
* [https://www.youtube.com/watch?v=-UUAa9UKj4E Introduction to LabVIEW for Instrument Control] &amp;lt;small&amp;gt;&#039;&#039;(Video, 8:26)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Determinism and Real-Time Execution==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JhHJMFrAa4A Getting Started with CompactRIO] &amp;lt;small&amp;gt;&#039;&#039;(Video, 8:11)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Community and Best Practices=&lt;br /&gt;
&lt;br /&gt;
==LabVIEW Style Guidelines==&lt;br /&gt;
* [https://labviewwiki.org/wiki/Style_Guide LabVIEW Wiki Style Guide]&lt;br /&gt;
* [https://dqmh.org/content/styleguide DQMH Style Guide]&lt;br /&gt;
&lt;br /&gt;
==LabVIEW Community and User Groups==&lt;br /&gt;
* [https://www.ni.com/en-us/events.html NI Events] NI Events Page&lt;br /&gt;
* [https://labviewwiki.org/wiki/Events LabVIEW Events] LabVIEW Wiki Events Page&lt;br /&gt;
&lt;br /&gt;
=Formal Training=&lt;br /&gt;
Formal training on LabVIEW is available from several providers. Offerings differ based on prior LabVIEW experience level and the preferred delivery method. Common delivery methods include: &lt;br /&gt;
&lt;br /&gt;
* In-person instructor-led&lt;br /&gt;
* Remote instructor-led (usually through a web conference)&lt;br /&gt;
* Online self-paced (usually through a combination of pre-recorded lecture videos and exercise solution videos)&lt;br /&gt;
* Self-paced with a manual  &lt;br /&gt;
&lt;br /&gt;
NI has a [https://www.ni.com/en/shop/services/education-services.html suite of courses] ranging from beginner to advanced, as well as several specialty topics such as LabVIEW Real-Time and LabVIEW Connectivity. LabVIEW training is also available through [http://www.sixclear.com/ Sixclear],  [https://www.udemy.com/topic/labview Udemy], [https://www.linkedin.com/learning/topics/labview LinkedIn] and [https://dsautomation.com/labview-fundamentals-1 DSA]. &lt;br /&gt;
&lt;br /&gt;
Recommended training courses for those with no knowledge of LabVIEW are [https://www.ni.com/en/shop/services/education-services/customer-education-courses/labview-core-1-course-overview.html NI LabVIEW Core 1] and [https://www.ni.com/en/shop/services/education-services/customer-education-courses/labview-core-2-course-overview.html NI LabVIEW Core 2] courses. All introductory courses are geared to a user with little to no LabVIEW experience and teach the proficiencies outlined by the [http://sine.ni.com/nips/cds/view/p/lang/en/nid/14438 Certified LabVIEW Associate Developer (CLAD)] exam, as well as simple data acquisition (DAQ) and instrument control.&lt;br /&gt;
&lt;br /&gt;
Common arguments justifying formal training revolve around the idea that the sum cost of developers&#039; time is greater than the cost of training because: &lt;br /&gt;
*  the LabVIEW graphical programming paradigm is appreciably different than traditional text-based programming  &lt;br /&gt;
*  costly mistakes commonly occur when moving from simple LabVIEW applications to more complex applications, especially when developing parallel loop applications (see the [https://www.ni.com/en/support/documentation/supplemental/22/design-considerations-in-labview-.html Design Considerations in LabVIEW] document for more guidance regarding this development transition.&lt;br /&gt;
&lt;br /&gt;
The DQMH Consortium offers an official [https://dqmh.org/training DQMH training course].&lt;br /&gt;
&lt;br /&gt;
NI offers an official [https://www.ni.com/en/shop/services/education-services/customer-education-courses/actor-oriented-design-in-labview-course-overview.html Actor Framework training course].&lt;br /&gt;
&lt;br /&gt;
SAS Workshops offers a [https://www.sasworkshops.com/using-git-effectively-course-preview Using Git Effectively online video course].&lt;br /&gt;
&lt;br /&gt;
[[Category:LabVIEW fundamentals]]&lt;br /&gt;
[[Category:Getting started]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Introduction]]&lt;/div&gt;</summary>
		<author><name>SamTaggart</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=LabVIEW_Learning_Materials&amp;diff=34761</id>
		<title>LabVIEW Learning Materials</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=LabVIEW_Learning_Materials&amp;diff=34761"/>
		<updated>2024-10-09T20:33:09Z</updated>

		<summary type="html">&lt;p&gt;SamTaggart: /* Continuous Integration and Continuous Delivery */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{see also|category:LabVIEW fundamentals}}&lt;br /&gt;
&lt;br /&gt;
This page provides a recommended set of resources for LabVIEW programmers. The links are a collection of white papers, YouTube videos and formal learning content. &lt;br /&gt;
&lt;br /&gt;
=LabVIEW Programming Basics =&lt;br /&gt;
&lt;br /&gt;
==Introduction to the LabVIEW Environment==&lt;br /&gt;
* [https://www.youtube.com/watch?v=ZHNlKyYzrPE&amp;amp;list=PLB968815D7BB78F9C LabVIEW Overview] - &amp;lt;small&amp;gt;&#039;&#039;(Playlist, 40 videos)&#039;&#039;&amp;lt;/small&amp;gt; Tutorials introducing the environment, data structures, wiring, visualization and basic hardware connectivity. Note that the links to several individual videos from this long playlist are included in relevant sections below.&lt;br /&gt;
* [https://www.youtube.com/watch?v=o3II4GUfyXw&amp;amp;list=PL4EGtL-9IHCGPRC9iBWV1qbrUy0f3Sjq4 How To... in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Playlist, 13 videos)&#039;&#039;&amp;lt;/small&amp;gt; Masterclass on performing various beginner-level tasks in LabVIEW&lt;br /&gt;
&lt;br /&gt;
==Data Types &amp;amp; Structures==&lt;br /&gt;
* [https://www.youtube.com/watch?v=dvShgNdY_GE Data Types Overview] &amp;lt;small&amp;gt;&#039;&#039;(Video, 4:25)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=_GlQ1riWjPc Introduction to arrays] &amp;lt;small&amp;gt;&#039;&#039;(Video, 3:51)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=dEsVDhrdhk4 Using shift registers to save data between loop iterations] &amp;lt;small&amp;gt;&#039;&#039;(Video, 3:00)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=I7FPlLzc7D0 Overview of For Loops] &amp;lt;small&amp;gt;&#039;&#039;(Video, 7:30)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=OZbaqCgyjdM All About Collection Data Types] &amp;lt;small&amp;gt;&#039;&#039;(Video, 56:18)&#039;&#039;&amp;lt;/small&amp;gt; An in-depth introduction to Strings, Arrays, Sets, and Maps.&lt;br /&gt;
&lt;br /&gt;
==User Interface Design==&lt;br /&gt;
* [https://www.youtube.com/watch?v=eGlvOiqYVxg Using event structures to capture user interactions] &amp;lt;small&amp;gt;&#039;&#039;(Video, 8:29)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=jWWJKUpoois Introduction to Panes for UI Organization] &amp;lt;small&amp;gt;&#039;&#039;(Video, 3:54)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=nCvMLB_kH4Q Programmatically changing UI controls using property nodes] &amp;lt;small&amp;gt;&#039;&#039;(Video, 7:10)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=rBM_kTpUfDk Creating resizable user interfaces] &amp;lt;small&amp;gt;&#039;&#039;(Video, 3:46)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=qvhGH0TlCqs Creating Custom Controls] &amp;lt;small&amp;gt;&#039;&#039;(Video, 5:17)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=0-B7p061la4 Creating Professional User Interfaces] &amp;lt;small&amp;gt;&#039;&#039;(Video, 48:50)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asynchronous Messaging==&lt;br /&gt;
* [https://www.youtube.com/watch?v=8DFf-9kcRcs How to use Queues in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Video, 5:27)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=9og3QbfgBu0 How to use Notifiers in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Video, 5:27)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Advanced Execution Control==&lt;br /&gt;
*[https://www.youtube.com/watch?v=dG8MaqO9c2A Launching clones of a VI] &amp;lt;small&amp;gt;&#039;&#039;(Video, 9:23)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
*[https://www.youtube.com/watch?v=tfZIJejBnXg Launching a dynamically dispatched VI programmatically] &amp;lt;small&amp;gt;&#039;&#039;(Video, 6:32)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Object-Oriented Programming (OOP) in LabVIEW==&lt;br /&gt;
* [https://www.ni.com/docs/en-US/bundle/labview/page/labview-object-oriented-programming.html LabVIEW Object-Oriented Programming] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/06/labview-object-oriented-programming--the-decisions-behind-the-de.html Decisions behind the design of OOP in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Whitepaper)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=GRDoyn1mNAI Simple Design Patterns to Improve Code Quality] &amp;lt;small&amp;gt;&#039;&#039;(Video, 51:09)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Debugging Tools==&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/12/debugging-techniques-in-labview.html Basic Debugging Tools in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=BEGFsFbJmBg Programming Patterns and Frameworks] &amp;lt;small&amp;gt;&#039;&#039;(Video, 59:45)&#039;&#039;&amp;lt;/small&amp;gt; Debugging LabVIEW Programming Patterns and Frameworks&lt;br /&gt;
* [https://www.youtube.com/watch?v=7zS3Q_K71XY Large Project Development Techniques] &amp;lt;small&amp;gt;&#039;&#039;(Video, 44:53)&#039;&#039;&amp;lt;/small&amp;gt; Debugging Large LabVIEW projects&lt;br /&gt;
* [https://www.youtube.com/watch?v=9LypMAOb21s Built in LabVIEW Debugging Tools] &amp;lt;small&amp;gt;&#039;&#039;(Video, 31:37)&#039;&#039;&amp;lt;/small&amp;gt; Utilizing debugging tools that are part of LabVIEW&lt;br /&gt;
* [https://www.youtube.com/watch?v=dTqKZmFFyw8 Run-time Code Analysis in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Video, 37:07)&#039;&#039;&amp;lt;/small&amp;gt; Utilizing run-time code analysis tools to debug LabVIEW applications&lt;br /&gt;
* [https://www.youtube.com/watch?v=HKcEYkksW_o Ludicrous Ways to Fix Broken LabVIEW Code] &amp;lt;small&amp;gt;&#039;&#039;(Video, 52:45)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Build and Deployment==&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/19/introduction-to-the-labview-application-builder.html Introduction to the LabVIEW Application Builder] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt; Building Executables (EXEs) and Installers with LabVIEW&lt;br /&gt;
&lt;br /&gt;
=LabVIEW Software Patterns=&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/22/design-considerations-in-labview-.html Design Considerations in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Whitepaper)&#039;&#039;&amp;lt;/small&amp;gt; An introduction to several concepts required for the successful design of medium-to-complex LabVIEW applications&lt;br /&gt;
&lt;br /&gt;
==State Machines==&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/16/simple-state-machine-template-documentation.html Introduction to State Machines] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=aT0obtY3PRk State Machines Tutorial] &amp;lt;small&amp;gt;&#039;&#039;(Video, 5:33)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Producer/Consumer Architecture==&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/21/producer-consumer-architecture-in-labview0.html Introduction to Producer/Consumer] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Queued Message Handlers (QMH)==&lt;br /&gt;
* [https://www.youtube.com/watch?v=-xXJt7yUEis Queued State Machine Overview] &amp;lt;small&amp;gt;&#039;&#039;(Video, 6:24)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/21/using-a-queued-message-handler-in-labview.html Introduction to Queued Message Handlers] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Event-Driven Programming==&lt;br /&gt;
* [https://www.ni.com/en-us/support/documentation/supplemental/06/event-driven-programming-in-labview.html Event Structures in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tooling and Development Processes=&lt;br /&gt;
==Configuration Management==&lt;br /&gt;
* [https://blog.sasworkshops.com/gitting-started-with-git Getting Started with git] &amp;lt;small&amp;gt;&#039;&#039;(Blog Post)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=iVRKQCDeDjc Git Setup for LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Video, 17:07)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://blog.sasworkshops.com/the-easiest-way-to-setup-lvcompare-and-lvmerge Configuring diff and merge in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Blog Post)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://learngitbranching.js.org Git command line tutorial] &amp;lt;small&amp;gt;&#039;&#039;(Interactive Webpage)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Static Code Analysis==&lt;br /&gt;
* [https://ni.adobeconnect.com/p4kis57esy9 Introduction to the VI Analyzer] &amp;lt;small&amp;gt;&#039;&#039;(Video, 41:44)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Dynamic Code Analysis and Performance Benchmarking==&lt;br /&gt;
* [https://www.youtube.com/watch?v=dHvk9OlCaAY Introduction to Dynamic Code Analysis] &amp;lt;small&amp;gt;&#039;&#039;(Video, 9:34)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=24t-D7_BmjM Quick! Drop Your VI Execution Time!] &amp;lt;small&amp;gt;&#039;&#039;(Video, 54:18)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Unit Testing==&lt;br /&gt;
* [https://www.youtube.com/watch?v=AFNbdF7ZU6s Unit Testing with JKI VI Tester] &amp;lt;small&amp;gt;&#039;&#039;(Video, 71:09)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=5l-YQsUYR9g Unit Testing with JKI Caraya] &amp;lt;small&amp;gt;&#039;&#039;(Video, 19:44)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Continuous Integration and Continuous Delivery==&lt;br /&gt;
* [https://sas-gcli-tools.gitlab.io SAS G-CLI Tools] &amp;lt;small&amp;gt;&#039;&#039;(Tutorial)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Software Design Patterns and Best Practices=&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/09/software-engineering-with-labview.html Software Engineering with LabVIEW] A collection of resources covering several aspects of software engineering and design with LabVIEW&lt;br /&gt;
&lt;br /&gt;
==Error Handling==&lt;br /&gt;
* [https://www.ni.com/docs/en-US/bundle/labview/page/handling-errors.html Error Handling Introduction] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=UlOFcmwrsBA What to Expect When You&#039;re Expecting an Error] &amp;lt;small&amp;gt;&#039;&#039;(Video, 60:20)&#039;&#039;&amp;lt;/small&amp;gt; Best practices for error generation and propagation in LabVIEW&lt;br /&gt;
&lt;br /&gt;
=Software Frameworks=&lt;br /&gt;
&lt;br /&gt;
==DQMH==&lt;br /&gt;
&lt;br /&gt;
* [https://dqmh.org/ DQMH Homepage] The official page for DQMH, the world&#039;s most popular 3rd-party framework for LabVIEW  &lt;br /&gt;
* [https://documentation.dqmh.org/dqmh DQMH Documentation] &lt;br /&gt;
* [https://wiki.dqmh.org/ DQMH Wiki] Your one-stop shop for everything you ever wanted to know about DQMH&lt;br /&gt;
* [https://www.youtube.com/@DQMHconsortium DQMH YouTube channel]&lt;br /&gt;
* [https://forums.ni.com/t5/DQMH-Consortium-Toolkits/bd-p/7120 DQMH Developer Community]NI community hub dedicated to DQMH discussions, where developers share best practices, examples, and troubleshooting tips&lt;br /&gt;
* [https://www.youtube.com/watch?v=OIAyii97moY Introduction to DQMH] &amp;lt;small&amp;gt;&#039;&#039;(Video, 51:15)&#039;&#039;&amp;lt;/small&amp;gt; An introduction to DQMH for beginners, focusing on key features and benefits of DQMH&lt;br /&gt;
* [https://dqmh.org/simplifying-your-hardware-abstraction-layer-hal-with-lvoop-and-dqmh-part-1 Hardware Abstraction Layers (HAL) and DQMH] &amp;lt;small&amp;gt;&#039;&#039;(Blog Post)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=IdqTCubXuPE DQMH Module Templates] &amp;lt;small&amp;gt;&#039;&#039;(Video, 5:14)&#039;&#039;&amp;lt;/small&amp;gt; Creating reusable DQMH module templates to speed development&lt;br /&gt;
* [https://www.youtube.com/watch?v=zXJqB2cA2nU DQMH Generic Networking] &amp;lt;small&amp;gt;&#039;&#039;(Video, 51:09)&#039;&#039;&amp;lt;/small&amp;gt; Introduction to the Generic Network (GenNet) template for implementing DQMH-based Real-Time (RT) applications&lt;br /&gt;
&lt;br /&gt;
==Actor Framework==&lt;br /&gt;
&lt;br /&gt;
* [https://labviewwiki.org/wiki/Actor_Framework Actor Framework Resources ] &amp;lt;small&amp;gt;&#039;&#039;(LabVIEW Wiki page)&#039;&#039;&amp;lt;/small&amp;gt; Resource page for Actor Framework introduction and tutorial materials.&lt;br /&gt;
* [https://www.youtube.com/watch?v=gz_6FTE1__8 The State of the Art for Actor Framework] &amp;lt;small&amp;gt;&#039;&#039;(Video, 62:32)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://forums.ni.com/t5/Actor-Framework/ct-p/7001 Actor Framework Community] A dedicated forum where LabVIEW developers discuss the Actor Framework, share use cases, and troubleshoot challenges.&lt;br /&gt;
&lt;br /&gt;
==Workers==&lt;br /&gt;
* [https://www.youtube.com/watch?v=Xyy8HLBpvjU Introduction to Workers] &amp;lt;small&amp;gt;&#039;&#039;(Video, 51:54)&#039;&#039;&amp;lt;/small&amp;gt; Introduction to the Workers framework for LabVIEW&lt;br /&gt;
&lt;br /&gt;
==Messenger==&lt;br /&gt;
* [https://www.youtube.com/watch?v=IxgSBkHu1RM Introduction to Messenger] &amp;lt;small&amp;gt;&#039;&#039;(Video, 57:03)&#039;&#039;&amp;lt;/small&amp;gt; Introduction to the Messenger framework for LabVIEW&lt;br /&gt;
&lt;br /&gt;
=Hardware and Instrumentation Connectivity=&lt;br /&gt;
&lt;br /&gt;
==DAQmx Basics==&lt;br /&gt;
* [https://www.youtube.com/watch?v=ofzbA3keOYE Taking a Measurement with DAQmx] &amp;lt;small&amp;gt;&#039;&#039;(Video, 4:55)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Instrument Control==&lt;br /&gt;
* [https://www.youtube.com/watch?v=-UUAa9UKj4E Introduction to LabVIEW for Instrument Control] &amp;lt;small&amp;gt;&#039;&#039;(Video, 8:26)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Determinism and Real-Time Execution==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JhHJMFrAa4A Getting Started with CompactRIO] &amp;lt;small&amp;gt;&#039;&#039;(Video, 8:11)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Community and Best Practices=&lt;br /&gt;
&lt;br /&gt;
==LabVIEW Style Guidelines==&lt;br /&gt;
* [https://labviewwiki.org/wiki/Style_Guide LabVIEW Wiki Style Guide]&lt;br /&gt;
* [https://dqmh.org/content/styleguide DQMH Style Guide]&lt;br /&gt;
&lt;br /&gt;
==LabVIEW Community and User Groups==&lt;br /&gt;
* [https://www.ni.com/en-us/events.html NI Events] NI Events Page&lt;br /&gt;
* [https://labviewwiki.org/wiki/Events LabVIEW Events] LabVIEW Wiki Events Page&lt;br /&gt;
&lt;br /&gt;
=Formal Training=&lt;br /&gt;
Formal training on LabVIEW is available from several providers. Offerings differ based on prior LabVIEW experience level and the preferred delivery method. Common delivery methods include: &lt;br /&gt;
&lt;br /&gt;
* In-person instructor-led&lt;br /&gt;
* Remote instructor-led (usually through a web conference)&lt;br /&gt;
* Online self-paced (usually through a combination of pre-recorded lecture videos and exercise solution videos)&lt;br /&gt;
* Self-paced with a manual  &lt;br /&gt;
&lt;br /&gt;
NI has a [https://www.ni.com/en/shop/services/education-services.html suite of courses] ranging from beginner to advanced, as well as several specialty topics such as LabVIEW Real-Time and LabVIEW Connectivity. LabVIEW training is also available through [http://www.sixclear.com/ Sixclear],  [https://www.udemy.com/topic/labview Udemy], [https://www.linkedin.com/learning/topics/labview LinkedIn] and [https://dsautomation.com/labview-fundamentals-1 DSA]. &lt;br /&gt;
&lt;br /&gt;
Recommended training courses for those with no knowledge of LabVIEW are [https://www.ni.com/en/shop/services/education-services/customer-education-courses/labview-core-1-course-overview.html NI LabVIEW Core 1] and [https://www.ni.com/en/shop/services/education-services/customer-education-courses/labview-core-2-course-overview.html NI LabVIEW Core 2] courses. All introductory courses are geared to a user with little to no LabVIEW experience and teach the proficiencies outlined by the [http://sine.ni.com/nips/cds/view/p/lang/en/nid/14438 Certified LabVIEW Associate Developer (CLAD)] exam, as well as simple data acquisition (DAQ) and instrument control.&lt;br /&gt;
&lt;br /&gt;
Common arguments justifying formal training revolve around the idea that the sum cost of developers&#039; time is greater than the cost of training because: &lt;br /&gt;
*  the LabVIEW graphical programming paradigm is appreciably different than traditional text-based programming  &lt;br /&gt;
*  costly mistakes commonly occur when moving from simple LabVIEW applications to more complex applications, especially when developing parallel loop applications (see the [https://www.ni.com/en/support/documentation/supplemental/22/design-considerations-in-labview-.html Design Considerations in LabVIEW] document for more guidance regarding this development transition.&lt;br /&gt;
&lt;br /&gt;
The DQMH Consortium offers an official [https://dqmh.org/training DQMH training course].&lt;br /&gt;
&lt;br /&gt;
NI offers an official [https://www.ni.com/en/shop/services/education-services/customer-education-courses/actor-oriented-design-in-labview-course-overview.html Actor Framework training course].&lt;br /&gt;
&lt;br /&gt;
[[Category:LabVIEW fundamentals]]&lt;br /&gt;
[[Category:Getting started]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Introduction]]&lt;/div&gt;</summary>
		<author><name>SamTaggart</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=LabVIEW_Learning_Materials&amp;diff=34760</id>
		<title>LabVIEW Learning Materials</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=LabVIEW_Learning_Materials&amp;diff=34760"/>
		<updated>2024-10-09T20:32:30Z</updated>

		<summary type="html">&lt;p&gt;SamTaggart: /* Continuous Integration and Continuous Delivery */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{see also|category:LabVIEW fundamentals}}&lt;br /&gt;
&lt;br /&gt;
This page provides a recommended set of resources for LabVIEW programmers. The links are a collection of white papers, YouTube videos and formal learning content. &lt;br /&gt;
&lt;br /&gt;
=LabVIEW Programming Basics =&lt;br /&gt;
&lt;br /&gt;
==Introduction to the LabVIEW Environment==&lt;br /&gt;
* [https://www.youtube.com/watch?v=ZHNlKyYzrPE&amp;amp;list=PLB968815D7BB78F9C LabVIEW Overview] - &amp;lt;small&amp;gt;&#039;&#039;(Playlist, 40 videos)&#039;&#039;&amp;lt;/small&amp;gt; Tutorials introducing the environment, data structures, wiring, visualization and basic hardware connectivity. Note that the links to several individual videos from this long playlist are included in relevant sections below.&lt;br /&gt;
* [https://www.youtube.com/watch?v=o3II4GUfyXw&amp;amp;list=PL4EGtL-9IHCGPRC9iBWV1qbrUy0f3Sjq4 How To... in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Playlist, 13 videos)&#039;&#039;&amp;lt;/small&amp;gt; Masterclass on performing various beginner-level tasks in LabVIEW&lt;br /&gt;
&lt;br /&gt;
==Data Types &amp;amp; Structures==&lt;br /&gt;
* [https://www.youtube.com/watch?v=dvShgNdY_GE Data Types Overview] &amp;lt;small&amp;gt;&#039;&#039;(Video, 4:25)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=_GlQ1riWjPc Introduction to arrays] &amp;lt;small&amp;gt;&#039;&#039;(Video, 3:51)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=dEsVDhrdhk4 Using shift registers to save data between loop iterations] &amp;lt;small&amp;gt;&#039;&#039;(Video, 3:00)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=I7FPlLzc7D0 Overview of For Loops] &amp;lt;small&amp;gt;&#039;&#039;(Video, 7:30)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=OZbaqCgyjdM All About Collection Data Types] &amp;lt;small&amp;gt;&#039;&#039;(Video, 56:18)&#039;&#039;&amp;lt;/small&amp;gt; An in-depth introduction to Strings, Arrays, Sets, and Maps.&lt;br /&gt;
&lt;br /&gt;
==User Interface Design==&lt;br /&gt;
* [https://www.youtube.com/watch?v=eGlvOiqYVxg Using event structures to capture user interactions] &amp;lt;small&amp;gt;&#039;&#039;(Video, 8:29)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=jWWJKUpoois Introduction to Panes for UI Organization] &amp;lt;small&amp;gt;&#039;&#039;(Video, 3:54)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=nCvMLB_kH4Q Programmatically changing UI controls using property nodes] &amp;lt;small&amp;gt;&#039;&#039;(Video, 7:10)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=rBM_kTpUfDk Creating resizable user interfaces] &amp;lt;small&amp;gt;&#039;&#039;(Video, 3:46)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=qvhGH0TlCqs Creating Custom Controls] &amp;lt;small&amp;gt;&#039;&#039;(Video, 5:17)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=0-B7p061la4 Creating Professional User Interfaces] &amp;lt;small&amp;gt;&#039;&#039;(Video, 48:50)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asynchronous Messaging==&lt;br /&gt;
* [https://www.youtube.com/watch?v=8DFf-9kcRcs How to use Queues in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Video, 5:27)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=9og3QbfgBu0 How to use Notifiers in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Video, 5:27)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Advanced Execution Control==&lt;br /&gt;
*[https://www.youtube.com/watch?v=dG8MaqO9c2A Launching clones of a VI] &amp;lt;small&amp;gt;&#039;&#039;(Video, 9:23)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
*[https://www.youtube.com/watch?v=tfZIJejBnXg Launching a dynamically dispatched VI programmatically] &amp;lt;small&amp;gt;&#039;&#039;(Video, 6:32)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Object-Oriented Programming (OOP) in LabVIEW==&lt;br /&gt;
* [https://www.ni.com/docs/en-US/bundle/labview/page/labview-object-oriented-programming.html LabVIEW Object-Oriented Programming] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/06/labview-object-oriented-programming--the-decisions-behind-the-de.html Decisions behind the design of OOP in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Whitepaper)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=GRDoyn1mNAI Simple Design Patterns to Improve Code Quality] &amp;lt;small&amp;gt;&#039;&#039;(Video, 51:09)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Debugging Tools==&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/12/debugging-techniques-in-labview.html Basic Debugging Tools in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=BEGFsFbJmBg Programming Patterns and Frameworks] &amp;lt;small&amp;gt;&#039;&#039;(Video, 59:45)&#039;&#039;&amp;lt;/small&amp;gt; Debugging LabVIEW Programming Patterns and Frameworks&lt;br /&gt;
* [https://www.youtube.com/watch?v=7zS3Q_K71XY Large Project Development Techniques] &amp;lt;small&amp;gt;&#039;&#039;(Video, 44:53)&#039;&#039;&amp;lt;/small&amp;gt; Debugging Large LabVIEW projects&lt;br /&gt;
* [https://www.youtube.com/watch?v=9LypMAOb21s Built in LabVIEW Debugging Tools] &amp;lt;small&amp;gt;&#039;&#039;(Video, 31:37)&#039;&#039;&amp;lt;/small&amp;gt; Utilizing debugging tools that are part of LabVIEW&lt;br /&gt;
* [https://www.youtube.com/watch?v=dTqKZmFFyw8 Run-time Code Analysis in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Video, 37:07)&#039;&#039;&amp;lt;/small&amp;gt; Utilizing run-time code analysis tools to debug LabVIEW applications&lt;br /&gt;
* [https://www.youtube.com/watch?v=HKcEYkksW_o Ludicrous Ways to Fix Broken LabVIEW Code] &amp;lt;small&amp;gt;&#039;&#039;(Video, 52:45)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Build and Deployment==&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/19/introduction-to-the-labview-application-builder.html Introduction to the LabVIEW Application Builder] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt; Building Executables (EXEs) and Installers with LabVIEW&lt;br /&gt;
&lt;br /&gt;
=LabVIEW Software Patterns=&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/22/design-considerations-in-labview-.html Design Considerations in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Whitepaper)&#039;&#039;&amp;lt;/small&amp;gt; An introduction to several concepts required for the successful design of medium-to-complex LabVIEW applications&lt;br /&gt;
&lt;br /&gt;
==State Machines==&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/16/simple-state-machine-template-documentation.html Introduction to State Machines] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=aT0obtY3PRk State Machines Tutorial] &amp;lt;small&amp;gt;&#039;&#039;(Video, 5:33)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Producer/Consumer Architecture==&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/21/producer-consumer-architecture-in-labview0.html Introduction to Producer/Consumer] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Queued Message Handlers (QMH)==&lt;br /&gt;
* [https://www.youtube.com/watch?v=-xXJt7yUEis Queued State Machine Overview] &amp;lt;small&amp;gt;&#039;&#039;(Video, 6:24)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/21/using-a-queued-message-handler-in-labview.html Introduction to Queued Message Handlers] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Event-Driven Programming==&lt;br /&gt;
* [https://www.ni.com/en-us/support/documentation/supplemental/06/event-driven-programming-in-labview.html Event Structures in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tooling and Development Processes=&lt;br /&gt;
==Configuration Management==&lt;br /&gt;
* [https://blog.sasworkshops.com/gitting-started-with-git Getting Started with git] &amp;lt;small&amp;gt;&#039;&#039;(Blog Post)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=iVRKQCDeDjc Git Setup for LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Video, 17:07)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://blog.sasworkshops.com/the-easiest-way-to-setup-lvcompare-and-lvmerge Configuring diff and merge in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Blog Post)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://learngitbranching.js.org Git command line tutorial] &amp;lt;small&amp;gt;&#039;&#039;(Interactive Webpage)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Static Code Analysis==&lt;br /&gt;
* [https://ni.adobeconnect.com/p4kis57esy9 Introduction to the VI Analyzer] &amp;lt;small&amp;gt;&#039;&#039;(Video, 41:44)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Dynamic Code Analysis and Performance Benchmarking==&lt;br /&gt;
* [https://www.youtube.com/watch?v=dHvk9OlCaAY Introduction to Dynamic Code Analysis] &amp;lt;small&amp;gt;&#039;&#039;(Video, 9:34)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=24t-D7_BmjM Quick! Drop Your VI Execution Time!] &amp;lt;small&amp;gt;&#039;&#039;(Video, 54:18)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Unit Testing==&lt;br /&gt;
* [https://www.youtube.com/watch?v=AFNbdF7ZU6s Unit Testing with JKI VI Tester] &amp;lt;small&amp;gt;&#039;&#039;(Video, 71:09)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=5l-YQsUYR9g Unit Testing with JKI Caraya] &amp;lt;small&amp;gt;&#039;&#039;(Video, 19:44)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Continuous Integration and Continuous Delivery==&lt;br /&gt;
* [https://sas-gcli-tools.gitlab.io] SAS G-CLI Tools &amp;lt;small&amp;gt;&#039;&#039;(Tutorial)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Software Design Patterns and Best Practices=&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/09/software-engineering-with-labview.html Software Engineering with LabVIEW] A collection of resources covering several aspects of software engineering and design with LabVIEW&lt;br /&gt;
&lt;br /&gt;
==Error Handling==&lt;br /&gt;
* [https://www.ni.com/docs/en-US/bundle/labview/page/handling-errors.html Error Handling Introduction] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=UlOFcmwrsBA What to Expect When You&#039;re Expecting an Error] &amp;lt;small&amp;gt;&#039;&#039;(Video, 60:20)&#039;&#039;&amp;lt;/small&amp;gt; Best practices for error generation and propagation in LabVIEW&lt;br /&gt;
&lt;br /&gt;
=Software Frameworks=&lt;br /&gt;
&lt;br /&gt;
==DQMH==&lt;br /&gt;
&lt;br /&gt;
* [https://dqmh.org/ DQMH Homepage] The official page for DQMH, the world&#039;s most popular 3rd-party framework for LabVIEW  &lt;br /&gt;
* [https://documentation.dqmh.org/dqmh DQMH Documentation] &lt;br /&gt;
* [https://wiki.dqmh.org/ DQMH Wiki] Your one-stop shop for everything you ever wanted to know about DQMH&lt;br /&gt;
* [https://www.youtube.com/@DQMHconsortium DQMH YouTube channel]&lt;br /&gt;
* [https://forums.ni.com/t5/DQMH-Consortium-Toolkits/bd-p/7120 DQMH Developer Community]NI community hub dedicated to DQMH discussions, where developers share best practices, examples, and troubleshooting tips&lt;br /&gt;
* [https://www.youtube.com/watch?v=OIAyii97moY Introduction to DQMH] &amp;lt;small&amp;gt;&#039;&#039;(Video, 51:15)&#039;&#039;&amp;lt;/small&amp;gt; An introduction to DQMH for beginners, focusing on key features and benefits of DQMH&lt;br /&gt;
* [https://dqmh.org/simplifying-your-hardware-abstraction-layer-hal-with-lvoop-and-dqmh-part-1 Hardware Abstraction Layers (HAL) and DQMH] &amp;lt;small&amp;gt;&#039;&#039;(Blog Post)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=IdqTCubXuPE DQMH Module Templates] &amp;lt;small&amp;gt;&#039;&#039;(Video, 5:14)&#039;&#039;&amp;lt;/small&amp;gt; Creating reusable DQMH module templates to speed development&lt;br /&gt;
* [https://www.youtube.com/watch?v=zXJqB2cA2nU DQMH Generic Networking] &amp;lt;small&amp;gt;&#039;&#039;(Video, 51:09)&#039;&#039;&amp;lt;/small&amp;gt; Introduction to the Generic Network (GenNet) template for implementing DQMH-based Real-Time (RT) applications&lt;br /&gt;
&lt;br /&gt;
==Actor Framework==&lt;br /&gt;
&lt;br /&gt;
* [https://labviewwiki.org/wiki/Actor_Framework Actor Framework Resources ] &amp;lt;small&amp;gt;&#039;&#039;(LabVIEW Wiki page)&#039;&#039;&amp;lt;/small&amp;gt; Resource page for Actor Framework introduction and tutorial materials.&lt;br /&gt;
* [https://www.youtube.com/watch?v=gz_6FTE1__8 The State of the Art for Actor Framework] &amp;lt;small&amp;gt;&#039;&#039;(Video, 62:32)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://forums.ni.com/t5/Actor-Framework/ct-p/7001 Actor Framework Community] A dedicated forum where LabVIEW developers discuss the Actor Framework, share use cases, and troubleshoot challenges.&lt;br /&gt;
&lt;br /&gt;
==Workers==&lt;br /&gt;
* [https://www.youtube.com/watch?v=Xyy8HLBpvjU Introduction to Workers] &amp;lt;small&amp;gt;&#039;&#039;(Video, 51:54)&#039;&#039;&amp;lt;/small&amp;gt; Introduction to the Workers framework for LabVIEW&lt;br /&gt;
&lt;br /&gt;
==Messenger==&lt;br /&gt;
* [https://www.youtube.com/watch?v=IxgSBkHu1RM Introduction to Messenger] &amp;lt;small&amp;gt;&#039;&#039;(Video, 57:03)&#039;&#039;&amp;lt;/small&amp;gt; Introduction to the Messenger framework for LabVIEW&lt;br /&gt;
&lt;br /&gt;
=Hardware and Instrumentation Connectivity=&lt;br /&gt;
&lt;br /&gt;
==DAQmx Basics==&lt;br /&gt;
* [https://www.youtube.com/watch?v=ofzbA3keOYE Taking a Measurement with DAQmx] &amp;lt;small&amp;gt;&#039;&#039;(Video, 4:55)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Instrument Control==&lt;br /&gt;
* [https://www.youtube.com/watch?v=-UUAa9UKj4E Introduction to LabVIEW for Instrument Control] &amp;lt;small&amp;gt;&#039;&#039;(Video, 8:26)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Determinism and Real-Time Execution==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JhHJMFrAa4A Getting Started with CompactRIO] &amp;lt;small&amp;gt;&#039;&#039;(Video, 8:11)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Community and Best Practices=&lt;br /&gt;
&lt;br /&gt;
==LabVIEW Style Guidelines==&lt;br /&gt;
* [https://labviewwiki.org/wiki/Style_Guide LabVIEW Wiki Style Guide]&lt;br /&gt;
* [https://dqmh.org/content/styleguide DQMH Style Guide]&lt;br /&gt;
&lt;br /&gt;
==LabVIEW Community and User Groups==&lt;br /&gt;
* [https://www.ni.com/en-us/events.html NI Events] NI Events Page&lt;br /&gt;
* [https://labviewwiki.org/wiki/Events LabVIEW Events] LabVIEW Wiki Events Page&lt;br /&gt;
&lt;br /&gt;
=Formal Training=&lt;br /&gt;
Formal training on LabVIEW is available from several providers. Offerings differ based on prior LabVIEW experience level and the preferred delivery method. Common delivery methods include: &lt;br /&gt;
&lt;br /&gt;
* In-person instructor-led&lt;br /&gt;
* Remote instructor-led (usually through a web conference)&lt;br /&gt;
* Online self-paced (usually through a combination of pre-recorded lecture videos and exercise solution videos)&lt;br /&gt;
* Self-paced with a manual  &lt;br /&gt;
&lt;br /&gt;
NI has a [https://www.ni.com/en/shop/services/education-services.html suite of courses] ranging from beginner to advanced, as well as several specialty topics such as LabVIEW Real-Time and LabVIEW Connectivity. LabVIEW training is also available through [http://www.sixclear.com/ Sixclear],  [https://www.udemy.com/topic/labview Udemy], [https://www.linkedin.com/learning/topics/labview LinkedIn] and [https://dsautomation.com/labview-fundamentals-1 DSA]. &lt;br /&gt;
&lt;br /&gt;
Recommended training courses for those with no knowledge of LabVIEW are [https://www.ni.com/en/shop/services/education-services/customer-education-courses/labview-core-1-course-overview.html NI LabVIEW Core 1] and [https://www.ni.com/en/shop/services/education-services/customer-education-courses/labview-core-2-course-overview.html NI LabVIEW Core 2] courses. All introductory courses are geared to a user with little to no LabVIEW experience and teach the proficiencies outlined by the [http://sine.ni.com/nips/cds/view/p/lang/en/nid/14438 Certified LabVIEW Associate Developer (CLAD)] exam, as well as simple data acquisition (DAQ) and instrument control.&lt;br /&gt;
&lt;br /&gt;
Common arguments justifying formal training revolve around the idea that the sum cost of developers&#039; time is greater than the cost of training because: &lt;br /&gt;
*  the LabVIEW graphical programming paradigm is appreciably different than traditional text-based programming  &lt;br /&gt;
*  costly mistakes commonly occur when moving from simple LabVIEW applications to more complex applications, especially when developing parallel loop applications (see the [https://www.ni.com/en/support/documentation/supplemental/22/design-considerations-in-labview-.html Design Considerations in LabVIEW] document for more guidance regarding this development transition.&lt;br /&gt;
&lt;br /&gt;
The DQMH Consortium offers an official [https://dqmh.org/training DQMH training course].&lt;br /&gt;
&lt;br /&gt;
NI offers an official [https://www.ni.com/en/shop/services/education-services/customer-education-courses/actor-oriented-design-in-labview-course-overview.html Actor Framework training course].&lt;br /&gt;
&lt;br /&gt;
[[Category:LabVIEW fundamentals]]&lt;br /&gt;
[[Category:Getting started]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Introduction]]&lt;/div&gt;</summary>
		<author><name>SamTaggart</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=LabVIEW_Learning_Materials&amp;diff=34759</id>
		<title>LabVIEW Learning Materials</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=LabVIEW_Learning_Materials&amp;diff=34759"/>
		<updated>2024-10-09T20:32:07Z</updated>

		<summary type="html">&lt;p&gt;SamTaggart: /* Tooling and Development Processes */ Added an entry for CI/CD&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{see also|category:LabVIEW fundamentals}}&lt;br /&gt;
&lt;br /&gt;
This page provides a recommended set of resources for LabVIEW programmers. The links are a collection of white papers, YouTube videos and formal learning content. &lt;br /&gt;
&lt;br /&gt;
=LabVIEW Programming Basics =&lt;br /&gt;
&lt;br /&gt;
==Introduction to the LabVIEW Environment==&lt;br /&gt;
* [https://www.youtube.com/watch?v=ZHNlKyYzrPE&amp;amp;list=PLB968815D7BB78F9C LabVIEW Overview] - &amp;lt;small&amp;gt;&#039;&#039;(Playlist, 40 videos)&#039;&#039;&amp;lt;/small&amp;gt; Tutorials introducing the environment, data structures, wiring, visualization and basic hardware connectivity. Note that the links to several individual videos from this long playlist are included in relevant sections below.&lt;br /&gt;
* [https://www.youtube.com/watch?v=o3II4GUfyXw&amp;amp;list=PL4EGtL-9IHCGPRC9iBWV1qbrUy0f3Sjq4 How To... in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Playlist, 13 videos)&#039;&#039;&amp;lt;/small&amp;gt; Masterclass on performing various beginner-level tasks in LabVIEW&lt;br /&gt;
&lt;br /&gt;
==Data Types &amp;amp; Structures==&lt;br /&gt;
* [https://www.youtube.com/watch?v=dvShgNdY_GE Data Types Overview] &amp;lt;small&amp;gt;&#039;&#039;(Video, 4:25)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=_GlQ1riWjPc Introduction to arrays] &amp;lt;small&amp;gt;&#039;&#039;(Video, 3:51)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=dEsVDhrdhk4 Using shift registers to save data between loop iterations] &amp;lt;small&amp;gt;&#039;&#039;(Video, 3:00)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=I7FPlLzc7D0 Overview of For Loops] &amp;lt;small&amp;gt;&#039;&#039;(Video, 7:30)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=OZbaqCgyjdM All About Collection Data Types] &amp;lt;small&amp;gt;&#039;&#039;(Video, 56:18)&#039;&#039;&amp;lt;/small&amp;gt; An in-depth introduction to Strings, Arrays, Sets, and Maps.&lt;br /&gt;
&lt;br /&gt;
==User Interface Design==&lt;br /&gt;
* [https://www.youtube.com/watch?v=eGlvOiqYVxg Using event structures to capture user interactions] &amp;lt;small&amp;gt;&#039;&#039;(Video, 8:29)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=jWWJKUpoois Introduction to Panes for UI Organization] &amp;lt;small&amp;gt;&#039;&#039;(Video, 3:54)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=nCvMLB_kH4Q Programmatically changing UI controls using property nodes] &amp;lt;small&amp;gt;&#039;&#039;(Video, 7:10)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=rBM_kTpUfDk Creating resizable user interfaces] &amp;lt;small&amp;gt;&#039;&#039;(Video, 3:46)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=qvhGH0TlCqs Creating Custom Controls] &amp;lt;small&amp;gt;&#039;&#039;(Video, 5:17)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=0-B7p061la4 Creating Professional User Interfaces] &amp;lt;small&amp;gt;&#039;&#039;(Video, 48:50)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asynchronous Messaging==&lt;br /&gt;
* [https://www.youtube.com/watch?v=8DFf-9kcRcs How to use Queues in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Video, 5:27)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=9og3QbfgBu0 How to use Notifiers in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Video, 5:27)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Advanced Execution Control==&lt;br /&gt;
*[https://www.youtube.com/watch?v=dG8MaqO9c2A Launching clones of a VI] &amp;lt;small&amp;gt;&#039;&#039;(Video, 9:23)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
*[https://www.youtube.com/watch?v=tfZIJejBnXg Launching a dynamically dispatched VI programmatically] &amp;lt;small&amp;gt;&#039;&#039;(Video, 6:32)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Object-Oriented Programming (OOP) in LabVIEW==&lt;br /&gt;
* [https://www.ni.com/docs/en-US/bundle/labview/page/labview-object-oriented-programming.html LabVIEW Object-Oriented Programming] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/06/labview-object-oriented-programming--the-decisions-behind-the-de.html Decisions behind the design of OOP in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Whitepaper)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=GRDoyn1mNAI Simple Design Patterns to Improve Code Quality] &amp;lt;small&amp;gt;&#039;&#039;(Video, 51:09)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Debugging Tools==&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/12/debugging-techniques-in-labview.html Basic Debugging Tools in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=BEGFsFbJmBg Programming Patterns and Frameworks] &amp;lt;small&amp;gt;&#039;&#039;(Video, 59:45)&#039;&#039;&amp;lt;/small&amp;gt; Debugging LabVIEW Programming Patterns and Frameworks&lt;br /&gt;
* [https://www.youtube.com/watch?v=7zS3Q_K71XY Large Project Development Techniques] &amp;lt;small&amp;gt;&#039;&#039;(Video, 44:53)&#039;&#039;&amp;lt;/small&amp;gt; Debugging Large LabVIEW projects&lt;br /&gt;
* [https://www.youtube.com/watch?v=9LypMAOb21s Built in LabVIEW Debugging Tools] &amp;lt;small&amp;gt;&#039;&#039;(Video, 31:37)&#039;&#039;&amp;lt;/small&amp;gt; Utilizing debugging tools that are part of LabVIEW&lt;br /&gt;
* [https://www.youtube.com/watch?v=dTqKZmFFyw8 Run-time Code Analysis in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Video, 37:07)&#039;&#039;&amp;lt;/small&amp;gt; Utilizing run-time code analysis tools to debug LabVIEW applications&lt;br /&gt;
* [https://www.youtube.com/watch?v=HKcEYkksW_o Ludicrous Ways to Fix Broken LabVIEW Code] &amp;lt;small&amp;gt;&#039;&#039;(Video, 52:45)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Build and Deployment==&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/19/introduction-to-the-labview-application-builder.html Introduction to the LabVIEW Application Builder] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt; Building Executables (EXEs) and Installers with LabVIEW&lt;br /&gt;
&lt;br /&gt;
=LabVIEW Software Patterns=&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/22/design-considerations-in-labview-.html Design Considerations in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Whitepaper)&#039;&#039;&amp;lt;/small&amp;gt; An introduction to several concepts required for the successful design of medium-to-complex LabVIEW applications&lt;br /&gt;
&lt;br /&gt;
==State Machines==&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/16/simple-state-machine-template-documentation.html Introduction to State Machines] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=aT0obtY3PRk State Machines Tutorial] &amp;lt;small&amp;gt;&#039;&#039;(Video, 5:33)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Producer/Consumer Architecture==&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/21/producer-consumer-architecture-in-labview0.html Introduction to Producer/Consumer] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Queued Message Handlers (QMH)==&lt;br /&gt;
* [https://www.youtube.com/watch?v=-xXJt7yUEis Queued State Machine Overview] &amp;lt;small&amp;gt;&#039;&#039;(Video, 6:24)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/21/using-a-queued-message-handler-in-labview.html Introduction to Queued Message Handlers] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Event-Driven Programming==&lt;br /&gt;
* [https://www.ni.com/en-us/support/documentation/supplemental/06/event-driven-programming-in-labview.html Event Structures in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tooling and Development Processes=&lt;br /&gt;
==Configuration Management==&lt;br /&gt;
* [https://blog.sasworkshops.com/gitting-started-with-git Getting Started with git] &amp;lt;small&amp;gt;&#039;&#039;(Blog Post)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=iVRKQCDeDjc Git Setup for LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Video, 17:07)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://blog.sasworkshops.com/the-easiest-way-to-setup-lvcompare-and-lvmerge Configuring diff and merge in LabVIEW] &amp;lt;small&amp;gt;&#039;&#039;(Blog Post)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://learngitbranching.js.org Git command line tutorial] &amp;lt;small&amp;gt;&#039;&#039;(Interactive Webpage)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Static Code Analysis==&lt;br /&gt;
* [https://ni.adobeconnect.com/p4kis57esy9 Introduction to the VI Analyzer] &amp;lt;small&amp;gt;&#039;&#039;(Video, 41:44)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Dynamic Code Analysis and Performance Benchmarking==&lt;br /&gt;
* [https://www.youtube.com/watch?v=dHvk9OlCaAY Introduction to Dynamic Code Analysis] &amp;lt;small&amp;gt;&#039;&#039;(Video, 9:34)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=24t-D7_BmjM Quick! Drop Your VI Execution Time!] &amp;lt;small&amp;gt;&#039;&#039;(Video, 54:18)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Unit Testing==&lt;br /&gt;
* [https://www.youtube.com/watch?v=AFNbdF7ZU6s Unit Testing with JKI VI Tester] &amp;lt;small&amp;gt;&#039;&#039;(Video, 71:09)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=5l-YQsUYR9g Unit Testing with JKI Caraya] &amp;lt;small&amp;gt;&#039;&#039;(Video, 19:44)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Continuous Integration and Continuous Delivery==&lt;br /&gt;
* [https://sas-gcli-tools.gitlab.io] &amp;lt;small&amp;gt;&#039;&#039;(Tutorial)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Software Design Patterns and Best Practices=&lt;br /&gt;
* [https://www.ni.com/en/support/documentation/supplemental/09/software-engineering-with-labview.html Software Engineering with LabVIEW] A collection of resources covering several aspects of software engineering and design with LabVIEW&lt;br /&gt;
&lt;br /&gt;
==Error Handling==&lt;br /&gt;
* [https://www.ni.com/docs/en-US/bundle/labview/page/handling-errors.html Error Handling Introduction] &amp;lt;small&amp;gt;&#039;&#039;(Product Documentation)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=UlOFcmwrsBA What to Expect When You&#039;re Expecting an Error] &amp;lt;small&amp;gt;&#039;&#039;(Video, 60:20)&#039;&#039;&amp;lt;/small&amp;gt; Best practices for error generation and propagation in LabVIEW&lt;br /&gt;
&lt;br /&gt;
=Software Frameworks=&lt;br /&gt;
&lt;br /&gt;
==DQMH==&lt;br /&gt;
&lt;br /&gt;
* [https://dqmh.org/ DQMH Homepage] The official page for DQMH, the world&#039;s most popular 3rd-party framework for LabVIEW  &lt;br /&gt;
* [https://documentation.dqmh.org/dqmh DQMH Documentation] &lt;br /&gt;
* [https://wiki.dqmh.org/ DQMH Wiki] Your one-stop shop for everything you ever wanted to know about DQMH&lt;br /&gt;
* [https://www.youtube.com/@DQMHconsortium DQMH YouTube channel]&lt;br /&gt;
* [https://forums.ni.com/t5/DQMH-Consortium-Toolkits/bd-p/7120 DQMH Developer Community]NI community hub dedicated to DQMH discussions, where developers share best practices, examples, and troubleshooting tips&lt;br /&gt;
* [https://www.youtube.com/watch?v=OIAyii97moY Introduction to DQMH] &amp;lt;small&amp;gt;&#039;&#039;(Video, 51:15)&#039;&#039;&amp;lt;/small&amp;gt; An introduction to DQMH for beginners, focusing on key features and benefits of DQMH&lt;br /&gt;
* [https://dqmh.org/simplifying-your-hardware-abstraction-layer-hal-with-lvoop-and-dqmh-part-1 Hardware Abstraction Layers (HAL) and DQMH] &amp;lt;small&amp;gt;&#039;&#039;(Blog Post)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/watch?v=IdqTCubXuPE DQMH Module Templates] &amp;lt;small&amp;gt;&#039;&#039;(Video, 5:14)&#039;&#039;&amp;lt;/small&amp;gt; Creating reusable DQMH module templates to speed development&lt;br /&gt;
* [https://www.youtube.com/watch?v=zXJqB2cA2nU DQMH Generic Networking] &amp;lt;small&amp;gt;&#039;&#039;(Video, 51:09)&#039;&#039;&amp;lt;/small&amp;gt; Introduction to the Generic Network (GenNet) template for implementing DQMH-based Real-Time (RT) applications&lt;br /&gt;
&lt;br /&gt;
==Actor Framework==&lt;br /&gt;
&lt;br /&gt;
* [https://labviewwiki.org/wiki/Actor_Framework Actor Framework Resources ] &amp;lt;small&amp;gt;&#039;&#039;(LabVIEW Wiki page)&#039;&#039;&amp;lt;/small&amp;gt; Resource page for Actor Framework introduction and tutorial materials.&lt;br /&gt;
* [https://www.youtube.com/watch?v=gz_6FTE1__8 The State of the Art for Actor Framework] &amp;lt;small&amp;gt;&#039;&#039;(Video, 62:32)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* [https://forums.ni.com/t5/Actor-Framework/ct-p/7001 Actor Framework Community] A dedicated forum where LabVIEW developers discuss the Actor Framework, share use cases, and troubleshoot challenges.&lt;br /&gt;
&lt;br /&gt;
==Workers==&lt;br /&gt;
* [https://www.youtube.com/watch?v=Xyy8HLBpvjU Introduction to Workers] &amp;lt;small&amp;gt;&#039;&#039;(Video, 51:54)&#039;&#039;&amp;lt;/small&amp;gt; Introduction to the Workers framework for LabVIEW&lt;br /&gt;
&lt;br /&gt;
==Messenger==&lt;br /&gt;
* [https://www.youtube.com/watch?v=IxgSBkHu1RM Introduction to Messenger] &amp;lt;small&amp;gt;&#039;&#039;(Video, 57:03)&#039;&#039;&amp;lt;/small&amp;gt; Introduction to the Messenger framework for LabVIEW&lt;br /&gt;
&lt;br /&gt;
=Hardware and Instrumentation Connectivity=&lt;br /&gt;
&lt;br /&gt;
==DAQmx Basics==&lt;br /&gt;
* [https://www.youtube.com/watch?v=ofzbA3keOYE Taking a Measurement with DAQmx] &amp;lt;small&amp;gt;&#039;&#039;(Video, 4:55)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Instrument Control==&lt;br /&gt;
* [https://www.youtube.com/watch?v=-UUAa9UKj4E Introduction to LabVIEW for Instrument Control] &amp;lt;small&amp;gt;&#039;&#039;(Video, 8:26)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Determinism and Real-Time Execution==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JhHJMFrAa4A Getting Started with CompactRIO] &amp;lt;small&amp;gt;&#039;&#039;(Video, 8:11)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Community and Best Practices=&lt;br /&gt;
&lt;br /&gt;
==LabVIEW Style Guidelines==&lt;br /&gt;
* [https://labviewwiki.org/wiki/Style_Guide LabVIEW Wiki Style Guide]&lt;br /&gt;
* [https://dqmh.org/content/styleguide DQMH Style Guide]&lt;br /&gt;
&lt;br /&gt;
==LabVIEW Community and User Groups==&lt;br /&gt;
* [https://www.ni.com/en-us/events.html NI Events] NI Events Page&lt;br /&gt;
* [https://labviewwiki.org/wiki/Events LabVIEW Events] LabVIEW Wiki Events Page&lt;br /&gt;
&lt;br /&gt;
=Formal Training=&lt;br /&gt;
Formal training on LabVIEW is available from several providers. Offerings differ based on prior LabVIEW experience level and the preferred delivery method. Common delivery methods include: &lt;br /&gt;
&lt;br /&gt;
* In-person instructor-led&lt;br /&gt;
* Remote instructor-led (usually through a web conference)&lt;br /&gt;
* Online self-paced (usually through a combination of pre-recorded lecture videos and exercise solution videos)&lt;br /&gt;
* Self-paced with a manual  &lt;br /&gt;
&lt;br /&gt;
NI has a [https://www.ni.com/en/shop/services/education-services.html suite of courses] ranging from beginner to advanced, as well as several specialty topics such as LabVIEW Real-Time and LabVIEW Connectivity. LabVIEW training is also available through [http://www.sixclear.com/ Sixclear],  [https://www.udemy.com/topic/labview Udemy], [https://www.linkedin.com/learning/topics/labview LinkedIn] and [https://dsautomation.com/labview-fundamentals-1 DSA]. &lt;br /&gt;
&lt;br /&gt;
Recommended training courses for those with no knowledge of LabVIEW are [https://www.ni.com/en/shop/services/education-services/customer-education-courses/labview-core-1-course-overview.html NI LabVIEW Core 1] and [https://www.ni.com/en/shop/services/education-services/customer-education-courses/labview-core-2-course-overview.html NI LabVIEW Core 2] courses. All introductory courses are geared to a user with little to no LabVIEW experience and teach the proficiencies outlined by the [http://sine.ni.com/nips/cds/view/p/lang/en/nid/14438 Certified LabVIEW Associate Developer (CLAD)] exam, as well as simple data acquisition (DAQ) and instrument control.&lt;br /&gt;
&lt;br /&gt;
Common arguments justifying formal training revolve around the idea that the sum cost of developers&#039; time is greater than the cost of training because: &lt;br /&gt;
*  the LabVIEW graphical programming paradigm is appreciably different than traditional text-based programming  &lt;br /&gt;
*  costly mistakes commonly occur when moving from simple LabVIEW applications to more complex applications, especially when developing parallel loop applications (see the [https://www.ni.com/en/support/documentation/supplemental/22/design-considerations-in-labview-.html Design Considerations in LabVIEW] document for more guidance regarding this development transition.&lt;br /&gt;
&lt;br /&gt;
The DQMH Consortium offers an official [https://dqmh.org/training DQMH training course].&lt;br /&gt;
&lt;br /&gt;
NI offers an official [https://www.ni.com/en/shop/services/education-services/customer-education-courses/actor-oriented-design-in-labview-course-overview.html Actor Framework training course].&lt;br /&gt;
&lt;br /&gt;
[[Category:LabVIEW fundamentals]]&lt;br /&gt;
[[Category:Getting started]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Introduction]]&lt;/div&gt;</summary>
		<author><name>SamTaggart</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=GLA_Summit_2024/Untangling_Legacy_Code_with_Approval_Testing&amp;diff=32724</id>
		<title>GLA Summit 2024/Untangling Legacy Code with Approval Testing</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=GLA_Summit_2024/Untangling_Legacy_Code_with_Approval_Testing&amp;diff=32724"/>
		<updated>2024-05-08T14:55:43Z</updated>

		<summary type="html">&lt;p&gt;SamTaggart: Updated&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Untangling Legacy Code with Approval Testing&#039;&#039;&#039; by Samuel Taggart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;I will go through the Gilded Rose Kata using Approval Tests. I&#039;ll show how to use combination testing to make sure you hit all code paths and I&#039;ll also show off a few refactoring techniques.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&amp;lt;youtube width=&amp;quot;800&amp;quot; height=&amp;quot;600&amp;quot;&amp;gt;4wyVlJRU60M&amp;lt;/youtube&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Presentation Links==&lt;br /&gt;
* [https://youtu.be/4wyVlJRU60M Presentation on YouTube]&lt;br /&gt;
* [https://gitlab.com/sas-lv-katas/gilded-rose Gilded Rose Kata Starting Code]&lt;br /&gt;
* [https://www.vipm.io/package/sas_lib_approval_tests/ LV Approvals on VIPM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{ambox|text=Add links to other internal LabVIEW Wiki pages about this topic}}&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
* [https://approvaltests.com/ Approval Tests]&lt;br /&gt;
* [https://github.com/approvals/ApprovalTests.LabVIEW LabVIEW Approvals GitHub]&lt;br /&gt;
* [https://gitlab.com/sas-lv-katas Collection LabVIEW Refactoring Katas]&lt;br /&gt;
&lt;br /&gt;
[[Category:GLA Summit 2024]]&lt;/div&gt;</summary>
		<author><name>SamTaggart</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Set_up_differencing_capabilities&amp;diff=31922</id>
		<title>Set up differencing capabilities</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Set_up_differencing_capabilities&amp;diff=31922"/>
		<updated>2023-02-13T21:17:31Z</updated>

		<summary type="html">&lt;p&gt;SamTaggart: I added a link to my easy setup for Git.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Easy Setup For Git ==&lt;br /&gt;
The easiest way to setup LVCompare and LVMerge for use with Git is to copy/paste the following into Git Bash&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;cd &amp;amp;&amp;amp; git clone https://gitlab.com/sas-blog/LVCompare-Merge-Setup.git &amp;amp;&amp;amp; cd LVCompare-Merge-Setup &amp;amp;&amp;amp; ./setupLVTools.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will clone a repo and run a shell script to set everything up. You can read more about it here:&lt;br /&gt;
https://blog.sasworkshops.com/the-easiest-way-to-setup-lvcompare-and-lvmerge/&lt;br /&gt;
&lt;br /&gt;
After that, you can use the difftool command in Git Bash to view diffs or use your favorite Git GUI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are several methods setting up differencing LabVIEW VIs with subversion.  A new feature in LabVIEW 2009 in the program LVCompare.exe which allows graphical differencing from the command line.  In older versions, TortoiseSVN can be coupled with the open source LVDiff to achieve the same goal.&lt;br /&gt;
&lt;br /&gt;
== LVCompare.exe National Instruments Documentation ==&lt;br /&gt;
This documentation describes the options you can pass to LVCompare.exe. For example, you can instruct LVCompare.exe to ignore changes in the position of front panel objects by pass in &amp;quot;-nofppos&amp;quot;. For the full set of documentation please refer to the link below:&lt;br /&gt;
[http://zone.ni.com/reference/en-XX/help/371361R-01/lvhowto/configlvcomp_thirdparty/ LVCompare.exe from National Instruments]&lt;br /&gt;
&lt;br /&gt;
== Using LVCompare.exe and svn CLI ==&lt;br /&gt;
From the command line, subversion cannot normally compare binary files such as vis.  The svn diff command has a switch --diff-cmd to allow an external differencing engine to be used.  This will be leveraged to used LVComare to operate on vis.&lt;br /&gt;
&lt;br /&gt;
To use LVCompare.exe with subversion in the command line, first add &amp;quot;C:\Program Files\National Instruments\Shared\LabVIEW Compare&amp;quot; to your system PATH variable (this allows the command prompt to find LVcompare.exe).&lt;br /&gt;
&lt;br /&gt;
The output of the diff command is quite complicated (from [http://subversion.tigris.org/faq.html#diff-cmd] subversion FAQ):&lt;br /&gt;
&amp;lt;blockquote&amp;gt;When using an external diff command, Subversion builds a fairly complicated command line. First is the specified --diff-cmd. Next comes the specified --extensions (although empty --extensions are ignored), or &#039;-u&#039; if --extensions is unspecified (or specified as &#039;&#039;). Third and fourth, Subversion passes a &#039;-L&#039; and the first file&#039;s label (e.g. &amp;quot;project_issues.html (revision 11209)&amp;quot;). Fifth and sixth are another &#039;-L&#039; and the second label. Seventh and eighth are the first and second file names (e.g. &amp;quot;.svn/text-base/project_issues.html.svn-base&amp;quot; and &amp;quot;.svn/tmp/project_issues.html.tmp&amp;quot;).&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
If your preferred diff command does not support these arguments, you may need to create a small wrapper script to discard arguments and just use the last couple file paths.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Warning: Beware that Subversion does not expect the external diff program to change the files it receives, and doing so may scramble the working copy.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
On windows, this wrapper is easy to create. Save the following file as LVdiff.bat in the same directory as LVCompare.exe.  This formulates the LVCompare command correctly.&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
@ECHO OFF&amp;lt;br/&amp;gt;&lt;br /&gt;
lvcompare &amp;quot;%cd%\%~7&amp;quot; &amp;quot;%cd%\%~6&amp;quot;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Then, to execute the diff, use the following command:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
svn diff --diff-cmd LVdiff.bat --force CHANGED.vi&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
where CHANGED.vi is the one you want to diff.&lt;br /&gt;
&lt;br /&gt;
IMPORTANT: As stated in the FAQ, subversion does not expect diff to make any changes, so make sure not to save the text-base vi.&lt;br /&gt;
&lt;br /&gt;
== Using LVCompare.exe and TortoiseSVN ==&lt;br /&gt;
For users of the TortoiseSVN client and LabVIEW 2009, it is also possible extend TortoiseSVN&#039;s built-in differencing functionality to allow VIs to be compared from a simple Windows Explorer right-click menu using LVCompare.exe. This can be achieved by adding an entry for .VI files to the &amp;quot;Advanced&amp;quot; list of TortoiseSVN&#039;s Diff settings with the following syntax&amp;lt;ref&amp;gt;http://zone.ni.com/devzone/cda/tut/p/id/9407&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;quot;C:\Program Files\National Instruments\Shared\LabVIEW Compare\LVCompare.exe&amp;quot; %base %mine&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
(from [http://zone.ni.com/devzone/cda/tut/p/id/9407] Command-Line Graphical Differencing of VIs)&lt;br /&gt;
&lt;br /&gt;
== Using TortoiseSVN and LVDiff for VIs ==&lt;br /&gt;
TortoiseSVN has its own program (TortoiseMerge) to show the differences between two different versions of a file.  This works well with text files but since LabVIEW VIs are binary files it is advantageous to use LabVIEW&#039;s graphical differencing capabilities.&lt;br /&gt;
&lt;br /&gt;
The professional version of LabVIEW has a &amp;quot;CMP Compare two VIs.vi&amp;quot; in the ...\LabVIEW x.x\project\procmphier.llb library.&lt;br /&gt;
&lt;br /&gt;
The open-source &amp;quot;LVDiff&amp;quot; tool (see [http://meta-diff.sourceforge.net/] for the main download but download the updated &amp;quot;lvdiff.vi&amp;quot; from the link here [http://forums.ni.com/ni/board/message?board.id=170&amp;amp;message.id=354286&amp;amp;requireLogin=False] since the version currently in the .zip file does not work with VIs in libraries) provides a wrapper to call this VI.&lt;br /&gt;
&lt;br /&gt;
Be sure to update the paths in the .lvdiff file.&lt;br /&gt;
&lt;br /&gt;
Open Windows Explorer.&amp;lt;br /&amp;gt;&lt;br /&gt;
Right-click on a directory and select &amp;quot;TortoiseSVN...Settings&amp;quot; from the pop-up menu.&amp;lt;br /&amp;gt;&lt;br /&gt;
Under &amp;quot;External Programs&amp;quot; select &amp;quot;Diff Viewer&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:DiffViewerPageNew2.png]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Click on the &amp;quot;Advanced...&amp;quot; button and add a &amp;quot;.vi&amp;quot; extension with the &amp;quot;External Program&amp;quot; pointing to &amp;quot;lvdiff.exe&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:SettingUpLVDiff.png]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To compare a file with the previous version in the repository right-click on the file in Windows explorer and select &amp;quot;TortoiseSVN...Diff with previous version&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Using SourceTree and LVDiff for VIs ==&lt;br /&gt;
You can invoke LVCompare.exe from Atlassian SourceTree by using the application found here: [https://github.com/smithed/vicompare VI Compare].&lt;br /&gt;
Set up SourceTree using the steps below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Go To Tools&amp;gt;&amp;gt;Options || &lt;br /&gt;
[[File:Tools,options.png]]&lt;br /&gt;
|-&lt;br /&gt;
| Select &amp;quot;Diff&amp;quot;. Then Select &amp;quot;Custom&amp;quot; for External Diff Tool and Merge tool || &lt;br /&gt;
[[File:2019-07-29 11h45 51.png]]&lt;br /&gt;
|-&lt;br /&gt;
| Navigate to the installed executables. Specify  &amp;lt;&amp;quot;$LOCAL&amp;quot; &amp;quot;$REMOTE&amp;quot;&amp;gt; for Diff Command Arguments and &amp;lt;&amp;quot;$BASE&amp;quot; &amp;quot;$REMOTE&amp;quot; &amp;quot;$LOCAL&amp;quot; &amp;quot;$MERGED&amp;quot;&amp;gt; for Merge Command Arguments || &lt;br /&gt;
[[File:2019-07-29 11h46 08.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:SCC]]&lt;br /&gt;
[[Category:SVN]]&lt;/div&gt;</summary>
		<author><name>SamTaggart</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=List_of_LabVIEW_blogs&amp;diff=31782</id>
		<title>List of LabVIEW blogs</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=List_of_LabVIEW_blogs&amp;diff=31782"/>
		<updated>2022-06-01T22:54:04Z</updated>

		<summary type="html">&lt;p&gt;SamTaggart: updated SAS Workshops link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Description !! Start Year !! Status&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.youtube.com/c/TomsLabVIEWAdventure/featured  Tom&#039;s LabVIEW adventure Videos] || Lots LabVIEW tutorial videos by Tom Mc Quillan&#039;s || 2018 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.youtube.com/c/RashidMalik-LabVIEW  Rashid Malik Videos] || LabVIEW Technical videos step by step|| 2007 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://forums.ni.com/t5/NI-Blog/bg-p/4001 NI&#039;s Blog] || NI&#039;s official blog, updated very frequently with news from NI || 2009 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.hampel-soft.com/blog/ Hampel Software Engineering] || Hampel Software Engineering&#039;s &amp;amp; Joerg Hampel&#039;s Blog || 2016 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.youtube.com/watch?v=RTibavLOtPU&amp;amp;list=PL4Jk-55f8gKi-i9PLvIIKzpYE3vvVLvVs CodingMastery LabVIEW Tutorial] || LabVIEW &amp;amp; NI tutorial Videos || 2020 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://blog.sasworkshops.com SAS Workshops] || Sam Taggart&#039;s Blog on various software engineering topics related to LabVIEW and philosophy of coding. || 2015 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.dmcinfo.com/latest-thinking/blog/articletype/categoryview/categoryid/6/labview DMC Blog] || LabVIEW category of DMC&#039;s official blog || 2009 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://forums.ni.com/t5/Random-Ramblings-on-LabVIEW/bg-p/4012 Steve Watts Random Ramblings on LabVIEW Design] || R﻿andom Ramblings says it all but often good insight into designs and discussions we don&#039;t think about but should question why we use them and ho﻿﻿w || 2012 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://nihistory.com/ Living History of NI] || A Living History of NI by Carsten Thomsen || 2021 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://thelvlab.wixsite.com/thelabviewlab The LabVIEW Lab] || Eric Maussion﻿&#039;s blog﻿ || 2018 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.digiajay.com/category/blog/labview/ Ajay Blog] || Ajayvignesh&#039;s LabVI﻿EW blog﻿ || 2016 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.winemantech.com/blog/topic/labview Wineman Technology Blog] || LabVIEW category of Wineman&#039;s official blog || 2015 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://blog.jki.net/topic/labview JKI Blog] || Blog often highlighting JKI&#039;s activity including VIPM and other LabVIEW tips || 2009 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [http://devs.wiresmithtech.com/ Wiresmith] ||This is the developer blog for Wiresmith Technology, a National Instruments Alliance Partner who specialise in completing the toughest projects in LabVIEW. Here you will find the latest and greatest tips &amp;amp; techniques that we have worked on in LabVIEW and associated technologies. || 2014 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://delacor.com/blog/ Delacor Blog] || At Delacor, our focus is helping customers develop successful applications with LabVIEW. We have experience with virtual instrumentation, software engineering, and precision measurements. We either deliver turn-key solutions, or we integrate ourselves with your team and use our extensive experience to mentor them with the goal of getting the team to become self-sufficient. Our software engineers hold the highest levels of certification for LabVIEW. We have been individually recognized by National Instruments as key technology experts who help and inspire others to grow their LabVIEW skills. || 2015 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [http://hooovahh.blogspot.com/search/label/LabVIEW Hooovahh&#039;s Blog] || Brian Hoover&#039;s blog focusing on LabVIEW and CAN || 2017 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.bloomy.com/support/blog/blog-category/labview Bloomy&#039;s Blog] || LabVIEW category of Bloomy&#039;s official blog || 2014 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.labviewcraftsmen.com/ LabVIEW Craftsmen] || Hi my name is Jon McBee, thanks for reading my blog.  I have been using LabVIEW to solve interesting problems since 2004, dating back to LabVIEW 7.1.  Like most people in the LabVIEW community I started my professional life outside the bounds of computer science and happened into learning LabVIEW out of coincidence.  Needless to say, I loved how LabVIEW empowered me to solve problems with software and have never looked back. This blog is dedicated to a few ideas that I have grown to hold to dear; Software Craftsmanship, Agile Software Development, and bringing ideas from the Computer Science world into the LabVIEW ecosystem.  I find that keeping these ideas in mind helps me to write simple software that can solve complex problems, and that&#039;s powerful.  I have listed a few resources on the Resources page that align with these principles. || 2015 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://mgi.gitlab.io/articles/ MGI Blog] || Moore Good Ideas b﻿log || 2008 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [http://blog.eyesonvis.com/ Eyes on VIs] || Christina Rogers blog often focusing on LabVIEW&#039;s visual design UI&#039;s and UX&#039;s || 2010 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [http://qcontrolsqsi.blogspot.com/ QControls] || Blog series on QContro﻿ls, an open alternative to XC﻿ontrol﻿s﻿ || 2017 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.walkingthewires.com/ Walking The Wires] || Chris Roebuck&#039;s Blog || 2014 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://boringengineer.com/category/ni-labview/ Boring Engineer] || Navin Subramani&#039;s Blog, Boring Engineer || 2018 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://felipekb.wordpress.com/ Felipe&#039;s Thoughts] || A simple blog from a LabVIEW developer for sharing code and insights || 2020 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://devs.wiresmithtech.com/ Wiresmith Technology Developers] || This LabVIEW blog provides advice on development best practices and tips from the experts at Wiresmith Technology. || 2014 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://kosist.org/ Kosist blog] || Yet another (LabVIEW) blog. || 2017 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [http://blog.sixclear.com VI High] || VI High is the LabVIEW Programming Video Blog presented by Sixclear. Most episodes are composed of common LabVIEW questions and techniques geared to beginner and intermediate developers. || 2010 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://savvytestengineer.blogspot.com/ The Savvy Test Engineer] || Greg Dudgeon - This blog covers test engineering topics that interest me.  About 25% of the time I discuss LabVIEW in one form or another. || 2007 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://labviewartisan.blogspot.com/ LabVIEW Artisan] || Darren Nattinger&#039;s LabVIEW blog often highlighting lesser known features of LabVIEW || 2008 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://culverson.com/category/lab-view/ Culverson Software&#039;s Blog] || LabV﻿IEW category of Steve Bird&#039;s Blog || 2009 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://themacview.blogspot.com The Mac View] || Marc - Virtual Instrumentation from a Mac perspective || 2005 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://vishots.com/labview VI Shots] || Michael Aivaliotis continues to build automated test systems for various industries since 1993. VI Shots brings you the latest news from the world of test, measurement and automation. You will find reviews, videos and insights not found anywhere else. || 2007 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://mylabviewtshare.wordpress.com/ VIve LabVIEW] || Ezequiel Gonzalez - Newbie LabVIEW notes in Spanish. || 2009 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://lvtechspeak.blogspot.com Technically Speaking] || This blog is shared among several technical writers/managers in the LabVIEW group. We post our views and insight on processes, new technologies that we think are cool, and other things we decide to write about. || 2005 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://openmeas.blogspot.com/ Open Measurements] || Brian Powell - I&#039;m a software architect on the LabVIEW R&amp;amp;amp;D team at National Instruments. || 2006 || inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://emertech.blogspot.com Emerging Technologies for Virtual Instrumentation] || Hall T. Martin - I investigate emerging technologies and apply them to the world of virtual instrumentation. || 2004 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://ideasinwiring.blogspot.com Ideas in Wiring] || Joel Sumner - This is my storehouse of information that might be useful to the LabVIEW community. It&#039;s the stuff that falls somewhere between &amp;quot;documentation&amp;quot; and &amp;quot;hallway conversation&amp;quot; that you might find useful, entertaining, or just a way to kill some time. As with any personal Blog, I don&#039;t speak for NI, that would be way more pressure than I want to deal with. I like hearing from you. || 2005 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://synergyenergy.blogspot.com/ Synergy Energy] || Pavan Bathla - For integrated design, simulation, test &amp;amp;amp; measurement. Experiences of an Aerospace and Defense industry engineer. My main focus is test automation &amp;amp;amp; simulation, using technologies such as LabVIEW, RTOS, FPGA, ADCs... Multi-disciplinary engineering topics, philosophy &amp;amp;amp; economics always catch my attention. || 2006 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://detritus.blogs.com/lycangeek/ Lycangeek] || And now a word from Brian Tyler || 2006 || Inactive&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Lists]]&lt;br /&gt;
[[Category:Blogs]]&lt;br /&gt;
[[Category:LabVIEW ecosystem]]&lt;/div&gt;</summary>
		<author><name>SamTaggart</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=GDevCon_North_America_2021&amp;diff=31575</id>
		<title>GDevCon North America 2021</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=GDevCon_North_America_2021&amp;diff=31575"/>
		<updated>2022-02-05T00:06:09Z</updated>

		<summary type="html">&lt;p&gt;SamTaggart: added Youtube Playlist&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  [[Events|Events Home]] | &#039;&#039;&#039;GDevCon N.A. 2021&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:GDevConNA2021.png|900px|frameless|center]]&lt;br /&gt;
&lt;br /&gt;
{{TOCright}}&lt;br /&gt;
== Links ==&lt;br /&gt;
*[https://gdevconna.org/ GDevCon N.A. Website]&lt;br /&gt;
*[https://www.youtube.com/playlist?list=PLzUi5zT29mBOhKNBPKZE9GnlmLo10S63_ YouTube Playlist]&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
=== Wednesday, 20&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; October 2021 ===&lt;br /&gt;
* &#039;&#039;&#039;Introduction to the Conference&#039;&#039;&#039; by Sam Taggart, Ed Dickens, Jeremy Marquis, Bill Welch, and Jeff DeBur&lt;br /&gt;
* &#039;&#039;&#039;[[GDevCon North America 2021/The mind behind the prime, putting a brain at the heart of the DQMH|The mind behind the prime, putting a brain at the heart of the DQMH]]&#039;&#039;&#039; by Norm Kirchner and Darren Nattinger&lt;br /&gt;
* &#039;&#039;&#039;[[GDevCon North America 2021/Architectural Regrets: Refactoring vs. Rewrite|Architectural Regrets: Refactoring vs. Rewrite]]&#039;&#039;&#039; by Brian Powell&lt;br /&gt;
* &#039;&#039;&#039;[[GDevCon North America 2021/Practical Framework Abstractions - Maintaining Legacy Applications|Practical Framework Abstractions - Maintaining Legacy Applications]]&#039;&#039;&#039; by Paul Ross&lt;br /&gt;
* &#039;&#039;&#039;[[GDevCon North America 2021/Solutions Architect|Solutions Architect]]&#039;&#039;&#039; by Nancy Henson&lt;br /&gt;
* &#039;&#039;&#039;[[GDevCon North America 2021/LabVIEW NXG Lessons Learned|LabVIEW NXG Lessons Learned]]&#039;&#039;&#039; by Eric Reffett&lt;br /&gt;
* &#039;&#039;&#039;[[GDevCon North America 2021/Painless Data Distribution in Actor Framework Using Interfaces|Painless Data Distribution in Actor Framework Using Interfaces]]&#039;&#039;&#039; by Casey May&lt;br /&gt;
* &#039;&#039;&#039;[[GDevCon North America 2021/Using SytemLink to Manage LabVIEW and TestStand Deployments|Using SytemLink to Manage LabVIEW and TestStand Deployments]]&#039;&#039;&#039; by John Giannangeli&lt;br /&gt;
&lt;br /&gt;
=== Thursday, 21&amp;lt;sup&amp;gt;st&amp;lt;/sup&amp;gt; October 2021 ===&lt;br /&gt;
* &#039;&#039;&#039;[[GDevCon North America 2021/Per-Project Package Installation and Configuration Management with VIPM and Dragon|Per-Project Package Installation and Configuration Management with VIPM and Dragon]]&#039;&#039;&#039; by Jim Kring&lt;br /&gt;
* &#039;&#039;&#039;[[GDevCon North America 2021/Good LabVIEW Habits|Good LabVIEW Habits]]&#039;&#039;&#039; by Brian Powell&lt;br /&gt;
* &#039;&#039;&#039;[[GDevCon North America 2021/A Practical Demonstration on Using Interfaces for Class Configuration|A Practical Demonstration on Using Interfaces for Class Configuration]]&#039;&#039;&#039; by Hope Harrison&lt;br /&gt;
* &#039;&#039;&#039;[[GDevCon North America 2021/The Error of Our Ways|The Error of Our Ways]]&#039;&#039;&#039; by Stephen Loftus-Mercer&lt;br /&gt;
* &#039;&#039;&#039;[[GDevCon North America 2021/Reduce Technical Debt Through Better Software Package Design|Reduce Technical Debt Through Better Software Package Design]]&#039;&#039;&#039; by Allen Smith&lt;br /&gt;
* &#039;&#039;&#039;[[GDevCon North America 2021/What comes next for LabVIEW|What comes next for LabVIEW]]&#039;&#039;&#039; by Eric Reffett&lt;br /&gt;
* &#039;&#039;&#039;[[GDevCon North America 2021/GCentral&#039;s G Idea Exchange|GCentral&#039;s G Idea Exchange]]&#039;&#039;&#039; by [[Quentin &amp;quot;Q&amp;quot; Alldredge (LabVIEW Champion)|Quentin &amp;quot;Q&amp;quot; Alldredge]]&lt;br /&gt;
* &#039;&#039;&#039;Closing&#039;&#039;&#039; by Sam Taggart, Ed Dickens, Jeremy Marquis, and Bill Welch&lt;br /&gt;
&lt;br /&gt;
[[Category:GDevCon N.A.]]&lt;/div&gt;</summary>
		<author><name>SamTaggart</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=List_of_LabVIEW_blogs&amp;diff=31574</id>
		<title>List of LabVIEW blogs</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=List_of_LabVIEW_blogs&amp;diff=31574"/>
		<updated>2022-02-04T23:37:51Z</updated>

		<summary type="html">&lt;p&gt;SamTaggart: updated System Automation Solutions to SAS Workshops&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Description !! Start Year !! Status&lt;br /&gt;
|-&lt;br /&gt;
| [https://forums.ni.com/t5/NI-Blog/bg-p/4001 NI&#039;s Blog] || NI&#039;s official blog, updated very frequently with news from NI || 2009 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.hampel-soft.com/blog/ Hampel Software Engineering] || Hampel Software Engineering&#039;s &amp;amp; Joerg Hampel&#039;s Blog || 2016 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.youtube.com/watch?v=RTibavLOtPU&amp;amp;list=PL4Jk-55f8gKi-i9PLvIIKzpYE3vvVLvVs CodingMastery LabVIEW Tutorial] || LabVIEW &amp;amp; NI tutorial Videos || 2020 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://sasworkshops.com/blog/ SAS Workshops] || Sam Taggart&#039;s Blog on various software engineering topics related to LabVIEW and philosophy of coding. || 2015 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.dmcinfo.com/latest-thinking/blog/articletype/categoryview/categoryid/6/labview DMC Blog] || LabVIEW category of DMC&#039;s official blog || 2009 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://forums.ni.com/t5/Random-Ramblings-on-LabVIEW/bg-p/4012 Steve Watts Random Ramblings on LabVIEW Design] || R﻿andom Ramblings says it all but often good insight into designs and discussions we don&#039;t think about but should question why we use them and ho﻿﻿w || 2012 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://thelvlab.wixsite.com/thelabviewlab The LabVIEW Lab] || Eric Maussion﻿&#039;s blog﻿ || 2018 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.digiajay.com/category/blog/labview/ Ajay Blog] || Ajayvignesh&#039;s LabVI﻿EW blog﻿ || 2016 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.winemantech.com/blog/topic/labview Wineman Technology Blog] || LabVIEW category of Wineman&#039;s official blog || 2015 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://blog.jki.net/topic/labview JKI Blog] || Blog often highlighting JKI&#039;s activity including VIPM and other LabVIEW tips || 2009 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [http://devs.wiresmithtech.com/ Wiresmith] ||This is the developer blog for Wiresmith Technology, a National Instruments Alliance Partner who specialise in completing the toughest projects in LabVIEW. Here you will find the latest and greatest tips &amp;amp; techniques that we have worked on in LabVIEW and associated technologies. || 2014 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://delacor.com/blog/ Delacor Blog] || At Delacor, our focus is helping customers develop successful applications with LabVIEW. We have experience with virtual instrumentation, software engineering, and precision measurements. We either deliver turn-key solutions, or we integrate ourselves with your team and use our extensive experience to mentor them with the goal of getting the team to become self-sufficient. Our software engineers hold the highest levels of certification for LabVIEW. We have been individually recognized by National Instruments as key technology experts who help and inspire others to grow their LabVIEW skills. || 2015 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [http://hooovahh.blogspot.com/search/label/LabVIEW Hooovahh&#039;s Blog] || Brian Hoover&#039;s blog focusing on LabVIEW and CAN || 2017 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.bloomy.com/support/blog/blog-category/labview Bloomy&#039;s Blog] || LabVIEW category of Bloomy&#039;s official blog || 2014 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.labviewcraftsmen.com/ LabVIEW Craftsmen] || Hi my name is Jon McBee, thanks for reading my blog.  I have been using LabVIEW to solve interesting problems since 2004, dating back to LabVIEW 7.1.  Like most people in the LabVIEW community I started my professional life outside the bounds of computer science and happened into learning LabVIEW out of coincidence.  Needless to say, I loved how LabVIEW empowered me to solve problems with software and have never looked back. This blog is dedicated to a few ideas that I have grown to hold to dear; Software Craftsmanship, Agile Software Development, and bringing ideas from the Computer Science world into the LabVIEW ecosystem.  I find that keeping these ideas in mind helps me to write simple software that can solve complex problems, and that&#039;s powerful.  I have listed a few resources on the Resources page that align with these principles. || 2015 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://mgi.gitlab.io/articles/ MGI Blog] || Moore Good Ideas b﻿log || 2008 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [http://blog.eyesonvis.com/ Eyes on VIs] || Christina Rogers blog often focusing on LabVIEW&#039;s visual design UI&#039;s and UX&#039;s || 2010 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [http://qcontrolsqsi.blogspot.com/ QControls] || Blog series on QContro﻿ls, an open alternative to XC﻿ontrol﻿s﻿ || 2017 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.walkingthewires.com/ Walking The Wires] || Chris Roebuck&#039;s Blog || 2014 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://boringengineer.com/category/ni-labview/ Boring Engineer] || Navin Subramani&#039;s Blog, Boring Engineer || 2018 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://felipekb.wordpress.com/ Felipe&#039;s Thoughts] || A simple blog from a LabVIEW developer for sharing code and insights || 2020 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://devs.wiresmithtech.com/ Wiresmith Technology Developers] || This LabVIEW blog provides advice on development best practices and tips from the experts at Wiresmith Technology. || 2014 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://kosist.org/ Kosist blog] || Yet another (LabVIEW) blog. || 2017 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [http://blog.sixclear.com VI High] || VI High is the LabVIEW Programming Video Blog presented by Sixclear. Most episodes are composed of common LabVIEW questions and techniques geared to beginner and intermediate developers. || 2010 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://savvytestengineer.blogspot.com/ The Savvy Test Engineer] || Greg Dudgeon - This blog covers test engineering topics that interest me.  About 25% of the time I discuss LabVIEW in one form or another. || 2007 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://labviewartisan.blogspot.com/ LabVIEW Artisan] || Darren Nattinger&#039;s LabVIEW blog often highlighting lesser known features of LabVIEW || 2008 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://culverson.com/category/lab-view/ Culverson Software&#039;s Blog] || LabV﻿IEW category of Steve Bird&#039;s Blog || 2009 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://themacview.blogspot.com The Mac View] || Marc - Virtual Instrumentation from a Mac perspective || 2005 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://vishots.com/labview VI Shots] || Michael Aivaliotis continues to build automated test systems for various industries since 1993. VI Shots brings you the latest news from the world of test, measurement and automation. You will find reviews, videos and insights not found anywhere else. || 2007 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://mylabviewtshare.wordpress.com/ VIve LabVIEW] || Ezequiel Gonzalez - Newbie LabVIEW notes in Spanish. || 2009 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://lvtechspeak.blogspot.com Technically Speaking] || This blog is shared among several technical writers/managers in the LabVIEW group. We post our views and insight on processes, new technologies that we think are cool, and other things we decide to write about. || 2005 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://openmeas.blogspot.com/ Open Measurements] || Brian Powell - I&#039;m a software architect on the LabVIEW R&amp;amp;amp;D team at National Instruments. || 2006 || inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://emertech.blogspot.com Emerging Technologies for Virtual Instrumentation] || Hall T. Martin - I investigate emerging technologies and apply them to the world of virtual instrumentation. || 2004 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://ideasinwiring.blogspot.com Ideas in Wiring] || Joel Sumner - This is my storehouse of information that might be useful to the LabVIEW community. It&#039;s the stuff that falls somewhere between &amp;quot;documentation&amp;quot; and &amp;quot;hallway conversation&amp;quot; that you might find useful, entertaining, or just a way to kill some time. As with any personal Blog, I don&#039;t speak for NI, that would be way more pressure than I want to deal with. I like hearing from you. || 2005 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://synergyenergy.blogspot.com/ Synergy Energy] || Pavan Bathla - For integrated design, simulation, test &amp;amp;amp; measurement. Experiences of an Aerospace and Defense industry engineer. My main focus is test automation &amp;amp;amp; simulation, using technologies such as LabVIEW, RTOS, FPGA, ADCs... Multi-disciplinary engineering topics, philosophy &amp;amp;amp; economics always catch my attention. || 2006 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://detritus.blogs.com/lycangeek/ Lycangeek] || And now a word from Brian Tyler || 2006 || Inactive&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Lists]]&lt;br /&gt;
[[Category:Blogs]]&lt;br /&gt;
[[Category:LabVIEW ecosystem]]&lt;/div&gt;</summary>
		<author><name>SamTaggart</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=List_of_LabVIEW_blogs&amp;diff=29942</id>
		<title>List of LabVIEW blogs</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=List_of_LabVIEW_blogs&amp;diff=29942"/>
		<updated>2020-07-01T01:21:24Z</updated>

		<summary type="html">&lt;p&gt;SamTaggart: expanded on description of my blog.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Description !! Start Year !! Status&lt;br /&gt;
|-&lt;br /&gt;
| [https://forums.ni.com/t5/NI-Blog/bg-p/4001 NI&#039;s Blog] || NI&#039;s official blog, updated very frequently with news from NI || 2009 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.hampel-soft.com/blog/ Hampel Software Engineering] || Hampel Software Engineering&#039;s &amp;amp; Joerg Hampel&#039;s Blog || 2016 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://automatedenver.com/blog/ System Automation Solutions] || Sam Taggart&#039;s Blog on various software engineering topics related to LabVIEW and philosophy of coding. || 2015 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.dmcinfo.com/latest-thinking/blog/articletype/categoryview/categoryid/6/labview DMC Blog] || LabVIEW category of DMC&#039;s official blog || 2009 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://forums.ni.com/t5/Random-Ramblings-on-LabVIEW/bg-p/4012 Steve Watts Random Ramblings on LabVIEW Design] || R﻿andom Ramblings says it all but often good insight into designs and discussions we don&#039;t think about but should question why we use them and ho﻿﻿w || 2012 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://thelvlab.wixsite.com/thelabviewlab The LabVIEW Lab] || Eric Maussion﻿&#039;s blog﻿ || 2018 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.digiajay.com/category/blog/labview/ Ajay Blog] || Ajayvignesh&#039;s LabVI﻿EW blog﻿ || 2016 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.winemantech.com/blog/topic/labview Wineman Technology Blog] || LabVIEW category of Wineman&#039;s official blog || 2015 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://blog.jki.net/topic/labview JKI Blog] || Blog often highlighting JKI&#039;s activity including VIPM and other LabVIEW tips || 2009 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [http://devs.wiresmithtech.com/ Wiresmith] ||This is the developer blog for Wiresmith Technology, a National Instruments Alliance Partner who specialise in completing the toughest projects in LabVIEW. Here you will find the latest and greatest tips &amp;amp; techniques that we have worked on in LabVIEW and associated technologies. || 2014 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://delacor.com/blog/ Delacor Blog] || At Delacor, our focus is helping customers develop successful applications with LabVIEW. We have experience with virtual instrumentation, software engineering, and precision measurements. We either deliver turn-key solutions, or we integrate ourselves with your team and use our extensive experience to mentor them with the goal of getting the team to become self-sufficient. Our software engineers hold the highest levels of certification for LabVIEW. We have been individually recognized by National Instruments as key technology experts who help and inspire others to grow their LabVIEW skills. || 2015 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [http://hooovahh.blogspot.com/search/label/LabVIEW Hooovahh&#039;s Blog] || Brian Hoover&#039;s blog focusing on LabVIEW and CAN || 2017 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.bloomy.com/support/blog/blog-category/labview Bloomy&#039;s Blog] || LabVIEW category of Bloomy&#039;s official blog || 2014 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.labviewcraftsmen.com/ LabVIEW Craftsmen] || Hi my name is Jon McBee, thanks for reading my blog.  I have been using LabVIEW to solve interesting problems since 2004, dating back to LabVIEW 7.1.  Like most people in the LabVIEW community I started my professional life outside the bounds of computer science and happened into learning LabVIEW out of coincidence.  Needless to say, I loved how LabVIEW empowered me to solve problems with software and have never looked back. This blog is dedicated to a few ideas that I have grown to hold to dear; Software Craftsmanship, Agile Software Development, and bringing ideas from the Computer Science world into the LabVIEW ecosystem.  I find that keeping these ideas in mind helps me to write simple software that can solve complex problems, and that&#039;s powerful.  I have listed a few resources on the Resources page that align with these principles. || 2015 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://mgi.gitlab.io/articles/ MGI Blog] || Moore Good Ideas b﻿log || 2008 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [http://blog.eyesonvis.com/ Eyes on VIs] || Christina Rogers blog often focusing on LabVIEW&#039;s visual design UI&#039;s and UX&#039;s || 2010 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [http://qcontrolsqsi.blogspot.com/ QControls] || Blog series on QContro﻿ls, an open alternative to XC﻿ontrol﻿s﻿ || 2017 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.walkingthewires.com/ Walking The Wires] || Chris Roebuck&#039;s Blog || 2014 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://boringengineer.com/category/ni-labview/ Boring Engineer] || Navin Subramani&#039;s Blog, Boring Engineer || 2018 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [https://felipekb.wordpress.com/ Felipe&#039;s Thoughts] || A simple blog from a LabVIEW developer for sharing code and insights || 2020 || Active&lt;br /&gt;
|-&lt;br /&gt;
| [http://blog.sixclear.com VI High] || VI High is the LabVIEW Programming Video Blog presented by Sixclear. Most episodes are composed of common LabVIEW questions and techniques geared to beginner and intermediate developers. || 2010 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://savvytestengineer.blogspot.com/ The Savvy Test Engineer] || Greg Dudgeon - This blog covers test engineering topics that interest me.  About 25% of the time I discuss LabVIEW in one form or another. || 2007 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://labviewartisan.blogspot.com/ LabVIEW Artisan] || Darren Nattinger&#039;s LabVIEW blog often highlighting lesser known features of LabVIEW || 2008 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://culverson.com/category/lab-view/ Culverson Software&#039;s Blog] || LabV﻿IEW category of Steve Bird&#039;s Blog || 2009 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://themacview.blogspot.com The Mac View] || Marc - Virtual Instrumentation from a Mac perspective || 2005 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://vishots.com/labview VI Shots] || Michael Aivaliotis continues to build automated test systems for various industries since 1993. VI Shots brings you the latest news from the world of test, measurement and automation. You will find reviews, videos and insights not found anywhere else. || 2007 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://mylabviewtshare.wordpress.com/ VIve LabVIEW] || Ezequiel Gonzalez - Newbie LabVIEW notes in Spanish. || 2009 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://lvtechspeak.blogspot.com Technically Speaking] || This blog is shared among several technical writers/managers in the LabVIEW group. We post our views and insight on processes, new technologies that we think are cool, and other things we decide to write about. || 2005 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://openmeas.blogspot.com/ Open Measurements] || Brian Powell - I&#039;m a software architect on the LabVIEW R&amp;amp;amp;D team at National Instruments. || 2006 || inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://emertech.blogspot.com Emerging Technologies for Virtual Instrumentation] || Hall T. Martin - I investigate emerging technologies and apply them to the world of virtual instrumentation. || 2004 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://ideasinwiring.blogspot.com Ideas in Wiring] || Joel Sumner - This is my storehouse of information that might be useful to the LabVIEW community. It&#039;s the stuff that falls somewhere between &amp;quot;documentation&amp;quot; and &amp;quot;hallway conversation&amp;quot; that you might find useful, entertaining, or just a way to kill some time. As with any personal Blog, I don&#039;t speak for NI, that would be way more pressure than I want to deal with. I like hearing from you. || 2005 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://synergyenergy.blogspot.com/ Synergy Energy] || Pavan Bathla - For integrated design, simulation, test &amp;amp;amp; measurement. Experiences of an Aerospace and Defense industry engineer. My main focus is test automation &amp;amp;amp; simulation, using technologies such as LabVIEW, RTOS, FPGA, ADCs... Multi-disciplinary engineering topics, philosophy &amp;amp;amp; economics always catch my attention. || 2006 || Inactive&lt;br /&gt;
|-&lt;br /&gt;
| [http://detritus.blogs.com/lycangeek/ Lycangeek] || And now a word from Brian Tyler || 2006 || Inactive&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Lists]]&lt;br /&gt;
[[Category:Blogs]]&lt;br /&gt;
[[Category:LabVIEW ecosystem]]&lt;/div&gt;</summary>
		<author><name>SamTaggart</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Actor_Framework&amp;diff=27632</id>
		<title>Actor Framework</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Actor_Framework&amp;diff=27632"/>
		<updated>2020-05-22T17:48:08Z</updated>

		<summary type="html">&lt;p&gt;SamTaggart: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;Actor Framework&#039;&#039;&#039; is an Actor Model implementation that has been distributed with LabVIEW since [[LabVIEW 2012]].  &lt;br /&gt;
&lt;br /&gt;
* To learn more about the [https://en.wikipedia.org/wiki/Actor_model Actor Model click here for the Wikikpedia article].&lt;br /&gt;
* To learn about other community created Actor implementations see the&amp;quot;Other Actor Implementation Designs&amp;quot; section on the [[Actor Oriented Design Patterns]] page.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The &#039;&#039;&#039;Actor Framework&#039;&#039;&#039; introduces two main classes:&lt;br /&gt;
# The Actor class&lt;br /&gt;
# The Message class&lt;br /&gt;
&lt;br /&gt;
The basic Actor only does something only when it receives a message telling it to do something.  What it is supposed to do is tied to the message that was sent.  It can either execute something and be done until the next message, it can launch other Actors, or it can send more messages.  In the Actor Framework it is limited to sending messages to itself, to the Actor that launched it (if it is not the root Actor), or to Actors it launched.&lt;br /&gt;
&lt;br /&gt;
[[File:Actor Framework Communication.png|frame|center|Actor Framework message communication (from Jon McBee&#039;s article &amp;quot; FUN WITH THE ACTOR FRAMEWORK: PUB/SUB&amp;quot;)]]&lt;br /&gt;
&lt;br /&gt;
===The Message Class===&lt;br /&gt;
A basic Message Class contains only two methods:&lt;br /&gt;
# &#039;&#039;&#039;Do.vi&#039;&#039;&#039; - calls the method that contains the code that is the action for the Actor to execute&lt;br /&gt;
# &#039;&#039;&#039;Send [Name of Message].vi&#039;&#039;&#039; - requires the enqueuer (address) of the Actor to send the message to, which causes the message to be sent to that Actor&lt;br /&gt;
&lt;br /&gt;
===The Actor Class===&lt;br /&gt;
A basic Actor only needs to contain the methods that the messages call.  However, there are some optional overrides that can extend the functionality of the Actor.  They include:&lt;br /&gt;
* Actor Core.vi&lt;br /&gt;
* Handle Error.vi&lt;br /&gt;
* Handle Last Ack Core.vi&lt;br /&gt;
* Pre Launch Init.vi&lt;br /&gt;
* Receive Message.vi&lt;br /&gt;
* Stop Core.vi&lt;br /&gt;
* Substitute Actor.vi&lt;br /&gt;
&lt;br /&gt;
More to come on when and why one might want to override these methods.&lt;br /&gt;
&lt;br /&gt;
== External Links  ==&lt;br /&gt;
*Actor Framework Basics by [https://www.linkedin.com/in/derek-trepanier/ Derek E. Trepanier], Moore Good Ideas&lt;br /&gt;
** [http://www.mooregoodideas.com/actor-framework/basics/AF-basics-part-1/ &amp;quot;Actor Framework Basics: Part 1 - the Basics&amp;quot;]&lt;br /&gt;
** [http://www.mooregoodideas.com/actor-framework/basics/AF-basics-part-2/ &amp;quot;Actor Framework Basics: Part 2 - the Actor&amp;quot;]&lt;br /&gt;
** [http://www.mooregoodideas.com/actor-framework/basics/AF-basics-part-3/ &amp;quot;Actor Framework Basics: Part 3 - Launching and Communicating&amp;quot;]&lt;br /&gt;
** [http://www.mooregoodideas.com/actor-framework/basics/AF-basics-part-4/ &amp;quot;Actor Framework Basics: Part 4 - Being Productive With Actors&amp;quot;]&lt;br /&gt;
** [http://www.mooregoodideas.com/actor-framework/basics/AF-basics-walkthrough/ &amp;quot;Actor Framework Basics: Walkthrough - Creating a Logger Actor&amp;quot;]&lt;br /&gt;
*[http://forums.ni.com/t5/Labvolution/LabVIEW-Actor-Framework-Basics/ba-p/3476654 &amp;quot;Actor Framework Basics&amp;quot;] by Greg Payne, Labvolution.&lt;br /&gt;
*[http://www.labviewcraftsmen.com/blog/fun-with-the-actor-framework-pubsub &amp;quot;Fun with the Actor Framework: PUB/SUB&amp;quot;] by [https://www.linkedin.com/in/jon-mcbee/ Jon McBee], LabVIEW Craftsmen Blog﻿&lt;br /&gt;
*[[Convert Queued Message Handler (QMH) to Actor Framework (AF)|&amp;quot;Actor Framework is not as hard as you think and here is why…&amp;quot;]] by Quentin &amp;quot;Q&amp;quot; Alldredge, Q Software Innovations, LLC&lt;br /&gt;
*[https://forums.ni.com/t5/Actor-Framework/ct-p/7001 NI Community].&lt;br /&gt;
*[https://forums.ni.com/t5/Actor-Framework-Documents/READ-THIS-FIRST-to-get-started-with-Actor-Framework/ta-p/3493762 NI Introduction].&lt;br /&gt;
*[https://learn.ni.com/center-of-excellence/resources/863/choosing-a-framework Comparison of AF and DQMH] by [[Samuel_Taggart_(LabVIEW_Champion)|Sam Taggart]], [https://automatedenver.com System Automation Solutions]&lt;br /&gt;
&lt;br /&gt;
[[Category:Actor Framework]]&lt;br /&gt;
[[Category:Frameworks]]&lt;/div&gt;</summary>
		<author><name>SamTaggart</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=GDevCon_North_America&amp;diff=10488</id>
		<title>GDevCon North America</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=GDevCon_North_America&amp;diff=10488"/>
		<updated>2020-01-07T20:52:00Z</updated>

		<summary type="html">&lt;p&gt;SamTaggart: added board of directors and call for papers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Events]] : GDevCon North America &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;GDevCon North America&#039;&#039;&#039;, or GDevCon N.A., is a collaborative extension of [[GDevCon]].  GDevCon N.A. is bringing the same indpendent Graphical Development Conference experience started by [[GDevCon]] to North America.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:GDevConNA1.png|300px|frameless|left|link=GDevConNA-1]]&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | &lt;br /&gt;
== GDevCon N.A. #1 ==&lt;br /&gt;
[[GDevConNA-1|GDevCon N.A. #1]] will take place Boulder, CO, USA, on 15th-17th July 2020 at the University Memorial Center at the University of Colorado Boulder. You can find more information at [https://gdevconna.org/ GDevCon N.A.&#039;s website].&lt;br /&gt;
== Board of Directors ==&lt;br /&gt;
* Jeremy Marquis&lt;br /&gt;
* Ed Dickens&lt;br /&gt;
* Bill Welch&lt;br /&gt;
* Sam Taggart&lt;br /&gt;
== Call for Presentations ==&lt;br /&gt;
Call for presentations is open until Feb 2. More information available [https://gdevconna.org/present here]&lt;br /&gt;
== Other Resources == &lt;br /&gt;
* [https://gdevconna.org/ GDevCon N.A. Website]&lt;br /&gt;
* [http://www.gdevcon.com GDevCon Website]&lt;br /&gt;
* [http://youtube.com/gdevcon GDevCon&#039;s YouTube channel]&lt;br /&gt;
* [https://www.flickr.com/photos/gdevcon/ GDevCon Flickr Album]&lt;br /&gt;
* [https://automatedenver.com/gdevcon-1-review/ Review of GdevCon #1]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;br /&gt;
[[Category:GDevCon]]&lt;/div&gt;</summary>
		<author><name>SamTaggart</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Delacor_Queued_Message_Handler&amp;diff=8035</id>
		<title>Delacor Queued Message Handler</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Delacor_Queued_Message_Handler&amp;diff=8035"/>
		<updated>2019-06-10T17:16:32Z</updated>

		<summary type="html">&lt;p&gt;SamTaggart: /* Other Sources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General Description ==&lt;br /&gt;
&lt;br /&gt;
The DQMH is a free product based on the National Instruments Queued Message Handler Project Template (NI QMH).&lt;br /&gt;
&lt;br /&gt;
The DQMH expands on the NI QMH by providing safe, event-based message handling and scripting tools to make development easy, encourage same style between different developers in the same project and improve efficiency.&lt;br /&gt;
&lt;br /&gt;
The DQMH is ideal for applications where multiple modules must run in parallel, possibly at different rates, while communicating with each other. The DQMH can also be used for applications that have a single module, where the developer would benefit from having a Tester with the capability of eavesdropping on the different DQMH events and messages.&lt;br /&gt;
&lt;br /&gt;
The built-in productivity tools make it very easy to add modules to existing projects without having to start from the project template. In addition, there are tools to add and remove events by selecting the desired action from the Tools&amp;gt;Delacor&amp;gt;DQMH menu.&lt;br /&gt;
&lt;br /&gt;
The DQMH easily integrates with TestStand since all development and troubleshooting can take place under LabVIEW, while calling the public API VIs as individual steps in the Teststand sequence. The tester can eavesdrop during the execution of the TestStand sequence. This is especially useful when the LabVIEW code is written during the research and development or prototyping phase, because the same code can be easily called by TestStand in production or manufacturing sequences without any changes.&lt;br /&gt;
&lt;br /&gt;
The DQMH uses LVOOP for some internal functions, but developers need not be familiar with LVOOP to use or understand this architecture.&lt;br /&gt;
&lt;br /&gt;
== Accolades ==&lt;br /&gt;
&lt;br /&gt;
* 2016: DQMH named one of the 2016 winners for the LabVIEW Tools Network Product of the Year ([http://bit.ly/LVTNfinalists2016])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional and 3rd-Party Features ==&lt;br /&gt;
&lt;br /&gt;
=== Helper Loops === &lt;br /&gt;
* Article [https://delacor.com/dqmh-actors/ DQMH Actors] on the Delacor blog&lt;br /&gt;
&lt;br /&gt;
=== Networking === &lt;br /&gt;
* Article [https://delacor.com/dqmh-generic-networking-module/ Generic Networking Module] on the Delacor blog&lt;br /&gt;
&lt;br /&gt;
=== UI ===&lt;br /&gt;
* [https://www.mooregoodideas.com/products/panel-manager/index.html MGI Panel Manager]&lt;br /&gt;
&lt;br /&gt;
=== Tools === &lt;br /&gt;
* [https://forums.ni.com/t5/Delacor-Toolkits-Discussions/Zuehlke-Project-explorer-menu-for-DQMH/td-p/3802835 Project Explorer Menu]&lt;br /&gt;
&lt;br /&gt;
== DQMH Trusted Advisors ==&lt;br /&gt;
&lt;br /&gt;
The DQMH Trusted Advisors program highlights companies that excel at using DQMH in their daily project work.&lt;br /&gt;
&lt;br /&gt;
DQMH Trusted Advisors have been audited by Delacor to verify they are following best practices and have a deep understanding of the DQMH Architecture. DQMH Trusted Advisors have demonstrated they know when DQMH is the best option and when a different architecture is more appropriate. DQMH Trusted Advisors can help customers start a new project or perform maintenance or upgrades to existing projects created using the DQMH framework.&lt;br /&gt;
&lt;br /&gt;
The DQMH Trusted Advisors program was started in 2018 and has currently (Feb. 2019) 5 members. More information can be found on the [https://delacor.com/dqmh-trusted-advisors/ DQMH Trusted Advisors] website.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
* [http://delacor.com/products/dqmh/ DQMH Product Page]&lt;br /&gt;
* [https://forums.ni.com/t5/Delacor-Toolkits/ct-p/7004 DQMH at the NI Forum]&lt;br /&gt;
&lt;br /&gt;
=== Delacor Documentation ===&lt;br /&gt;
* [https://delacor.com/documentation/dqmh-html/DQMHDocumentation.html Online Documentation]&lt;br /&gt;
** [https://delacor.com/documentation/dqmh-html/DQMHProjectStructureOverview.html Project Structure]&lt;br /&gt;
&lt;br /&gt;
* [https://delacor.com/dqmh-documentation/dqmh-best-practices/ Best Practices]&lt;br /&gt;
&lt;br /&gt;
=== Delacor Youtube ===&lt;br /&gt;
* [https://www.youtube.com/delacorllc Delacor Channel]&lt;br /&gt;
* [https://www.youtube.com/watch?v=M75PAwjTg1c&amp;amp;index=1&amp;amp;list=PLZ3A_SIOKdQs73IjbtaWwCSqoxQfxlWj6 Getting Started]&lt;br /&gt;
&lt;br /&gt;
=== Other Sources ===&lt;br /&gt;
* [https://delacor.com/category/dqmh/ Delacor Blog (DQMH Category)]&lt;br /&gt;
*[https://learn.ni.com/center-of-excellence/resources/863/choosing-a-framework Comparison of AF and DQMH] by [[Samuel_Taggart_(LabVIEW_Champion)|Sam Taggart]], [https://automatedenver.com System Automation Solutions]&lt;br /&gt;
&lt;br /&gt;
[[Category:Frameworks]]&lt;/div&gt;</summary>
		<author><name>SamTaggart</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Actor_Framework&amp;diff=8034</id>
		<title>Actor Framework</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Actor_Framework&amp;diff=8034"/>
		<updated>2019-06-10T17:14:53Z</updated>

		<summary type="html">&lt;p&gt;SamTaggart: /* External Links */  added link to frameworks presentation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;Actor Framework&#039;&#039;&#039; is an Actor Model implementation that has been distributed with LabVIEW since [[LabVIEW 2012]].  &lt;br /&gt;
&lt;br /&gt;
* To learn more about the [https://en.wikipedia.org/wiki/Actor_model Actor Model click here for the Wikikpedia article].&lt;br /&gt;
* To learn about other community created Actor implementations see the&amp;quot;Other Actor Implementation Designs&amp;quot; section on the [[Actor Oriented Design Patterns]] page.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The &#039;&#039;&#039;Actor Framework&#039;&#039;&#039; introduces two main classes:&lt;br /&gt;
# The Actor class&lt;br /&gt;
# The Message class&lt;br /&gt;
&lt;br /&gt;
The basic Actor only does something only when it receives a message telling it to do something.  What it is supposed to do is tied to the message that was sent.  It can either execute something and be done until the next message, it can launch other Actors, or it can send more messages.  In the Actor Framework it is limited to sending messages to itself, to the Actor that launched it (if it is not the root Actor), or to Actors it launched.&lt;br /&gt;
&lt;br /&gt;
[[File:Actor Framework Communication.png|frame|center|Actor Framework message communication (from Jon McBee&#039;s article &amp;quot; FUN WITH THE ACTOR FRAMEWORK: PUB/SUB&amp;quot;)]]&lt;br /&gt;
&lt;br /&gt;
===The Message Class===&lt;br /&gt;
A basic Message Class contains only two methods:&lt;br /&gt;
# &#039;&#039;&#039;Do.vi&#039;&#039;&#039; - calls the method that contains the code that is the action for the Actor to execute&lt;br /&gt;
# &#039;&#039;&#039;Send [Name of Message].vi&#039;&#039;&#039; - requires the enqueuer (address) of the Actor to send the message to, which causes the message to be sent to that Actor&lt;br /&gt;
&lt;br /&gt;
===The Actor Class===&lt;br /&gt;
A basic Actor only needs to contain the methods that the messages call.  However, there are some optional overrides that can extend the functionality of the Actor.  They include:&lt;br /&gt;
* Actor Core.vi&lt;br /&gt;
* Handle Error.vi&lt;br /&gt;
* Handle Last Ack Core.vi&lt;br /&gt;
* Pre Launch Init.vi&lt;br /&gt;
* Receive Message.vi&lt;br /&gt;
* Stop Core.vi&lt;br /&gt;
* Substitute Actor.vi&lt;br /&gt;
&lt;br /&gt;
More to come on when and why one might want to override these methods.&lt;br /&gt;
&lt;br /&gt;
== External Links  ==&lt;br /&gt;
*Actor Framework Basics by [https://www.linkedin.com/in/derek-trepanier/ Derek E. Trepanier], Moore Good Ideas&lt;br /&gt;
** [http://www.mooregoodideas.com/actor-framework/basics/AF-basics-part-1/ &amp;quot;Actor Framework Basics: Part 1 - the Basics&amp;quot;]&lt;br /&gt;
** [http://www.mooregoodideas.com/actor-framework/basics/AF-basics-part-2/ &amp;quot;Actor Framework Basics: Part 2 - the Actor&amp;quot;]&lt;br /&gt;
** [http://www.mooregoodideas.com/actor-framework/basics/AF-basics-part-3/ &amp;quot;Actor Framework Basics: Part 3 - Launching and Communicating&amp;quot;]&lt;br /&gt;
** [http://www.mooregoodideas.com/actor-framework/basics/AF-basics-part-4/ &amp;quot;Actor Framework Basics: Part 4 - Being Productive With Actors&amp;quot;]&lt;br /&gt;
** [http://www.mooregoodideas.com/actor-framework/basics/AF-basics-walkthrough/ &amp;quot;Actor Framework Basics: Walkthrough - Creating a Logger Actor&amp;quot;]&lt;br /&gt;
*[http://forums.ni.com/t5/Labvolution/LabVIEW-Actor-Framework-Basics/ba-p/3476654 &amp;quot;Actor Framework Basics&amp;quot;] by Greg Payne, Labvolution.&lt;br /&gt;
*[http://www.labviewcraftsmen.com/blog/fun-with-the-actor-framework-pubsub &amp;quot;Fun with the Actor Framework: PUB/SUB&amp;quot;] by [https://www.linkedin.com/in/jon-mcbee/ Jon McBee], LabVIEW Craftsmen Blog﻿&lt;br /&gt;
*[[Convert Queued Message Handler (QMH) to Actor Framework (AF)|&amp;quot;Actor Framework is not as hard as you think and here is why…&amp;quot;]] by Quentin &amp;quot;Q&amp;quot; Alldredge, Q Software Innovations, LLC&lt;br /&gt;
*[https://forums.ni.com/t5/Actor-Framework/ct-p/7001 NI Community].&lt;br /&gt;
*[https://forums.ni.com/t5/Actor-Framework-Documents/READ-THIS-FIRST-to-get-started-with-Actor-Framework/ta-p/3493762 NI Introduction].&lt;br /&gt;
*[https://learn.ni.com/center-of-excellence/resources/863/choosing-a-framework Comparison of AF and DQMH] by [[Samuel_Taggart_(LabVIEW_Champion)|Sam Taggart]], [https://automatedenver.com System Automation Solutions]&lt;br /&gt;
&lt;br /&gt;
[[Category:LabVIEW Champions|Taggart, Samuel]]&lt;br /&gt;
[[Category:Actor Framework]]&lt;br /&gt;
[[Category:Frameworks]]&lt;/div&gt;</summary>
		<author><name>SamTaggart</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Samuel_Taggart_(LabVIEW_Champion)&amp;diff=8027</id>
		<title>Samuel Taggart (LabVIEW Champion)</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Samuel_Taggart_(LabVIEW_Champion)&amp;diff=8027"/>
		<updated>2019-06-10T14:45:35Z</updated>

		<summary type="html">&lt;p&gt;SamTaggart: added category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
| Sam Taggart&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Home&#039;&#039;&#039;&lt;br /&gt;
| Golden, CO&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Certification&#039;&#039;&#039;&lt;br /&gt;
| CLA, CPI&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Used LabVIEW Since:&#039;&#039;&#039;&lt;br /&gt;
| LabVIEW 6.1, (~2007)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Applications Areas&#039;&#039;&#039;&lt;br /&gt;
| I got tired of cleaning up other people&#039;s messes so lately I have been focusing on teaching people how not to create messes in the first place. I do a lot of coaching and mentoring trying to promote software engineering best practices. I also end up doing a variety of odd projects along the way.&lt;br /&gt;
|}&lt;br /&gt;
== Biography: ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== User Groups: ===&lt;br /&gt;
I regularly attend and present at the [https://forums.ni.com/t5/ALARM/gp-p/5007?profile.language=en ALARM] group in Colorado.&lt;br /&gt;
&lt;br /&gt;
=== Discussion Groups: ===&lt;br /&gt;
I post on both LAVA and the NI Forums&lt;br /&gt;
&lt;br /&gt;
=== Articles ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[List of LabVIEW Champions]]&lt;br /&gt;
*[[LabVIEW Champions]]&lt;br /&gt;
&lt;br /&gt;
[[Category:LabVIEW Champions|Taggart, Samuel]]&lt;/div&gt;</summary>
		<author><name>SamTaggart</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Samuel_Taggart_(LabVIEW_Champion)&amp;diff=8026</id>
		<title>Samuel Taggart (LabVIEW Champion)</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Samuel_Taggart_(LabVIEW_Champion)&amp;diff=8026"/>
		<updated>2019-06-10T14:44:34Z</updated>

		<summary type="html">&lt;p&gt;SamTaggart: added my page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
| Sam Taggart&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Home&#039;&#039;&#039;&lt;br /&gt;
| Golden, CO&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Certification&#039;&#039;&#039;&lt;br /&gt;
| CLA, CPI&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Used LabVIEW Since:&#039;&#039;&#039;&lt;br /&gt;
| LabVIEW 6.1, (~2007)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Applications Areas&#039;&#039;&#039;&lt;br /&gt;
| I got tired of cleaning up other people&#039;s messes so lately I have been focusing on teaching people how not to create messes in the first place. I do a lot of coaching and mentoring trying to promote software engineering best practices. I also end up doing a variety of odd projects along the way.&lt;br /&gt;
|}&lt;br /&gt;
== Biography: ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== User Groups: ===&lt;br /&gt;
I regularly attend and present at the [https://forums.ni.com/t5/ALARM/gp-p/5007?profile.language=en ALARM] group in Colorado.&lt;br /&gt;
&lt;br /&gt;
=== Discussion Groups: ===&lt;br /&gt;
I post on both LAVA and the NI Forums&lt;br /&gt;
&lt;br /&gt;
=== Articles ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[List of LabVIEW Champions]]&lt;br /&gt;
*[[LabVIEW Champions]]&lt;/div&gt;</summary>
		<author><name>SamTaggart</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=List_of_LabVIEW_Champions&amp;diff=8025</id>
		<title>List of LabVIEW Champions</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=List_of_LabVIEW_Champions&amp;diff=8025"/>
		<updated>2019-06-10T14:34:30Z</updated>

		<summary type="html">&lt;p&gt;SamTaggart: added myself&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{see also|LabVIEW Champion|LabVIEW Champions program FAQ}}&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name&lt;br /&gt;
! Tenure&lt;br /&gt;
! Home&lt;br /&gt;
|-&lt;br /&gt;
| [[Albert Geven (LabVIEW Champion)|Albert Geven]]&lt;br /&gt;
| 2005-Present&lt;br /&gt;
| Netherlands&lt;br /&gt;
|-&lt;br /&gt;
| [[Alessandro Ricco (LabVIEW Champion)|Alessandro Ricco]]&lt;br /&gt;
| 2005-Present&lt;br /&gt;
| Italy&lt;br /&gt;
|-&lt;br /&gt;
| [[André Manzolli (LabVIEW Champion)|André Manzolli]]&lt;br /&gt;
| 2005-Present&lt;br /&gt;
| Brazil&lt;br /&gt;
|-&lt;br /&gt;
| [[Ben Rayner (LabVIEW Champion)|Ben Rayner]]&lt;br /&gt;
| 2005-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Bill Meier (LabVIEW Champion)|Bill Meier]]&lt;br /&gt;
| 2010-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Bogdan Iwinski (LabVIEW Champion)|Bogdan Iwinski]]&lt;br /&gt;
| 2010-Present&lt;br /&gt;
| Poland&lt;br /&gt;
|-&lt;br /&gt;
| [[Brett Percy (LabVIEW Champion)|Brett Percy]]&lt;br /&gt;
| 2005-Present&lt;br /&gt;
| Australia&lt;br /&gt;
|-&lt;br /&gt;
| [[Bruce Ammons (LabVIEW Champion)|Bruce Ammons]]&lt;br /&gt;
| 2005-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Buddy Haun (LabVIEW Champion)|Buddy Haun]]&lt;br /&gt;
| 2008-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Charles Ghommidh (LabVIEW Champion)|Charles Ghommidh]]&lt;br /&gt;
| 2005-Present&lt;br /&gt;
| France&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [[Chris Roebuck (LabVIEW Champion)|Chris Roebuck]]&lt;br /&gt;
| 2013-Present&lt;br /&gt;
| United Kingdom&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [[Christian Altenbach (LabVIEW Champion)|Christian Altenbach]]&lt;br /&gt;
| 2005-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Christophe Salzmann (LabVIEW Champion)|Christophe Salzmann]]&lt;br /&gt;
| 2010-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Christopher G. Relf (LabVIEW Champion)|Christopher G. Relf]]&lt;br /&gt;
| 2005-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Dany Allard (LabVIEW Champion)|Dany Allard]]&lt;br /&gt;
| 2013-Present&lt;br /&gt;
| Canada&lt;br /&gt;
|-&lt;br /&gt;
| [[Darin Kinion (LabVIEW Champion)|Darin Kinion]]&lt;br /&gt;
| 2012-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[David Thomson (LabVIEW Champion)|David Thomson]]&lt;br /&gt;
| 2005-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Dennis Knutson (LabVIEW Champion)|Dennis Knutson]]&lt;br /&gt;
| 2005-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Ed Dickens (LabVIEW Champion)|Ed Dickens]]&lt;br /&gt;
| 2005-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Fabiola De la Cueva (LabVIEW Champion)|Fabiola De la Cueva]]&lt;br /&gt;
| 2012-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Gaurav Kulkarni (LabVIEW Champion)|Gaurav Kulkarni]]&lt;br /&gt;
| 2013-Present&lt;br /&gt;
| India&lt;br /&gt;
|-&lt;br /&gt;
| [[Jack Dunaway (LabVIEW Champion)|Jack Dunaway]]&lt;br /&gt;
| 2010-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Jeff Bohrer (LabVIEW Champion)|Jeff Bohrer]]&lt;br /&gt;
| 2012-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Jim Kring (LabVIEW Champion)|Jim Kring]]&lt;br /&gt;
| 2005-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Joe Hoskins (LabVIEW Champion)|Joe Hoskins]]&lt;br /&gt;
| 2010-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Joerg Hampel (LabVIEW Champion)|Joerg Hampel]]&lt;br /&gt;
| 2018-Present&lt;br /&gt;
| Austria&lt;br /&gt;
|-&lt;br /&gt;
| [[Jonathon Green (LabVIEW Champion)|Jonathon Green]]&lt;br /&gt;
| 2012-Present&lt;br /&gt;
| Australia&lt;br /&gt;
|-&lt;br /&gt;
| [[Justin Goeres (LabVIEW Champion)|Justin Goeres]]&lt;br /&gt;
| 2012-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Leigh Christian (LabVIEW Champion)|Leigh Christian]]&lt;br /&gt;
| 2010-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Marcus Johnson (LabVIEW Champion)|Marcus Johnson]]&lt;br /&gt;
| 2013-Present&lt;br /&gt;
| Sweden&lt;br /&gt;
|-&lt;br /&gt;
| [[Mark Balla (LabVIEW Champion)|Mark Balla]]&lt;br /&gt;
| 2010-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Mark Ridgley (LabVIEW Champion)|Mark Ridgley]]&lt;br /&gt;
| 2013-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Mark Yedinak (LabVIEW Champion)|Mark Yedinak]]&lt;br /&gt;
| 2010-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Michael Aivaliotis (LabVIEW Champion)|Michael Aivaliotis]]&lt;br /&gt;
| 2005-Present&lt;br /&gt;
| Canada&lt;br /&gt;
|-&lt;br /&gt;
| [[Mike Porter (LabVIEW Champion)|Mike Porter]]&lt;br /&gt;
| 2008-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Muthuraman Sudalaimuthu (LabVIEW Champion)|Muthuraman Sudalaimuthu]]&lt;br /&gt;
| 2013-Present&lt;br /&gt;
| India&lt;br /&gt;
|-&lt;br /&gt;
| [[Nancy Hollenback (LabVIEW Champion)|Nancy Hollenback]]&lt;br /&gt;
| 2008-2010&amp;lt;ref&amp;gt;In 2010, Nancy joined NI.&amp;lt;/ref&amp;gt;&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Norm Kirchner (LabVIEW Champion)|Norm Kirchner]]&lt;br /&gt;
| 2008-2008&amp;lt;ref&amp;gt;Months after becoming a Champion, Norm joined NI.&amp;lt;/ref&amp;gt;&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Parag Deshpande (LabVIEW Champion)|Parag Deshpande]]&lt;br /&gt;
| 2012-Present&lt;br /&gt;
| India&lt;br /&gt;
|-&lt;br /&gt;
| [[Pavan Bathla (LabVIEW Champion)|Pavan Bathla]]&lt;br /&gt;
| 2007-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Piotr Maj (LabVIEW Champion)|Piotr Maj]]&lt;br /&gt;
| 2012-Present&lt;br /&gt;
| Poland&lt;br /&gt;
|-&lt;br /&gt;
| [[Putnam W. Monroe Jr. (LabVIEW Champion)|Putnam W. Monroe Jr.]]&lt;br /&gt;
| 2005-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Ray Robichaud (LabVIEW Champion)|Ray Robichaud]]&lt;br /&gt;
| 2005-Present&lt;br /&gt;
| Canada&lt;br /&gt;
|-&lt;br /&gt;
| [[Richard Sorrells (LabVIEW Champion)|Richard Sorrells]]&lt;br /&gt;
| 2013-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Rick Beauchaine (LabVIEW Champion)|Rick Beauchaine]]&lt;br /&gt;
| 2005-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Richard Thomas (LabVIEW Champion)|Richard Thomas]]&lt;br /&gt;
| 2012-Present&lt;br /&gt;
| England&lt;br /&gt;
|-&lt;br /&gt;
| [[Roger Isaksson (LabVIEW Champion)|Roger Isaksson]]&lt;br /&gt;
| 2013-Present&lt;br /&gt;
| Sweden&lt;br /&gt;
|-&lt;br /&gt;
| [[Rolf Kalbermatter (LabVIEW Champion)|Rolf Kalbermatter]]&lt;br /&gt;
| 2010-Present&lt;br /&gt;
| Netherlands&lt;br /&gt;
|-&lt;br /&gt;
| [[Samuel James (LabVIEW Champion)|Samuel James]]&lt;br /&gt;
| 2012-Present&lt;br /&gt;
| India&lt;br /&gt;
|-&lt;br /&gt;
| [[Samuel Taggart (LabVIEW Champion)|Samuel Taggart]]&lt;br /&gt;
| 2018-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Saverio Mercurio (LabVIEW Champion)|Saverio Mercurio]]&lt;br /&gt;
| 2010-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Scott Hannahs (LabVIEW Champion)|Scott Hannahs]]&lt;br /&gt;
| 2005-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Shane O&#039;Neill (LabVIEW Champion)|Shane O&#039;Neill]]&lt;br /&gt;
| 2010-Present&lt;br /&gt;
| Switzerland&lt;br /&gt;
|-&lt;br /&gt;
| [[Steve Watts (LabVIEW Champion)|Steve Watts]]&lt;br /&gt;
| 2013-Present&lt;br /&gt;
| United Kingdom&lt;br /&gt;
|-&lt;br /&gt;
| [[Tim Robinson (LabVIEW Champion)|Tim Robinson]]&lt;br /&gt;
| 2013-Present&lt;br /&gt;
| United States&lt;br /&gt;
|-&lt;br /&gt;
| [[Tomi Maila (LabVIEW Champion)|Tomi Maila]]&lt;br /&gt;
| 2007-Present&lt;br /&gt;
| Finland&lt;br /&gt;
|-&lt;br /&gt;
| [[Urs Lauterburg (LabVIEW Champion)|Urs Lauterburg]]&lt;br /&gt;
| 2005-Present&lt;br /&gt;
| Switzerland&lt;br /&gt;
|-&lt;br /&gt;
| [[Yair Neeman (LabVIEW Champion)|Yair Neeman]]&lt;br /&gt;
| 2007-Present&lt;br /&gt;
| Israel&lt;br /&gt;
|-&lt;br /&gt;
| [[Zbigniew Sobków (LabVIEW Champion)|Zbigniew Sobków]]&lt;br /&gt;
| 2005-Present&lt;br /&gt;
| Poland&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:LabVIEW Champions]]&lt;br /&gt;
[[Category:Lists]]&lt;/div&gt;</summary>
		<author><name>SamTaggart</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=GDevCon&amp;diff=8024</id>
		<title>GDevCon</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=GDevCon&amp;diff=8024"/>
		<updated>2019-06-10T14:28:00Z</updated>

		<summary type="html">&lt;p&gt;SamTaggart: /* Other Resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Gdevconsmalllogo.jpg|frameless|right]]&lt;br /&gt;
&#039;&#039;&#039;GDevCon&#039;&#039;&#039; is an independent conference open to all graphical developers. It exists to help LabVIEW developers in teams learn and level up together, and it aims to help solve real problems encountered everyday by LabVIEW developers.&lt;br /&gt;
&lt;br /&gt;
Designed as a series of events, GDevCon is focused on delivering world-class graphical programming material, from the community for the community. The conferences last several days and feature presentations by LabVIEW peers from around the world&lt;br /&gt;
​&lt;br /&gt;
The events do not mandate any level of certification, unlike the CLA Summits, enabling developers who don&#039;t choose to attain any formal accreditation to build connections to the LabVIEW community.&lt;br /&gt;
&lt;br /&gt;
GDevCon is run by the [https://www.gdevcon.com/alliance GDevCon Alliance], a not-for-profit organisation that is independent from system vendors.&lt;br /&gt;
&lt;br /&gt;
== GDevCon #2 ==&lt;br /&gt;
GDevCon#2 will take place Birmingham, UK, on 21-22nd August at the [http://www.uniquevenuesbirmingham.com/ Unique Venues Birmingham (UVB)]. You can find more information in [https://mailchi.mp/8138ad8640d3/g2-reveal this mailing].&lt;br /&gt;
&lt;br /&gt;
== GDevCon #1 ==&lt;br /&gt;
GDevCon#1 was held in Cambridge, UK, on 4-5th September 2018 at Murray Edwards College. The event was attended by over 140 developers, and actually had to be moved from their first venue, Girton College, to accommodate the higher than expected demand for tickets. &lt;br /&gt;
&lt;br /&gt;
The success of GDevCon#1 proved that the LabVIEW community has matured to the point of running its own events in addition to NI&#039;s conferences.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
The idea of GDevCon was born in the summer of 2017. In a discussion in June 2017 on the NI Champions forum, Steve Watts had jested about a new, community-driven LabVIEW event, and was backed up by Richard Thomas. The idea slowly evolved, with more and more people getting involved, who would finally form the GDevCon Alliance. The first company meeting of GDevCon Ltd. was held in London in November 2017. A [https://twitter.com/swatzyssdc/status/938159481799704577 tweet] on 5th of December 2017 by Steve Watts finally announced the project to the public. &lt;br /&gt;
&lt;br /&gt;
== Other Resources == &lt;br /&gt;
* [http://www.gdevcon.com GDevCon Website]&lt;br /&gt;
* [http://youtube.com/gdevcon GDevCon&#039;s YouTube channel]&lt;br /&gt;
* [https://www.flickr.com/photos/gdevcon/ GDevCon Flickr Album]&lt;br /&gt;
* [https://automatedenver.com/gdevcon-1-review/ Review of GdevCon1]&lt;br /&gt;
&lt;br /&gt;
[[Category:Conferences]]&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>SamTaggart</name></author>
	</entry>
</feed>