How to say 'Does it come with...?' like at a restaurant

Question: Today I was ordering at the local taqueria and I wanted to ask whether my meal came with chips.  The verbatim translation would use the verb 'venir', something like "viene con chips", but this seems like an abuse of the word venir.  One could ask whether "mi orden incluye chips" but this seems a little too formal.  What would be the best way to ask this, specifically in an informal/casual Mexican dialect?
Answer: Another possibility besides "venir con" and "llevar" is traer, not in the sense of bringing but of carrying:

-¿Trae papas fritas?
-Sí, esta semana el combo trae doble papa gratis.
Comment: Do you have a sense of how common this would be, and/or how clear the subject of the sentence would be?  As in, if I asked this while ordering, it is clear that I'm asking whether my meal "trae papas fritas", or might this be interpreted as "will you bring me chips"?
Comment: @ChocolateAndCheese: It's very common. Besides: if you wanted to ask "Will you bring me chips?" you'd have to say: "¿Me trae (usted) papas fritas?" (present... habit) or "¿Me traerá (usted) papas fritas?" (future). That "Me" (or "nos" if there's more than one person at the table) makes a lot of difference. :-)
Comment: @ChocolateAndCheese: It has both senses: _el mesero trae las papas_ ("the waiter brings the chips") and _la carne trae papas_ ("the meat comes with chips"). Wences comment clears everything.
Comment: @ChocolateAndCheese - Actually, I think you raised a good point.  If you are a foreigner, your Spanish may be assumed to be a bit compromised and over-simplified, and someone could indeed interpret "¿Trae papa frita?" as "Are you bringing potato chips / fried potatoes?" which could suggest some impatience and rudeness, and that would not ingratiate you to the waiter.
Answer:
¿Con qué viene acompañado?
¿Con qué viene? (least formal)
¿Cuáles acompañamientos tiene? (most formal)

I found these suggestions in http://www.costaricaspanish.net/2010/12/phrases-for-the-restaurant/; they all sound fine to my ear (which is tuned to Mexican Spanish).
Comment: This applies to Colombia too
Answer: At least in Argentina and Uruguay you will probably be better understood if you use "venir".

¿La carne viene con papas?
Comment: this applies to Colombia too.
Comment: What does this April 3 answer contribute that my April 2 answer did not?  Also, note that the question clearly requests an answer for Mexico, not South America.
Answer: This is an old question but I've noticed it because it was used to mark a duplicate.
It specifies Mexican Spanish but this phrase appears in another answer

I would say venir is grammatically wrong (and idiomatically awkward in any case)

In Spain the sentence "¿viene con patatas?" is used commonly, it's totally normal and understandable and it's NOT grammatically wrong neither idiomatically awkward.
According to the R.A.E
venir

intr. Dicho de una persona o de una cosa: Llegar a donde está quien habla.
  English translation: Applied to person or a thing: Arrive where the speaker is.

So if you say "¿esta carne viene con patatas?" you are asking "do this meat come with fries?" [come and arrive are synonyms in this case, and I think that "come" is more idiomatic in English].
Answer: I would just say:

¿Lleva patatas/chips?

I would say venir is grammatically wrong (and idiomatically awkward in any case), as ir/venir (and llevar/traer) don't work exactly as in English, and this is one case in which the perspective of the speaker changes.
And I would definitely not use orden as a translation of order, although I think it's quite common in Mexican Spanish.
Comment: According to DRAE: *19. f. Cuba, Méx. y R. Dom. Relación de lo que se va a consumir en una cafetería o restaurante.* In Argentina we use "pedido" for "order" ("orden" is more readily associated with a "purchase order" of some other kind), and we do use "venir": ¿El pedido viene solo o con guarnición? We wouldn't use "llevar". Example: https://www.gurudeofertas.com/oferta/5127/riquisimo-menu-suprema-napolitana-para-2-personas-viene-con-guarnicion-de-ensalada-o-papas-fritas-postre-75
Comment: Aditionally to what @Gustavson said (I'm also argenintinian and agree with all of it) "llevar" would be used if you are talking about the ingredients of a dish: El gulash ¿lleva cebolla? But it's different from the sense of the question because in that case you're not asking if it comes with onions on the side, you're asking if it is made with onions.
Comment: @Gustavson I spent some time in Argentina and definitely used 'venir' in this situation and was understood, but for some reason it never felt quite right.  I guess it was okay there though.
Comment: Patatas?  In Mexico?  Maybe "chips" has been adopted since I left Mexico, but I can't imagine "patatas" would have replaced "papa frita."
Comment: I was quite surprised to discover the usage of _orden_ as a translation of _order_! I had already heard about _carpeta_ for "carpet" and other, I guess the list can just increase with two languages "living" in the same areas.
Comment: @Wences That was my understanding of the use of "llevar" as well:  A pizza "lleva un ingrediente" but I wouldn't say my dinner "lleva" chips.


My default keyboard layout has changed after rebooting

Question: I've found many solutions but I do want to understand why this happens. I use English (US, International with dead keys) layout because I am a Portuguese speaker, and it's better for me not to change the layout all the time, not to mention I'm used with the US layout and key positions etc.
Yesterday I re-installed Xubunt 16.04.1 64bits and after installing the packages bumblebee and bumblebee-nvidia, I ran into this issue - again - of every reboot the layout is changed to simple English (US), where the special accents that exist in the Portuguese language. To make them, I'd press the key and then the letter, but with this layout that's changed after each reboot, by pressing the special character will simply print it immediately.
In the Settings > Keyboard > Layouts is set to the option I chose during installation, by default, but still, it insists on change.
Curiously, the previous installation of the system took around two weeks or three for it to happen, while this time, the same day.
Why does it happen? I know it's not only me.
Answer: Make sure you have system keyboard layout enabled on ibus-setup:

Press Alt + F2 and run ibus-setup on command field.
New window will appeared, navigate to Advanced tab.
Check Use system keyboards layout option.
Close the window.

Then, disable Use system Defaults item from Keyboard settings:

Go to Settings > Keyboard > Layout tab.
Uncheck Use system defaults.
Close the window.

Add setxkbmap us -variant intl command to $HOME/.profile:
echo setxkbmap us -variant intl >> $HOME/.profile

This command should set English (US, International with dead keys) layout on every login.


Male cat won't stop stalking and chasing our new cat

Question: We have 3 cats as of now... Cassa who is 10 years old, Demon who is 3 years old, and the newbie Twiggy who is going on 2 years old. All are fixed.
Cassa is the first one we got and she was more a "people" cat. It took her 4 months to take to Demon when he was a kitten.
Demon will not stop chasing Twiggy, he swats her, chases her - for me, it looks like he bullies her. He will sometimes growl and hiss as well. We keep Demon and Twiggy separate. Cassa and Twiggy are completely fine. We have tried redirecting with toys and Feliway treats; he will eat his wet food in front of her, but once she's done - if she walks away, he HAS TO BE THERE WITH HER! When she's in the bedroom on the "rotation" he will stay at the door or be at the door if we are in the bedroom. He even has a small tantrum if we put him in the bedroom and she's in the different place of our home.
Any ideas on what to do?
Answer: I am not an educated expert, but this sounds like perfectly normal cat behaviour to me. As long as no cat is seriously hurt I would not worry to much. It's just their way of establishing a relationship, cats are not always gentle.
I know it's easier said than done, but try to intervene as little as possible. Instead try to give them room to figure it out for themselves, even literally in the sense of space to move. A narrow passage e.g. is always a problem.
If the cats are fighting, I thinks it's okay to step in between them, but it's better to give them a push and block their way then to grab them. But they will have to fight once in a while to determine who deserves the best place in the house or some other privilege.
Still I think it's hard to tell what goes on in their minds and hard to predict how their relationship will develope. I hope in time they will get used to each other and live in peace. Around my house there are two cats who are always avoiding each other and scaring each other away, exept when it's really cold, then they huddle together in a box that is hardly big enough for one cat.
Good luck!
Answer: Cats are territorial. Twiggy has invaded. You are right to keep them separated for some weeks, sometimes a couple of months.
Letting them "work it out" without human supervision can be dangerous--especially with an older cat. Physical and psychological distress isn't good for anyone--kitties included.
Anytime I introduce new animals to each other, I let the new addition roam around in a contained area, like the kitchen with the door closed. The "resident" animal gets carried into the room and I hold them and reassure them they are safe.
Since they have already "met"  I would just sit there and not let him attack or harass the newbie. Talk to him softly. Kinda like having a new baby with a toddler who is interested and then gets jealous when the new baby gets all your attention.
Good luck and please let us know how it's going with the new cat.


mesh breaking apart and recombining to form another mesh?

Question: I've had this effect in my head for some time but still unable to think of a possible way to do it. For the sake of simplicity, would there be a practical (time-wise) way to create an effect where the letter A blows up (fractures) and then the pieces recombine to form the letter B?
Comment: You know, often CG is about faking effects. You could break the A in small pieces, tiny blocks, then make them move towards a basic B shape, and then fastly make a hidden real B shape become visible instead of the pieces.
Comment: Feel free to add that as an answer or a comment with further explanation, I'm not sure how you'd go about doing that. I fracture letter (mesh) A into small pieces, then how would they "get together" to fill a volume similar to the letter B? (which I could then fade into in post processing).
Answer: Another way is morphing objects with Particle Systems

You can morph shapes of objects and even objects themselves (influnced by Explode modifier) with Keyed Particle Systems.
From wiki:

The particle paths of keyed particles are determined from the emitter to another particle system's particles. This allows creation of chains of systems with keyed physics to create long strands or groovy moving particles.

You should only setup them in appropriate way so to make particles travel from one emitter to another.
Step 1: Add objects and assign "simple" particles systems
These systems don't do anything but providing particles needed for action. Because we need them to not emit in time, setup this system (as you can link to both objects the same) so to change Number of particles, Start and End time, Lifetime, Velocity.
Step 2: Add Keyed particle system
Add 2 different Keyed Particle systems - 1 per object. As in the gif above, first setup object on the left. Change Number, Start and End, Lifetime to the same values as for the "simple" particle system and set Velocity > Normal to something more than 1.
And the main, in Physics scroll select Keyed.  Add 2 keyes (in
    both setups) and setup them in this way:

for object Sphere:
    - 1-st key: second ParticleSystem of the Suzanne (use slider in the bottom to select Particle System of the object);
    - 2-nd key: second ParticleSystem of the Sphere.
for object Suzanne:
      - 1-st key: second ParticleSystem of the Sphere;
      - 2-nd key: second ParticleSystem of the Suzanne.

(in example above I also changed timing in Time and Duration sliders so to make systems not interfere with each other, and materials transparency, in order not to see already broken object etc.)
Now, for both objects add Explode modifier, and move it to the bottom (under both particle systems). Choose Cut Edges for finer result.

Note that this way doesn't provide accurate result and it could be greatly enhanced. Particulalry, here are some disadvantages:

Objects' topology means a lot for this to work. Particles will be emitted taking into account amount and distribution of them on the faces.
Keyed Particles aren't affected by physics (so force fields, gravity and so on). Read more about it in this related question. In order to further improve such animation you may consider using 2 approaches:

using simple systems as keys in Keyed Particle System setup (it would involve a lot of cheating to make particles form initial objects)
using 3-rd object and 3-rd Keyed Particle system which shold represent "falling particles down" (if simulating gravity).

Although it could be a beginning for some effects.

(note that stripdown version of file is linked; it includes morphing objects, their setup, ground plane and light).

Credits for particle systems setup:

very good starting lesson on keyed particle
systems
Comment: good answer. I know about keyed particles  but I didn't get the part about using Masks.
Comment: This intended to be starting point for creating workarounds for that unpleasent result in the end. You could duplicate objects, add Object Index for both copies, make copies invisible and in compositing make their alpha masks influence on each other. Thus when particles of the object1 fly over object2, the last one should be revealed. I didin't test that though.
Answer: I am quickly adding what I had in mind: mine was just a suggestion, never did anything similar.
You could use a fracture addon (there are 2 in 2.76, I heard of specific builds, too) to obtain several tiny blocks from "A" object, then

select all them, and

insert keyframes (for their starting point).

then, choose a  "middle point" between "A" and "B" objects,

move all the tiny blocks there, and move to some 40 frames later

then key frame them all, there
then, maybe do "the opposite" for the "B" object

move to the "final" frame, maybe other 40 frames later

fracture the "B" object with similar ending blocks count/size,

keyframe all the "B" blocks in their "final" position

then go to the frame of the "middle point" chosen before

now move the "B" block just "near" the previous "A" blocks,

then key frame the new "middle" position for the "B" blocks.

then you should find a way to hide "A" blocks when they should be replaced by "B" blocks, maybe a high moving speed will help to mask things...
in the end, playing the sequence from 1 to 80, it you should see "A" crash into small pieces moving to a middle point, and then go to the "B" ending point... Ill try to create some simple example, and add it later, maybe in the meanwhile you find some even better way...
[edit] ok, here is a sample .blend, of course the various objects visibility is still to animate, but the general idea is in this file.


deepAR RNN from AWS Sagemaker - should I clean the data first?

Question: I test the Sagemaker AWS solution for RNN: deepAR.
Previously I used sklearn for this and obviously I cleaned the data to avoid highly correlated time series (KBest, PCA, etc.)
Do you think it is needed here, or RNN will handle internally correlated series.
PS. This is typically the case with blackbox commercial solutions. They look fantastic, but when it comes to details you have nowhere to consult.
Answer: I wouldn't do much to the data before using as input to DeepAR. I would just make sure the timeseries I'm using as input have some variance (are not stationary for long).
DeepAR uses a simple yet efficient sampling technique to handle timeseries of different velocity.
DeepAR's paper state some of the capabilities the architecture should handle. https://arxiv.org/abs/1704.04110
In any case, it is always a responsible thing to try the simple first and use that as a baseline.
Answer: I am not a specialist but I would say that you only have to use the right format for your data. Since NNs have the ability to handle high dimensional features it will not harm your model if those features are correlated.


change in JS file not reflected in magento frontend

Question: I have made a change in opcheckout.js file but the change is not reflected in frontend.
I have flushed magento cache, cache storage, Javascript/CSS cache, Purged Varnish but the change is not at all reflecting in the frontend.
I inspected the element and looked into the JS file and it shows the older one in firebug.
Can anyone please tell me some way to get the change done in JS file to be reflected in live?
Answer: One thing you can try is to merge css and js files and also you can add a version to your js and css files, so then the file will look like this ie: opcheckout.js?v=something
You can do this here:
Versioning:
System -> Configuration -> General -> Design -> CSS/JS Design Versions
CSS settings:
System -> Configuration -> Developer -> CSS settings -> Merge CSS Files
Also take a look to this extension, it will add the last-modified timestamp to your js and css files: https://github.com/fbrnc/Aoe_JsCssTstamp
Comment: @Amit Bera:  my site has been upgraded from 1.8 to 1.9. Within due course of time, opcheckout.js faced some addition of lines if compared with old file due to which a functionality for customer credit stopped working in my case, so I just made a minor change in js file and uploaded to the same location. I dont want to give versioning to js file, is it something that it is old opcheckout.js is cached somewhere might be in server? Any idea
Comment: I accept your answer as because I tried to change JS file version and it worked..To me it seems like old JS file remains cached until it founds some new file
like I added this line:  in my .phtml file
Comment: Yes that is how it works. When magento adds the version to the file then for the browser is a new file
Comment: thanks man for the support, now I feel that I took a right step


MSP430F6638 stack problem

Question: I'm programming a MSP430f6638 via JTAG interface, specifically i'm using TS430PZ100USB kit, and I'm trying to write a FAT16 file in an SDCard so I'm using the FatFs modules to make the system file, the thing is that this module has a couple nested functions, so when i initialize the project i realize the stack has reached its full capacity which (according to IAR Workbench) is only 160 bytes long, when I check the datasheet I can't find exactly the capacity of the stack but RAM is 16kB long, is divided in four sections of 4kB so the top section should be the one where I can find the stack, I don't think an MSP430 has such a small stack, this a common enough high level application. If anyone could give me an answer.
Comment: Stack size is set in the .xcl file. Have you tried changing it?
Comment: Thanks, i just found the .xcl, i did'nt know i couls do so, i'll give it a try, i hope that works
Answer: My answer is very general with respect to these devices, I have more experience with the 8051, which also has a very small stack (128 or 256 bytes). I would always write the code with a maximum of only 1 deep into the call stack. Is it possible for you to re-write your code to accomplish this? The compiler can try and inline your call stack, but this doesn't always work.
Comment: That is not possible with a reasonable and maintainable FAT implementation. Its just too complex.

MSP430F6638 stack problem


BALUN vs other methods

Question: I have a differential analog signal traveling over 2 coaxial wires. I need to convert to single ended. When should I use a BALUN ? When are other solutions such as OPAMPS more appropriate ?
Comment: I've only seen BALUNs used for RF.  So I guess it comes down to frequency and impedances.  If the frequencies are low enough for an opamp, then you could use either I suppose.
Comment: Just use a transformer but, without knowledge of the signal spectrum it's impossible to say.
Answer: Use the appropriate one for the frequency range.
Anything less than 100 kHz, use an opamp. Anything over 50 MHz, use a transformer balun. Between those frequencies, depending on your signal level, or distortion requirements, you'll need to choose your component carefully, paying a bit more for a faster opamp, or testing your magnetics critically.
Answer: The optimal solution depends on the signal frequency and strength, and in some cases also on the available technology. At high frequencies - I would say >n*100MHz - balun is used, because no transformers or amplifiers are available, below that frequency transformers are the first choice, while at/near DC feedback based circuit techniques: opamps, or even just a source coupled transistor pair where only one of the outputs are used.
If you happen to work on an integrated solution, then transistor based solutions will work even up to few 100GHz depending on the actual technology being used. Similarly you can use RF transistors on a PCB for more than 100MHz, but the preferred choice between this and a balun involves considerations of the cost of the amplifier, the PCB, and the assembly. A passive structure always require less care once it is designed.
RF transistors and transformers might be limited by their rated input power. There is a limit for dielectric breakdown and electromigration for planar PCB baluns as wells, but it is way more relaxed.
Comment: I'm using it for a Xilinx RFSOC FPGA.- The input frequency range can be between 100K to 2GHz.Per your recommendation I guess I should use a BALUN. .
Comment: You have an ultra-wide frequency range, more than 14 octaves! I doubt that such wideband passive baluns exists. I would go and look for an active implementation. Though 2GHz is too high for opamps, so you might find some ICs doing it, or biuld your own circuit.

BALUN vs other methods


Why does Fed buying mortgage backed security help lower the interest rate for mortgages?

Question: If Fed buys more mortgage-backed securities, does it necessary mean that the interest rate will go down? Consider the supply and demand market for mortgages  and let us assume the supply side is the commercial banks and the demand side is households. It follows that supply increases as Fed buys mortgage-backed securities, which causes the interest rate to fall. However, suppose that although the Fed starts buying mortgage-backed securities from the banks, the banks think it is too risky to hold mortgages after the increase in the delinquency rate during the financial crisis. So the supply does not actually increase and thus the interest rate does not increase. Is this scenario possible?
Answer: Addressing your question directly, yes, the rate will necessarily decrease. The Fed's purchases of MBS were entirely MBS that were securitized by the government-sponsored enterprises (GSEs). GSE MBS are not subject to credit risk, as the credit risk is guaranteed by the GSEs.
Further, banks underwriting mortgages that are securitized through this channel aren't holding any credit risk— the only real risk they face is that if a loan that defaults is found to have underwriting defects, the originating bank can be forced to repurchase the loan from the GSE through which it was securitized. This repurchase risk isn't trivial, but it can be controlled in a number of ways (proper underwriting being foremost among them). As a result, the channel that you posit— bank perceptions of mortgage risk increasing, offsetting rate decreases brought about by QE— is not possible.
Empirical evidence supports the above assertion— rates did in fact decrease. Krishnamurthy and Vissing-Jorgensen say:

We document that the Federal Reserve's purchase of long-term Treasuries and other long-term
  bonds ("QE1" in 2008-2009 and "QE2" in 2010-2011) significantly lowered nominal interest
  rates on Treasuries, Agencies, corporate bonds, and mortgage-backed securities, but with
  magnitudes that differed across bonds, across maturities, and across QE1 and QE2.


How can I find my lost iPhone 7 Plus?

Question: I lost my iPhone yesterday and I didn't turn on mobile data, so I couldn't use Find my iPhone to locate it. I have tried to call many times, but no one answers and the phone keeps ringing. That means my iPhone is still active with my SIM card. Does anybody know how can I locate my iPhone? (I use a Vodafone SIM card and I purchased my phone on plan.)
Comment: Is Find my iPhone activated at all?
Answer: There's no way you can locate your device without it connecting to the internet. You can go to this link and enable the lost mode. I am not sure if your phone was locked, if it was then there's no way it can have internet unless it is unlocked. If it was not locked and it gets internet access then the lost mode will be enabled and you can get the phones location. Also the phone will be locked after that.
Once you enable Lost Mode, you will also get an option to enable 'Notify me when found', enable that option as well.
If your have not enabled Two-factor authentication for Apple ID and if you have any other apple device then I suggest you enable it by following instructions on this link. Because now there are high chances of someone trying to hack your apple id to use the phone.
Answer: Have you tried the find my iPhone app? Just sign in with iCloud and your phone will start making a noise
Comment: Well, OP doesn't have mobile data on, so that wasn't an option.

How can I find my lost iPhone 7 Plus?


Advantages of Enabling Firmware Password Protection

Question: What security advantages, if any, would be gained by enabling Firmware Password Protection on a mac that allready has filevault encryption for the disk?
Answer: Setting a firmware password prevents your Mac from starting up from any device other than the built in hard drive.
Even if the contents of the hard drive are encrypted, the attacker could still modify the boot sector or copy the contents of the drive.
Answer: Okay. Let me try to explain this scenario practically using a Windows analogy first:
"I was in high school and had chosen Computer Science as my major. We were asked to bring our own laptops. Naturally, being kids we were pretty notorious. Since all of the students in our class had their Windows Logon Password enabled, me and my friend thought that it would be fun to hack into their PC's. We opened up their PC's during break, changed the primary boot device to a USB using the BIOS and installed OfflineNT in a USB drive. Now the cool part was that OfflineNT was capable of resetting the UAC password (read: clearing the password). We would do this and then boot into the PC bypassing the logon passwords (since it was now cleared) and set stupid wallpapers for fun sake." After being caught, we then told them that the best way to prevent such mishaps is to enable the BIOS password protection which asks you for a password even before letting you boot into the PC thus preventing us from changing the primary boot device to USB.
Firmware password protection is pretty much along the similar lines. It prevents you from changing the boot options. My point is that even though you have FileVault Encryption Enabled an attacker could easily boot into the PC and try to circumvent the protection and copy the contents. Cloning the drive is possible using tools like SuperDuper which will let you clone the entire drive. The attacker can then use his/her leisure time to crack thru the encryption using brute force tools and then peek at your data. Enabling Firmware Protection will help you prevent all this.
Hope it helps. :)


How to decrypt Kwvnqlmvbqitqbg?

Question: How would I go about to decrypt the above string, if I do not know what cipher was used?
Comment: Isn't it caesar cipher +8? Results into:  Confidentiality
Answer: It's encrypted using a Ceasar Cipher and a Key of 8. Encryption with Caesar code is a simple substitution (one letter replaces another). Caesar code replaces each letter with an alphabet shift: a letter further in the alphabet. To decrypt we just reverse that substitution.
The plaintext for Kwvnqlmvbqitqbg is "CONFIDENTIALITY".
Best way to go about decrypting this is

See that this is still readable plaintext and most likely a simple substitution.
When we know the language used, we can use the a frequency analysis to find out which letter in the cipher is most likely to represent the most popular letters in that language. This is a short text, so this won't help too much.
Easiest solution is to just try all the keys because there only are only 26 letters in the alphabet.

There are also online services that encrypt/decrypt Ceasar cipher like: https://www.dcode.fr/caesar-cipher
Comment: While you are right about the Caesar cypher I think the best way to decrypt it is not to try all the keys, this could take a long time before you find the one you need. Id say trow it in an online decryptor. Not entirely sure why your answer got downvoted tho

How to decrypt Kwvnqlmvbqitqbg?


Standard Package updates of selinux-policy-*

Question: I am wondering if after installing an update of a selinux-policy-* package you are using, do you need to reset all the labels in the system (i.e. fixfiles onboot) in order to keep the policy effective?
Answer: It may depend on which distribution you are using, but in Fedora (and therefore in most or all Fedora-derived distributions including Red Hat Enterprise Linux and CentOS) the selinux-policy-targeted package includes a postinstall script with restorecon and fixfiles commands, so it should not be necessary.


Why does the Curry-Howard correspondence exist?

Question: The Curry-Howard correspondence observes that logics correspond to type systems (in the sense of having the "same" inference rules). Is there some deeper explanation/justification for this? E.g. "in category theory, 'interesting' logics and type systems are both [something] and therefore isomorphisms exist between them".
Answer: I like to think of the Curry-Howard correspondence as a natural outcome of the so-called Brouwer-Heyting-Kolmogorov (BHK) interpretation of logic. The central idea of BHK is that meaning of a mathematical statement is to be specified not by telling under what circumstances the statement is true but rather by telling what one must do in order to prove the statement. As a result, the meanings of logical operations (connectives and quantifiers) are given, not by describing the truth values of compound statements in terms of the truth values of the constituents (as in Tarski's classical definition of truth), but rather by describing the possible proofs of compound statements in terms of proofs of their constituents.
For example, "and" would be explained by saying that a proof of $A\land B$ is a pair consisting of a proof of $A$ and a proof of $B$. Similarly, implication would be explained by saying that a proof of $A\to B$ is a procedure for converting any proof of $A$ into a proof of $B$.
Writing those explanations in terms of "Pfs$(A)$", meaning the set of proofs of $A$, I'd get that Pfs$(A\land B)$ is the cartesian product of Pfs$(A)$ and Pfs$(B)$, while Pfs$(A\to B)$ is the set of functions from Pfs$(A)$ to Pfs$(B)$.  So this BHK viewpoint leads to at least a rudimentary form of the Curry-Howard correspondence. In particular, it should not be surprising that the logical rules governing $\land$ and $\to$ match the set-theoretic properties of cartesian products and sets of functions. (Technicality: Here "logical rules" should be understood as rules of intuitionistic logic, because that's the logic naturally supported by the BHK interpretation --- not surprising in view of the philosophy of B and H.)
Comment: Well, the usual correspondence builds on the correspondence for intuitionistic logic, by observing that the type of call/cc exactly corresponds to Peirce's law.  The "proof" of excluded middle from Peirce's law, if you follow it across the correspondence, then boils down to: the "function" to prove $P \vee \lnot P$ always guesses "false" with a proof of $\lnot P$ whose implementation is a synthetic function $P \to \bot$ such that if it's ever called with a proof of $P$, it rewinds execution to where the EM function was called and returns "true" with that proof of $P$.
Comment: @rlms The (categorical form of the BHK) interpretation doesn't work for the reason I gave earlier. We can use a different type of category for the semantics called a [control category](https://www.mscs.dal.ca/~selinger/papers/control.pdf) and in particular a category of continuations. Unsurprisingly, the difference is in the treatment of $\bot$ and $\lor$. Instead of interpreting these using initial objects and coproducts, we use a weaker premonoidal structure. Critically, the replacement for coproducts is *not* bifunctorial. (If it is, the category collapses to a Boolean algebra as before.)
Comment: I would describe BHK as more like saying what "proofs" *look like*. Except there's nothing about this that suggests the "proofs" are *formal* proofs, so I usually say something like "evidence". Arguably, BHK is just (partially) defining a (different) notion of semantics. It can be tweaked to be instructions on how to interpret formulas into an arbitrary bicartesian closed category (for the propositional fragment, though quantifiers can also be handled). Even when we choose $\mathbf{Set}$, the constructiveness arguably comes from choosing $+$ and $0$ as the interpretation of $\lor$ and $\bot$.
Comment: In that vein, it's probably worth noting that if $A\cong 0^{0^A}$ in a bicartesian closed category, i.e. if the interpretation of double negation elimination holds, then you can prove that there is at most one arrow between any two objects in the category, i.e. the category collapses to a preordered set.
Comment: @DerekElkins I think Brouwer intensely disliked the notion of formal proofs, so his notion of proof would have been like what you call evidence, except that it needs to be completely convincing evidence. Heyting, on the other hand, set up formal systems for intuitionistic reasoning, but I don't think he or Kolmogorov would have taken "proof" as described in the BHK interpretation to mean formal proof.
Comment: @DerekElkins I agree with you about the BHK interpretation being a different notion of semantics. It provides meanings for logical operations, and I'm pretty sure Brouwer (at least) would say that there are no other meanings worth considering.
Comment: Interesting, thanks! I'm also interested in the reason the correspondence exists between other logics/type theories, for instance classical logic/languages with continuations. Do those fit into this perspective? I.e. does the typing of call/cc mean something obvious in set theory terms?
Comment: @rlms Unfortunately, I haven't studied the classical version (with continuations) enough to make useful comments on it.
Answer: The most obvious answer to questions like this is that people came up with roughly the same idea many times. This happens a lot, but people like to make a big deal about it when it comes to math and pretend it has some kind of mystical significance. Even in math you get e.g. Newton and Leibniz both inventing calculus around the same time, probably because there were other ideas available at that time that made it feasible to do so.
However, in the case of Curry-Howard, it's maybe even less surprising. Most of the examples you see have some relation to lambda calculus. However, Church seems to have invented lambda calculus for the purpose of formalizing logic. I've even seen it suggested that he initially thought of lambda terms $λx. e$ as actually just abbreviated notation for an equivalent construction in combinatory logic (which is like logic based on SK combinators, and already existed at the time). Lambda terms standing on their own may have been later.
Anyhow, his initial try yielded an inconsistent logic, so types were added to rule that out. If you look at this stuff, it's surprisingly similar to Martin-löf's logical framework, just much earlier. But also around that time, Church and Turing realized that you could also use lambda-definability as a criterion for whether functions are computable. I don't know why the typed version got picked up in this branch of things, but one possible reason is that it rules out weird looping terms. That is the source of logical paradoxes, though, so it would be adding types for similar reasons.
So, in some sense, it's not even a Newton-Leibniz case for Curry-Howard. It's Church coming up with one tool that was good for two (seemingly) different things, and then variations made by independent lines of development ended up being essentially the same as one another. If you forget they were related in the first place, it might seem mystical that they relate to one another, but maybe it isn't that surprising.
(I found out most of the Church stuff by skimming his early papers linked on Wikipedia, by the way. They're not easy to read, since the notation for things is rather different than what is used now, but they're interesting to look at.)
Answer: To make a long answer short, the part of the history I am best aware of is that Curry stumbled onto it when devising a system of types for combinatory logic and found - by a most remarkable coincidence - that the types of the basic combinators just so happen to have the same form as the basic axioms of implicational logic; that the rule for forming types for function application in combinatory logic happen to match the modus ponens rule; and that the process of abstracting out a free variable to find the combinator that gives you a lambda expression happens to match the rule for discharging an hypothesis in a proof conditioned on hypotheses.
The deeper this correspondence was delved into, the more that was found to line up; e.g. if combinatory logic is extended to allow for tuples, then one can add conjunctions to its scope.
The best explanation that I can think of is that in discovering that things lined up this way, it's not so much that anyone discovered that one can be accounted for or explained in terms of the other or vice versa, but that one just happened onto two instances of an elaborate structure that later came to be recognized to occur elsewhere in other - often unrelated - contexts, and that this was the structure that eventually came to be known and formalized in Category Theory as various types of categories: Cartesian closed, bi-Cartesian closed, etc.
Good account is provided for the "and" and "if-then" connectives and of the "true" and even "false" predicate constants. To some degree, the "all" quantifier can also be treated within this framework.
But there is always such a thing as pushing an analogy too far; and I think that those who are imbued with the notion that one can be explained or accounted for in terms of the other are guilty of doing this. The weak spot is - and has always been - the dual operators, "or" (the dual of "all"), "unless" (the dual of "if-then"), "some" (the dual of "all"), and the correspondence starts to become a bit forced and awkward ... or non-existent (i.e. there's no Curry-Howard rendition of "unless" that I'm aware of).
Within Category theory, propositions correspond to objects, while the inference relation between propositions corresponds to the arrows of morphisms, with the morphisms themselves being the proofs that bear witness to the inference. This is not just a "correspondence": they are the elements for the structure of an actual category, for logic; since we always have reflexivity and transitivity amongst our basic rules for inferrability (i.e. the relation is a pre-order for predicates) and the ability to chain up proofs made of two or more inferences in sequence.
Inferences are (1,1) sequents: sequents that have one statement on each side. A general sequent $A₀,A₁,⋯ ⊢ B₀,B₁,⋯$ may permit 0, 1, 2 or any finite number of statements on each side. It is always reducible, equivalently, to (1,1) form as $A₀∧A₁∧⋯ ⊢ B₀∨B₁∨⋯$, where $∧$ is the "and" connective, $∨$ is the "or" connective and $⊢$ is the "infers" relation.
When trying to draw analogy to type theory, what we're actually trying to do is extend the correspondence to also be able to account for "assertions": or (0,1) sequents $⊢ B$. There is nothing in category theory that directly corresponds to this, but we'd like to think of a proof that witnesses this sequent $b: ⊢ B$ as somehow being a "member" of a "type" which $B$ corresponds to. Types are then populated by members, in some sense.
I'm always a fan of symmetry, so I feel uneasy when I see this treatment, while a similar treatment remains absent - for the dual notion of a "query" or counter-factual "is it so?" question: the (1,0) sequent $a: A ⊢$. A language, like Prolog, actually has something that corresponds to both, the notations being respectively $b.$ and $?- a$.
The process of starting with a purely category-theoretic starting point and then trying to populate the objects so that they can be treated as types is what we now call creating an "internal language". There is no dual notion of "co-language" that I am aware of.
So, when it comes time to try and relate types and propositions, there is an asymmetry in the Curry-Howard correspondence reflected by the absence of full duality. This speaks more to the "the two analogues are the first two instances of a general as-yet-discovered phenomenon" view that I just relayed, rather than to the more prevalent "one can be explained by or account for in terms of the other" view.
So, I think it just comes down to this: that the correspondence was the discovery of the first two examples of a category-theoretic structure and that it is actually category theory that lies beneath everything.


Is there any Wordpress alternative to Book module of Drupal?

Question: Wordpress can be used as CMS. So, I think I can switch from Drupal to Wordpress.
I'm looking for a book module alternative for creating structured document.
If you don't know about Book module of Drupal, follow this link: http://drupal.org/documentation/modules/book
It simply put all page links in navigational block maintaining the hierarchical sequence. Plus, it displays next & previous pages in sequence at bottom with their respective links. The book module documentation at previous link is also an example of Book module page.
Answer: With a hierarchical post type, a plugin would just need to write the navigation part. All the rest is already there.
Comment: Navigational part is the main thing. Plus, what about navigational links at bottom? Book module does it automatically..
Comment: Yes, the navigation links at the bottom is what I was referring to. That would be the job of the plugin.
Answer: I haven't tried this. I'm about to. It looks quite promising:
http://wordpress.org/extend/plugins/organize-series/
Comment: Hi @Norio & Welcome to WPSE.
Answers consisting of *only* a link without descriptive context are rarely as helpful as they could be. On top of that, be so kind to provide solutions that you actually have tried before.


Can this door be repaired?

Question: I removed all four corner screws from my shower door in order to adjust sag. Unfortunately whatever is inside the door pulled away from the holes and now I can no longer reinstall the screws that I removed. Anyway that I can fix this?
Comment: lay the door on the floor or on a large table ... take the frame apart and examine the corners very closely ... you should be able to determine what the screws thread into
Comment: There may be a sliding steel nut in there - try turning the door end over end and see if you can hear something sliding around in the frame.  You might be able to get it to slide back where it belongs.
Answer: Inside the door frame is a tube like opening that runs the length of the frame. It is an integral part of the frame and is formed when the metal is extruded through a die.
The opening usually gets broken or is forced wider when the screw is turned to tight. Also corrosion occurs over time.
You can try this first: get a screw of the same diameter as the original, but slightly longer. You may be able to reach a sound section of the adjoining frame.
If not carefully separate the two miters until you can see an attachment point. This is not something that is easy and can be dangerous.
Comment: The old screw might work. If you don't line these up *just right* it won't find the threads.
Answer: All you can do at this point is disassemble the door and line up the missing pieces. There will be some rubber gaskets around the glass that will have to be put back in place. Work on one corner at a time, secure it with the screw and then go to the next corner. when the four corners re assembled, tighten all four screws.

Can this door be repaired?


Why is fucus reconstructed as *bhoiko-?

Question: Why is fucus reconstructed as *bhoiko-?
Not *bhoikos or *bhoikon?
Is "cus" a suffix like in raucus > ravis?
Comment: there is already a good answer, but for future questions about specifics of reconstructions to tell us where you got the reconstruction from, as these small details vary significantly between different authors
Answer: This is purely a convention. Some Indo-Europeanists cite the stem-form of nouns (as in the Sanskrit grammatical tradition); others cite the nominative singular (as in Greek and Latin dictionaries).
Answer: As fdb said, some authors cite the stem rather than the nominative.
Note the hyphen at the end. This indicates that it's a stem, not a specific form: to get the nominative, you would apply a regular nominative ending and get *bhoyko-s > fūcus.
Comment: @Tristan also, sometimes the gender of a noun maybe not known, so we either have -os or -om ending in nominative.
Comment: whilst applying the regular nominative ending works in this example, it may be worth noting that in some other instances it's a little less trivial (e.g. as a result of sound-changes usually reconstructed as already active at the PIE stage, the nominative of on-stems is usually recontructed as -*ō rather than expected -**ons). Even in situations like this though, the sound changes are fairly simple, they just need to born in mind

Why is fucus reconstructed as *bhoiko-?


Missing Hyper V

Question: Laptop with Win 8.1.
Microsoft Visual Studio Express 2012 for Windows Phone
Version 11.0.61030.00 Update 4
Microsoft .NET Framework
Version 4.5.51641
Problem: emulator requires hyper-v. needs win 8 pro.
How can I run WP projects with above os and software?
Answer: Simple. One easy step.

Install Windows 8.1 pro.

Finished. Hyper-V is now available as component.

Missing Hyper V


PSD specifications help

Question: I'm writing a program (in Python for now) for reading PSD files. I'm using this specification: http://www.fileformat.info/format/psd/egff.htm
Here it says

BYTE Name[];   /* Even-length Pascal-format string, 2 bytes or longer
  */

Um, 2 bytes or longer? How am I supposed to find out how ling it is? I don't know what "Pascal-format string" means either.
Thanks in advance.
EDIT: Heres a direct link to the official PSD specification (pdf): http://forums.adobe.com/servlet/JiveServlet/download/2923119-45984/Photoshop%20File%20Formats.pdf;jsessionid=21F2DBA32AB9E56882065663C10A1EBF.node0
Look in page 9, under "Image Resource Blocks"
Please help.
Answer: "Pascal-format string" could mean string that have length encoded on first position IIRC.

PSD specifications help


Printing multiple pages in Silverlight (4.0)?

Question: I'm trying to print a grid that would comprise multiple pages from Silverlight 4.
The grid consists of a 'header section' (another grid with date, image, etc) setup as I needed it to look and a ItemsControl with a data template who's item source is set to an observable collection of objects.
All I set in the code so far is PageVisual (to the grid) but all I get is the first page.  So I believe I have to set HasMorePages (since the default is False).
But to do this, is it true I need to calculate the # pages in my code based on the # objects in my observable collection?  Such as by looping through the collection and creating uielement for each on a new stackpanel or the like?  Or is there something I'm missing?
Also is there a way to use the 'header section' I already created? I tried looping through the collection as mentioned above, but if I try and add the header grid to the a new stackpanel it says it is already child of a another element.  I don't want to have to create the header in c# code since it is already layout in xaml.  Any ideas?
thanks!
Answer: check this out:
Silverlight Business Apps: Module 6.2 - Multi Page Printing
http://channel9.msdn.com/learn/courses/Silverlight4/SL4BusinessModule6/SL4LOB_06_02_MultipagePrinting/


Facebook shows me events that are nowhere near me

Question: I live in Silver Spring, Maryland. Facebook has the idea that I am living in California. Events keep coming up on my timeline happening in California. How can I change Facebook to indicate that I live in Silver Spring and see events happening in Silver Spring?
Answer: Besides entering your postal address on your profile, I recommend you use the mobile app with the "Friends Nearby " feature turned on.
This will get a record of your whereabouts into Facebook's algorithms and since that data is correlated to your phone number, it can be considered a strong signal for Facebook's algorithms to determine that you actually live there.
A few check-ins to local places, where friends "established" on the area tag you on their stories and photos, could also be a strong signal, since it's not easy to fake, and somehow "endorses" your whereabouts with the social link of previously established and "trustworthy" accounts.
Comment: Have you tried that and found it helpful for that case?
Comment: In fact yes, I have. The complete set of signals that FB uses are, of course, proprietary but they are known to include mobile device location (if granted to their apps) GeoIP databases, EXIF geotags from photos, and location of your friends network. Usually one is friends mostly with people in the same area then people from your hometown, and some outliers. Some nodes on your local network are likely using their apps with location services enables thus providing a weak indicator of location, however that indicator should be considered stronger than user input
Answer: Click events.
Click the calendar on the top right.
Click the settings wheel on top right.
Under location click change.
Enter location.
Close app.
When you reopen it the events will be updated
Comment: Welcome to Web Applications SE. Most people use app to refer to apps installed  from the App Store or the Play Store. Please be more specific about how to this using a web browser.


Wordpress : Explain Plugins & Theme string value in database

Question: i have installed wordpress and i i have installed couple of plugins and i have got two themes already came with wordpress.
What i am asking about today is : what does the Plugins & Theme string value in database mean ?
Example [When plugins are active] , there is a value on table of :
<code>a:3:{i:0;s:19:"akismet/akismet.php";i:1;s:9:"hello.php";i:2;s:37:"one-click-logout/one-click-logout.php";}
</code>
Example [When there are themes on the Themes folder] , there is a value on table of :
<code> a:2:{s:12:"twentyeleven";s:7:"/themes";s:9:"twentyten";s:7:"/themes";}
</code>
I could get an explanation of what does the "a" and "i" mean from HERE , but the "s:" is what i do not know what does it mean.
If i tried to change the s:37 to s:6 or any other value , the plugin becomes deactivated , so the s:37 <<< the 37 must mean something or related to the plugin somehow and that`s what i am trying to find out.
Answer: 's'+number is just number of characters.
so s:12:"twentyeleven" means string of length 12.
Comment: Thank you , that was informative and was exactly what i wanted to know.
Answer: I suggest asking this in the WordPress Answers rather than here. This is a very specialist question.
The whole point of WordPress is that you DON'T need to get into the guts of the database - in fact it is highly discouraged since the data may well change between releases.
WordPress has loads of API functions that allow you to make use of it's power without needing to get into the complexities of the database. That is one of it's key strengths.
Even as a WordPress programmer or theme designer, you won't need this information - ever. You would only need to know it if you are planning to write/amend the source of WordPress itself, in which case, you are definitely in the wrong place.


Move wordpress from home web server to web server hosting account

Question: I've installed and tested Wordpress configurations on my home server which I use as my test server.
Is it possible to upload everything, including Wordpress, from my home web server to my hosting account so it will work instantly there?
Of course I need to change the database name, password, but that's about it.
thanks!
Comment: Shouldn't this be moved to http://serverfault.com?
Answer: http://codex.wordpress.org/Moving_WordPress
Answer: Nike's link is good, but also be aware they you may need to take extra steps when moving certain plugins, like CformsII, you will have to resetup your Widgets if you use any, and be sure to check your .htaccess file for any changes that you may have to make if you are using permalinks.
Answer: For files, you should be able to upload your themes and plugins to the web host.
For the database, you can go into your local setup, Admin->Tools->Export. This will export your local WP settings, posts, pages, etc to a file.
Install WP on your host, then go to Admin->Tools->Import. Select the file from the previous step. Your hosted WP should now be the same as your local copy.


Is it possible to rent an apartment monthly in EU, non-EU citizen

Question: I am a Russian citizen who has a 3 years EU multi visa category C.
I would like to legally rent an apartment in EU with a monthly payment for a long term, 2+ months. The idea is that I will be leaving and coming back to this potential apartment. Is it possible?
Comment: EU law says nothing about it. National law in a specific country might have restrictions but the main hurdle is probably landlords. Checking whether you are a resident isn't necessarily mandatory but they might favour residents for all sorts of reasons. That's assuming you are looking at 6+ months and hoping to get the lower long-term rental price. Renting a holiday home for 2 or 3 months should in any case be no problem.
Comment: Which country in EU?
Comment: I'm doing it right now. I'm a non-EU citizen, renting for 3 months in the EU. AFAIK it's 100% legal, I didn't consult a lawyer though.
Comment: @Kuba Lithuania
Answer: Talking about Germany, short-term rental in hotels or holiday apartments and long-term rental of an apartment are different market segments, with different regulations in some areas.

Most landlords will do some financial background checks of their tenant. You might come up empty on the most common check, which makes you appear as a "high-risk" tenant.
People are required to register with the municipal authorities in their place of residence. A hotel takes care of this for the guest, a landlord does not.
Tenants have to enter an individual contract with a power company, with readings of the meter when they move in or leave.

So even if there is no law against it, it might be impractical for just a few months. Subletting might be more practical.


Why does Ctrl-Down Arrow in Excel take me to row 1048576?

Question: When I use Ctrl-Down Arrow in Excel 2013 (as described in Go to last line with data, Excel 2007) I am taken well past the last line of data (about 1700 rows) all the way to row 1048576 - why might this be happening and what can I do to stop it so that Ctrl-Down Arrow works as expected?
Comment: The answer to http://superuser.com/questions/432896/why-does-my-excel-document-have-960-000-empty-rows suggests that this might be caused by applying formatting to an entire column, which I would have thought would be a common practice and therefore shouldn't break navigation?
Answer: If all cells below the current cell in the current column are blank, Ctrl-down arrow will take you to the last row of the spreadsheet. To get to the last row of content in that column, you can then use Ctrl-up arrow.
Comment: Ah, that explains it! I had the cursor in cell A1 and column A is entirely empty, used only for formatting. I had misunderstood the function of Ctrl-Down Arrow, thinking it would take me to the last row that has contents in any column.
Comment: The suggestion in http://superuser.com/questions/427265/go-to-last-line-with-data-excel-2007 to use Ctrl-End followed by Home to get to the last row with data in any column works for me.
Comment: One of the most disturbing & pointless navigation jumparounds ever. And then LibreOffice emulates it, of course.
Comment: @DavidTonhofer gotta disagree with you there. I use Ctrl+arrows constantly.


How to tell the date of a YouTube comment?

Question: There was this issue on YouTube, that if a video was posted on Feb 24, 2021, and today is Feb 16, 2023, then YouTube would say it is "1 year ago", although most people without any AI would say it is 2 years.
So that's solvable because we can hover the mouse over that "1 year ago" and still see it is more accurately 2 years:

However, the issue arises, when it is a video that talks about a stock or Bitcoin.  The comment may say it is "1 year ago", but we really don't know if it is "1 year and 1 day ago", or "1 year and 360 days ago", and hovering the mouse on it has no effect:
(here it is 2 years, and that means it can be "2 years and 1 day" or "2 years and 360 days" ago):

I want to know if what the commenter says make sense or when did he say that, and obviously whether he said it on March 1, 2021 or Dec 28, 2021 make a difference.
So is there a way to tell the date?
Answer: You can use the Hadzy tool - just enter the video link, search for the comment and it should tell you more info, including the comment date and time.


How to Compare Two variable of HANDLE type

Question: I have a variable of HANDLE type.
First HANDLE variable is a process HANDLE (with name hProcess) that does not have PROCESS_QUERY_INFORMATION access right.
Second variable is a process HANDLE (with name hwndProcess) too that I have opened via OpenProcess function and have PROCESS_QUERY_INFORMATION access right. I am sure both processes should have same handle.
But when i compare them as below, it returns false;
if (hProcess==hwndProcess) {do something}
How shall I do it?
Answer: There is not an explicit way to check whether two handles refer to the same process. The only way would be to query the process information and check that, e.g. using GetProcessId on each handle to check the process IDs.
If you don't have the necessary access rights to call the desired query functions then you can try calling DuplicateHandle to get a new handle with more access rights. However, if this fails then you have no way of telling whether the handles are to the same process or not.
Comment: syntax of DuplicateHandle is below.
BOOL WINAPI DuplicateHandle(
  __in          HANDLE hSourceProcessHandle,
  __in          HANDLE hSourceHandle,
  __in          HANDLE hTargetProcessHandle,
  __out         LPHANDLE lpTargetHandle,
  __in          DWORD dwDesiredAccess,
  __in          BOOL bInheritHandle,
  __in          DWORD dwOptions
);
dwOptions can get one of two following values (DUPLICATE_CLOSE_SOURCE or DUPLICATE_SAME_ACCESS) or any combination of those.now can i join those values with
PROCESS_QUERY_INFORMATION tag.
Comment: Set dwOptions as 0, and set dwDesiredAccess to the required access rights (e.g. PROCESS_QUERY_INFORMATION and whatever else you need).
Answer: hProcess must not hold the ProcessHandle of the Process that will be closed. It can and will most times be NULL. I'm doing something similar to get the PIDs of terminated processes.
if((hProcess == NULL) || (hProcess == GetCurrentProcess())){
        pid = GetCurrentProcessId();
     } else {
        pid = ProcessHandleToId(hProcess);
     }
Are your sure, that it's an access rights problem and your function doesn't fail, because the handle is NULL?
Answer: The Windows 10 SDK has CompareObjectHandles(HANDLE, HANDLE) which returns TRUE if the handles refer to the same underlying kernel object.
And you don't have to worry about access rights.


Diffeomorphism invariant Quantum field theories

Question: In QFT , The action should be invariant under poincare symmetry $g_{\mu\rho}(x)=g_{\mu\rho}^{\prime}(x^\prime)$ . We can generalize this by considering theories invariant under conformal symmetry $g_{\mu\rho}^{\prime}(x^\prime)=A(x)g_{\mu\rho}(x)$ . If we consider more general variations ( Diffeomorphisms on spacetime manifolds ) What will happen ? If we gauge fix the redundant variables , Can we remove the metric completely from the action? The theory .Will the theory  be background independent ? Can we classify topological invariant properities using correlation functions from that theory ?
Answer: First of all, the term "conformal symmetry" means something else than indicated in the question. A conformal symmetry is purely a transformation of coordinates – no additional change of the fields than the transformation derived from the change of coordinates is allowed – that preserves the metric tensor up to a scaling (equivalently that preserves the angles at each point).
On the other hand, an explicit additional change of the metric by the multiplicative factor $A(x)$ – something that is added on top of the transformation induced by the change of coordinates – is called "Weyl symmetry". Similar transformations are talked about in both but one must carefully think about the logic because conformal symmetries and Weyl-times-diffeomorphism symmetries are completely different.
In particular, the conformal group in $D$ dimensions is finite-dimensional, namely $SO(D+1,1)$ or $SO(D,2)$ where the latter holds in the Lorentzian signature. The Weyl group, the diffeomorphism group, and their union (semidirect product) are always infinite-dimensional because one may simply choose new coordinates and a new $A(x)$ at each point. A conformal symmetry is essentially an "isometry up to a local rescaling of the metric". Isometries are rare. That's very different from diffeomorphisms and Weyl symmetries that can always be written down.
The only exception is the case of 2 dimensions where the conformal group is infinite-dimensional, too (at least locally). In the Euclidean signature, every holomorphic (or, if we allow poles, meromorphic) function of a complex variable is conformal. In the Lorentzian signature, any separate redefinition $x^{\prime+ } = f(x^+)$, $x^{\prime-}=f(x^-)$, also preserves the angles. This special enhanced group in 2 dimensions is the reason why string theory based on 2-dimensional world sheet is the only case of consistent extended objects that may be defined by a straightforward gravitational action in the world volume: all the gravitational excitations along with all the usual ultraviolet problems that they typically imply become unphysical or decoupled, at least locally. Two parameters per point that define a diffeomorphism in $D=2$ plus one Weyl scaling parameter per point gives you three parameters, exactly enough to set the three components of the 2-dimensional metric to any conventional predetermined non-singular values, at least locally. The number of parameters in diff-Weyl is totally insufficient to eliminate the whole metric above $D=2$.
In no other dimension, there is enough freedom to eliminate the dynamical degrees of freedom from the theory completely. The theories in $D=3$ would deserve a special treatment, however, because the Ricci flatness implies the Riemann flatness in $D=3$. But even in $D=3$, it's fair to say that the usual problems with the quantization of gravity remain there (although it's a bit subtle to see what the problems are in $D=3$).
Every theory with a diffeomorphism symmetry (which includes theories with both diffeomorphism and Weyl symmetry) should be viewed as a theory of quantum gravity, not an ordinary quantum field theory, and as I mentioned, only in $D=2$, such a theory may be consistent if defined by the usual Lagrangian methods.
However, every theory that respects the diffeomorphism symmetry – which must be a gauge symmetry, for consistency – is "background independent" when it comes to the metric. Whether it's background-independent concerning other fields that define the background depends on the particular theory. Also, even if such a theory is background-independent, it may be hard to see this fact; the fact may refuse to be manifest. Whether it's manifest or not depends on the particular formalism we find to describe such a theory.
Answer: This doesn't happen often, but I have to disagree with Luboš's answer. The OP seems to be asking if a diffeomorphism invariant is "background independent", in the sense that it is independent of the background metric, or topological, as the last part of his question seems to indicate.
No, a diffeomorphism invariant theory is not necessarily metric-independent.
The group of diffeomorphisms $\mathcal{D}$ acts on the space of metrics $\mathcal{M}$ on the space on which the theory is defined. This action is not transitive, which means that not any two metrics can be related by a diffeomorphism. The action of $\mathcal{D}$ on $\mathcal{M}$ therefore decomposes into a set of orbits $\mathcal{M/D}$.
The statement that the theory is diffeomorphism invariant is that the partition function of the theory and its correlation functions, a priori defined as functions over $\mathcal{M}$, are invariant along the orbits of the diffeomorphism group. They can therefore be seen as functions over $\mathcal{M/D}$. But they still can have a very non-trivial dependence on the metric.
The statement that the theory is topological or metric-independent is that the partition function is constant over $\mathcal{M}$ (hence also over $\mathcal{M/D}$).


How to kick an NFS client from NFS server on AIX?

Question: We can see high NFS usage for a client that we want to kick off, but not affecting the other NFS clients. How can we do this? Only with using firewall?
Comment: Is there an explicit access list, or is it wide open?
Comment: if you don't have an explicit access list, then yes, I think you're down to a [firewall](http://www.ibm.com/support/knowledgecenter/ssw_aix_72/com.ibm.aix.security/ipsec_filters_aix.htm) or explicitly listing every client *except* that one, unexporting and re-exporting.
Answer: You will need bos.net.ipsec.rte to be able to use an iptables like solution.
check your current installation with:
michael@x071:[/home/michael]lslpp -L bos.net.ipsec.rte
  Fileset                      Level  State  Type  Description (Uninstaller)
  ----------------------------------------------------------------------------
  bos.net.ipsec.rte         126.96.36.199    C     F    IP Security

If it is already installed, you can check if it is active, or inactive using:
Active:
michael@x071:[/home/michael]lsdev -C | grep ipsec
ipsec_v4    Available       IP Version 4 Security Extension
ipsec_v6    Available       IP Version 6 Security Extension

Inactive:
root@x064:[/]lsdev -C | grep ipsec

That is no output, meaning it has never been activated, or
root@x072:[/]lsdev -C | grep ipsec
ipsec_v4   Defined         IP Version 4 Security Extension
ipsec_v6   Defined         IP Version 6 Security Extension

some output meaning there maybe some configuration, but it has been deactivated.
Here are some examples of how you can switch on/off ipsec for v4 and-or v6 ipsec.
root@x072:[/]lsdev -C | grep ipsec
ipsec_v4   Defined         IP Version 4 Security Extension
ipsec_v6   Available       IP Version 6 Security Extension
root@x072:[/]mkdev -l ipsec_v4
ipsec_v4 Available
root@x072:[/]rmdev -l ipsec_v6
ipsec_v6 Defined
root@x072:[/]lsdev -C | grep ipsec
ipsec_v4   Available       IP Version 4 Security Extension
ipsec_v6   Defined         IP Version 6 Security Extension

Now to stopping nfs per client (defined as an IP address)
Let's take the IP address 192.168.111.222 as the address of the client I want to stop.
There are different actions that can be taken - permit and deny are the common ones - we can be a bit fancy though and use block-port that creates a new dynamic deny rule each time a port tries to connect - this way you can see how active the unique mount requests are:
We need to focus on port 2049
root@x072:[/]grep nfs /etc/services
nfsd-status      1110/tcp               # Cluster status info
nfsd-keepalive  1110/udp                # Client status info
picknfs          1598/tcp               # picknfs
picknfs          1598/udp               # picknfs
shiva_confsrvr  1651/tcp                # shiva_confsrvr
shiva_confsrvr  1651/udp                # shiva_confsrvr
#nfs                    2049/tcp                # Network File System - Sun Microsystems
#nfs                    2049/udp                # Network File System - Sun Microsystems
3d-nfsd          2323/tcp               # 3d-nfsd
3d-nfsd          2323/udp               # 3d-nfsd
mediacntrlnfsd  2363/tcp                # Media Central NFSD
mediacntrlnfsd  2363/udp                # Media Central NFSD

Note: to use smit(ty) use:
smitty ipsec4

and then use Advanced...->Add
                         Add an IP Security Filter Rule

Type or select values in entry fields.
Press Enter AFTER making all desired changes.

                                                        [Entry Fields]
* Rule Action                                        [shun_port]             +
* IP Source Address                                  [192.168.111.222]
* IP Source Mask                                     [255.255.255.255]
  IP Destination Address                             [0.0.0.0]
  IP Destination Mask                                [0.0.0.0]
* Apply to Source Routing? (PERMIT/inbound only)     [yes]                   +
* Protocol                                           [tcp]                   +
* Source Port / ICMP Type Operation                  [any]                   +
* Source Port Number / ICMP Type                     [0]                      #
* Destination Port / ICMP Code Operation             [eq]                    +
* Destination Port Number / ICMP Type                [2049]                   #
* Routing                                            [local]                 +
* Direction                                          [inbound]               +
* Log Control                                        [no]                    +
* Fragmentation Control                              [0]                     +
* Interface                                          [all]                   +
  Expiration Time  (sec)                             [300]                    #
  Pattern Type                                       [none]                  +
  Pattern / Pattern File                             []
  Description                                        <g port on NFS request]

Or from the command line:
/usr/sbin/genfilt -v 4  -a 'S' -s '192.168.111.222' -m '255.255.255.255' -d '0.0.0.0' -M '0.0.0.0' -g 'y' -c 'tcp' -o 'any' -p '0' -O 'eq' -P '2049' -r 'L' -w 'I' -l 'N' -t '0' -i 'all' -e '300' -D 'block incoming port on NFS request'

And either in smit, or from the command line - activate the rule
mkfilt -v4 -u

and to see the configured rules
lsfilt -v4 -O

and to see any (maybe) dynamic rules
lsfilt -v4 -a -O

** Comment I cannot yet add: in case you need a change right NOW - as this only affects future connections to the port you can use the commands:
nfs.clean; sleep 2; rc.nfs

to stop, then restart nfs services. Note that
stopsrc -g nfs; startsrc -g nfs

does not start the daemons in the proper sequence
Comment: if there is no other solution, this looks OK! :)
Comment: I hope it does not look complex. I do not think so. But I think iptables are hard. Had I been using iptables rather than mkfilt since 1999 I might think this is hard ;)
Comment: Ugh - press enter and the comment goes... What I wanted to add is that ipsec is used by AIX hardening (using aixpert) - so ipsec should be installed and ready to go by default.
Answer: netstat -an

then use tcpkill to send reset packets to both sides.
tcpkill uses same params as tcpdump
Comment: Wouldn't the client just reopen a new TCP connection immediately?  This action doesn't make it unmount the resource.
Comment: update exports / iptables for new connections
Comment: it sounds like their NFS server is running AIX, which I don't think provides iptables or tcpkill


How to install Magento Cloud CLI?

Question: I'm running a Magento Commerce Cloud in my new machine and I need to install the Magento Cloud CLI.
How could I do it?
Answer: 1 - You can install it using this command below.
curl -sS https://accounts.magento.cloud/cli/installer | php

2 - Then add the Magento Cloud CLI to the bash profile.
export PATH=$PATH:$HOME/.magento-cloud/bin

3 - And reload the bash.
. ~/.bash_profile

4- To check if it worked run:
magento-cloud

Reference: Magento Cloud CLI reference
Comment: i am getting following error when run first command "Invoke-WebRequest : A parameter cannot be found that matches parameter name 'sS'.
At line:1 char:6
+ curl -sS https://accounts.magento.cloud/cli/installer | php
+      ~~~
    + CategoryInfo          : InvalidArgument: (:) [Invoke-WebRequest], ParameterBindingException
    + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.InvokeWebRequestCommand"
Comment: Check your local PHP, I just test it and it's working normally @AlamZaib
Comment: I have xampp server having php 7.4
Answer:
To Install the magento-cloud CLI

Step-1 : Go to /var/www/html folder and create new folder magentocloud. After go into magentocloud folder.
  cd /var/www/html/

  mkdir magentocloud

  cd magentocloud/

Step-2 : Install the magento-cloud CLI.
  curl -sS https://accounts.magento.cloud/cli/installer | php

OUTPUT:
  username@linux-pc:/var/www/html/magentocloud$ curl -sS https://accounts.magento.cloud/cli/installer | php
  Magento Cloud CLI installer

  Environment check
    [*] The "json" PHP extension is installed.
    [*] The "phar" PHP extension is installed.
    [*] Git is installed.
    [*] The "openssl" PHP extension is installed.
    [*] The "pcre" PHP extension is installed.
    [*] One or both of the "mbstring" or "iconv" PHP extensions is installed.
    [*] The "curl" PHP extension is installed.
    [*] The "pcntl" and "posix" extensions are installed.
    [*] The "allow_url_fopen" setting is on.
    [*] The "apc.enable_cli" setting is off.

  Download
    Finding the latest version... done
    Downloading version 1.38.1... done
    Checking file integrity... done
    Checking that the file is a valid Phar... done

  Install
    Making the Phar executable... done
    Moving the Phar to your home directory... done
    Executable location: /home/username/.magento-cloud/bin/magento-cloud

  Running self:install command...

  Copying resource files... done

  Installing credential helper... done

  Setting up autocompletion... done

  Selected shell configuration file: ~/.bashrc

  Do you want to update the file automatically? [Y/n] y

  Configuration file updated successfully: ~/.bashrc

  To use the Magento Cloud CLI, run:
      source ~/.bashrc # (make sure your shell does this by default)
      magento-cloud

Step-3 : Add magento-cloud CLI to the bash profile
  export PATH=$PATH:$HOME/.magento-cloud/bin

Step-4 : Reload the updated bash profile.
  . ~/.bash_profile

After running the Step-2 command we get the profile name. Used that name.
  . ~/.bashrc

Step-5 : To initiate the CLI, call magento-cloud and enter your Cloud account credentials when prompted.
  magento-cloud

OutPut:
  username@linux-pc:/var/www/html/magentocloud$ magento-cloud
  Welcome to Magento Cloud!

  Loading projects...
  Authentication is required.

  Log in via a browser? [Y/n] y

  Opened URL: http://127.0.0.1:5000
  Please use the browser to log in.

  Help:
    Leave this command running during login.
    If you need to quit, use Ctrl+C.

  Opening in existing browser session.
  libva error: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed
  Login information received. Verifying...
  You are logged in.

  Generating SSH certificate...
  A new SSH certificate has been generated.
  It will be automatically refreshed when necessary.
  Do you want to create an SSH configuration file automatically? [Y/n] y
  Configuration file created successfully: /home/username/.ssh/config

  Username: cloud-username cloud-username
  Email address: firstname.lastname@example.com
  Your projects are:
  +---------------+------------------+-----------------------------------------------------+
  | ID            | Title            | URL                                                 |
  +---------------+------------------+-----------------------------------------------------+
  | XXXXXXXXXXXXX | Project Name 1   | https://XXXXXX.magento.cloud/projects/XXXXXXXXXXXXX |
  | XXXXXXXXXXXXX | Project Name 2   | https://XXXXXX.magento.cloud/projects/XXXXXXXXXXXXX |
  +---------------+------------------+-----------------------------------------------------+

  Get a project by running: magento-cloud get [id]
  List a project's environments by running: magento-cloud environments -p [id]

  You are logged in as cloud-username (email@example.com)

  To view all commands, run: magento-cloud list

You must be login into browser with magento-cloud account.
Step-6 : Verify the magento-cloud command is in your path. The following example lists the available commands.
  magento-cloud list

OutPUT:
username@linux-pc:/var/www/html/magentocloud$ magento-cloud list
Magento Cloud CLI 1.38.1

Global options:
  --help           -h Display this help message
  --quiet          -q Do not output any message
  --verbose        -v|vv|vvv Increase the verbosity of messages
  --version        -V Display this application version
  --yes            -y Answer "yes" to any yes/no questions; disable interaction
  --no             -n Answer "no" to any yes/no questions; disable interaction

Available commands:
  clear-cache (clearcache, cc)                                  Clear the CLI cache
  decode                                                        Decode an encoded string such as MAGENTO_CLOUD_VARIABLES
  docs                                                          Open the online documentation
  help                                                          Displays help for a command
  list                                                          Lists commands
  multi                                                         Execute a command on multiple projects
  web                                                           Open the Web UI
activity
  activity:cancel                                               Cancel an activity
  activity:get                                                  View detailed information on a single activity
  activity:list (activities, act)                               Get a list of activities for an environment or project
  activity:log                                                  Display the log for an activity
app
  app:config-get                                                View the configuration of an app
  app:list (apps)                                               List apps in the project
auth
  auth:api-token-login                                          Log in to Magento Cloud using an API token
  auth:browser-login (login)                                    Log in to Magento Cloud via a browser
  auth:info                                                     Display your account information
  auth:logout (logout)                                          Log out of Magento Cloud
backup
blackfire
  blackfire:setup                                               Setup Blackfire.io integration for the project
certificate
  certificate:add                                               Add an SSL certificate to the project
  certificate:delete                                            Delete a certificate from the project
  certificate:get                                               View a certificate
  certificate:list (certificates, certs)                        List project certificates
commit
  commit:get                                                    Show commit details
  commit:list (commits)                                         List commits
db
  db:dump                                                       Create a local dump of the remote database
  db:size                                                       Estimate the disk usage of a database
  db:sql (sql)                                                  Run SQL on the remote database
domain
  domain:add                                                    Add a new domain to the project
  domain:delete                                                 Delete a domain from the project
  domain:get                                                    Show detailed information for a domain
  domain:list (domains)                                         Get a list of all domains
  domain:update                                                 Update a domain
environment
  environment:activate                                          Activate an environment
  environment:branch (branch)                                   Branch an environment
  environment:checkout (checkout)                               Check out an environment
  environment:delete (environment:deactivate)                   Delete an environment
  environment:http-access (httpaccess)                          Update HTTP access settings for an environment
  environment:info                                              Read or set properties for an environment
  environment:init                                              Initialize an environment from a public Git repository
  environment:list (environments, env)                          Get a list of environments
  environment:logs (log)                                        Read an environment's logs
  environment:merge (merge)                                     Merge an environment
  environment:push (push)                                       Push code to an environment
  environment:redeploy (redeploy)                               Redeploy an environment
  environment:relationships (relationships)                     Show an environment's relationships
  environment:scp (scp)                                         Copy files to and from current environment using scp
  environment:ssh (ssh)                                         SSH to the current environment
  environment:synchronize (sync)                                Synchronize an environment's code and/or data from its parent
  environment:url (url)                                         Get the public URLs of an environment
  environment:xdebug (xdebug)                                   Open a tunnel to Xdebug on the environment
i
integration
  integration:activity:get                                      View detailed information on a single integration activity
  integration:activity:list (i:act)                             Get a list of activities for an integration
  integration:activity:log                                      Display the log for an integration activity
  integration:add                                               Add an integration to the project
  integration:delete                                            Delete an integration from a project
  integration:get                                               View details of an integration
  integration:list (integrations)                               View a list of project integration(s)
  integration:update                                            Update an integration
  integration:validate                                          Validate an existing integration
local
  local:build (build)                                           Build the current project locally
  local:dir (dir)                                               Find the local project root
mount
  mount:download                                                Download files from a mount, using rsync
  mount:list (mounts)                                           Get a list of mounts
  mount:size                                                    Check the disk usage of mounts
  mount:upload                                                  Upload files to a mount, using rsync
project
  project:clear-build-cache                                     Clear a project's build cache
  project:get (get)                                             Clone a project locally
  project:info                                                  Read or set properties for a project
  project:list (projects, pro)                                  Get a list of all active projects
  project:set-remote                                            Set the remote project for the current Git repository
repo
  repo:cat                                                      Read a file in the project repository
  repo:ls                                                       List files in the project repository
route
  route:get                                                     View detailed information about a route
  route:list (routes)                                           List all routes for an environment
self
  self:install                                                  Install or update CLI configuration files
  self:update (self-update)                                     Update the CLI to the latest version
service
  service:list (services)                                       List services in the project
  service:mongo:dump (mongodump)                                Create a binary archive dump of data from MongoDB
  service:mongo:export (mongoexport)                            Export data from MongoDB
  service:mongo:restore (mongorestore)                          Restore a binary archive dump of data into MongoDB
  service:mongo:shell (mongo)                                   Use the MongoDB shell
  service:redis-cli (redis)                                     Access the Redis CLI
snapshot
  snapshot:create (backup)                                      Make a snapshot of an environment
  snapshot:list (snapshots)                                     List available snapshots of an environment
ssh-cert
  ssh-cert:load                                                 Generate an SSH certificate
ssh-key
  ssh-key:add                                                   Add a new SSH key
  ssh-key:delete                                                Delete an SSH key
  ssh-key:list (ssh-keys)                                       Get a list of SSH keys in your account
tunnel
  tunnel:close                                                  Close SSH tunnels
  tunnel:info                                                   View relationship info for SSH tunnels
  tunnel:list (tunnels)                                         List SSH tunnels
  tunnel:open                                                   Open SSH tunnels to an app's relationships
  tunnel:single                                                 Open a single SSH tunnel to an app relationship
user
  user:add                                                      Add a user to the project
  user:delete                                                   Delete a user from the project
  user:get                                                      View a user's role(s)
  user:list (users)                                             List project users
  user:update                                                   Update user role(s) on a project
variable
  variable:create                                               Create a variable
  variable:delete                                               Delete a variable
  variable:get (vget)                                           View a variable
  variable:list (variables, var)                                List variables
  variable:update                                               Update a variable
worker
  worker:list (workers)                                         Get a list of all deployed workers

Reference Link : https://devdocs.magento.com/cloud/reference/cli-ref-topic.html
Note: Create your local machine SSH key and add into your magento cloud account. Before you start installing Magento Cloud CLI you must be login into browser with your cloud account
ssh-keygen -t ed25519 -a 100 -C "firstname.lastname@example.com"

Add SSH key Here

How to install Magento Cloud CLI?


Flagged question as Off topic, suggestions on where it should be

Question: Hi, I spend most of my time on StackOverflow looking at questions tagged with the [Android] tag. It is fairly common that people ask questions on there that should really be on the android.stackexchange instead. When I flag the questions for mod attention and choose off-topic as the reason it gives me a list of other .stackexchange sites where it should possibly be. But Android.stackexchange is not among them. I haven't noticed any way for me to specify one that is not on the list. But is there a way to do so? That way when I flag it as off-topic I can report that it should be on android.stackexchange instead of just marking it as offtopic.
Answer: If you flag for moderator attention we can move it to any site in the Stack Exchange network.  Just let us know where you think it should go.
Comment: @Tim: Instead of the close link, click the flag link and select "other" and just tell us which site.  Only moderators get the full list of sites.
Comment: Thats my question though. There are a list of options presented when I flag something for where I think it should go. But Android.stackexchange is not among them. How can I specify one that is not on the list? Or instead of choosing off-topic should I just use 'Other' and type out that it belongs on Android.stackexchange?


Glossary: list of acronyms with sub-categories

Question: I am trying to print a list of acronyms using the glossaries package.
Sometimes, I have nested acronyms, where an acronym includes another.
Here is a MWE:
\documentclass[12pt, a4paper]{article}
\usepackage[indexonlyfirst,numberline,nopostdot,toc,hyperfirst=false]{glossaries}

\newacronym{QKD}{QKD}{Quantum Key Distribution}
    \newacronym[parent=QKD]{CV-QKD}{CV-QKD}{Continuous Variable \glstext{QKD}}
    \newacronym[parent=QKD]{DV-QKD}{DV-QKD}{Discrete Variable \glstext{QKD}}
    \newacronym[parent=QKD]{MDI-QKD}{MDI-QKD}{Measurement Device Independent \glstext{QKD}}
\newacronym{OA}{OA}{Other Acronym}
\newacronym{AE}{AE}{Acronym Example}

\makeglossaries{}

\begin{document}
    \printglossary[type=\acronymtype,title={Abbreviations}]
    \section{Section 1}
        \gls{QKD} is the main acronym. We can also have subcategories of \gls{QKD} such as \gls{CV-QKD}, \gls{DV-QKD}, or \gls{MDI-QKD}.

        Other acronyms exist such as \gls{OA} or \gls{AE}.
\end{document}

However, this produces the following:

I would like to have a list formatted like this:
- Acronym + Definition
- Acronym + Definition
--Subacronym + Definition
--Subacronym + Definition
-Acronym + Definition

An alternative might be using the alttree style:
\usepackage[indexonlyfirst,numberline,nopostdot,toc,hyperfirst=false,style=alttree]{glossaries}

Which seems to do what I want, but it results in an overlap between the acronym and its definition:

Is it possible to solve this (either by fixing this or by using another style), as well as increasing the indentation of the sub-acronyms?

EDIT:
I did manage to sort this out, as per this guide:

If you forget to set the widest entry, the description will overlap the name.

This solves the issue, however the indentation of the sub-acronyms is now too big, as it indents it at the description level.

My question now becomes, how do I reduce the indentation?
Answer: Could you share, how you solved the problem?
Comment: How does that answer the question?
Comment: This should really be a comment.


Low resolution Image to High resolution

Question: Is it possible to scale a low resolution image to a highier resolution upto the point with minimum effect on quality, sharpness and other notable attributes of an image.
Comment: [Let's enhance that.](https://www.youtube.com/watch?v=LhF_56SxrGk)
Comment: see [Why is "Is it possible to…" a poorly worded question?](https://softwareengineering.meta.stackexchange.com/a/7274/31260)
Comment: There are many existing algorithms available. Most algorithms have theoretical foundations, but it is the human user who must decide which one is most suitable for each image's particular purpose. I'd like to remind that there's no one-size-fits-all algorithm. Lanczos comes close, but there're plenty of people who would chose another one for some niche purposes. You can search for lists of image resize algorithms in many places, including the image processing libraries you're using right now, or APIs which are bundled as part of the OS.
Answer: Sure, but why? If you have one red pixel, you can make that four red pixels at a slightly higher resolution or a billion red pixels at a lot higher resolution.
The image itself is the same, you're just spending four or a billion times the data to encode it.
What you might be asking is if you can take a one pixel picture of me, then make a four pixel image or a billion pixel image, each looking more accurately like me. And you can't do that. Or I mean, you could, but the picture would be wrong. It requires algorithms making educated guesses about what to fill in those missing pixels with. Some algorithms are decent at that, but unless they have a high resolution image of me already, it's all guesswork.

Low resolution Image to High resolution