What do you call the inner leaves of a tree?

Question: Like, there are leaves on the outside, and leaves on the inside which are usually protected from the elements.
Comment: I'm voting to close this question as off-topic because there is not enough research/information in the post to indicate that such a word even exists.
Comment: @TusharRaj If he knew that such a word even exists, he would probably know the word itself, too...
Comment: @Sprottenwels: Probably. Not necessarily. We get requests here where the asker _knows_ there is a word but can't place it. Good OPs even include what their reasearch turned up.
Answer: I don't believe that there is a single term for this but I might be wrong.
I'd suggest something like 'delicate foliage', maybe with further circumscription.

The tree's inner delicate foliage, protected from harms of any sort by the shrouding outer leaves
Answer: I believe there aren't any words to describe this.
Adhering to a phyllotaxy dictionary also doesn't yield good results.
You may want to use 'sheltered/shielded/inner foliage' or 'inter-verduary so-and-so' or even 'secluded leafage/foliage'.
Capitalizing on the 'covered' aspect, by using adjectives like 'umbriferous' (Meaning: casting shade or shadow), in a different syntax as opposed to your sentence can also, if done right, yield the same result.
Answer: •SHOOT:
"Shoot(s)", meaning emerging steam and embryonic leaves of a new plant, may be used.
•SPROUT:
A new growth on a plant whether from seeds or other parts is called 'SPROUT'It can be used as well.
•EAR:
At the simplest, "EAR" may have a chance


Why we need traffic be evenly distributed to LSPs in MPLS-TE?

Question: I'm studying basics of inter-datacenter network.
I know the ECMP idea and it's popular to combine ECMP and MPLS.
I want to know the motivation of load-balancing all the LSPs.
I think the reason is that evenly splitting the traffic to the LSPs will minimum the network congestion.
But if assume we have a central controller for TE, will it be better that we use uneven bandwidth for the LSPs such that we can globally optimize the whole network traffic?
Comment: Did any answer help you? if so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively, you could provide and accept your own answer.
Answer: I think the question you have asked is bespoke to your situation. Without anything like MPLS-TE and PCEP etc, just having ECMP between to P/PEs is a very optimal design to ensure as network flows come and go there is a good chance there is enough free bandwidth on any of the ECMP member links to support those flows.
If you have a central traffic engineering solution that's great, you can balance the LSPs unevenly and have no problems at all (as long as you can actually do that properly!).
For example sake; if you have two 1G links and use ECMP. If a network flow starts and it uses 500Mbps of bandwidth over LSP1 which is load-balanced over link 1. The next flow that starts up is 300Mbps over LSP2 and is load-balanced over link 2. Now a third flow starts up that is 600Mbps over LSP1 which is load-balanced over link 1, now link1 is congested and that flow would have fitted onto link2. That is a great advantage of a centralised TE system using unequal cost multi-pathing.
Which is best though really depend on your network. If you properly capacity mange the member links in an ECMP group (continuing our 2x 1G link example) to run at more than 50% each you will have no problems in a failure scenario. The links should have been upgraded to 10G Links by this point (or something higher than 1Gbps). Having said that, you also need to "know" your network and the traffic flows on it; capacity management isn't just about raw volume figures.
Just to touch on it as it's partially related...
ECMP and Single Link Failures
Number of connections from point A to point B = N
N = 4
Speed of a single connection = S
S = 1000
The maximum utilisation of any single link that will still support a single link failure = LinkMax
LinkMax = S-(S/N)
LinkMax = 750

ECMP and Multiple Link Failures
Maximum number of link failures that we would wish to endure without exceeding capacity of remaining links = F
F = 2
N = 4
S = 1000
LinkMax = S-(S/(N-L))
LinkMax = 500


Why doesn't Windows 7 Ultimate (64-bit) contain folder system64 like system32 in xp?

Question: I don't know about vista. I never used it. I just moved from XP (32 bit) to Windows 7 Ultimate (64-bit). I was expecting c:\windows\system64 directory similar to c:\windows\system32. Why is still entire system is located in system32? Why isn't there any system64 directory?
Answer: Backwards compatibility reasons. A whole lot of applications assume things they shouldn't assume and hard-code paths. And yes, that includes 64-bit applications. So on 64-bit Windows the folder system32 actually contains the 64-bit versions of DLLs. For the 32-bit DLLs there is the folder SysWoW64 which is what 32-bit applications see as system32.
Comment: Um, they didn't exactly worry about backwards compatibility when they created the `system32` folder. Yes, the older `system` folder still exists for any old programs that relied on it, but they created the new one anyway. I don't see why they could not do the same here: leave the system32 folder for any old programs that use it, and have the new stuff go in `system64`.
Comment: So basically, you are saying that they were essentially lazy and didn't bother because they could get away with not doing so? If that's true, then I suppose it has the benefit of avoiding breaking things that are working by avoiding unnecessary change. On the other hand, it also breaks consistence which is definitely useful for complex systems (in fact, making inconsistent exceptions like this *adds* to the complexity of the system).
Comment: The break from 16-bit to 32-bit Windows was much larger than the one from 32-bit to 64-bit Windows.
Comment: That just reinforces what I said. If going from 16-bit to 32-bit was so program-shatteringly problematic and worse than 32-64, then wouldn't they have *had* to keep using the `system` folder instead of creating a new one? If they managed to create `system32` in the face of such backward-compatibility challenges then, then why did they "wimp out" with the less challenging migration to 64-bit?
Comment: If the changes are not that drastic programmers tend to be careless. If you have to adapt to a whole new programming model and API (remember that 16-bit Windows was preemptively multitasked, so programs had to yield control every now and then by themselves) then you might as well change some other core parts of the system, e.g. certain system folders.
Comment: @syn The filesystem layout of the operating system is an implementation detail. Programs that need access to it know [how to ask for it](https://docs.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-getsystemdirectoryw). If all programs were written against the API contract (rather than implementation details), Microsoft could have deployed 64-bit binaries to an arbitrary location (such as *system64*). Testing has shown that not all programs are in spec. Reusing *system32* for 64-bit binaries keeps those programs happy, without adding any complexity for programs that are in spec.


Crypto Wash Sale rule

Question: There are various sources indicating that in the United States, the Wash Sale rule does not apply to Cryptocurrencies as they are considered property rather than securities.
Does that mean that it is permissible, to sell a crypto currency position that is down, thereby realizing the loss, immediately buy it back, and use the "harvested loss" to offset realized capital gains elsewhere? If this is indeed permissible, it would seem that one could simply sell and rebuy every time a position is sufficiently down (because this would be strictly better than to just hold it) possibly generating large amounts of realized losses. What's the catch?
Answer:
What's the catch?

No catch. According to Kiplinger, the current IRS interpretation is not to treat cryptocurrencies as securities (See: IRC Sec 475(c)(2)), and as such the wash sale rule doesn't apply. The wash sale rule is codified in IRC Sec. 1091, and explicitly specifies that it applies to stocks and securities. The proposal to close this loophole was in the BBB bill, which stalled in Congress for now.
Comment: Interesting. Assuming one has realized gains from the sale of stocks, which are considered securities, could those be offset (for tax purposes) with realized losses from crypto (even if they have been generated as described above, i.e. sale at a loss with immediate re-purchase)?
Comment: @NingNing according to the current position the IRS has taken - yes. Economically this is essentially tax deferral.

Crypto Wash Sale rule


I ejaculated inside but penis head was not fully inside now hadd punishment is imposed or not?

Question: I ejaculated inside but penis head was not fully inside(i.e not disappeared into the vagina) now hadd punishment is imposed or not?
Comment: Instead of thinking about hadd punishment you should just repent very sincerely. Feel very much regret. Very few countries in the world nowadays impose hadd punishment.
Comment: Yes I'm repenting but i need to know does this is zina? because i didn't inserted my penis head fully (but ejaculated inside) and according to scholar zina is insertion of head fully.
Comment: The topic is already covered in [How deep does the penis need to be inside before its classed as zina and is subject to hadd punishment?](https://islam.stackexchange.com/questions/37176/how-deep-does-the-penis-need-to-be-inside-before-its-classed-as-zina-and-is-sub?rq=1)
Comment: Was this fornicaion/adultery or not?
Comment: It was fornication..im 32 offer namaz but my parents is not making me married..so now i can't control my self..
Answer: IslamQA said:

Firstly:
In the case of zina, the hadd punishment is conditional upon penetration, which means that the head of the penis disappears into the vagina. If it does not penetrate it or only part of it penetrates it, then he is not subject to the hadd punishment.
It says in al-Mawsoo'ah al-Fiqhiyyah (24/23), explaining the conditions of the hadd punishment for zina on which the fuqaha' are agreed: There is no difference of opinion among the fuqaha' that in order for the hadd punishment to be incurred, the head of the penis has to disappear into the vagina. If it does not enter it at all or only part of it enters, then there is no hadd punishment because that is not intercourse. There is no stipulation that ejaculation must take place or that the penis must be erect at the time of penetration. The hadd punishment must be carried out whether he ejaculated or not, and whether his penis was erect or not. End quote.
Secondly:
The things that lead to zina such as touching, kissing, and rubbing the private parts together without penetrating do not come under the ruling on zina, and the one who does them is not subject to the hadd punishment, rather he is to be punished and disciplined because he has done something that is haraam and plainly evil, and because these actions may lead him to commit true zina. Islam calls these actions zina, as in the hadeeth which was narrated by al-Bukhaari (6243) and Muslim (2657) from Abu Hurayrah (may Allaah be pleased with him) from the Prophet (peace and blessings of Allaah be upon him)  who said: "Allaah has decreed for the son of Adam his share of zina which will inevitably catch up with him. The zina of the eye is looking and the zina of the tongue is speaking. The heart wishes and longs and the private part confirms that or denies it."

This fatwa did not talk about ejaculation rather it talked about penetration. So penetration is the thing that matters. If the head of the male private part didn't disappear in the female private part then hadd punishment doesn't apply.
I hope this answers your question. Allah knows the best.


How do I cancel Xbox LIVE automatic renewal online?

Question: Is there a way to discontinue your Xbox Live automatic monthly/annual renewal (and credit card charge) over the Web/Internet?
Comment: When I had this issue, I read somewhere that you can only turn it off at the website (and/or console) if there were more than 15 days til your next renewal or something like that. That may be the reason some people has a proper link and some doesn't. My two cents.
Answer: Contrary to what other sites may tell you when Googling around, yes you can cancel your Xbox Live membership renewal without calling customer support.  It's actually really tricky with non-obvious links apparently intended to confound and upset.
After messing around on the Xbox.com website, you may stumble upon the My Account pages (note: US link). In there is a "Membership Level" section which does have an option to disable renewal.  It may be a tiny text link that says "Automatic Renewal: ON", where the word ON is the link.
You should then end up on a page that doesn't look like it's intended for cancelling your renewal at all, but if you scroll down you should find a "Next" button near the bottom.  Hit next through like 3 similar pages - all of which are trying to tell you about all the features you are missing out on by cancelling your membership - until you finally get to the part that actually lets you cancel.
I'd have a better description and some screenshots for you, but I already cancelled mine (through this process) so I can't see the exact pages.
Comment: +1 for truth, if only inside the US and a few other countries
Answer: If you log in to Xbox.com and go to your "My Account" page, there is a "Membership Level" section.  It's in there that you can control your billing by enabling or disabling your monthly renewal.
Comment: Just as an FYI ... Microsoft forces you through a few "Are you sure?" screens before your automatic renewal is terminated.
Answer: I've been trying to do this for weeks and I set myself a rule that I wouldn't call CS nor cancel my DD. As a UK user the "Automatic Renewal:" status isn't a link:

Automatic renewal: ON

It's ridiculously simple to turn it on, but turning it off the same way is deliberately impossible.
Edit: http://forums.xbox.com/9/31086471/ShowPost.aspx#31086471 (FAQ & Guide - How to turn Automatic Renewal OFF Please read) contains the gem "Note: The Auto Renewal ON/OFF feature was removed from all markets except USA, Germany, Taiwan and Japan on the 18th of February 2010." Wonder why..?
Comment: Accepted for containing the single most useful piece of information: ON/OFF feature was removed in most countries (including here in Canada). For you and I, it seems to be impossible to achieve online.
Answer: Just found this gem on Reddit, for those living where online automatic renewal cancellation is disabled:

First off, thanks to eltacodeldiablo for pointing me in the right
  direction. A few days ago there was a deal to get 5 months of Xbox
  live for $5 which is all well and good except that it turned on
  automatic renewal for your account which is a pain to turn off. As it
  turns out, Illinois passed a law that requires internet gaming service
  providers to have an online method to cancel the service. So here are
  the steps to turn off auto renewal for Xbox live:

Go to the account page
Go to Billing Account Information and change the address to
  somewhere in Illinois
Back on the account page, go to Manage Payment Options
Edit the credit card's billing info to be somewhere in Chicago
Back on the account page, click Upgrade/Manage Account
Under your avatar where it says Automatic Renewal: On, the On should
  be a link, click it.
You are going to have to click next quite a few times but eventually
  it will give you the option to turn auto renewal off.
Profit

It takes a few minutes, but is far less painful than calling support
  and having them potentially cancel your account instead of turning off
  auto renewal.

Edit: This may only work in the US, since changing the country linked to an account seems to be difficult (if not impossible).
Answer: Update! Following the cost increase of monthly renewal, MS sent me a nice email detailing the rise and this snippet (UK account, remember):

As always, you can cancel your membership before the renewal date by calling 0800 587 1103, although we certainly would not want you to miss out on all the great new features and games coming this November.

Useful, except that that number is the TTY device line for the hearing impaired, modem noise and all. The voice line is actually 0800 587 1102. Close, though. I managed to cancel automatic renewal through this number.
Hope this helps someone else.
Answer: The auto renewal link mentioned by Mag is only available in the US and a few other countries.  The UK isn't included so after two unsucessful calls to CS I sent them an email through the account section on xbox.com and complained.  I got a response asking for a contact phone number and convenient time for them to call, which they did and cancelled it immediately.
Answer: Lots of old info here, so straight from the FAQ:

To turn automatic renewal off: Click Sign In at the top of  [Xbox.com], or click My Account if you're already signed in. The automatic renewal setting will be displayed near the top-center of the screen. Click Change next to Automatic Renewal.

Please edit or comment if this doesn't work in your region.


How do I get a Nidoking with Sheer Force on X and Y?

Question: How do I get a NidoKing with sheer force? I know that I must evolve a Nidorano with hustle into a Nidoking, but how do I get one? I have hatched 5 Nidorans and none of them have the right ability.
Answer: You'll need to have to find someone with a Nidorino Friend Safari who has beaten the Elite 4 or in Route 11 as part of an Horde Encounter for a chance to be able to catch a Nidorino/Nidoran♂ with it's Hidden Ability, Hustle.
Comment: There is no nidorino FS. The only way is with the route 11 horde battles.
Answer: Sheer Force is a Hidden Ability. To quote Serebii.net:

Hidden Abilities were introduced within Pokémon Black & White as a means of giving various abilities to older Pokémon and providing a new alternative. Pokémon X & Y continues this, with a few changes. First, Pokémon in Hordes and Pokémon found within Friend Safari each have a small chance of having their Hidden Ability.
  (emphasis mine)

As such, you'll need to try Horde Battles or Friend Safari in order to get one with Sheer Force.
If you then want to breed this into another Nidoran, do note that either the mother or the father can now pass on their ability (previously it was only the mother). Do note that the chance of passing it on is small.

The most notable change is that Hidden Abilities, which previous required you to have the mother with the Hidden Ability, can now be bred without the mother having it. If the father has got the Hidden Ability, there is a small chance that the offspring will also have their Hidden Ability. -Serebii


Charge cycles increase?

Question: This is a bit weird, I've been doing everything to keep the battery health great and that's what i achieved so far. it's going through 99-100%, but the thing is.. those charging cycles thing are increasing everyday, yesterday it was 32 and today it became 36 even though the health is going well, How to keep it low ? isn't the health dedicated to those cycles ? and which is more important the health or the cycles ?
Answer: Your charge cycles increase every time you cycle through the the equivalent of a full battery charge. Mac laptops made since the "unibody" style was released use lithium polymer batteries which should retain 80% of their battery power after 1000 charges. (So if you got 7 hours out of the box, you should still be getting 5.5 hours.)
In general I wouldn't worry too much about your battery health. Lithium polymer is extremely flexible as a battery technology and Apple makes some of the best batteries in the electronics industry. The only way to really ruin the battery is to keep it plugged in 100% of the time. Unplug it at least once a month for 5-10 hours and you should be fine. With 1000 recharge cycles guaranteed Apple is expecting you to replace the system before you ever suffer issues with battery life.
Comment: Apple also updated their battery page, which is quite well written: http://www.apple.com/batteries/
Comment: so there's no way to keep it down ? thats stupid, lets say i recharge it twice a day to 100%, thats about 4 cycles a day, thats about less than a year for the battery to completely go down ?
Comment: No a cycle is only reached when you go from 0% to 100%. If you plug your laptop in to fully charge when it's at 75%, it will only count as a 1/4 charge cycle, since it was only charged the final 25% of its capacity. Make sense? The only way you can use 4 cycles a day is to fully deplete and fully charge the battery 4 times, which is next to impossible with how great the batteries are.

Charge cycles increase?


Why pray what does it do?

Question: Is prayer just saying things that I believe? Or so others feel good? I need to know the importance of prayer. It is not clear to me in Scripture.
Comment: Please see the Tour and the Help (below, bottom left) as to the purpose and the functioning of this _hermeneutic_ site, especially as regards raising biblical topics for discussion , which is off-topic as we cannot practice hermeneutic analysis if there is no text introduced in question for us to analyse.
Comment: Prayer is as mysterious as God Himself.  Accept that we are instructed to pray!
Answer: Simply put, Prayer is you talking to God. Whether by you thanking Him, Praising Him, asking help of Him for yourself or others or just saying anything, like any concerns you have or just sharing your feelings or thoughts. Eph 6:18 Phil 4:6
Answer: In my oppinion there are fundamentally 2 elements is a prayer: questions and statements.
Therefore, what a prayer does is: ask things and state things.
The further effects of these questions and statements depend on a lot of things like who, what and how.
Answer: "Prayer" | Tefillah (תפילה) derives from "Evaluate" | Pallel (פלל).

פלל - to invoke a judge. [Klein Dictionary, Carta Jerusalem; 1st edition, 1987]

By self-evaluating, we either : [#1] respectfully acknowledge the Source of our benefits [Tehillim 121/Devarim 6:4];  [#2] humbly acknowledge the need to improve our kindness and truth [Mishlei 16:6].
Answer: Prayer is a way of keeping yourself connected to God; another, accompanying way is a contemplation of divine truth, but this contemplation is also contributive to a deeper prayer for more divine things. For instance, a sportsman can pray for a victory in a tournament, but a philosopher can pray that such a transient thing as sports glory may not creep into his heart and mind as an object of desire.
Also prayers can influence others: for instance, one can pray for health of others and if God wills it, He will grant it.

Why pray what does it do?


How to project vector onto a plane but not along plane normal?

Question: In 3d space, is there any way to project a vector onto a plane, but along the UP direction (0,1,0) instead of the plane normal? If so, how do I do that and what is it called?
Comment: I am not sure what do you mean by up direction. But in general, projection of a vector on a plane can be found by the vector minus its projection on the normal.
Comment: @Benjamin_Gal I mean that instead of using the plane normal to project the vector onto the plane, you would use another vector (the up vector in this case). The resulting vector would have a different direction and magnitude as well.
Answer: If I understand you correctly, you want to take an arbitrary vector $\vec{v}$ and decompose it as $\vec{v} = \vec{w} + \alpha \vec{u}$, where $\vec{w}$ lies in some plane with normal $\vec{n}$ (i.e., $\vec{w} \cdot \vec{n} = 0$), and $\vec{u}$ is a known vector, not necessarily equal to $\vec{n}$.
Since by assumption we have $\vec{v} = \vec{w} + \alpha \vec{u}$ and $\vec{w} \cdot \vec{n} = 0$, taking the dot product of both sides with $\vec{n}$ yields
$$
\vec{v} \cdot \vec{n} = \alpha \vec{u} \cdot \vec{n} \quad \Rightarrow \quad \alpha = \frac{\vec{v} \cdot \vec{n}}{\vec{u} \cdot \vec{n}}.
$$
This then implies that the desired vector $\vec{w}$ will be
$$
\boxed{\vec{w} = \vec{v} - \left(\frac{\vec{v} \cdot \vec{n}}{\vec{u} \cdot \vec{n}} \right)\vec{u}.}
$$
Note that in the case where $\vec{u} = \vec{n}$, this reduces to the standard orthogonal projection equation.  Note also that in the case where $\vec{u}\cdot\vec{n} = 0$, this equation doesn't make any sense;  this corresponds to the case where you're projecting along an axis lying parallel to the chosen plane, and so the desired vector $\vec{w}$ will not exist unless $\vec{v}$ already lies in that plane.
Comment: Exactly what I was looking for, thanks!
Answer: A picture would help, but this is what I think you are asking. Given the plane $ax+by+cz = d$ and the point $(p,q,r)$, you want to move the point in the direction $(0,1,0)$  until it meets the plane.
Well that move will change only the value of $q$, To find the new value, solve
$$
ap + b? + cr = d
$$
for the value of $?$.
There will be no solution if $(0,1,0)$ is parallel to the plane (unless the point is in the plane to begin with).
In more generality, you are asking for the intersection of a line (through a given point in a given direction) with a plane.


Does taking $\nabla\times$ infinity times from an arbitrary vector exists?

Question: Is it possible to get the value of:
\begin{equation}
\underbrace{\left[\nabla\times\left[\nabla\times\left[\ldots\nabla\times\right.\right.\right.}_{\infty\text{-times taking curl operator}}\mathbf{V}\left.\left.\left.\right]\right]\ldots\right] = ?
\end{equation}
For any possible values of vector $\mathbf{V}$.
Comment: Here is a paper that studies the eigenvalue problem $\nabla \times V = \lambda V$ on the ball, http://www.math.upenn.edu/~deturck/papers/sphsymm.pdf
Comment: How do you mean the $\times$ operation? If it is vectorial product, how is it parenthesized?
Comment: It seems a very strange question to ask. Why are you interested in this? Is it only idle curiosity, or do you have some application in mind?
Comment: @HaraldHanche-Olsen: That's now more looks like a curiosity, but based on the ideas of other vector relations: $\nabla\times(\nabla\phi) = 0$, $\nabla\cdot(\nabla\times\mathbf{A}) = 0$. So!, I think that this "relation" have some mathematical or physical meaning, but I have no idea from what point to start.
Comment: @Berci: I've edited the question. I think now it's more understandable.
Answer: For a general vector field $\mathbf{V}$, this sequence need not converge.  Consider for example $\mathbf{V} = (e^{x-y}, e^{x-y}, 0)$.  We have $\nabla \times \mathbf{V} = \mathbf{W} = (0,0,2 e^{x-y})$, and $\nabla \times \mathbf{W} = -2 \mathbf{V}$, and the cycle then repeats with a factor of $-2$.
It's worth noting that this operation is "unnatural" from the point of view of differential forms; curl is really the $d$ operator taking 1-forms to 2-forms; it's just that in $\mathbb{R}^3$, both 1-forms and 2-forms can be viewed as vector fields.  But the result of the curl operator is a 2-form, which is not something that it makes sense to take the curl of.  The other relations you cite in your comment don't suffer from this problem: grad takes 0-forms to 1-forms (so curl grad makes sense) and div takes 2-forms to 3-forms (so div curl makes sense), and they are both special cases of the fact that $d^2 = 0$.
Comment: You can also think of curl as the $d^*$ operator taking 2-forms to 1-forms, so from a Hodge-theoretic standpoint this isn't *that* unnatural (though iterating curl an odd number of times is distinctly different from doing it an even number of times).
Comment: And what is the n-forms and what is $d^2 = 0$?
Answer: The identity
$$
\nabla \times (\nabla \times \mathbf{A})=\nabla(\nabla \cdot \mathbf{A})-\nabla^2 \mathbf{A}
$$
is standard (where $\nabla^2$ denotes the component-wise Laplacian). Applying it repeatedly to $\nabla \times \mathbf{A}$ and using the fact that $\nabla \times (\nabla f)$ vanishes, we can see inductively that
$$
(\nabla \times)^{2n+1}\mathbf{A}=(-1)^n\nabla \times (\nabla^2)^n \mathbf{A} \, .
$$
So, when there's any hope of your thing converging, it'll be because the iterations of $-\nabla^2$ converge component-wise. Roughly speaking, this will happen when the Fourier transforms of your components are supported within some appropriate sphere, but getting the details right could be tricky (especially in cases where it includes some piece of the sphere's boundary).
A little more precisely, the equivalent of $-\nabla^2$ in the frequency domain is multiplication by $4\pi^2|\xi|^2$, so if $\operatorname{supp} \hat f \subset \{|\xi|<1/(2\pi)\}$ everything will converge to $0$. If $\operatorname{supp} \hat f \subset \{|\xi|\leq 1/(2\pi)\}$ everything should still converge; if $\hat f$ is a distribution with positive mass on the boundary of the sphere it should converge to that, but the analysis is icky enough that I don't want to say anything too definite...
You then have to worry about the even iterates, which you can get by replacing $\mathbf{A}$ with $\nabla \times\mathbf{A}$ everywhere in the above identity; there's no real reason why the even and odd iterates ought to have much to do with each other. On the other hand, in the nice case everything will converge to $0$ anyway, so this won't really matter.
Comment: Nice answer, induction had not occurred to me at all. Pretty.
Answer: Two applications of $\nabla$ yield $\nabla \times (\nabla \times F) = -\nabla^2 F + \nabla(\nabla \cdot F)$. Why? Well, setting $F = \sum_i F_i e_i$ where $e_i$ is the standard cartesian frame of $\mathbb{R}^3$ allows the formula:
$$ (\nabla \times F)_k = \sum_{ij} \epsilon_{ijk} \partial_i F_j $$
Curling once more,
$$ [\nabla \times (\nabla \times F)]_m = \sum_{kl}\epsilon_{klm}\partial_k\sum_{ij} \epsilon_{ijl} \partial_i F_j $$
But, the antismmetric symbol is constant and we can write this as
$$ [\nabla \times (\nabla \times F)]_m = \sum_{ijkl}\epsilon_{klm}\epsilon_{ijl} \partial_k \partial_i F_j $$
A beautiful identity states:
$$ \sum_{l}\epsilon_{klm}\epsilon_{ijl} = -\sum_{l}\epsilon_{kml}\epsilon_{ijl} =
-\delta_{ki}\delta_{mj}+\delta_{kj}\delta_{mi}$$
Hence,
$$ [\nabla \times (\nabla \times F)]_m = \sum_{ijk}(-\delta_{ki}\delta_{mj}+\delta_{kj}\delta_{mi}) \partial_k \partial_i F_j = \sum_i [-\partial_i^2F_m+\partial_m(\partial_iF_i)]$$
and the claim follows since $m$ is arbitrary. Now, let's try for 3:
$$ \nabla \times (\nabla \times (\nabla \times F)) = \nabla \times \bigl[-\nabla^2 F + \nabla(\nabla \cdot F)\bigr] =\nabla \times (-\nabla^2 F)$$
I used the curl of a gradient is zero. This need not be trivial, take $F = <x^2z,0,0>$ as an example. I suppose I could have shot for a four-folded curl by doubly applying the identity.
$$ \nabla \times (\nabla \times (\nabla \times (\nabla \times F))) =?$$
Set $G = -\nabla^2 F $ since we know the gradient term vanishes,
$$ \nabla \times (\nabla \times G) = -\nabla^2 G + \nabla \cdot G = \nabla^2(\nabla^2 F)-\nabla [\nabla \cdot (\nabla^2 F)]$$
So, there's the four-folded curl. Well, I see no reason this terminates. I guess you can give it a name. I propose we call (ordered as the edit indicates) $ \nabla \times \nabla \times \cdots \times \nabla = \top$


Robust face detection

Question: FindFaces doesn't work when people are far away from the camera. I'm looking for a single accurate method of detecting one or more people in an images, at all scales.
Comment: `ImageCases` will be upgraded in v12 apparently. I asked in one of the livestreams, and apparently it uses some variant of YOLO under the hood, so I wouldn't necessarily expect major gains if it doesn't currently work for you.
Comment: It was me who downvoted and I won't explain myself because you are not a newbie. Anyway: [Object detection and localization using neural network](https://mathematica.stackexchange.com/q/141598/5478), don't know if it works 'accurately at all scales'.
Comment: No worries, I think this is a good question to have asked separately because human detection is super important and pedestrian accuracy is still not great in the old yolo v2 net in the answer that you linked. I guess I will compare using that older netmodel vs undocumented ImageCases.
Answer: In version 12, functions such as ImageCases and ImageBoundingBoxes exist that will do this job better than FindFaces. I'm pretty certain it is using YOLO under the hood - I'm not sure any other network makes sense.
Anyway, here is how you use it:
i = Import["http://img.burrard-lucas.com/nepal/full/bhaktapur_street_scene.jpg"];
ImageBoundingBoxes[i, Entity["Concept", "Person::93r37"], AcceptanceThreshold -> .2] // HighlightImage[i, #]&

This will at least do a better job than FindFaces would (not least because not everybody is facing the camera at all times ;) )
In pre-12 versions, you can create this functionality yourself using the YOLO v2 network directly.

Robust face detection


Team foul but not a personal foul

Question: When are team fouls not person fouls? Is it correct that offensive fouls are not considered personal? Are there are other such fouls? Also is if you have one technical and one flagrant 1 is that an ejection?
Answer: In the NBA, an offensive foul is a personal foul but not a team foul.  It also may not lead to free throws for the other team.
There is no rule that combines a flagrant 1 and a technical foul.  The reasoning is that the NBA has a technical foul and a personal foul.  Flagrant fouls are part of the personal fouls, and technical fouls are their own definition.
NBA Rule 12
I am not familiar with the other levels of basketball, but I would imagine they are similar.
Answer: According to wikipedia offensive fouls are personal fouls.

A personal foul against a player of the team in possession of the ball
  is called an offensive foul.

What I understand from the article is that a team foul relates to the foul count against a team;

A team foul is any foul by reference to the count against a given team.

Regarding ejections;

The NBA and NCAA define a Flagrant-1 foul as unnecessary contact, and
  two such penalties leads to ejection of the player. A Flagrant-2 foul
  is contact that is both unnecessary and excessive, and requires
  ejection.

Nowhere in the rules does it state that 1 technical and 1 flagrant-1 foul will lead to an ejection (instead you need two of them). As I understand it you can commit 1 of each without facing an ejection.
Comment: I understand 2 flagrant-1 fouls is an ejection. My question is whether one flagrant-1 foul and one technical foul constitutes an ejection. i.e. can a player with a flagrant-1 and one technical continue to play.
Comment: Ok I added that to the answer, as far as I can tell there is no rule about that. You can commit 1 of each without facing an ejection.

Team foul but not a personal foul


How do context switches factor into CPU utilization?

Question: When studying operation systems, is context switch time included in CPU utilization time? For example, if 5 percent of CPU time is wasted to context switching, is CPU utilization 95 percent?
Answer: What is measured as "CPU utilization" is (time CPU working) / (total time). The overheads (like context switches) are part of the (time CPU working). So you might have 50% CPU utilization, of which 5% is context switch time.


Maximum likelihood estimators for means of independent normal random variables where means depends on a parameter matrix

Question: Suppose there are three different normally distributed random variables, $x_1$,...,$x_n$~$N(\mu_1 ,\sigma)$,  $y_1$,...,$y_n$~$N(\mu_2 ,\sigma)$ and $z_1$,...,$z_n$~$N(\mu_3 ,\sigma)$. Here, $\mu_i$'s are related as,
$\mu = {\{a_ib_j}\}\zeta$ where $i,j = 1,2,3$ and ${\{a_ib_j}\}$ is a $3\times3$ matrix. $\mu={\{\mu_1, \mu_2,\mu_3}\}$ and $\zeta ={\{\zeta_1, \zeta_2,\zeta_3}\}$ is a vector of some values. In other words,for example, $\mu_1 = a_1(b_1\zeta_1+b_2\zeta_2+b_3\zeta_3)$. I want to know how to estimate $\mu_1, \mu_2,\mu_3$; which means, how to estimate ${\{a_ib_j}\}$ matrix using maximum likelihood method for a given $\zeta$. Appreciate your comments. I prefer to use R optim() to estimate MLE.
Comment: Quick comment: What do you mean by saying $\mu_i = \{a_ib_j\} \zeta_i$? The left hand side only depends on $i$ but the right hand side depends on $i$ and $j$. Which $j$ to take for $\mu_1$ for example? What do the brackets '$\{$' and '$\}$' mean? Are they just fancy style of is there some formula behind them?
Comment: @Fabian Werner, I am sorry for my mistake in the explanation. It means, for example, the first row of the matrix takes the form $a_1b_1$ $a_1b_2$ $a_1b_3$. $j$ also varies from 1 to 3.
Comment: still confused: how exactly is $\mu_1$ determined then? Product? Sum? ... ?
Comment: Your notation is still unclear -- it's not standard matrix notation. Do you mean that $\mu_1=a_1(b_1\zeta_1+b_2\zeta_2+b_3\zeta_3)$? Or something else?
Comment: @GordonSmyth, Yes, you are correct, I have done a silly mistakes there. It should be $\mu_1 = a_1(b_1\zeta_1+b_2\zeta_2+b_3\zeta_3)$. In other words, $\zeta = (\zeta_1, \zeta_2,\zeta_3)$
Answer: This problem would seem to have a simple solution, or a number of simple solutions.
The unconstrained MLEs of the $\mu_i$ are simply $\hat\mu_1=\bar x$, $\hat\mu_2=\bar y$ and $\hat\mu_3=\bar z$.
You can easily choose the $a_i$ and $b_j$ in such a way as to achieve these estimators.
You can choose the $b_j$ in any way such that $c=b_1\zeta_1+b_2\zeta_2+b_3\zeta_3$ is non-zero.
For example, you could set $b=\zeta$.
Then set $a_1=\bar x / c$, $a_2=\bar y / c$ and $a_3=\bar z / c$. This will ensure that you have $\hat\mu_1=\bar x$, $\hat\mu_2=\bar y$ and $\hat\mu_3=\bar z$.
Since these are the unconstrained MLE, and they are achievable by your parametric model, then they must also be the constrained MLE.
There is no need to use a non-linear optimization routine such as optim().
Indeed such an approach would not work because the solution does not identify unique values for $a$ and $b$.


Giorgio - Script Font Identification

Question:
Can anyone help me find this script font? I have googled or use 4 or more font identfiers already, couldn't find, very urgent.
Comment: Welcome to **GD.SE** - *Please* look through **[tour]** to get a sense of our community – who we are and what we're about. *Then* look over **[ask]** and **[answer]** a question to see what makes a good query here, *and* how best to frame it. We have some requirements http://meta.graphicdesign.stackexchange.com/a/2366 for font identification questions, please take a look and edit your question to meet those guidelines - thanks!
Comment: Although I believe the answer given is correct, a word of advice: you have done a good job of separating the letters in the script, but for identification sites/software to work there has to be sufficient separation for a bounding box around each character not to include any of the next. That is, there must be space for a vertical line between each character. In your image, every character overlaps its neighbours, and that will cause difficulty with automated recognition.
Answer: It's not a font, the difference between the same characters is too small to be an alternative glyph design and too different to be the same character of a font.
Check the two "i" and "o".

The hardness of the stroke suggests that these are characters made manually, scanned, traced and mounted in a vector drawing program.

Giorgio - Script Font Identification


How to reference the current or main activity from another class

Question: I often find myself needing to access methods that require referencing some activity. For example, to use getWindowManager, I need to access some Activity. But often my code for using these methods is in some other class that has no reference to an activity. Up until now, I've either stored a reference to the main activity or passed the context of some activity to the class. Is there some better way to do this?
Comment: My personal opinion is that it sucks that Google hasn't made a simple API method to access the currently active activity regardless where you are in code. After all, Android knows what it is and keeps track of it. Why not be nice to the rest of us poor boys and let us in on it :-(
Comment: +1 This is a great question! This is a problem that lots of developers have: How do I figure out what the currently running (or "top") Activity is?
Comment: if you need some methods through out of all of your activities which do simply the same, wouldn't it be better to create an abstract class which implements all these methods and let your activities derive from it? or do I get you wrong?
Comment: herom, you shouldn't have to bother creating anything. If Android knows what the current activity is, it should make a reference to it easily available.
Comment: sorry for the (maybe stupid) question, but I can't think of a situation where I would need this. could you give me a hint, or describe a situation of yours where you need this (just for clearing things, so I can understand what you want to do)? thanks in advance!
Comment: Please @AndroidDev mark my answer as the correct answer
Comment: @herom , it is required to access the currently active context so that you can do some processing or calculation based on the currently displaying context.
Answer: If you already have a valid context, just use this:
Activity activity = (Activity) context;
Comment: Unless the context happens to be the application, in which case that will cause a ClassCastException.
Comment: Yes, it doesn't always work, you have to be sure that what you are casting is effectively an Activity or you'll have a ClassCastException. To do that you can do "if(context instanceOf Activity){ // proceed to cast }"
Comment: @AleMuzzi   you saved my time .Thanks +1  vote for u
Comment: @AndroidDev please consider mark this answer as correct
Answer: Passing context is better way for refrence Activity.
You can pass Context to another class.
IN Activity ::
AnotherClass Obj  = new AnotherClass(this);

IN Another Class
class AnotherClass{

public AnotherClass(Context Context){

    }

}

Comment: Please explain why is this a better way?
Comment: But if there are several activities loaded only one of them will be active at any moment, so I suspect that there is a method to access whatever the current activity is without having to pass around a context.
Answer: You can implement the necessary methods in your activity and implement a Handler. Then, simply pass a handler instance to your classes, where you can obtain a message for handler and send it to target.
Comment: If I'm going to do that, I might just as well pass the context of the activity to the class.
Answer: You can make you application instance a singleton, and use it when you need a Context
An example is in this question:
Android Application as Singleton
This way, when you need a Context, you can get it with
Context context = MyApplication.getInstance()
This might not be the cleanest solution, but it has worked well for me so far
Comment: Would never work if I was writing the classes and gave them to someone else who could not use a Singleton.
Answer: I'm new to android so my suggestion may look guffy but what if you'll just create a reference to your activity as private property and assign that in OnCreate method? You can even create your CustomActivity with OnCreate like that and derive all your activities from your CustomActivity, not the generic Activity provided by android.
class blah extends Activity{
  private Activity activityReference;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        activityReference = this;
    }

}

after that you could use that the way you want, i.e. in
Intent i = new Intent(activityReference, SomeOtherActivity.class)

etc
Answer: I found a way to get the Activity to a non-activity class that I have not seen discussed in forums. This was after numerous failed attempts at using getApplicationContext() and of passing the context in as a parameter to constructors, none of which gave Activity. I saw that my adapters were casting the incoming context to Activity so I made the same cast to my non-activity class constructors:
public class HandleDropdown extends Application{
...
    public Activity activity;
...
public HandleDropdown() {
    super();
}
public HandleDropdown(Activity context) {
    this.activity = context;
    this.context = context;
}
public void DropList(View v,Activity context) {
    this.activity = context;
    this.context = context;
...
}

After doing this cast conversion of Context to Activity I could use this.activity wherever I needed an Activity context.
Answer: There are many ways for Activities communication.
you can use:

the startActivityForResult method
a system of broadcast message and receiver (you can broadcast an event from the actual activity, and register a receiver in the target activity. Remember that the target activity must be previously initialized and non finished)
as you say, store a reference of the target activity wherever you need.
Answer: We built a framework for this. We have a BaseActivity class that inherits from Activity and it overrides all the lifecycle methods and has some static (class) variables that keep track of the activity stack. If anything wants to know what the current activity is, it just calls a static method in BaseActivity that returns the activity on top of our privately-managed stack.
It is kinda hacky, but it works. I'm not sure I would recommend it though.
Answer: public static Activity getLaunchActivity()
{
    final Class<?> activityThreadClass = Class.forName("android.app.ActivityThread");

    final Method methodApp = activityThreadClass.getMethod("currentApplication");
    Application App = (Application) methodApp.invoke(null, (Object[]) null);
    Intent launcherIntent = App.getPackageManager().getLaunchIntentForPackage(App.getPackageName());
    ActivityInfo launchActivityInfo = launcherIntent.resolveActivityInfo(App.getPackageManager(), 0);
    Class<?> clazz;
    try
    {
        clazz = Class.forName(launchActivityInfo.name);
        if(clazz != null)
            return Activity.class.cast(clazz.newInstance());
    }
    catch (Exception e)
    {}

    return null;
}

Comment: Please add some explanation of what your code is doing.
Answer: Handle the Intent in the class you want to do these methods, and send your information to it in a Bundle like so:
    Intent i = new Intent("android.intent.action.MAIN");
    i.setComponent(new ComponentName("com.my.pkg","com.my.pkg.myActivity"));
    Bundle data = new Bundle();

    i.putExtras(data);

    startActivityForResult(i);

Then use an OnActivityResultListener to grab the new data.
Comment: No, that is not what I am looking for. All I want is a reference to whatever the current activity is, or the main one. You can have a class call a class and go quite deep. There should not be a need to pass a context to each class.
Answer: I solved this by making a singleton class has an instance of the class below as a member.
public class InterActivityReferrer <T> {
    HashMap<Integer, T> map;
    ArrayList<Integer> reserve;

    public InterActivityReferrer() {
        map = new HashMap<>();
        reserve = new ArrayList<>();
    }

    public synchronized int attach(T obj) {
        int id;
        if (reserve.isEmpty()) {
            id = reserve.size();
        }
        else {
            id = reserve.remove(reserve.size() - 1);
        }

        map.put(id, obj);
        return id;
    }

    public synchronized T get(int id) {
        return map.get(id);
    }

    public synchronized T detach(int id) {
        T obj = map.remove(id);
        if (obj != null) reserve.add(id);
        return obj;
    }
}

This class can get a T object and return a unique integer assigned to the object by attach(). Assigned integers will not collide with each other unless HashMap fails. Each assigned integer will be freed when its corresponding object is detached by detach(). Freed integers will be reused when a new object is attached.
And from a singleton class:
public class SomeSingleton {
    ...
    private InterActivityReferrer<Activity> referrer = new InterActivityReferrer<>();
    ...
    public InterActivityReferrer<Activity> getReferrer() {return referrer;}
}

And from an activity that needs to be referred:
    ...
    int activityID = SomeSingleton.getInstance().getReferrer().attach(this);
    ...

Now with this, a unique integer corresponding to this activity instance is returned. And an integer can be delivered into another starting activity by using Intent and putExtra().
    ...
    Intent i = new Intent(this, AnotherActivity.class);
    i.putExtra("thisActivityID", activityID);
    startActivityForResult(i, SOME_INTEGER);
    ...

And from the another activity:
    ...
    id refereeID = getIntent().getIntExtra("thisActivityID", -1);
    Activity referredActivity = SomeSingleton.getInstance().getReferrer().get(refereeID);
    ...

And finally the activity can be referred. And InterActivityReferrer can be used for any other class.
I hope this helps.
Answer: Just a guess since I haven't done this but it might work.
1) Get your applicationContext by making your Android Application class a Singleton.
2) Get your ActivityManager class from the context.
3) Get a list of RunningTaskInfos using getRunningTasks() on the ActivityManager.
4) Get the first RunningTaskInfo element from the list which should be the most recent task launched.
5) Call topActivity on that RunningTaskInfo which should return you the top activity on the activity stack for that task.
Now, this seems like a LOT more work than any of the other methods mentioned here, but you can probably encapsulate this in a static class and just call it whenever. It seems like it might be the only way to get the top activity on the stack without adding references to the activities.
Comment: I didnät give you the downvote, but...one of the problems with this technique is that you need permissions to getRunningTasks() and that scares a lot of users.
Comment: @DavidWasser That is true, I don't recommend this approach, but I posted it more to show what kind of work you would need to go through to get the currently running activity off the stack without a reference.


De-ionized water

Question: Is de-ionized water more corrosive to metals than tap water? I have read that it "wants" the removed ions back and will aggressively take them from any available source.
Comment: Where did you read this claim?
Comment: santiago asks where I read this claim? Two places-Wikipedia-Purified water-reference 19 "Health risks from drinking DI water" Kozisek,F. (2005), and overclockers.com/pc-water-coolant-chemistry-parts 1 and 2.
Answer: The Wikipedia article merely states that sole consumption of purified water may deplete some electrolytes through normal excretion and lack of replacement,  not that it somehow "wants" the minerals.
As a matter of fact, pure, deionized water is much less corrosive to metals and is often used in closed systems to prevent corrosion because it helps prevent galvanic (electrolytic) corrosion.
Automotive coolant antifreeze contains specific corrosion inhibitors safe for aluminum and iron parts, but if water needs to be added, it should be distilled water, to prevent galvanic corrosion.
People living in northern climates often encounter corrosion of vehicles due to road salt, and learn to wash vehicles with tap water to remove the salt (high-purity or distilled water would be better, but not cost effective).
Comment: Deionized and distilled water are two very different things. Deionized is much less corrosive than distilled water, since deionized still contains many solute species, just not easy-to-ionize ones like sodium.
Comment: True... but for the purpose of removing road salt, either would work, but would be too expensive to be practical  (unless for washing a cincours d'elegance vehicle).

De-ionized water


Back propagation in Convolutional neural networks

Question: I am trying to understand how CNN works. I want to use them in object recognition task. I thouhgt that CNN is unsupervised networks. My main question is how can I implement the back propagation without using image targets (pre-defined labels), in order to calculate the error function which will affect the weights of the network.
Comment: I would like to see an answer for this question =)
Answer: The derivation involves considerations for the fact that CNNs use weight sharing as opposed to feed-forward networks. During both forward and back-propagation you will use convolutions where the weights and the activations will be the functions in the convolution equation.
The pooling layers do not do any learning themselves. Their function is to progressively reduce the spatial size of the representation to reduce the amount of parameters and computation in the network.
During forward propagation, a P by P pooling block is reduced to a single value i.e. value of the "winning unit". To keep track of the "winning unit" its index noted during the forward pass and used for gradient routing during backpropagation.
During backpropagation, the gradients in the convolutional layers are calculated and the backward pass to the pooling layer then involves assigning the "winning unit" the gradient value from the convolutional layer as the index was noted prior during the forward pass.
Gradient routing is done in the following ways:
Max-pooling - the error is just assigned to where it comes from - the "winning unit" because other units in the previous layer's pooling blocks did not contribute to it hence all the other assigned values of zero
Average pooling - the error is multiplied by 1 / (P by P) and assigned to the whole pooling block (all units get this same value).
Read a more comprehensive breakdown on the whole backpropagation procedure here
Answer: CNN are typically supervised.  So you need training data, and you forward propagate the training images through the network, then back propagate the training labels, to update the weights.
There are unsupervised neural networks, for example Geoffrey Hinton's stacked boltmann machines, creating deep belief networks.  You can also stack auto-encoders, which can also perform unsupervised learning.
In both cases, the goal of the unsupervised learning is that the result of forward propagation followed by backward propagation is the original image.
Comment: Not a bad answer, but Boltzmann machines don't do any "backpropagation" at all; they use contrastive divergence.  Autoencoders explicitly use the source image as the target:  the goal is for forward propagation (alone) to reproduce the original image; backpropagation propagates the error gradients to correct prediction error.
Comment: Boltzmann machine's propagate 1s and 0s randomly, according to the probabilities of their weights, in both directions, forwards and backwards.  If you define backward propagation to mean propagating loss gradients, then, by your definition, boltzmann machines dont do that.
Comment: That's usually what people mean by "backpropagation": https://en.wikipedia.org/wiki/Backpropagation
Comment: Hmmm, fair enough :-)
Answer: Backpropagation is basically a clever way of expressing and calculating the gradient of a cost function, which depends on known target labels and its corresponding inputs. That is the original formulation of CNNs. They are step beyond traditional MLPs, where features are not designed, but automatically learned from data, so that the recognition rate is maximized (with respect to known labels).
If I understood you question properly, I would reformulate it like: is it possible to train a discriminative model without labels (just data, or partially labelled data?).
What I networks does is defined by the loss (or energy) function it minimizes. What sort of gradient based optimization technique you apply, depends on that energy function. This topic is analyzed in detail in the following references:

Loss Functions for Discriminative Training of Energy-Based Models
A Tutorial on Energy-Based Learning


News webpart with comments

Question: I'm willing to add a News app that would allow users to comment it when they click on it. But i don't know where to begin or what do i have to search for to get this. I've read somwhere you need an annoucment list for that. But i don't where the user can comment on this. Can you help me please? I'm not search for newsfeed thing tho
Answer: Let's assume your news articles are Article Pages in a Pages library. SharePoint has a default column, ID that you can use to uniquely identify each item in the library.
Build a custom list with the columns required for your Comment system, and add an extra column, ArticleID. Each comment item will be 'related' to an existing article's ID. Each item should be written to the list with the relevant article's ID value in the ArticleID column of Comments list.
That's how simple the logic can be: next you need to build you front-end, which will allow the comment to be input and write the relevant value in the ArticleID field - your users shouldn't be required to worry about inputting the ID
Depending on your approach to development of the front-end, depends how you'll write to and read from the lists.
If you have any experience with JavaScript you could make use of SPServices for this; you can post items to the Comments list with ajax and update the view of comments on the page.
I hope it helpss

News webpart with comments


How to use python OpenCV to find largest connected component in a single channel image that matches a specific value?

Question: So I have a single channel image that is mostly 0s (background), and some values for foreground pixels like 20, 21, 22.  The nonzero foreground pixels are mostly clustered together with other foreground pixels with the same value.  However, there is some noise in the image.  To get rid of the noise, I want to use connected components analysis, and for each value (in this case 20, 21, 22), zero out everything but the largest connected component.  So in the end, I will have 3 large connected components and no noise.  How would I use cv2.connectedComponentsWithStats to accomplish this?  It seems poorly documented and even after looking at this post, I don't fully understand how to parse the return value of the function.  Is there a way to specify to the function that I only want connected components matching a specific greyscale value?
Comment: What about just masking out the given intensity and running the analysis on that?
Comment: So you mean that there might be many distinct regions with values of 20, but you only want the largest of them for each value?
Comment: Can you add some example input image, please?
Answer: Here's the general approach:

Create a new blank image to add the components into
Loop through each distinct non-zero value in your image
Create a mask for each value (giving the multiple blobs per value)
Run connectedComponentsWithStats() on the mask
Find the non-zero label corresponding to the largest area
Create a mask with the largest label and insert the value into the new image at the masked positions

The annoying thing here is step 5, because the value of 0 will usually, but not always be the largest component. So we need to get the largest non-zero component by area.
Here's some code which I think achieves everything (some sample images would be nice to be sure):
import cv2
import numpy as np

img = np.array([
    [1, 0, 1, 1, 2],
    [1, 0, 1, 1, 2],
    [1, 0, 1, 1, 2],
    [1, 0, 1, 1, 2],
    [1, 0, 1, 1, 2]], dtype=np.uint8)

new_img = np.zeros_like(img)                                        # step 1
for val in np.unique(img)[1:]:                                      # step 2
    mask = np.uint8(img == val)                                     # step 3
    labels, stats = cv2.connectedComponentsWithStats(mask, 4)[1:3]  # step 4
    largest_label = 1 + np.argmax(stats[1:, cv2.CC_STAT_AREA])      # step 5
    new_img[labels == largest_label] = val                          # step 6

print(new_img)

Showing the desired output:
[[0 0 1 1 2]
 [0 0 1 1 2]
 [0 0 1 1 2]
 [0 0 1 1 2]
 [0 0 1 1 2]]

To go through the code, first we create the new labeled image, unimaginatively called new_img, filled with zeros to be populated later by the correct label. Then, np.unique() finds the unique values in the image, and I'm taking everything except the first value; note that np.unique() returns a sorted array, so 0 will be the first value and we don't need to find components of zero. For each unique val, create a mask populated with 0s and 1s, and run connected components on this mask. This will label each distinct region with a different label. Then we can grab the largest non-zero labeled component**, create a mask for it, and add that val into the new image at that place.
** This is the annoying bit that looks weird in the code.
largest_label = 1 + np.argmax(stats[1:, cv2.CC_STAT_AREA])

First, you can check out the answer you linked for the shape of the stats array, but each row corresponds to a label (so the label 0 will correspond to the first row, etc), and the column is defined by the integer cv2.CC_STAT_AREA (which is just 4). We'll need to make sure we're looking at the largest non-zero label, so I'm only looking at rows past the first one. Then, grab the index corresponding to the largest area. Since we shaved the zero row off, the index now corresponds to label-1, so add 1 to get the correct label. Then we can mask as usual and insert the value.
Comment: Thanks for the thorough explanation.  I really appreciate it.  I still had one question.  In this case, shouldn't stats always have just 2 rows, since the mask only has 2 labels (0 and val)? in that case, is there a problem with just accessing row 1 directly using `[1]` rather than `[1:]`?  Or am I misunderstanding the use of the term "label" with regards to the connected components stats?
Comment: @Terry Martin you're misunderstanding the label. Connected components labels each component with a...label. If the blobs are separate, they are a different component. So even like a 3x3 image with 1s on the left and right and 0s in the middle, a connected component of that image would have them 1s on the left, 0s in the middle, 2s on the right. Each connected component gets a new label, and that's how components of the same color are distinguished.


Are "What software should I use to..."-questions accepted?

Question: Sometimes, people want to do something specific in their music that is not their specialty. Like a guitarist who wants to record drums, synth, etc...
For example: "What can I use to record virtual drums?",
"What can I use to make choir for my track?".
Are question about such topics accepted?
Answer: In general, we prefer the format "How can I do X?".  If your question is about something that's obviously going to require software, it doesn't make too much of a difference whether you ask directly for software or follow the format above, although the latter may be better received.
What we do want to avoid is poll or popularity questions.  Answers should be complete and tell you how to solve your problem, not be a one-liner with a link to some software.  We also don't want a huge number of answers all pointing to different software.  So your job as an asker is to elicit those more thorough and useful answers.  If you want to do something basic, it's better just to do some research and try something out.  If you're having trouble with particular software or can't easily find something that fits your needs then asking about that here would be great!
Answer: I think a question like this would be more fit on the Software Recommendations site; but, if well written, it might fit here as well. Usually recomendations are frowned upon on the SE Q&A Sites (except for the above mentioned site), but there have been exceptions.
Take a look at this meta thread:

Defining Music
Software


How do you put one player on a team and the rest on a different team at the start of a Rec Room game?

Question: I want to have a game where one person gets randomly selected to go against all the other players in the room, kind of like the the TF2 juggernaut gamemode. At the end of the game, I want to pick a different person to be the "juggernaut" in the next round.
Answer: During the Pre game use a signal from the pre game output (blue) on the Game state chip, and it to the green input on a Combinator set to subtraction (this turns it into a -1), from the rec output on that Combinator send the signal to a team maper's red input. That team mapper needs to be set to "Set Player Team" the green input can be any team ID but lets use team 1 (blue). All that sends everyone to the same team.
Now to pick a random player from that team. There shouldn't be any gaps on the team index if you just moved everyone. Lets use the Player Event Chip to find the player count (blue output) and send that to a Combinator to ADD one to it. Now we need an RNG chip and set it to Pulse. Connect the red output from that Combinator to the blue input of the RNG chip, configure the green input to be one and the red input is either a delay from the pregame or on game start from the gamestate chip. Now this well give us a number we can use for a team index.
Use a Team Mapper chip and configure it to be Team To Player. Configure the green input to be the team you moved everyone to (so team one) and the blue input from the RNG chip's output. This gives us a Player ID, we can now send that to an other Team Mapper set to "Set Player Team". Send the Player ID from the Team to Player chip to the Set Team chip's red input and pick a team for the green input, Two is red team.
Comment: Would it be possible to get a diagram? This circuit seems simple but there are so many connections it's hard for me to follow just with the text.
Answer: The best way to do this is have all players start on Team 1 (can be done by putting a -1 and a 1 into a team mapper chip configured to set players team, with the -1 going into the red pin, and a 1 into the green. This will put everyone onto team 1, and only needs to be run before the start of the game.
The game chip needs to be configured so that it fills the largest team, so any player joining is automatically on team 1
To actually select the random player, you need to have a player event chip, giving the total number of players into the blue pin of an rng. Have a 0 on the green pin and send a signal to the red pin when you want to select your player. On the red output chip, wire it to a combinator set to + and configure a 1 on any other input pin. This will correct the rngs range from 0 to x-1 to 1 to x. Wire the output of the combinator to a delay chip and wire that to the index pin of a team mapper, with the team set to one. This will choose a player within team 1 for us.
Once you have done that, wire the output of the team mapper to another team mapper chip, with the output going into the player input, and the team tab configured to 2, this will set a random player to team 2.
Any questions or issues with the circuit, feel free to let me know


How to enable autologin on Lubuntu 16.04 LTS (LightDM)

Question: There are many instructions on how to enable autologin on various Ubuntu-based distros. However, I couldn't find a solution explicitly for Lubuntu 16.04 LTS with LightDM.
Answer: I found the solution in this thread about Lubuntu 16.10: Lubuntu 16.10: How to make login through greeter without typing password work

Open new configuration file with Leafpad (or your preferred editor)
sudo leafpad /etc/lightdm/lightdm.conf.d/10-autologin.conf

Paste the following lines
[Seat:*]
autologin-guest = false
autologin-user = yourusername
autologin-user-timeout = 0

[SeatDefaults]
allow-guest = false

Replace yourusername with the name of the user you want to have logged in automatically
Comment: So why are you creating this question / answer ? It is a duplicate of both question and answer ??? Also, if all else fails, `sudo nano ....` also works.
Comment: We do not write an answer for each release unless there is something specific to that release. So if the answer works for 16.04 and 16.10 , as it seems in your case, we would not write an answer for each release. Hope that is clear, but, you can always ask on meta also.
Comment: It is helpful information to know what release someone is using "just in in case". I highly suggest you ask for guidance on meta to get community input rather then in comments here. https://meta.askubuntu.com/questions
Comment: It works for 18.04 too.  I would have said, if all else fails, use vi ...  You may not always get leafpad or nano or any other editor that is the flavour of the month or the flavour of the distribution, but you will almost always get vi.


How does SystemMaxUse on journalctl work?

Question: I'm using journalctl for system logging. I want to have a log file to check what is happening with the process I'm running at anytime.
So I'm configuring the journald.conf file like this:
[Journal]
Storage=persistent

As I don't want the log file to be too large, I added the line SystemMaxUse=4G.
I read here that journalctl only deletes archived files (if I understood correctly):

This means that if there was enough free space before and journal
  files were created, and subsequently something else causes the file
  system to fill up, journald will stop using more space, but it will
  not be removing existing files to reduce the footprint again, either.
  Also note that only archived files are deleted to reduce the space
  occupied by journal files. This means that, in effect, there might
  still be more space used than SystemMaxUse= or RuntimeMaxUse= limit
  after a vacuuming operation is complete.

So, in that case would journalctl delete older records first from the file where I'm logging? If not, do you know other options I have for freeing the oldest records space in order to accept new records?
Answer: As mention on the documentation,

RuntimeMaxUse/RuntimeKeepFree control usage of /run/log/journal
SystemMaxUse/SystemKeepFree control usage of /var/log/journal

At least this is in theory. In practice this might be relative.


Why do different chains have different network addresses in Gnosis Safe proxy factory?

Question: I was looking at the Gnosis Safe proxy factory code (https://github.com/safe-global/safe-deployments/blob/main/src/assets/v1.3.0/proxy_factory.json) and I noticed that different chains have different network addresses. This is preventing me from creating a safe with the same address on a different chain (target chain ID 25). I'm curious about why this is the case and if there's any possible way to hack around it. Can you provide any insight on this issue?
Answer: you need to take the exact parameters from the transaction of the first deplo. open the same address (if there is one) of the safe factory in another network and in the method deploy with nonce send those parameters, using the same address that was used in the first network to sign the transaction.
( - this works on the current factory - on some previous factories also works (but why should they be used? I don't know) - on the next version, very likely, based on discussions and plans, there will be a change which will forcibly make this procedure impossible (because it is planned to add chain id to the string which will create the vault address).
So after the new release for this kind of deplo, I guess we will have to use the previous version of the factory, and then immediately update the safe to the current version - this does not work on all networks, but a lot of networks - there are networks (like fantom) which can not be opened in their main interface at app.safe.global, but there is a factory with the latest version, and it is on the same address as on the other networks.
For fantom you can use in this case their local self-made interface. it is on the safe subdomain. on the fantom site. for those networks which have no public interface, but have a factory contract, you can, for example, use a tool like defender openzeppelin admin.
This does not make this experience perfect, but it is a good and useful solution to the problem of "organizing the administration of safe in a network which is not supported in main interfaces" in this situation. (still, of course, you can run the interface locally and add any network you like... but, we are well aware that this is unlikely to be something anyone would want to do without some very well-reasoned reason. but, like this, yes, it is also possible).
Answer: The thing is each instance of a Safe created through the factory contract is assigned a unique eth address.
A Safe created on the Ethereum mainnet will have a different address than the one created on Goerli even if you had created them using the same params. This is the result of the separate and distinct nature of each blockchain network.
So unfortunately, i don't think there's a way to do what you want to do here.
I'll shed further light. The address of a Safe is derived from the combination of the smart contract bytecode and the tx that deploys it to the blockchain, since the bytecode is the same for all Safe instance the address is unique to the chain it was deployed.


How to detect an illegal position?

Question: There are many positions in chess that are illegal in the sense that they cannot be reached by legal moves.
Is there an algorithm to detect if a position is illegal or not?
Comment: If you do a search I think you may find that this has been asked before.
Comment: There is no general algorithm, however quite some illegal positions can be identified. I think most recent work in this field was done through this project: https://github.com/tromp/ChessPositionRanking , goal of which was determining number of legal positions.
Answer: Not really, or, at least, nothing that is of practical value.
You could, in theory, play the game backwards.  If no branch reaches the initial position you have shown it is 'illegal'. This is mainly a chess problem area: for more info see https://en.wikipedia.org/wiki/Proof_game. There is also software for proof games, but, as all software, limited (see https://en.wikipedia.org/wiki/Software_for_handling_chess_problems).
The problem area of retroanalysis (which typically only regards less specific questions than full proof games) touches on your question. (See https://en.wikipedia.org/wiki/Retrograde_analysis), and some of the ideas from that field can be used to identify some illegal positions, but can't necessarily cover all of them.
So: no algorithm for illegal positions.  For legal positions an algorithm can be formulated (see proof games above), but can't necessarily be implemented to perform in a period of time that is practical for humans.
A closely related question was asked in: Are there any illegal positions that are difficult to spot? and many of the example positions may add further light.
Answer: Well, you could generate all possible positions, and draw arrows between two positions A and B, if B can be reached from A in a single move.
Then use Dijkstra to see whether there is a finite-length path between the starting position, and the position you want to determine whether it is illegal or not.
But that's just a theoretical exercise. The shear amount of possible positions makes this unfeasible to use this in practice.

How to detect an illegal position?


Attributes vs comments

Question: What advantages do attributes have over the use of comments (or xml comments at the signature level)? I do remember seeing a thread in the C# section of this site somewhere, but I can't find it now.
Also, is it possible to apply an attribute to a specific parameter in a method (this was an interview question I read somewhere)?
Answer: Comments are just for the benefit of developers, so that they can see what classes and methods are about.
Attributes are useful to the solution you are developing as you can use then to describe how to work with the class you are adding attributes to.
Yes you can use attributes against parameters, but in my experience this makes for some complicated code, consider redesigning so your params can be grouped into a struct or class.
Here's a link about attributes:
http://en.csharp-online.net/Attributes
Hope this helps
Answer: Attributes can be accessed at runtime, which is not the case of comments.
In fact, attributes and comments are two totally different things, and serve two totally different purposes.
Comments aim at providing hints to the programmer reading your code, while attributes aim at providing hints to the compiler/runtime "reading" your code ..
Answer: Generally attributes are used when you plan to process the source code programmatically somehow (usually with .NET reflection.)  To do the same with XML comments, you would have to have a special convention for the format of your comments and parse the source file yourself, and that convention couldn't be checked easily at compile-time like attributes are.
Answer: Custom attributes are meant to be accessed at runtime using reflection. They can be applied to method parameters as well as generic type parameters, method return types, assemblies, type declarations, type members, and modules.
Answer: Generally speaking, you cannot compare attributes an XML comments. The latter ultimately have absolutely nothing to do with the code, whereas attributes remain in the compiled assembly in metadata section.
As for the second part of your question, this is possible indeed:
[return:MySecondAttribute] void Foo([MyAttribute] int bar)

Here a MySecondAttribute is applied to the return value, and MyAttribute is applied to parameter bar. Replace return: with assembly: to apply an attribute at assembly level.
Answer: I don't understand how attributes and comments are related; attributes add certain functionality to a class/object, while comments are meant to be in-line documentation.
It is possible to ease the addition of metadata using attributes (e.g., use an Author(string name) attribute to denote the author of a class, etc.), and thus easing the extraction of that metadata, but otherwise I don't see the comparison.
Comment: Sometimes attributes are used to add information to an object, but no additional functionality. Like the Author(string name) example you give. That is the only comparison I am thinking of.

Attributes vs comments


Longitudinal stress in a rotating ring

Question: The question below states that

Suppose a uniform steel ring (mass M and radius R) is kept on a smooth horizontal surface with its plane horizontal. It is hinged about a point O on the perimeter & is made to rotate in a horizontal plane as (A, B, & C are points on the ring where A is on diametrically opposite to O while B and C are at the midpoint of arc OA on either sides

Then, regarding longitudinal stress developed in the ring. Now, according to me, the stress should be maximum at the diametrically opposite points as w which is given is constant and hence centripetal force is directly proportional to the distance between the hinge and the point, so tension will also be maximum at that point. But the given is answer is that it is minimum at A. Could anyone explain this to me?
Answer: It depends on how much mass it outside the 'radius of rotation'.
For example at B and C, there is tension there, as a centripetal force is needed to make the half circle (green) between B and C rotate.

At A there is no mass outside that radius, so there can be low tension as a centripetal force isn't required.

Longitudinal stress in a rotating ring


Installing Sirius on Ubuntu 14.04

Question: Can anybody please me how to install the Sirius, an open intelligent personal assistant on my Ubuntu 14.04 32 bit pc.
link :  http://sirius.clarity-lab.org/
They say i have to compile it all and install it, but i get many compile errors in which many are very hard to find out. Please give some detailed instructions on the ways to easily compile this and run it on my pc.
Answer: 1. Make sure the system is up to date
Run this following command one-by-one in terminal
sudo -s
apt-get update && apt-get upgrade

2. Install wget (abandon this if wget exist in your system)
apt-get install wget

3. Install sirius
NOTE: Sirius and its dependencies need several gigabyte, so make sure to allocate enough storage space.
Install sirius from GitHub:
git clone https://github.com/jhauswald/sirius.git
cd sirius/sirius-application
tar xzf question-answer.tar.gz

Add extra repositories for ffmpeg
add-apt-repository ppa:kirillshkrogalev/ffmpeg-next

Enable multiverse sources for libfaac-dev
apt-add-repository multiverse

Update source
apt-get update

Install basic dependencies for Sirius
apt-get install git zip unzip subversion sox default-jdk ant automake autoconf libtool bison libboost-all-dev ffmpeg swig python-pip curl

Install opencv dependencies
apt-get install build-essential checkinstall git cmake libfaac-dev libjack-jackd2-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libva-dev libvdpau-dev libvorbis-dev libx11-dev libxfixes-dev libxvidcore-dev texi2html yasm zlib1g-dev

Install tessaract text
apt-get install tesseract-ocr tesseract-ocr-eng libtesseract-dev libleptonica-dev

Install protobuf
apt-get install libprotobuf-dev protobuf-compiler

Install dependencies for web apps
pip install wtforms Flask requests pickledb

4. Install opencv
Clone from GitHub
git clone https://github.com/Itseez/opencv.git opencv-2.4.9
cd opencv-2.4.9
git checkout 2.4.9

Install Opencv on system
mkdir build && cd build && cmake .. && make && make install && ldconfig -v

Prepare kaldi
cd ~/sirius/sirius-application/speech-recognition/kaldi/scripts
./prepare.sh

Arrange Sirius
 cd ~/sirius/sirius-application
./compile-sirius-servers.sh

5. Running Sirius
A. To open ASR server:
 cd ~/sirius/sirius-application/run-scripts
./start-asr-server.sh

Try use the pocketsphinx ASR
./start-asr-server.sh pocketsphinx

or specify an ASR, hostname and port
./start-asr-server.sh pocketsphinx localhost 8080

Open new terminal window (Ctrl + Alt + T) and run this following to test Sirius
./sirius-asr-test.sh ../inputs/questions/what.is.the.speed.of.light.wav

B. Image Matching (IMM)
Image Matching uses SURF to match query images to a stored database.
In image-matching/ first build and store a database of descriptors in protobuf format where the arguments are the name of the database and the directory containing the images
  cd ~/sirius/sirius-application/image-matching
 ./make-db.py landmarks matching/landmarks/db/

To change the database used by the IMM service, change the name in start-imm-server.py.
In run-scripts/, open the IMM server
cd ~/sirius/sirius-application/run-scripts
./start-imm-server.sh

Open new terminal window and test IMM
./sirius-imm-test.sh ../image-matching/matching/landmarks/query/query.jpg

C. Questing Answering System
The Question-Answering system uses OpenEphyra and a Wikipedia database stored in Lemur's Indri format.
Extract the wikipedia database
cd ~/sirius/sirius-application
wget http://web.eecs.umich.edu/~jahausw/download/wiki_indri_index.tar.gz
tar xzvf wiki_indri_index.tar.gz -C question-answer/

Run the QA server
./start-qa-server.sh

Open new terminal and test QA
./sirius-qa-test.sh "what is the speed of light"

All credits goes to Sirius Official website
Comment: What about the sirius suite ?
Comment: Installation of sirius suite ? And have you successfully install sirius ?
Comment: yes i have been able to run these tests perfectly fine. what i want is the gui for this which is the sirius suite. Please help on this. Thanks.
Comment: Thanks once again, but can you help me on installing the gui part? And do i have to download the Wikipedia database to the working of question and answer mode, can i do the search and answer me?
Comment: Yes you have to download wiki data base to make Q&A working, umm... I don't think Sirius has GUI (Graphical User Interface) application..

Installing Sirius on Ubuntu 14.04


'getfattr' to list all attributes of the files in the folder

Question: I'm having minor trouble with getting my head around it cause none of the tried commands does not display anything. I would like to check file attributes of the every file in the folder (including subfolders and so on).
Let's assume I'm having a path: mainfolder/subfolder/file.txt - if I submit it directly like this:
getfattr -d /mnt/Users/Family/Documents/credentials.txt

It does the job and returns that there is some attribute. But now I'd like to search a whole folder like that for every file in every folder and subfolder. So I tried some of the ways of getting it but these returned nothing for me:
getfattr -d -m ^ -R -- <filename or directory>
getfattr -m - $your_path_or_file_name

I'm not even sure if it's possible to list attributes like that in a recursive way. Can you help me out?
Answer: You can dump them and then use awk
getfattr --dump * > xfatrrts.txt

Here you will find some tricks (in Greek).


How can an international student move his stuff to New York from TOronto

Question: I am an international student from china, studying in University of Toronto, Toronto, Canada, I'm graduating this summer and get an offer from NYU for master, and I want to move or ship my stuff to there first, But I don't know how can I do that beside taking a flight, I thought about driving to there, but I haven't gotten my Study Visa for the US, I'm not sure what the border office would say about this, I'm afraid they might tell me to drive back. I have asked the UPS if they can ship my stuff and they say it can't be done without me having a permit to stay in US. I'm really running out of options..
Comment: @user28850 No he means, why do you need to move your stuff before you start your master at NYU? If you will go there for studying, why don't you move at that time? (and store your stuff somewhere in Canada if you should move out of your current place early)
Comment: Can you clarify why you want to move your things to New York before you have your US visa?
Comment: You mean clarify to the border office.
Comment: @Vince ok, the problem is that I am not going to stay in Canada nor coming back in short time, and if I carry all my belongs with me, that will be too much trouble, so I want to move half of my stuff to there first
Answer: How much stuff do you have?
You will not be able to move personal effects (term customs uses for your stuff) between countries without a residence visa. If you show up at the Peace Bridge border crossing with a rented truck they will deny you entry as it looks like you are moving down there (which you are). Note that the rented truck is no problem at all, but you will have to drive it back to Canada.
If you have a lot to move you can use a freight company (UPS is a parcel delivery service). The container will simply be stored at a bonded warehouse until you arrive and clear it through customs. Not worth it unless you can justify a half-container.
The most cost-effective way will be waiting until your US visa comes through. If you need to move out now, find a self-storage in St. Catherines (there's lots). Rent a truck and drive down there. Put everything in self-storage and return the truck to Toronto.
After you get a place in NY, rent a truck and drive up to the self-storage. Deal with US customs, drive to NYC, unpack and return the truck.
Canada won't care (or even check) on the way out, and an empty truck coming in is no problem, especially with a new US visa and a self-storage receipt. You will need to tell the rental company you are picking up stuff in Canada as there is extra paperwork they need to produce, but this happens all the time and is no problem at all.
Comment: Thanks a lot for your answering, I really appreciated. But I am now thinking about flight there carrying two luggages with me and my friend will pick me up in the airport. The reason I want to do that is i compared the cost of using shipping company and drive the truck my self to there, flight doesn't cost too much comparing these methods. Plus there is this VISA problem,  I'm going back home in June, and can't wait for the VISA, so it would be easy for me just me make a fight trip to there and settle things. Thank you again for your kind help.


Can "interesting" be used anything else other than adjective?

Question: "It was an interesting movie."  Any specific rule that the word INTERESTING ends with ing. Can this word be used as a participle or a gerund phrase?
Comment: The gerund-participle form "Interesting" is either a verb, as in "Ed was interesting me with his tales", or an adjective as in "Ed's stories were very interesting".
Answer: There is a verb "to interest".  It is not often used as a participle or gerund, but it is possible:

The first stage in teaching maths is interesting your student in the subject.

However this is a garden path sentence. The use of the gerund is unusual and so the brain parses "interesting" as an adjective, then has to back up.  I would rephrase as "getting your student interested".
Participle use is also possible

Flower arranging is interesting me at the moment.
  Interesting her with the promise of large profits, the conman deceived the woman.

It is possible, but perhaps not a good idea.


Gmail dark mode

Question: Is there a way to read the body of an email (in Gmail) in dark mode? I am not referring to Gmail themes, where it makes the background dark, but want the body of all emails dark. My eyes get strained reading emails in light mode. By the way, I want this on my Mac desktop. My iPhone has this feature already.
Comment: Welcome to [webapps.se]. What web browser are you using? What have you tried so far? Also please add a brief description of your search efforts as is suggested in [ask].
Comment: Hi, I use Chrome and Brave browsers.  I searched for browser extensions, but am unable to find any which provides dark mode for the body of the emails.
Answer: Some browser allow Dark Mode with an auto detection and change, but they use this functionality as a flag, because it's "beta" and not perfectly implemented (but if you want to try, view this guide for Chrome).
Otherwise, you can try with this userstyle, but you need to use it with Stylus (a Chrome extension that allow custom styles).

Gmail dark mode


Decision tree pruning

Question: I understand how pruning works in cross validation. But when the final tree is built, we will be using the entire dataset for tree training. How is the pruning performed then. I mean how do we see whether removing a leaf changes accuracy when there is no test dataset
Answer: Pruning is performed in the same way, when using the full data set.
Unless you have not split the data set up into e.g. a training set and a test set (or use Cross Validation), you cannot test the performance of the tree in a proper way. I would thus highly recommend that you set some data aside to test on.
/Chris

Decision tree pruning


Managed Package in Scratch Org

Question: Can anyone confirm if we can create managed packages in Scratch org. Of so, can please share the relevant documentation.
Comment: No, must be on developer org, are you working for an isv?
Comment: No.. but I have to hide my classes and other piece source code... Dev Org I knew, but I can't do in that because I don't have it corresponding to prod. And I don't want to develop in any org which don't have association to my prod org, as it needs to have my prod customizations. Hope you understand the concern...
Comment: How about 2nd generation managed Package ?
Comment: This seems like an [x-y problem](http://xyproblem.info). If you do not work for an ISV and are building code to be deploying to a single prod environment, why do you need a managed package to provide IP protection?
Comment: Hi David, so there are multiple stakeholders for Dev... Hence, code abstraction is being emphasized. Little confused on the approach I should be using
Answer: Managed packages are not a tool for code modularization and abstraction within a single production org. Managed packages are intended for ISVs to deliver their products to Salesforce customers, and come with an extensive list of benefits (including IP protection) and restrictions.
It is unclear exactly what you're being asked to do here. It may be as little as complying with enterprise design patterns that utilize separation of concerns and a layered architecture. Or, it may be that your organization plans to utilize the Package Development Model with Unlocked Packages, which you do build in a source-focused, scratch org-based development model.
You should work with your technical lead or architect to understand exactly what code architecture is being prescribed.

Managed Package in Scratch Org


1994 honda civic, intermittent cranking, esp on hot days

Question: my 1994 honda civic ex has a problem starting intermittently. especially when its hot outside.  if it has been sitting still for awhile then it will crank right up but if i drive to the store when it's hot outside i know i need to wait at least 30 to 45 minutes before i can get it started. i know its not the battery or the starter, it's also not the fuel injectors. do you have any suggestions?  i just replaced spark plugs.
Comment: I take it it's cranking but won't start (fire up)? If so, I'd look at the fuel pump.
Comment: Is this the same when the engine is cold next day
Answer: It will most likely be on the fuel side of things. One item to check would be the ECT (engine cooling temperature sensor). Possibly when you start the engine from cold, the ECT is giving a plausible cold engine temperature. After driving  and with the engine now hot, if the ECT is still giving a 'cold temp' reading, the engines ECU will supply a very rich mixture and choke off the engine, causing non-starting. After a while your engine cools down somewhat and the ECT sends a signal to the ECU which trims the mixture weak enough to start the engine.
Answer: There is a module under the steering column. It's commonly called a Mitsuba because that's who makes it. Pretty sure it's technical name is a Fuel Pump Relay module. Symptoms would be turning over but, not starting and the fuel pump randomly cycling when the car is off.
Comment: Welcome to Motor Vehicle Maintenance & Repair!
Answer: It could be an electrical problem.
I used to have a similar problem with a 1993 Honda Prelude. The car wouldn't start after a short journey especially on hot days. I had my mechanic look at it, but they never found anything wrong with it because the problem would never occur while they had the car.
Sometimes I would drive the car to the petrol station fill up with gas and then the car wouldn't start. I would sit there attempting to start the car every couple of minutes, and eventually it would start.
One day the car was parked outside my friends house on a hot summer day and the car wouldn't start, even after 30 - 60 minutes of trying. Eventually I had the car towed to a mechanic I hadn't used before. It was left with them and they couldn't find any problem with the car as it started when they tried it. They decided to resolder the mains anyway, and amazingly the car never exhibited the problem again.
Answer: This is a very common Honda problem, actually but usually is more symptomatic on older models EF's (late 80s to early 90s).   I would suggest changing out the main relay.


Installer keeps crashing

Question: I'm having the same problem as this question but am unable to upvote or comment on it; does anyone have a fix or suggestions? I downloaded the OS from the elementary site but the installer keeps crashing (I notice at the running grub-install /dev/sda step), and when it tries to collect information to file a report, it tells me that it's not an official elementary package and to remove any third party package.
Comment: At what point is the installer crashing,ie.at boot, during the install process, during the formatting section, or late when installing the grub. Be more specific like post the exact error, if you can't post the error take a photo and upload the image.
Answer: Well, the installation worked once I opted to manually choose my partitions and changed the boot loader to my swap partition rather than /dev/sda. This seems to be a problem facing Ubuntu users in general: https://askubuntu.com/questions/459620/unable-to-install-grub-in-dev-sda-when-installing-grub

Installer keeps crashing