Is it possible for a married Catholic to be invincibly ignorant that adultery is gravely wrong?

Question: Is it possible for a married Catholic to be invincibly ignorant that adultery is gravely wrong? I am interested in an answer from the Catholic viewpoint.
Answer: A (validly) married Catholic cannot be invincibly ignorant of the sinfulness of adultery because marriage consent, "the efficient cause of matrimony" (Summa Theologica suppl. q. 45 a. 1), is consent to "the union of persons directed to one purpose" (ibid. ad 2; cf. q. 44 a. 1), or as Canon Law expresses it:

1917 CIC 1081 (1983 CIC 1057)

Matrimonial consent is an act of the will by which each party gives and accepts perpetual and exclusive rights to the body, for those actions that are of themselves suitable for the generation of children.

Regarding ignorance:

1917 CIC 1082 (1983 CIC 1096)

In order that matrimonial consent be considered [valid], it is necessary that the contractants at least not be ignorant that marriage is a permanent society between a man and woman for the procreation of children.

This ignorance is not presumed after puberty.

cf. Summa Theologica II-II q. 154 a. 2 "Whether simple fornication is a mortal sin?"
Comment: The question does not ask if a **validly** married Catholic cannot be invincibly ignorant of the sinfulness of adultery but if a ***married Catholic can be invincibly ignorant that adultery is gravely sinful***?
Comment: @Ken Graham Validly married is another way of saying married, since anyone not validly married isn't married.
Comment: @SolaGratia True, but they might not perceive that difference.
Comment: @KenGraham I say "validly married" to be extra clear. Many so-called marriages are really concubinage.
Comment: @Ken Graham I was only noting that "married Catholic" and "validly married Catholic" are synonymous, since there are no invalidly married married Catholics, and that as such your correction doesn't really make sense.
Answer: The answer is very much context dependent.  In principle it is logically possible for a Catholic to be invincibly ignorant about any moral fact.  But it is incredibly difficult for a Catholic person (or any other person) to be ignorant of the fact that adultery is wrong.
Given the visibility with which the Catholic faith --- and indeed, Christianity and even the majority of secular American culture (and all other cultures) --- teaches about the importance of fidelity in marriage, such a Catholic would have to be extremely badly catechized, and extremely mentally deficient in absorbing the moral law regarding marriage even though such a Catholic is surrounded by it on all sides.  So, possible?  Sure.  Likely? Not really.
On the other hand, perhaps your question is emphasizing the "gravely" in "gravely wrong".  It seems more likely to me that an extremely badly catechized Catholic with an extremely deficient reasoning ability and an extremely badly trained moral compass might come to the conclusion that adultery is wrong, but maybe not "gravely" wrong.  After all, people are very good at self-deception when it suits them, and I can imagine a Catholic --- or indeed any one person --- downplaying the gravity of any sin (including adultery) if it is something they want to do.  Add to this that an extremely badly catechized Catholic might not even be aware of the distinction between "wrong" and "gravely wrong", and might be (miss-)guided in confusing their feelings for their moral reasoning --- as seems to be the case for many modern Americans ---, and the likelihood goes up for such a Catholic to conceivably conclude that even though adultery is wrong, maybe it is not that wrong because it causes them "feelings" of "love".
All of this to say that questions of invincible ignorance can be quite subjective, and circumstantial.  It does really depend on the person and the kind of education (formal and cultural) to which that person has access.
Here is how I might be wrong.  The argument can be made that since the prominence for the proposition that adultery is very wrong is so high, a Catholic (or any other person) would have the moral obligation to investigate the truth or falsehood of it --- and hence could not be invisibly ignorant (but merely ignorant) if he did not.
Despite this counterargument, I still think that an extremely badly catechized Catholic, with extremely deficient mental and moral abilities, and with an extremely bad access to the true moral law --- perhaps all the friends and teaching authorities (even those who should know better) of such a Catholic teach that "true love trumps all else" --- could possibly come to be invincibly ignorant about adultery being a "grave wrong".  Of course, the more visible and prominent that the teaching against adultery is, the less likely it is for such a Catholic to exist.
Comment: Please add some sources to Catholic theologians or magisterial documents.
Answer: Is it possible for a married Catholic to be invincibly ignorant that adultery is gravely wrong?
The short answer is no.
Seeing that the vast majority of Catholic dioceses, if not all, have a mandatory marriage preparation to take before getting married, it is highly doubtful that an individual Catholic would would be invincibility ignorant that adultery would be gravely sinful.
The knowledge about such, as Geremia points out is one thing, but the Church has taken steps to ensure that Catholic marriages are valid from the beginning and remain so until the death of one of the spouses!


Using the GetMediaLibrary() method in python-wordpress-xmlrpc.media, how to iterate over the result?

Question: I accessed my Wordpress site's media library using the GetMediaLibrary() method of the python-wordpress-xmlrpc.media module. According to the documentation, this action should return a list of WordPressMedia instances. However, when I try to iterate over this list using a for-loop, I receive the error:
'GetMediaLibrary' object is not iterable

This is my code:
from wordpress_xmlrpc import Client, WordPressPost
from wordpress_xmlrpc.methods import media, posts

client = Client([*redacted*])
allwp_media = media.GetMediaLibrary([])

for media_file in allwp_media:
      if media_file.title == item.filename:
              attachment_url = media_file.link

Where 'item.filename' is a string. My Python/coding knowledge is kind of weak, so perhaps there is something fundamental about objects in Python that I do not understand, but I would assume that I should be able to iterate over this list.
Thanks in advance.
Answer: To iterate over media you must first call to WP using your client:
allwp_media = client.call(media.GetMediaLibrary())


Deleted validation rules and change sets

Question: I have deleted a validation rule in my dev environment. Is there any way to comunicate this through a change set to our QA environment or will this have to be done manualy?
Answer: Using the ANT-based Force.com Migration Tool you can build deployments that can add, change or delete objects as well as test changes.  The download comes with a sample build.xml file and has an entry for removing code.  You will have to build an XML file describing what needs to happen, though this can be generated by the Force.com IDE if you use it.
Comment: Woah, I never knew about this. I will need to research it but this looks like a nice tool to add to the tool belt.
Answer: When it comes to destructive changes for VRs I keep a log in excel, or use the Setup Audit Trail to track them and then manually apply the modifications to the other environment.
If you do use the Force.com IDE and its feature for migrating between sandboxes it will generate the deletion, and you can unselect any other elements you don't want to touch via the UI.
Mike Chale is right in regarding to the use of the Migration Tool, but you'll need to invest some time in working with it, whilst I've done lots of additive changes using it, I've avoided it for destructive changes.
Comment: Yes.  The difficulty in removing (or renaming) components with SF is one of the reasons I'm ambivalent about aspects of agile.  Renaming  is 'removing + adding', and thus object, field and rule names are difficult to refactor  because of this.
Comment: We don't do destructive changes too often but we had an unusually tumultuous sprint so drastic, sweeping changes were made.
Answer: I prefer change sets over Ant, but as Mike Chale pointed out, you lose the ability to handle any form of deletes and even renaming of picklist values. I keep track of these in Evernote and reproduce them in Production during deployment.
Answer: Simple answer: There is no automatic communication from Production to a Sandbox when you delete a Validation Rule. It has to be done manually.


How to prove $2+2=4$ using Zermelo–Fraenkel Set Theory?

Question: I'm familiar with the famous excerpt from Principia Mathematica by Bertrand Russel and Alfred Whitehead. However, as Zermelo–Fraenkel Set Theory is today's most used foundation of mathematics (or ZF if you believe the axiom of Choice is implied), I was wondering if there is a postulation expressed in the symbolism of first-order logic for $2 + 2 = 4$ following ZFC. I'm not a logician, not even an undergraduate yet, and I was unable to find such a proof online, maybe I'm just overlooking some elementary understanding of what ZFC is.
Comment: In ZFC the natural numbers defined as ordinals, so by definition: $2+2=2+(1+1)=(2+1)+1=3+1=4$. Note that $A+1$ is defined as $S(A)$
Answer: Zermelo–Fraenkel set theory is formulated in a language that has a binary relation $\in$, and that's it. The symbols $1,2,3,4$ and $+$ make "no sense" from a syntactic point of view.
So first one needs to explain what is $2$ in the context of set theory. This means that you need to define some sets that will behave like you would expect of the natural numbers. Normally, these are the finite von Neumann ordinals, defined recursively as $0=\varnothing$ and $n+1=n\cup\{n\}$. There are other ways to define the natural numbers, or you could be thinking about the real numbers, and then you need to define those as well first, but for now let's stick with the von Neumann ordinals and see where it takes us.
Note that even in the case of Peano arithmetic or ring theory, the symbol for $2$ and the symbol for $4$ are not part of the language. They are used as shorthand for either repeated sums of $1$ or repeated application of the successor function to $0$, or so on.
So if $2$ is defined as $1+1$ and $4$ is defined as $((1+1)+1)+1$, and you have an axiom saying that $(x+y)+z=x+(y+z)$, then you're practically done: $(1+1)+(1+1)=((1+1)+1)+1$, so $2+2=4$. But okay, let's go back to set theory.
We have the natural numbers, so $2=\{\varnothing,\{\varnothing\}\}$ and $4$, well, let's just write $4$. After this you need to ask what is $+$. Do you think about $+$ as a recursive definition of applying the successor function? Even the Peano axioms which usually form the basis for arithmetic have $+$ as a standalone object, and there is a connection between $+$ and the successor function. There are two standard ways to define what is $+$ on the natural numbers in the context of set theory:

Successive application of the successor function, so $x+0=x$ and $x+S(y)=S(x+y)$. In that case, $2+2=S(1)+S(1)=S(S(0))+S(S(0))=\dots=S(S(S(S(0))))$. And now we can also translate back into sets to get "a fully set theoretic statement". But it's awful, and I don't want to do it.
Using cardinality of sets. Note that $n$ is a set with exactly $n$ elements. $0$ has no elements and $1$ has exactly one element (which is $0$, as it turns out). So we can define $n+m=k$ if and only if the number of elements in a disjoint union of a copy of $n$ and a copy of $m$, is $k$. Or, in modern terms, there is a bijection between the two sets.
In that case, one needs to write down a function from $\{\langle 0,0\rangle,\langle 0,1\rangle\}\cup\{\langle 1,0\rangle,\langle 1,1\rangle\}$, or $\{0\}\times2\cup\{1\}\times2$, and $4$ which is $\{0,1,2,3\}$. Of course, this starts with defining what is an ordered pair from a set theoretic view, what is a function, etc., and then write this as a set theoretic expression again. Which, as before, is an awful exercise in futility.

The easiest way, at the end, is to prove this "by blocks". First prove there is a way to formalize the natural numbers, then formalize addition, then show that no matter what formalization you chose, as long as it satisfies certain properties (which you would expect from the natural numbers), it has to be the case that the object corresponding to $2+2$ is the object corresponding to $4$.

Or just be annoying and declare that you interpret $2,+$ and $4$ in a non-standard way so $2+2=5\neq 4$. Whatever floats your boat.
Comment: I haven't read PM, because from a modern point of view, it's a ginormous waste of time unless you want to study some very specific things related to the text there. (I'm not, however, disparaging reading the book as a historical landmark of a huge undertaking to formalize mathematics, that was great.) So I can't quite help you with what and how they did things there. But if my memory serves me right, it takes them a couple hundred pages to finish formalizing the basics first so they can prove $1+1=2$. I think they use a type-theoretic approach, which is a different way to formalize mathematics
Comment: @Doug: I meant that in the context of the axioms of a field (or at least ring theory). In the case of PA you need to prove it, yes.
Comment: Thank you for making it clear, so in Principia Mathematica what were they using to prove 1+1=2 because it seemed fairly abstract in terms of logic symbols?
Comment: "and you have an axiom saying that (x+y)+z=x+(y+z)"  I thought it was common to use axioms for Peano arithmetic where the associative law was not an axiom, but rather a theorem.
Answer: In ZFC you would usually construct the addition function by recursion, so by the general recursion theorem it would satisfy the recursion equations
$$ a + 0 = a \\ a+S(b) = S(a+b) $$
where $S$ is the function that takes a natural number to its successor.
After proving that $2=S(S(0))$ and $4=S(S(S(S(0))))$ (which you may well have considered to be definitions in the first place), it is as simple as
$$ \begin{align} 2+2 &= 2 + S(S(0)) \\
&= S(2+S(0)) \\
&= S(S( 2+ 0 )) \\
&= S(S( 2 )) \\
&= S(S(S(S(0)))) \\
&= 4 \end{align} $$
Depending on the underlying formalization of first-order logic, expressing this equational reasoning as a formal may be more or less cumbersome. In particular, doing it halfway readably depends on the ability to introduce new term notations (such as $x+y$) other than the ones present in the original logical language, and most proof systems for first-order logic are content to let that be handled by considering atomic formulas that involve the new terms to be abbreviations of a more complex nest of quantifiers.
So if you compare PM to the combination of orthodox textbook FOL + ZFC, the latter may not necessarily come out ahead.
On the other hand, modern proof assistants have shown that formal reasoning in first-order logic can be done much smoother than by the textbook proof systems -- e.g. by embedding FOL in a suitable higher-order system where the equational reasoning above can be done more or less directly, and then proving once and for all that this higher-order system is conservative over first-order logic.
Answer: In the ZFC axioms system, natural numbers are represented by sets. For example, $0$ is usually represented by the empty set $\emptyset = \{\}$.
You can represent the successor of a number in different ways. One common way of doing so is representing any number greater than $0$ as the set of all smaller numbers. Thus, $1=\{\emptyset\}$, $2=\{0,1\} = \{\emptyset,\{\emptyset\} \}$.
This has the nice property that $a < b$ iff $a \in b$ iff $a\subset b$.
We can compute thus the successor of a number as $s(a) = \{a\}\cup a$. We note that the predecessor is also easy to compute.
Summation is defined recursively, such that $a+0 = a$, and $a+s(b) = s(a)+b$.
Applying these two rules repeatedly gives us that $2+2 = 3+1 = 4+0 = 4$
Comment: I would only add that $a<b$ is defined as $a\in b$, it is not just equivalent
Answer: First, you need to construct the numbers you are using. It can be the natural numbers set.
You can use the famous construction $\emptyset$ for $0$, $\{\emptyset\}$ for $1$, $\{\{\emptyset\}, \emptyset\}$ for $2$ and so on.
After that, you need to construct a $+$ operator. It can be a function $+:\mathbb{N}^2\rightarrow\mathbb{N}$. This function can be constructed as a set of pairs $((a,b),c)$ satisfying some condition on $a$, $b$ and $c$. An ordered pair can be constructed with the Kuratowski definition.
Finally you can check if $2+2=4$.
Axiomatic Set Theory is an accepted foundations of mathematics, where you can construct all of mathematics(not sure of that). However, no one will ever do these constructions by hand.
Imagine you want to express the explicit construction of the tangent bundle of a smooth manifold. That would be huge and confusing.
Comment: First "construct all of mathematics" is a little too much for now, as contradiction free model has some problems with it(godel incompleteness theorem). Secondly how can you define $+$ using itself? The definition of $+$ in ZFC is:$$n+0=n\\n+(m+1)=(n+m)+1\\n+k=\sup\{n+m\mid m<k\}$$ for $k$ limit ordinal and $A+1=S(A)$
Comment: Oh, what I mean was not to use $a+b=c$ as a condition, but rather use _some_ well defined condition. It would depend on the previous constructions.
Answer: The existing answers are more or less talking about ordinal addition. In terms of cardinals: Say $|A|$ denotes the cardinality of the set $A$. Saying $2+2=4$ then means this:

Theorem. If $A\cap B=\emptyset$, $|A|=|B|=2$, then $|A\cup B|=4$.
    $\newcommand\two{\{0,1\}}$
    $\newcommand\four{\{0,1,2,3\}}$

Now let's  write $A\sim B$ to mean that there exists a bijection from $A$ onto $B$. Then $|A|=2$ means that $A\sim\{0,1\}$ (where here it doesn't matter what $0$ and $1$ are, all that matters is $0\ne 1$), and similarly  $|A|=4$ means $A\sim\four$.
We need a lemma:

Lemma. $\two\sim\{2,3\}$.

And now to prove the theorem: Suppose $A\cap B=\emptyset$ and $|A|=|B|=2$. The lemma shows that $B\sim\{2,3\}$. Since $\two\cap\{2,3\}=\emptyset$ it follows that $$A\cup B\sim\two\cup\{2,3\}=\four.$$
Note About "ordinal addition" versus "cardinal addition": They are two different things. In fact $2$ and $4$ are cardinals and ordinals, so the statement "$2+2=4$" is a priori ambiguous, since we haven't specified whether we're talking about ordinal addition or cardinal addition. In hopefully obvious notation, the other answers are showing that $2+_o2=4$, while here we show that $2+_c2=4$.
By the standard definitions, a finite ordinal is the same as a finite cardinal, annd the two notions of addition for finite ordinals/cardinals come out the same. But it's important to realize that they really are different for infinite ordinals and infinite cardinals.
For example, say $\omega$ is the first infinite ordinal and $\aleph_0$ is the first infinite cardinal. Then, as sets, $\omega=\aleph_0$, but, at least in the way the notation is usually interpreted, $\omega+\omega\ne\omega$ while $\aleph_0+\aleph_0=\aleph_0$. That's not a contradiction because the two plus signs mean different things; in more careful notation that nobody actually uses, $\omega+_o\omega\ne\omega$ and $\aleph_0+_c\aleph_0=\aleph_0$.
So when you see "$+$" in set theory you need to consider the context to determine whether it means $+_o$ or $+_c$.
Comment: @JohnMiller ZFC is certainly a specific set of axioms. The above is an informal proof "in ZFC", in that every step could be justified using those axioms. (If you're confused by the fact that what I proved is totally different from what the other answers prove, see the **Note** I'm about to add to the answer...)
Comment: Oh okay, so I'm starting to think to prove something through ZFC almost means nothing, as there are so many ways to do so. I think I had this preconception that it was a specific set of axioms to describe how to postulate modern mathematics, but is it more of a general framework in which one can theorise freely?


Is it illegal to answer duplicates?

Question: I wrote an answer to this question yesterday. Today I woke up and opened the stack exchange app to find out its missing. When I logged in through my laptop I found out it was deleted by a moderator and the question was flagged duplicate. I found it weird cause I am new here and was just sharing knowledge.
Comment: "I found it weird cause I am new here" - Just a heads up, SO is absolutely not a bad place to hang around, but it doesn't care about you being new. It has a help center full of topics and a searchable meta full of existing knowledge that you can study so you don't have to use the argument "I'm new" for anything. Be "SO did my due diligence" before you are "SO readytohelp".
Comment: SO ready to plagiarize
Answer: Did you write an answer, or did you copy (a miniscule part of) a comprehensive answer (and later added proper attribution)?
And as the answer exists on the same site, what value did you add over doing the right thing and simply voting (or, since you are below 3K still, flagging) to close as a duplicate?
And if it had been a new answer adding to SO's knowlegebase, why did you add it to the duplicate even though you obviously knew a good duplicate-master?
Answer: Illegal? No. Strongly discouraged? Not really. Depending on how obvious the dupe should have been to someone with your searching abilities, other users may get annoyed at you, but unless you make a habit of never bothering to dig up dupes and simply answering with the same trivial answers, that annoyance won't be very substantial. (Please do not do that. We don't need people to answer the same questions over and over.)
I don't know for sure why your answer was deleted, but I'd guess it's just because "Extracting month from date in JavaScript" is frankly the sort of question you'd expect to find at least a hundred dupes of.
A solid, helpful answer on a question that turns out to be a dupe will seldom be deleted.

Is it illegal to answer duplicates?


Any workarounds to help DSolve solve this first order standard d'Alembert differential equation? (no initial conditions)

Question: Update June 25, 2023. The problem is still present in V 13.3

I am baffled why DSolve in V 13.1 unable to solve this standard first order ode. DSolve has improved a lot in recent version, so I was expecting it to be to solve this first order ode.
I am looking for suggestion what happend here, or a workaround.
I will show my hand solution. Mathematica verifies the solutions. Then show an attempt for workaround. DSolve seems to hang. Well, I waited 10 minutes and gave up. May be if I wait much more it will solve it. But from my experience with DSolve, if it takes more than few minutes, most likly it is stuck somewhere and no point waiting any more.
I do not understand why it needs that much time. Maple also solves this ode instantly. So I think something went wrong here with DSolve code path somewhere.
The ode is
ClearAll[y, x]
ode = y[x] == x + y'[x]^2*(1 - 2/3*y'[x])
DSolve[ode, y[x], x]

Waiting and waiting....but why?
Here is my hand solution, you can see there is nothing that should cause long time delay.
hand Solution
\begin{align*}
y  & =x+\left(  y^{\prime}\right)  ^{2}\left(  1-\frac{2}{3}y^{\prime}\right)\\
& =\phi\left(  x,y^{\prime}\right)
\end{align*}
Let $y^{\prime}=p$
\begin{align}
y  & =x+\left(  p^{2}-\frac{2}{3}p^{3}\right)  \tag{1}\\
& =\phi\left(  x,p\right)  \nonumber
\end{align}
Differentiating w.r.t. $x$ gives
\begin{align}
y^{\prime}  & =\frac{\partial\phi}{\partial x}+\frac{\partial\phi}{\partial p}\frac{dp}{dx}\nonumber\\
p  & =1+\left(  2p-2p^{2}\right)  \frac{dp}{dx}\nonumber\\
\frac{dp}{dx}  & =\frac{p-1}{2\left(  p-p^{2}\right)  }\tag{2}
\end{align}
The singular solution is when $\frac{dp}{dx}=0$ which results in $p=1$.
Substituting this in (1) gives
\begin{align*}
y  & =x-\left(  1-\frac{2}{3}\right)  \\
& =x+\frac{1}{3}
\end{align*}
The general solution is when $\frac{dp}{dx}\neq0$. Then (2) is now separable.
Solving for $p$ gives
\begin{align*}
p  & =-\sqrt{c_{1}-x}\\
p  & =\sqrt{c_{1}-x}
\end{align*}
Substituting each one of the above solutions of $p$ in (1) gives
\begin{align*}
y_{1}  & =x+\left(  p^{2}-\frac{2}{3}p^{3}\right)  \\
& =x+\left(  \left(  -\sqrt{c_{1}-x}\right)  ^{2}-\frac{2}{3}\left(
-\sqrt{c_{1}-x}\right)  ^{3}\right)  \\
& =x+\left(  c_{1}-x+\frac{2}{3}\left(  c_{1}-x\right)  ^{\frac{3}{2}}\right)
\\
& =c_{1}+\frac{2}{3}\left(  c_{1}-x\right)  ^{\frac{3}{2}}%
\end{align*}
And
\begin{align*}
y_{2}  & =x+\left(  p^{2}-\frac{2}{3}p^{3}\right)  \\
& =x+\left(  \left(  \sqrt{c_{1}-x}\right)  ^{2}-\frac{2}{3}\left(
\sqrt{c_{1}-x}\right)  ^{3}\right)  \\
& =x+\left(  c_{1}-x-\frac{2}{3}\left(  c_{1}-x\right)  ^{\frac{3}{2}}\right)
\\
& =c_{1}-\frac{2}{3}\left(  c_{1}-x\right)  ^{\frac{3}{2}}%
\end{align*}
Therefore the solutions are
\begin{align*}
y  & =x+\frac{1}{3}\\
y  & =c_{1}+\frac{2}{3}\left(  c_{1}-x\right)  ^{\frac{3}{2}}\\
y  & =c_{1}-\frac{2}{3}\left(  c_{1}-x\right)  ^{\frac{3}{2}}
\end{align*}
Verification of hand solutions by Mathematica
ClearAll[y, x]
ode = y[x] == x + y'[x]^2*(1 - 2/3*y'[x])
ode /. y -> Function[{x}, x + 1/3]

ode /. y -> Function[{x}, C[1] + 2/3 (C[1] - x)^(3/2)] // Simplify

ode /. y -> Function[{x}, C[1] - 2/3 (C[1] - x)^(3/2)] // Simplify

Attempts for workaround
I tried to see if solving for $y'$ first and solving each separate ode will help (even though this is the wrong approach to solving d'Alembert) and solve each generated ode (which is now of degree one), but this did not work. It also hanged
ClearAll[y, x]
ode = y[x] == x + y'[x]^2*(1 - 2/3*y'[x])
sol = y'[x] /. Solve[ode, y'[x]];
DSolve[y'[x] == First@sol, y[x], x]

Based on the above, my guess is that, this is what DSolve did internally? And that is why it hanged? Since the integrals generated are way too complicated to be solved as a quadrature ode.

Is it possible this is what DSolve did?
And finally, this is Maple's result
ode:=y(x)=x+ diff(y(x),x)^2*(1-2/3*diff(y(x),x));
s := time[real]():
dsolve(ode);
time[real]()-s;

Any hints why DSolve can't solve this, or a workaround are welcome.
V 13.1 on windows 10.
Answer: D'Alembert and Clairaut as trivial examples of first order ODE are not even mentioned by Arnold.  With $y'=p$ make it explicit
  Solve[y == p^2 *(1 - 2/3) p, p]
   +-(-1)^(2/3) 3^(1/3) y^(1/3)

$$\text{DSolve}\left[y'(x)=\pm (-1)^{2/3} \sqrt[3]{3} \sqrt[3]{y(x)},y(x),x\right]$$
$$\left\{y(x)\to \pm \frac{2}{3} \sqrt{\frac{2}{3}} \left((-1)^{2/3} \sqrt[3]{3} x+c_1\right){}^{3/2}\right\}$$

Any workarounds to help DSolve solve this first order standard d’Alembert differential equation? (no initial conditions)


Why MO community forbide me and discourage me to do my research and to post my questions?

Question: I'm confused why MO community forbids me many times to ask question however the last question that I have posted wasn't negative , Really  this method of dealing is discouraging me and discourage all OP there who they are interesting to do research, Now my question is: What I should do for continuation of posting question without creating a new account? and thanks
Comment: In case you don't know, there is StackExchange software that automatically blocks questions or answers if there is repeated downvoting/closure/deletion of posts. So the community doesn't directly block you, but how your posts are received does enter into it. See also https://meta.stackexchange.com/questions/86997/what-can-i-do-when-getting-we-are-no-longer-accepting-questions-answers-from-th.
Comment: Which is your last question? Is there a link to it?
Comment: @Yemon, there seem to be several accounts in the name of OP, but perhaps https://mathoverflow.net/users/51189/zeraoulia-rafik is relevant. There you can see many questions that have been posted (but if there are any deleted questions, I don't think they show up there).
Comment: @YemonChoi , This is the link of the last question :https://mathoverflow.net/q/301696/51189
Comment: So, let's have a look: you have 21 questions (not counting possible deleted ones) with median score 2, and of those questions 9 are closed and 3 have negative score. Unless I am mistaken, deleted questions count towards a question ban as well (though details are not publicly available). In order to get the software-side ban lifted, you might try to improve your deleted questions to get them undeleted (or undelete them yourself, in case you have deleted them yourself), and to improve your closed questions to get them reopened and upvoted. -- I hope this is of some help!
Comment: Could you please write in your question a bit clearly in what way you are discouraged from posting questions? Are you talking about your question being put on hold? Are you getting the message "We are no longer accepting questions/answers from this account" as mentioned by Todd Trimble? (If it is the latter, the questions, the question should be probably tagged (post-ban) rather than (account-suspension) - and you can find links to some basic information [in the tag-info](https://meta.mathoverflow.net/tags/post-ban/info).)
Comment: Based on comment you wrote under your previous question, it seems that you are talking about question ban: [What I can do if my questions limit had been reached in MO from long time?](https://meta.mathoverflow.net/q/3584) According to [the help center](https://mathoverflow.net/help/question-bans): "If you're unable to improve your existing questions, you'll get the chance to ask a new one 6 months after your last question. If that question is positively received, you may be able to continue asking questions; if not, then the ban will be reinstated."
Answer: It's quite difficult to give an answer to your question. (At least to the part about reinstating the question ban after a positively received question.)
One thing is that the algorithm for determining question ban is not public. But you also omitted quite a lot of details in your question: What exactly was the the error message you get? At the time of the meta post, were you actually banned from asking questions or just limited to one question per week? Since you most recent question - which you mention as being positively received - have you posted some other questions that were deleted? So from the data available to other users it is difficult to find out whether the situation is indeed as described in your post - that some kind of ban kicked in after a positively received question. (The most recent question from this account that I see has score 2 with three upvotes and one downvote, all of these four votes have been cast before this question on meta.)
However, since you have explicitly mentioned creating a second account to solve the problem, let me address at least this. (And add a few words about question ban in general.)
Multiple accounts
You wrote (emphasis mine): "What I should do for continuation of posting question without creating a new account?"
Creating another account just to bypass the question ban is not the way to go. This is against the rules - and depending on how strict moderators are, this could even lead to suspension.
Similarly as with many other topics, you can find some basic info about using multiple accounts in the corresponding tag-info. Briefly summarized, multiple accounts are allowed, but they should not interact with each other and you should not do things you are not able to do with a single account.
Network-wide FAQ on multiple accounts explicitly says that they should not be usd for: "Circumventing suspensions, quality bans, or the rate limits on posting questions / answers / comments / etc." Similarly the FAQ on post ban says: "Can I simply create a new account? No. The automatic ban is at a lower level than account."
General advice for question ban
From what I have heard on several meta sites, it seems that it is quite difficult to get from question ban. There aren't many things to say which aren't already covered by the help center and FAQ on the question bans - so probably the best advice is to read and follow the recommendations given there.
Still, perhaps a few minor points:

If your questions were received in a way which was sufficient to trigger question ban, maybe it can be considered as a signal from the community on this site that they are not the type of the questions this site welcomes. Maybe you could consider whether your questions would be more suitable elsewhere. There is Mathematics site in the Stack Exchange network many other websites on the Internet.
It can happen that your ban is lifted even without you doing anything - simply if enough users randomly stumble upon your post and upvote them. Here is an example from another site where this happened: I have been banned from asking questions, what should I do?. (It is natural that your post on meta might attract some attention to your post on main. However, when I look at the reputation tab in your profile, it seems that they lead to downvotes rather than upvotes.)
I will repeat that according to the help center: "If you're unable to improve your existing questions, you'll get the chance to ask a new one 6 months after your last question. If that question is positively received, you may be able to continue asking questions; if not, then the ban will be reinstated." So maybe a reasonable strategy would be simply to wait for 6 months. (And prepare a question about which you are confident that it is on-topic for the site and is going to be well received.)
Both help center and FAQ mention editing your old question as a possibility to help. I will just add some caveat to be careful with this - and do it only if you are confident that you can get them into the shape suitable for MathOverflow. (Otherwise these action might have opposite effect - bumping the question might bring new attention to them and if MO users do not consider them of sufficient quality you will receive several new downvotes and you'll just dig yourself deeper into the question ban.)
Take seriously warnings displayed by the system. If from a warning (on from your past experience) you suspect that you might be close to to triggering question ban, before posting the next question it might be useful to reread: How to write a good MathOverflow question?


Moving a sprite (SpriteKit) along a UIBezierPath in steps

Question: I am able to generate a UIBezierPath as well as use SKAction.followPath in order to make a sprite follow this path after calling runAction.  With this, I can make the sprite follow a bezier path from the start of the path to the endpoint.
However, what I'm actually going for is the following:

Generate a fixed path, such as with UIBezierPath
This path will have about 10 points along it
Using a button press, I will move the sprite (currently on the starting point along this path) one "move" along to the next point.
Using button presses, I'll continuously move the sprite along that fixed path in those 10 discrete steps

Probably the most similar example to what I'm trying to achieve is with the Candy Crush level map.  In this, you have some curvy path along which there are points that you move your character along in discrete steps.
Thank you for any help!
Answer: instead of using a bezier path why not store the points in an array.  Then each time you touch the button just pop off the end of the array and do SKAction.moveTo(yourPoint)


Impulse response resampling : IIR aproximation vs windowing

Question: I have a long measured impulse response and I wand to shorten it.
I imagined two options. The first is a simple windowing. The second is to model it as an IIR (prony, yulewalker, stmcb method) before to use this filter to regenerate an IR of the appropriate length. My intuition leads me to think that the second method is more efficient because windowing at N sample is equivalent to create a Nth order FIR, and IIR are supposed to be more accurate (but maybe I'm wrong).
Could you enlighten me on the issue ?
Answer: The required length of the impulse response is primarily determined by the frequency resolution of the filter. If you sample at 44.1 kHz and want to do something meaningful at 40 Hz, you will need 1000s of samples.
If your required frequency resolution is reasonably large, than the windowing approach can work fine. I'd suggest a rectangular window with a bit of a half-hanning or half raised cosine at the end to smooth out any transition.
Just keep cutting the length to a point where the frequency domain error is still "acceptable".
If that doesn't work, you can try a hybrid of IIR and FIR. Match an IIR filter primarily at the lower frequency, calculate the difference the IIR to the target response and implement the difference as an additional FIR filter cascaded with the IIR


CiviCRM expert in India

Question: I'm representing an NGO based organisation in India. We have decided to move from paper based process to paperless process or at lease "less-paper".  We need an expert to implement CiviCRM in our organization. I couldn't find any Indian contacts in civicrm website , Can someone suggest an alternative solution to find an expert?
Answer: I do think that the find expert page is the preferable way to find experts. If they are not on that page the question will arise how good they are in terms of involvement with the civicrm community.
If you want to find experts in India, you could best google it.
There are some people in the community who are based in India. I do know that Harshal is based in India.
Answer: There are many ways to find experts of CiviCRM.

Find expert search from CiviCRM site.
Post a job on freelancer sites
May be find an expert on https://chat.civicrm.org/

HTH
Pradeep

CiviCRM expert in India


What are imaginary signals?

Question: Reading about complex signals, I learn a phasor is composed of real and imaginary components as $e^{2\pi j \cdot \omega}$ and $e^{2\pi ⁻j \cdot \omega}$. Why is this? How can a signal be imaginary?
Comment: Fat32. The adjectives "complex" and "imaginary" are certainly unfortunate. Rather than "complex", the brilliant technical pioneer in the generation and distribution of AC electrical power, Charles P. Steinmetz, called the number $a +jb$ a "general" number.
Comment: aitia, Perhaps the material at the following web page may help you: https://www.dsprelated.com/showarticle/192.php
Comment: It seems the formula is different, I will edit my question to reflect this.
Comment: How can a **number** be imaginary ? $z = a + j b$ is a complex number with imaginary part $jb$... The imaginary unit is $j = \sqrt{-1}$ ? How can this all be?
Comment: Some dislike the term "number" because it conveys a sense of ordering or comparison that is not direct for complex quantities, and higher-order structures
Answer:
How can a signal be imaginary?

It's not imaginary in the everyday sense of meaning something that doesn't exist.
"Real" and "imaginary" have technical meanings in signal processing, and more widely in mathematics, that are different from their everyday meanings.
In signal processing "real" denotes a signal component that is in phase with (i.e. has a 0° phase shift from) some reference signal.  Imaginary denotes a signal component that is in quadrature with (i.e. has a 90° phase shift from) the same reference signal. The reference signal can come from a local oscillator. (In DSP or SDR equipment the local oscillator might be a mathematical representation of one, rather than an analog circuit.) In a receiver we might seek to synchronise the reference signal to the received signal.
In signal processing equipment we also refer to real and imaginary as I and Q for in-phase and quadrature, respectively. Some equipment has sections which are divided into separate I and Q channels. You can measure the signals flowing through a Q (imaginary) channel, implemented in hardware, and find they are just as real (in the everyday sense) as the signals flowing through the I (real) channel.
The term "imaginary" was originally coined in the 17th century by René Descartes as a derogatory term and has been confusing students ever since.
For why $e^{j \omega t} = \cos  \omega t + j \sin \omega t $ see Euler's formula. Mathematicians use $i$ to represent the imaginary unit. Electrical engineers use $j$ to represent the imaginary unit because we use $i$ to represent (instantaneous) current.  You can use either representation but please choose one and stick with it.
(This question was originally posted in the amateur radio SE group. This answer was drafted as a reply there and leans towards radio usage.)
Comment: @Fat32 I'm not trying to create a complete write-up of complex signal processing; I'm just trying to illustrate an answer to OP's specific question "How can a signal be imaginary?" The name is confusing, even Gauss thought so, and I hope I've been able to explain the difference between the everyday and mathematical meanings of imaginary.
Comment: I prefer being a stickler about I/Q modulation as opposed to complex signals -- in that I/Q modulation very fortuitously happens to follow the same rules of arithmetic as complex numbers, but each channel is as real as can be.
Comment: No no no! That's only a very narrow interpretation of complex signals that arise in communication systems (as in phase, I, and quadrature phase, Q, components). DSP handles complex numbers just as ordinary mathematic does.For example the Fourier transform can inherently produce complex valued signals as well; giving both the magnitude and the phase of the associated sinusoidal at the analysed frequency. So the concept of in-phase & quadrature-phase components to describe complex valued quantities is not necessary, and may even be misleading.
Comment: @Fat32 In "On Governors" (1864, James Clerk Maxwell), Maxwell refers to polynomial roots of the form $a + b\sqrt{-1}$ as composed of "possible" and "impossible" parts.
Comment: @Fat32 If you want to provide an answer with a different emphasis please feel free; I'll read it with interest.
Answer: Complex expressions are a quite common representation for several signals having two components possessing special properties.
First, it is common in NMR (Nuclear magnetic resonance) or MRI (magnetic resonance imaging), where the signal can be detected by receiver coils sensitive to magnetic flux in two orthogonal directions (cf. Real vs Imaginary Signals: What is the difference between real and imaginary signals?: How can one be more real than another?). Polarized waves, acquired by multidirectional sensors, also lend themselves well to a complex representation.
Second, creating an analytical signal from a real one combined with a quadrature part is a quite useful signal preprocessing.
They are convenient representation. I am not sure that a signal is complex per se, however, complex quantities definitely are the backbones of an apparent "real world".

What are imaginary signals?


Collapse of the Fern Hollow bridge

Question: I'm a high school student who is trying to investigate the forces that keep a bridge from collapsing - specifically the Fern Hollow Bridge in Pittsburgh that collapsed a few months ago. We estimated the mass of the bridge to be 6,488,185 kilograms and there were approximately 20,865 kilograms on the bridge at time of collapse. The bridge has two supports that meet the bridge at 140.5 feet away from the edge and there is a distance of 166 ft between the supports. The supports are at 60 degree angles. Would the forces on the bridge that kept it from collapsing be tension and compression, and how would you calculate those forces?
Comment: Hmm. we're going to have trouble framing the answer at the level of high school physics. But, let's have a go. Suppose we replace the continuous beam that forms the bridge with 3 beams, connected by 2 pin joints, and allow the end of the two end beams to move laterally. Then draw a free body diagram for each of the 3 beams and the 2 legs. TLDR: you can't really answer that question with the information you have
Answer: I've gathered the preliminary reports from 3 sources. Note that all reports consistently indicated no significant deficiencies were found on the supporting metal frame members, rather, the deterioration of the concrete deck could be the culprit. For such as case, I suggest evaluating the shear strength/capacity of the deck near the support abutment and piers and anticipating a shear-type failure rather than bending; also the integrity of the deck to support connections needs to be examined. Without having the construction details, no calculation can be attempted.
CBS News
The Fern Hollow Bridge collapsed on the morning of Jan. 28, injuring several people and making national headlines.
The inspection and the report conducted by state and city inspectors had been withheld by PennDOT since the collapse but were released Friday after a right-to-know request by our news partners at the Post-Gazette.
The report is redacted in parts but cites exposed rebar, as well as corrosion and holes in support beams and decay in the deck, allowing water to seep through.
NTSB Investigation
The bridge was an uncoated weathering steel, three-span, continuous rigid "K" frame structure with two welded steel girders, welded steel floor beams, and rolled steel stringers. 1 The ends of the structure rested on reinforced concrete caps on stone masonry abutments. Each girder was additionally supported by two inclined, welded steel frame legs, also made of uncoated weathering steel, which rested atop reinforced concrete thrust blocks. Although certain areas of the welded steel girders were identified as being fracture critical, no primary fractures were found in these areas.
Thus far, the investigation has not found any evidence of widespread deficiencies with rigid K-frame superstructure types. All aspects of the collapse remain under investigation while the NTSB determines the probable cause, with the intent of issuing safety recommendations to prevent similar events.
Wikipedia
The preliminary report was released on February 7.[14] The collapse apparently initiated at the west end of the structure.[14] Surveillance video recovered from the bus showed the bridge had already fallen off the western abutment when the eastern expansion joint began to separate.[40] No primary fractures were found in the critical areas of the welded steel girders.
Answer: Why the bridge collapsed, due years of defferred maintenance.  Numerous media reports say that it was rated to be in poor condition.
The bridge collapsed between 6 am and 7 am; subsequently it was being driven over by one of those  articulated buses. These buses weigh a little more than 20 tons, which should not have been enough to collapse the bridge.
The X-shaped cross braces on a bridge pier had heavily corroded and severed/sheared where the pier met the water, the amount of force needed is inconsequential. Once the final components failed a Hair is all takes break the camels back.....

Collapse of the Fern Hollow bridge


Understanding Radon Nikodym derivative

Question: I am trying to understand the Radon Nikodym derivative. My professor often writes the measure change from $\mathbb{P}$ to $\mathbb{Q}$ as:
$$\eta_t=\dfrac{d\mathbb{Q}}{d\mathbb{P}}|_{\mathscr{F}_t}$$
But then he might write the measure change from $\mathbb{Q}$ to $\mathbb{Q^*}$ as
$$\dfrac{d\mathbb{Q^*}}{d\mathbb{Q}}|_{\mathscr{F}_T}$$
What does the notation "given" ${\mathscr{F}_T}$ mean here? In one part of my lecture notes, he writes:
$$\dfrac{d\mathbb{Q^*}}{d\mathbb{Q}}|_{\mathscr{F}_T} = \dfrac{e^{-r_T}}{E_0[e^{-r_T}]}$$
Does $E_0[e^{-r_T}] = E[e^{-r_T}|\mathscr{F}_0]$? What meaning does this have?
Using the definition of $r_t$ (which I have left out purposefully since it adds no value to the question, one can easily calculate:
$$\tilde{\eta_T}:=\dfrac{d\mathbb{Q^*}}{d\mathbb{Q}}|_{\mathscr{F}_T}$$ where $k \in \mathbb{R}$.
Does this equation hold for every $t \leq T$? In particular, does
$$\tilde{\eta_t}:=\dfrac{d\mathbb{Q^*}}{d\mathbb{Q}}|_{\mathscr{F}_t}?$$
I suppose my question may be like a notation one, but I am hoping this notation is well known enough for someone to explain it to me here. To paraphrase my questions:
What meaning does $E_0[]$ have?
What does it mean to calculate the Radon Nikodym derivative with respect to a filtration at time $t$? How can I better understand this notation?
Comment: Have you asked your professor what the notation *he* uses means?! It is somewhat absurd to ask the world at large if not...
Comment: @MarianoSuárez-Alvarez - I will delete the question if this notation is cryptic and uncommon.
Comment: Why would you delete it? I am merely observing that the very first person you should have asked this question to is precisely your teacher: if he is using the notation, presumably he knows what it means, and if he is using it to communicate with you, then not only you will help yourself by asking him but also help him: no one enjoys talking to someone who has no idea what one is saying!
Comment: @MarianoSuárez-Alvarez I had to miss a lecture and I am trying to get caught up before the next one.
Comment: This asks about a notational issue, addressed in the answer below, then about at least two mathematical ones, impossible to answer without the specifics of the situation. Note however that the $d$ part of $dW_t^{Q^*}$ and $dW_T^{Q^*}$ might be a typo.
Answer: The notation $|_{{\mathscr F}_T}$ means that one is considering the restrictions of the measures in question to the $\sigma$-algebra $\mathscr F_T$.

Understanding Radon Nikodym derivative


Is it correct to perform feature distillation when both the teacher and student model architectures are completely different

Question: When the architectures of the teacher and student networks do not just vary by network depths but are completely different, is it logically correct to distill knowledge at feature level (say from middle layer) in such scenario? Thanks in advance
Answer: There is no such thing as "correct" or "incorrect".  The only question is whether it works well enough or not.  The only way to figure that out is to try it and see. (It's not clear to me why you'd distill at the middle layer as opposed to the last or next-to-last layer, but you can do it.)
Comment: Thanks for your response. I have tried distillation from the intermediate layer and the performance has degraded and hence the query. The goal was to enable the student model to learn the encoded richer representation from the teacher model. However, there are several works in the literature that have achieved higher performances using feature distillation from the middle layer. But their networks vary mostly in depth and not in total structure.


How to turn on an infrared vision in Crysis 2 Demo?

Question: I often see other players kill me with infrared vision turned on(they see other players in blue, red colors). How can I turn it on too?
Answer: Have you tried the 'i' key?  In the first Crysis, it was the key to turn night vision on and off.
Or are you referring to the 'nanovision'?  Press the 'N' key to toggle it on or off.
Hope this helps!
Comment: Thanks, that is really called nanovision. However the default key for it is 'N' in Crysis 2. Please correct your answer and I will accept it.


Elevator / horizontal tail effectiveness at high speeds?

Question: Take for example a jet fighter, when at low speeds vs high speeds, airspeed will differ a lot. As the turning moment is due to the lift force from the tail and lift increases quadratically with airspeed, why doesn't the jet fall out of control at such high speeds. To give an example, take a jet flying at 300 kts vs 1000kts. That means that the faster jet will have a turning moment 11 times stronger than the slower plane?
Comment: Observe how much less you deflect your steering wheel at freeway speeds compared to half or less that speed on a slow road...
Comment: You use the term "turning moment", I guess in this context that's probably the same as "pitching moment"?  Just to be clear, that's not what actually determines turn rate; net pitching moment must be zero in a steady-state turn.
Comment: Why do you assume the same control surface deflection is used at all speeds?
Answer:
lift force from the tail and lift increases quadratically with airspeed

Correct

That means that the faster jet will have a turning moment 11 times stronger than the slower plane?

No, because the aerodynamic force depends also on how many degrees the control surface is deployed, more or less in a linear manner. That means that instead of deploying the control surface of say 11° as you do at low speed, you deploy it only 1° i.e. 11 times less in order to compensate for the 11 times higher speed's contribution.
Changes in altitude ($\rho$), comprimibility effects (Mach > 0.3) and structural deformations modify this simple linear relationship but the main idea still holds i.e. at higher speed you need lower deflections.


RC phase shift oscillator

Question: An RC phase shift oscillator is a sine wave generator. It only needs a DC power source. No input is provided for circuit. What is happening inside the RC phase shift oscillator? How is a sine wave being generated there?
Comment: There are several articles online explaining the operation of these oscillators. What research did you do already? Please edit your question to add the link to the article you were reading, and explain *exactly* where you get stuck in its explanation. That way, people here don't waste time repeating what you already know, and don't skip the explanation of the specific part where you are stuck. Thanks.
Answer: The amplifier, together with the RC networks provide greater than unity gain at some frequency, that's the frequency it oscillates at.
How does it start? All circuits have broadband noise. The noise is amplified, and the oscillation builds exponentially.
Eventually the oscillation amplitude is large enough to hit some limit. Either the amplifier hits the rails, so loses gain, or in a much tamer process the amplitude is detected and used to turn the gain down to unity. Either way, the oscillation stabilises at some level.
These oscillators usually do not start when simulated, as a simulator has no noise. Typically you would use initial conditions to give it a kick.
Answer: Such an oscillator can be seen as an amplifier that creates its own input signal.
Example: An amplifier with a gain of A=10 and an output amplitude of 10 volts needs an input signal of 1 volt (in reality 1.1 volt or so to allow a safe start of oscillations.)
Hence, the required input of 1 Volt is derived from the output signal using a feedback factor of k=0.1).
As a consequence, the loop gain Al=A*k=1 (in practice we require Al=1.1 or so).
Because this condition must be true for one single frequency only, the feedback circuit must contain a frequency-selective network - in your case an RC-phase shift chain (highpass or lowpass) that provides the necessary damping at the desired frequency.,

RC phase shift oscillator


What computer should I load Mathmatica on; Laptop or deskstop?

Question: Perhaps this is a silly question but I am torn which is preferred. I like the mobility of a laptop that doesn't have to be connected to the web. I hope this an appropriate question. I have been a Wolfram Alpha for about a year now.  I have a mac mini M2 and a macbook air m1
Comment: it depends on what license you have. if you buy premium service also, you get to install it on 2 PC's for the price of one. See https://community.wolfram.com/groups/-/m/t/614864  and you could always call WRI customer service to be sure. They have an 800 number.
Comment: The answer may depend on the kinds of problems you want to solve and the amount of memory each of your choices have. If you are just going to do pretty small simple problems then it may not make any difference what you choose. But if you are going to give it problems that involve LOTS of data or LOTS of calculation then speed and memory will matter. When anyone asks me how much memory and I suspect the are going to tackle big problems I always say "You always want WAY TOO MUCH memory."
Comment: Thank you Nasser and Bill, I will check out the license options as well as computer specs. I was thinking of a computer upgrade so this great info.
Answer: Check the Benchmark[] on any machine available.
In any generation of hardware, between the cheapest notebook and the fastest desktop you will find factors of 2-4 of benchmark results. For the usual factorial scaling of runtime and memory of a problem with repect to the effective binary dimensionality over time, a problem that is solved in 3d with 10 GB in a minute usually runs days in 4d with hundreds of GB.
But even for small tasks, because Mathematica never makes any attempt to store data in the most memory efficient way in everyday code production, memory is an issue.
With  some 6 GB idling,  at least 32 GB RAM is a must. From vs 13. on there occure system execeptions by memory overflow, killing all your work done up to that point without notice.
Whenever you hit on a problem  that seems to need a high end desktop - images, big data, number chrunching, art production - its much cheaper to use specialized program packages, that are open software in most cases and can be used on a notebook with Mathematica as a command and tool.
Comment: This is very helpful as I'm considering a computer upgrade. Thank you Roland


Why does Baby call T. Rex Trex?

Question: I know this is a minor detail, but this is Edgar Wright. Come on. When Baby and Debora are talking at the diner, he tells her about the song based on her name, but he calls the artist Trex instead of T. Rex, as corrected by Debora. Is there any symbolism or hint of a subplot here? Maybe he has dyslexia or trouble reading...? Is this ever hinted at anywhere else? Thanks.
Answer: No. I suspect you're overthinking this.
Baby just isn't aware of the proper way of saying the band's name.
After all, the band dissolved 30 years (when Bolan passed) before the movie timeframe. Baby wasn't even born.
Apparently Edgar Wright mentions in the DVD commentary that..

A studio rep asked him to cut the line where Baby refers to the band T-Rex as Trex because they didn't want him to seem dumb. He refused as it reads endearing not dumb.
Source
Comment: To me it didn't read as endearing but very strange and hard to explain other than everyone involved in the movie being ignorant of how many songs by bands other than T. Rex mention "T. Rex" in the lyrics. It's hard to imagine someone being a fan of T. Rex without having heard "You Better You Bet" or "All The Young Dudes". So anyone listening to T. Rex would have a hard time justifying not knowing how to say the same. Also, every single album cover seems to have either a prominent period or dash after the T. I think the studio rep was correct.
Comment: @ToddWilcox But that's the point, he's *not* a T-Rex fan, he's a somewhat isolated kid who uses music as something to disappear into. The impression I got was that he buys second-hand iPods and listens to whatever's on them, as a quick, cheap way to get another few hundred hours of listening material. He gets to know and like individual songs very well (because he's listening every waking hour) but he'll know nothing about some bands beyond the name he reads on the ipod list.
Comment: Also, when songs are ripped from CDs -- or, downloaded from Napster -- into the iPods that Baby has gotten or stolen, the meta data may well be wrongly describing the artist name as "Trex".
Comment: Oh well. I thought I noticed something ground-breaking. Clearly not the case. Thanks a lot!
Comment: @ToddWilcox I have heard "You Better You Bet", and I never noticed that they mentioned T. Rex, and even if I had, I wouldn't have realized they were referring to the band. If someone thinks "T. Rex" is pronounced "Trex", then why, when hearing some song say "Tee Rex", think they were talking about T. Rex?
Comment: @Accumulation Im genuinely surprised you missed it. He sings it twice in a row and the band gets quiet at that point. It wouldn't be easy to think he's talking about anything other than the band because the lines are "I drink myself blind/to the sound of old T. Rex/To the sound of old T. Rex/And Who's Next?" So yeah, it's a Who song that mentions listening to a Who album (and also listening to T. Rex).
Answer: I know this is very old but I was considering it recently whilst watching. My thought is that baby prides himself on his range of music knowledge, and this is a way for the plot to show that Deborah is also really into music, so much so that she knows the correct pronunciation of the name. May be wrong but that's how i see it, because after this point they both spend their time enjoying music together etc its a little nod to the fact she isn't some ditsy waitress, she is actually knowledgeable about music, the one thing baby values more than anything. Again, may be over thinking but my inner Edgar Wright says this is the reason

Why does Baby call T. Rex Trex?


Should I tell a leaving coworker I'm replacing his process

Question: There is this process that a leaving coworker wrote using (I feel) outdated software.  The issue is anytime there is an error I have to consult with said coworker to get it fixed because no one else in my department knows work this software either.  So I want to replace his process before he leaves.  Should I let him know that I will replace his process and possibly offending him?  or just replace it without telling him since he is leaving anyways.
Comment: That decision (of telling him) is *yours*. What do you want to achieve here? What's your goal beside asking for opinions (which would make all answers equal)?
Comment: @morsor : from the [tour] = don't ask questions that ask for "*personal advice on what to do*". Seems pretty clear to me (shrug)
Comment: maybe asking about a good way to switch persons/replace process in a professional way and without bruising egos? Something around this idea would seem much better to me.
Comment: Why the downvotes?
Comment: @OldPadawan: The situation is quite general, though. Would editing the question in a more general direction make it acceptable?
Comment: @morsor: to me this question sounds like an act of retaliation. There was a time to react to this while the process have been being established. Now it sounds like: haha! I can now do with your process whatever I like and I'm throwing it away!
Comment: @red-shield: Perhaps this task has only recently been thrust onto the OP. There can be many reasons it has not been handled until now
Answer: There is nothing kind in telling that the first thing you'll do when he leaves, is throwing his work in the trash.  Unless you have a personal need to make a point or be unkind, I would suggest you don't do it like that.
I would use the situation to get every piece of information out of this persons head and into the specification for the replacement system.  "Outdated, I feel" is very vague - there is a vast difference between "This MS-DOS based software only runs on 32-bit Windows 10 machines, so updating now is due dilligence" and "I don't like this software because Outlook365 has something much nicer".  It might turn out that the price for updating instead of just learning the existing software is much higher than you expect.
If you sell this right, this can be highly beneficial for both the employee, the company and yourself.
Answer: If you change the wording to 'updating' rather than 'replacing', you signal the process is necessary - and might have an easier time extracting valuable information from the soon-to-depart colleague. He probably knows that the process is very much tied to him so he will probably expect some hand-over at the very least.
A more constructive move could be involving him in creating 'Process v 2.0' with requirements like:

Process must be performed by multiple people
Update technological stack (if necessary)
New business enhancements

If he had to create the process from scratch today, it's quite likely that he would make different choices. Find out what they are.
The most important point is to avoid stepping on his ego - and that can probably be accomplished by demonstrating that his process and opinions are valued.
Comment: Regardless you should plan to learn the current process so you can write a new process if you will not be responsible for the result of the current process (or new process) before the indivdual leaves.


WCF + Website. File is being used by another process

Question: I'm getting this error:
Could not load file or assembly 'EntityFramework' or one of its dependencies. The process cannot access the file because it is being used by another process. (Exception from HRESULT: 0x80070020) (C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\web.config line 111)
The problem is that this works locally, but when I publish it at www.medicallperu.com/services/Medicall.svc/Login it gives me that error. I've no way to restart the server or anything, I just know that it works on my local server.
I'm running a WCF on the same domain that a website, I saw somewhere that this might cause an issue, like the one I'm experimenting.
Comment: asp-classic?  Don't you mean ASP.NET?  They are **not** the same thing...
Comment: Yes, sorry it is ASP.NET.
Answer: I solved this by creating a Virtual Dir for my WCF instead of just having it on a subfolder of my web application.
Answer: Error
<code>Error   12  Unable to copy file "obj\Debug\CloudKase.exe" to "bin\Debug\Some.exe". The process cannot access the file 'bin\Debug\Some.exe' because it is being used by another process.
</code>
I have solution for this error that go to the task manager and find some.exe to makes end task closed that first after that you can run the project without any bug.
Happy Coding :)


How to efficiently model a pile of stones or pebbles

Question:
I'm trying to make gravel for my animation, and so far I've tried particles resembling pebble pieces. This method seems too clumsy, so is there an efficient way to make a pile of gravel with collisions on?
Comment: What specifically is clumsy?  Ease of use?  Time to render?  Is that your finished product in the question?  Did you take advantage of physics?  Is the gravel the primary focus or secondary background?   Is your mesh shaped like the pile [operative word ] mentioned in your writing?
Comment: Render time and ease of use. Generating particles seems like an unnecessary procedure, but I'm not aware of better methods.
Comment: Particles can be your strongest ally many times.  Whether or not they are well suited for your particular project is to be determined.  Are you generating a still image or dynamic video? If the image is still you might be able to place a texture on a mesh.
Comment: I'm doing a video
Comment: You might want to list the specifications of your machine hardware in terms of render time.  Blender system info does that.  What specifically is the ease of use issue, but not render time.   Can you place a  texture of the gravel on a mesh?  Would that be acceptable?  Type game speed optimization.
Comment: That was very informative., can I make a pile of pop corn in a box, the popcorns need to be one mesh with box for 3D printing.
Answer: 1. Add a plane and Fractal Subdivide it
A Fractal value around 0.5 is good for this size of plane.

2. Subdivide it again
Do a second subdivision of a single cut, this time with a higher Fractal value. In this example I used 3.

3. Add a collision plane below
This is to catch the stones after we explode the fractal plane. Scale it up to be somewhat larger than the fractal plane.

4. Specify the collision plane's settings
This is done in the Physics Context with the collision plane selected.
We just want some Particle Friction and Particle Damping. No need to be exact.

5. Select "Quick Explode" from the Object menu
POW! Why sculpt and cut when you can just blow things up? Huge time-saver.

6. Specify Quick Explode settings
Adjust these while playing your animation in a loop to see what you like best.

Once the settings are committed, they're committed.
7. It's exploded but needs thickness and form
Next we will perform some magic to turn this confetti into rocks.

8. Add some more Modifiers with these settings
Note the Solidify Thickness of 0.1, the Decimate Ratio of 0.3, and the SubSurf Subdivisions of 1 each. There is room to experiment here - these values are not set in stone.
What's happening: First the Solidify Modifier turns the flat shards into chunks with volume, but they still look too uniform and not organic enough. Next the Decimate Modifier crushes that geometry down into a shape that looks more like stones by merging neighboring vertices. Finally a Subdivision Surface Modifier takes care of taming the jaggedness.
How many subdivisions? 1 or 2, depending on how smooth you want your stones to be and what kind of poly count you can afford. Usually less is more, and this can be changed later.

9. Apply all modifiers except SubSurf and set shading to Smooth
The Particle System Modifier is the only one that can't be deleted or applied in this stack.

Instead, navigate to the Particle Context. From there you can click the minus icon-button to delete it. We no longer need it once the stones have been created.

The purpose in leaving SubSurf on is for flexibility. You may later choose to remove the SubSurf altogether or increase its subdivision level to 2 for smoother, hi-poly (but also heavier to calculate) geometry. The Modifier settings from one stone can be copied to the rest. More on the SubSurf Modifier later.

10. Select the stones of desirable shape and size
In Edit Mode (Face Select), select a face which is about the ideal size (meaning area) that you want your remaining stones to have. Then press ShiftG to Select Similar and choose "Area".

Immediately after selecting similar faces a Threshold slider will appear in the Operator Panel. Adjust it until it's catching the appropriate amount of stones.

The goal is not to catch every face of every stone with this method, but just to get selected at least one piece of geometry on each stone you want to keep. After this you can shift-select parts of any additional stones you like. Then press CtrlL to Select Linked and this is how you get the whole stones selected.
11. Delete the rest
While still in Edit Mode and with your desired stones selected, press CtrlI to invert the selection so that only the stones you don't want to keep are selected. Then press X to delete them.

12. Separate by loose parts to get individual stone objects
At this point you may want to rename your object from "Plane" to something like "Stone", before breaking it into a bunch of smaller objects that will be named "Stone.123" etc.
Press A to Select All, then P to Separate. Choose "By Loose Parts".

From Object Mode you may now want to Hide (H) the collision plane if it is obscuring some of the stones.
13. Set Origin to Geometry
Having the origin point of these stones off in an arbitrary location is no good, especially if they will be used in a particle system. Let's set it so each stone's origin point is at its center.
In the Tools Tab use the Set Origin drop-down selector to choose "Origin to Geometry", or press ShiftCtrlAltC.

14. Group your stones
Grouping your stones is not only a good way to stay organized and be able to select them easily in the Outliner or Append them to other .blends - it's also necessary if you're going to use them in their own Particle System.
With all of your stone objects selected in Object Mode, press CtrlG to group them. In the Operator Panel name the group something creative like "Stones".

From here you can either use these stones (rocks, gravel, whatever) as particles or as rigid bodies, or with the Molecular Add-On. Self-collision is possible with the latter two methods. If you want to apply the SubSurf Modifier to all the stones you can press AltC and Convert to Mesh.
Comment: best way I have ever seen to do this!
Comment: This is exactly what I was looking for! Thank you very much :D
Comment: How do you select similar pebbles and how do you separate by loose parts?
Comment: Please see my updated answer. When I first posted I didn't have time to add much text description, just wanted to get you the essential info. I have now filled in the details to make it more comprehensive.
Comment: While in Edit mode, hit P. "Separate by loose parts" will be the last choice.


Check if String is Valid MySQL UTF8?

Question: I have a MySQL column encoded as utf8. That utf8 is not actually the full utf8 set, but only BMP characters only up to 3 bytes in length. I don't want to try to insert utf8 into MySQL only to find it does not meet MySQL's parameters for what utf8 should be. Is there a way to test in Python if something meets MySQL's parameters before attempting to insert? For obvious reasons, catching exceptions on some_string.encode('utf-8') is not strict enough.
Answer: >>> len(u'\uffff'.encode('utf8')) < 4 # Good; fits in utf8
True
>>> len(u'\U00010000'.encode('utf8')) < 4 # Bad; utf8mb4 only
False
>>> ord(u'\uffff') < 65536 # Good; fits in utf8
True
>>> ord(u'\U00010000') < 65536 # Bad; utf8mb4 only
False

Answer: To check whether a string contains a Unicode character above U+FFFF (and which thus can't be stored in a MySQL table using the "utf8" encoding), you can use the following regular expression:
re.match(u"[^\u0000-\uffff]", s)

Alternatively, if you can upgrade to MySQL 5.5 or later, you may want to consider converting your table to the utf8mb4 character set, which can store all Unicode characters.
Comment: You should use re.search instead of re.match, because when you try re.match("[^\u0000-\uffff]", "yura") it return None! but  re.search("[^\u0000-\uffff]", "yura") find this
If you want to locate a match anywhere in string, use search() instead.

Check if String is Valid MySQL UTF8?


Switching kayboard layout with one key

Question: Is it possible to turn on particular keyboard layout with just one key like Control_L or Shift_L without losing their main function?
I've tried to make custom keybinding for command, for example, setxkbmap -layout en and edit it via dconf-editor binding it to just Control_L. The layout switches on, but usual shortcuts with Control_L stop working.
Comment: @terdon With great difficulty if it's on press. With great ease if it's on release
Comment: So how would your system know if _this_ time when pressing the left Ctrl you actually want to use it as the Ctrl key and _that_ time you want it to change the layout?
Comment: Pro tip: use Caps for this. One key, and doesn't conflict with anything useful.
Comment: @HolyBlackCat Caps is fine, but as other common shortcuts it switches layouts cyclically, so you must know what the current layout is to be sure what layout you are switching to. My goal is to switch on particular layout before typing without thinking about the current one.
Answer: Here is a Python script to do that. You need sudo apt install python3-xlib.
#!/usr/bin/env python3
# Based off https://stackoverflow.com/a/22368676/10477326
from Xlib.display import Display
from Xlib import X
from Xlib.ext import record
from Xlib.protocol import rq
import subprocess

TARGET_KEY = 37 # CTRL
target_pressed = False
disp = None

def handler(reply):
    global target_pressed
    data = reply.data
    # Listen for all keys
    while len(data):
        event, data = rq.EventField(None).parse_binary_value(data, disp.display, None, None)
        typ = event.type
        if typ not in (X.KeyPress, X.KeyRelease):
            # Interrupt on mouse Ctrl+Zoom or Ctrl+Click. Thank you @terdon
            target_pressed = False
            continue
        detail = event.detail
        # If there was another key in the middle,
        # stop because it's another key combination and not just
        # the one key that we desire.
        if detail != TARGET_KEY:
            target_pressed = False
            continue
        # On KeyPress, set a flag to wait for a KeyRelease to make sure
        # no other keys will be pressed.
        if typ == X.KeyPress:
            target_pressed = True
            continue
        # Previously another key in the middle was detected.
        if not target_pressed:
            continue
        # Now we know only the TARGET_KEY was pressed and released without any other keys.
        # Run your command
        subprocess.run(["setxkbmap", "-layout", "en"])
        target_pressed = False

disp = Display()
root = disp.screen().root
ctx = disp.record_create_context(
    0,
    [record.AllClients],
    [{
        'core_requests': (0, 0),
        'core_replies': (0, 0),
        'ext_requests': (0, 0, 0, 0),
        'ext_replies': (0, 0, 0, 0),
        'delivered_events': (0, 0),
        'device_events': (X.KeyReleaseMask, X.ButtonReleaseMask),
        'errors': (0, 0),
        'client_started': False,
        'client_died': False,
    }],
)
disp.record_enable_context(ctx, handler)
disp.record_free_context(ctx)

while True:
    event = root.display.next_event()

You can then mark it as executable and add a link to it in startup applications. The main idea is to listen for all keypresses globally on all windows. Then I listen for any other keypresses in between to know if you want to switch the layout or use another shortcut. The target key is still sent to the original window all the time.
Comment: Clever! But this still breaks normal ctrl key function, right? You can't hold down ctrl and scroll to change zoom level in your browser, for example. Or hard refresh with ctrl+click. Or anything else involving ctrl but not another keypress.
Comment: Nice! Have a upvote!
Comment: @terdon Thank you. I changed mouse ButtonRelease and ButtonPress to cancel things instead of being ignored
Comment: It works perfectly for me, thank you so much!

Switching kayboard layout with one key


FFTW3 with float enabled on Android NDK

Question: I'm trying to use the fftw3 library on Android, with float precision enabled.
I've compiled the fftw3 source code as it is explained in this question.
I added the "--enable-float" as mentioned here.
So i've created the fftw libraries and placed them into another Android project. I integrated them, so that i can use the library.
When i use the double methods of fftw everything works fine. But:
I tried to use the float methods of fftw, but if i try to this i get these errors:
Install        : libfftw3.so => libs/armeabi/libfftw3.so
Compile thumb  : hello-jni <= hello-jni.c
jni/hello-jni.c: In function 'dst_test':
jni/hello-jni.c:85:15: warning: assignment from incompatible pointer type [enabled by default]
SharedLibrary  : libhello-jni.so
/opt/android-ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs/hello-jni/hello-jni.o: in function dst_test:jni/hello-jni.c:85: error: undefined reference to 'fftwf_plan_r2r_1d'
collect2: ld returned 1 exit status
make: *** [obj/local/armeabi/libhello-jni.so] Error 1

My guess is, that i have done something wrong, when i integrated the library.
I did a
#include "api/fftw3.h"

in my c-File.
My Android.mk looks like this:
LOCAL_PATH := $(call my-dir)
# Prebuilt FFTW library
include $(CLEAR_VARS)
LOCAL_MODULE := fftw3
LOCAL_SRC_FILES := libfftw3.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)

LOCAL_MODULE    := hello-jni
LOCAL_SRC_FILES += hello-jni.c
LOCAL_SHARED_LIBRARIES := fftw3
LOCAL_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)

There are some fftw + android tutorial on the internet, but i couldn't find anything about integrating the "float version" of it.
Comment: Did you ever come to solving this?
Answer: I am actually having a problem with FFTW3 as well, but slightly different.  I think the answer to your question lies in the building the package with float support.  Adding --enable-float to your ./configure command should do the trick.  After it's built, you can include it the same way that you're including fftw3, just make it fftw3f.
Good luck.

FFTW3 with float enabled on Android NDK


Should I answer a revise decision saying that I will?

Question: Should I answer an EiC email that communicates a revise decision and sends me the reviews, saying that I will? Or just revise an upload the revised manuscript when it is ready?
Answer: Just submit the revisions when ready, according to whatever the procedures for that particular journal are. No need to bother the editor with an extra message that doesn't require any action from them.
Often, journals request revisions within some time interval; if you expect to need more time, for example if reviewer requests will require additional experiments, the journal will probably ask that you request an extension. Otherwise, no contact is necessary unless asked for until you send revisions.
Answer: I, myself, would probably want to send a "thank you" email in return and mention that I'm working on the revision. The editor then knows, at least, that you got the revision request and that it didn't wind up in junk-mail limbo.
Some might say that it is a mistake to "bother" a busy editor. But, if the volume of work of an editor is so large as to make this a problem, then I think that editor probably has an assistant who filters the mail in any case.
It might be useful information to them or not, but the thank you part seems to me to be appropriate. If a reply were essential, the mail from the EiC would have requested it, however.
Comment: Yes, I'm always inclined to acknowledge people's communications quickly, and to thank them when appropriate...


Is there a way to do a visual spatial dissolve of polylines that do not touch each other?

Question: I do not have the common attributes to do a regular dissolve. However I can see which lines are separate from another. Either QGIS or ArcGIS is fine.
Answer: In arcgis there a tool in the editor toolbar that let you combine the selected feature (you can even choose one feature to keep the attribute from) see : http://desktop.arcgis.com/fr/arcmap/10.3/manage-data/creating-new-features/merging-features-in-the-same-layer.htm
In Qgis there is also a "merge selected feature" that work in the exact same way (you'll find it in the advanced digitizing toolbar).
If you dont have too many lines nor to many merge you can manually select your lines then use the merge tool from your favorite software


How to erase text in a image using GIMP?

Question: I have this image, from here:

I want to erase the text inside those circles. Is that possible?
Answer: You could do that with some careful usage of the Clone tool. But even then, you will have uneven results due to those circles being partially transparent and the fact that one circle overlaps another.


Acer Aspire 5250 won't boot from bootable USB

Question: I took home my friend's Acer Aspire 5250 which currently has corrupted Windows 10. So, I thought of installing Windows XP (SP3) in it using a bootable USB. As of now, it doesn't pick the USB. I don't have any Windows CD so USB is the only option. It is running on InsydeH20 Setup Utility Rev. 3.5 and I tried finding the Safe Boot and Boot Mode (UFEI, etc) options but they are not there. It doesn't load the already installed Windows 10 neither picks up the USB, I'm stuck.
Comment: you do realize that you can download a Windows 10 iso from MS when you have a license? Any particular reason why you want to install XP?
Comment: Because this laptop has 1 GB Memory and AMD Dual Core E300. Windows 10 may be too heavy for it.
Answer: You could try disabling the UEFI in BIOS menu by pressing F2, as soon as it boots up, on Boot tab choose Legacy instead of UEFI, after that choose boot priority order and make your USB device be first priority, still in BIOS menu go to main tab and enable F12 boot menu (if needed -just be be sure to select correct USB device) then reboot. Press F12 during boot and now you can see your USB device, you can proceed with installation of OS.
Comment: There is a boot priority order under Boot tab in which I can select the boot devices. I can't see any other option.
Comment: Which error is it showing when trying to load the corrupted OS, I am suspecting that some boot entries might be missing? In which case are you able to access the command prompt? Could you please post a screenshot of your BIOS menu?
Comment: It tries to repair the Windows with  a dotted circle animation. Then a Black screen.
How to post images here?


Any finite group can be realized as a subgroup of the group of symmetries of a regular polytope?

Question: Follow up of my previous doubt (Finite groups as subgroups of dihedral groups) , can anyone tell me is that fact correct or not, that any finite group can be realized as a subgroup of the  group of symmetries of a regular polytope?
Comment: A more interesting and harder question is whether any finite group can be realized as exactly the group of symmetries of a regular polytope.
Comment: @QiaochuYuan I don't consider myself an exert in group theory. So it will be very helpful if you give me some reference. Actually this problem came to my mind while I was trying to solve a problem in mapping class group.
Comment: @QiaochuYuan you probably didn't mean to include the word "regular", as that's not a very interesting question as stated...
Comment: @Nate: why not?
Comment: There aren't that many regular polytopes, and their symmetry groups are known.  Above dimension $4$ there are only $3$ regular polytopes of each dimension, and their symmetry groups are symmetric and hyperoctahedral groups.
Answer: A simplex has a symmetric group as its symmetry group, and every finite group can be embedded in a symmetric group.
Comment: can you give me some reference where I can read this proof?
Comment: A simplex is an object in the family: point, line segment, triangle, tetrahedron, pentachoron... The usual definition of a simplex is something like "the convex hull of an affinely independent collection of points" (the points are called the vertices of the simplex). This definition is "symmetric" with respect to the vertices: it's obvious that every affine symmetry of a simplex permutes the vertices, and not hard to see that every permutation of the vertices gives a unique affine symmetry. So the group of (affine) symmetries is just the group of permutations of the vertices.
Comment: You can define a simplex combinatorially instead: its vertices, or 0-cells (since they are 0-dimensional), are an arbitrary (finite) collection of points, and the k-cells correspond to the subcollections of k+1 vertices. Again, this definition is "symmetric" in the vertices and so there must be at least one symmetry for each permutation of the vertices; but the images of the rest of the cells are fixed by the images of the vertices.
Comment: @Anubhav One can realize a simplex as the basis coordinate vectors in $\mathbb{R}^n$. One uses them to create a polytope with $n$ vertices. Any symmetry is determined by the permutation it induces on the set of vertices, and every permutation is realizable as a symmetry (just use the associated permutation matrix as a transformation of space).


How can i configure the core search module to also show results for incomplete words?

Question: I see that the results page only shows results if the "keys" parameter matches a complete word. how Can i configure the core search engine to also show results for incomplete words?
I am using core search module .
Answer: Actually there's a quick way to set this up with the Search API and the Search API Database Search modules. No need for Solr.
Enable both the modules and go to the Search API configuration page
(admin/config/search/search_api)Add a server and give it a recognizable name (such as "MySQL"), make sure it's enabled.
Choose the following service class: Database service (normally the only option. If you don't see it, make sure that the "Search API Database Search" module is enabled).
Selecting this service class will provide you the option Search on parts of a word (make sure you enable it). Now hit "Create server".
Next, go back to the Search API configuration page, and add an index. Again give it a recognizable name, such as "Contentindex", and make sure it's enabled.
Select the server you recently created (in this example "MySQL").
Datasource options: check the content types you want to index (the description of this field may be a bit confusing, but make no mistake: you should check the content types you want to index, not the ones you want to leave out).
You could check "Index items immediately", but that depends on the size of your content. This option is alright for smaller websites. In the other case: let cron take care of it. Hit "Create index".
Next, you want to enable the fields (in the fields tab) to that very index, e.g.: content type, title, status and author - and hit "Save changes" (we'll take care of the related fields later).
Then you want to configure the filters (in the filter tab). Here you can enable the bundle filter, if you want to finetune the content types once again (probably won't need to).
Down below you'll find the highlight filter, to highlight the search word in the results.
Now return to the fields tab and unfold the "Add related fields" tab. Add all the fields of which you want to get the content indexed, and hit Save.
Finally go to the "view" tab of the index, and index now all the items.
The last step is to create search results page and search block in Views, which only takes a few minutes.
Make sure the submodule Search Views is enabled and create a view page which will show "Contentindex" (select the name you gave to your index configuration instead of "content" which is selected by default.
Add all the fields (make sure your format is "fields") that every search result should consist of (title [link to content], body, …).
You'll notice that these fields look like this Indexed Node: Title
Add an exposed filter: Search: Fulltext search; and select the following in its settings: Contains any of these words, and use as: Search keys.
You're done!
Comment: How does this actually solve the problem though? It sounds like this person wants to not do a strict search by keyword and have it be more 'loose' or fuzzy. Solr is the perfect tool for that.
Comment: this solution is not for drupal 8
Comment: I mean, Search API exists for Drupal 8 but doesn't solve your question at all. For this you need something like Solr.


Is it possible to get a history of queries made in postgres

Question: Is it possible to get a history of queries made in postgres? and is it be possible to get the time it took for each query? I'm currently trying to identify slow queries in the application I'm working on.
I'm using Postgres 8.3.5
Comment: I rolled back tags change because this is not a sql specific question.
Comment: See http://stackoverflow.com/questions/722221/how-to-log-postgres-sql-queries
Answer: There's no history in the database itself, if you're using psql you can use "\s" to see your command history there.
You can get future queries or other types of operations into the log files by setting log_statement in the postgresql.conf file.  What you probably want instead is log_min_duration_statement, which if you set it to 0 will log all queries and their durations in the logs.  That can be helpful once your apps goes live, if you set that to a higher value you'll only see the long running queries which can be helpful for optimization (you can run EXPLAIN ANALYZE on the queries you find there to figure out why they're slow).
Another handy thing to know in this area is that if you run psql and tell it "\timing", it will show how long every statement after that takes.  So if you have a sql file that looks like this:
\timing
select 1;

You can run it with the right flags and see each statement interleaved with how long it took.  Here's how and what the result looks like:
$ psql -ef test.sql
Timing is on.
select 1;
 ?column?
----------
        1
(1 row)

Time: 1.196 ms

This is handy because you don't need to be database superuser to use it, unlike changing the config file, and it's easier to use if you're developing new code and want to test it out.
Comment: If this value(value of log_min_duration_statement) is specified without units, it is taken as milliseconds.
Answer: You can use like
\s

it will fetch you all command history of the terminal, to export it to file using
\s filename

Answer: If you want to identify slow queries, than the method is to use log_min_duration_statement setting (in postgresql.conf or set per-database with ALTER DATABASE SET).
When you logged the data, you can then use grep or some specialized tools - like pgFouine or my own analyzer - which lacks proper docs, but despite this - runs quite well.
Answer: If The question is the see the history of queries executed in the Command line. Answer is
As per Postgresql 9.3, Try \? in your command line, you will find all possible commands, in that search for history,
  \s [FILE]              display history or save it to file

in your command line, try \s. This will list the history of queries, you have executed in the current session. you can also save to the file, as shown below.
hms=# \s /tmp/save_queries.sql
Wrote history to file ".//tmp/save_queries.sql".
hms=#

Comment: What would be the default location if we didn't give a full path ?
Answer: Not logging but if you're troubleshooting slow running queries in realtime, you can query the pg_stat_activity view to see which queries are active, the user/connection they came from, when they started, etc. Eg...
SELECT *
FROM pg_stat_activity
WHERE state = 'active'

See the pg_stat_activity view docs.
Answer: FYI for those using the UI Navicat:
You MUST set your preferences to utilize a file as to where to store the history.
If this is blank your Navicat will be blank.

PS: I have no affiliation with or in association to Navicat or it's affiliates. Just looking to help.
Answer: There's no history in the database itself,but if you are using DataGrip data management tool then you can check the history thats your run in the datagrip.
Answer: pgBadger is another option - also listed here: https://github.com/dhamaniasad/awesome-postgres#utilities
Requires some additional setup in advance to capture the necessary data in the postgres logs though, see the official website.