How to reference the contents of a variable in a keyboard macro definition?

Question: I have a macro called f5, which I globally bind the keyboard key <f5> to:
(fset 'f5
      [?i ?\[ ?* ?* ?P ?1 ?  ?\] escape ?h ?a])

(global-set-key (kbd "<f5>") 'f5)

So when I press f5, it inserts [**P1 ], and backs up the cursor and leaves me in input mode, which is fine.
But I have reached a stage where, depending on what I am doing, I don't want it to always insert "P1". Sometimes I might like it to insert, say, "P2". What I really want is that it inserts the content of a variable, which variable I can set depending on what I am doing.  But I don't know how to reference the contents of a variable in a macro definition. Surely this is possible; how is it done?
Answer: You can use eval-expression when recording your macro.
M-: (insert MYVARNAME) RET


Which Living Ajahns are considered to be Arahants today?

Question: After the era of the well known Thai Bhikkhus like Ajahn Mun, Ajahn Tate, Ajahn Maha Boowa, Ajahn Waen and Ajahn Chah; Which Ajahns are considered as Arahants or Highly developed Meditators,in these days? (I'm asking this not to arouse curiosity of others, but to find good monks' Dhamma talks).
Answer:
I'm asking this not to arouse curiosity of others, but to find good monks' Dhamma talks

An accomplished practitioner may not be a good teacher and a good teacher may not be an accomplished practitioner. In some cases teachers maybe both.
So ideally you should look for teachers who teach well, both theory and mediation.
Also the Buddhist should follow: pariyatti (theory), patipatti (practice), pativedha (experience). Whereas learning / listening to the Dhamma is just the 1st of these 3 parts. So a person should teach the theory he should teach the practice also well. Theory without practice is like an unused boat. You should row (patice) the boat (theory or tool) to get to see the other show (experience).
Also accomplished masters may not say so and also some who are not accomplished may claim to be so. Hence it is best not to look at this aspect in deciding who to listen to. Also see if the teaching sounds right, is logical and put it into practice and see if it is beneficial.
As always go to the source. The Tipitaka a the primary source and commentaries and sub commentaries as secondary and tertiary sources.
Comment: Very good answer. The very reason for the Tipitaka to be written was pariyapti.
Answer: Only a Buddha can truly identify an Arhat, so beware of people who take up robes declaring they are stream winners and teach their own wisdom instead of the current teacher of Buddha and Buddhism: Dhamma.
Now there are translations of the original Dhamma and they are easy to understand. Using these sources will help you clarify your doubts.
There are priests who preach direct translations of the original Dhamma. Please find one of them for your guidance.
Comment: I cannot remember the instance straight away, however, this answer sheds some light http://buddhism.stackexchange.com/a/12194/701
Comment: I think your answer should be corrected as 'Only a Buddha can truly identify an Arahant'. There are instances in Tipitaka where even Ven. Sariputta couldn't recognize an arahant.
Comment: May I know the place? Actually maybe we have to clarify this..
Comment: Updated the insider answer with "citation needed"
Answer: In Udana 7.2, Ven. Sariputta (the Arahant) tried to teach Ven. Bhaddiya without realizing that he too was an Arahant.
The Buddha saw this and remarked, describing Ven. Bhaddiya:

He has cut the cycle, has gone away to freedom from longing. The
  dried-up stream no longer flows. The cycle, cut, no longer turns.
  This, just this, is the end of stress.

This shows that the Buddha could recognize who is an Arahant, but not another Arahant.
So, basically nobody could definitively identify an Arahant today.
The other thing is that monks are not supposed to disclose their spiritual achievements to lay people, according to the Vinaya. Even if they did, you can't verify it.
It's not hard to verify that someone is not an Arahant, but it's impossible to verify that someone is definitely an Arahant.
Answer: Ajahn Tong, ajahn Jamien, Ajahn Plien
Answer: In reading the Ariyapariyesana Sutta: The Noble Search – MN 26  one come across the group of five monks (Kondanna, Bhaddiya, Vappa, Mahanama and Assaji) who attended to Buddha when He was resolute in exertion, before Buddhahood. They were far more intelligent than any of us in the present day. Even they could not identify the Buddha as an Arahant. So what would make one think that a present day monk can identify an Arahant? Only after a monk leaves this existence can one identify that he is someone special (an Arahant ) in observing the dead body. Such an incident took place in Sri Lanka, a couple of months ago.


What is the difference between automatic attack and attack-move-attack-move?

Question: What is the difference between automatic attack and attack-move-attack-move?
I mean, attack someone and just stand in my place and let the automatic attack do the work? or attack, move aside and attack again and so on?
Comment: If its a mob you don't really need to bother that much especially if they are not targeting you, but if you're in a fight with another champion, you want to dodge as much of their skilled attacks as possible.
Comment: [Related/possible duplicate](http://gaming.stackexchange.com/questions/61991/attack-moving-or-attack-canceling)
Answer: The term for this is Stutter stepping.
This is a hugely important aspect of many games for several reasons.
The reason it is important is because moving doesn't affect your auto attack cooldown. So if you can attack every second, in between those seconds, you can move and it won't delay your attack. This mechanic allows you to move in between your attacks without lowering your DPS (if done perfectly, it's normal to reduce it slightly).
Now when you're attacking a melee champion for instance who is coming towards you, you can attack them, run away in this auto attack cooldown and then attack again. This allows you to get in more attacks before they reach you.
Similarly you can stutter step towards an enemy that is retreating in order to get more attacks in.
Another reason is that it allows you to reposition yourself. In a team fight position is hugely important, you don't wanna group too much with your allies or be too far away from them. So in order to not lower your dps, stutter step.
The final reason that I can think of off the top of my head is that it allows you to dodge attacks/ be more unpredictable. If you just stand there attacking the enemy will hit you with their skillshots everytime. You can reduce the chance of them hitting you by stutter stepping in any direction.
It's important to note that you can start to move before your attack animation has finished.
Comment: "It's important to note that you can start to move before your attack animation has finished" -- Note also that `may` cancel your auto attack sometimes.
Comment: "The term for this is stutter stepping" - I've also heard it referred to as orb walking.
Comment: @MageXy Orb Walking is used in Dota as a way to attack the enemy hero w/o aggroing the creeps or the towers. It is only applicable to heroes with orb effects like Drow Ranger's Frost Arrow. It doesn't really exist in league although many players tend to jumble them up.
Comment: @EtienneFaucher yeah that comes down to practice on that particular champ
Comment: I also like to point out about using skill with this. If you are standing in one place(auto attacking) your skill might not hit because of you showing that your about to skill. While attack-move-attack(kiting i believe?), you can hit multiple(if applicable) with your skills.
Answer: Attack Move:

Definition: Your champion will move to the targeted location and attack the nearest in-range targets along the way. This is the traditional method used when kiting (though Attack Command can be used as well).
Execution: Press 'A' and then left-click the target location that you want to move to/attack in. You can also shift + right-click the target location.
Benefits: 1) When checking a bush that an enemy might be in you will automatically attack them if they jump out and 2) If you are kiting away from an enemy it makes for quicker movements because you right-click to move away then 'A' + left-click in the same location to have your champion turn and shoot, then right-click again to continue running.
Issues: The main problem with this command is that your champion attacks the nearest target. If in a space where multiple enemies are present, you may attack the wrong target.

Attack Command:

Definition: Attacks targeted enemy unit. Champion will move to get in range.
Execution: Press 'A' and then left-click on the target that you want to attack. You can also shift + right-click the target.
Benefits: This command limits the penalty incurred when a miss-click happens. If you miss-click when using this command, your champion will simply attack the nearest target/wrong target. When you miss-click by using right-click for targeting, you end up walking into the enemy.
Issues: Can take some practice to get used to. Technically is "one more button to press" than right-clicking. You can still miss-click and attack the wrong targets.

Right-Click:

Definition: Used to move your champion without attacking nearby enemy units. Can also be used to attack specific targets.
Execution: Right-click on the location that you want your champion to travel to. Alternatively, right-click a target that you want your champion to attack.
Benefits: Great for moving your champion without attacking any enemy units in range/along the travel path. Used in conjunction with Attack Move for smooth kiting.
Issues: When using right-click to target and attack enemies, miss-clicking results in your champion walking into the enemy team. An out-of-position champion is often a dead champion.

All the execution hotkeys are based on default settings.
You can also smart cast both Attack Command and Attack Move (since they are both derived from the same click combinations). You can set "A" (or whatever works for you) to Attack Command/Attack Move wherever your mouse is currently located. The benefit from this is that you don't have to click with your mouse in addition to hitting "A." I don't personally use this but it's a personal preference.
Source: Reddit (Title:
Attack Move, Attack Command, and Right-Clicking.)
Comment: This is nice but doesn't answer the question at all


What kind of work you can get with a private pilot licence?

Question: I´m planning to be a pilot, i just want to know if you can work only with the private licence and where.
Comment: As a private license doesn't allow for commercial activities in many countries, maybe you need to rephrase the question into "Are there countries where a commercial activity can be conducted with a private license?"
Answer: You cannot do so.  A private pilot's license - at least in the US - prohibits you from offering airman services for compensation or hire.
If you intend to fly professionally, you will need at least a commercial pilot's certificate.  An instrument rating is also highly recommended as is multi engine class ratings for the greatest chances of employment.  Air carrier operation will require you to hold an airline transport pilot's license for part 121 operations.
Comment: On the other hand, would a PPL *prevent* someone from getting a job even in commercial aviation? I could imagine that having a PPL could be a small advantage, all other things equal, for example to become a cabin attendant, since some (all?) medical requirements would already be taken care of. Of course, all other things are never equal.
Comment: Note that the last part about air carrier operations only apply to USA. In most other places, only the captain needs ATPL and one can be F/O with just CPL (and instrument rating and appropriate type rating).
Comment: I'm not an aviation lawyer, or that familiar with current regulations, but I think you can fly if it's only incidental to the work.  For instance, I used to do work at sites hundreds of miles distant from the business location, and often would fly myself there, rather than driving or taking commercial transport.
Comment: You can fly 'in furtherance of a business' ie if you fly an airplane for business travel or to aid a business.  But you cannot be paid for the flying ie for compensation or hire.
Comment: This is defined under §61.113 PPL Privelages and Limitations.
Answer: The opportunities are limited, as the FAA pretty loosely construes compensation.  For example, you cannot fly to take photographs, which you sell.
You can conduct operations which are incidental to your work. For example, if your business required you to be in different locations, you may be able to fly to those locations, similarly to driving there.  I do not believe that you could haul product or customers.  If you are considering this type of work you should consult an aviation attorney.  I would search the FAA Letters of Interpretation (LOI) first before spending money on an attorney.
There are some other things you can do, as a private pilot.  For example, I have an uncle who is a farmer, and conducts Part 137 ag operations on his farm.  Sometimes he hires other pilots, and they need commercial licenses. However, he can apply chemicals to HIS farm land without a commercial.
In general, having a private pilot license may help show a level of experience which may help you acquire non-flying jobs, but  I suspect you are not interested in that.
The entry point for most pilots is commercial/instrument/cfi, however I have known a few pilots who had just commercial/instrument, who built hours towing banners, towing gliders, flying jumpers and as SIC for 135 operations. Some, who are good at networking, may get jobs flying for Part 91 corporate ops, but with low hours, the insurance requirements are steep. Building hours is the primary reason why many pilots get an instructor rating. That motivation may not assure the best instructors, but that is how the industry is currently structured.


Does Dehn filling always decrease Gromov norm?

Question: As an immediate consequence of Proposition 6.5.2 of Thurston's notes, we have that, if $M$ is a compact 3-manifold with toric boundary and $\tilde M$ is obtained from $M$ via Dehn filling, then for the 'variant' $\|\cdot\|_0$ of the Gromov norm it holds that $\|[\tilde M,\partial\tilde M]\|_0\leq \|[M,\partial M]\|_0$. Under which assumptions is it also true that $\|[\tilde M,\partial\tilde M]\|\leq \|[M,\partial M]\|$, $\|\cdot\|$, being the 'proper' Gromov norm? This holds, for instance, if $M$ is hyperbolic (Lemma 6.5.4), but what if we drop this hypothesis?
Answer: This is certainly true, and follows by consideration of the decomposition of a manifold (let's say irreducible, to simplify the discussion) M along incompressible tori into hyperbolic and Seifert fibered pieces. The Gromov norm is the sum of the norms of the hyperbolic pieces.  Now, if you fill a torus that is a boundary component of a hyperbolic piece, the norm decreases (strictly, in fact).  If you fill a torus that is part of a Seifert fibered piece, then if the component that you filled remains Seifert fibered with its boundary components incompressible, the norm of the manifold is unchanged.  Otherwise, you may have turned your Seifert fibered manifold into a solid torus, in which case you repeat the argument; in this setting the Gromov norm may stay the same or strictly decrease.
An example of the latter setting where the Gromov norm might strictly decrease is the following.  Consider a hyperbolic manifold N with a single cusp, glued to C = complement of a torus knot in a solid torus, along the boundary of the solid torus.  If you fill the torus knot complement using the meridian slope, then C becomes a solid torus, and the resulting manifold is then a filling of N. Thus the Gromov norm would strictly decrease.
Answer: As mentioned in another answer, one may deduce the desired result from the following facts:

(Gromov's Equivalence Theorem): If every component of the boundary of $M$ has amenable fundamental group, then for every $\varepsilon>0$ there exists a fundamental cycle $z$ for $M$ such that $\|z\|\leq \|M,\partial \|+\varepsilon$ and $\|\partial z\|\leq \varepsilon$.
(Matsumoto-Morita): If $T$ is a boundary component of $M$ and the fundamental group of $T$ is amenable, then any two fundamental cycles $z,z'$ for $T$ differ by a boundary $c$ such that $\|c\|\leq K\cdot (\|z\|+\|z'\|)$.

Putting together (1) and (2) one easily gets that the simplicial volume is subadditive with respect to gluings along boundaty components having amenable fundamental groups.
Gromov's proof of the Equivalence Theorem is based on the quite technical theory of multicomplexes, which is studied and developed in the preprint by Kuessner cited above. A different proof (using Ivanov's and Monod's approach to bounded cohomology) is given in our recent preprint
http://arxiv.org/abs/1305.2612
(joint work with Bucher, Burger, Iozzi, Pagliantini, Pozzetti).
Answer: In fact, for manifolds with torus boundary you have $$\parallel M,\partial M\parallel_0=\parallel M,\partial M\parallel$$ so that the two inequalities are plainly equivalent.
(More generally, this equality holds whenever all components of $\partial M$ have amenable fundamental group.)
Answer: There is also an explicit argument which shows
$$\parallel M_1\cup_{A}M_2\parallel \le \parallel M_1,\partial M_1\parallel + \parallel M_2,\partial M_2\parallel$$
whenever $A=\partial M_1=\partial M_2$ has amenable fundamental group, see Lemma 5 in http://newton.kias.re.kr/~kuessner/preprints/bc.pdf
It applies to Dehn surgery with $M_2$ the solid torus, whose simplicial volume is zero.
The proof follows essentially from a result of Matsumoto-Morita (Proc. AMS 94, 539-544, 1985). They proved that (assuming amenable fundamental group) there exists a constant K such that for each boundary $z\in B_2(\partial M)$ one has a chain $c\in C_3(\partial M)$ with $\partial c=z$ and $\parallel c\parallel\le K\parallel z\parallel$. One can apply this to obtain fundamental cycles for $M_1$ and $M_2$ which have suitable norms and which fit together at the common boundary.


Where can I find open source deep learning pretrained models?

Question: Where can I find open source pre-trained deep learning models(source code optional)?
Answer: Model Zoo
Discover open-source deep learning code and pre-trained models.
Model Zoo curates and provides a platform for deep learning researchers to easily find pre-trained models for a variety of platforms and uses. We regularly update the site and provide filtering functionality for users to find models that they need, either for educational purposes, transfer learning, or other uses.

Kaggle
For more pre-trained models check the Official pre-trained models thread thread on each competition discussion form.
Example:
Intel & MobileODT Cervical Cancer Screening

TensorFlow-Slim image classification model library
This directory contains code for training and evaluating several widely used Convolutional Neural Network (CNN) image classification models using tf_slim. It contains scripts that allow you to train models from scratch or fine-tune them from pre-trained network weights. It also contains code for downloading standard image datasets, converting them to TensorFlow's native TFRecord format and reading them in using TF-Slim's data reading and queueing utilities. You can easily train any model on any of these datasets, as we demonstrate below. We've also included a jupyter notebook, which provides working examples of how to use TF-Slim for image classification. For developing or modifying your own models, see also the main TF-Slim page.

ONNX Model Zoo
Open Neural Network Exchange (ONNX) is an open standard format for representing machine learning models. ONNX is supported by a community of partners who have implemented it in many frameworks and tools.
The ONNX Model Zoo is a collection of pre-trained, state-of-the-art models in the ONNX format contributed by community members like you. Accompanying each model are Jupyter notebooks for model training and running inference with the trained model. The notebooks are written in Python and include links to the training dataset as well as references to the original paper that describes the model architecture.

More:

Top 10 Pretrained Models to get you started with Deep Learning (Part 1 – Computer Vision)


Could a gravitational lens in the far future be used to detect 20th century radio or television broadcasts?

Question: Wondering if a naturally occurring gravitational lens (such as one created by a star or black hole) could be used in the future by someone searching for "ancient" (ie, our recent) radio and TV emissions. Might that be a way of reducing the inverse-square law's effect on those signals? I know there have been proposals to use the Sun as a gravitational lens to detect alien microwave transmissions. I'm wondering if, by analogy, one could use the same technique to find human broadcasts, many years in the future.
Comment: Do you mean some distant aliens listening to our broadcasts, or somehow bending the waves to go back to Earth?
Answer: This scheme was mooted on the Halfbakery some time back.
http://www.halfbakery.com/idea/Gravity_20Time_20Mirror#1102098287

Gravity Time Mirror:  Seeing our past using the sling-shot effect of a
  black hole's gravitational pull on light.    Using a very powerful
  telescope, we could look right at the very edge of a black hole where
  a light path made it 180degrees around the black hole due to the
  slingshot effect of gravitation. If the black hole were, say, 1000
  light years distance from us, we would be looking back at ourselves
  2000 years ago, a gravitational mirror to the past.
— BruceRH90, Dec 03 2004

Pretty slick idea.  I think it would work better with radio (as you propose) than with visible light.


Dapper.SqlMapper.AddTypeHandler appears not to be called with Postgres SimpleCRUD where clause

Question: I have just upgraded from Npgsql v2.2.3 to v188.8.131.52 (now V3.2.5) on a system using Dapper and SimpleCRUD - other absent developers customised version of latter. Its not really my field - I was just trying to do some PostGIS bits with the v3 support...
We have a custom version of DateTime that, under Npgsql v3.x stricter typing, requires us to set the NpgsqlDbType to NpgsqlTypes.NpgsqlDbType.Timestamp. This is done via a Dapper.SqlMapper.AddTypeHandler in the SimpleCRUD code. The custom version forces date time kind to be UTC.
Whilst this works as expected for database inserts, it appears not to being called when a WHERE clause is used - not sure if its just in isolated cases, or just in one or two places.
I can see from the Postgres logs that, the parameters for the WHERE clause are being adjusted for UTC/Local conversion : parameters: $1 = '2017-07-27 13:29:51+01'
Via breakpoints, I can also see that the type handler is not being entered for the WHERE clause, but is for INSERT etc.
QUESTIONS:
Should I be expecting the Dapper.SqlMapper type handler to be called for WHERE clause parameters?
If it is not expected behaviour, how do I force NpgsqlDbType to NpgsqlTypes.NpgsqlDbType.Timestamp when using Dapper.SimpleCRUD?
Many thanks
I have updated to latest NuGet package of Npgsql (3.2.5) and Dapper (1.50.2). Not sure of the origin of Dapper.SimpleCRUD but it would have started life in 2014 before being what looks to have been potentially heavily customised so would rather continue with this rather than upgrading and adding the customisations back in.
Answer: Managed to sort the issue.
I added a SqlMapper.ICustomQueryParameter handler (DateTimeUTCParameter) and called this from SimpleCRUD as part of ConstructDynamicParameters instead of doing the conversion directly.
In the end, it was a straight forward change, once I had identified what was needed.
<code>    private static DynamicParameters ConstructDynamicParameters(Dictionary<string, object> conditionParameters)
    {
        var dynParms = new DynamicParameters();
        foreach (var kvp in conditionParameters)
        {
            if (kvp.Value is DateTimeUTC)
                dynParms.Add(string.Format("@{0}", kvp.Key), new DateTimeUTCParameter((DateTimeUTC)kvp.Value));
            else
                dynParms.Add(string.Format("@{0}", kvp.Key), kvp.Value);
        }
        return dynParms;
    }
</code>


What's the difference between "estar ansioso de" and "estar ansioso por"?

Question: I know that both 'estar ansioso de' and 'estar ansioso por' mean to be excited for something or looking forward to it, but how do I decide which one to use? Do the two have slightly different meanings? Are any other preposition ever used instead of 'de' and 'por' in this context?
Answer: According to RAE, they can both be used interchangeably, but:

if what follows is a noun, normally de is used
if what follows is a sentence, any of them can be used
Comment: mmmm... "por" sounds much better to me than "de", in most uses.
Comment: According to Google: "ansioso/a por": 10M , "ansioso/a de" 3.3M
Answer: Both "de" and "por" can be used. I'm not sure if both of them are gramatically correct, but they are used in regular spanish.
Particularly, I think "por" sounds better (and it's also more used in Peru). It kinda answers the implicit question ¿por qué estás ansioso?:

¿Por qué estás ansioso? (Why are you anxious?)
Estoy ansioso por mi examen de manejo. (I'm anxious about my driving test.)

Sounds better than "Estoy ansioso de mi examen ...", right?
Comment: I can't point to any references right now, but I'm pretty sure I once read or heard that *anxious* is best translated as "angustiado", not "ansioso".
Comment: @MikMik we are discussing the opposite, namely using the Spanish word _ansioso_ to mean _excited_ or _looking forward_, but you are absolutely right to point out that _ansioso_ has mainly negative connotations, i.e. not a pleasant state to be in.
Answer: Estar ansioso de and estar ansioso por can be similar insofar as they mean "to be anxious regarding..."
But they could have different versions of "regarding." "Estar ansioso por ti" means "to be afraid FOR you" (that something bad will happen to you).
"Estar ansioso de ti" could mean to be afraid OF you (that you will do something bad to me).


After reset /etc/hosts, firefox stuck requiring authentication

Question: I have a test site, which need authentication to access. The map between ip and domain is given in /etc/hosts.
Today, the ip of the domain changed, so I modifid /etc/hosts. Then the bad thing happens, the authentication window can't be closed no matter I input the corrent password or close the window by click 'cancel' button or the close button. And I have to kill firefox by 'pkill firefox'.
I have a virtual machine running windows xp, and after modifying hosts file, I can access the site successfully.
I have try to reboot the operating system and clear the history record of firfox. But they don't work.
My system is redhat5.4 and firfox is 3.0.12.
Do you have any ideas?
Answer: I don't know how to explain, but after clicking the 'cancel' button a lot of times, the authentication window didn't appear any more and the visiting is normal now.


Diesel Cycle Vs. Otto cycle

Question: Why is the heat addition process in otto cycle assumed constant volume while in diesel cycle it is considered constant pressure?
Answer: In an Otto cycle, fuel is introduced prior to compression and ignited quickly when the piston is at or near top dead center.  This produces a sharp rise in pressure because combustion happens quickly compared to how fast the piston is moving.  In the Diesel cycle, fuel begins to enter near the end of the compression stroke, and continues past top dead center, into the expansion stroke.  For this reason, the pressure is kept more-or-less constant because fuel is being added as the volume is increasing.
This paper  is a bit dated, but well written and contains a brief explanation for the constant-pressure assumption on page 16.

Diesel Cycle Vs. Otto cycle


Is md5(md5(password).salt) secure?

Question: I know md5 is considered non-secure but what if someone used md5(md5(password).salt) instead? Isn't this technically better / more secure?
Comment: Let's say somebody finds an attack that can crack an hash from a hash function within a day. If it's a general attack it will work for *every* hash so H(password) and H(H(password)) are both hashes of the same size and thus vulnerable to the same attack and crackable in exactly the same time.
Comment: if you repeated the inner one 10,000 times before hashing, it would be somewhat safer by making it hard to run on dedicated hardware (ASICs) and prevent pre-rolled cracker profiles from working.
Answer: The hash  md5(md5(password).salt) is just as secure as md5(password.salt) .
All the difference i can see is the additional MD5 calculation md5(password) which increases the computing time the attacker needs to spend by a little and it may not be going to make a big difference.
Lets say the attacker takes the most used 100 passwords like welcome,monkey with md5 values
40be4e59b9a2a2b5dffb918c0e86b3d7,d0763edaa9d9bd2a9516280e9044d885 respectively.
He need to brute force  password as well as salt in md5(md5(password).salt) using the list welcome,monkey .
Example:md5(md5("welcome").salt)
He can simple do away with that additional MD5 calculation by using the list of md5 values calculated one time.
Example: md5("40be4e59b9a2a2b5dffb918c0e86b3d7".salt)
Comment: I'm not sure but I guess the same is also known as [Meet In The Middle Attack](https://en.wikipedia.org/wiki/Meet-in-the-middle_attack).
Answer: Such combinations are often supported out of the box by password cracker tools. Have a look at the algorithms of hashcat you will see a lot of similar combinations. MD5 is not appropriate to hash passwords because of its speed, brute-forcing is ways too easy (about 100 Giga MD5 per second), so no it is not secure.
Answer: No
When you are using md5(md5(password).salt) method it's as strong as md5(password.salt). It seems, that it need more time to find a collision when you are using md5(md5(password).salt) method. In that case, you can use bcrypt to manually slow down the collision attack operation. And using old md5 - bad idea.
Comment: This adds nothing new to the other answers.

Is md5(md5(password).salt) secure?


How to debug trigger in eclipse

Question: I am studying the code who has written by other programmer. there are bunch of classes and triggers. i want to check the flow of the trigger. How to see hirarchy and how to set breakpoints to trigger?
Comment: You can use System.debug or System.assert
Comment: without using system.debug  is there is any way i can see the flow of trigger?
Comment: For this you need to run practical scenarios of your application. Run them and check the trigger code. I only know this point for trigger flow.
Answer: Reference Link:
The Apex Interactive Debugger
Getting Started with the Apex Debugger

The Apex Debugger extends the Force.com IDE plug-in for Eclipse and does most of the things you expect a debugger to do. Use it to:
Set breakpoints in Apex classes and triggers.
View variables, including sObject types, collections, and Apex System types.
View the call stack, including triggers activated by Apex Data Manipulation Language (DML), method-to-method calls, and variables.
Interact with global classes, exceptions, and triggers from your installed managed packages. (When you inspect objects that have managed types that aren't visible to you, only global variables are displayed in the variable inspection pane.)
Complete standard debugging actions, including step into, over, and
out, and run to breakpoint.
Output your results to the Console window.

This post from @sfdcfox would be really helpful regarding debugging with Eclipse tool.

How to debug trigger in eclipse


Feedback on how to compare two groups of data visually on one page?

Question: I have a site that allows you to set up two groups of criteria (here it is two categories of products) by searching and refining, then allows you to view data and analysis of these two groups of criteria while easily also seeing what the groups themselves are comprised of. The idea is for the user to be able to quickly see a comparison of the two groups utilizing color coding for quicker identification. I also want the user to be able to click into the groups to refine them at any time in their workflow. I have attached a quick illustration of this. I have included the groups in the nav as their own little toolbox (kind of like Flowdock), but am worried this doesn't make sense, especially with all the information included in them. Can I please get some thoughts and feedback on this? Is there a better solution I am overlooking? Thanks everyone!
Answer: I think it is a good idea to use the colors. The problem here now is that the color information is separated from the actual content. This means that someone quickly scanning the page might not notice the explanations.
I would recommend moving the information from the top left to above the graphs. It could even kind of look like the page title. This way the user will be more likely to notice the color explanations. You could use the Google Trends compare view for inspiration: https://www.google.com/trends/explore?q=Soda,%2Fm%2F0cxn2
Additionally: one way to cater to people without good color perception could be to have bigger contrast between the two colors. So for example one of the colors could be lighter purple and the other darker green.
Answer: I wouldn't limit the tipoff to color, since I'd also want to cater for people without good color perception.  Otherwise your example looks fine--it clearly portrays the information.  If you want to snazz it up graphically, you could use icons (in your example, e.g., a steaming coffee cup vs a pop can with a straw)


specific temperature vs "medium heat" on an induction cooker?

Question: Some recipes call for "medium heat". . .What is the SPECIFIC temperature range for "medium heat" on an induction cooker?
Answer: Low, Medium, Medium-low, Medium-high and High are weasel-words so that manufacturers/recipe writers cannot be blamed for misuse of equipment/recipes, so a specific temperature range for medium heat cannot be given for just any cooker out there.
For an oven, I use as a rule of thumb: 50-100°C (100-200°F) Low heat, 100-150°C (200-300°F) Medium low, 150-200°C (300-400°F) Medium high and 200+°C (400+°F) for High...
For an induction cooker, my personal rule of thumb would be:

Low, Medium, High: 1/3 strength, 2/3 and just below boost respectively
Low, Medium-low, Medium-high and High: 1/4, 1/2, 3/4 and just below boost respectively

As I've seen induction cookers go from "〰" to "15" (excluding boost), above rule of thumb should be taken with a shovel of salt...
Comment: +1. This is how I work with both induction and gas cookers: Divide the range of the cooker by the indication of the recipe. Medium on induction in my case means "5" (it goes from 0 - 9, excluding booster). Low would be 1 ~ 2, low medium 3 ~ 4, etc. The only cooker this isn't practical for are the old-fashioned electric cookers of the lets-heat-up-a-slab-of-metal-until-it's-hot variety. But then again: I consider them useless for any cooking that requires temperature control.
Answer: There is no specific temperature for "medium heat" on any cooker at all.
I know that many induction cookers come with a display which shows some kind of "temperature" setting instead of just a number. This is a useless feature, and does not correspond to any real temperature anywhere.
First, if they try to implement it with a firm amount of modulation (= percentage of time the coil is on), it will be the same thing as the "wattage" setting, only translated to some other number. The problem is that depending on the size of the pan, the amount of food, and many other variables, you will end up with different pan temperatures at the same setting.
Second, I think there are models which try to be more clever, and they hold a constant temperature at a sensor, changing the modulation as needed. The problem with this approach is that the sensor is somewhere below the glass plate, far far away from your pan. So the real temperature in the pan is not at all the one shown in the sensor, and the shape of the pan bottom also means that, with different pans, you will get different in-pan temperatures for the same sensor reading.
The best you can do is to forget that this setting is there, and to use the induction cooker as any other cooker, that is, reading the different "temperatures" or "wattages" as a simple ordinal scale without any meaning between the number, similar to the "1 --- 6" settings on a standard hob. As usual, you will have to learn to recognize a medium heat based on the way your food cooks, and for temperature critical applications, to use an infrared thermometer.
Comment: Yes. Tested these temperature settings on a cheap induction cooker, no relation to actual temperature, probably because of very slow sampling of the temperature reading as others mentioned... wonder how it is sensed anyway, found that you can not keep the d..n overtemp sensing quiet even with, say, a thin cork mat(!) which gets hardly warm (!) on the other side under the pan....
Answer: To expand on what's already been said -- even if you use 'medium' heat on a given burner, the size of the pan vs. size of the burner, plus the maximum heat output (BTU) of the burner makes a significant contribution to the resulting temperature of the pan.
Also, you have to consider what's in the pan -- a dry pan is going to heat up more than something with lots of moisture, as you both have thermal mass to absorb heat and the possibility of evaporative cooling.
You're better off going with other indicators of temperature like 'shimmering oil' if the recipe mentions something to that effect.


Related work or related works

Question: I see both "Related Work" instead of "Related Works" phrases in papers. Assuming either one of these could be used, can someone explain why that is so? If more than one reference is listed, it seems the heading should be "related works" (plural) or maybe the those that say "Related Work" are in error?
Comment: Some people are downvoting/closevoting this question, probably because you've asked the either/or question: "Which one should be used?" (If you've seen them both, there's a good chance **both** could be used, right?) I'm going to edit your question in a way that might make it more about English, and see if I can't stave off the negative feedback. Feel free to do a rollback on the question if you think the new form doesn't address your concerns.
Answer: You are right that both related works and related work are used in papers, and both are correct. Furthermore, according to Google n-grams, related work is roughly 4 times more common than related works, though it is difficult to know if these occurrences are within the context of papers such as you are interested in.
An explanation for why both are correct comes from the different meanings of work and works. Related works refers to publications themselves, while related work refers to the actual work behind the publications.

Related work or related works


Migrating From 3B+ to 4B. Easy Solution than reinstalling everything

Question: I am using a lent 3B+ and now I will buy my own 4B. I have PMS, Pi-Hole, and Samba Server. I don't want to reinstall and re-configure everything again, is there an easy alternative?
Answer: One easy way to do this is with the image-utils tool. It copies everything on your SD card, and writes it to a file. You can use your desktop machine (or your RPi) with balena etcher or rufus to write this image file to another SD card.
Note: This procedure assumes that the RPi 3B you've been using is running the Buster version of RPi OS. Buster was released in mid-2019, so it has been around for about 18 months now. The RPi 4B will not run an older version of the OS. Therefore: If the RPi 3B has Stretch, or an even older OS, you'll need to do a fresh install of Buster on the RPi from scratch using these instructions - or similar.
If you're not sure what version of the OS you are running on the RPi 3B, you can check that from the CLI:
$ cat /etc/os-release

You may see this output:

PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
...

If it doesn't say buster, you can quit reading this, and start a fresh install on your 4B.
If your RPi 3B is running Buster, following is a step-by-step process for duplicating the entire OS, including all files, preferences, settings, configurations, etc. This procedure uses the CLI/terminal:
1. Install git on your Raspberry Pi if you don't already have it:
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install git

2. Clone the image-utils repo to create a local copy on your Raspberry Pi
$ cd
$ git clone https://github.com/seamusdemora/RonR-RPi-image-utils

This will create a new folder in your home directory: RonR-RPi-image-utils
3. Mark all of the scripts executable:
$ chmod 755 ~/RonR-RPi-image-utils/image-*

4. Verify that everything is in place:
$ ls -l ~/RonR-RPi-image-utils
-rwxr-xr-x 1 pi pi 12773 Aug 14 21:54 image-backup
-rwxr-xr-x 1 pi pi  1534 Apr 23  2020 image-check
-rwxr-xr-x 1 pi pi  2772 Apr 23  2020 image-compare
-rwxr-xr-x 1 pi pi  2685 Apr 28  2020 image-info
-rwxr-xr-x 1 pi pi  1667 Apr 23  2020 image-mount
-rwxr-xr-x 1 pi pi  5640 May  4  2020 image-set-partuuid
-rwxr-xr-x 1 pi pi  4148 Aug 11 20:11 image-shrink

You will also see README file... Check that all 7 files listed above are present, and have the permissions you see above (-rwxr-xr-x).
5. Select an external ext4 drive as the image file destination
Since the image file may be large, it must be written to an external drive; specifically an external drive under /mnt or /media. Verify that you have a suitable drive mounted in one of those locations - if not, you must mount it. In this case, the drive at /mnt/Passport2TB will be used
$ ls -l /mnt
total ...
drwxr-xr-x 6 pi   pi   4096 Jul 11 11:17 Passport2TB
$ lsblk --fs
NAME        FSTYPE LABEL       UUID                                 FSAVAIL FSUSE% MOUNTPOINT
sda
└─sda1      ext4   PASSPORT2TB 86645948-d127-4991-888c-a466b7722f05    1.5T    10% /mnt/Passport2TB
mmcblk0
├─mmcblk0p1 vfat               6969-16D1                             200.3M    22% /boot
└─mmcblk0p2 ext4               f6ea6ef9-68be-479d-b447-5f76391cc02f     26G     6% /

6. Create your "backup" image file:

NOTES:

In the following "dialog", the user (your) inputs are enclosed in braces {}
In response to the prompt, "Image file to create?", use the full path
In response to the prompt, "Image file to create?", use an .img file extension

$ $ sudo RonR-RPi-image-utils/image-backup

Image file to create? {/mnt/Passport2TB/RPi4Bimage_20201202.img}

Initial image file ROOT filesystem size (MB) [2216]?  {↵}

Added space for incremental updates after shrinking (MB) [0]?  {222↵}

Create /mnt/Passport2TB/RPi4Bimage_20201202 (y/n)? {y}

Starting full backup (for incremental backups, run: RonR-RPi-image-utils/image-backup /mnt/Passport2TB/RPi4Bimage_20201202)

## It will take some time to create the image file... but eventually (a few minutes)

...

e2fsck 1.44.5 (15-Dec-2018)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/loop0p2: 55598/157760 files (0.6% non-contiguous), 495225/623872 blocks
$

Recap
You should now have a file that contains an image of the "root and boot" partitions of your RPi OS from the SD card on your RPi 3B. You may now transfer this file to your Windows/Mac/Linux desktop, where you can use rufus or etcher (for example) to write (not copy) this image file to an SD card. Insert this SD card into your RPi 4B, and it should boot with no problems.
That should do it. Let us know if you have questions.
Comment: Old `boot` partitions were of ~50MB and thus firmware for the 4B is not installed during upgrades (no space left). This was an issue when I tried to move from 3B+ to 4B in my case. Does the util allow writing to a different partition setup so that one may increase `boot` and install 4B firmware?
Comment: I have seen that stock 3b+ boot being less for 4b firmware. what's the solution for that? because everything else seems to be in place.
Comment: lsblk --fs
NAME        FSTYPE LABEL       UUID                                 FSAVAIL FSUSE% MOUNTPOINT
sda
└─sda1      ntfs   TOSHIBA EXT 843671A53671993E                      731.9G    61% /mnt/disk1
mmcblk0
├─mmcblk0p1 vfat   boot        A764-6923                             198.2M    21% /boot
└─mmcblk0p2 ext4   rootfs      2f4adfbf-32e5-44ec-9323-1d08cbe8c29e    5.4G    77% /
as you can see my boot is 200M that may be because I am using a 32 gb or that I am update with debian 10 - buster
Comment: sorry for the bad formatting I am very new to asking questions cos I was able to make it so far by just googling and finding that someone has already asked that question before.
Comment: @AbbasMerchant: I'm not completely clear on the meaning of your comments, but you should know this: The 3B+ and the 4B are very different with respect to the "firmware". The 4B has ***additional hardware*** in the form of an EEPROM for storing firmware. The 4B ships from the factory with some version of the firmware installed in the EEPROM - it could not boot without it. **The 3B+ "firmware" may be included in the image file (created as above), but it will not affect your 4B. You do not need to worry this point.**
Comment: @Fiximan: You seem to be imagining problems that do not exist. Firmware for the 4B is stored in EEPROM - not in `/boot`. And when it is downloaded during an `apt update` it is stored in `/lib/firmware/raspberrypi/bootloader/`. It is never stored in the `boot` partition on a 4B - never. [The Organization's documentation](https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md) includes a rather arcane description of the process. You may also find more useful info in [this answer](https://raspberrypi.stackexchange.com/a/113319/83790)
Comment: @Seamus [Official Website](https://www.raspberrypi.org/documentation/configuration/boot_folder.md) Quote: "start4.elf, start4x.elf, start4cd.elf, and start4db.elf are firmware files specific to the Pi 4." - all in `/boot`; their size is in sum less than 10MB, but made the 50MB too small. Maybe deleting older kernel images might help, but the space limit is a matter. See also [this thread](https://www.raspberrypi.org/forums/viewtopic.php?t=253259) regarding problems with a too small boot section during upgrade. I seem to have been luck to have "only" missed Pi4 boot files and not bricked my Pi3
Comment: okay, thanks I wasn't aware of t this in such great detail. I thought 4B needs more /boot storage space as compared to 3B+ and I was thinking that was the only problem. lemme get my hands on the hardware and I'll work on them and let you know. Hardware is  yet to be shipped.
Comment: @AbbasMerchant: No - the 4B uses *approximately* the same space in `/boot` as the RPi 3B, 1BP (and others). I have all 3 of these systems - they all have a `/boot` partition of ~ 200MB, and all report that approx 20% of that partition is in use (per `lsblk --fs`). In fact, the `apt upgrade` process stores all of the `.elf` files unique to the 4B in the 3B and the 1BP. In other words - the `/boot` partition on your 3B already has the files needed by the 4B!
Comment: @Fiximan: Yes - you are correct - I was incorrect - those **are** indeed firmware files, and they **are** indeed located in `/boot`. ***However***, your alarm over a 50MB boot partition still seems "*misplaced*". Granted - there were 50MB boot partitions on older versions (prior to `Buster`), but RPi 4B will not run those older OS.
Comment: @Seamus - Well my initial question (and my answer to the problem) came before OP stated that he had 200MB for `/boot`  and I wondered if he faced the same problem as I did before. Obviously that is not a problem for his case. Others might profit.
Comment: @Fiximan: Yes - I'm still not clear on how you wound up with a 50MB `/boot` partition on a Buster system, but that's not important. I think we've both learned something (I know I have), and that's the point of this. Thanks for challenging my bogus assertion re the firmware :)
Comment: @Seamus Simple: I was very stubbornly going the upgrade route from jessie - since I had so many specialized configs I never wanted to make a fresh install and rather went through the dangers of upgrading.  - Ofc I did learn something, that is the very reason for these arguments in the first place (at least to me).
Answer: Just copy the SD card.  Everything is stored on the card.
Comment: One thing to be careful of is if you have set a static IP address up for Pi-Hole on your router and not your Pi as the change over will give a new MAC address and therefore a new IP address unless you have set either the MAC or IP up on that card.
Answer: Provided the Pi has an up-to-date Raspberry Pi OS it will work on ALL Pi models.
It is POSSIBLE to configure Raspberry Pi OS in such a way that it operates differently on different models, but not by default. If you examine /boot/config.txt you would see these.
Setting a static IP Address is one of potential problems.
Comment: I am using LAN cable and I haven't set any static IP anywhere to the best of my knowledge.
Answer: Since I had to do the same, here is how I managed.
First off: While Raspberry Pi OS is now compatible with all versions, it looks like the older installs created the boot partition too small, thus relevant firmware files for the Pi 4(B) cannot be put where they need to be. Thus increasing the boot partition is a must. If you are lucky enough to already have had a boot partition of at least 100MB, you may just upgrade and use the SD as is. However most likely you went with the old standard and should have some 50MB for boot.
Prerequirements: A linux/UNIX OS on a PC (may be a live version, too), SD-card adapter to said PC and either enough space for the image (dangerous) or preferably a second SD-card.
Since you run SAMBA and seem to have quite a bit of modifications, I assume you are advanced regarding CLI, the dangers of dd(!!!), and e.g. device files.
1. Update OS
Ensure that you are running the latest version of Raspberry Pi OS, on the Pi run:
apt update && apt upgrade

Now cat /etc/issue should get you Rasbpian 10 (= buster).
2. Create image of existing root partition
Take out the SD-Card and connect it to your PC. I'll assume the device is /dev/sdX
2a. Preparations for speeding up dd
Mount the root partion (/dev/sdX2) of your RPi OS and create a dummy file anywhere. Write zeros to it.
dd if=/dev/zero of=<path/to/dummy/file/on/SD/card/zerofiller.dummy>

The reasoning behind this is that dd copies empty areas of a partition, too, however NUL-bytes can be skipped while creating the image. Of course this means one writing for the whole SD Card, thus don't do that too often (may reduce lifetime). The boot-partition is rather small, zero-filling can be skipped there.
2b. Creating an image
In this case I'll create an image of the boot and root partitions and save it on the PC's hard drive. If you happen to have two SD-Card adapters and the new SD card is larger, you may directly copy the image to the new SD-Card and save some time. (see point 4)
dd if=/dev/sdX1 of=/home/joe/RPi_boot.image bs=4M
dd if=/dev/sdX2 of=/home/joe/RPi_root.image bs=4M conv=sparse

Now conv=sparse is for skipping the NUL bytes from 2a. The image is now of the original size of the partition. In order to shrink it to the size of the actual data only, use this:
#this check is a prerequirement before running the resizing
e2fsck -f RPi_root.image
resize2fs -M RPi_root.image

The skrinking is necessary if you want to either reuse the old SD or have a new one of the same size as the old one. Why? The new boot partition is sligtly larger, this the old root won't fit in the leftover space. For a new, larger SD, this is not needed. dd performance should not vary, as the empty space was filled with zeros. By the way: the new boot partition size goes from ~50MB to ~250MB, thus roughly 200MB of free space in the original root are assumed.
3. Preparing the new SD
Now here is the problem: if you are lucky to have a new SD, use this, if you must reuse the old one, this is where the danger comes in, as you need to format it - so make sure the images from 2b are good!
I'll assume the new SC-Card is on /dev/sdY
3a. Download RPi OS image
The light version will do. Unzip the image and copy it to the (new) SD Card.
dd if=/home/joe/2020-08-20-raspios-buster-armhf-lite.img of=/dev/sdY bs=4M

(At this point you may check if the Pi properly boots with this. Then back to the PC with the SD-Card).
3b. Copy old image to new root
Now is the time to put the old image on the new SD. Note that it is not necessary to copy the boot partition unless you made deeper changes there, the root will suffice. The above image of boot image is just for backup and restoration reasons.
dd if=/home/joe/RPi_root.image of=/dev/sdY2 bs=4M conv=sparse

Since the image is of the exact size of the data, the partition will now only be of smaller size, so we need to increase it to fill all of the free space on the SD. Similarly to 2b, but resize2fs without options will just increase to the maximum:
e2fsck -f /dev/sdY2
resize2fs /dev/sdY2

3c. Finalizing
Last but not least your partition IDs will most likely have changed, thus  /etc/fstab needs an update. To get the relevant IDs use blkid. Example output for my RPi OS SD-partitions:
blkid
/dev/sda1: LABEL_FATBOOT="boot" LABEL="boot" UUID="3725-1C05" TYPE="vfat" PARTUUID="38de8cd2-01"
/dev/sda2: LABEL="rootfs" UUID="fd695ef5-f047-44bd-b159-2a78c53af20a" TYPE="ext4" PARTUUID="38de8cd2-02"

Mount the root partition, open /etc/fstab, and update the PARTUUIDs. Example file:
proc            /proc           proc    defaults          0       0
PARTUUID=38de8cd2-01  /boot           vfat    defaults          0       2
PARTUUID=38de8cd2-02  /               ext4    defaults,noatime  0       1

Just to be sure run sync to finalize the writes, unmount and you should be ready to boot the RPi 4B with all the old stuff in place and the whole system as you had it before.
4. Alternative: direct copy to a new, larger SD Card
In case your new SD is larger than the old one and you may connect both at the same time, you can skip writing an image to the PC's hard drive.

With the old SD, do steps 1 and 2a.

Prepare the new SD with a fresh image as in 3a

Alter step 3b to directly copy the root partition from old to new:
dd if=/dev/sdX1 of=/dev/sdY1 conv=sparce bs=4M

Proceed with resizing, finalizing and updating fstab as above.
Comment: `Thus increasing the boot partition is a must. `. I don't think this is correct - have you actually tried this? Firmware for the 4B is stored in EEPROM - not in `/boot`. And when it is downloaded during an `apt update` it is stored in `/lib/firmware/raspberrypi/bootloader/`. It is not stored in the `boot` partition on a 4B. Please read [The Organization's documentation](https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md) of the process; you may wish to revise your answer accordingly.
Comment: @Seamus Yes, I did and it fixed my problem regarding moving my system from a 3B+ to a 4B - the whole config could be restored as is on the new hardware. The [official documentation](https://www.raspberrypi.org/documentation/configuration/boot_folder.md) claims `elf`-files to be firmware (incl. specific Pi4 `elf`'s), the boot section of the official, fresh image is already larger (even with light version). I can only imagine removing some `kernel?.img` to save space as alternative, but have not tried and it would create the same space-limitation problems during the next upgrade, so no good fix.
Comment: To clarify the above: contents of `/boot` in the current officiall image (2020-08-20) are larger than 50MB


Naming convention for NIST elliptic curves in OPENSSL

Question: NIST standardized 5 elliptic curves (P-192, P-224, P-256, P-384, P-521) for prime fields. When I looked into openssl, these curves are named as prime192v1, secp224r1, prime256v1, secp384r1, secp521r1. Is there any reason why the name convention was different for different curves?
Comment: Relevant though it doesn't exactly answer the question (and should maybe be updated to include the alternative names like prime256v1): https://crypto.stackexchange.com/q/59964
Answer: The good thing about standards is that there are so many to choose from.
The P-192, P-224, P-256, P-384 and P-521 names come from the FIPS DSS (Latest version of which is FIPS 186-4):
https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf
The secp224r1, secp384r1 and secp521r1 names come from SEC2:
https://www.secg.org/sec2-v2.pdf
The prime192v1 and prime256v1 names come from RFC3279:
https://www.ietf.org/rfc/rfc3279.txt
They're all the same curves though.
Comment: So, did NIST pick 3 curves from SEC2 and 2 curves from an RFC and standardized them as P-XXX curves?
Comment: Well there's also another standard: X9.62 which at least some of these curves appear in. The FIPS standard is based on X9,.62. It's not clear to me what the origin of the other NIST curves are but they seem to predate the earliest versions of the SEC document I could find as well as the RFC. So my guess is its more the other way around...i.e. SEC and the RFC taking the NIST curves and giving them a different name.


Can Lean Six Sigma be implemented in a Service-Oriented Company?

Question: In the past I've studied about implementing Lean Six Sigma methodologies, but the literature and the use cases were related to product-oriented environment. Can Lean Six Sigma methodologies be implemented in a service-oriented environment?
Comment: Welcome to PMSE! I've edited your question to prevent it from being closed as a search or link question. You can improve your question further by adding some context, and perhaps some references to the literature you're referencing.
Answer: Convergys reported successful Six Sigma implementation
Convergys is a customer care company with call centers in many countries. I happen to know that they implemented Six Sigma in their call centers (service-oriented environment) in India and reported major savings. Here is a list of Lean Six Sigma success stories, including the Convergys' one. You might want to check these out and see whether any of it gives you additional info for the service-oriented environment.
Answer: I'm guessing you are asking whether Lean Six Sigma methodologies can be applied on services/non-physical products and services as service-oriented companies may have physical products and vice versa.
Surely some methodologies are more suitable for production, but you can also eliminate waste in service delivery and processes in general. Health care is one example where Six Sigma and Lean Six Sigma have been used extensively, often with success.
Some examples on what waste that can be eliminated in services/processes

Waiting - Also immaterial processes may have prerequisites
Over production & Over processing - services can also they be over delivered

Sources: Own experiences as a Lean Six Sigma Black Belt


Unset special price for product via magmi

Question: I want to remove the special price from some products that have special price. I've tried to leave the column empty but then the special price was updated to 0 what can I do to simply remove the price from some products via magmi
Answer: you can use __MAGMI_DELETE__ magic value to force magmi removing a value entry.
This magic value works for all values you want to "unset"
Comment: hi @dweeves, where do I put it (__MAGMI_DELETE__) / how to use it ?
Comment: thnaks that worked flawlessly :)
Answer: Sounds like your value for special price defaults to 0.
Try this. On the backend go to Catalog > Attributes > Manage Attributes. Locate special price. Set "Values Required" to no and leave the "default value" blank. Then just update your products. If I understand your problem that should work.
Comment: Thanks for the idea but that's already was my settings in the attribute
Comment: When you import are you using 0 for special price if there isn't a special price or are you just leaving it blank?


Show Inventory command on Cisco

Question: Could someone please confirm if 'show inventory' command works on 'IOS (tm) C3560 Software (C3560-I9-M), Version 12.1(19)EA1d'? If no, what is version and upwards do I need this to get it working?
Answer: When you need this sort of information, you can search on Cisco's web site. It is in Cisco IOS Configuration Fundamentals Command Reference:
Comment: Thanks mate, which means according to this the command doesn't support on my device :(
Comment: It means it isn't supported on your IOS version.

Show Inventory command on Cisco


How can I convert Bayer/Flamsteed designations to Hipparchos numbers?

Question: In a text file I have a table of star data with Bayer/Flamsteed designations. I need to convert these into Hipparchos numbers. How can I automatically do this?
Answer: As the names and numbers are essentially arbitrary, the Hipparcos designation cannot be calculated from the Bayer or Flamsteed designation.  Instead you have to look up the star in a database.
There is a HD-DM-GC-HR-HIP-Bayer-Flamsteed Cross Index on line.  (Direct link)You can get a computer to do the look up for you. Or if you only have a small number of stars, you can use SIMBAD and do the look-up by hand.
Comment: SIMBAD supports uploading a list of designations from a file and so you don't need to do it all by hand.


Gravity of a gaseous planet without a core

Question: Both Jupiter and Saturn have rocky cores.   Is there such of a thing as a gaseous planet without a core?   And would a planet without a core have gravity?
Comment: Just to answer one part of your question, the second part: yes, that theoretical planet would have identical gravity; regarding gravity it makes absolutely no difference what the thing is made of.
Answer: The gravitational force on a small mass on the outside of a planet is always the Newtonian $$F_{G}=-\frac{GM}{r^2},$$ so any planet, and particularly, any mass in the universe produces a gravitational field acting on everything else. So if, for example, the mass is $M=2\times 10^{27}\rm kg$ (i.e. one Jovian mass), then the gravity field outside the planet will always be the same (apart from Tides, higher order moments), no matter whether the mass is in Hydrogen or solids.
For the gas giants Jupiter and Saturn in our solar system, the mass in heavy refractories (i.e. everything heavier than Helium) is about $M_{\rm ref}\approx 15-20 \rm m_{\oplus}$, where $\rm m_{\oplus}$ is an Earth mass.
The rest of $M$ is hydrogen/helium. For Jupiter this is 300 $\rm m_{\oplus}$, Saturn about $75 \rm m_{\oplus}$.
This is a relatively large number of refractories in those gas giants, compared to solar composition, which is why we think that they have been formed via core-accretion, see Pollack (1996).
However there is another idea of how to form gas giants out there, which is that of gravitational disc instability, see Boss (2002). This idea posits that at very massive protostellar discs, which form planets, can become unstable and fragment into large clumps, which form gas giants directly. Those disc instability giant planets would have solar metallicity, i.e. a Jupiter-mass planet would have a refractory mass of only $M_{\rm ref} \approx 3 \rm m_{\oplus}$.
Those refractories would presumably sink to the planetary center and form a small core. Exoplanets that were found at large semi-major axis distances (hundreds of AU, compared to the Jovian 5 AU) from their stars, such as YSES 2b, are candidates for such disc instability models, and hence would host such small core. But that is as small of a core as it gets, you cannot have a core much much less massive than this.
Comment: The very first planets to form in the early universe before there were much metals would presumably have much less massive cores.
Comment: @sno What planets are you talking about? Very low mass rocky ones? Then sure, the occurrence of rocky exoplanets seems to be fairly uniform throughout metallicity space for rockies. Gas giants however need metallicities of $[Fe/H]>-1$ and stellar masses of $M_{\star}<1.1 M_{\odot}$ to form in significant numbers (Adibekyan 2019, Heavy metal rules). So the lowest you can go with a core mass would be a disc instability, $[Fe/H]=-1$ protostellar cloud that forms e.g. Jupiters, with $0.3 m_{\oplus}$ cores. Not lower than that, as stated in my answer.
Comment: @sno Furthermore apart from the data, both models, core accretion and disc instability have metallicity requirements to form gas giants. Core accretion needs a minimum amount of metals to cool their envelopes via molecular bands in order to reach runaway gas accretion. Disc instability needs a minimum amount of metals to cool in order to reach the Toomre-criterion of instability. Both minimum requirements work with the found limit of $[Fe/H]\approx 0.1$, so you'd expect no gas giants and hence no cores in the early universe.
Comment: What about sub-brown dwarfs forming with no metals and then being captured into orbit around a star to become a planet, or do sub-brown dwarfs also have a minimum metallicity to form?
Comment: @sno: Brown dwarves are actually exceedingly rare, as they form the low-mass end of the star formation IMF (which depends on metallicity) and are separated from the high-mass end of giant planets (the so-called "Brown Dwarf desert" https://ui.adsabs.harvard.edu/abs/2006ApJ...640.1051G/abstract). The lower mass of BDs will only increase as metallicity decreases as the Jeans cooling required for clumping follows a similar logic as the other processes (https://academic.oup.com/mnras/article/363/2/363/1123406).
Answer: Anything with mass has gravity, so yes, such a planet would have gravity.
However, gases tend to disperse in their surrounding environment, so you'd need a very massive gas cloud to collapse into such a planet for gases not to disperse. This raises the question of the pressure at the centre of this planet; it would be high enough to turn the gas at least into a liquid, if not a solid. Another possibility is that the gas at the core would turn into a plasma (such as in the centre of the Sun) because of the heat—a plasma is basically a hot gas stripped of some of its electrons.
Comment: @Bookaholic: That is not true. The existence of a core in the gas giants has long been proposed to be true due to studies of the equation of state of Hydrogen/Helium mixtures at high pressures. If you take a Jupiter's mass of pure H/He at Jupiters luminosity, you cannot fit this into a ball of one Jupiter-radius, the ball gets too massive. Only by including a ~15$m_{oplus}$ solid mass inside can you get a consistent model Jupiter. Furthermore, in recent years fuzzy cores (or metallicity gradients to be more precise) inside J and S have been measured via JUNO and Cassini.
Comment: @AlexHajnal, sorry a typo. $\rm m_{oplus}=m_{\oplus} = 5.9\times 10^{27} g$.
Comment: This begs the question, do we know the core in Jupiter and Saturn is rocky instead of a solid gas?  My understanding is that we know about the core of both planets only because of the measure of their oblateness.
Comment: Under which circumstances does a plasma form?
Comment: @AtmosphericPrisonEscape Can you define $m_{oplus}$?


Order of conducting "comparative analysis" and "competitive analysis"

Question: In general, what would be the order of developing a product? Is there any suggestion that we do the competitive analysis first or comparative first? or at the same time if needed? And what are the pros and cons?
Comment: To my understanding, competitive analysis is to review potential competitors and noting key features and different solutions while comparative analysis is with a focus outside of the shared market space. A comparative analysis focuses instead on products that share similar experience attributes
regardless of industry or product type.
Comment: How do you differentiate comparative and competitive analysis?
Comment: Thanks for the clarification. The order would depend on the specific context of the product / service being researched and your objectives. I don't think you can establish a general rule.
Comment: @Hsiao-anWu Interesting. I always included non-competitors in a competitive analysis. The point is to see how others do what you're trying to do, so who's doing it never mattered that much to me.
Comment: I agree with both comments above. Both belong to the discovery and research phase of the project cycle. You are trying to learn everything about the project at this point, so no specific first or second, they can be done in parallel. You are collecting different learnings at this point, which will all feed to your analysis later on. You might find similarities between competitors and ideas from other industries, which may or may not be related, but all those findings are added to the same "learnings" pool.
Answer: Ideally you would probably end up doing both as part of your research, so assuming you do them at around the same time it will not really make too much different the order that you carry them out.
The reason for this is because theoretically you are looking for related but similar information from the results of your comparative and competitive analysis. The comparative analysis is about trying to find similarities and differences in products and services of similar features (regardless of industry or product type), while the competitive analysis is more focused on competitors in the same market. Ultimately it will help you determine what are the unique selling proposition for your product and/or service, so it makes sense for you to be as thorough and comprehensive as you can (hence you tend to do both).
I would say that from a business stakeholder's point of view the competitor analysis is seen as more important (higher priority) and therefore this may often be done first by the business analyst. From a UX designer's perspective it may be more important to do the comparative analysis to get a better idea of the types of experiences and help you come up with some insights for designing the product/service.
However, as I mentioned previously, both are important to do as part of your research, and as long as they are carried out at around the same time and also at a sensible stage of the project, I don't think there is too much difference which one you do first.


How do the differences in the number of protons result in such great differences in elemental properties?

Question: I understand(I think) the mass and density aspect, i.e. the more protons you have, the more the element weighs, also the denser the atom is. What about everything else(color, for example)? Elements are not just masses and densities.
Answer: Unfortunately, I have to disagree with trb456's answer.  It is both the protons and the electrons that make up chemistry. (Neutrons are considered massive "spectators" though they are what keep protons (all + charged) together)
Bonds are formed due to the attraction of electrons and protons. (cf. Slater, Bader, et al.) (The precise shape and nature of the electron density is additionally determined by constraints such as Pauli Exclusion and electron-electron repulsion.)
So if you think about it, there is a very complex interplay upon mixing electrons up with protons. More positive charge in the nucleus tends to keep electrons drawn tight, but in some ways that is counter-balanced by electron-electron repulsion--and the fact that electrons are attacted to other nuclei as well.
So although we ascribe color ("electronic transitions") and reactivity to electrons, this is only part of the story. The protons are also there, and they provide some governance (via Coulombic interaction) over what electrons are permitted to do.
Comment: I disagree with your disagreement, but on a friendly basis! The reason is that proton count *defines the element*, and is thus a constant. It is the fact that electron count can vary for a fixed proton count that make the interesting chemistry. Now of course, the *size* of an atom does matter for many reactions, such as the affinity to remove or donate an electron. But even in this case, it is still mostly about the *electrons* in terms of the reaction itself.
Comment: One definition of chemistry is the transformation of matter from one form into another. Presumably this happens through breaking old bonds and forming new bonds.  Since bonds themselves come about due to proton-electron attraction, the protons must play an equally important role.  Electrons-Only Chemistry is a remnant of Lewis theory (dot structures) which predates the quantum mechanical description of the atom.  (Friends of course!  This is dialogue. I agree there is more variety in electron density, but protons are also important.)
Answer: It's not the protons, it's the electrons.  Electrons are the main determinant of chemical bonding, and it is the bonding of differing atoms that creates the huge variety of chemical properties.
For example, the color of molecules often is driven by the transition elements, starting at atomic number 21.  These metals have the ability to obtain many different oxidation states; i.e. ways to share elections with other atoms that create a certain implied positive charge, and those differing positive charges produce different colors because of the different wavelengths of light that the molecule can absorb.
A really nice video on this comes from the old Chem Study series.  The specific topic is the element vanadium, but they also discuss transition elements generally, complete with a big period table of actual substances.  Here is a link: Chem Study Vanadium


How to show 'Created By' user name in a survey set to not show user names in results

Question: I have a SharePoint survey configured to "Show user names in survey results = No".  I need to run a report showing the name of each person who responded to the survey.  I do not need to know who provided each response, I just need an overall collection of user names who responded.  Since I have the survey configured to not show names, I only see "***" when using the PowerShell code below to lookup Created By details.  I know I can go into the site settings and change "Show user names in survey results" back to Yes, and then get the list of names.  However, this will also allow anyone with access to this site to see the names.  I cannot allow others to see this.
Since changing this one setting from No to Yes would immediately show the name of each survey responder, I know this information is still stored somewhere and that each survey entry has something that ties to wherever this information is stored.  Does anyone know where this is at?
Does anyone have other ideas for how I (the owner/admin of the page) can get the list of users without anyone else seeing the list of users?
<code>PowerShell code:
$web = Get-SPWeb "http://team.company.com/sites/mysurvey"
$list = $web.Lists["survey1"]
$listItemCollection = $list.Items
foreach ($listItem in $listItemCollection) {
    write-host $listItem["Created By"]
}
</code>
Answer: You could try this:
<code>$web = Get-SPWeb "http://team.company.com/sites/mysurvey"
$list = $web.Lists["survey1"]
$list.ShowUser = $true
$list.Update()
$listItemCollection = $list.Items
foreach ($listItem in $listItemCollection) {
    write-host $listItem["Created By"]
}
$list.ShowUser = $false
$list.Update()
</code>
Obviously the users would be visible while the powershell is running.
Alternatively you could go after the properties:
<code>$listItem.Properties.vti_author
</code>
or
<code>$listItem.Properties._Author
</code>


What does (-;-) after a gene mean?

Question: I'm using Promethease to examine genome data originally downloaded from 23andMe. Some genes I notice do not show allele information (eg. (G;G), (C;G)) and instead seem to be blank (-;-) like in the screenshot I provided. Can someone please tell me what this means? Thanks in advance.
Answer: I suggest you to take the tutorial you can found from here
Before the $(-;-)$ there is the specific location of the gene in the DNA. Between the brackets you have your specific genotypes at the location marked before. So, whatever is inside the brackets is referred to a single nucleotide polymorphism (SNP) found in your gene. If there is nothing, as the case of the screenshot that you provided, is possible that they are not able to determine the SNP (so the SNP is not found and this information is missing).
Comment: Thanks for your answer. Yes, I'll look at the tutorial.
Comment: @OGLdude You are welcome, if you think that my answer is good, mark the question as answered by accepting the answer ;)

What does (-;-) after a gene mean?


Time to send bitcoins?

Question: I was investing bitcoins in Coin Controller but I need the time to send it because they only give you 10 minutes. So I want to know how to calculate the time to send bitcoin with for an example 0.00005 transaction fee. I know that you can't calculate it but do you know how long it would take if I send 0.00015 and the transaction fee is 0.00005 (the half of a normal transaction fee).
Comment: I'm not sure I would call that an investment - I'd call it more of a pyramid scheme.
Answer: The time required for your transaction to be broadcasted over the network is normally a few milliseconds. A high HD utilization, an outdated processor or many small unspent outputs in your wallet can delay the time required by your client to perform the broadcasting.
The time, however, required for your transaction to get one confirmation, assuming that your client is synched and the transaction itself is valid and carries the right fee to get included right away into the next block, is currently around 8 minutes (6:45 to 8:43 minutes over the past 30 days).

Time to send bitcoins?


Seven term Blackman Harris window

Question: I am currently trying to evaluate a high resolution ADC for which I need to window my output data for the FFT. Up until now I have been using the default 4 term Blackman harris window in MATLAB. However, I came across a few app notes that recommend using a seven term Blackman Harris for the SNR ranges that I am interested in.
I have tried looking quite a bit but I cannot seem to find an equation for implementing the seven term BH window, neither is it available in MATLAB. Can someone point me to a source where I can find this?
As far as I am aware Harris' classic paper on windows doesn't provide the equation either.
Comment: In addition to the complete answer that was provided, I have found [this](http://www.cs.cmu.edu/afs/cs/user/bhiksha/WWW/courses/dsp/spring2013/WWW/schedule/readings/windows_comparison2_harris.pdf) and [this](https://pdfs.semanticscholar.org/752e/4232eeb19a880bdd63bef78b554974627c15.pdf) paper useful when thinking about windows.
Comment: I wrote this function for a few different windows including the blackmanharris 7 term: https://github.com/Matlab-Toolbox/create_window
Answer: In this document you can find the coefficients of a seven-term Blackman Harris window. Ignoring the bizarre notation, it seems like the window is defined by
$$w[n]=\sum_{k=0}^6a_k\cos\left(\frac{2\pi kn}{N}\right),\quad n=0,1,\ldots,N-1\tag{1}$$
where $N$ is the window length and the coefficients $a_k$ are given by
$$\begin{align}
a_0&=0.27105140069342\\
a_1&= - 0.43329793923448\\a_2&=0.21812299954311\\a_3&= - 0.06592544638803\\a_4&=  0.01081174209837\\a_5&= - 0.00077658482522\\a_6&=  0.00001388721735\end{align}
$$
Unfortunately, they do not mention where those coefficients come from. Somebody must have run an optimization routine to minimize the sidelobe level for a given mainlobe width.

EDIT:
I think I found the relevant paper here. This is a corresponding Matlab function.

Seven term Blackman Harris window


Discussion section: Rough calculation to explain unexpected results

Question: Unexpected results were attained in a simulation that point to a possible problem with the dataset. While writing about this in the discussion section, I'd like to elaborate on my explanation for this by presenting a simple calculation that reinforces my interpretation. Is it allowed to do this in a discussion section or should I lay the foundation for this in the method section and then include it in the results?
Answer: Generally yes. The purpose of a discussion section is to interpret your results, both in light of what was previously known (hopefully described in the introduction), and with new supporting arguments or hypotheses. A calculation (possibly short or rough) is a good way of providing a supporting argument, and it's quite common to see one in the discussion section of a scientific paper. However, theses are often subject to local rules, some of which may be silly, so make sure to check your institution's style or thesis guide, or check with your advisor whether they have any preferences.
Comment: This sounds about right. You should also consider whether you should say something in a _Future Work_ section, as well.
Answer: I think it is fine and preferable.  This really more "analysis" than "method" at least in the context of the original study design.  Also for a reader it makes more sense in that order.
In general, there is some looseness about the exact configuration of discussion and results.  As long as you are organized and show an understandable narrative, I highly doubt you will get someone telling you "that doesn't go in that section".  I can look at papers in my field and see differences in how discussion was organized in any issue of the major journals and it is fine, no heads turned.
See also pages 8-15 of the attached:  https://ocw.mit.edu/courses/media-arts-and-sciences/mas-111-introduction-to-doing-research-in-media-arts-and-sciences-spring-2011/readings/MITMAS_111S11_read_ses5.pdf


Symlink permission issue on Linux + ZFS

Question: I have two symlinks pointing to the same target directory. ls shows one of them (the bad one) belonging to the 1001 user, the other to root. Any user other than 1001, even root, can list the directory using the good symlink, but not with the bad one. The 1001 user can use either one and they work.
# ls -ldn /opt
lrwxrwxrwx 1    0   0 12 Sep 27 12:54 good -> dir
lrwxrwxrwx 1 1001 100 12 Nov  7  2016 bad -> dir
drwxrwxr-x 9 1001 100 11 Jun  3  2016 dir
...
# id
uid=0(root) gid=0(root) groups=0(root)
# ls /opt/good
(directory entries...)
# ls /opt/bad
ls: cannot access /opt/bad: Permission denied

What could possibly be causing this? I was under the impression that a symlink's own permissions didn't matter on Linux. How do I fix it? How do I find all symlinks with this issue?
I'm using a Debian Linux system with kernel 4.4.76 and ZFS 0.6.5.9. Is this a bug in the kernel and/or ZFS? Could it be some dead Solaris code left in ZFS that reads the symlink's own permissions?
Answer: Solaris doesn't care symlinks permission so I doubt ZFS code could be the culprit.
In any case, you might try the following workaround:
chown -h 0:0 /opt/bad

Symlink permission issue on Linux + ZFS


Could a horse-like creature have human-like hands as its forefeet?

Question: Could a horse-like creature have human-like hands as its forefeet without changing the way it moves?
Comment: Obligatory: https://www.youtube.com/watch?v=Xyv_sLHlM0k
Answer: Short answer: No, sorry.
Long answer: You see, horses are ungulates, meaning they walk on the tip of their digits. This was a process that took a few thousands of years to happen, resulting in the fusion of some digits, as well as hand bones, and loss of the others. Horse hands are quite differently structured than ours and aren't composed of the hooves only. Technically, these are the horse's hands:

Human hands on the other hand, are great for grasping, climbing and holding stuff, but if the way you walk doesn't hint that, it's been a couple thousand years since they've last aided in walking, if at all (nowadays it's assumed we evolved from a primate which didn't knuckle walk). Additionally, walking on all fours using only the tips of your fingers and toes (be careful though) should give you an idea of how much pressure the horse's hooves need to support, and how much the different pressures mattered to reach a forelimb anatomy that looks so different from ours.
So summing up, trying to put human hands on a horse structure and expect it to run is not that different from putting human hands in a bat and expect it to fly (both are cases of limbs being highly specialized to fit a certain purpose, which will not be able to function as intended if such drastic changes occur).
Edit: remember that hooves are much better at absorbing impact and avoiding injuries while running than our hands (see how people who deal with construction work and similar physical tasks tend to naturally develop stronger and more tough-skinned hands to help avoiding injuries and cuts). Additionally, our fingers could get in the way due to not being adapted to bend bend in a direction that'd be opposite to their normal flexing direction. We also need to remember horses don't have quite the range of movement our arms do, as they evolved to move in a 2d plane (left and right), while we came from an ancestor that moved in a 3d plane (left, right, up and down), so even if it could have hands in the place of their phalanxes, I don't think it'd be able to use them as we do (further anatomical changes to allow for such movement would further impact on what makes it such a good runner). If what you need is grasping ability, remember that options such as prehensile tongues, lips and/or noses have been used by other ungulates (giraffes, rhinos and elephants are all ungulates, even if some don't look like so).
Comment: @Ichthys King it's not just about supporting weight here, it's about running. Explaining exactly the difference between the adaptations that allowed our hands (arboreal adaptations) and the horse's hooved limbs (cursorial adaptations) would need an answer of its own (or 5 comments). So I think it'll be more useful to let you understand the differences through [this](https://www.biologydiscussion.com/animals-2/adaptation/top-9-types-of-adaptation-in-animals-biology/59849). If what you need is grasping ability, just look at giraffes, they adapted to use their tongues for grasping instead.
Comment: Part of it is that the whole structure of the horse's front leg, and the reason the joints are positioned where they are, is to help it run efficiently (or to run at all, especially given the weight of modern horses). So if it's going to have human-like hands in place of hooves, has it developed a whole extra section of the fore-limb with additional bones? It's biomechanically feasible to stick a bunch of long fingers to the top of its hoof, fold them up out of the way to run, and down around the hoof to have a hand with a very solid palm.
Comment: ... but evolutionarily, for a horse (heck, any tetrapod vertebrate) to sprout a whole new set of multi-boned digits at the end of its existing multi-boned digits, just doesn't seem to happen. Either evolution "uses" those digits as hands or "uses" them fused as a weight-bearing extension to the limb. It doesn't get them twice.
Comment: What if you replaced the horse's distal phalanx with a human hand, and then altered the hand?
Comment: Ichthys King it'd still cause problems to its movement, as the human hand is clearly not adapted to sustain weight like the phalanx is. It might be easier for your horse to simply evolve into a creature with have 6 limbs, 2 pairs of arms (1 evolving into humanoid hands and the other as normal horse limbs) and 2 legs than to successfully run around with human hands where it's front hooves should be.
Comment: But how could the human hand be changed to support weight?
Answer: If you were willing to compromise! The hoof is a modified finger. So, you could have regular fingers around it. I'm not sure how useful that would be, but technically, it would both have human-like hands and be able to move normally.
Comment: That reminds me of [this anatomy study](https://www.deviantart.com/russelltuller/art/Equus-Hand-Anatomy-Study-625848343)...
Answer: Get down in a kneeling position, legs and forearms on the ground. Note that the elbows touch the knees.
Now observe how a cat or dog does it. Same thing — the elbows of the front legs touch the knees of the back leg.
Now, watch a horse do it. The front hooves touch the back knees.
When a cat or dog runs, they put their feet way out in front of their front knees, and they pull forward with their front legs.
A horse extends their 'knee' way out in front and the feet are tucked behind the knees.
When a cat or dog jumps a barrier, they extend their paws first. If their front foot touches the barrier, it is the sole or pads of the foot that makes contact.
When a horse jumps a barrier, it puts its knees way out, and tucks the feet back under the body. If the front foot hits the barrier, it is the top 'shin' that hits the barrier.
Humans, or any animal with front paws or hands, would jump like the dog or cat, front feet first, not like the horse, knee first. It's all about how the front leg joints bend (the joint in the position of the human elbow, although in the horse it isn't really the elbow but the wrist) in the horse vs. the dog or cat. So the method of running and jumping is totally different between the two.


Do members that opt out of war hurt your clan war?

Question: When a member chooses to "opt out" of a war, will their base count toward your clan when searching for a clan to battle?
Answer: Supercell has not publicly released their matchmaking algorithm and they probably never will.
So at this point it's based on conjecture and user tests. However, from user tests, it seems that once you have your number set for the clan war, matchmaking uses just those bases that are chosen for the clan war.
There's a thread on supercell's forums addressing this, but there is no fully conclusive answer for this.
Answer: Probably not.
From my personal experience the clan wars that we have are not as high level. I mean we have an opted out player at level 110, he is in masters league. Other players are low level about lvl60. As we know that clan wars are based on upgrades(how much is a base up upgraded ). We generally are opposed by players level ranging from 82 to 58(statistics from last clan war).
Here Max level opposition 1st player is not high as 110 level opted out player we have. So I think opted out players don't count toward selection of clan war.


What lessons we learn from the Surah Kahaf?

Question: Can somebody give a summary of the story as haab-e- kahaf, and most importantly what is the lesson being taught here ?
Answer: The Companions of the Cave were a group of youth who believed in the Oneness of Allah. Allah says that because of their firm belief in Allah, He increased them in guidance.
Several of the earlier and later tafsir scholars have mentioned that they were sons of the kings and leaders of Byzantium, and that they went out one day to one of the festivals of their people. They used to gather once a year outside the city, and they would worship idols and offer sacrifices to them. They had an arrogant, tyrannical king who was called Decianus, who commanded and encouraged the people to do that. When the people went out to attend this gathering, these young men went out with their fathers and their people, and when they saw their people's actions with clear insight, they realized that the prostrations and sacrifices the people were offering to their idols should only be dedicated to Allah,
Who created the heavens and the earth.
Each of them started to withdraw from his people and keep aloof from them. The first one of them to move away on his own went and sat in the shade of a tree, then another came and sat with him, then another came and sat with them, then four more followed suit one by one. None of them knew the others, but they were brought together by the One who instilled faith in their hearts.
Allah SWT assisted in gathering them together, and making their hearts firm.
And so these youth were brought before the king, and their statement essentially is the ayah from the Qur'an: "These, our people, have taken besides Him deities. Why do they not bring for [worship of] them a clear authority? And who is more unjust than one who invents about Allah a lie?"
And then the next ayah talks about how they withdrew from their community and from what they worshipped other than Allah. The scholars say that boycotting the community is allowed when one fears for their life OR their religion. If one is unable to practise their religion, they have to get away.
The following few ayaat talk about how Allah SWT protected and preserved them while they slept in the cave. Nobody disturbed them, nothing happened to them. Allah SWT only mentions the regularity of the sun rising and setting. And so the lesson for us is that Allah SWT protects us if we remember Him when we need His Help.
Then the Qur'an talks about what happened when they woke up - they thought they were asleep for a day or a part of the day, one of them went out into the city to find food. The people of the city were amazed to see them, some narrations mention that the king at the time was Muslim, and then they rejoiced, and passed away shortly after. Allah says they were in the cave for 309 years.
Ibn Kathir has more details on this story in his tafseer. Here is a summary of the lessons contained in this story:

If your life or religion is threatened and you can't protect it except by fleeing, then you gotta get out. This can mean different things for different people. Maybe for someone it means to flee from that environment which causes them to forget to pray salah, or causes them to forget the remembrance of Allah. Of course in an extreme case it can mean to physically remove yourself and go to another place.
Allah will protect those who believe in him and increase them in guidance.
Allah's Promise is true
Allah is showing us how time can be so relative - they thought there were out for a day or a part of a day, and they were really asleep for 309 years.
Allah shows us how even after seeing such a miracle, the people can go back to shirk (if you finish the story in the surah, you'll see what happened at the end)
Allah SWT teaches us not to argue about matters about which we don't have knowledge, and to attribute knowledge to Allah (in this case, people argued about how many youth there were)
Allah SWT reminds us that we have no Wali except Him
In the time of the Dajjal, he will go around destroying stuff. It's immediate, his injustice and oppression. He'll kill people, demand them to believe in him as a god. So in this surah, Allah SWT is telling us what to do when that happens, and to have faith in His Help.

Source: Tafsir class notes and Bilal Philips audio of Tafsir Surat Kahf.


Is there any way to have comment templates whenever we are typing comments?

Question: We already have a comment template thread but oftentimes it takes a long time to open meta, go to the question, wait for the page to load, scroll down to the correct comment and copy it, especially if one's internet is slow. Is there any way we could have an opt-in method for a side-panel to open up when typing a comment with the common comment templates straight from that answer. If not, could we have a user-script to do the same job?
Comment: If somebody has enough time to try it out, perhaps this userscript is worth checking out: [QuickComment: comment shortcuts to cut down on tedium](https://stackapps.com/q/4796). (And it's possible that you might find some other similar tools on Stack Apps.)
Comment: @MartinSleziak for example, I use `htagq` → Unfortunately, I feel I had to flag this. This isn't a site that will solve problems **for** you, and some effort or examples of your own thoughts must be shown. That way, we can help you—and others—the best we can. For more information, please read [how to ask a good question](http://goo.gl/PlJyVQ). At any rate, I wish the best of luck to you, and please continue to contribute to our wonderful site!
Answer: I have always used AutoReviewComments with great pleasure. It sounds like it would exactly fit your wishes.
It is completely configurable using a text editor, using which you can easily include your favourites from the list of comment templates.

As an aside, to save you time copy-pasting in general, you could look into using a clipboard history like ClipX. It has become an indispensable "quality of life" tool for me.
Answer: If you're on a Mac, text replacement shortcuts are a built-in feature. Its less capable than the other options, but requires no installation and should Just Work in every browser (in fact, system-wide, which might be too much...)
You can find this option by opening System Preferences > Keyboard, and then the Text submenu. You should see this window (or something similar if you're on a newer OS):

The +/- in the bottom left lets you add/delete items in the list. For instance, typing msehow(apparently its not case-sensitive) and hitting space turns it into the following text that I just made up:

Hi there, your question as currently phrased is likely to attract close votes and downvotes. To avoid this and also to get the best answers suited to your understanding, I suggest checking How to ask a good question.