Jump to content

Justin Goeres

Members
  • Posts

    691
  • Joined

  • Last visited

  • Days Won

    11

Everything posted by Justin Goeres

  1. QUOTE(crelf @ Jan 28 2008, 07:19 AM) OK, OK... never again.
  2. QUOTE(Aristos Queue @ Jan 27 2008, 06:49 PM) QUOTE(crelf @ Jan 27 2008, 06:57 PM) the technique Jonathan's talking about doesn't need to have two event structures on one diagram - they can be separated into different VIs. That means you can have a single to single, single to many, many to single or many to many paradigm. Just for the record, I would never write a VI that looks like the snippet I posted. I use it the way crelf pointed out: to register multiple event structures in multiple VIs for the same event. It's just easier to make the point on a single diagram .
  3. QUOTE(tcplomp @ Jan 26 2008, 01:26 AM) Here's a graphical illustration of that:
  4. I've noticed, too, that for large files the OpenG Variant Config File VIs are slow. I have a system for setting up GUI interlocks (enable/disable on various trigger conditions) that uses an INI file to store the interlock configurations. The number of lines in the file is slightly larger than (number of GUI slave controls) x (number of interlock signals). In one particular case, this is about 350x20 = 7000 entries in the INI File, and that takes a long time to load (2-4 minutes, as I recall). The file itself was something over 100KB if memory serves. I was able to mitigate the delay by stripping the "default" values out of the INI file. For instance, for every boolean array element that was FALSE, I removed that line from the file (using the File I/O palette and some regular expressions). In my case (because my data was mostly booleans, and mostly FALSE), this reduced the file size by something like 75%, and reduced the load time by about half. Something like that might work for you if some of your cluster data is just a default value. However, I've never gotten LabVIEW to crash while reading an INI file. That's a new one to me. EDIT: Just to be clear, this isn't a dig at the OpenG Variant Config File VIs. I love them . There's just a point of diminishing returns when you try to use them to store large amounts of data.
  5. QUOTE(TobyD @ Jan 16 2008, 11:58 AM) Maybe. The rest of your explanation sounds about like my setup, but I use a pretty pokey mouse speed. Actually, you know where I notice the problem most? It's when I want to lock the Context Help. The little lock target is small, so I frequently miss it. While the PID loop between my brain and my hand is settling out, I frequently find myself accidentally hovering on whatever is underneath the edge of the Context Help window. That causes the Context Help to update, which forces me to start all over :headbang: . Hmmm, now that I'm actually looking, though, I see there's a key combo for Lock Context Help....(slinks away sheepishly) QUOTE(eaolson @ Jan 16 2008, 01:09 PM) Don't forget that you can right-click just about anything and there's usually a Help option that takes you to the same place as the Detailed Help link. Context help doesn't even have to be open. Yeah, but that's a click-retarget-click operation, or at least a click&hold-retarget&drag-release operation. When I want Help I want it now.
  6. You can also reduce TobyD's example by using the Compound Arithmetic primitive in AND mode, with the OldVal input inverted.
  7. I've been too busy to contribute in-line with the discussion, so I've saved up a few random shells to lob into the arena, right about.... now. QUOTE(crelf @ Jan 15 2008, 11:19 AM) In the case of the link AQ posted, I think it's more like "search, find, rub your hands over every other person in the crowd between you and your target, and then engage." I think the good old point-click metaphor works well because a lot of human-object interaction really can be broken into phases of select (point) and engage (click). I do that with doors, I do that with my car, I do that with my pen & paper, etc. Sometimes the demarcation between those acts is muddy, but there are very few things in real life that behave like the example interface. That's part of the reason I found it highly unpleasant to use. Another reason I didn't like it was because in the example interface, there are several instances where after you target something (which also selects it) your target moves. This is one of my biggest pet peeves about interface design. Windows is frequently guilty of it, and of course the beloved Flash that powers the web is the leading offender (hat tip to eaolson: graphic design != good UI). In the case of the example interface, that can leave the user in a situation where (in a poorly designed interface) they might be trapped, having made a mistake and unable to move their mouse in any way that doesn't cause more bad things to happen. Yuck. :thumbdown: QUOTE(TobyD @ Jan 15 2008, 12:08 PM) It reminds me of the optional feature that has been available in windows for years that automatically selects the active window based on which window you mouse-over. The first time I saw the feature I thought it sounded like a good idea, but after a couple hours of using it it was making me crazy. The first place I saw that was in X11 on the old Unix systems at college. I always assumed it originated there. Some of the CS people loved it. QUOTE(TobyD @ Jan 15 2008, 12:08 PM) I agree with this. Make it work similar to context help in LabVIEW. If your cursor remains in the same place for a moment, the context help changes to show whatever your cursor is pointing to, but you can then move your cursor to the context help window without having to chart an unobstructed course. Actually, I think the Context Help mouseover behavior is too sensitive. On my screen, if I point to something in the bottom-left, but the Context Help is in the top-right, I can't move my mouse fast enough to hit the Detailed Help link before the Help window updates on something I frobbed over (h/t eaolson again) on my way across the screen. Which reminds me, I think there should be a key command for Open Detailed Help for Whatever is in the Context Help Right Now. QUOTE(eaolson @ Jan 15 2008, 12:55 PM) I also don't like the fad of every sub-menu swooshing into view and then swooshing away when I'm done with it. (Macs, I'm looking at you.) It's disorienting, unnecessary, and time is spent waiting for the menu to finish animating into position. I think Windows is equally guilty of this. And motion in an interface can be a great thing. The genie effect in Mac OS X may be overdone, but the core concept of animating the window minimizing into the dock gives a sense of space to the UI. It's as if you folded up a piece of paper and set it aside on your desk or something. Smooth scrolling in web browsers and word processors is another good example -- if you hit PageUp or PageDown it's hard to track the line you were reading if the screen just jumps. QUOTE(eaolson @ Jan 15 2008, 12:55 PM) One thing I really didn't like about that example site is that it wasn't always clear what was a control and what wasn't. Sometime's I would put the mouse over some text that didn't look frobbable, and something else would smoothly animate into view. I had the same experience. While I'm generally down on the concept they're presenting, I think I'm even more down on it because their implementation doesn't really work all that well on it's own. QUOTE(Norm Kirchner @ Jan 16 2008, 09:29 AM) Ahh but what about in the 5-d relm . You are all far too limited by your governments mind controlling policies on prostitution and historical records. "I consider the state 7 the 'highest'." 5-d would only be good enough for....wait for it....99.7% of your users.
  8. QUOTE(Gavin Burnell @ Jan 12 2008, 04:46 PM) Nicely played, sir. :thumbup:
  9. If only this kid's parents had given him LabVIEW, maybe he wouldn't have turned out like an EVIL version of Samuel Majors. "A Polish teenager allegedly turned the tram system in the city of Lodz into his own personal train set, triggering chaos and derailing four vehicles in the process."
  10. QUOTE(crelf @ Jan 10 2008, 02:17 PM) You mean you don't keep a bottle under your desk? Or is just empty already, because it's Friday and you've run out? Congrats, Toby!
  11. QUOTE(christinabest @ Jan 5 2008, 07:21 AM) Welcome to the board. If you didn't do anything to try to solve the problem before posting here :thumbdown: , you're unlikely to get much help. To give you a little push, you should probably create an array of people (array of strings, each element is a string with a persons name). Then make another array of options. This could probably be an array of integers (0, 1, 2) or strings ("bananas", "hot dogs", "baseball"). Now you can use the functions in LabVIEW's Array palette to manipulate the data in those arrays. You should also read the LabVIEW help on how to create a For Loop. If you don't know how to do those things yet, there's some great resources in the Help menu in LabVIEW to get you started on the basics. Once you've made some progress, come back and post again if you still have questions. Good luck!
  12. QUOTE(crelf @ Jan 2 2008, 06:25 PM) Are we still talking about the same kind of hardware we started out talking about?
  13. QUOTE(crelf @ Jan 2 2008, 09:59 AM) You know that's not old-school enough for me . If it's not running from original ROM images on a (virtualized) Z80, it's just not Dig Dug :ninja: .
  14. The intro music to that first one is disturbingly close to the things I sing to my cats. The tune is different, though. Now that I've listened to it a few more times, I desperately want that as a ringtone on my phone :thumbup:. But it would have to replace the digging sound effect from Dig Dug and I'm not sure I can ever bring myself to do that .
  15. QUOTE(jackal_brazil @ Jan 1 2008, 11:38 AM) This is a bit out of my league (and some quick Googling for resources on the subject wasn't productive ), but my understanding is that there is generally no copyright issue surrounding file formats, provided you reverse engineer the format in a "clean" way. For one example of this, look no further than OpenOffice and its interoperability with MS products. You can find thousands of other examples on the web, too. However, if you executed some kind of agreement (like an EULA) with IBA, it may have contained terms that prohibit you from reverse engineering their file format. Whether or not that EULA (or that provision of it) is enforceable is something only a lawyer could tell you. Finally, be aware of the difference between copyrights and patents. This is a touchy and complicated subject (at least in the US), and it's important to get competent advice on it.
  16. QUOTE(Tomi Maila @ Dec 21 2007, 02:49 PM) Awesome :thumbup: . But the block diagram is locked??? :thumbdown:
  17. QUOTE(rolfk @ Dec 19 2007, 04:49 AM) I, on the other hand, tend to forget where I put them, and end up pinning open duplicates of palettes!
  18. QUOTE(Norm Kirchner @ Dec 18 2007, 11:23 PM) That's hot.
  19. QUOTE(LV Punk @ Dec 19 2007, 04:40 AM) I've always thought it would be cute if things like LabVIEW datatypes were automatically replaced by a little image of the terminal, e.g. :U16: would become . Like a little datatype-smiley!
  20. I am a big fan of unloved and unwanted creatures. One of my kitties lived at Burger King before the rescue people picked him up :thumbup: . His name is Arch Puddington.
  21. QUOTE(Michael_Aivaliotis @ Dec 18 2007, 09:19 PM) :thumbup:
  22. QUOTE(Michael_Aivaliotis @ Dec 18 2007, 07:25 PM) I've never gotten much out of tagging systems. I don't have anything against them per se -- I just don't get them most of the time. They seem great for associating searchable criteria with things that don't intrinsically include searchable data (for instance, it's hard to search for "pictures of horses" or "Ukrainian Gypsy Punk Music"). But LAVA posts strike me as being eminently searchable by virtue of the fact that they're text. :2cents: If anybody can enlighten me as to why tags on message boards are good for anything other than making tag clouds, my ears are open.
  23. QUOTE(tnt @ Dec 18 2007, 01:17 AM) I knew that already, but I'm mainly talking about actions like for example - data-conversions where several wires need to become SGL in stead of DBL or - several BOOLs that have to be inverted. Then you could use the insert into wire once and then CTRL+drag onto all other wires that need to be changed as well. I kind of like that idea. Programming in LabVIEW involves a lot of dropping of things into other things, like whenever you put a subVI or terminal into a Case Structure or Sequence or While Loop. It would save me quite a few clicks, pretty frequently, if I could, e.g., drag the Invert primitive out of the Boolean palette and drop it right onto an existing wire instead of doing right-click >> Insert >> etc.. :thumbup: That would be especially handy since I usually have several subpalettes pinned open for easy access. Drilling down through the Insert >> route involves a lot of wasteful acquire & track mouse motions when a pinned palette just like the one I need is already on the screen. In fact, I would go so far as to suggest that I currently avoid using Insert >> when the palette I need already pinned, because it takes me longer to drill down than it does to just get the new function I want wire it up by hand (and the Insert operation will just hose up the connections anyway, but that's a heuristic problem ).
  24. QUOTE(TobyD @ Dec 17 2007, 03:59 PM) If you're only ever interested in replacing the last line here's one way: http://lavag.org/old_files/monthly_12_2007/post-2992-1197936683.png' target="_blank"> Note that you'll have to change the constant 0 to a 1 if your string already terminates with a CRLF (or do something slightly more elegant in general ).
  25. QUOTE(tcplomp @ Dec 15 2007, 12:30 AM) Yikes! I didn't know that. That's crappy. :thumbdown:
×
×
  • Create New...

Important Information

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