Jump to content

Justin Goeres

  • Posts

  • Joined

  • Last visited

  • Days Won


Posts posted by Justin Goeres

  1. I took a crack at this when I got my M1 back in December and got nowhere, but now I have progress.

    TL;DR it doesn't work yet, though.

    I've been working to get Windows x86 to stand up on UTM (which I gather is really just a fancy frontend to QEMU). I'll write things up better when I have something real to show for it, but so far:

    • I can't get it to install Win11 x86, because it seems to insist there's an architecture mismatch. I suspect this is an error on my end, since it was the first thing I tried and I may have misunderstood some of the config.
    • I did get it to boot and install Win10 x86. However, when I rebooted after install, Windows gets angry about not being able to find the "Desktop" for the user, and kind of loses its mind. This is also possible my error somewhere, but I haven't gone back to figure it out.

    I'm not super optimistic about this, since ultimately it'll be running emulated, not under virtualization. So speed is likely to be not great. But it's at least a potential way forward and if somebody else wants to give it a shot, UTM may be an option.

  2. One thing -- can you provide another walkthru on where you found that "Restart" button on Win8.1? Bonus points for avoiding the word "gesture".


    If you only knew the "gestures" I've made at my computer over the last 5 years dealing with this issue  :lol: .

    OK, so upon applying this fix to my work VM this morning, I found a new wrinkle. The basic cause & steps to fix are the same, but the starting configuration has a minor difference.


    This is with a brand new Parallels VM created from scratch with Windows 8.1 a couple weeks ago. I installed LabVIEW 2014 and a couple other applications, but it's basically a "clean" VM. I'm posting this since I imagine there will be other people stumbling through here over the months/years with brand new VMs – more than those of us with VMs from Parallels 4, to be sure ;).


    Anyway, when I went to Control Panel >> Change Input Methods dialog, the only input method installed was the "United States (Apple) - Parallels" one.


    In order to switch to a different one ("US" in my case), I had to actually Add the "US" layout, then Remove the Parallels one.


    Interestingly, in this case I did not need to restart Windows afterward. So that's more like Jonas's experience.

    • Like 1
  3. For future reference, and perhaps a different way to fix this at the root cause, without monkeying with Windows settings, this Parallels support forum post recommends the following:


    (copied from the post in case it disappears some day, cleaned up for readability)

    1. Shut down your Windows virtual machine.
    2. From Parallels Desktop menu go to Window -> Virtual Machines List -> right-click on your virtual machine -> select 'Show in Finder' (note this applies to Parallels 8; other Parallels versions have different menus/windows)
    3. Right-click on the .pvm file for your virtual machine -> select 'Show package contents'
    4. Open config.pvs using TextEdit
    5. Locate the "KeyboardLayoutSync" tag and change its 'Enabled' value to '0' (zero)
    6. Close config.pvs, saving changes
  4. First of all... Jonas, you da man. Thank you very very much. This is such a huge help, and I've waited a long, long time for it.


    Jack's HOWTO didn't work for me (under Windows 8.1) because I oddly don't seem to have the "Keyboards and Languages" tab he mentions. I Googled around quite a bit trying to figure out how to get it to show up, but to no avail.


    However, I was still able to fix the problem via basically the same steps along a different route. Maybe this will be helpful to someone....


    Step 1. Open the Control Panel and select "Change input methods".


    Step 2. You should see two keyboard layouts installed under whatever your selected language is. Click "Options".


    Step 3. Click "Remove" next to "United States (Apple) - Parallels".


    Step 4. Click "Save".


    Step 5. Note that you've only got one keyboard layout now: "US".
    Step 6. Restart Windows. (This apparently wasn't necessary for Jonas, but it definitely was required for me.)
    • Like 1
  5. Has anyone here experimented with Parallels 10 yet?


    And the beat goes on. I have now experienced this problem ("Ctrl+Shift keyboard shortcuts don't work in LabVIEW") twice on completely different Parallels 10 VMs...


    (1) I have a years-old Windows 7 64-bit VM that has never exhibited the problem, across multiple Parallels updates (probably since Parallels 7). The other day I upgraded it to Windows 8.1 64-bit (which required reinstalling all my apps) and when I reinstalled LabVIEW 2014 I discovered it was affected by The Problem. (Edit: Note that this VM did not exhibit The Problem in Parallels 10 at first – the issue appeared when I updated it to Windows 8.1.)


    (2) I created a new Windows 8.1 64-bit VM from scratch, and upon installing LabVIEW 2014 I discovered it was affected by The Problem.


    So whatever the root cause of this issue is, it clearly hasn't gone away in Parallels 10.

  6. Ah, how I love this issue. Since I keep getting mentioned (and since Eli is new to the problem) I'll summarize what I know.


    And Eli, if there's anything I can do to help work this inside NI, please ping me privately. I would be happy to help, and I've banged my head against this for quite some time.


    I'm seeing the same issue myself - in fact, I had to give a QuickDrop demo in Boston this week using a PC because I couldn't figure out a solution.


    I'm pretty sure this isn't LabVIEW's problem, so I'm not going to ask R&D to dig into this (yet).  That being said, I can't find any settings in Parallels 7 that appear to fix this.  


    Anyone give Parallels 8 a shot yet?


    Like Jack said, I'm pretty sure this actually is LabVIEW's problem. That's based on a couple datapoints:

    • LabVIEW is literally the only application this problem appears in. Additionally, the exact same shortcuts (Ctrl+Shift+E, Ctrl+Shift+W, etc.) do work in other apps in the VMs. This makes it extraordinarily difficult to get help from the Parallels people, since no one but LabVIEW users (on Parallels) can reproduce the problem, and it doesn't even affect 100% of us!
    • There are a few apps (Jack pointed me to one but I forget it now) that display keypress captures in Windows. These tools all report that the keys seem to be caught correctly by Windows, so whatever is going on seems to be happening inside Windows on the VM, not at the Mac/VM boundary.

    My gut says that the cause is probably wrapped up somewhere in an interaction between Parallels Tools and... I dunno... something in the way LabVIEW registers for keypresses?


    I have one more data point to report ...


    Running from the same Mac OSX 10.9 and Parallels 9, I have two Win 7 x64 VMs.  One of them I built recently and another I built a long time ago.  The older VM allows the CTRL+SHIFT shortcuts (tested with CTRL+SHIFT+E) but the new one does not.  The older VM is running LV 2011 and I did not update parallels tools.  The old VM was running Parallels Tools 7.0.15004 when it was working.  I took a snapshot and then upgraded parallels tools to latest version.  After upgrading to latest Parallels Tools CTRL+SHIFT+E still works.


    Note that Justin mentioned that in LV2011 on his VM CTRL+SHIFT+E did not work - so there must be some VM or Windows setting that is affecting LabVIEW but its really not obvious to me what the difference is between my two VMs.


    Let me fill in a little more background on this, since I've been dealing with this issue for a long time.


    First off, anyone who is affected by this issue take note: whatever your experience is, it's basically a single sample. Several times I've thought I figured out a pattern to the issue, but I've always found a counter-example usually from my own later experience.


    Here's what I know for sure, based on direct personal observation:

    (Definition: by "the issue" I mean "LabVIEW doesn't recognize 3-key shortcuts, e.g. Ctrl+Shift+E, Ctrl+Shift+W, Ctrl+Shift+Z, etc., when running in Parallels.")

    • The issue has been happening since at least Parallels 6. I have personally witnessed it on every recent release of Parallels (6, 7, and 8) except Parallels 9, but obviously Omar has seen it on Parallels 9.
    • The issue occurs in Windows XP VMs as well as Windows 7 VMs.
    • The issue occurs most frequently when upgrading VMs between versions of Parallels, but also can occur on brand-new VMs.
    • The issue is only triggered by upgrading or new-VM creation. I.e. the issue doesn't just spontaneously occur out of the blue.
    • Once a VM is affected by the issue, it's affected forever. Upgrading to an even later version of Parallels will not "fix" it.
    • The issue is not related to a specific version of LabVIEW. I've seen VMs with anything from LabVIEW 2009 through 2012 affected, and it (rather obviously) affects all versions of LabVIEW on a given VM.
    • If a VM becomes affected by the issue when upgrading, I have had some success in rolling back to a non-upgraded Time Machine backup of the VM and re-running the upgrade. I.e. there seems to be some "luck factor" in whether a given upgrade works out or not.

    As you can understand, this is one of the most inscrutable and frustrating things about running LabVIEW in Parallels.

  7. You got me excited for a second because that sentence made me think perhaps one could attend without being a CLA. Alas, 'tis not so.


    I'm still split on what to think about the summit. I completely understand wanting to up the ante with respect to who can attend otherwise the summit could blow up into something way out of hand, but part of me also is disgusted at the closed nature of the summit. I firmly believe it's not in anyone's best interest to keep these good ideas sealed behind an ivory tower.


    I'm sorry to hear you feel "disgusted." The idea of the Summit isn't to keep ideas bottled up; it's to create an environment for CLAs to really let loose so ideas can flourish, with the knowledge that no one will be daunted by technical complexity or lost due to lack of experience. We have to set the bar somewhere, and NI has chosen to set it at "must have CLA," which I think is a pretty reasonable choice.


    Hopefully those CLAs take what they learn and create, and go home and share that with their colleagues & customers. I know that when I've gone, the energy of having lots of people who really, really love LabVIEW all together in the same room is pretty inspiring.


    To be clear I'm not a CLA and I don't ever see myself getting sponsorship to obtain one. I'm not speaking out of bitterness of not being able to attend, I just honestly think more open discussions would prove to be more constructive.


    How would you envision that happening? If you can provide suggestions for how CLAs can do more to contribute back to the community I think you'd find receptive ears. I'm confident nobody at the Summit wants to prevent open discussions.


    An alternative solution would be to go to your boss and tell him/her how valuable the Summit looks, and how disgusting it is to miss out, and how much more valuable you think you'd be to the company if you had your CLA  ;) .

  8. (cross-posted to the NI CLA Forum; you'll need to be a CLA to view that link)


    Do you care about software licensing? As evidenced by this exciting thread from last year, some of us (including me) obviously do  :) .


    Here's the deal: I'm going to be leading a session at the CLA Summit Americas on Software Licensing. I want to make sure I have the areas of focus dialed in so that everyone gets useful information out of the hour we'll have together.


    Whether you're a CLA or not, and whether you're coming to the Summit or not, can you please post software licensing questions or concerns that affect you or your business? This will help me capture as broad an understanding of people as possible.


    Here are some seeds to get you thinking:

    • Do your consulting customers ever ask you about licensing issues with your software? What questions do they ask?
    • Have you ever had a project fail due to licensing issues? What was the core hang-up?
    • If you make (or are considering making) LabVIEW add-ons for the LabVIEW Tools Network, is there anything related to licensing that you're kind of stuck or can't understand?
    • Software licensing is a big topic with lots of tricky details. What do you feel like you just don't understand?



    P.S. If you have some licensing question or story that you'd rather not share publicly for some reason, feel free to PM it to me!

    • Like 1
  9. That is what I am unsure about. I don't see what stops you posting it under a BSD license publically but effectively giving NI the license in the ToCs. As the copyright holders I think you may be within your rights to do this although I am not certain. I think you could even post your code to ni.com with a license for the public such as BSD.

    Interesting question, for sure. My take on it is this:

    By uploading the code in question to ni.com, you're unquestionably granting NI the rights defined in the ni.com ToS. That much is clear.

    But now someone else (not NI) comes along and downloads that code from ni.com. What rights does the downloader have?

    Going back to the ToS again, the "Use of Software" section seems to cover it pretty clearly: "Use of all software that you download from this Site ('Software') is subject to the license terms of the applicable software license agreement for such Software."

    So I think you're right -- you could easily post code on ni.com and say, "This is BSD," while still implicitly granting NI all the broad rights covered in the ToS. A clearer way to do it, though, would be to send it privately to NI (post it in a private group?) and then also post it on LAVA as BSD where it's less liable to confuse/frighten people.

  10. Yes. GPL is, but that is exactly what the CC example I gave does (which you have not commented on ;) ).The point I was making (unsuccessfully obviously) is

    I didn't comment on your CC example primarily because you didn't link to the full license and there are a lot of CC licenses. It appears to be CC0 1.0 Universal?

    You're probably right for that licence. However, it could (depending on the licence). Since another "version" is a derivative; if the licence waived a right, then you could be bound by your own licence.

    This is, flatly, incorrect except in extreme cases. You are the author of the code, and you retain copyright over it. Whether any version you create is a derivative is immaterial because you, as the author and copyright holder, are not bound by the license under which other people use the work.

    The exception to this would be if you assigned the copyright on the code to someone else. But that's not a license, that's an assignment of copyright (and you'd be bound by the license under which they licensed it back to you, if any). Completely different animal, but see below about your cherry-picked CC example.

    This is why your first choice of licence is important. However, I am not talking about specific licenses. I am talking about "Licenses" in general.

    Nor was I, which is another part of why I only responded to one of the specific examples you brought up. We can do as many examples as you'd like, though.

    As a side note, you mentioned that you'd gotten yourself into a bind with regard to a license that locked you in to something you didn't want. What license was that?

    Lets say I publish some software and the licence waives all my rights to everything to do with the software and any derivatives (like that CC license example).

    It doesn't waive all your rights, though. It gives you the exact same rights as everyone else who wants to use it under the terms of the Creative Commons. And for what it's worth, CC0 1.0 Universal is literally one of the most permissive licenses on the planet. You picked a true edge case, which I'd go so far as to say is really more an assignment of copyright (to the Commons) than a license (to users), but that's a bit of a semantic grey area.

    If the first licence restricts, say, distribution rights, and the second licence grants distribution rights; then it can be dual licenced. A second licence that grants the same rights as the first is irrelevant and confusing. Additionally, a second licence that contradicts the first licence (say, in the first one you say that you can have unlimited and free updates and in the second, you can only have one update and you have to pay for it) will only lead to problems.

    You say you're talking about licensing in general, but you're conjuring up very specific hypothetical straw men.

    With "dual licencing", you choose your "base" licence and modify it by the second licence (by restating and relaxing restrictions in the first, sometimes with more detailed caveats). You don't choose two completely "at-odds" and arbitrary licences because one fits one scenario whilst the other fits another. Hell. Why not have 50 different licences for 50 different scenarios?

    With apologies, this is again completely incorrect. Refer to the way mySQL does it. You basically have two options with mySQL:

    (1) Use it under the GPL, with all the rights and restrictions afforded to you (and your derivative works) under that license.

    (2) Use it under a proprietary commercial license which is completely at odds with the GPL. The proprietary license here is absolutely not an extension or clarification of the GPL, not least because I think one of the terms of the GPL is that it not be modified or extended.

    So yes, you can conjure up approaches to dual-licensing that don't make sense and wouldn't work in the real world. But that doesn't change the fact that dual-licensing exists, and works.

  11. Take for example the GPL licence (Section 2)


    You are granting the user certain rights. If you grant him rights that supersede yours (you are the author so you begin with all rights) , then you are in a very difficult position.

    That's only true if you chose a license that doesn't fit your future needs. I have released multiple pieces of software (not all in LabVIEW) over the years under various licenses (GPL, LGPL, BSD, MIT, proprietary), and I have never been put in a difficult position by any of them, even when commercial issues or dual licensing were involved.

    Licensing is about granting rights to the recipient and/or waiving your own and the the whole document (any licence document) is about specifying the criteria under under which those rights are granted or waived (and please note that for GPL they are irrevocable once gained).

    Right, but this is a huge distinction from saying "I relinquish all my software rights to you." Under the GPL, the author doesn't "relinquish" any rights -- they just grant additional rights to users beyond what typical "non-free" licenses do.

    This irrevocability thing gets to another misconception about the GPL. I'm not saying you're committing this error, but lots of people do :).

    Rights granted under the GPL are irrevocable for the specific source code covered by the license. Once you release the source code (say it's Widget Factory v1.2) under the GPL, that version is covered by those license terms forever. However, because you are the author, you can still:

    (1) License Widget Factory 1.2 under any other license you want, including any proprietary or closed-source licenses. Again, mySQL is the best example of this.

    (2) Continue development of Widget Factory and release v1.3 (and any other future versions) under a non-GPL license (or any license you wish), or not release them at all. The GPL applies to Widget Factory 1.2, but that's it unless and until you release future versions under the GPL as well.

    Note that the word "irrevocable" here is really covering the case where the author wants to say, "Just kidding!" and to undo a grant of license for something that already exists. It doesn't bind them to anything for any future development.

    So to get back to "dual licensing" it is only applicable if the "other" licence relinquishes an authors rights restriction or allows a right above and beyond the original licence.

    I'm afraid I don't understand this sentence. Dual licensing is "applicable" whenever an author releases something under two licenses, and it's not clear to me what "relinquishes an authors rights restriction" means. Can you help me understand?

  12. Yup. Give 'em as many as you like. You only need one that says "I relinquish all my software rights to you" in lawyer speak and they can sue you for distribution and copyright infringement.

    I think you're mixing "I relinquish all my software rights to you" with "I grant you a license to use this software subject to these restrictions (or without restriction)." The first is a transfer of intellectual property rights, while the second is not.

    Yup. So how would a piece of software "dual licensed" under "Public Domain" and "Non-Commercial" work?

    "Public Domain" is not a license. The author of a work can place a work in the public domain by choice, or works can enter the public domain subject to various criteria, which differ based on local laws. A work in the public domain does not require a license to use, precisely because it's in the public domain.

    If by "Non-Commercial" you're referring to a specific CC license (e.g. CC-BY NC), then the answer is, "Works that are in the public domain are in the public domain, while works that are licensed by their authors as "CC-BY NC" are provided to others under the terms of that license."


    Your "work for hire" scenario means the entity hiring the developer owns the license and is free to do with it what they want. This is different than posting your own code to the fora.

    Clarification, since the semantics actually matter here...

    "Work for hire" means the entity hiring the developer owns the licenseintellectual property created and is free to do with it what they want because they own it.

  13. This may mean that it becomes impossible to post something in the forums and then move it to the CR under a different licence of the authors choosing.

    This is a common misconception about licensing.

    The author of a work remains the copyright holder to what they create no matter how they license it, and they retain the right to license their creations to other people under any other terms they want. This is exactly how MySQL licensing works.

    In other words, just because code is uploaded to LAVA under CC or BSD or GPL or whatever, that doesn't mean that NI can't work directly with the author of that code to get it under a license they're happier with.

    maybe NI should suggest an appropriate license that people should use on lavag.org (or anywhere else) that NI can work with.

    While I'm on the subject, I fully support this idea :).

  14. I'm just dropping by to register my name on the small (but growing?) list of people who've seen the same problem as Jack.

    In my case, I had the following:

    • Windows 7 64-bit VM (in Parallels 7)
    • LV2011

    I saw exactly the same symptoms Jack describes; they began to appear when I upgraded the VM from Parallels 6 to Parallels 7. In my case, I fought with it for about 2 full days then finally gave up and rolled back to Parallels 6 from a backup.

    Recently I was forced to upgrade to Parallels 7 (required for OS X 10.8 Mountain Lion compatibility). This time, as if by magic or dumb luck, the problem has not recurred. However, given that Jack & I have both seen this I'm sort of living in fear of every new Parallels or LabVIEW update that I apply.

  15. TICKET PRE-SALES ARE NOW CLOSED. There are still tickets remaining but you have to find me at the show to buy them.

    Finding Me: I will be around the JKI booth (#630) quite a lot, especially on Tuesday. You might also want to catch me after my presentation on Tuesday morning:

    (TS8244) Secret Sauce: Non-LabVIEW Tools to Make You a Better LabVIEW Developer
    Tuesday, August 7 – 10:30-11:30 a.m. – Room 12B

    Paying Me:
    I'm going to try to take in-person purchases with credit cards this year but the system isn't well-tested so I can't guarantee anything. Cash is preferred

    See you all very soon!
    • Like 1
  • Create New...

Important Information

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