-
Posts
148 -
Joined
-
Last visited
-
Days Won
6
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by Stagg54
-
Shameless self-plug: I do have an online video course on Using Git Effectively. It includes some material on GitLab as well. https://www.sasworkshops.com/using-git-effectively-course-preview
-
yeah the easy way is just use System Exec to call Git from the CLI. I would also look at these: https://www.vipm.io/package/hse_lib_git_api/ https://www.vipm.io/package/hse_lib_gitlab_api/
-
So there is no fixed agenda. It's an open-space format. Nancy will be giving a keynote. After that it is all open space. Immediately after the keynote we have a brief pitch session. Everyone who wants to host a discussion gets a chance to say "I want to talk about X in room 5 at 10AM" or something similar. There will a post-it board (on Miro) that has all the rooms and timeslots and we just drop post-its in there for the topics. Then you just wander into whatever discussions sound interesting. Topics last year varied from lots of sales and marketing related questions, to selling your business, to contract negotations... Steve did one on having fun at work. It just depends.There will most definitely be several sales and marketing related discussions (that's always a hot topic). Aside from that, its just whatever is on people's minds. Here is the Miro board for last year. https://miro.com/app/board/uXjVNG9prio=/?share_link_id=300928460276
-
We are doing the LabVIEW Consultant Summit Again. Don't miss it! https://www.universe.com/events/virtual-the-labview-consultant-summit-2024-tickets-8YFSN5
-
A question about this came up the other day and I didn't have a good answer. If you have a VI that needs to be run multiple times in parallel and all the results collected, which is better? Parallel For Loop or Async Call and Collect? They are already calling it in a for loop serially and are just looking for better performance - it talks to several identical hardware devices so the for loop autoindexes on the Hardware refs. Parallel For Loop seems like an easy answer, but what are the tradeoffs? I seem to remember something about Parallel For Loop and the number of cores - I don't really know. I haven't used the parallel for loop much. My initial answer was to just try both approaches and benchmark them.
-
LVCE Linux activation expired, can't reactivate
Stagg54 replied to Sparkette's topic in LabVIEW Community Edition
And we wonder why LabVIEW is losing out to tools like Python.. -
Actor framework - Substitute actor override
Stagg54 replied to Youssef Menjour's topic in LabVIEW General
I am not an AF person, but I think if you look at the State Pattern Actor, I'm pretty sure it uses that override. -
Nancy, Malcolm, Taylor and I are putting on an online unconference for LabVIEW consultants. https://www.lvconsultantsummit.com/
-
It feels like you are trying to be too clever. Brute force seems like the easier way. Yes it's less elegant. Unless your cluster is enormous, I would probably just brute force it.
-
It is a huge challenge in LabVIEW. It is often overlooked by beginners which causes lots of problems. I often just have a common folder on disk full of typedefs. I have tried to use more generic types as much as possible when transferring data across module boundaries. If I can I pass some native datatype like a map, set or array. For a waveform, why not just a simple native waveform? If you have metadata, IIRC waveforms accept metadata just like variants do. Occassionally, I'll even pass a simple cluster without making it a typedef. ie. an x-y point is just a cluster of 2 doubles. No real need to make that a typedef. Of course as soon as it gets any more complicated, then you probably need a typedef. I've also given a lot of thought to using JSON to pass data between modules, but haven't quite worked that out yet.
-
Finding work is one of the bigger challenges and often results in a lot of waiting around for contracts to resolve and then having a bunch of them resolve at once. Feast or Famine.
-
If you don't like downtime and just want to write LabVIEW code, being a consultant is a horrible idea. Find a better employer.
-
forgot to mention this part: Presenters at the GLA Summit will be eligible to receive 30 recertification points for NI LabVIEW certifications. Attendees will also be able to receive 20 points.
-
We are looking for presentations. more info here: https://www.glasummit.org/
-
Marketing - the 3rd oldest profession!
-
Those original scripts will no longer work with new versions of Git. In newer versions the 2 files being diffed will have the same file name. The script needs to account for that condition and rename the remote file. I have a created a similar bash script here that accounts for that. https://gitlab.com/sas-blog/LVCompare-Merge-Setup
-
The conference went well. We got lots of good video, but it will take a while to edit. I don't have an exact timeframe, but they should be posted within the next month or so. We had an extra cameraman and better lighting and angles this year, so the videos should be even better than last year.
-
I am taking a sabbatical from LabVIEW and NI R&D
Stagg54 replied to Aristos Queue's topic in LAVA Lounge
I'll just stick with the self-deprecating one "yes_i_am_aware_i_am_still_an_idiot". Probably not taken. -
see here for how to load stuff dynamically https://www.sasworkshops.com/ppl-plugins/ That solves part of your problem. The other half is about organizing your object heirarchy. The GOF can help here. You can buy the original, but this is better. https://refactoring.guru/design-patterns/book I would envision using an interface for switch and an interface for DMM. the DMM with a switch would implement both. You would need some way to discover that or hardcode it into a config file or something. Sorry if that is a little vague, but I could envision several different ways to do it. I'd probably just sit down with LV and iterate until I found something that works. And then sit and stew and make sure I didn't miss anything. I'd still be prepared to throw away version 1 in favor of version 2 because you are sure to miss something. Good luck.
-
Returning Python exceptions to LabVIEW
Stagg54 replied to Phillip Brooks's topic in Calling External Code
I'm no Python guru, but maybe a decorator? and or maybe monkeypatching? or some combination? -
I'll be there. But since you are also going to GDevCon NA, we could do a LAVA BBQ there as well. Or might might I suggest a LAVA tubing event? There is a whitewater park a block from the venue.
-
Separating "installer" development from code development
Stagg54 replied to infinitenothing's topic in Source Code Control
Possibly. Depends on your definition of better. They certainly had more constraints to work within and it forced them to be more efficient with things like memory usage and storage space. One could argue that makes for better code, but optimizing for those things often compromises readability. So what do you value more? and how do you define "better" software? -
Separating "installer" development from code development
Stagg54 replied to infinitenothing's topic in Source Code Control
To that I would say, someone else looking at your code is much more likely to find the holes than you are. If the holes were obvious to you, you wouldn't have put them there to begin with. We inherently understand that, that's why we do code reviews. However, often the code review is too late to really change things. What if we caught those problems while they were being written and fixed them then? What's the old saying "2 heads are better than 1"? -
Separating "installer" development from code development
Stagg54 replied to infinitenothing's topic in Source Code Control
The Joel test was good for its time, but it's 20 years old. I think it's time we reevaluate it. Number 8 is probably one of the most outdated. Remote work didn't even really exist back then. Here is a more modern take on it. https://www.sasworkshops.com/joel-3-joel-test/