We are a group of students from the University of Cambridge who are developing a new data connectivity system for researchers like us, its up at https://rinocloud.com
It currently integrates with LabVIEW, Matlab and Python. The plugin will point your data directly at our secure storage where you can automatically add metadata results for easy and fast retrieval. Weâ€™re also rolling out plotting features for presenting the data, collaboration features for project teams and an integrated lab book.
We are looking for new users, researchers like us, to help us to get feedback from our product. Youâ€™ll be able to directly influence the product development so that you get a data system that is useful for you.
Know more at https://rinocloud.com
By Steen Schmidt
I've decided to take the temperature on a known issue, that lvclass files retain knowledge of some of their old content after it's deleted.
For some reason I'm not allowed to upload lvclass files, so I'll describe it instead (using LV2014SP1):
1) Create a new class and save it on disk as class1.lvclass. No member data nor methods, file size on disk is 8 kB.
2) Add one piece of significantly sized (to easier see the issue) member data, I added a 1000x100 array of DBL (with random default data in it). Save the class again, and now class1.lvclass is 4604 kB (why so much, should be around 1000 kB?).
3) Delete all member data again and resave the class. File size on disk is now 1171 kB, I'd have expected 8 kB.
4) I can't ever get rid of that extra data in the lvclass file, not even when I "save as" to create a similar class.
A) What's the reason behind this issue?
B) Is there any way to really delete stuff from a class file, or is the only way to recreate every class from scratch if you want something truly gone?
C) Is there a list (perhaps internal to NI) of which problems this issue causes? Here I'm talking about stuff like this and numerous other threads about class data suddenly not being updated or member data or methods not being called correctly with DD.
By John Lokanis
I'm working on a large project and have run into a quandary about how to best deal with a large shared data set.
I have a set of classes that define 3 data structures. One is for a script read from disk that the application executes. Another is the output data from the program, generated as the script is executed. The last is a summary of the current state of execution of the script. The first two can be significant in size and are unbounded.
In my application, I have one actor (with sub actors) responsible for reading the script from disk, executing it and collecting the data. It also updates the summary status data. Let's call this the control actor. I have another actor that takes the data and displays it to the user, allowing them to navigate through it while the script is being executed. Lets call this the UI actor. The last actor is responsible for communicating the summary to another application over the network. We will call this the comm actor.
So, the control actor is generating the data and the other two are consumers of the data. I had originally thought to have all the data stored as state data in the control actor and then as it is updated/created just message it to the other actors. But then they would essentially have to maintain a copy of the data to do their job. This seems inefficient. Then I thought I could wrap the data classes in DVRs and send the DVRs to the other classes. That way they could share the same data. The problem with that is they would not control when their data gets updated. And I am violating the philosophy of actors by creating what is essentially a back channel for data to be accessed outside of messages. Also, I could block the 'read' actors when I am writing to the DVR wrapped class. I would have to be careful when updating subsections to lock the DVR in an in-place structure to do the modify and write. Then comes the question of how to best alert the readers to changes made to the data by the writer. Simpy send them a message with the same DVRs in it? Or send a data-less message and have them look at the updated values and take appropriate action?
So, any best practices or thoughts on how to resolve this issue? I appreciate any feedback..
Hi all !
I mainly use XML files as configuration file for my applications. And then use flatten/unflatten from XML to populate a configuration cluster...
I've made a routine which creates the configuration file if it has been deleted by the user. In that case the XML file is create with default values.
I usually 'store' these values in the strict type definition of my cluster (see In Strict Typedef png). I was wondering if it was a good idea ? Or should I explicitly bundle the values in my code (like in Init png) ?