Jump to content

hooovahh

Moderators
  • Posts

    3,431
  • Joined

  • Last visited

  • Days Won

    289

Everything posted by hooovahh

  1. You should look into a local LabVIEW User Group. I hear NI is making a renewed effort in these and they are a great opportunity to meet and talk to local LabVIEW enthusiasts about common interests. I personally find the thought of going on my own very daunting. I know several people that have made it on their own, finding contracts, and executing projects successfully. I assume they like the work, and it must pay really well. But for me I'm just happy enough being the LabVIEW Overlord for a company. The thought of having to be my own sales force, finance department, and project manager, on top of the documenter, designer, and developer roles sounds like a lot of work. I'd rather work less for less money.
  2. Okay as with most things, there is some nuance. If the number of elements being deleted are very small, the OpenG method is faster, but it has to be pretty small, and the main array you are deleting from needs to be pretty large. Attached is the version that I think works well, and supports sorted, or unsorted indexes to delete with the same output as the OpenG method, which includes the deleted elements. Methods of deleting multiple array elements Hooovahh Test.vi
  3. Hey that's a pretty cool speed test. Even if you turn down the samples to something more reasonable like 100, or 1000 the OpenG method still loses by an order of magnitude. Would you mind if I adapted your code into the Hooovahh Array VIMs package? At the moment it is basically the OpenG method, with an optional input on if the indexes to remove are sorted already or not. The OpenG method returns the deleted elements, and there is a some book keeping that needs to take place if that array isn't sorted. But if your method works the way I think it's performance with or without sorted indexes should be similar. Also if anyone sees performance improvements for that array package I'd be interested in adding them. Most of it is the OpenG methods, with a few changes to help performance. EDIT: Oh the OpenG method does work with unsorted elements to remove, and returns the deleted elements in the correct order. I think the Shift and subarray, still can generate the same output, but needs extra work to track things which might eat into that time difference.
  4. Anything is fine. Just mentioning Brian Hoover (Hooovahh) in the VI description, and possibly linking to this thread in would be fine. I put it out with no restrictions. That being said there is a very small chance that some day I will release a Dialog & User Interface pack on VIPM.IO which could include this.
  5. The problem with this idea, is that the ico file contains multiple images in it, at different resolutions. You could in theory, take the LabVIEW image constant, save it to a temporary PNG file, then use that path to set the icon. But I think you'd be better off with an ico file itself. You can embed the ico file in the VI as a string constant, and do the same thing, saving it to a temporary location as well.
  6. Topic split to here discussing WATS and Virinco.
  7. I think all you need is a static VI reference, and then use the VI's name to open a reference instead of the file path. Here is an example I made years ago. https://forums.ni.com/t5/LabVIEW/building-an-executable-with-vits-with-Labview-2011/m-p/2384984#M740405 By dropping a static VI reference, LabVIEW knows it needs to include it in the built application as a dependency. It will then be in memory, and you can just reference it by name. If you actually want to replace the VI used at runtime, with one on disk, then yes you need the path to be a known good path. But if you just want to open a reference to a thing, and have it be included in the build, a static VI reference is the way to go.
  8. That is some ugly ass code for sure. I'm fairly certain I didn't create that ring, and instead just copied it from some other example set of code. I can never see myself center justifying a control like that so I'm guessing I just got it from something else, and then cut and pasted code until it worked. Enum and format into string is the way to go. That being said I'm pretty sure I would have tested this on a Linux RT machine and didn't see a crash at least running in source.
  9. With a slightly snarky tone, I want to ask if this is part of the 100 year business plan NI has. On a personal level I just hope LabVIEW can stay relevant until retirement. I do still have a perpetual license to 2022 Q3, which supports Windows 11. So even if NI goes away I'll be able to be in my language of choice until 11 is no longer supported. LabVIEW has changed the way I think about programming in such a way that I think it is hard to go to other languages. My brain thinks in parallel paths, and data dependence, not lines of code and single instructions. Whenever I develop in C++ I can't help but feel how linear it is. I'm sure higher level languages are better, but at the same time I don't really want to change. As long as I can work at a place that needs test applications, and doesn't care how they are developed, I'll be happy pushing LabVIEW. The fog of the future is hard to see though. The next year or two looks very uncertain in my career. But looking at the past, working in LabVIEW has felt like winning the lottery. Thinking about this helps me stay positive.
  10. I just downloaded the 0.2.1 posted here and it works just fine. Make sure you are logged in to download. I just tried it and it still works just as well as I remember it. This does require flash, which most browsers don't support, but you can find a standalone Flash Player by Adobe. I ran that locally and it worked as expected.
  11. I agree, and it does at times sound desperate. But also is this just how things are in the corporate world? Like do they really care how they are perceived if in the end they get what they want? They could offer more money, or they could just first do a marketing campaign. Relatively low risk, maybe it doesn't work out but I'm sure people who are in charge of these kinds of acquisitions have a playbook, that I'm unfamiliar with. It sorta feels like we are the kids in a divorce proceedings. Just going along with little or no influence on what happens to us. I hope weekday dad buys us a new DVD player.
  12. If you are talking about my original post, the code is still there and can be downloaded just fine. Why does everyone have problems downloading this except me? https://lavag.org/applications/core/interface/file/attachment.php?id=8434
  13. I haven't used ChatGPT yet. But from what I've seen the power of it comes in the conversation like threads it can make. I saw someone ask it for advice on how to get kids to eat vegetables. It gave a list of things on how to eat them, but it was pretty general. They then were able to refine the request and say they needed advice specifically for children, and it came back much better. Any examples that seem very shallow and unimpressive, are likely just a single line of a request, and not a conversation asking it to refine or be more specific. I have been having fun with StableDiffusion and AI generated images. This too has the same problem that you most often can't just put in some text and get something awesome. Most of the time you need to refine it, over and over, tweaking things, making decisions about what you are looking for. Both in the prompts and in the parts of the image and how you want it to change. I made a thread on the dark side about some of my experimentations. In that thread is my new Linkedin profile picture. This stuff is moving so very fast. People are making changes to their work flow to have AI generate concept art, or inspire other things like writers block, alternate endings, or generating tiling texture for surfaces in a game. It isn't replacing industries, it is another tool to get jobs done. Of course you can combine these two things. Here someone asked ChatGPT to explain whey AI art isn't real. And then asking it again to say why it is superior.
  14. I've never used any of these people for training, but they have done training in the past. Samuel Taggart, Chris Roebuck, Fabiola De la Cueva, Jeffrey Habets, and Neil Pate and some I found. All I did was google LabVIEW people advertising they had a CPI. These people are pretty easy to find on Linkedin.
  15. Sorry that wasn't clear from your message. Personally I want to work less, not more, so I am not the right person for helping you with this. I know there are several people that specialize in LabVIEW training. I'd search for those with a CPI, or other training background.
  16. People generally don't work for free, and private training sessions cost time and money. However there are lots of free online resources for videos. https://labviewwiki.org/wiki/Online_videos
  17. Probably here somewhere: C:\ProgramData\JKI\VIPM
  18. 2018 attached. It does require the OpenG File package. Find Ping IP Devices (2018).vi
  19. There was a couple, but I never used any of them. I think BLT is one that meets the needs, and I think Wirebird Labs had one, but that hasn't had any update in forever.
  20. Hey let's not get hasty now. But honestly this has bitten me on a few occasions as well, so don't feel bad.
  21. Is this a sequence editor? If so I don't see the tab design being very scalable. Here is a screenshot of something we do. It has a tree control on the left with all the different step types, with categories for them. Then the user can drag and drop an icon over to the right. Once they do a dialog will come up with the settings for the step they selected. They can also double click a step on the right for the settings for that step to come up again. There's lots of extra stuff like custom step limits, which is a slide out, and visual arrows if a step has a condition for jumping. Loops are seen as a tree on the right where you can drag and drop into or out of loops, and rearranging steps is also a drag and drop. There is also columns for icons that can be clicked, which is actually two picture controls because you can't have multiple glyphs in a tree, and if you can hack that in the icon size has to be real small. Each step has a typed cluster with the settings for it, that get flattened to a variant. You might not need to get this fancy, but a listbox of step types, and a listbox for the sequence might be a good start.
  22. I don't like VIs to be set to Modal in the VI Properties. I actually have a VI Analyzer test to find these. This is because when the VI reserved to be ran, but the panel is open, it will be modal, but also not running. In this situations aborting gracefully is difficult, and needs either an Abort All VI set to run when opened, or something like my Tray Launcher. Because of this I have very few modal VIs in my code, and instead I will set them to modal using VI server when the VI is running. If I have a VI that I want to be Model when it is running, I will set it with something like a constant of True when calling those panel manipulation VIs. I guess that's a long way to say "For debugging benefits". As for what VIs do I want to be Model? I'd say things that are dialog settings that need to be filled out now. If my user presses Start Test a dialog comes up asking about the details of the test to be ran, and that dialog is Model.
  23. I'm convinced most of the users of my software are illiterate. The good users of my software know the common troubleshooting techniques, and will blindly run through turning it off and on again before telling me. Then if "The red screen" comes up again they'll tell me, or take a picture with their phone. Honestly I prefer this over the "I don't know what it said".
  24. Finding only 156 LabVIEW jobs, and 476 COBAL jobs could be seen a couple ways. You could use it as an example of how bad LabVIEW adoption is. "See how there are so many more COBOL jobs than LabVIEW, and it hasn't been used in decades", or you could say the market has too many LabVIEW developers, for the number of available jobs in that area. I was referring to the multiple posts on that forum looking for work, and recruiters. They either had no reply, or replies from other people also looking for work. This post mentions using COBOL in several projects in the 2000s.
×
×
  • Create New...

Important Information

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