Applied $\pi$-calculus: Name binding and if clauses

Assume in the applied pi-calculus we have the following process: $ $ (\nu n)\overline{c} \langle n \rangle.0 | (\nu n) (c(y).(\text{if n=y then P else Q}))$ $ where $ P$ and $ Q$ are further processes.

I know that the following reduction semantic holds for the applied $ \pi$ -calculus (from wikipedia): $ $ \overline{x}\langle z \rangle.P | x(y).Q \rightarrow P | Q[z/y]$ $ where $ Q[z/y]$ denotes the process $ Q$ in which the free name $ z$ has been ”substituted” for the free occurrences of $ y$ . If a free occurrence of $ y$ occurs in a location where $ z$ would not be free, alpha-conversion may be required.

Do I understand correctly, that in the above example, because $ n$ is already used and thus not free, we would need to rename and thus the reduction would be like so: $ $ (\nu n’) (\nu n) (c(y).(\text{if n=n’ then P else Q}))$ $

While on the other hand, in the following process: $ $ (\nu n)\overline{c} \langle n \rangle.0 | c(y).(\text{if n = y then P else Q}))$ $ because $ n$ is not bound, we can simply perform the transaction like so: $ $ (\nu n) (\text{if n = n then P else Q})$ $ (and thus those two processes are also semantically different)?

Applied Pi calculus: Evaluation context that distinguishes replication with different restrictions

For an exercise, I need to find an evaluation context $ C[\_]$ s.t. the transition systems of $ C[X]$ and $ C[Y]$ are different (=they are not bisimulation equivalent), where $ X$ and $ Y$ are the following processes:

$ $ X = ( \nu z) (!\overline{c}\langle z \rangle.0)$ $ and $ $ Y= !((\nu z) \overline{c}\langle z \rangle.0)$ $

Intuitively, the difference seems to be that in process $ X$ , all replications of the process output the same $ z$ on channel $ c$ , while in process $ Y$ , all processes output a different $ z$ . Is this correct? And how could this be used to construct an evaluation context such that $ C[X] \neq C[Y]$ ?

Which armor special abilities can be applied to Bracers of Armor?

The Bracers of Armor page states:

Bracers of armor cannot have any armor special abilities that add a flat gp amount to their cost.

And, a Q&A with Jason Bulmahn clarified that Bracers of Armor do not count as any wieght class of armor, so any ability that specifies that it can only be put on light/medium/heavy armor can’t be put on Bracers of Armor.

With those restrictions in mind, which Armor Special Abilities can you put on Bracers of Armor?

Does reduction of maximum hit points stick to the form it is applied to?

Following up on How does Max-HP reduction affect wild-shaped/polymorphed creatures?, which states:

Damage taken in animal form doesn’t affect your original form’s HP unless you’re dropped to 0 HP in animal form and there’s excess damage. Nowhere is it suggested that max-HP reduction would work any differently. Because Wild Shape/Polymorph gives you a new pool of HP, only that pool is affected by the reduction.


A druid gets seduced by a succubus. They kiss while the druid is in bear form – this is not hypothetical as yesterday exactly this had happened. The druid gets lowered Maximum Hit Points because of this forced romance. So according to the linked Q&A, the reduction would only apply to the bear form.


If the druid reverts back to normal, the HP reduction is not active anymore. What if the druid wild shapes another time, back into a bear: does it get a fresh “pool of HP”, or does the Reduced Max HP stay with its bear form until it gets “cured”?

In other words: are shapeshifters actually really resilient against abilities that reduce maximum hit points?


In case it helps to clarify, let’s use these numbers:

  1. Druid: 45 HP
  2. Wild Shapes into Brown Bear: 34 HP, but reduced to 10 Maximum HP (after two kisses).
  3. Druid reverts back to normal: 45 HP
  4. Wild Shapes back into Brown Bear: 34 HP, or still at 10 HP?

Can the Dual-Balanced weapon modification be applied to double weapons?

The Dual-Balanced weapon mod description says,

Price +2,000 gp; Weight —

Dual-balanced weapons are balanced to be wielded in tandem.

Only melee weapons can be dual-balanced. When wielding two weapons with the dual-balanced modification, reduce any two-weapon fighting penalties by 1 for both weapons. The weapons do not need to be the same type, but both must have the dual-balanced modification.

Can I apply this mod to double weapons, such as a staff? I suspect there may be a problem with it RAW—if so, would it cause problems to allow it?

Is WhatsApp end-to-end encryption applied to images?

I know that for text, WhatsApp messages are encrypted in a way no “man in the middle” could read them. But what about images?

Imagine you received some private image on your smartphone. Then you open WhatsApp Web on your PC, which uses an employer VPN.

Would the employer be able to “download” the image your Whatsapp Web just loaded?

Why do Amdahl’s law and Gustafson’s law give us different speedups, when applied on the same task?

I am given a task, where exactly 50% of the work is parallelizable. When applying Amdahl’s law to calculate speedup when using 2 processing units instead of one, I get a different result than the one I get when calculating the same speedup using Gustafson’s law. I don’t understand why is that.

Rank 1 kakita applied to damage

Following what it is said on the book of fourth edition, rank 1 kakita bushi “The way of the crane”:

You gain a bonus of +1k1 plus your School Rank to the total of all attack and Focus rolls while assuming the Center Stance.

Does this mean that it gets a +1k1 to only hit, or to hit and damage rolls?

What kind of JavaScript protection is usually applied on password fields to prevent value injection? [closed]

There is a certain website with a certain login form which includes two fields; username and password.

I can successfully inject data with vanilla JavaScript to the first field:

document.querySelector("#username").value = "USERNAME"; 

But when I try to inject a password:

document.querySelector("#password").value = "PASSWORD"; 

I get an error:

VM1766:1 Uncaught TypeError: Cannot set property ‘value’ of null at :1:45

My problem

I double checked if the field exists as is and it is indeed existing in DOM;
I further ran a code like console.log(document.querySelector("#password")); and got lots of output which I purposely evade pasting here due to legal reasons.

My question

What kind of JavaScript protection is usually applied on password fields to prevent value injection?