-
Posts
1,172 -
Joined
-
Last visited
-
Days Won
106
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by Neil Pate
-
NXG, I am trying to love you but you are making it so difficult
Neil Pate replied to Neil Pate's topic in LabVIEW General
Yes but the last two links are what make this tragically ironic... -
messenger library Instructional videos on YouTube
Neil Pate replied to drjdpowell's topic in Application Design & Architecture
Yeah as others have pointed out, the nodelay technique is for getting millisecond type response times. Something else is going on in your system. -
messenger library Instructional videos on YouTube
Neil Pate replied to drjdpowell's topic in Application Design & Architecture
I am pretty sure it is on a per socket basis. Setting that should have no effect on any other applications. -
NXG, I am trying to love you but you are making it so difficult
Neil Pate replied to Neil Pate's topic in LabVIEW General
In order to resize an array you have to click on the tiny dot in the middle of the drag handle that only appears if your mouse is leaving the control and is some weird distance way from the border. In other words, in this picture in order to get the resize drag handle to appear I have to move my mouse over the control, then out a little bit into the middle of space with no visual indication how far out to move it until the horizontal bar appears and then find the tiny dot in the middle and then drag that. 🤮 How could this UX make it through 8 years of development? 2020-05-07 22-49-46.mkv -
As seen in the other thread, I am pretty negative about NXG. However I would like to temper this with some things I have seen in NXG which I do like Vector based GUI. I don't like the choice of colours, fonts, widgets or pretty much any of the iconography but I do think the switch to vectors is an absolute necessity for a modern application running in high DPI settings. Zoom! I was pleasantly surprised when I accidentally zoomed on the Front Panel. In current gen to get pixel perfect GUIs sometime I find myself resorting to the windows magnifier or dropping down to 1024x768, so being able to zoom is a welcome addition. The helper alignment hints when placing Front Panel controls. Anyone who has used any kind of vector drawing application in the last 5 years will be immediately familiar here. (I am not sure why this is not done when designing a typedef though). The placeholder location for controls and terminals when dropped from the "other" view. No more weird and random location for new controls and terminals! WebVIs. The WebModule is not ready for any heavy lifting, but for basic web pages it currently does the trick. As a LabVIEW developer I really do not want to ever have to learn JS or HTML5 and WebVIs are certainly many steps in this direction (now please port this to current gen!). Now that I know what I am doing I guess I could start from nothing and put together a simple web VI that communicates with something else via a REST API in a couple of hours. The build process turns the VI into a bunch of HTML and JS which you can serve up with any web server. This technology has potential! The panel on the right hand side which can stay open and give you quick access to the properties of controls. It currently pretty ugly and unfriendly to usability with all its greyness, but the concept is quite sound. It can be hidden away when not needed. I am so used to the current gen properties window that it takes me a while to find anything but I expect that to diminish with more use. The icon editor. The default size of the glyphs is much too large but in general this pane gets the job done. At a glance I can see the association of all the terminals. I am not so keen at having Inputs and Outputs as submenu items as this just slows things down a bit, but the concept of showing the user the "direction" of the control is welcome. I have not really used it to create banners and stuff like that yet so I cannot comment too much on that UX. The Build Queue lists about 10 of the last builds which although I did not need in my experimental project I can see how this might be useful. If the build version number could be included in the table this would be most welcome. These bottom pane things can all be collapsed away when not needed which is good. That is about it. My experiment only involved creating a WebVI, so it is possible I have missed some neat things that can be done when developing a traditional desktop application. Does anybody have any others to add to this list?
-
messenger library Instructional videos on YouTube
Neil Pate replied to drjdpowell's topic in Application Design & Architecture
I do not know the details of this messaging protocol but I can say that if the TCP/IP transmit packet sizes are small Windows will, by default, wait a bit to see if there is any more data to be sent so it can transmit it a bit more efficiently. See here. This is usually more annoying than helpful. Happily it can be turned off. Take a look at the TCP_NoDelay VI in this library. I did not write it and I am not entirely sure where I got it from but it works really nicely. Win32 Util.zip -
NXG, I am trying to love you but you are making it so difficult
Neil Pate replied to Neil Pate's topic in LabVIEW General
Fair point. I will do a mass compile and re-run the experiment. (Sorry ShaunR, I guess you were also right) -
NXG, I am trying to love you but you are making it so difficult
Neil Pate replied to Neil Pate's topic in LabVIEW General
You did not read my post. This is a LabVIEW 2019 project. Yet somehow NXG is not smart enough to know this. -
NXG, I am trying to love you but you are making it so difficult
Neil Pate replied to Neil Pate's topic in LabVIEW General
Just for fun I tried the code conversion utility on a 2019 project I am working on. This: Got turned into this: Yeah, that is a no then... Totally ignoring the 1300 things I have to attend to manually just look at the project tree. Urgh.... -
NXG, I am trying to love you but you are making it so difficult
Neil Pate replied to Neil Pate's topic in LabVIEW General
My experiment with NXG is now over. A simple web page has taken about 5x longer than I had planned for. Some of this is due to me underestimating the nuances of the web module but most of it has been me fighting the new IDE. The other night instead of happily diving into some after dinner software development fun I was actually filled with dread at the thought of having to open NXG and finish what I started, it really is that unpleasant to use. For me, NXG is nowhere near usable in a real project that I expect to have to develop, maintain and make money off. Some stuff seems to work, but everything has this toy feel about it. It is ugly, sluggish, unintuitive and absolutely repulsive to develop with. Sorry that sounds harsh, but it has been in development for over 8 years and has an incredibly strong pedigree to compare against. NI have taken almost everything that made current gen so special and thrown it in the bin. NXG is clearly being managed and developed by people who have never actually become intimately familiar with LabVIEW. I will check back in a few years time but at this point I am extremely disappointed and now need to think very strongly about where my professional systems development career is going. Current Gen is going to be sunsetted at some point and will fade into irrelevance due to its closed source nature (not that open sourcing something of its complexity would help now, it is too late for that). I could wait a few years if I had confidence that the ship was sailing in the right direction, but apart from AQ who consistently has the courage to actually even reply to these threads there is virtually nothing coming back from NI and I feel that the HMS NXG-itanic is sailing full steam ahead towards its doom. NI is run by extremely clever people who have no doubt done their sums and analyses and are charting the course for NXG that they think will bring them the most success in the long-run. I have a strong appreciation for just how big an undertaking something like NXG is, but given where it is after 8 years of development it just seems that I am not the target market and there is not too much I can do about it. Happily, given how robust NI hardware and current gen LabVIEW actually are I suspect there will be quite a bit of work supporting old systems for at least another decade (perhaps more). -
OK I see. Interesting I never really thought about doing anything like that. I will keep that technique in my pocket for next time I am doing 1D array stuff. Thanks!
-
NXG, I am trying to love you but you are making it so difficult
Neil Pate replied to Neil Pate's topic in LabVIEW General
It is so interesting how everyone uses LabVIEW differently. For me, the ability to stop a running application and still have the Front Panel of a particular sub VI open and then, without doing any more work, run it continuously and allow me to debug is so valuable. -
Wow, now I really am interested! Can you post a picture of something neat you can do with a Set? I have not really had the "aha!" moment yet with Sets.
-
I am a bit late to the Map party. I love them though, thanks NI. 🤩 For those that have not tried them, take a quick look. I have only used the Map a few times (so cannot comment on Sets) but the API is nice and simple. Goodbye Variant Attributes 🙂
-
NXG, I am trying to love you but you are making it so difficult
Neil Pate replied to Neil Pate's topic in LabVIEW General
NXG actually seems quite good at figuring out what I am looking for with quick drop; I just type the name of the primitive and it appears. This is good as I cannot identify anything because the new icons all look totally weird to me... -
NXG, I am trying to love you but you are making it so difficult
Neil Pate replied to Neil Pate's topic in LabVIEW General
I am not convinced this is a good idea to promote these to mere mortals though. Someone new to LabVIEW might actually try and use and remember this (instead of just typing the "<" symbol which also works...) Also, as a leftie my right hand hovers on the arrow keys when programming, so nowhere near the left hand side of the keyboard. -
NXG, I am trying to love you but you are making it so difficult
Neil Pate replied to Neil Pate's topic in LabVIEW General
I am not sure if I have mentioned that the fist time NXG starts it essentially freezes my computer so hard I cannot even click anywhere else (like the Windows start menu) or bring up the Windows task manager. This hard freeze lasts anywhere from 30s to 60s. Thankfully things are better after subsequent launches. -
NXG, I am trying to love you but you are making it so difficult
Neil Pate replied to Neil Pate's topic in LabVIEW General
You mean like this? That is possible. Obviously for the sake of change a colon is now used to separate the elements, because hey they were changing everything else, right?. -
NXG, I am trying to love you but you are making it so difficult
Neil Pate replied to Neil Pate's topic in LabVIEW General
Your two blog posts are really interesting reading, thanks for taking the time to document your experience. You really are persistant! This is a really nice writeup that will probably be totally ignored by all the managers and c# developers at NI and their sub contractors. Your example of setting the scale ranges just screams .net interface! Yuck 😞 Same with this unbundling drama in classes. No LabVIEW developer would look at the technique in NXG and come to the conclusion that is a good experience. -
NXG, I am trying to love you but you are making it so difficult
Neil Pate replied to Neil Pate's topic in LabVIEW General
And I had totally forgotten Run Continuously has been removed. Like all good citizens I don't use this for actually running anything, but it is so helpful when debugging. In Current Gen when I have a VI that is misbehaving and I already have all the data "pre-loaded" in the controls I turn on the Retain Wire Values, click Run Continuously and I can just hover my mouse over the wires and can usually very quickly spot the mistake in my code. Why is a feature like this removed? Sure, it is not a great thing to use this to actually run my application, but why removed it? Hide it away somewhere if you are worried it is going to be abused. I raised this issue in the technology preview forums years ago. Again, surely there are others who use this feature regularly? Edit: so I was probably too harsh here, sorry. It seems that in NXG if you have Retain Wire Values turned on and you hover over wires after the VI has run you do actually get a small tooltip type popup that displays the value on the wire. I need to play a bit more with this implementation. Edit2: actually I forgot another useful scenario where I still use run continuously. Simple VI prototyping. I write some code that does some kind of data manipulation and want to test it quickly manually with a bunch of input vectors. Hit run continuously and very quickly test a bunch of the input values and manually observe the outputs. Now in NXG I will have to create a new VI, drop down a loop of some sort, wire drop in my sub VI etc etc. What a pain in the ass... 🤮 -
NXG, I am trying to love you but you are making it so difficult
Neil Pate replied to Neil Pate's topic in LabVIEW General
The GUI of NXG is unfortunately stuck in 2010. Perhaps forever. The depressing thing is I don't even want to know how much money has been sunk into development. -
NXG, I am trying to love you but you are making it so difficult
Neil Pate replied to Neil Pate's topic in LabVIEW General
Apparently X is now delete. (As an aside, not sure why the "X" is different sizes on these two icons. Also why do some of these things have blue overlays (like the Create Recursive) but not others (Like Create File Suffix or Check If File Of Folder Exists)) oh no wait, it is not. Here X is close. Here it is close. And now we use the bin for delete. Sigh... -
NXG, I am trying to love you but you are making it so difficult
Neil Pate replied to Neil Pate's topic in LabVIEW General
Why do web VIs have a different file extension? Now I have not used these on NXG but I sincerely hope we don't have a different file extension for RT and FPGA VIs. -
NXG, I am trying to love you but you are making it so difficult
Neil Pate replied to Neil Pate's topic in LabVIEW General
Speaking of quickdrop... "esseqz" really just flows out of the fingertips does it not? (Thankfully just by typing "Less" in the quickdrop you get want you want). I think the machine learning algorithm that was used to generate these "shortcuts" might need a bit more training data. Pity the algorithm did not at some point put their hand up and say, hang on, this is a bit crazy. Just look at the others, "ess" for Less... "erg" for Retain First Error