Jump to content

Aristos Queue

  • Posts

  • Joined

  • Last visited

  • Days Won


Posts posted by Aristos Queue

  1. 21 hours ago, bjustice said:

    Even better, @Aristos Queue could this be turned into a generic VIM?: 

    Try it out in the benchmark VI that I posted and see what you get.

    On 9/25/2022 at 7:06 PM, bjustice said:

    "if you are wiring a u8 array into a type cast primitive, then it's always best to go ahead and drop in a byte array to string primitive"

    I believe the answer is yes. As with all performance questions, I hesitate to actually say yes... you [or someone] should benchmark a few cases before committing to that theorem. 

  2. Just to close the loop: by LV2021, of the three of the Flarn-proof config tokens I mentioned in 2014, two are now public features and one was completely removed from the product as a bad idea. None of them are settable any more. I did not go out of my way to hide any new ones.

    Good game, Flarn. 🙂 I enjoyed the chase. 

  3. Performance public service announcement.


    Benchmark is included below for those who want to validate this discovery. "Type Cast" works by flattening the type to string and then unflattening. In this case, it doesn't recognize the special case of the byte array already being a string, but the Byte Array To String node does recognize that equivalence, so doing this eliminates a significant part of the type cast effort.

    This has been reported to NI as a possibility for future optimization.


    • Like 1
  4. 22 hours ago, Rolf Kalbermatter said:

    The nasty thing is that the returned TDR data pointer seems indeed to be another C++ object with no declared interface anywhere, and no it does also not match the ILVTypeInterface in the above mentioned header file.

    Correct. There's nothing exported about TDRs. It's an opaque hierarchy of types from outside of LabVIEW's core code. 

  5. On 4/14/2022 at 8:34 AM, Reds said:

    I know most of you guys are hard core engineers, and "dont' believe in marketing". But, you know, the field exists for a reason....

    I'm honestly unsure how you missed it. If you have suggestions for what would have caught your attention, please share them.

    Yes, the primary announcement is here on LAVA. But there's signs at multiple booths on expo floor from the sponsoring companies. Many of us include slides at the end of our presentations (assuming we're presenting on a day before the event). Various people wearing LAVA badges are all over who will happily talk about it. But it is not an NI event, so it usually isn't in any NI communication. 

    The event is generally filled at or near capacity with 100+ engineers. We would welcome more if you have ideas.

  6. 4 hours ago, Antoine Chalons said:

    but if you look-up "labview forum" LAVA is in the top 3

    But if I just search "LabVIEW" on Google, lavag.org isn't in the first five pages of results when I'm logged into Google, so it knows my interests. My results are similar (but not identical) when I use a non-Chrome browser with private browsing on a new virtual machine (I didn't take time to hide my IP address). 

    That seems like some search engine tuning is in order. 

  7. 9 hours ago, jacobson said:

    The two times we had people in our AE team do this we never got them back 🙃

    I don't know if it's the same people, Matt, but I've encouraged a couple folks to jump over to the companies they were temping for because it was better for NI. NI's position with those customers was stronger for having an "insider" on their teams. There is only gain for NI when one of our G developers goes off to be a full-time G programmer for another company! I only worry when our top G developers leave NI *and* they leave G. 🙂

    • Like 1
  8. 14 hours ago, Q^Q said:

    I just noticed that I can drag an interface onto block diagram and create an instance of the interface.  But for most of the cases, I want the interface to be abstract.  Is there any way to prevent users from creating instance from the interface I provided?

    As Francois noted, no, you cannot prevent it. The default instances are useful in many sentinel and error handling situations -- think like NaN in floating point. The defaults can also serve a role similar to "null" but without all the dangers of open references. Details about design decisions of interfaces can be found here.

    • Like 1
  9. 11 hours ago, Francois Normandin said:

    The only restriction is that one cannot create a DVR of the interface from outside the interface itself.

    The restriction on DVRs is the same for interfaces as for classes: it allows for constructor/destructor notation for by-reference entities. Please don't go hyper excited and think "Oh, this is the tool I should have been using all along." By-reference designs are fragile and prone to several classes of errors that by-value code cannot create. Stick to the wires where possible; use references only when nothing else serves! 🙂 Details here.

    • Like 2
  10. Another VI I thought someone reading this forum thread might find helpful. This one calls the one I posted previously as a subVI.

    "Make Control Glow.vi" draws a fading rectangle behind the specified control. Save it and its subVI ("Offset Glow Rect.vi") to the same subdirectory.

    For example, here's a glow on a system OK button. Color and border thickness are parameterized.

    Saved in LV2020.


    Make Control Glow.vi Offset Glow Rect.vi

  11. Our use  case is nullable strings and nullable integers. We want to be able to differentiate between "this is the set value of the parameter (including possibly empty string)" and "this parameter has never been set, so defer to the default". So a cluster of variant correctly should record "null" for an empty variant and not-null for a non-empty variant.


    That is arguably not a bug

    Recording an array when passed a cluster is definitely a bug, regardless of the behavior of the variants.

  • Create New...

Important Information

By using this site, you agree to our Terms of Use.