DQMH Consortium Toolkits Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

What made DQMH click for you?

Lumos! That's what the Olivier project is called now.

https://dqmh.org/product/lumos/

 

VIPM

https://www.vipm.io/package/dqmh_consortium_lib_lumos_api/

0 Kudos
Message 21 of 25
(1,256 Views)

What made DQMH ‘Click’ for me?

 

We historically had an internal framework based on events and QMH. The transition to DQMH was smooth and easy.

That was the first argument to move from an internally maitained framework to an externally maintained framework.

Knowing the people on the DQMH board, I was very confident that the maintenance of DQMH would be done well and for a long time.

 

The second argument was the fact that all modules 'look alike'. By this I mean that once one knows how a DQMH module look like, you can open any other code made with DQMH (even modules that you did not program yourself) and you can immediately know where to look at.

This is very convenient when doing code reviews, code audit, code exchange.

 

Also, training newbies in the company is very easy due to all examples taht are given when installing the framework. They are ready fast to create DQMH modules and it is very easy for them (after being trained) to begin creating modules that will fit into bigger applications.

No OOP involved for crititical operations, it easy and fast for a rookie to ramp up !

 

Last but not least: the testers taht come for (almost) free when creating modules (you still have to maintain them 😉 ).

When you understand their purpose and how to use them, you can't do without. Code quality arise, bugs are found sooner.

And it helps understanding how a module works (it is basically a user manual...).

 

Yeah, I guess it sumarizes quite well what made me click 🙂

CLA, CTA, LV Champion
View Cyril Gambini's profile on LinkedIn
This post is made under CC BY 4.0 DEED licensing
Message 22 of 25
(1,234 Views)

One of the things that clicked for me is the ability to launch cloneable instances, I almost felt of my chair when I discovered LabVIEW could do that, and this is accesible in DQMH, no more copy-pasting and modifying code for each device 😝 🙈.

 

Another thing I love is the scripting Tools, create, edit, modify, and even delete code with practically zero effort. The scripting magic lets me focus on solving the problem, without worrying all the terrifying details. It's like having a safety net that encourages experimentation and iteration. Plus, the scripting tools help me maintaining my code over the years super easy. No more digging through spaghetti code, trying to understand and continuously asking myself 'what I was thinking?', 'why I did that?', 'where is the...?', once you know DMQH Framework it is easy to navigate and get familiar with the code even if you did'n wrote it.

 

Another aspect that clicked for me is the community behind, a lot of super smart people willing to help and maintaining the Framework, that is amazing.

 

Finally the documentation. DQMH is well-documented, with clear explanations and instructions, anytime you use the scripting tools there is documentation for you, when the scripting tools finishes there are blue text notes telling you what you should do next, DQMH documentation is everywere.

 

There are probably more clicks... I'll back to edit my comment if I remember more 🤓

 

Enrique.

 

Message 23 of 25
(1,219 Views)

Read what DoctorAutomatic has to say about DQMH:

 


[..] DQMH perfectly hit the sweet spot of being accessible to more junior developers, yet powerful enough for anything, inviting to OOP pros and those that know nothing of OOP, removing the enormous tedium that would be required to code every single message, and making it so painless to modularize a solution. 

No matter how into a coding session I get, there's always a moment when I realize I have a choice of doing something the "right way", inevitably requiring enormous amounts of manual work, or taking a shortcut that I know will be pain to deal with later on if I need to make a change and just bothers me on an intellectual level. This usually happens a few hours deep into a coding session. The choice then becomes getting up and calling it a day or writing shortcut code beneath my standards. I can't imagine how many of those moments DQMH has saved me from (I don't particularly like making opening/closing references of typedeffed controls across numerous VIs, setting pretty/descriptive icons, and organizing everything "just so" in an lvproj, repeatedly, over and over again). It's one area where text based languages seem to clearly have the upper hand, but DQMH narrows the gap significantly, more than any other tool.

 




DSH Pragmatic Software Development Workshops (Fab, Steve, Brian and me)
Release Automation Tools for LabVIEW (CI/CD integration with LabVIEW)
HSE Discord Server (Discuss our free and commercial tools and services)
DQMH® (Developer Experience that makes you smile )


Message 24 of 25
(691 Views)

TLDR: A lot of sloppy, surface level, reverse engineering.

I was struggling to learn DQMH for a few weeks and was desperate to find the thing that would make it click. I thought for sure I just had to find the right YouTube video or forum post buried away somewhere like some lost treasure. In the end, I had to make the click moment myself. I did this by sitting down in front of a virtual white board (miro - and actually dark gray 🙂 I attached a screenshot) and drew it all out. I just started moving stuff around and labeling things, running arrows around to try to make sense of events and how they tie modules or any calling VIs together. It was all sort of guess work until I started putting things together in a way that made the most sense. I call this process the X's & O's of DQMH. Anyway, I would go into LV and test out what I thought I knew. When what I drew up on the whiteboard lined up with how it was actually working, it clicked. 

I also had some help really awesome help from Joerg, of course. Although his contribution to my learning didn't really come into play until after I figured out the basics on my own. He had written a DQMH program as a sort of template similar to what I work on every day. That became a sort of Rosetta Stone I could reference to see how a pro implements the things I was learning. 

From there, things just started to snowball. It honestly felt like things were progressing too fast. I was making so many big changes to my code and they were all working really well. I thought for sure I must be doing something wrong and it was all going to blow up in my face at some point. That was how my LV programming always went up to that point. How could DQMH change my development experience so radically and so quickly?

I've now been using DQMH for just about a year and I'm way better with it now than I was at the beginning. Any time I have a new feature to make or I feel like refactoring an old feature that was built on a house of cards (not always my code), DQMH is the first thing that comes to mind.  

For example, I've been using DQMH for the last two days creating a module that collects data from our machines and then parses it into a report. Being able to code all the features and test them before implementing them has been so smooth and enjoyable. For what is likely the 100th time since using DQMH, I have a bad feeling that something is going to break because nothing should go this smooth when I'm behind the wheel.

This is a project I had attempted a few years ago (prior to knowing DQMH) and I scrapped it as it got too unwieldy. This time, I've made more progress in two days than I did in 2 weeks previously. I can't thank the consortium enough for making and maintaining such an awesome tool! Also, I converted a request event to a request and wait for reply event for the first time. It was very easy and smooth. What a great feature. Also, every time I knock one of these projects out of the park, management has 10 more ideas that keep me entertained. DQMH is a great career advancer, honestly.

Message 25 of 25
(53 Views)