-
Posts
6,214 -
Joined
-
Last visited
-
Days Won
117
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by Michael Aivaliotis
-
I see now... what a wack job! Hinckley's Obsession -- Jodie Foster
-
How to construct an independence test
Michael Aivaliotis replied to alphaone's topic in Database and File IO
You took the words right out of my mouth. :thumbup: -
I don't get the joke... was this suppose to be funny?
-
How NOT to code large applications
Michael Aivaliotis replied to JackHamilton's topic in Application Design & Architecture
I hope you got paid by the wiring node... -
Congratulation!! :thumbup:
-
I think I'm secretly in love with Murata Boy
-
My bad. I'm still getting used to the fact that I'm in the US now. Since 3/4 of my family is still in Canada (I miss them very much), there's a strong pull in that direction... As far as the LabVIEW domain in other countries, I think the biggest issue would be the LabVIEW trademark rights. NI's lawyers would love that. The laws pertaining to domain registration differ from country to country. Some countries require you to be a citizen of that country (for personal domains) or have a business that operates in that country. I know this is true for some (read the fine print).
-
nice one :thumbup: However don't you need to have some affiliation with that country?
-
I would agree with mballa. He probably knows me a little better since NIWeek and understands how picky I am when it comes to coding style. I've been fortunate throughout my early career in LabVIEW to have experienced developers around me that I could discuss ideas and techniques with. They would also challenge my design decisions which would force me to evolve my style. That's how I've reached the level I am today. I always try to push people to explain their thought process when they code a certain way. Often time we just do things "just because". Often time this has evolved due to a few late nights of debugging customer code, only to discover that it was caused by a certain boolean button starting off as pressed. This however is the exception and shouldn't dictate how you program all applications. When we have a clear head, we should go back and evaluate, why that happened. I'd like to add one thing on the use of bundle\unbundle. Adding a new datatype to the shift register only requires the addition of the datatype to a strict-type cluster and you don't need to wire new wires through all the cases. Of course the tunnel wiring wizard would solve this problem but that is no excuse really. LabVIEW now provides the Navigation Window, but this doesn't mean we should all start creating wiring diagrams that span the width of 10 monitors... As far as your revised application using bundle\unbundle by name, I would give it an A. The reason I didn't give it an A+ is for 2 reasons. One reason is the use of array of strings. I used to program using array of strings and evolved over time to using standard strings with linefeed delimiter. I just recently had this discussion with a colleague and asked them to try using delimited strings instead of array of strings. He was reluctant at first but after he tried it, he was totally converted to this new method. Delimited strings allow easier editing of your state sequence lists because you can just double-click in the textbox and start typing. You can also quickly select text copy past etc. Another item of note in your revised code is the use of wiring a TRUE though every output to your conditional terminal of the while loop. Again, it works but it's a lot easier to just use the "stop if true" option on it. This means you only really have to wire a constant out on the frame that terminates the while loop. In your case it would be the "finished" and "default". All other cases can just use the "use default if unwired" option. This means if you add a new case, you can just ignore this terminal. A Minor thing but it's nice not to worry about those pesky little constants. From your profile it looks like you are local to my area (Livermore) so perhaps we can get together at the next LAVA meeting to discuss these coding techniques some more in person. I think the next meeting should be sometime in November. :thumbup:
-
-
I wouldn't cry for too long. I know scripting is still there. NI just changed the ini keys, that's all. I don't recall what they are but I'm sure someone here can give us a hand...
-
For some reason I never had a need for this before. I usually perform some calculations to decide where to draw next. It would be nice if I could figure out the current location of the pen in a picture control. I hope some of you gurus out there have this already or even better... is it available in LV?
-
Since the release is now official. Go over to NI's site, gather your ammunition and start discussing your opinions on LabVIEW 8 in our new dedicated LabVIEW 8 forum. I'm sure all of us have opinions on the matter. So let's hear them. Yes, that means all you former beta testers too...
-
Well the performance penalty is relative. If you work with a team of developers and others have to dubug and work on your blockade of wires then it suddenly becomes an issue. They throw it back in your face and ask you to redo it. So ya, your performance goes down. Can you explain what an "off-normal" condition is? I still don't follow your argument. Using the mechanical action "latch when released" covers this. I have not (since the event structure came out) seen any condition where I would have to "make sure" the button was going down. I may be missing something here, so please enlighten me. I disagree with any code on a diagram that is superfluous. It just causes the programmer to pause and have to think about what is going on. Slows comprehension of the code. Makes me think, "ok, so why is this like this?"
-
Share your favorite tips and shortcuts
Michael Aivaliotis replied to m3nth's topic in Development Environment (IDE)
Ok, this one is more a personal preference but others might find it usefull. As I get older :thumbdown: I find I need more of these aids to keep my programming speed up to the same level as you young'ins. Change your Windows settings as shown in the first image. You will see a noticable difference in the grab handle colours (they turn red). Helps in other areas as well. -
Nice tool! Some nitpicks on style though. Have you considered the use of bundling all the shift register elements into one cluster and only requiring a single wire to cross through your cases? Those wires take up a lot of real estate and it can be messy to debug. Another thing. Why do you take the buttons and feed the value into a case structure inside the event frame? This is unnecessary coding. Obviously the button value is true otherwise you wouldn't be in that event case. If you are worried about button staying down then set the mechanical action to "switch when released" Which they should all be set to anyway. I'm not following the purpose of the cases in every event frame.
-
I'll list the winner and probably the next several runner ups. You can submit as many as you want until the deadline and I'll pick the best.
-
Of course, no problem.
-
Looks like Brian's been busy. It's great to see LabVIEW VI Scripting used in a real product. I guess LAVA Members should be getting their complimentary unlocked, password free, unlimited use version soon? Class Browser for LabVIEW
-
This is alright. The picture functions you mention are fine.
-
try this.
-
Your definition of a block as related to the array information does not jive. In any case, regardless, what you probably want is to use the array subset function. You can feed in the start index and length of the the elements you want. This should handle what you want.