Jump to content

Francois Normandin

Members
  • Posts

    1,205
  • Joined

  • Last visited

  • Days Won

    46

Francois Normandin last won the day on November 9 2021

Francois Normandin had the most liked content!

3 Followers

About Francois Normandin

  • Birthday 02/26/1975

Profile Information

  • Gender
    Male
  • Location
    Mountain View, CA, USA
  • Interests
    LabVIEW (!!!), Astrophysics, Science-Fiction, Kilts.

LabVIEW Information

  • Version
    LabVIEW 2019
  • Since
    1999

Recent Profile Visitors

14,988 profile views

Francois Normandin's Achievements

Rookie

Rookie (2/14)

  • Reacting Well Rare
  • Dedicated Rare
  • Very Popular Rare
  • First Post Rare
  • Collaborator Rare

Recent Badges

192

Reputation

  1. 0-BSD is the only OSI-certified license that gives the same level of restrictions as Public Domain, while still, as you well know from those other presentations you referred to, being recognized in (almost) all countries. Public domain and The Unlicense are not recognized universally. Like Shaun points out, the biggest worry is that someone can claim my work as theirs because the license is open enough that you can copy any part, or the whole, without attribution. Honestly, I don't think the prospect of someone claiming I cheated would meet any level of credibility, since all the development is done in a 3rd-party public repository and I never squash my commits. Easy to prove I went through the development process and I couldn't temper with the commit hashes/timestamps of those commits. You can see all the mistakes, dead-ends, reworks, fixes... Anyway, whether or not you use a more restrictive license would not prevent someone from falsely claiming their work predates yours. If that were to happen, I trust the LabVIEW Community will hold the reputation of the original developer. If the work you want to release is owned by a company, I would recommend to not use 0-BSD. Make sure there is at least an attribution clause.
  2. I think this NI library is a good start: https://www.vipm.io/package/ni_lib_rt_management/ Other options are NI-RAD (image replication), WebDAV, FTP (not recommended) and NI System Configuration. Some more generic info for you to read: https://www.ni.com/en-us/innovations/white-papers/12/simplify-the-deployment-and-replication-of-distributed-systems.html
  3. Hi @Marko Hakkarainen, your "Test Labels" example is broken. Accessors (Write Label) is not public. Perhaps wrapping it into a generic Collection constructor method?
  4. No you cannot. Your simplified example, if the interface is truly abstract, is equivalent to trying to prevent someone from dropping a "empty string constant" on the block diagram. Fundamentally though, it would prevent you from using the direct cast to exercise the override, as shown in the bottom example. The only restriction is that one cannot create a DVR of the interface from outside the interface itself. I have to admit that I have not investigated the consequence of such a pattern in the context of interfaces...
  5. This is not strictly the answer to your question, but if you only use this for elapsed time, I suggest you switch to UTC time instead... There is no daylight savings time in UTC frame of reference, so you are certain it won't hit you. Also, here's a library (shameless plug) you might find useful: https://www.vipm.io/package/labview_open_source_lib_epoch_datetime/ It serves Unix, GPS and ISO time, including support for leap years (and even leap seconds... all 37 of them)
  6. It makes sense if one thinks of it as "6 letters added to the decimal notation".
  7. I typically use a second lvproj file, not for installers, but for the unit testing. The benefit is that I can segregate the dependency on the unit test framework (i.e. Caraya) from the source file that runs the build specs. Although, I don't know if that's super useful if you use a CI server to run both UTs and perform your builds...
  8. Networks Streams implement (and abstract) the concept of Quality of Service without the developer needing to add code for managing intermittent connections. A handshake ensures that all the data transmitted has reached the other endpoint in the order they were sent. Yes, it is probably just a buffer on the sender's side and some ACK replies from the receiver (and incoming buffer), bundled into a seemingly unidirectional stream. For sure there's an overhead compared to straight TCP, but I'm not sure the overhead is that large if you take into account the handshaking that you would need to reproduce the same QoS feature. TCP is more flexible and interoperable. If you need to add QoS to your app, and your app is all LabVIEW on both sides, then Network Streams make sense for reliable 1-to-1 high speed data transfers. If you send lots of small messages, an IoT protocol over TCP is probably more suited for the task (MQTT, etc.).
  9. Right-Click on the "Read From Text File" method and unselect "Convert EOL". The number "13" (0xD or Carriage Return) gives it away. If you look at the HEX representation of what you save and what you read from file, you'll notice the 0xD gets converted to 0xA unless you uncheck that box. Tip: If you deal exclusively with HEX/binary data, you might want to save it using byte arrays instead. The result will be the same in your file, but you won't get bitten by hidden config parameters in your node...
  10. Gave me a good laugh as well... but apparently this image is fake. Once you know it, you wonder why the medals on the sleeves are all pinned towards the down direction with the ribbon stying straight even though one general has his arms bent and the other one not...
  11. We've been calling 3.9 with LabVIEW 2019 without a glitch. Not exactly sure what "support" means in this context. _ _ _ Different topic... If the statement below were a regular expression, wouldn't a "?" be more appropriate? It would stand a better chance of matching at least one element 😉
  12. I'm pretty sure I reported something along those lines during beta testing of LV2020, but it was, if memory serves well, when using malleable with interfaces.
  13. I've seen a similar error dialog accompanied with a crash report. From those logs, I gathered it might also mean that there is not enough contiguous memory available. Perhaps "Largest Available Memory Block" can be of interest as well.
×
×
  • Create New...

Important Information

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