Jump to content

drjdpowell

Members
  • Posts

    1,964
  • Joined

  • Last visited

  • Days Won

    171

Posts posted by drjdpowell

  1. On 7/9/2020 at 5:39 AM, Porter said:

    Bug? JSONText doesn't apply input default values to missing cluster items of array elements.

    image.png.cfac8c824a0c9d7cb52ca3a937cbf166.pngimage.png.8ae1b813f1c246373cf99f02b3bc8356.png

    I was hoping to see "Default", 1 and "2", NaN but instead get "",1 and "2",0

    I think that it is due to the behavior of the Get Array Information VI.

    The workaround is to convert the array elements individually as clusters:

    image.png.30316820d66dc9e23dc0c3ae7f3760c8.pngimage.png.4022f34cc2d9604696e4e09bf7fe0789.png

    Note: you can also do this (using the JSONpath for all array elements) because here one is specifying the element of the array (with default) rather that an empty array:

    254981577_2020-09-2315_44_57-Untitled1BlockDiagramonJSONtext.lvproj_MyComputer_.png.1c8917c4a3694ddfabfb593626f8e9f3.png

    • Thanks 1
  2.  

    On 9/11/2020 at 9:41 AM, LogMAN said:

    I found it actually much easier to just teach those few commands, than to increase the learning curve by adding another tool on top of that.

    TortoiseGit is an interesting middle way between command line and a "full-featured" UI tool, as it mostly just replaces text commands with menu selections, and it can be configured to show the basic few commands (with a submenu for less-used commands):

    291047577_2020-09-1410_48_14-Git.png.82fa70e93813e8ccdb51137b6fbac348.png

     

    Then on top of commands is the "log", which is a visual representation of the repo.

    • Like 1
  3. Tried GitKraken a bit.  Couldn't see enough improvement over SourceTree to consider a paid product (but I may be missing something).   If I were going command line, I would first look into Gitless, and attempt by Computer Scientists to fix the flaws of Git.  There is a paper on it here: Purposes, Concepts, Misfits, and a Redesign of Git.  

    Quote

    Abstract of  "Purposes, Concepts, Misfits, and a Redesign of Git"

    Git is a widely used version control system that is powerful but complicated. Its complexity may not be an inevitable consequence of its power but rather evidence of flaws in its design. To explore this hypothesis, we analyzed the design of Git using a theory that identifies concepts, purposes, and misfits. Some well-known difficulties with Git are described, and explained as misfits in which underlying concepts fail to meet their intended purpose. Based on this analysis, we designed a reworking of Git (called Gitless) that attempts to remedy these flaws. To correlate misfits with issues reported by users, we conducted a study of Stack Overflow questions. And to determine whether users experienced fewer complications using Gitless in place of Git, we conducted a small user study. Results suggest our approach can be profitable in identifying, analyzing, and fixing design problems.

     

    • Like 1
  4. Just for info: my recipe to fix a "detached head" is (using SourceTree)

    1. Create a temporary branch on the detached head commit (I prefer to name it "GitIsStupid")
    2. "Checkout" the real branch it should be on (usually)
    3. "Merge" the temporary branch into the current branch (no actual code merge occurs, so this is non-intuitive to me)
    4. Delete the now-unneeded temporary branch

    Git: making the easy things hard, and the hard things possible.

     

    • Haha 1
  5. On 8/28/2020 at 3:40 PM, LogMAN said:

    Branching submodules while branching the main repository, or as I call it: "when you spread the love".

    I am hoping that the need to branch the submodule repo will be a big improvement on the current situation.  Needing to make an explicit commit/branch in the submodule will give the developer a point to think if they really meant to change something in the common component.  If they do, they will be making a commit message describing that change.  And I, if I'm the prime developer for that submodule) will notice this commit by another developer and can go and talk to them and deal with the issue (I will follow an aggressive merge-branch-quickly policy in common components).

  6. On 8/28/2020 at 3:40 PM, LogMAN said:

    Everyone on the team needs to remember to occasionally do git submodule update to pull the correct commit for all submodules. Just imagine shipping an application with outdated code because you forgot to run this command...

    In our case it's the opposite problem; shipping code for a test station that has not been tested for that station.  We have multiple stations, that cannot all be tested at the same time, so changes to a shared component, made in developing one station type, should only be pulled into another type explicitly, not be a general "update all" thing.  Admittedly, I would much rather update common components asap, and I'm hoping splitting the common components into submodules will allow most to be pulled often.  Currently, the different stations get branched, with all shared components, which is a merging nightmare.

  7. My problem with the "Attachment" feature is that is difficult to come up with an intuitive API.  Just look quick example using a couple of Future Tokens to do one request-reply, with attached info.  Way too complicated, with four bits of info in the reply message (envelope label, attachment, inner message label, and inner message data).  This needs simplifying to be more than a niche feature.

    1557895047_EnvelopewithAttachment2.png.6083d41ad3956dda79e851a3800a98ac.png

  8.  

    On 8/26/2020 at 3:54 PM, Maksim Kuznetsov said:

    Are you planning to return the "attachment" feature for the outer-envelope?

    Can you show me how you use "Add Attachment"?  It's tricky to document its use, as I only use it as part of "Use Outer Envelope", and also because "Object Message" does double duty as "Outer Envelope" (as a Message is an object, then Object Message, when containing another Message, is acting like an outer envelope about that inner message).

  9. 23 hours ago, Maksim Kuznetsov said:

    Are you planning to return the "attachment" feature for the outer-envelope?
    I remember using it for some time, but after installing the latest messenger library it seems to be gone.

    It's badly documented, but it appears to be there for me, but in the "UseOuterEnvelopeLabel" vi (see below).  This is because that is where I envision it being useful, with a requestor attaching something to the reply. 

    But you may be using the "Add Attachment" vi, directly.  This is still on disk, just not in the palettes.  I will add it back into the palettes (issue 5).

    UseOuterEnvelopeLabel.png.70fa6b311e2294970113dacbcfc6442c.png

    • Like 1
  10. The problem I had is that submodules are connected to a specific commit, rather than branch, so when one checks them out originally one must remember to manually create a branch, else if you commit changes they are a "detached head", which is then fixable, but a pain.  

    I find Git to be very much "'Oh, you should have used the "engage safety" and "don't_point_at_foot" options when you called the "git new_gun" command'.

     

    • Haha 1
  11. I've been experimenting with Git Submodules, as a way to deal with a large repo that supports multiple different Test Stations with lots of common code.  It again demonstrates Git is powerful, but also how horrible the UX design is.  It's like I want to do an obvious thing, so I do the obvious action, but because I missed the non-obvious step needed first, I am now in a state where I have to spend 10 minutes coming up with a series of multiple actions that will undo the damage.

  12. I've never used PPLs, but my understanding is that they can only externally call other PPLs, and will include copies of any source code they call, including the Action Engine VIs that the CVT is based on.  To use the CVT for communication, one would need to make a PPL out of the CVT and call that from both your other PPL and the main program.

    • Like 1
×
×
  • Create New...

Important Information

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