LabVIEW Craft
  • Blog
  • About
  • Contact
  • Tools
  • Resources

Merry Script-mas!

12/19/2016

3 Comments

 
Ethan Stern
Every time I hear someone claim that the NI Actor Framework is hard to use or that it "slows down the IDE", a little part of me dies inside. Advanced actor-oriented design isn't simple, you say? I wholeheartedly agree. ...But, since when did expertise with a hammer--or, let's say, the producer-consumer design pattern--suddenly make someone Frank Lloyd Wright?
Picture
If it's not blatantly obvious, I value the Actor Framework (AF) as an important part of my toolkit. It's not the right tool for every job, but it is a useful tool for many. One part of the AF I don't love is the necessary tedium of building Actor Core event-handling UIs and then dragging reference controls (for my by-reference updates) into the Class Private Data Cluster. This got me thinking... In general, adding controls to a class feels like a relatively clumsy process, even when not using the AF. I let this mild frustration stew inside my melon for years, and then I finally did something about it.
Picture
A good ol' fashioned event-handling Actor Core. (Notice the bundling at left.)

Read More
3 Comments

Decoupling actors with Event-Driven Architectures

12/14/2016

0 Comments

 
Jon McBee
In my last post I took a look at data-centric and message-centric communication and their effects on software systems.  This post will take that discussion a little bit further by connecting the idea of data-centric messaging to Event Driven Architecture (EDA).  Along the way, we will build up a vocabulary that we can use to disucss systems of actors and the types of coupling we encounter while building them.
Picture

Read More
0 Comments

Futures, Promises and Continuations, Oh My!

12/12/2016

0 Comments

 
Owen Search
Delving into the world of asynchronous and concurrent programming can be quite daunting these days.  There is a deluge of jargon and hip new libraries to learn as a newbie.  At times, it feels like the difficulty in navigating these rough waters might rightly be interpreted as a dire warning: BEWARE THEE WHO DOES NOT KEEP HIS PROMISES.  But what is a promise anyway?  And for that matter, what is a future? Or a continuation? And here I thought I was in over my head when I started threading...
While I won't even try to completely illuminate these topics in a single blog post, I hope to provide a straightforward explanation that can help a beginner navigating the waters of asynchronous programming.  Really, once you get past the nomenclature, these programming constructs are REALLY interesting and useful.

Read More
0 Comments

Message Centric vs. Data Centric Communication

12/7/2016

4 Comments

 
Jon McBee
I recently gave a presentation at a local user group on message transport abstraction and how it can be used to abstract communication between actors running in LabVIEW and thin clients running in web browsers.  During the presentation an interesting question came up regarding why I chose to make communication between my actors data centric instead of message centric.  This question triggered a lot of thinking on my part and after a few days of rumination I decided that a blog post on the topic was warranted.
Picture

Read More
4 Comments

    RSS Feed

    Tags

    All
    Abstract Messaging
    Actor Framework
    Agile
    AI
    Asynchronous Programming
    Best Practices
    C#
    Complexity
    Continuations
    Control Values By Index
    Craftsmanship
    Dependency Inversion
    Dependency Viewer
    Futures/Promises
    Genetic Algorithm
    Liskov Substitution
    Malleable VIs
    Mediator Pattern
    .NET
    Object Oriented
    Object-Oriented
    Packed Project Library
    Parallelism
    Polymorphism
    Pub/Sub
    RawCap
    Root Loop
    Scrum
    Task Parallel Library
    TCP/IP
    TDD
    Test Engineering
    UML
    Unit Test
    VI Scripting
    VI Server
    WireShark

    Archives

    October 2019
    April 2019
    July 2018
    October 2017
    March 2017
    February 2017
    January 2017
    December 2016
    July 2016
    June 2016
    May 2016
    April 2016
    March 2016
    February 2016
    January 2016
    December 2015
    November 2015
    October 2015
    August 2015
    February 2015
    January 2015

    LabVIEW Blogs

    Eyes on VIs
    LabVIEW Hacker
    VI Shots
    LabVIEW Artisan
    Software Engineering for LabVIEW
    ​Wiresmith Techology
Picture
Powered by the Panda Ant

  • Blog
  • About
  • Contact
  • Tools
  • Resources