Jump to content

ShaunR

Members
  • Posts

    4,845
  • Joined

  • Days Won

    291

Everything posted by ShaunR

  1. A long, long time ago in a galaxy not so far away I developed two xControls in order to create a VI installer. The VI Installer hasn't really gone anywhere but the xControls that it used were for a Toolbar and a Tab Control. (The string indicator which supports colours on the tab page below was another but that is already available - Markup String). The two xControls are pretty well defined and feature complete but for them to be introduced into the wild, they need "productionising" (documenting and tidying up FP/diagrams and creating VIPM installers). I've sat on them for years so it's not going to be me that does the last few percent and I don't want to be the one that people go to for support (I have enough out there already that I have to support). So if someone wants to take up the mantle, give me a shout and I'll figure out how to release them. The XControls are self contained with their own examples: The "Execution Toolbar" xControl example. The Tab Control xControl example: If no-one is interested then I'll keep them in my private box and sit on them for another decade.
  2. Not a huge leap but an improvement on events (IMO) would be Named events (ala named queues). Events that can be named but (perhaps more importantly) can work across applications in a similar way that Windows messages can be hooked from an application-all driven from the Event structure. I initially experimented with a similar technology when VIM's where first discovered (although it didn't work across applications). Unfortunately, they broke the downstream polymorphism and made it all very manual with the Type Specialization Structure - so I dropped it. Another is callbacks in the Event Structure. Similar to the Panel Close event, they would have an out that can be described. But getting on to the LabVIEW GUI. That needs to go completely in its current form. It's inferior to all other WISIWIG languages because we cannot (reliably) create new controls or modify existing ones' behaviour. They gave us the 1/2 way house of XControls but that was awful, buggy and slow. What we need is to be able to describe controls in some form of mark-up so we can import to make native controls and indicators. Bonus points if we can start with an existing control and add or override functionality. All other WISIWIG languages allow the creation of controls/indicators. This would open up a whole new industry segment of control packs for LabVIEW like there is for the other languages and we wouldn't have to wait until NI decide to release a new widget set. At the very least allow us to leverage other GUI libraries (e.g. imgui or WXWidgets).
  3. He should have. All the stuff he needed was on the NI site that I gave him a link to.
  4. Looks like you have a custom theme in Windows where the cursor is defined. If you look, it changes from a left-pointing arrow to a right pointing arrow.
  5. We need more Xerox Parc and less Trailer Park.
  6. Well. C++ is just as old and C is 10 years older - so go figure! The whole software discipline hasn't really moved on in the last 60 years (check this out!) and while I do see AI changing that, it's probably not in the way you think. If AI is to be instrumental to programming it must come up with a new way of programming that obsoletes all current languages-not automate existing languages. Software needs it's Einstein vs Newton moment and I've seen no sign of that coming from the industry itself. Instead we get more and more recycled and tweaked ideas which I like to call Potemkin Programming or Potemkin languages. I disagree. LabVIEW, so far, has been immune to AI but it has also been trapped in the Potemkin Programming paradigm (ooooh. PPP ). It needs another "Events" breakpoint (when they introduced the event structure and changed how we program). Of all the languages, LabVIEW has the potential to break out of the quagmire that all the other languages have languished in. What we don't need is imports from other languages making it just as bad as all the others. We need innovators (like the guy that invented malleable VI's for funsies) only in their 20's and 30's - not 70's.
  7. You've really been gulping down that AI coolade, huh? I was going to mention PIL but IIRC it only supports standard tags (like the .NET that you criticized) so didn't bother to mention it.
  8. Being picky vs Can't be both (and that's 10ms) However. You have a timing issue in the way you benchmark in your last post. The middle gettickcount needs to be in it's own frame before the for loop.
  9. With the replace array it makes no difference but in your original it made about 10ms difference (which is why I thought it was a compile optimization)
  10. What's interesting about ensegre's solution is the unintuitive use of the compound arithmatic in this way. There must be a compiler optimization that it takes advantage of.
  11. My go (improvement of ensegre's solution ). SR_demo.vi Original: 492 ms ensegre original: 95 ms ensegre with multiply by 3 instead of 3 adds: 85 ms Conditional indexing: 72 ms Replace array (this one): ~20ms.
  12. Back-saved to 2009 Untitled 1.vi BTW. Snippets don't work on Lavag. Always post the VI.
  13. Nope. Not gonna fly, I'm afraid. This is the problem with LV POOP. I like the bit at the end-a video to show us just how complicated it is. Is this a Test Stand lite? Or is it actually a test framework for unit testing?
  14. Nope. But if you are interfacing to TS then changing clusters will break the connector anyway. You are much better off using strings (like JSON or XML) to TS.
  15. You could just draw the cluster on a picture control. You could then easily filter out the "reserved". You wouldn't need to change the UI every time it changes and I expect the user doesn't care what the underlying cluster is. Draw Cluster.vi
  16. What are you expecting? DC is in the extended character set. In the help for the To Lowercase function it states: What it converts to is probably dependent on the code page you are using.
  17. Nicely written but doesn't work for me (LabVIEW 2023 64 bit on Windows 10) using this image: . It hangs and never returns in "Point to EXIF Data - PNG.vi". The while loop never terminates as "Get File Position.vi" returns Error 4 (end of file) and there is no check on errors inside the loop so it keeps going and incrementing "Offset past chunk". Additionally, there is no check on the value of the "Offset past chunk" in case it has increased beyond the number of bytes in the file (optional defensive programming). You also have a custom installer which doesn't create all the palette icons correctly. I would recommend you look at the JKI VI Package Manager which is the defacto standard method for creating and installing addon packages.
  18. Or, in other words, "A Manager". That's all managers are! Your value isn't diminished, you've just been given the opportunity to increase your skill-set.
  19. That's the point where most of us switch to consultancy. For that switch, though, you need good personal relationships with customers and be happy with an irregular income.
  20. Well. If I were your manager then I'd ask you to find a contractor that can do it in a week and task you with managing them. I feel this is a different point. I am a Systems Engineer and a programming language is a tool I use to engineer a system That is different from what I was saying that languages are pretty much all the same. The latter is a poke at the industry lacking diversity in it's approach to programming and that I (and others) only see a difference in syntax and not really in execution. You might argue that Ladder Programming is a different beast to C/C++ (which it is) but both of those are 50 years old. LabVIEW has more in common with Ladder programming than any of the more modern languages which is why many people struggle when they move from a text based language. There are 32 types of hammers but they are all still hammers. That's how I see programming languages.
  21. Are you? What has front end web development to do with Node.js? I'm guessing you have only used Javascript for client-side browser scripting. Don't forget, client-side Javascript is nothing without HTML-itself another language.
  22. I don't see why not Javascript syntax and structures are based on Java and C so it's a much easier transition than, say, to embedded Python. The point here is that it's not the language that makes transition difficult. It's the awareness of the limitations of the environment and how to access the hardware.
  23. They pretty much are, at the end of the day. When you program in windows, you are programming the OS (win32 API or .NET). It doesn't really matter what language you use but some are better than others for certain things. It's similar with Linux which has it's own ecosystem based on the distributed packages. Where LabVIEW differs is in the drivers for hardware and that is where the value added comes from. The only other platforms that have a similar hardware ecosystem is probably something like Arduino.
×
×
  • Create New...

Important Information

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