-
Posts
158 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by Jacemdom
-
Data only recursion vs data&function(object) recursion
Jacemdom replied to Jacemdom's topic in LAVA Lounge
the subject of this thread could be "Stacked data vs function recursion implementations" I believe this implementation is more inline with your example and it looks more like your recursive implementation without the recursing function... I know that recursion is used in other languages and that it is very popular with "professionnal programmers", but this is not what i'm looking for. I also know that recursion is used in LV and i would like to get some of those so i can code them with data only (iterative) coding and analyse the advantages and disadvantages of both implementation. This desire comes from a feeling that recursion is a shortcut in development and that it can lead to more bug prone software. I remember a comment a while ago on Info-LV (85% certainty that it came from Rolf.K.) stating that it can be harder to implement recursion with stacked algorithms, but it forces one to think of use cases that would not be considered when building the recursive function algorithm, and thus created more robust code. I also believe that recursion is highly popular in text languages as i don't beleive they offer already built looping with shift registers like LV does. And loops with shift registers are practically always the base for iterative data looping "recursive" algorithm. If i try to use an analogy to convey my inner feeling about the subject (take into account that an analogy is not made to prove a point, but to give another point of view to share ones taughts) Using function recursion in LV feels to me like someone using a hammer gun like an hammer and slamming the hammer gun on the nails...i also feel this way about OO in LV...old methods used in a new way of solving problems... -
As already stated, i suggest STRONGLYYYYY that you look into clusters, they can clear up wires and organize your information.
-
Data only recursion vs data&function(object) recursion
Jacemdom replied to Jacemdom's topic in LAVA Lounge
For an equal comparison, your code must be compared to the top example, that does not involve a division, and not the bottom one that permits higher orders of recursions. So it is this one : That i find even simpler due to the fact that it does not hide code in a case structure. -
ANOUNCING THE WINNER OF THE MG CODDING CHALLENGE
Jacemdom replied to Mark Balla's topic in LabVIEW General
I downloaded some of the entries to evaluate them. After 5 minutes fiddling around i evaluated that i would have to invest much more time than 5 minutes to do a proper evaluation. In order to get more people to evaluate, it must be considered that they maybe did not even read about the challenge or what the goals and limitations were. It has to be clear and guide the evaluators from the beginning until the final evaluation. -
Data only recursion vs data&function(object) recursion
Jacemdom replied to Jacemdom's topic in LAVA Lounge
Have you ever had to use this in a concrete (deployed solution working and used by someone else) solution? If yes, could you explain the problem so that i can put it in perspective? Would your expression equal this in LV? If yes, what would function recursion add? The top one is the simpler believed to equal your expression and the below one is a configurable one where n can be changed to make somthing like F(0) = 1 F(1) = 1 F(x) = 1 F(n) = F(n-1) + F(n-2) + F(n-x)... -
From Experts-Exchange newsletter :
-
If you are under a windows network, I think it would be possible to put your files in a folder that you have access and that they don't. You could probably make your app run under this user also with a "run as.." thing. I don't know why it could not work in other networks also (Novell, Linux...).
-
Data only recursion vs data&function(object) recursion
Jacemdom replied to Jacemdom's topic in LAVA Lounge
Some clarifications of my quest... I am looking for already solved or to be solved with software in real life cases in order to analyse why the native dataflow in LabVIEW could not solve efficiently a particular case in order to comprehend why it is needed to push recursion as well on the methods side. I would like to see what are the limits of the dataflow if there are any on this subject. One clear limit with the dataflow being sharing data between parallel process, i would like to analyse recursion in the same way. So here is the first case for analysis. Recursion case 1 : Listing the content of a folder. And all subfolders...and all subfolders and... i see no need or advantages to push the recursion on the methods(VIs) also. -
Salut. In relation to : Automatic Recursion, Recursive Brat I don't see any advantages of implementing recursion with recursive functions instead of just recursing trough with a recursive data structure. Can someone give some?
-
Class plugins in LV binary application
Jacemdom replied to Tim Erickson's topic in Object-Oriented Programming
Why not use LLBs? -
Saved for version 8 Download File:post-731-1160677733.vi
-
Look at this, maybe it will give you some info... Download File:post-731-1160664122.vi
-
LabVIEW, Dataflow, OO, By Value, By Ref (take 2)
Jacemdom replied to Guillaume Lessard's topic in Object-Oriented Programming
For the first point : Does this mean that you believe that the wire in LabVIEW is really a wire? What do you think the wire is when you decompose it and dig further in the LabVIEW core? I would tend to say that it is an object with properties and methods... And what are those Objects? lines of code...and what are those lines of code? series of bits...and what are those series of bits? gates that allow or disallow the flow of electicity or dataflow! The analogy is just there to allow some non CS people to understand the dataflow basic idea. Data flows trough a series of functions and thus is transformed... Do you really beleive i'm trying to establish pipe = wire? For the second point : Could you then explain what is mitosis? From Wikipedia Mitosis is the process by which a cell separates its duplicated genome into two identical halves. Thought of the day : Complexity can be caused by poor abstraction...or out of context reasonning...or biting a bigger peice than you are able to chew... Eating a sandwich bite by bite is simple, putting the entire sandwich in your mouth creates a period of complexity that can ultimately lead to death... Anyone remembers those first experiments of trying to put as much as possible in your mouth and try to eat it... -
Could someone translate this in english?
-
my real name is Dominic, Jacemdom comes from when i got tired of creating usernames, on the web, that were already used and decided to create one, that would unlikely been used before. I only got bumped once and that was due to me having unsubsribed from a site and trying later to subsribe again and the server add remembered my old name , so i had to wait a couple of months for their automated flush process to act and then was able to use my virtual name again. It comes from JACob oldest son, EMrik youngest and DOMinic If we live in an Object world, then unique inheritance is a fantasy!
-
LabVIEW, Dataflow, OO, By Value, By Ref (take 2)
Jacemdom replied to Guillaume Lessard's topic in Object-Oriented Programming
From my point of vue, references in LV ressemble more like "Serialization" than dataflow. Could you elaborate a bit on the subject? I never feel like i am or that soemone else is arguing just for the sake. This is an object world concept. What i do believe, is that some of my "outputted" ideas(data), especially the water analogy, flowed from the interior of my head and "inputted" into yours to be processed (functions) and "outputted" from your head and "inputted" into mine, was processed (functions) and created. That brings me to conclude (like i don't remember who talked about this in thos discussion) that there can be flows without wires, like a wireless phone...the flows are just harder to follow and the data is thrown in all directions and can possibly and will cause some interferences So water analogy take 3 : In order to easily understand the basic principle of LabVIEW, one could take the example of bringing water (actual wanted information, called data in LabVIEW) into your house so you could drink it. You first have to find a suitable terrain for your project (this is called a diagram in LabVIEW). You then start out from the lake (contains the information or data you want to acquire or pump) where you would insert a pump (acquisition function, called a VI in LabVIEW) and then use pipes(called wires in LabVIEW) to bring it to the filtration station (another function) and then through more pipes (wires) to finally reach the final function that is your Tap(that also serve as the user interface for human interaction, called a front panel in LabVIEW) By the way, i don't have any real hands-on practical experience with the standard OO by ref implementation in any languages. This is in part due to tha fact that when i come in contact with one of those i react badly and this is probably due to my nature of not liking complexity. The way i see it is you live it, you learn it, you code it, you forget about it! And i must say that i appreciate greatly what LabVIEW as avoided me for all those years. But what i have though is years and years and years and years of modeling around it, over it, under it, and the further away as possible from it, to have come to the conclusions as a general life concept, that an object view of the world is not what will enable humanity to solve the challenges ahead because of its deconnected nature that make people really believe thinghs like ther is a physical part to my body and there is a psychological part to it and they are not related. This is also the model that made humanity beleive that there is the trees, and there is the air and there is the exaust of my car and there is relations between that and the rising incidence of asthma. This is what basically and fundamentaly triggers me away from objects. In the dataflow world you don't have disconnections, you have to follow the flows of things. The exhaust outputs certain chemical that my body will input even tough it can eventually kill it. That is why i have said in an earlier post : "Some people see objects and believe that they exists and generate data, some others believe that the data exists and the objects are a particular state of the data...if we live in an object world, who decides where are the boundaries?" All this discussion about LVOOP, GOOP and everything made me realise how much i love the idea of dataflow and how it was implemented until now in LabVIEW and to see if LVOOP can enhance my dataflow experience by simplifying it even further :question: -
Salut. If i slip again and don't see it by myself, i always appreciate being awakened...but i believe i will remember the amount of work that i needed to do in order to try an clear things up so that the information may be more inline with the original topic that i most probably will triple verify to stay inline with the major topic of the topic or create a new post. As for the damage done in the threads refered in this discussion, i do not have the power to clean them out. Only an admin could do that... This post could be considered to be quite long (so long that the quote formating stopped working and forced me to post it in 2 steps using the add reply ) as i'm going to dig up all the spilled bits and pieces of discussion that ended up hijacking the work of others in vaguely related topics, so that this discussion as well as the others can continue on their way...i will also intentionnaly leave out some comments that i (or others) made that don't add any significant value in the discussion. Example : I just noticed that by wanting to use it as an example of things to leave out, i actually inserted it back... even if now could remove it...should i...could i...do i really really reallllllllly want it...i will let you discover...you already did So here goes... PART 1 : History, spilled bits and added comments. From The need for lock in get-modify-set pass Options jacemdom replied : Could data be just seen as data? jacemdom replied : Is a motor really and object or a function to transform air and gaz inputs into mecanical force output? Mads replied : It is an object if you choose to view it with an object oriented mind, that's the whole point. jacemdom replied : i don't see objects when i model (software or any other modeling)...i see data and functions that act upon it...i don't unite them as one to create objects...i see them seperated... I created a similar relation about 5 years ago, to be able to differenciate the LV concepts from the OO ones, that went :In LabVIEW there are containers (contain data, wires, globals, queues etc...) that are similar to the properties of objects and there are functions (transforms the data, VIs, VITs, LV Blocks) that are similar to the methods of the objects. A definition of a container is a domain (Type def cluster) that is similar to an OO class. So i created a way of modeling the architecture of an app entirely using a naming convention representing this. For more details see http://forums.lavag.org/index.php?s=&s...ost&p=17238 robijn replied : Noone should force you to use OO. To use OO should never be a target on itself. All programs I'v written that use OO aspects don't do that everywhere, only for the parts that it's useful. But I don't think the usefulness of OO is something that should be discussed here. It's already in and it will never leave LabVIEW. And obviously you can build OO systems without native language support. "C with classes" was the first implementation in C, it was done only in #define's etcetera. jacemdom adds : the othe day wondering on that discussion in front off my tv i asked myself...is the tv an object? I answered myself, no, it is function that transforms basically 2 data inputs (electricity and tv signal) into two outputs (screen and speaker). That is own i model my environment. I am also a function with multiple inputs and outputs, not an object with attributes and methods...can't say that i never saw myself as an object and that i'm trough with those ideas flowing in my dataflow mind... robijn replied : I agree with you that's essential. I believe there is a lot of power in dataflow. The route of the data on the diagram tells so much. But dataflow only works locally, in a VI and towards its subVIs. For the app as a whole dataflow is not appearent. We use functional globals all the time (I hope you do as well!) to store more complicated things that need to be accessed from multiple places. A functional global does not follow the dataflow paradigm, as it stores data in shift registers. So at that point the dataflow ends (or starts). You can use dataflow up to the functional global, and even inside the functional global, but once you place that functional global in multiple VIs the dataflow is disturbed. The same modified data does not flow in and out, a lot of data may be stored inside the VI. Dataflow is a great concept, but there are limits to it. The trick is to go past the limits in the best way. A functional globals is a such way, the event structure - a fascinating solution by NI - is such a way and native referencing OO would be another. robijn replied : You mean you are affraid debugging is going to be more difficult ? Then NI should add features to make that possible. It is quite important to keep it "Rapid development".jacemdom replied : That is my question...How can you make that possible? How can you make a "follow the datawire debugging" scheme in a by ref design? I don't see how one can follow the data in a by ref design... robijn replied : You could attach a probe to the wire and see what the object's attribute's values are... You could open a diagram and set a breakpoint. Maybe you could have a front panel and block diagram per instance of an object... In the diagram things don't look different at all. It's only the behaviour on life-start and life-end where things are different. The current systems creates a new object when you branch a wire, and removes an object from memory after the data in the wire is not used anymore (this is the simple version of the story ). A referencing system creates an object on request (allows to have a constructor) and removes it on request (allows for a destructor; may allow for automatic destruction when an object is not used anymore but this is tricky business). The fact that the programmer needs to request a new object prevents having "parallel universes" by accident. The "request to create" could in practise be the constructor placed on the block diagram, just like a method is placed now. jacemdom replied : Using analogy, would the by ref implementation in LabVIEW be like designing a sewer system that enables the water and the treatment plant to go trough the pipes all together? Mads reply from Implementing synhronized access to shared objects, How should NI implement synchronized access to by-ref objects Options : I assume the sewer system analogy is an analogy close to how you view wires in LabVIEW...and you do not understand how we can talk about objects instead of data going through that sewer. The sewer analogy however is way too limited to describe the wire in LabVIEW - LabVIEW already have tonnes of by reference wires which do not fit to that analogy (even though you try your hardest to make it fit). You should in other words be used to think of the wire as something that can send a reference, not always the items (sewage in this case) themselves... jacemdom adds : From The LabVIEW Platform, Part II
-
Implementing synhronized access to shared objects
Jacemdom replied to LAVA 1.0 Content's topic in Object-Oriented Programming
I would ask all people to stop using this thread for Dataflow, OO, By Value, By Ref discussion. I'm in the process of creating a new topic especially for that, that will allow this one to continue its original line (if possible at this point) and will gather all the bits and pieces of the Dataflow, OO, By Value, By Ref discussion that have hijacked this discussion and also other ones. I'm doing it right now and it should take me about 30 to 60 minutes. -
Open Source License for LabVIEW VI library
Jacemdom replied to LAVA 1.0 Content's topic in Development Environment (IDE)
instead of maybe Wikipedia definition used http://www.gnu.org/copyleft/ and http://www.droppingknowledge.org/bin/home/home.page i did not research to see if it was used a lot or read trough the entire licence to see if it fits your needs axactly. -
is that possible? From wikipedia : Abstraction
-
Salut. The steady flow of new users reminded me that I never did a formal or "unformal" introduction and i decided i would do them. First the formal one In school i studied what could be called "learn to measure and control anything with a computer". This includes physics, sensors, electonics, digital conversion and programming(Assembly, C, VB and LV) Altough i forgot the majority of the details i have a good basis to understand all physical phenomenas and how to measure/control them. As for the remaining time. Since i remember that i can remember. I have spent the majority of the time studying human behaviors including me, and creating models that could potentially allow everyone on the planet to breath air, drink water and eat. Now for the "unformal" The first part of my life was spent trying to learn and be taught about the object model... Class : I'm in an advanced junior high highschool CLASS for the gifted and my family is part of the middle CLASS and you should not think that you have anything to do with the CLASS of people who are dying from hunger Object : Everything around you is an OBJECT, apple, atom, mother, friend, dog, rock, sock... Method : You cannot do that that way, you must first do the preliminaries Inheritance : You INHERITED everything you know from your ancestors, you INHERITED your DNA from your PARENTS, you are their CHILD, your mother died and here is your HERITAGE Multiple inheritance : You INHERITED both from your mother and from your father, maybe your father is not the one you think, but that is PRIVATE DATA Encapsulation : We wash our dirty laundry in the house and it stays in the house Abstraction : You are not an animal, you are a human. Even tough you sometimes feel the envy to grunt, and everytime you see an attractive non-animal human female you want to insert your private data into hers Polymorphism : Your girlfriend behavior alone with you in the house vs your girlfriend behavior with you outside the house surrounded by other non-animals humans who surrely would not want a piece of her private data That basically sums it until i met LabVIEW and it intoduced me, 11 years ago, to the dataflow world that i had no idea existed, even tough i always suspected/felt that there was something really crooked about the OBJECT world and it CLASSES with PRIVATE jets and mass PUBLIC welfare funds that aren't even able to feed everyone. Dataflow entered my mind and changed the way i would see/model the exterior and interior of my body. That was the biggest ideological turning point of my life. The second part of my life was spent trying to unlearn the object model and replace it by a dataflow one May the flow be with you...
-
In response to this The need for lock in get-modify-set pass Is there anyone that would share a project where by ref OO is required to solve a problem efficiently in a simple way, so that i can see from my own eyes that this is really something missing in LabVIEW? jacemdom@videotron.ca
-
<Maybe the server is down or slowly tumbling away. I posted this message on info-lv at the same time and i did not receive it...