Jump to content

Jim Kring

Members
  • Posts

    3,905
  • Joined

  • Last visited

  • Days Won

    34

Posts posted by Jim Kring

  1. Chris: What is "COTS"?

    It's a FLA ;)

    Hi All,

    Thanks, everyone, for your recommendations of VIPM. As you know, JKI has put a lot of energy into the tool and we plan to put a lot more effort into it in the future. In fact, we're actively working on VIPM 2010, right now, which will provide a lot of powerful and flexible packaging features that make it the best choice for creating distributions of LabVIEW reuse libraries and add-ons. We'll will be blogging about some of the new features we're working on soon, too.

    If you have specific questions for JKI or want to evaluate VIPM Professional/Enterprise, please contact us. We're more than happy to chat with you.

    Thanks,

    -Jim

  2. So what about all the SVN 1.5 changes for merge tracking? Have you tried to use them with your labview. I have to confess that I haven't tried, but it's on my list since it seems like these would go a long way toward fixing merge problems.

    Hi Jason,

    I actually haven't played with the new merge tracking features in subversion 1.5 -- it's on my list, too. I figured I'd check out Mercurial first, to see about whether to jump to the next curve (Hg) rather than just taking an incremental step forward (svn 1.5). Plus, we use FogBugz as our bug tracker at JKI and Mercurial is part of the Kiln product companion to FogBugz -- so, it probably wouldn't be a difficult jump.

    -Jim

  3. I've been doing a little more light research, but still haven't had a chance to dive in head-first.

    I've found a great resource: Hg Init: a Mercurial Tutorial by Joel Spolskey. The first section, Subversion Re-education, is inspiring and makes me want to move forward.

    However, I worry a lot about the fact that Mercurial keeps a copy of every revision (binary delta's it seems, thankfully) of every file in the repository on every developers machine. Since LabVIEW files are binary, this means that the repository might grow very large. The recommended strategy is to use a new repository for every project, rather than one big repository for all projects. However, it seems to me that as time goes by projects that have lots of binary (LabVIEW) files might grow very large and have many revisions, which will be too big a burden for developers.

    That said, there's no better answer than testing it out on a real (hopefully, low-risk) project and seeing how it goes...

  4. I am curious what you mean by something that can merge/branch worth a damn. Is this a LabVIEW problem or a general SCC issue?

    What I mean is that SVN does not keep track of what's been already merged between branches. This makes it nearly impossible to maintain multiple branches (feature branches, developer branches, maintenance branches) and merge between them.

    I would be curious how well LabVIEW's merging VI could be integrated into Mercurial. This would be a key functionality for me.

    Yes, I'm curious too.

    I think that LabVIEW's diff and merge support, while very nice to have, are still lacking. I would like to see them improved such that they could handle merging between two hierarchies of VIs (in memory concurrently), rather than just between two individual VIs.

    Cheers,

  5. All in all mercurial looks better if you want to get started fast.

    However merging is still a pain LabVIEW.

    Related question has anyone ever tried to integrate it's own version control provider? I looked at it to bring a native support for SVN (without PushOK), but the API (or something that resembleds an API) provided by NI is not very well documented.

    Ya, I've read those links too. I'll be curious to hear what people think after using LabVIEW with Mercurial.

    Regarding the SCC API, the other problem with it, IMO, is that the API assumes a locking (check out / check in) model, which doesn't really fit well with concurrent access (commit and merge) models.

    We've just started using Mercurial on our Matlab code. I think we'll probably try bringing in LabVIEW code in the next few weeks.

    Cool! I look forward to hearing your results.

    I'm going to try to find some opportunities to play around with it, too.

    Thanks,

  6. Speaking of Labview for Everyone, we all know who Jim Kring is, but who is Jeffery Travis and why isn't he on the forums?

    Maybe he's too busy making films? I haven't seen Flatland, but the book was certainly good.

    Yep, and he's recently moved his family from Austin, TX to Hollywood, CA. He still does some LabVIEW consulting work.

    Jeff used to be a plretty big playa in the LabVIEW world (he was the guy that started open source LabVIEW), but he hasn't been involved in software engineering in a while (yes, he's the Flatland guy). Jeff wrote the previous editions of LabVIEW for Everyone, which is why, I assume, his name is still on the book - I figure the 3rd edition is mostly Jim's work.

    Ya, that's pretty accurate :) Jeff did a whole lot of work on the 3rd edition. I did an unimaginable amount of work. I don't have to tell you, crelf, about that ;)

    I just wanted to add that I think Labview For Everyone is a great book. It is easy to read, lots of good examples.

    I dont want anyone to get the wrong idea, I was just having a little fun while I was waiting for Labview 2009 to install. I would recommend this book to anyone!

    Thanks for the kind words and the recommendations. I assumed you were having some fun :)

    Cheers

  7. I think I have the very first version on some ancient laptop around here...

    Part of the reason why I stopped using it was that a few years back it was declared by the Powers That Be that we could never touch an outside network with our acquisition computers. Not that they are classified, but just because... That made updating/synching problematic so I abandoned it before I ever really started using it. Plus back then there was only the Big Project and reuse wasn't an issue. Mostly I was using it for the very first OpenG versions.

    All that being said, I could take my current development laptop home (it's not considered one of our acquisition computers) and download there. After that, are the any issues with running the Professional version off the net? Or should I be asking Jim these questions? smile.gif

    Hi Cat,

    Sure, let me know if you have any questions. You can reach me by several means, but the JKI Software Contact page is a good place, in this case.

    VIPM serves two main purposes:

    1) VIPM Community Edition helps people download and install LabVIEW Tools created by the community.

    2) VIPM Professional Edition helps you create your own packages of Reusable VIs.

    VIPM can be configured to not connect to the outside network. Additionally, VIPM Enterprise Edition allows you to create a repository of packages on your company's intranet (LAN, VPN, etc.) for sharing packages with your team.

    Cheers,

  8. Ok, Now I see what I did wrong. I was calling it like this: 'cmd.exe /c "myapp.exe"'.

    That does not work. Interestingly, however, something like this: 'cmd.exe /c dir' does return data to the stdout of System Exec. So, again it appears that you can attach to the console of the caller but System Exec is more like the 'run' command. Still does not explain why redirection does not work.

    Ya, I use the full path of the EXE as the command.

  9. I started with plans to include all multi-frame structures but immediately eliminated support for Stacked Sequences and soon found that an Event Structure's frame names aren't accessible. I asked a question about this on NI's API community here, and it was added to a list of desired access to properties/methods here. I thought there was another discussion with more comments, but I haven't been able to find anything. I don't know if anything new was exposed in LV2009 because I don't have it yet. It's on my list of features to add.

    Cool, thanks for the update -- I hope NI does add this to the Scripting APIs.

    Also -- just a thought -- It might be worthwhile to include a Roadmap section on the main page for the this tool, so that users (like me) can see what's in the works and any related info about why certain features are not possible due to scripting limitations.

    Cheers,

  10. I guess my question is: What is the best way to provide elements of <your company's> reuse library for clients that purchase source code whilst maximizing the protection of your IP?

    What do you mean by two repositories?

    Obviously the packages need to be name spaced the same so the code does not need to be relinked?

    How is the external packaged versioned wrt the internal package?

    One project I would like to do is too look at a tool or build hook that will apply security to the VIs i.e. as you mentioned password protect (API and subVIs), strip icons, labels, hide names on the FP etc.. (subVIs only). I even like the way JKI create a HEX string and rename the subVIs - thats cool.

    Are you able to comment on the how your tool works and it's implementation in the release cycle of your source code distribution for a client project?

    And details will be greatly appreciated. :beer_mug:

    Cheers

    JG

    Hey Jon,

    I'll ping you off-line to talk with you a little bit about how JKI handles this. We may eventually offer some features in VIPM Professional that address this use case. As you've mentioned, we have technology that we use in-house to do this.

    Thanks,

    -Jim

    • Like 1
  11. post-2399-12592312885_thumb.png

    Here you go.

    Ton

    Great idea, but it's worth noting that one must be extremely careful with string-based Case Structure ranges.

    For example:

    1) The range of "UI:".."UI:Z" is not inclusive of "UI:Z". To be inclusive you need to explicitly add it like this: "UI:".."UI:Z", "UI:Z" -- see docs for details.

    2) If you wanted to include frames like "UI: Zoom Out" (that have more characters than just "UI: Z"), then you'd probably want to set your range to something like "UI:".."UI:zzzzzzzzzzzzz" (Note: I used lowercase "z" on purpose -- see #3, below)

    3) String range matches are case sensitive (even if your case structure is configured for Case Insensitive Match, I believe), so you'd want to use a range like "UI:".."UI:zzzzzzzzzzzzzz", since "z" (0x7A) > "Z" (0x5A) -- see docs for details.

    Cheers,

    -Jim

    • Like 1
  12. Hi JG,

    This looks like an interesting way to group substates.

    I could only think of a couple drawbacks:

    • You can't see all the states in one glance (but, I guess if you have a great many states, you can't effectively do that, either)
    • You can't easily move a substate from one category to another (for example, rename "UI: Open Control Panel" to "Control Panel: Open UI").

    Cheers,

    -Jim

×
×
  • Create New...

Important Information

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