Jump to content

Neil Pate

Members
  • Posts

    1,156
  • Joined

  • Last visited

  • Days Won

    102

Everything posted by Neil Pate

  1. I feel your pain. I did a long private session about two years ago with some people inside NI where I showed them my current workflow and how I did not think it was going to work in NXG. Nothing at all changed as a result of that feedback.
  2. A pack of hungry wolves could not hold me back. I am just waiting for the thread Jeff said he was going to make.
  3. It was not done under a work-for-hire arrangement, the product is completely my own IP (apart from the third-party toolkits I use of some of which are closed-source). Thanks for all the advice everyone. I do want to release this now I just need to find time to tidy up and strip out stuff I cannot distribute.
  4. Bullet 1: yes that is fine. I really don't expect anyone to get rich from it, if they do I would hope they would feel bad enough to give me something back (but if they didn't this would not bother me too much). Bullet 2: That would be nice, but given the nature of this community I would be quite surprised if it happened enough to worry about Bullet 3: No, that I don't want. BSD-3 sounds like a good compromise. My understanding of the industry after being in it for approaching 20 years is that nobody gets rich quickly and without a lot of hard work. I doubt any of the toolkits on the Tools Network have made anywhere near enough money to justify all the effort required to put them there.
  5. Thanks Jeff. All of us here just want NXG to be awesome, so anything we can do to help get it right (in our opinion) I am sure we will do.
  6. Never heard of that license. It pretty accurately sums it up though. Thanks!
  7. I don't really want to hand edit 700 VIs. As I said, if I do release it I really don't mind what others do to it. Sorry my question was a bit vague, I actually wanted to ask if I *have to* put a license on every VI. I would be more than happy just putting the "do whatever you want" license (probably MIT License) on the GitHub page if that was sufficient for me to not get sued if someone's heart lung machine stops working due my code.
  8. Hi gang, I have been working on an application recently and as an experiment I am thinking about open sourcing the whole shebang. Highlights of the application are as follows: Multiple camera vision inspection and analysis Analysis of images using traditional NI Vision and also GPU accelerated TensorFlow Storing of detected objects in a SQL DB Serving up access to this DB via a simple WebService NXG WebVI implementation of a simple data dashboard Uses my home grown lightweight actor framework (not NI AF) and includes a simple subpanel based GUI and a bunch of other convenicence stuff (like logging and error handler actors) All in all, there are probably some parts of the application that may be of interest to others. It is a medium size application (50 classes, 700 VIs) Now, I have a few problems... I never intended for the application to be open sourced, so none of the VIs have license notices or anything like that. I have very little experience with choosing open source licenses. Essentially I don't really care what anyone else does with my stuff as long as I cannot be sued if something goes wrong and maybe if they make some money off it they buy me a beer some day I have been developing my framework for quite a long time, and as my personal style is to only comment stuff that is not obvious to infer from the code new users will probably find the documentation quite lacking. I do not have the time or energy to actually support this thing very much (I have a four year old and a six year old...). So it would be a gift to the community but not something I could regularly help others with, and I am not sure if this will end up making me look like a terrible person. I can not really just make public my GitHub repository for my actual commercial project as it contains a bunch of stuff my customer would probably not want in the public domain, so I would need to make a new publically consumable version which will take considerable effort I use a commerical third party toolkit for the TensorFlow stuff, and so without a license nobody else would be able to run any of the object detection stuff. I could convert this back to the NI Vision TF API if need be. I am happy to do (4 and 5) if there is interest in this. Does anyone think this is something of value?
  9. Yes but the last two links are what make this tragically ironic...
  10. Yeah as others have pointed out, the nodelay technique is for getting millisecond type response times. Something else is going on in your system.
  11. I am pretty sure it is on a per socket basis. Setting that should have no effect on any other applications.
  12. 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
  13. 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?
  14. 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
  15. Fair point. I will do a mass compile and re-run the experiment. (Sorry ShaunR, I guess you were also right)
  16. You did not read my post. This is a LabVIEW 2019 project. Yet somehow NXG is not smart enough to know this.
  17. 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....
  18. 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).
  19. https://www.cvedetails.com/vulnerability-list/vendor_id-12786/product_id-25696/NI-Labview.html
  20. 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!
  21. 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.
  22. 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.
  23. 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 🙂
  24. 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...
×
×
  • Create New...

Important Information

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