Jump to content

Black Pearl

  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by Black Pearl

  1. But it's more lulz to report bugs than to deal with bug reports. Felix
  2. I'm unsure about the frequency this happens. Just knowing this load-penalty will enforce a 'never-save-a-broken-build' rule and drastically reduce this issue. But I had to scenarios 'theoretically' in mind: 1. Run a scripting VI, such as a VI Analyzer Test on the top-level vi, while somewhere down the hierarchy there is still unfinished work (assume it's the job of another developer to write the driver and you are just working on the top-level GUI). 2. Having a changed ConPane in the reuse lib (new version) and propagating this change to an older project. So all kind of relinking issues. 1
  3. This actually means, that if I break a deep VI (e.g. from my reuse lib), I'll have a much bigger 'load' when I open the Main.vi compared to when everything is fine? To be more specific, if I load a VI using Vi-Server (not intended to run), I should see a big performance penalty if a subVI is broken/bad? Felix
  4. I did enjoy your talk, especially how you combined the programmers-details into the general considerations of SW, production and management process. Felix
  5. Take a look at the last 2 posts in this thread: http://lavag.org/topic/13492-reuse-packages-and-scc/page__st__20 The first (by me) is showing my reuse-process using OpenG + VIPM community and the second from Justin Goeres (JKI) shows the same strategy with VIPM. I think this could be a good starting point to modell your process with the tools of your choice. Felix
  6. Australia on wikileaks: #10CANBERRA93 It's talking about 'coordination with the U.S. in the Coral Triangle Initiative (CTI), Antarctic conservation and logistics, and the current whaling negotiations'. So austrialia seems to be a very nice eco-friendly place... Felix
  7. One scenario for class usage: Extension through inheritance (by the user of the class). Special consideration: the child-classes can override methods (not only add new ones)! Really powerful actually, if those methods are called from other methods of that class (where you'd use a protected 'statement'). Kind of hooks (just generic empty-implementation of pre- and post for all functions). But do you need to alter your math-lib in this way? Well, if this would be a product where the class user won't have access to the source, it could be useful (maybe an explanation for the JS implementati
  8. I did some reading of the cables (but most of the information I got by various news options), so I can provide better reference in this section. So I want to provide a pretty tough example of misinformation from the primary source. Cable #08HAVANA103 states that Michael Moors film Sicko was banned in Cuba. His statement that this isn't true can be found here on his blog. I couldn't find the cable in the guardians files any more, they did remove it due to the false information. But is everywhere. I like this example because Michael Moore is biased (supporting wikileaks), so i
  9. Then propably NI should hire someone to document that LAVA is doing a 7/24h support for OpenG. We like to do software. Documentation is a pain. So we only do it if we get paid for it. Got it? Felix
  10. Doesn't LAVA fullfil these requirements? 1. I'm sure every single post was replied to in much less than 2 days. When I had issues to solve, posted them on lava, I received the support even on public holidays. 2. Many of the members in this community also have a brilliant record on helping others on the public NI forums. Very few of the offical NI support team will be able to compete with this on all levels (inside knownledge, number of posts, response time, real-wolrd app experience). Just using these two arguments, I think the complete LAVA CR (certified) section should go for Gold. Fel
  11. For those that are interested more in the wikileaks issue, there is a relative recent documentary on wikileaks. It was produced before the cables, but includes the video 'Collateral Murder' posted above. It also gives some more information about what happend around this video (including wikileaks meeting the family of those killed in the video). You can find it on youtube: http://www.youtube.com/watch?v=lPglX8Bl3Dc Make sure you don't just watch the first part, it's split 5 or 6 (depending on the uploader) versions. I am wondering why it had taken so long for this discussion to arise on the
  12. While not written in LabVIEW, wikileaks is pretty high-visibility. And I must confess, the whole story did obsess me when it came into thegreater public awareness. So a lot of stories I'm going to share with my fellow wireworkers. As a general disclaimer, we are talking about conspiracies (both to the stories presented by wikileaks, the powers behind those stories and wikileaks itself). So even if you'd trust me, do not trust anything of the lines that follow. Concerning the suspected leak of 'the cables' and other documents, 'Manning'. I recently found somewhere (I didn't bookmark) the cha
  13. As I'm in the progress to improve and formalize my reuse process, I found that this is the way I'll naturally do it. I have a 'reuse candidates' folder (under SCC->track changes! and structured into different groups; access is via a Tree.vi instead of the palettes). During the packaging process (namespacing them with OpenG builder and packaging them with OGPB) I'll select only a subsection of the VIs that have proven in other projects. Only those make it their way on the Team share and my palettes. Felix
  14. In most implementations you will code, you aren't directly interfering with the threads of your OS. LabVIEW will aquire a decent set of threads from the OS. Then the compiler will schedule your code on these threads with it's exact knownledge of your architecture. This is due to the internal unique memory mapping of graphical programming languages. Why? I know of no reason to not type def an enum. An enum is a compile time type. This gives you the advantage of compiler errors if something is wrong instead of run-time errors. And on the other end this means a no to dynamic enums. But
  15. This is a complicated topic, not only in LVOOP but in LV in general. The compiler is performing a lot of tricks that it only needs to copy the data when it's necessary. I'd guess you get even better performance using by-val instead of by-ref (each time you branch your data out of the IPE structure, it's copied as well. Don't care about this too much. LV is fast. You always need the parents private data cluster in the memory. Any OOP language must do this, I guess. You always can access the properties of a parent from it's child (indirectly at least). The choice of by-val and by-ref for th
  16. spript generated wires the last days... still not done..

  17. At first you need to understand the basic by-val model. This is similar to the normal cluster in LV. Using by-val implementation, you don't need to take care about creating and destroying objects at all. There is also the possibility to implement a class by-ref (using DataValueReference+InPlaceElement structure), in wghich situation you need to writie a Create and a Destroy method (and call them). Using by-val, everything is done by LV. Using by-ref, use the DVR functions in the Create and Destroy methods for memory management. A by-ref class is by ref, so a branch is just creating a cop
  18. Ton made the mercurial (Hg) API available in LabVIEW: http://lavag.org/files/file/162-mercurial-api/ Felix
  19. I once got the tip (I think it was a NI screencast) to develop on a 640x480 monitor to learn discipline on using BD real-estate. Maybe give it a try? It actually has enough space for two loops with some SubVIs in it (Message handler, Producer/consumer). I can't really recommend it for UI code (property nodes are very large), but almost everything else can be done that small. In addition, you develop the habit to create a lot of SubVIs, which will help you with task 5. I would consider task 5 the most important. Get yourself the time to do it (implement a small feature less and have the frid
  20. Be aware of deadlocks. The IPE structure should be a way to protect you against this (as required when using DVRs). Why not use DVRs if available? Felix
  21. Too slow/too much effort to file a bug. The situation I was realizing I need this feature is when you are in 'the flow'. You go through implementing a new feature and you touch/change a SubVI in another 'code modules' to make your new implementation working. In this situation making the SubVI 'clean' would throw me out of 'the flow'. I want just a amazon-one-click-buy-button to mark that SubVI as dirty and go back there later, when the 'big-picture' is implemented. But it would not be a bad idea to have an option to sync these statuses with a bug tracker like mantis (e.g. by writing the stat
  22. At first, I was going to post the code with each VI (and folder) marked if it's GPL or BSD. I never thought about any of the code to be non-open (or pwd protected). Currently I'm thinking of releasing it under GPL first. This allows me to show/share an early version of the project. When some clean-up is done, I'll seperately release some of the reusable code under BSD. They can get a seperate entry in the CR, so confusion should be minimal. I'll also place a license-stamp on the description of each VI, so nobody should by mistake place a GPL'd version in his project. The project (tool) as s
  23. I'm not sure if this works, but you can give it a try: Type cast the ref to a more specific type (e.g. string control) before registering the event. Felix
  24. I could replicate the behavior I saw with a unit cast. VI is attached. Initial Position of the BD is Left=0. After I create the 'Convert Unit', the Pos is Left=6. Observations made in 7.1. Felix BD_Moved.vi
  25. Thanks, that's what I'm looking for. Seems not to be implemented in 7.1. I have a style (String) for Node and a Style (numeric) for Scale. But nothing for Constant or Control. Maybe it's available through GetProp. Felix
  • Create New...

Important Information

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