What caste are foreigners?

Question: If a person is born in hindu religion, he will have some caste. And is there anything that mentioned about foreigners? There are some civilizations like babylon that started in mesopotamia, along with indus valley, and ever mixed. What caste those people come under?. Is there anything that mentioned about foreigners and other religions in our sacred texts? I know Hinduism is a way of living more than a religion! But people following a different way of living come under which caste?
Comment: see see https://hinduism.stackexchange.com/a/24623/13287 ( and also other related: see https://hinduism.stackexchange.com/a/26326/13287 and see https://hinduism.stackexchange.com/a/26319/13287 and see https://hinduism.stackexchange.com/a/26324/13287 and see https://hinduism.stackexchange.com/a/24722/13287  and see https://hinduism.stackexchange.com/a/26301/13287 )
Answer: How is caste determined?
What we call as caste in english is called varṇa in sanskrit. One of the meanings of varṇa is color, specifically of the mind, i.e character or nature.
Though birth can play a significant role in shaping up one's nature, from the point of view of Bhagavad Gita and Srimad Bhagavatam, birth does not draw a hard line on what caste a person belongs to. In fact the emphasis is clearly on guṇa (nature) and karma (activities).
Bhagavad Gita 4.13 says

According to the three modes of material nature and the work
  associated with them, the four divisions of human society are created
  by Me. And although I am the creator of this system, you should know
  that I am yet the nondoer, being unchangeable.

And in chapter 18 of the Gita the nature/activities of the varnas are further described as below:

Bg 18.41 — Brahmanas, ksatriyas, vaisyas and sudras are distinguished
  by the qualities born of their own natures in accordance with the
  material modes, O chastiser of the enemy.
Bg 18.42 — Peacefulness, self-control, austerity, purity, tolerance,
  honesty, knowledge, wisdom and religiousness – these are the natural
  qualities by which the brahmanas work.
Bg 18.43 — Heroism, power, determination, resourcefulness, courage in
  battle, generosity and leadership are the natural qualities of work
  for the ksatriyas.

Similarly in Srimad Bhagavatam also this topic is discussed by Sri Narada Muni in canto 7 chapter 11 . There his conclusion is:

SB 7.11.35 — If one shows the symptoms of being a brahmana, ksatriya,
  vaisya or sudra, as described above, even if he has appeared in a
  different class, he should be accepted according to those symptoms of
  classification.

Finally I would like to mention that regardless of what varṇa one may belong to, it is not a hindrance for attaining the Supreme Lord. This fact is mentioned by Lord Krishna in the Bhagavad Gita:

Bg 9.32 — O son of Prtha, those who take shelter in Me, though they be
  of lower birth – women, vaisyas [merchants] and sudras [workers] – can
  attain the supreme destination.

What caste do foreigners belong to?
General Perspective: Since these people do not follow the varna system of Vedic culture the terms like mleccha and yauvana are used to describe them. These terms indicate they are less than sudras. You can find these in sanskrit dictionaries like Monier or Apte. A description of these races can be found in the purport of Srila Prabhupada to Srimad Bhagavatam 2.4.18  where he connects the places outside modern India to the original Bharata Varsa using references from Mahabharata.
However when any of the foreigners take up the Vedic culture their classification wouldn't be any different than the Indian Hindus according to the Gita and Bhagavatam references above. Having a birth in different land or religion is not a barrier. This practice is prevalant in Gaudiya Vaishnava tradition where many brahmanas and sanyasins are from foriegn origin.
Comment: Good answer. The vedas never endorsed hereditary caste.
Comment: To finish off your quotes from Śrīmad-Bhāgavatam (Bhāgavata Purāṇa), `Bg 18.44 — Farming, cow protection and business are the natural work for the vaiśyas, and for the śūdras there are labor and service to others.`
Comment: In the definition of "caste" itself comes "hereditary transmission of a lifestyle". So, **Caste is NOT _Varna_.**
Answer: First of all, Caste System is a NON-HINDU, widely propagated idea of Victorian age, that is an "exaggerations" of the NON-HINDU, yet unfortunate discriminations that some Varna had to face while the oppressive Muslim regime in India.
You see, the division is called Varna System, which was NEVER birth-based actually. It was all dependent on the Guru, that individual had taken his deeksha from. (Note that, a Guru holds the highest position in a Hindu world, equivalent to Gods). In the most common case, a person's OWN father was his Guru by default. So it was customary e.g, for a son of Brahman to be a Brahman etc.
BUT, the important thing to note is that, one was ABSOLUTELY FREE to seek discipleship of any person in this world. So with the grace of a Guru, a boy born in a Shudra family could also change into a Brahman, i.e a Varna that is supposed to be seeking Brahmm, self-realization, and eventually Moksha. OR a Brahman's child can become a Shudra too, by the grace of his Shudra Guru (one who imparts "Shudra skills" in his disciples).
In all a Guru was the ONLY one, considered having the potential to "Transform" his disciple into his own self. So under a (supposedly actual) Brahman Guru who teachs skills of self-realization, all his disciples, no matter what their ethnicity or Varna are, become Brahmans themselves.
Later, indeed things degraded, and like an Avalanche, starting from Brahmans, whole Varna system eventually broke down to whats later came to be called as Caste System, by Britishers.
The ONLY thing "fixed" to any individual is his Gotra. You can not assign a Gotra to a foreign coverts to Hinduism, or in fact anyone. Its strictly birth-based. Because that are linages from the Eight Mind-born Sons of Brahma, called Gotrakarin, meaning roots of Gotras. It is (believed to be) a way to ensure no Eunuchs are born as offspring, so that their family can grow further.

NOTE: I seldom provide references in my posts when I present my views on the subject, because I think looking up to a book every time you need to think "think!", is a again NOT a Hindu trait. Vedas were in souls of ancient sages, they did not mug it up either. Reading Vedas should be a journey of Mind to soul, rather than of memory from one synapse to the other.
Mind you, that there is a difference between Vedas and books of other religion. "Vedas" are NOT "Holy" as in "Holy Bible" or "Holy Quran", but they can for sure MAKE YOU HOLY.
Comment: what makes you say the ultimate scriptural authority texts the oldest texts of humankind for a billion strong people are not HOLY for them??? They are definitely HOLY VEDAS for us!!!
Answer: I think the best guess is that foreign communities that accepted Hinduism were given one caste. Were foreigners accepted in Hinduism? Let me post Vivekananda's answer to a journalist.

"I want to see you Swami", I began, "on this matter of receiving back
  into Hinduism those who have been perverted from it. Is it your
  opinion they should be received?
"Certainly", said the Swami (Vivekananda)," they can and aught to be
  taken."
He sat gravely for a moment, thinking, and then resumed, "Besides," he
  said, "we shall otherwise decrease in numbers. When the Mohammedans
  first came, we are said -- I think on the authority of Ferishta, the
  oldest Mohammedan historian --- to have been six hundred millions of
  Hindus. Now we are about two hundred millions. And then every man
  getting out of the Hindu pale is not only a man less, but an enemy the
  more. Again the vast majority of Hindu perverts to Islam and
  Christianity are perverts by the sword, or to the descendents of
  these. It would be obviously unfair to subject these to disabilities
  of any kind. As to the case of born aliens, did you say? Why, born
  aliens have been converted in the past by crowds, and the process is
  still going on. In my own opinion, this statement not only applies to
  aboriginal tribes, to outlying nations, and to almost all our
  conquerors before the Mohammedan conquest, but also to all those
  castes who find a special origin in the Puranas. I hold that they have
  been aliens thus adopted. Cermonies of expiation are no doubt
  suitable in the case of willing converts, returning to their Mother
  church, as it were; but on those who were alienated by conquest-- as
  in Kashmir and Nepal -- or on strangers wishing to join us, no penance
  should be imposed."

Vivekananda (Complete Works V, p233, interview given in "Prabuddha Bharat", April, 1899)

Nowadays foreigners accepted into Hinduism do not have to accept any caste. Caste is a peculiar institution in India. I doubt if people like Julia Roberts who converted to Hinduism claim to be of any caste. I asked the Vice President of the Malibu Hindu temple about how they handle the gotra issue of American Hindus who offer Pujas in the temple.
He told me that the temple priests do not ask American Hindus their gotra for obvious reasons and just use the term 'natural gotra' in Pujas offered by them.
Comment: Good answer. I would only say that even for foreigners, their caste is determined by their character and activities. I can see the day when enough foreigners band together to form their own caste.
Comment: I would say that their Varna is determined by their character. The modern day Hindu caste system has no connection with the varnashram dharma of the Gita.
Comment: @PradipGangopadhyay- when varna is supposed to be determined by birth, it is easy to establish it..who exactly would determine the character or activities which keep changing multiple times during even 24 hours, not to speak of a lifetime..so would such people's varna/jaati keep changing by the hour throughout their lifetime..? Sounds quite impractical if not downright absurd.
Comment: Yes, that is the reason why I have said previously that the varna system is not a practical system and should be abandoned.

What caste are foreigners?


Any idea why this 'not an answer' flag was declined?

Question: I've checked multiple 'identical' question, but did not directly find one that referred to a similar kind of answer than the one I flagged as 'not an answer'. I fail to see why my flag was declined. If this is a real answer, 30% of my comments would be answers but not directly have helped anyone. Please enlighten me.
Comment: That answer contains *try adding xxx*, which, under our current "consensus", makes it a valid attempt at answering I'm afraid. You would have better luck with a custom "should be a comment" flag rather than a NAA flag in this situation.
Comment: @Kukeltje it does not exist.  It's a _custom_ flag.  These go straight to the mods.  Only use them for actions that normal users can accomplish (such as converting to a comment), and you need to be specific on what you want to actually happen and why.
Comment: Thanks for the explanation. It makes it a little more clear, although in some cases simiilar flags were accepted. But I'll try to flag it as 'should be a comment'  (if available, since I think I do not always see that option).
Answer: This is the answer:

Is your ManagedBean @ViewScoped? Also try adding process = "@this"  partialSubmit="true" to
 and check if your color is being saved on selecting #{car.color.id} from menu.

Now imagine you're a moderator and this is all you see to determine if your flag should be declined or not. Keep in mind that deleting anything of value is a sin.
Your own analysis of the answer is inline with mine:

This is not an answer but a question... it contains a question mark, the word 'try' and the word 'check' in just three lines.

but based on that analysis I down vote such answers instead of flagging. It is an attempt to answer, it provides two possible solutions. I could argue the answerer might have want to write: If your ManagedBean is @ViewScoped you might try....
The attempt to answer reasoning can be found in the (in)famous Your answer is in another castle: when is an answer not an answer? that goes into a lengthy discussion and background on when to use the NAA flag. And as Shog9 has some influence on the moderators you can be sure they follow the advice on how to handle those flags.
Comment: _"It is an attempt to answer, it provides two possible solutions. I could argue the answerer might have want to write: If your ManagedBean is @ViewScoped you might try...."_ In 95% of the cases in the JSF/PrimeFaces tagged questions this is unfortunately not the case. Users answering like this are either new users without enough rep to comment or users that just take a (usually wrong) wild guess and format the answer like this since they did not try themselves (would have failed). Unfortunately, SO users I see in the these tags) more and more seem to be like 'script-kiddies' or plain out lazy.
Comment: OK, I'm not familiar in that tag at all and if you assume the moderator handling your tag is probably making the same mistake.  Down vote and find a 20K-er that want to delete vote such answers give a better success rate.
Comment: Thanks! Your answer is good clearification.


Testing open boundary conditions

Question: I have a software requirement like "User shall be give a warning if value entered is >100" The requirement does not speak anything about the higher value. So obviously it is an open boundary condition. So how shall we conduct testing with invalid condition? What is the higher value I can consider for testing?
Comment: Is there some reason why you don't think you could use 101?
Answer: There is difference between Boundary Testing and Equivalence partitioning. With Equivalence, 101 will suffice. For Boundary, you'll need to know (or best guess) the data type. For example, if it is an INT, you can test a value larger than an INT supports. Normally, in this case the number would 'wrap around' to the negative end.
Comment: But if we need to know the INT etc variable used, it becomes kind of structural testing right? Suppose I will change the requirement  something like "The tax rate above 100000 shall be 30%. So in this scenario, obviously I will have to test for the highest possible value because all value above specified above is valid. Where is the boundary in such case? Otherwise what if the amount entered wraps around and tax is calculated at lower rates? So obviously developer may has to indicate what is the maximum limit and beyond that what happens!!
Comment: Yes, you need to know an INT is used or try the values Steve outlined in his answer. Usually I have access to source code or at least the database so I know the data types.
Answer: If requirements coverage is your testing goal then any number >100 will do, such as 101. If you wish to be more thorough, then a list of commonly mishandled values such as this one can be a useful starting point.
Answer: If the value is a floating point or double type then I would suggest the following list of test values:

At & Over Limit: 100, 100.0000000000001 (number of zeros depending on the resolution of your float type at 100) & 101
Under Limit: 99.999999999999 (number of nines depending on the resolution of your float type at 100), 99, 0.0 (always worth checking), -99, -100, -101
Special numbers that the developer may have got wrong, e.g.: 256, 32769, 65536, MAXINT+1, MAXLONG+1
Bad Floating Point Numbers: +INF, -INF, NAN, SNAN - the question arises what is the code supposed to do in these cases.

Testing open boundary conditions


Print channel from Slack

Question: When using Slack, how can I print all of the messages that were said in a channel for my records?
Comment: I guess this is a way of doing https://levels.io/slack-export-to-html/
Comment: It looks like it would but I had problems running it.  I was in a hurry so I just did it manually.  Revelant xkcd: https://xkcd.com/1205/
Answer: In order to store and print messages from a channel you use the export feature in the client or develop a script that uses the web API.
The export feature works fine, however there are a few constrains:

can only be done by admins or owners
only works for public channels
the format is JSON (one file per channel, each message is one element
in a JSON array)

See here for further information on the Slack help pages.
I also found a Slack App called Export that allows to export the full content of a channel for storage and later printing. This app supports exporting for any channel the user as access to including private channels. Messages can e.g. be exported in HTML for printing with the browser. The app works fine, but the output quality is a bit rough and seams to lack images and conversation of Slack link syntax to HTML.
Another approach is to develop your own script. You only need to read all messages of a channel directly via web API (with conversations.history]3) and then process it further (e.g. convert to output file for printing). That will work for both public and private channels, but obviously requires a bit of coding.
Comment: Looking on the 3K views there seams to be a lot of interest for such a feature. So it might be worthwhile creating a Slack app for it.....
Answer: Well, maybe late, recently i have write a chrome extension "slack printer" to export the slack messages into html, also support pdf/png/json, event markdown.
Try it in https://chrome.google.com/webstore/detail/slack-printer/pmoidapkjjlhcdbdjojaekbdlkdjjoab
using this tools, no need as admin role, hopefully it can make your life easier.
Comment: This did not get all threaded messages for me.

Print channel from Slack


Start attacking instead of blocking while sparring

Question: I have been practicing kung fu for the past one and a half years. I can do head level basic kicks like roundhouse, side and front kicks but when I spar I don't feel like attacking the opponent. I seem to prefer blocking.
How can I get rid of this mental block?
Comment: Your question is implying that by preferring to block, you are in some way doing something wrong. That is not the case. There is nothing wrong with being a defensive fighter as long as you block **AND** counter.
Comment: @vijay : from your other comment that you are "worried about hurting the other opponent". There is nothing wrong with you, some people will never be comfortable with hitting others no matter what, so maybe change of styles or just accept that who you are and practice the art not worry about competition.
Comment: +1 Welcome to the site!  This is a nice question, so have some reputation to get you going.
Comment: I found that true when I first started a martial art. But after some time, I think I gained more confidence in my own abilities (not seriously injuring myself, not seriously injuring someone else, etc.). It also became easier to see opportunities for striking. I also agree with Arjang: some people will never be comfortable with hitting others. Everyone responds to sparring differently.  If you want to get better at it, just do it more!
Answer: I have two methods I rely on when I become a counter-puncher (or counter-thrower, or passive grappler).

The first is to simply attack constantly. You will become tired. That's okay, you'll get in better condition. You will make mistakes. That's okay, mistakes are what practice is for. Start every round (against competent, non-noob partners) with an unrelenting torrent of controlled attacks.
The second is to set a mental timer. It goes up to, say, ten and resets every time you make a committed attack. This allows for timing, feints, and counter-attacks and spares you a little wind compared to the first option. It imparts urgency.

Introspect
But really, the best solution is to look inside yourself, and ask: why do you feel like blocking? Are you afraid of getting countered, knocked down, blocked, injured? Is this a new problem, or did it arise recently? Track down and destroy the root of this mental block.
If the issue is that you're afraid of hurting someone, then ask yourself why that is. Did you hurt a partner in the past? Do you not have control of your technique? Do you not enjoy being hit yourself? Recognize that trying hard to defeat your opponent is the very best thing you can do to help their progress. In judo, this is known as jita kyoei, or mutual benefit and welfare. The idea is that by challenging each other, all students improve together. By depriving your partner of a diligent attempt to kick them in the head, you are stunting their growth as a martial artist.
Comment: I think I'm worried about hurting the opponent. I will come over it, I realize it doesn't help either of us!
Comment: @vijay I was the same way. I've been doing my art for about a year and a half now. When I first was able to go to sparring, I wasn't sure about my reach, my power, and was afraid of hurting my partner. I found as I practiced more, I learned my reach, and learned to control power, and became more comfortable. It's just a matter of time as long as you keep at it.
Comment: +1 for _By depriving your partner of a diligent attempt to kick them in the head, you are stunting their growth as a martial artist._
Answer: I believe most of people have ingrained into system a social unwritten law. We do not hurting other people.
The law is unconscious and generally it is a good thing. Fighting systems do teach how to go over the psychical restriction, or I should rather say fighting systems should do it. Your problem is common and you need to work on it.
I remember the first time when I kicked someone in the head with full power, I felt the door opening and that was weird.
Lack of attacking is caused by the unconscious fear of hitting and being hit. Additionally if your system is allowing head punches the barrier will be stronger. As hitting the head is as socially unacceptable.
When you spar put your mind in the predator state. What I mean is think about your partner as a prey that you are hunting. Keep it in mind. Make your body ready for attacking, not for defense and do it by focusing on attack. Always when partner does brake the distance you go. Once, you brake your mind. You will see that even when you do block you putting yourself to attack position.
Comment: +1 for _When you spar put your mind in the predator state._
Answer: You could try to focus on counter attacks for a while.
As soon as you receive a kick (and preferably block it) you immediately answer it with a kick on your own.
This helps your reflexes, may catch you opponent off-guard and -most importantly- you don't have to think about when might be a good time for an attack: your opponent gives you the command for your attack by their action.
This way you may get used to the feeling of attacking and later start your own attacks to get more control of the bout.
Answer: A good attack is an attack that succeeds. In order for an attack to succeed, it has to make contact with a proper area on the partner's body. In order for an attack to make proper contact, the way has to be clear, that is to say, it must not be blocked.
So, how do you throw an attack that does not get blocked?

Throw the attack so fast that the partner cannot react
Throw so many attacks that the partner cannot keep track of them
Feint so the partner tries to block somewhere else, this will open the area you really want to hit
Throw a strike the partner cannot see: if they don't know it's coming, they can't block it
Make your partner over-commit to an attack, so they open up and you get a nice target

If all else fails, you could always ask them to stand still and then beat them up...
One good drill to help you is to work with a partner at quarter-speed. You always attack, he always blocks. Both of you are moving at only a quarter of the speed of a normal sparring match. Neither of you is allowed to speed up. Your goal is to chain your attacks, that is, as soon as one attack ends, another one begins. You must always attempt to make contact: there is no feinting in this drill. None of the attacks are allowed to be 'setup' attacks, either: there is no such thing as 'this round-house kick will get blocked but will put me in a good position for the strike I really want to throw'. Do this for three minutes, then switch roles. The defender's role is relatively simple: he is not allowed to attack, but he is allowed to sidestep, dodge, block, roll, weave.. Whatever is necessary.
Quarter-speed is important: your brain will not move as fast as your body, at first.
Comment: Ouch, I really thought this was a good answer! I'd like some feedback from the downvoter, if possible, so I can improve as a martial artist.
Comment: I have no idea why the downvote.  This is a great answer in term of advise, drills, and humour! +1
Answer: imho, you can do it in 3 ways; I am not sure what could be applied in kung fu, but here it is:

hard: your block itself is so strong and hard that it will hurt the
attacking arm/leg (like in shotokan)
soft: let the attack fall through, attack at the same time (some
variations of aikido)
semi-hard: cross the direction of the attack with your vertical punch (wing
chun) - you should strike at the same time (perhaps, a split second later) than your opponent, deflecting his strike and delivering yours at the same time

(if you want to know more, please take a minute to read my answer, explaining soft/hard/semihard concepts here)
Answer: There are already a bunch of good answers here, but let me indulge myself and try to rationalize the experience I've had in both learning myself and learning along with my classmates.
The most common reason for this blockage is usually fear. There are several types of fear and consequently several ways of overcoming the fear:
Fear of getting hurt. This one is probably the very first fear that inhibits attacking and counter attacking. To hit an opponent, you have to step into the distance where the opponent can also hit you.
Prospect of getting hurt is frightening. This is something that you just have to get used to. The best cure so far is that in the controlled and low energy sparring situation, you deliberately let yourself be hit every once in a while. That will get you used to the sensation of being hit and knowing that sensation, it is no longer as frightening.
Fear of hurting the opponent. This is the other side of the coin. If you are a normal human being, you have some level of empathy that forbids doing onto the others what you do not want to be done for yourself. This is normal to a point. I do not really know any other way to fight it except dropping the concept of "attacking" or "violence" from the interaction.
I've heard people recommending humming your favorite tune while sparring or imagining that instead of gloves on your hands, you are holding two cups of beverages that you are trying to offer to the opponent. Any way, the act of sparring is mostly not about violence but rather about strategy and tactics.
In some sense it is a very much like playing a very quick version of contact chess. You just see an opening and you go in. Not thinking of hurting or hitting.
Fear of the antagonist. This is somewhat tied to the fear of getting hurt, but it is different. Even if you are used to being hit and are not afraid of being hurt, quite often, what gets you is the fact that the opponent is attacking you.
You usually start dealing with the attack, and you block it, but then comes the other attack and then next one, and then the next one. You are left dealing with one attack after another and it seems that the opponent is overwhelming you, and not giving you a chance to counter. And if the opponent stops, so do you, to compose yourself before you start looking for openings.
If this is what you feel, you are concentrating too much on the antagonist. Instead of exclusively turning your attention to the attacking limb, you should instead look for opportunities to use that attack to slip in and counter, blocking or deflecting en route. Thus, the act of deflection will start feeling more like a side effect of the counter rather than primary means of defence.
In any case, there is a wisdom in something that my teacher once said:

Fear comes from not being in the moment of here and now.
  It is thinking too much of the past and extrapolating it into the future, that creates fear and distorts reality.
  There is no room for fear or deception in the immediacy of here and now. You either deal with what is coming at you or accept it.
Answer: If the reason for your mental block is because you don't want to hurt your sparring partner, then you must think about it this way:
If you don't attack your sparring partner, your sparring partner will most likely not learn anything from the fight regarding defense, and will possibly feel insulted that you find it hard to attack because you might hurt him.
See it like this:
Your sparring will think you find him weak because you don't want to "hurt" him.
In my opinion that is just disrespectful.
Giving it all you've got is good sportsmanship.
Holding back is disrespectful.
Once you think about it that way, you'll have less trouble overcoming that mental block.
Answer: This question has already been kicked around here a few times in slightly different forms.
There is a whole list of things I could mention but personally I think the key thing is to gain experience, which you can only do by training more and sparring more. The exact 'thing' required is different for each person. For me (many years ago) it was the realisation that I could (i.e. had the capability) hurt and disable my opponent and therefore end the fight - this mainly came down to having confidence in my ability and technique.
Don't forget that you are not there just for your sparring partner to practice on - by 'beating' your sparring opponent you are doing them a favour and showing them the weaknesses in their technique (while building up your own proficiency - success breeds success).
While you may feel comfortable doing head high kicks in practice this in no way translates to sparring ability - in fact I would always advocate not using a head kick until the moment is right (a head kick is considerably slower than other types of kick). Stick with some shorter and more basic moves and don't forget to move around and read your opponent.
Answer: I think you are pretty much on the right track when you say 'mental block'.
You are not attacking; and it is very likely that you are not attacking because:
1 - you don't have enough confidence in your knock-out power
2 - you are afraid you will be exposed and counter-attacked.
for the first one, I would train control and precision. Train in slow-motion. This cannot be over-emphasized. Accuracy, control and economic movements (as to not telegraph what you are doing) are the three main components for this.
For the second one, you need to acknowledge that eventually you will get hit. This is something that only experience will provide you with confidence that a) your technique is polished and b) that your confidence will provide you a safe betting on risking exposure via an attack.
I would advise against trying to block. learn good foot-work and keep your distance while keeping your stance down. When it feels right to hit, hit with confidence... it is all about letting it go (with control)
Answer: The way I learn to avoid bad habits is sometimes to suffer the consequences of why they are bad in the first place.
Spar with fake knives... perhaps some markers as you can see where they hit.
Sometimes full contact (like boxing) is good as well.
Multiple attackers are also excellent practice for learning the limitations of defensive combat.
Another option is practicing attacks in drill (freeform or planned) until they become more habitual.
And, of course, keep in mind what you are trying to do when sparring. Get some role-play in mind as to why you want to defeat your opponent rather than just not getting hit.


How can I use Goo.gl as my URL shortener in Twitter for iPhone (Tweetie)?

Question: I've gone to Settings → Services → URL Shortening → Custom. What do I enter as the "URL shortening endpoint"?
Comment: I'm not seeing any requests coming into my server from Tweetie when I use a custom URL.  It would appear it's broken, or the docs are wrong.
Answer: At the moment you can't as there is no official API available.
An extract from this post here:

Even without an official API, there
  are extensions  available for browsers
  like Chrome (eg: goo.gl URL Shortener,
  Shareaholic for Google Chrome) and
  Firefox (eg: goo.gl lite). Before
  people start writing code to
  incorporate our new features, we
  wanted  to let you know we do plan to
  release an official API for goo.gl in
  the future. You'll be able to use the
  API to shorten URLs, expand  URLs, and
  view analytics from directly within
  your own applications
Answer: Not sure if this works, but here is a PHP class that uses an unofficial Goo.gl API: http://code.basvd.nl/google_url_shortener_1.0/
Answer: Depending on how flexible Tweetie is, you might be able to use this:
http://ggl-shortener.appspot.com/?url=%@
Technical details here: http://ggl-shortener.appspot.com/instructions/


How do you merge decks in Anki?

Question: I'm getting an error in Anki that says I've got too many decks.  So, I want to merge a bunch of decks that are essentially the same.  But I can't find a way to do this.  I tried exporting the decks and naming them all the same name and then importing them, but they just come in as the original deck names.  So, I'm not finding any other info on how to do this.
Answer:
Open AnkiDesktop.
Open the "Browser".
Click on the deck you wish to remove on the left-hand pane.
Hit ctrl+a (command+a on mac) to select all cards.
Click "Change Deck" at the top.
Select the deck you want to keep in the pop-up dialog.
Click "Move Cards".
Repeat steps 3 - 7 for all decks you wish to merge.
Go back to the "Decks" screen in AnkiDesktop.
Find the empty decks (the decks you wish to remove will have a card count of null).
Delete those decks.
Answer: Using AnkiDroid, you can move a note to another deck. So you could do it for each card, then remove the empty deck.
But that would be a pain if you have many cards. In that case, I recommend using Anki Desktop too:

Sync on AnkiDroid
Find a computer and install Anki Desktop on it
Sync on Anki Desktop
Move notes like you need, you can select many cards and move them altogether
Sync on Anki Desktop
Sync on AnkiDroid

Disclaimer: AnkiDroid developer
Comment: Yeah, I used the AnkiDesktop version and found an answer at a support site I didn't know about before I posted.  I'm going to post a parallel of their response.  Thanks, Nocolas.  You're like the best answerer on SE.
Answer: Because this answer from 2014 still comes up top in a google search in 2019, I thought I would add to this that, at least on a Mac, the latter part of the above answer is out of date.
On the version of Anki I am using, the first part of the instruction stands: i.e. click 'browse', choose the deck you want to move cards from, click on one of the cards in that deck, and then use command+A to select all.
This is then when the instructions depart from the old ... now click 'cards' on the top left of your browser, and then select the first option 'change deck'. A pop-up will then appear, and within this select the deck you would like to move the cards to, and press the blue 'move cards' button.
Comment: Still relevant in 2023

How do you merge decks in Anki?


How does the soul control the intellect (buddhi)?

Question: Why does not the soul, that is so powerful, stop the intellect from choosing the wrong path/decision/karma?
How does the soul control the intellect (buddhi)?
Comment: It will stop when you will identify yourself with the body or intellect or mind.
Answer: The "soul" has different interpretations in different places and even in this site. Since you termed it as powerful than intellect, I am assuming that you mean "soul = Atma".
As per Gita, soul is beyond the intellect. Some may term "beyond" as "powerful". But that is one way of interpreting.

BG 3.42 — Senses are said to be beyond (to body), Mind is beyond Senses, Intellect is even beyond Mind, "That" is even beyond Intellect.
"That" -- may interpret Atma/soul

Now on main Qn, "Why doesn't soul control the intellect?"
Because, soul is not the doer of anything, it's just an observer. Under the influence of the illusion/mAyA of prakruti, one may believe that 'I am the doer'.

BG 3.27 — All actions (karma-s) are enacted in Prakruti by [3] modes (guna-s). Bewildered with ego(false identity), the self(Atma) believes "'I' am the doer".
  BG 5.8, 5.9 — "'I' certainly don't do anything" is believed by knower of fundamentals (tattva gyAna) - even while seeing, hearing, touching, smelling, eating, moving, dreaming, breathing, talking, discarding, accepting, opening, closing; -- "Senses only are acting in the subjects of senses" - is understood.

Hence, from the "soul"'s perspective, there is neither right nor wrong. Neither choice nor indecisiveness, neither karma nor akarma. It's just a witness(sAkshi).
Performing right, wrong etc. is handled by the intellect(buddhi) only. Under the influence of sattva, the intellect makes the right decisions. This is clarified in further verses:

BG 18.30 — The one who knows activity & retirement, duty & non-duty, fear & boldness and bonding & liberation properly, has SAtvika Buddhi.
  BG 18.31 — The one who doesn't know Dharma & Adharma, duty & non-duty as it is, has RAjasi Buddhi.
  BG 18.32 — Covered by darkness (Tamas), the one who believes Adharma as Dharma and believes other [thing]s also wrongly, has TAmasi Buddhi.

But when the influence of sattva/rajas/tamas will be upon a person -- is unspecified. It's purely destiny.
Answer: Here is what Ramanujacharya has to say about it here.
I am now summarizing/paraphrasing the contents of the article here:
The soul is not just a "mute witness", but also a "doer/agent", because it has free will to make decisions, and reaps the good and bad rewards for its actions.

"This Purusa ever knows. He is indeed a seer, hearer, smeller, taster,
  thinker, knower, doer, a shiningātmā, a purusa" (Prasna Upanishad
  IV-9).

If the soul were merely a knower and not a doer, then it should not be responsible for its actions, yet it is. Also, this would imply complete determinism and Shastras, which prescribe instructions and dharma, would be useless.
However, the soul being pure consciousness and a knower, cannot do anything by itself, so it needs a material body as an instrument to carry out actions. But because it became deluded by Maya and thought it was the body itself, it thus became under the influence of the 3 gunas and thought that itself was the doer and not Prakriti being used as an instrument.
Insentient matter cannot be a "doer" but merely a "compeller", it influences the soul to act in a particular way. So a  person with Tamas guna will be inclined to sleep. However, the decision to sleep or not is up to the soul, and the soul can also make the decision to become Sattvik.
However, one who realizes he is Atma and not Prakriti, is not controlled by Prakriti, but becomes the controller of it.
Comment: Good answer! Actually your answer reminds me that it will be incorrect to interpret soul as "purusha" and then as non-doer. Actually Purusha is often equated with the intellect itself, hence a so called "doer". Keeping that in mind I have edited my answer.
Comment: Well the BG quote you gave mentions both Prakriti and Purusha, referring to the Sankhyan philosophy where Purusha is consciousness and Prakriti is matter. Intellect, known as Buddhi or Mahat in Sankhyan philosophy, is the 24h Prakriti element. 25th being Purusha, the soul.
Comment: *Prakriti* surely contains *Buddhi* (intellect). But there are some verses, which lead me to believe that *Purusha* is often being equated with this intellect, though it is different. I don't remember those for now. Whether *Purusha* should be termed as "doer" or "witness" is little grey area. According to certain BG verses, it seems not.
Comment: I too also believe there are some verses in the Upanishads that use Purusha for intellect. But in the BG verse above, it's the soul. Some scriptural verses say the soul is doer while others say matter is, so if you reconcile both verses, you will get the picture that soul requires body to act.
Comment: Purusha means non-intentional foundation
Answer: Meditation yog is like a separator between the human Intellect and the soul. It makes us able to show who are we.
After Self-realization, we (the soul) are able to control our senses. we feel we are not the sense( Intellect). It's ours!
Thanks!


Should i use Acetone on the walls before painting?

Question: Can i use Acetone on my bedroom walls before painting with Latex satin? I washed walls in another room with soap and water, painted the walls. When i took off the frog tape 1 hour later, the paint came off with it. It was like the paint had turned to plastic. Help!
Comment: I think the tape must come off when the paint is still wet. Otherwise the paint will form a continuous film over the boundary and it will pull off the paint on surface being painted.
Answer: You can use a primer.
A latex primer will help the latex paint adhere to the wall. The latex paint may not be sticking if there is too much soap left over on the wall. A primer will stick a lot easier and the latex paint will stick to that without issue.
Since it only takes an hour (though you should probably wait longer than the minimum time), you might also try making sure there is no soap left over on the wall. If it's still failing, I'd go with a latex primer.
To directly answer the question: No; you should not use acetone.
Answer: TSP (Tri Sodium Phosphate) or TSP substitute will clean any residue from your wall and make your top coat adhere better.  Between that and using a latex primer, you can recoat just about anything.
For nastier stains and oil paint, you can use an oil primer like Kilz.  The fumes are pretty rough, but it will seal anything you can imagine and prep the surface for a color coat.
Acetone tends to dissolve latex paint, so you'll have some finish problems and need to neutralize it or let it evaporate.  It's pretty nasty stuff to use, as well.


Convert Mono to Stereo before or after editing?

Question: Source file: WAV44/24bit/Mono
If I wanted to do a basic cleanup/sweeten in Audition of this mono voice recording, would I perform the edits BEFORE converting to stereo or AFTER?
Thanks in advance.
Comment: Are you going to apply stereo effects as part of the process?
Answer: I just came up with a rule of thumb. I don't know if it is is really any good or not, but maybe worth considering.
If you are taking things away (cleanup) better to do it in mono.
If you are adding things, (sweetening such as reverb) better to do it in stereo.
Comment: I'd go one further; never actually convert the file at all, just use mono effects on the channel bus & stereos on the output, then export the result as stereo.
Answer: The decisive step for answering this question is the "converting to stereo" step.  You are adding another dimension not present in the original after the step.
If this step is done with a specialized convert-to-stereo filter (like there are special ways to add color to black-and-white films), your preprocessing in mono should be focused on improving the match of this process' assumptions with the presented material.
That is, you are going to try equalizing artifacts of the microphoning and equipment, then do your mono-to-stereo conversion, then do the work focusing on improving the quality to the listener.
If your mono-to-stereo conversion is just "make two copies of the mono channel", then it's pretty much all the same what you work with apart from filters with explicit stereo output like most reverbs and stuff like Leslie simulators.
So basically you first do work in mono for the sake of the mono-to-stereo conversion, then you work in stereo for the sake of the listener.
When the mono-to-stereo conversion is trivial, the point where you go to stereo is somewhat arbitrary, but don't go back to mono after explicit stereo effects.


Wireless card won't connect right away

Question: I have a netgear wg311 wireless card on my Debian machine. I have it connected using wpa_supplicant.
When I type this.
wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0 -Dwext

I get this
TRL-EVENT-SCAN-RESULTS CTRL-EVENT-SCAN-RESULTS Trying to associate with 68:7f:74:47:50:96 (SSID='BigGiraffe' freq=2462 MHz) Associated with 68:7f:74:47:50:96 WPA: Key negotiation completed with 68:7f:74:47:50:96 [PTK=CCMP GTK=TKIP] CTRL-EVENT-CONNECTED - Connection to 68:7f:74:47:50:96 completed (auth) [id=0 id_str=] –

but the connection doesn't work for 5-10 minutes. Anyone know what might be causing this?
/etc/network/interfaces
iface wlan0 inet dhcp
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
wpa-driver wext
wpa-key-mgmt WPA-PSK
wpa-proto WPA
wpa-ssid BigGiraffe
iface default inet dhcp

auto wlan0

error message on startup
wpa_supplicant: wpa-roam can only be used with the "manual" inet METHOD, run parts /etc/network/if-pre-up.d/wpa_supplicant exited with return code 1.

and it trys to DHCP DISCOVER 255.255.255.255 at 6 different ports.
Comment: Any reason why you are not using Network Manager?
Answer: As last quote says, you have "dhcp", when you should have "manual" for wlan0.
Try changing

iface wlan0 inet dhcp

to

iface wlan0 inet manual

in /etc/network/interfaces.
Another choice is to use manager for network connections, for example Gnome's Network Manager or WICD.

Wireless card won't connect right away


Why did Jesus wear the crown of thorns?

Question: Right before his crucifixion, Jesus was made to carry his cross and to wear a crown of thorns.  Why was he made to wear the crown of thorns?
Answer: He was being mocked for claiming that he was King of the Jews, so the soliders gave him a "crown." And to make it worse, they made it of thorns, so it was extremely painful.
Answer: As Ray asserted, the crown was mockingly placed on Him because Jesus was charged with the crime of being "the King of the Jews", while the Jews already had a king, at least according to the Romans.
There is, however, an important symbolism that is also present in this.
In Genesis 3, thorns and thistles are part of the curse of the first sin.

And to Adam he said,  "Because you have listened to the voice of your wife
      and have eaten of the tree
  of which I commanded you,
      'You shall not eat of it,'
  cursed is the ground because of you;
      in pain you shall eat of it all the days of your life;
  18 thorns and thistles it shall bring forth for you;
      and you shall eat the plants of the field.

The prophet Isaiah specifically predicted that God would lay upon the Messiah the sin of the world.

Isaiah 53:6 says, "We all, like sheep, have gone astray. Each of us
  has turned to his own way, and the Lord has laid on Him the iniquity
  of us all."

Thus, as the soldier placed a crown of thorns on the head of Jesus, this actually symbolized the spiritual reality that God was placing upon Jesus the curse of sin.
Comment: I think this is a good case of the literal (to mock him as "king" and bring him pain) and symbolic (thorns are a metaphor for sin) both being correct and valid answers!
Comment: At first i was like "What? Why am i reading where thorns came from?". Then i read the punchline. +1
Answer: I recently heard a remarkable interpretation of the symbolic significance.  The crown of thorns needs to be viewed in a Roman military context: from Wikipedia:

The grass crown (Latin: corona obsidionalis or corona graminea), was the highest and rarest of all military decorations. It was presented only to a general or commander who broke the blockade of a beleaguered Roman Army.

It's important to note that "it was presented to the general by the army he had saved".
Since the Roman company of soldiers mockingly presented this to Jesus, they unknowingly declared that he has saved them.
Pliny wrote about the grass crown:

(…), but as for the crown of grass, it was never conferred except at a crisis of extreme desperation, never voted except by the acclamation of the whole
  army, and never to any one but to him who had been its preserver. Other crowns were awarded by the generals to the soldiers, this alone by the soldiers,
  and to the general. This crown is known also as the "obsidional" crown, from the circumstance of a beleaguered army being delivered, and so preserved from fearful disaster. If we are to regard as a glorious and a hallowed
  reward the civic crown, presented for preserving the life of a single citizen, and him, perhaps, of the very humblest rank, what, pray, ought to be thought of a whole army being saved, and indebted for its preservation to the valour of a single individual?

The crown of thorns can be viewed as a grass crown in that: (a) the whole company presented it to Jesus, same as the whole army presenting a grass crown, and (b)
it's the only award that can be given by the soldiers to the commander.
Comment: Welcome! This is quite interesting, indeed.  Still, this answer would be stronger if you showed that some Christians understand the crown of thorns this way.  I hope you'll take a minute to take the [tour] and learn [how this site is different from others](http://meta.christianity.stackexchange.com/a/1809/21576).
Comment: Since there are multiple significances to the crown of thorns, and no single answer need list all possibilities, perhaps this question/answer should be a community wiki?  I can say that this Christian, now that ne has read it, will in the future always consider this facet when meditating on the mysteries of the crucifixion.
Answer: The importance of Jesus' humiliation at the hands of the world is to the Christian world a reference to Genesis, where it says that humanity shall "by the sweat of your brow [you shall] eat bread" (Genesis 3:19). Prior to his death, Jesus refers to himself as both the Bread of Life (John 6:35) and the easy yoke (Matthew 11:30). In the context of Genesis, by the sweat of our brows we will eat the bread of life, but Jesus has made the work easy by enduring it with us.
Before he received the 'crown', Jesus had been flogged, punched, and spat upon by the guards and people, which evidently would leave his whole body sweltering in the heat of the day, seeing as though he would likely be naked or mostly naked. Earlier in Gethsemane, Jesus had been praying a very emotional and surprisingly human prayer to God, begging him that if it was possible to not die, that it would come to pass (Matthew 26:39). Luke's gospel says that Jesus became so stressed that he actually sweat blood (Luke 22:44).
The idea of having a makeshift 'crown' of thorns shoved onto your head would cause your scalp and sides of your head to bleed, and since the Romans weren't aiming for the most aesthetically pleasing coronation ceremony, it is likely that the crown sat twisted a little towards one side of Jesus' head, making the thorns dig deeper into that area. He bled all over his face and sides of his head, causing the sweat on his forehead to mingle with the blood. Make of that what you will, but 'by the sweat of your brow you will eat your Bread (of Life)' sounds very prophetic in this context.
Answer: Because when he said the sower parable Matthew 13, it was meant to represent where the sower had sown the seed but the thorns had choked the plant and it died. Meaning that Jesus, his gospel is sown and the children do grow up on it but regardless they still die which testifies to his promise of eternal life, it was also meant to represent that some of the instruction the father given to Jesus to follow through the scripture was not received because he disobeyed bits of pieces, his head representing the field and the thorns on his head to show that some of the word the Father tried to sow for him to follow was choked up.
Comment: Welcome to Christianity.SE. For a quick overview, please take the [Site Tour](http://christianity.stackexchange.com/tour).

For more on what this site is all about, see: [How we are different than other sites](http://meta.christianity.stackexchange.com/q/1808/20394).
Does your answer represent the views of any particular denomination?
Meanwhile, I hope you'll browse some of the other questions and answers on this site.
Answer: Important to note is the fact that when the Angel of the Lord(possibly Jesus Himself)and supplied a ram that was stuck in a thorn bush is reminder not only of the everlasting covenant given to Abraham but was through this lineage that Jesus was born. Take note,as Isaac was a type of Jesus being Abraham's only son,he also like Jesus CARRIED THE WOOD.Jesus carried the cross. So in essence the crown was the reminder of Him being that ULTIMATE SACRIFICIAL LAMB that Abraham sacrificed to God. Abraham at this time or after his offering to God had the vision as stated in Galations 3:8 that he was the first to receive the gospel. Wow! God is so clever.  Bless you all as you gain momentum in a real hot pursuit after God's heart.
Comment: Thank you for taking part in this SE.  I appreciate your insight, knowledge, and passion.  With that said, you have created a wonderful supporting  comment to the question and other answers here.  Unfortunately you placed your information in the form of an answer which really doesn't answer the question by itself.  Please consider reading this as your become more familiar with the form of this SE: [What Christianity.SE is and more importantly, what it isn't](http://meta.christianity.stackexchange.com/questions/1379/what-christianity-stackexchange-is-and-more-importantly-what-it-isnt)
Answer: We know from Scripture that the Kings of Israel were Crowned on Passover, commencing with Saul, Israel's First King.
Rome Crowned Jesus as King of the Jews on the very day the Jewish Kings were crowned - however, this Crown represented the Curse that He was the Solution for. Therefore it was fitting that He be crowned on that Day, with that Crown.
Pilot had a sign placed over His Cross stating "Jesus of Nazareth, KING of the Jews"... fitting!
Comment: Perhaps you could expand your answer a little more fully ,while including some supporting proofs in your response at the same time.
Comment: I'd recommend a minor edit here; "Pilate" as in Pontius, "pilot" as in plane.
Answer:
Isa 53:5 (NKJV) "He was wounded for our transgressions,
  He was bruised for our iniquities;
  The chastisement for our peace was upon Him,
  And by His stripes we are healed".

The 'Crown of Thorns' serves the same symbolic purpose as the 'stripes' does in the above quoted verse. This symbolic purpose is elaborated on in Isaiah chapter 58.
Answer: Jesus was forced to wear the thorns because Jesus claims to be a king. As you claim to be a king you should resemble a king so Jesus was forced to wear a thorn as He claims to be.
Comment: Please improve this answer by citing scripture, theology, or doctrine that aligns with your point.  Welcome to Christianity.SE.  If you take the [tour] and visit the [help] you can see that this is not a discussion forum.  Also, please see how we are [different from other sites](https://christianity.meta.stackexchange.com/q/1808/24204).
Comment: Welcome to Christianity.SE! I took the liberty to tweak your answer to fix a couple of typos; if you feel I changed anything of substance to your answer, please revert those changes.

Why did Jesus wear the crown of thorns?


Did anyone ever try to beat the Great Wall of China by digging secret tunnels under it?

Question: I know the Great Wall was useful to defend against enemies on land, but is there any record that people ever tried to beat the Great Wall by digging tunnels under it? If not, why didn't it happen?
Comment: I don't think the idea was to have some kind of Trumpian barrier to any and all transit. Rather it would be useful to impose a  barrier to *an entire army*, much like a river would. The invading army could of course find a way through, but they can't just march right through in good order, and that would make them vulnerable during the crossing.
Comment: Walls also help against raiders, as they slow them down when entering, but more importantly, when trying to leave overloaded with booty.
Answer: Most of the Great Wall was never assaulted and was more symbolic than anything. Most of the rest only ever had to deal with small groups of roving/semi-nomadic brigands, not organised armies.
And to tunnel under something like the Great Wall in such a way as to not draw attention to your efforts you'd need a pretty large group of tunnelers, and start at a considerable distance from the wall.
Another factor to consider is that a lot of the wall (and all the pieces that were actually potential targets for larger invading groups) were/are situated in mountainous areas. You'd have to tunnel through solid rock, not soil. While easier to hold a tunnel, it also is very hard labour, especially without heavy machinery. You'd end up with a tunnel that'd not be capable of infiltrating a sizeable force quickly, meaning you'd have to make it even longer to end up in an area where the defenders are unlikely to see you emerging and setting up camp for days or weeks in order to get all your forces through the tunnel before starting the assault.

For the problems faced with tunneling assault tunnels that have to remain undetected for extended periods, look at North Korea's tunnels across the DMZ, Hamas's into Egypt and Israel, and the Mexican drug cartels' into the USA.
The DPRK uses heavy machinery to make tunnels large enough to drive tanks and trucks through, which means it takes years to complete each tunnel, and the South Koreans have got pretty good at finding and destroying them.
Hamas and the druggies make narrow, dank little tunnels that often you can't even walk through but have to crawl, and those too are often detected and destroyed quickly. They too have powertools, but no heavy construction equipment.

For a militarily viable tunnel you'd need the DPRK style, and without bulldozers, dump trucks, and pneumatic drills you'd need a lot more time to complete them. Not a viable solution. (Taking 10 years to build your tunnel? Easier to go raid another neighbour...)
Comment: History of "*The Great Escape" well describes the difficulties of constructing a tunnel surreptitiously. Note that all digging and construction for those three tunnels was performed by Canadians with mining experience in Northern Ontario, Quebec, and the north-West territory. Disposing of the excavated dirt, without raising suspicions, is one of the more notable hurdles.
Comment: @T.E.D. should probably come back and make his comment above into an answer that's better than this one. "It's too much work for not enough benefit" is the right answer but everything else about this is off: The GW wasn't symbolic for the Ming. If they left open areas, the Northern Yuan would've used them. Similarly, the steppe nomads had no other neighbors worth raiding compared to China and centuries to work with. It wasn't about it being impossible but utterly impractical compared to bribing or killing a garrison at one of the mountain pass gates.
Comment: Similarly, disposing of the excavated dirt would've been a non-issue. The Chinese weren't monitoring piles of dirt in the Ordos Loop, let alone the mountains. They would've depended on spies or allies in the hordes to come tell them what was up. It's true that one factor would've been the dirth of trained miners on the Mongolian steppe. The nomads themselves probably would've had an issue with taking such a cowardly way in, instead of proving themselves in battle, depending on their leader.
Answer: If you had been to the Great Wall, you would find walls were built on selected mountain ridges. Meanwhile these mountains are pretty rocky and steep. This is just a supplement of @jwenting's answer.
Comment: Sorry you're getting downvoted so much, but you should at least include some of the info from https://history.stackexchange.com/questions/32285/why-does-the-great-wall-of-china-follow-such-a-bendy-route, if not something off-site. And you'd probably still get downvoted, since being on top of the hill should make it easier to tunnel under the wall.


What is the best way to copy 1000 pics from my PC to my ipad3?

Question: I don't want to copy all of my pictures and i dont want to setup ongoing sync.  I simply want to do a one time transfer of pictures in a certain folder from my windows PC to iPad
Answer: This TC Geeks article describes several ways to access files on your iPad, using FTP or Bluetooth.  You'll need an FTP server- or server-capable app on the PC side; there are many.  The article is old - check current prices.  The first iPad app described is currently (9/1/12) available at a hefty discount, f/ex.


What are the best practices of OOP principle for automation test script & design?

Question: I started my automation career with procedural language for the test script, Now I start learning OOP's concept but after learning OOP's concept I am not feeling confident that how can I use four major OOP principles like encapsulation, inheritance, polymorphism, and abstraction for writing the test script & design. I want to know best practice to use the object-oriented design for a tester.
Answer: Rather than taking those specific principles and try to match up to them an alternative approach might be to focus on:

DRY - Making sure you don't repeat code unnecessarily
Readable - Use real english words and avoid most abbreviations
Simple - Use Single Responsibility to make sure a function does only 1 thing
Maintainable - Aim to make the code understandable for a newbie

In order to meet the above goals you might use encapsulation,  inheritance, polymorphism, and abstraction but they would be tools to achieve the above rather than goals in their own right.
Comment: +1 for suggesting DRY.I think if someone just focus on keeping their code DRY, they can go a long way...without knowing much technical lingo.
Answer: I do not believe there could be some special advice for testers on how to use the OOP principles since as soon as you open your IDE and start writing code you stops being a tester and starts being a developer in test. However below is what my experience shows.
Encapsulation
You are to use this principle in your tests to segregate public methods and fields from private ones. When you write some code (especially when you develop test frameworks) you might have the code that is to be called in some prescribed cases or in some prescribed order and calling that code in different cases might break the framework state. Hence you mark that code as private so that the testers which use your framework will not be able to call that piece of code and introduce inconsistency.
This also makes sense to segregate private and public parts for a kind of utility code in your test classes and even if you are the only person working with the tests because you might forget what logic you initially put to your code.
Inheritance
It is widely used in testing. This can be used (but not limited by) to extend the existing test class with additional tests, or to store the common utility code in parent class. This is also widely used in Page Object design pattern because the pieces of a real UI often extend other pieces of that UI and hence it makes sense to transfer that model to your Page Object model using inheritance mechanism.
Polymorphism
Polymorphism is more often used in test framework development rather then in tests themselves. You might want your test framework methods to support different types of incoming data so that you introduce methods having the same name but accepting different types of parameters. This can be used when you introduce new public code and try to maintain backward compatibility for old tests which use your framework or when you just introduce some flexibility to your framework. For example you provide a method that resets test data. Your framework supports test data to be stored in either a file or in database. So you introduce to methods resetTestData. One accepts reference to a file and another accepts reference to a database. The latter example also can be implemented using the conception of Abstraction.
Abstraction
Abstraction are widely used in test framework development. The example of using Abstraction principle is widely known WebDriver. When you develop a framework you delegate implementation of some piece of functionality to the people who will use your framework. This adds some flexibility and extendability to your framework. Let's look at the example shown in previous principle description. Instead of introducing to different resetTestData methods you might introduce the abstraction like TestDataSource and define what the methods are to be implemented by the classes which implement that abstraction. Say you define that the abstraction prescribes to implement reset method and you do not care how that method will be implemented (what would be the logic behind that method).
In this architecture your framework just knows that it should call reset against the object that implements TestDataSource conception. Those who use your framework know better then you in which format they store their test data, hence they are not limited by either file or database and are free to use their own storage. This gives less functionality "out-of-the-box" but makes the framework more flexible (usually the framework developers deliver some basic implementations of the abstractions so that people will less skills could start using it in some basic environment).
Comment: Great Answer!I wish I could upvote this, multiple times.
Comment: @VishalAggarwal bounty program is only for the great answer not for the question :)
Comment: @VishalAggarwal - you always can assign a bounty for answer :-)
Comment: Go ahead @VishalAggarwal think Answer of this question deserves the bounty ;-)
Comment: @ NitinRastogi, if you guys read carefully ,I praised the answer , not the question :)
Comment: @NitinRastogi, you are still missing the point..:)
Answer: OOP concept plays an important role in developing a well-structured test automation framework. Just sharing some simple examples of common OOP application in test automation. I am using Java and Selenium Webdriver in these examples.
Encapsulation:
Encapsulate the data of the web pages. Here, data means the elements of the page like texts, buttons etc.
Suppose, you are writing test automations for StackOverflow's User Profile page (Ex: https://sqa.stackexchange.com/users/20681/shahid?tab=profile). You want to get the user name from the profile page. So you can encapsulate the element and write a public method "getUserName()" to access the data.
public class ProfilePage {

    private WebDriver driver;
    private By userName = By.xpath("//h2[@class='user-card-name']"); // we are hiding the element so that it won't be directly accessible

    public ProfilePage(WebDriver driver) {
        this.driver = driver;
    }

    // public method to access the private data
    public String getUserName() {
        return driver.findElement(userName).getText();
    }
}

Inheritance:
In a website that contains multiple pages, there can be some elements those will be common in every pages. For example: header, menu, footer etc. exists in every pages. So, declaring those elements in every page or class will make much redundancy. What we can do is to create a separate class for those those common elements. And then the classes for other pages will inherit this class. Giving a simple example to make this clear:
In sqa.stackexchange.com site, there are some navigation links like Questions, Tags, Users etc. on the top. Wherever you go in this site, these links are shown in every page. Since these elements are common in every page, let's put these into a single class.
public class BasicPage {
    private WebDriver driver;

    private By questionNavLink = By.xpath("//a[@id='nav-questions']");
    private By tagNavLink = By.xpath("//a[@id='nav-tags']");
    private By userNavLink = By.xpath("//a[@id='nav-users']");

    public BasicPage(WebDriver driver) {
        this.driver = driver;
    }

    // For simplification, we are returning nothing from those navigation methods. Otherwise, we would have returned the new web pages got after navigation.

    public void goToQuestions() {
        driver.findElement(questionNavLink).click();
    }

    public void goToTags() {
        driver.findElement(tagNavLink).click();
    }

    public void goToUsers() {
        driver.findElement(userNavLink).click();
    }
}

Now, any other page can get access to all these navigation methods just by inheriting the BasicPage class.
Polymorphism:
This is another common concept we use often. One basic example is the most basic code in Selenium WebDriver Scripting. To initialize webdriver for Chrome browser in Selenium, we use:
WebDriver driver = new ChromeDriver();

Again, we often need to override and overload methods which is a part of polymorphism.
Answer: I have been in the test automation space for a few years. On one hand I would say a test automation project should be treated like any other Java project in terms of practices - you should use the available Java features so that you have a high quality software project at the end of the day. Here are aspects which I think are most important.
Maintenance is Key
As the application under test will regularly change (assuming agile), you need to write your test automation project such that you can quickly and cleanly change it to cater for the changes in the product. This means things like:

Avoid God Patterns.
Have many small classes instead of several large god classes (that's an anti pattern).
Don't have the same strings hardcoded in multiple places. Ideally have them as public static final Strings at the top of the relevant class so that others can easily find it.
If you have things like username, status, payloads, or other objects getting passed around, each might have defaults, checkValid() etc. then create a dedicated class for each of them - even if it is just a wrapper for a String. This has a few benefits.
Use abstraction and the other OOP concepts where appropriate. If you're a beginner I'd recommend reading a few books especially Clean Code.
I find the builder pattern is often useful for test automation, for building up a user, a request body, or other objects. It's flexible enough to cater for future changes while also being strict to force people to abide by how you want it to be used. I've also seen the factory pattern used several times in test automation. The strategy pattern is also work a look.
The basics can't be overstated. Name things accurately, have code self documenting (people rarely keep comments up to date)

I would say the main downfall of test automation is that people with very limited Java experience end up working on it (e.g. a manual tester who wants to transition to an automation role). For that reason I personally focus on the things listed above and just

Keeping things small and simple as per Clean Code.
Have the classes map to the real world as best as possible.

If you know what you're testing, like whether it's web / api / embedded etc. You might get better answers.
Answer: On top of other excellent answers, I would give one simple piece of advice, just focus to keep your code DRY on every level.This simple rule ,if followed religiously can take one tester so far in his journey of clean code.
If one think deeply, he will find that  many concepts themselves are just an application of DRY concept  like inheritance,abstraction etc.


Word for "how it fits"

Question: What are some synonyms for relationship which encompass how something fits - like how a couch fits in a room, or how a building fits on a block, or how a neighborhood fits in a city. Its "fitting-in-ness", or ability to properly fit into a place and even improve it because it fits so well
Answer: Maybe "congruity" or "compatibility"?
I don't know if you're looking to use it in a specific context or you just have this question buzzing around your head... I'm sure there must be a great noun out there, but otherwise perhaps you could turn the phrase around and use a verb, which might sound less clunky? Something like "complement", "enhance", "blend", or more colloquially "look right at home"?
For what it's worth!
Answer: Suitability fits.  For instance, one would refer to the suitability of the couch (for the living room).
Answer: One meaning of harmony is "a pleasing combination of elements in a whole."
Harmonious means "having component elements pleasingly or appropriately combined: a harmonious blend of architectural styles."
Answer: The first thing that entered my mind was the Chinese concept of feng shui.  Originally a Chinese term, it has migrated into English dictionaries.  One website decribes it thusly:

Feng shui shows us how our spaces can be designed and re-arranged in order to provide us the right balance and harmony. Simple things such as the position in which we place our desk, can become determinative to the harmony we feel in that space...

Feng shui encompasses many philosophical concepts as well; however, when applied as a borrowed term in English, the term seems to focus on the harmony of objects within the context of their surroundings.   Wordnik mentions:

feng-shui (noun): rules in Chinese philosophy that govern spatial arrangement and orientation in relation to patterns of yin and yang and the flow of energy; the favorable or unfavorable effects are taken into consideration in designing and siting buildings and graves and furniture the favorable or unfavorable effects are taken into consideration in designing and siting buildings and graves and furniture

It might not always be a suitable term, but, at the right time and place in a conversation, it could fit rather nicely.
Comment: Yeah that's actually really perfect... the word perhaps I'm looking for is: has awesome feng-shui
Comment: or "enhances the feng-shui", perhaps?

Word for "how it fits"


Why are higher-order Runge–Kutta methods not used more often?

Question: I was just curious as to why high-order (i.e. greater than 4) Runge–Kutta methods are almost never discussed/employed (at least to my knowledge). I understand it requires greater computational time per step (e.g. RK14 with 12th-order embedded step), but are there any other downsides of using higher order Runge–Kutta methods (e.g. stability issues)? When applied to equations with highly oscillating solutions on extreme time scales, wouldn't such higher-order methods be typically preferred?
Comment: In PDE, a high order accuracy scheme for temporal dependence makes no sense if spatial accuracy is worse. In fact, the accuracy of spatial dependence is mostly about 2nd or 3rd order, especially when working on unstructured meshes. People needs to control global error truncation with the least cost, hence,  considers Runge-Kutta with high enough order of accuracy in particular cases.
Comment: I think this is a very subjective question. The biggest downside as you have already noted is the cost of computation. Generally we try to balance between accuracy and computational time. In PDE's when people talk about higher order they are generally thinking about 3rd or 4th order. And the time stepping is also kept at the same order.
Comment: @Mathews24: I did not mention to stability, which depends strongly on the equation. When a highly accurate scheme is applied to spatial dependence, we adopt RK to temporal dependence with at least the same order of accuracy, but the stability condition may require a smaller value of  $\Delta t$.
Comment: @tqviet If using backward or central difference approximations of up to [order 8](https://en.wikipedia.org/wiki/Finite_difference_coefficient#Forward_and_backward_finite_difference) for the spatial derivatives, RK8 would be suitable, no? In general, is there any accuracy or stability issues with using such high order finite difference approximations of the spatial derivatives?
Comment: I want to know why Taylor methods + autodiff'ing the rhs isn't used more often.
Answer: There are thousands of papers and hundreds of codes out there using Runge-Kutta methods of fifth order or higher.  Note that the most commonly used explicit integrator in MATLAB is ODE45, which advances the solution using a 5th-order Runge-Kutta method.
Examples of widely-used high-order Runge-Kutta methods
The paper of Dormand & Prince giving a 5th-order method has over 1700 citations according to Google Scholar.  Most of those are papers using their method to solve some problem.  The Cash-Karp method paper has over 400 citations.  Perhaps the most widely-used method of order higher than 5 is the 8th-order method of Prince-Dormand which has over 400 citations on Google Scholar.  I could give many other examples; and keep in mind that many (if not most) of the people using these methods never cite the papers.
Note also that high-order extrapolation and deferred correction methods are Runge-Kutta methods.
High-order methods and rounding error
If your accuracy is limited by rounding errors then you should use a higher-order method.  This is because higher-order methods require fewer steps (and fewer function evaluations, even though there are more evaluations per step), so they commit fewer rounding errors.  You can easily verify this yourself with simple experiments; it is a good homework problem for a first course in numerical analysis.
Tenth-order methods are extremely useful in double-precision arithmetic.  On the contrary, if all we had was Euler's method, then rounding error would be a major issue and we would need very high-precision floating point numbers for many problems where high-order solvers do just fine.
High order methods can be just as stable
@RichardZhang has referenced the second Dahlquist barrier, but that applies only to multistep methods.  The question posted here is about Runge-Kutta methods, and there are Runge-Kutta methods of every order that are not only $A$-stable, but also $B$-stable (a stability property useful for some nonlinear problems).  To learn about these methods, see for instance the text of Hairer & Wanner.
High-order methods in celestial mechanics
You ask

When applied to equations with highly oscillating solutions on extreme time scales, wouldn't such higher-order methods be typically preferred?

You're exactly right!  A prime example of this is celestial mechanics.  I'm not an expert in that area.  But this paper, for instance, compares methods for celestial mechanics and doesn't even consider order lower than 5.  It concludes that methods of order 11 or 12 are often the most efficient (with the Prince-Dormand method of order 8 also often very efficient).
Comment: @tqviet Take a look at [this paper](http://msp.org/camcos/2014/9-2/camcos-v9-n2-p01-p.pdf) for an explanation.
Comment: Ketchson: could you please provide some evidence or explanation about this statement: "high-order extrapolation and deferred correction methods are Runge-Kutta methods"? Especially the "deferred correction methods".  Thanks.
Comment: @David Ketcheson Can you discuss how your answer would change if using validated (verified) computing techniques, such as outward rounded interval or radial arithmetic?  How about if higher than double precision outward rounded interval or radial arithmetic were used?  What will happen with wrapping and dependency as Runge-Kutta order is increased, and just for fun, let's say that the ODE is very stiff.?
Comment: @MarkL.Stone That's a completely different set of questions.  If you want to ask them, please post them as separate questions.  However, I'm not an expert on those things and won't be able to answer.
Answer: The Benchmark Setup
In the Julia software DifferentialEquations.jl we implemented plenty of higher order methods, including the Feagin methods. You can see it in our list of methods, and then there are tons of others you can use as supplied tableaus. Because all of these methods are put together, you can easily benchmark between them. You can see the benchmarks I have online here, and see that it's very simple to benchmark many different algorithms. So if you want to take a few minutes to run the benchmarks, go for it. Here's a summary of what comes out.
First off it's important to note that, if you look at each of the benchmarks, you will see that our DP5 (Dormand-Prince Order 5) and DP8 methods are faster than the Hairer Fortran codes (dopri5 and dop853), and so these implementations are very well optimized. These show that as noted in another thread the over-use of the Dormand-Prince methods is because the methods are already written, not because they are still the best. So the real comparison between the most optimized implementations is between the Tsitouras methods, the Verner methods, and the Feagin methods from DifferentialEquations.jl.
The Results
In general, the methods of an order higher than 7 have an added computational cost which is usually not outweighed by order, given the tolerances chosen. One reason for this is that the coefficient choices for lower order methods are more optimized (they have small "principle truncation error coefficients", which matter more when you're not asymtopically small). You can see that in many problems like here the Verner Efficient 7 and 8 methods do extremely well, but methods like the Verner Efficient 9 can have a lower slope. This is because the "gains" of higher order are compounding at lower tolerances, so there is always a tolerance where the higher order methods will be more efficient.
However, the question is then, how low? In a well-optimized implementation, that gets pretty low for two reasons. The first reason is because lower order methods implement something called FSAL (first same as last). This property means that the lower order methods re-use a function evaluation from the previous step in the next step, and thus have effectively one less function evaluation. If this is used properly, then something like a 5th order method (Tsitouras or Dormand-Prince) is actually taking 5 function evaluations instead of the 6 that the tableaus would suggest. This is also true for the Verner 6 method.
The other reason is due to interpolations. One reason to use a very high order method is to take less steps and simply interpolate intermediate values. However, in order to get the intermediate values, the interpolating function may need more function evaluations than were used for taking the step. If you look at the Verner methods, it takes 8 extra function evaluations for the Order 8 method to get an Order 8 interpolant. Many times the low order methods provide a "free" interpolant, for example most 5th order methods have a free 4th order interpolation (no extra function evaluations). So this means that if you need intermediate values (which you will need for a good plot if you're using a high order method), there are some extra hidden costs. Factor in the fact that these interpolated values are really important for event handling and solving delay differential equations and you see why the extra interpolation cost factors in.
So What About the Feagin Methods?
So you will see that the Feagin methods are suspiciously missing from the benchmarks. They are fine, convergence tests work on arbitrary precision numbers, etc., but to actually get them to do well you need to be asking for some pretty absurdly low tolerances. For example, I found in unpublished benchmarks that the Feagin14 outperforms Vern9 (the 9th order Verner Efficient Method) at tolerances like 1e-30. For applications with chaotic dynamics (like in the Pleides or 3-body astrophysics problems), you may want this amount of accuracy due to sensitive dependence (errors in chaotic systems compound fast). However, Most people are probably computing with double-precision floating point numbers, and I haven't found a benchmark where they outperform in this domain of tolerance.
Here's a work-precision efficiency plot on this 100 dimensional ODE which showcases this:

And here's a work-precision efficiency plot for the Pleiades ODE:

With these we do not find good results when testing the Feagin methods with adaptivity in tolerances within the Float64-range. Possibly the issue could be the stability of the error estimate. Note that this is done with PI-adaptivity for stabilizing the stepping of each of the methods.
In addition, there is no interpolant to go along with the Feagin methods (Edit 2020: See Feagin's remark that one now exists, but is not available online. But note that this has no effect on the benchmarks since the benchmarks do not use the interpolant). So what I do is simply put a third order Hermite interpolation on them so that way one exists (and it works surprisingly well). However, if there's no standard interpolating function, you can do the recursive Hermite method (use this interpolation to get the midpoint, then do a 5th order interpolation, etc.) to get a high order interpolation, but this is very costly and the resulting interpolation doesn't necessarily have a low principle truncation error term (so it's only good when dt is really small, which is the exact opposite of the case we want!). So if you ever need a really good interpolation to match your accuracy, you need to at least go back to something like Vern9.
Note About Extrapolation
Note that extrapolation methods are simply algorithms for generating arbitrary order Runge-Kutta methods. However, for their order they take more steps than necessary and have high principle truncation error coefficients, and so they are not as efficient as a well-optimized RK method at a given order. But given the previous analysis, this means that there is a domain of extremely low tolerance where these methods will do better than the "known" RK methods. But in every benchmark I've ran, it seems I haven't gotten that low.
Note About Stability
The choice really has nothing to do with stability issues. In fact, if you go through the DifferentialEquations.jl tableaus (you can just plot(tab) for the stability regions) you will see that most of the methods have suspiciously similar stability regions. This is actually a choice. Usually when deriving the methods, the author usually does the following:

Find the lowest principle truncation error coefficients (that is, the coefficients for the next order terms)
Subject to the order constraints
And make the stability region close to that of the Dormand-Prince Order 5 method.

Why the last condition? Well, because that method tends to be always stable with the way PI-controlled adaptive stepsize choices are done, so it's a good bar for "good enough" stability regions. So it's no coincidence that the stability regions all tend to be similar.
Conclusion
There's tradeoffs in every choice of method. The highest order RK methods are simply not as efficient at lower tolerances both because it's harder to optimize the choice of coefficients, and because the number of function evaluations compounds (and grows even faster when interpolations are involved). However, if the tolerance gets low enough they win out, but the tolerances that are required can be far below "standard" applications (i.e. really only applicable to chaotic systems).
Appendix: Benchmarking Code
using OrdinaryDiffEq, DiffEqDevTools, Plots
using Random
Random.seed!(123)
gr()
# 2D Linear ODE
function f(du,u,p,t)
  @inbounds for i in eachindex(u)
    du[i] = 1.01*u[i]
  end
end
function f_analytic(u₀,p,t)
  u₀*exp(1.01*t)
end
tspan = (0.0,10.0)
prob = ODEProblem(ODEFunction(f,analytic=f_analytic),rand(100,100),tspan)

abstols = 1.0 ./ 10.0 .^ (3:13)
reltols = 1.0 ./ 10.0 .^ (0:10);

setups = [Dict(:alg=>Tsit5())
          Dict(:alg=>Vern7())
          Dict(:alg=>Vern8())
          Dict(:alg=>Feagin10())
          Dict(:alg=>Feagin12())
          Dict(:alg=>Feagin14())
          Dict(:alg=>Vern9())]
wp = WorkPrecisionSet(prob,abstols,reltols,setups;save_everystep=false,numruns=100)
plot(wp)
savefig("feagin1.png")

f = (du,u,p,t) -> begin
  @inbounds begin
  x = view(u,1:7)   # x
  y = view(u,8:14)  # y
  v = view(u,15:21) # x′
  w = view(u,22:28) # y′
  du[1:7] .= v
  du[8:14].= w
  for i in 14:28
    du[i] = zero(u[1])
  end
  for i=1:7,j=1:7
    if i != j
      r = ((x[i]-x[j])^2 + (y[i] - y[j])^2)^(3/2)
      du[14+i] += j*(x[j] - x[i])/r
      du[21+i] += j*(y[j] - y[i])/r
    end
  end
  end
end

prob = ODEProblem(f,[3.0,3.0,-1.0,-3.0,2.0,-2.0,2.0,3.0,-3.0,2.0,0,0,-4.0,4.0,0,0,0,0,0,1.75,-1.5,0,0,0,-1.25,1,0,0],(0.0,3.0))

abstols = 1.0 ./ 10.0 .^ (9:12)
reltols = 1.0 ./ 10.0 .^ (6:9);

sol = solve(prob,Vern8(),abstol=1/10^12,reltol=1/10^10,maxiters=1000000)
test_sol = TestSolution(sol);

setups = [Dict(:alg=>Tsit5())
          Dict(:alg=>Vern7())
          Dict(:alg=>Vern8())
          Dict(:alg=>Feagin10())
          Dict(:alg=>Feagin12())
          Dict(:alg=>Feagin14())
          Dict(:alg=>Vern9())]
wp = WorkPrecisionSet(prob,abstols,reltols,setups;appxsol=test_sol,save_everystep=false,numruns=100,maxiters=1000)
plot(wp)
savefig("feagin2.png")

Answer: As long as you're using standard double precision floating point arithmetic, very high order methods aren't needed to get a solution with high accuracy in a reasonable number of steps.  In practice I find that the accuracy of the solution is normally limited to a relative error of 1.0e-16 by the double precision floating point representation rather than the number/length of the steps that are taken with RKF45.
If you switch to some higher than double precision floating point arithmetic scheme, then using a 10th order method might well be worth while.
Comment: I think this answer is misleading.  High-order methods lead to much less rounding error, whereas low-order methods suffer from rounding error being dominant when the required accuracy is great or the time interval is long; see my answer below.
Comment: The point is that in double precision floating point you can't even represent a solution with better than 1.0e-16 relative accuracy.  In many practical situations good old RKF45 will get you to that accuracy level over the period you're interested in without requiring tiny steps.  It might not be a good choice for stiff systems or situations where a symplectic integrator is called for, but a higher order Runge Kutta method isn't a great solution in those situations either.  I agree that for very long time periods higher order Runge Kutta methods can make some sense.
Comment: What would be the ideal method for 32-bit float precision?
Answer: Well, in answer to the question about the use of higher-order RK methods, I have a few things to add to the discussion:

As an example, it is often helpful to plot an "efficiency diagram" for several different methods being applied to a given initial value problem (using a variety of stepsizes). On such a diagram, one can plot (for each method) how the accuracy (usually measured according to the number of significant digits obtained) varies with log10 of the number function/derivative calls used to integrate over a particular interval.
On such a plot, one can plot several different methods simultaneously in order to obtain a pretty good idea of which method performs the best (or provides the most efficient integration for a given desired accuracy).
On such a plot, the slope of the line for each method is approximately equal to the order of the method (for those stepsizes for which the truncation error is dominant).
Eventually, of course, as the stepsize becomes very small and the number of function/derivative calls becomes very large, the rounding errors dominate and the curves bend more-or-less downward.  On the efficiency diagram
the rounding error is not visible for the fairly large stepsizes taken.

For this diagram, the problem being solved is the two-body problem with the eccentricity of 0.4 and the methods being compared are some Explicit RK methods of orders 4, 6, 8, 10, 12.  One may observe that if you only want
4-6 digits of accuracy, then it really doesn't make a lot of difference which method you might wish to utilize.  If you want more accuracy, then it becomes more important which method you employ.
The methods shown on the diagram include RK4, Rk6B (A 6th order method due to Butcher), RK8CV (an 8th order method of Cooper and Verner), RK10H (a 10th order method due to Hairer), and RK12 (my 12th order method, which happens to have an embedded 10th order methods so that you can estimate the local truncation errors). My 14th order method is not shown, and it is not particularly efficient unless you need extremely high accuracy), as noted by others above.

My RK12(10), as it is now known, DOES have the ability to provide interpolated results of order 7. You can still obtain 12th order results at the end of each step and in addition, if you need so-called "dense output", you can use the 7th order results at any point you wish within the step.  The best way to describe the method would be for me to send you a copy of the code. I would rather not publish the code on a website. That way, I can make sure that any updates, etc. can be distributed to those who are interested.
Just send any request to email@example.com (I teach Computer Science at the Univ. of Houston - Clear Lake).
Comment: Hey, thank you for commenting! I will be asking for the interpolation to start testing it in the interpolation-based tests as well. I noticed some of the links from my response needed an update (post from 2016!), so they are now updated and I put some plots (and code) for the work-precision efficiency graphs in Float64-tolerances. Hopefully that clarifies a few things. If there have been changes lately to the coefficients that we should know about, please let us know!
Answer: Dr Chasnov gives the reason for popularity of the 4th order RK method here (at 3:50): https://youtu.be/40NvJNrmHhw.
I am curious about why the number of evaluations for f(x,y) jumps at certain orders of the expansion e.g. the 5th order. Very tempted to just go at it by hand to see how this falls out of the calculations.
Comment: Yes, using RK4 on ODE systems in a reasonably compact form is the last step in an introduction to numerical ODE integration. However, the context of this question is not intro-level fixed-step methods but methods with adapting step-size that are used in serious numerical research projects.


What is a shooting board?

Question: This answer regarding preventing tearout when planing end-grain suggests using a shooting board. What is it, and how does it prevent tearout?
Comment: The best answer to this probably requires images or sketches to illustrate how to construct and use one... Briefly, a shooting board is a simple benchtop jig that (1) guides the plane so it cuts in a straight line at a specific angle, and (2) provides a backing board which supports the stock being cut right up to the blade (and thus prevents tear-out). A backing board is to planes what a miter box is to saws, in some sense; it makes your existing tool that much more accurate and more useful.
Answer: "Shooting board" refers to a family of jigs that are used for squaring the butts or end-grain of boards with hand planes. They are also used for joinery by planing multiple boards at once in an effort to match joint angles.
The basic premise is the same on most of the jigs: two flat boards, one on top of another. The wider of the two boards is placed on the bottom creating a fence for the hand plane to follow. On top of the boards is where you would create stops to prevent the piece you are planing from moving.
The hand plane typically will move at a right angle along the fence. Simple shooting boards cut at 90 degree angles but the stops or other fences can be positioned to allow other angles.

Image comes from InTheWoodShop
The picture above shows the fence that the hand plane would follow. The top piece of wood is the stop where the wood piece is located.
Variations of that design will allow for different results. As mentioned earlier, it could be used in joinery.

Image comes from InTheWoodShop
In the above Double Mitre Shooting Board you see that the basic design is still there: a fence for the plane, and stops. Planing two pieces at once, when properly mounted, will give both ends perfect angles. This particular jig could be used for framing and cabinetry.
Preventing Tear-out
I have not personally used a shooting board but at first glance it does not seem designed to prevent tear-out. That first impression was in error of course. When used properly the shooting board will shave a small controlled portion with each pass. Also, the fence is designed so that the plane will follow along at a 90 degree angle. Normally freehand planing could allow for slight changes in angles based on pressure and your work piece - the theory being that the controlled movement stops tear-out.
More importantly: As long as your plane is sharp and not protruding too far, the pass on the shooting board will slice and not push the wood. This should prevent tear-out as well.
Aside
If you are having issues visualizing how this works, without constantly damaging the fences, this picture gives some context and detail that cannot be seen from general pictures of shooting boards.

Image comes from InTheWoodShop
For more reading I recommend InTheWoodShop which has some details on making your first shooting board (And from which I found some good pictures).
Comment: The fence should be taller than the workpiece. It's purpose is to support the end grain, to prevent tear out, as well as keep the work secure and square. Often it is sacrificial, and will get planed with the work, so is replaciple and slides on a rail or groove.
Comment: Nice and thorough, the pics help a lot.
Comment: It's particularly interesting to me to see the hand tool questions. I've only worked with power tools, so seeing how people do things without those is interesting.
Comment: @DanielB. I was going to ask this question since I had never heard of them either. They are really cool. I need a shop the size of my house to keep everything I have read about on WW.
Comment: Note that the higher back fence, as well as the guide step for the plane, distinguishes the shooting board from a bench hook (another very basic jig for planing)
Comment: Here's an introduction and overview to a simple design I like: http://www.finewoodworking.com/2013/08/02/become-a-shooting-board-master
Answer: A shooting board combines two primitive fences attached to a board.  One fence is used to hold the work piece while the second fence is used to guide a plane so as to shave the edge of the work piece parallel to the second fence.  See this website:
http://norsewoodsmith.com/content/shooting-boards-evenfall-woodworks
Comment: That works, though it misses the fact that one fence also acts as a backing board and it might help to copy in an illustration.

What is a shooting board?