Literal in front if condition
Why does one often see "null != variable" instead of "variable != null" in C#?
Do null and alternative hypotheses have to be exhaustive or not? I saw a lot of times claims that they have to be exhaustive (the examples in such books were always set in such way, that they were indeed), on the other hand I also saw a lot of times books stating they should be exclusive (for example $\mathrm{H}_{0}$ as $\mu_1=\mu_2$ and $\mathrm{H}_{1}$ as $\mu_1&gt;\mu_2$) without clarifying the exhaustive issue. Only before typing in this question I found somewhat stronger statement on the  -- "The alternative need not be the logical negation of the null hypothesis".  Could someone more experienced explain which is true, and I would be grateful for shedding some light on the (historical?) reasons for such difference (the books were written by statisticians after all, i.e. scientists, not philosophers). Do you get Hex Warrior's Cha bonus with a two-handed Pact Weapon? Hex Warrior says:     you can touch one weapon with which you are proficient and that lacks the two-handed quality. When you attack with that weapon you can use your Charisma for attack and damage rolls.   later the ability says:     This benefit extends to every weapon conjured with the Pact of Blades feature, no matter the type.   (emphasis mine)  Does this allow me to use my charisma with 2 handed weapons(provided it is my Pact Weapon and my Hex Warrior Blade)?  This question is not the same as . That one is asking how many weapons, I'm asking if type means 2 handed or something else(Slashing or Ranged for examples). I was trying to accomplish this through a trigger, but its not really working. Is there a way to get this done through Process Builder? If so, what is that process?  I'm trying to have ProductB being added to the opportunity automatically once ProductA is manually added to the opportunity.  Also, is there a way to have the $ amount of ProductB being 0.5% of ProductA?  Trigger that I have so far:  trigger Attempt1 on OpportunityLineItem (after insert) { List&lt;OpportunityLineItem&gt; oliList = new List&lt;OpportunityLineItem&gt;();  for( OpportunityLineItem item: [SELECT  OpportunityId,                                          Name                                  FROM    OpportunityLineItem                                 WHERE   Id = :Trigger.new AND                                          Name = 'NAME OF PRODUCTA'])  {   oliList.add(new OpportunityLineItem(     OpportunityId = item.OpportunityId,      PricebookEntryId ='01uA000000QPDldEAt',     Quantity = 1,     UnitPrice = 25)   );  }  Insert oliList; } Spaces and em-dash In using the em-dash, where do you put the spaces? Which of the following is correct?     School is based on the three R’s —reading, writing, and ’rithemtic.   or     School is based on the three R’s— reading, writing, and ’rithemtic.   or     School is based on the three R’s — reading, writing, and ’rithemtic. Vueling is currently experiencing , with many flights delayed by several hours. Assuming I'm at the airport and my flight is certainly delayed by more than 3 hours, can I simply book another flight and claim compensation later?  According to EU's :     In addition, if you are denied boarding, your flight is cancelled or arrives more than 3 hours late on arrival at the final destination stated on your ticket, you may be entitled to compensation of EUR 250 - 600, depending on the distance of the flight.   But it's not clear if I actually have to board the flight or if simply having a purchased ticket is sufficient. I presume it would be possible to negotiate with Vueling representatives at the airport, but I'd rather not wait in the inevitable 100-person line to their counter if I'm covered by EU law. I'm currently working on some logging code that supposed to - among other things - print information about the calling function. This should be relatively easy, standard C++ has a type_info class. This contains the name of the typeid'd class/function/etc. but it's mangled. It's not very useful. I.e. typeid(std::vector&lt;int&gt;).name() returns St6vectorIiSaIiEE.  Is there a way to produce something useful from this? Like std::vector&lt;int&gt; for the above example. If it only works for non-template classes, that's fine too.  The solution should work for gcc, but it would be better if I could port it. It's for logging so it's not so important that it can't be turned off, but it should be helpful for debugging. Ability to retract reopen/delete votes It seems that now we can retract close votes but we cannot retract reopen votes or delete votes.  I am trying to retract my reopen vote  but it does not allow me to.  Can we have that ability? Did Dolores Umbridge Have Any Association with Voldemort (or Death Eaters) before His Return? I noticed that Dolores Umbridge was born during the first Wizarding War, so it's very likely she wasn't a Death Eater then (but she is pretty evil -- who knows?).  After that Voldemort was not around in a way that could affect many people, and most wouldn't know he was planning to rise again.  During that time, and up through Voldemort's return (in Goblet of Fire), did Umbridge have any connection with the Death Eaters or with Voldemort?  Was she doing what she did on her own, or was it because of an association with Voldemort or his allies? I have Ubuntu budgie 17.04 (budgie-desktop 10.2.9). While pressing Alt+Tab to switch between the windows, the windows are switched randomly and I am not able to select which window to shift.  This feature was available in Ubuntu 16.04 but not in Ubuntu-budgie-17.04.    How to resolve this? I want to include some Cyrillic with a TeX Gyre Pagella text and math font document. I'm using TeXLive 2019.  As indicated in , running pdflatex on the following source works just fine:  \documentclass{article}  \usepackage[T1,T2A]{fontenc} \usepackage[russian,main=english]{babel} \usepackage{paratype} \usepackage{tgpagella} \usepackage{substitutefont} \substitutefont{T2A}{\rmdefault}{PTSerif-TLF}  \usepackage{amsmath}  \usepackage[math]{blindtext}  \begin{document}  The topologist is {\Russian Алекс\'{а}ндров}.  \blindmathpaper  \end{document}   However, running xelatex on the following surce produces output from which the indicated Cyrillic just disappears:  \documentclass{article}  \usepackage[T2A,T1]{fontenc} \usepackage[russian,main=english]{babel} \usepackage{amsmath} % load here to avoid \dddot clash \usepackage{fontspec} \usepackage{paratype} \setmainfont[Ligatures=TeX]{TeX Gyre Pagella} \usepackage{substitutefont}% \substitutefont{T2A}{\rmdefault}{PTSerif-TLF}%  \usepackage{unicode-math} \setmathfont{TeX Gyre Pagella Math}  \usepackage[math]{blindtext}  \begin{document}  The topologist is {\Russian Алекс\'{а}ндров}.  \blindmathpaper  \end{document}   Question: How should this second source be fixed so as to allow the Cyrillic to appear, too?  (I did put Map paratype-truetype.map into my local updmap.cfg file and did run updmap-user.) How can analytically be  the ?   I found some extremely synthetic equations which from the  (in particular $\mathbf{F} = m \mathbf{a}$) tried to obtain the Kepler's laws, but even if it seemed to be a nice procedure they were too much incomplete. Are 7 hours enough time to leave the Brussels airport and go to the city center? Can we implement a dead time on answers for high reputation user Summary: High reputation users on SO come swooping in the second a simple question is posted, and get the first answer in before I've even opened my Python interpreter to test my idea out.  This actually is a problem because it prevents use lower users who aren't as good  at programming from getting any answers in.  This makes it very hard to build up reputation.  Thus, I propose a short dead time for high reputation users where their answers do not appear.  The Problem: This isn't just reputation.  By answering questions and having discussions with OP, we all get better at our language.  Teaching is one of the best ways of learning, and a more well versed population is absolutely good for SO.  (If anyone wants to argue that, go home)  While its nice to have folks who can quickly answer nearly all questions in a jiffy, its a little frustrating for those of use who simply aren't as fast, but still want to contribute.  The result is that many people do not answer questions because they feel like they just can't get an edge in.  SO should aim to incentivize as many answers by as many users as possible.  The most answers from the most users is the most beneficial situation for the site and the community. Once we accept this idea, it is clear that something needs to be done to address the issue at hand    The Solution: Luckily, this is an easy problem to solve; we use a dead time.  High reputation users can post answers whenever they like, but they won't appear until after the dead time is completed.  The trick is balance, a dead time which is too long will harm the OP as the question will remain unanswered, however, a dead time which is too short won't actually fix the problem.  There definitely needs to be a discussion about what "high reputation" means and what dead time to use, but it should be independent of whether y'all agree that this is a problem.  So, what do you think?  EDIT: Wow, -18, I leave for lunch for 30 minutes and this is what happens!  I guess y'all think this is a bad idea, but let me try to clarify a few things on which I was unclear earlier.  This is not about reputation.  This is not about getting the first answer just for the sake of getting to say "in before..."  This is about learning.  By getting a shot at answering questions before the high reputation users, people learn. Think of it as doing an example problem in class before the teacher does it. You get a chance to try it yourself, test your knowledge, and if you fail, then the teacher is right behind you to show the correct solution.  This is what I'm trying to accomplish. However, seeing the solution, and then trying to answer the question, is not very helpful. This is how I view the status quo.    In response to Mr. Pieters' answer and comments: You're absolutely right, this is not about quantity, its about quality.  The fastest answer isn't always the best.  But asking the high reputation users to take a step back for a few minutes is a means of getting there.    Hopefully this clears things up a bit. I recently found a bug, which I mentioned on , as well as submitting a case, and after a few days fumbling around with the case, they closed it by saying that they only provide this type of support for Premier Support customers.  Is there a better channel for reporting bugs than by submitting a case, or is there something "special" we have to do? I realize this question is similar to , except that I've already gone the route of , as suggested by the answer there (i.e. submitting a case), to no avail.  How can I make sure that a bug like this can find its way to someone capable of at least confirming that the behavior was expected? This behavior isn't documented anywhere, and so I assume that it's a bug that needs to be addressed. My friend and I have been wracking our heads with this one for the past 3 hours... We have 2 point masses, $m$ and $M$ in a perfect world separated by radius r.  Starting from rest, they both begin to accelerate towards each other. So we have the gravitational force between them as:  $$F_g ~=~ G\frac{Mm}{r^2}$$  How do we find out at what time they will collide?  What we're having trouble with is this function being a function of $r$, but I have suspected it as actually a function of $t$ due to the units of $G$ being $N(m/kg)^2$.  I've tried taking a number of integrals, which haven't really yielded anything useful.  Any guidance?  No, this is not an actual homework problem, we're just 2 math/physics/computer people who are very bored at work :) How do I set up a supply line? Can I pass arguments to an alias command? I want to know if I can pass an argument with an alias command.  for example:  alias d="dmesg|grep -iw usb|tail -5"    Now d will print the last 5 lines. If I want to use d to print a different number of lines, I have to make change in the alias command declaration of d again.  Is there any way I can modify the declaration of an alias so that I don't have to retype the declaration to change the number of lines. Like incorporating passing the number of lines as an argument while declaring alias for d? Or is there some other method to solve this? Why do electrons occupy the space around nuclei, and not collide with them? We all learn in grade school that electrons are negatively-charged particles that inhabit the space around the nucleus of an atom, that protons are positively-charged and are embedded within the nucleus along with neutrons, which have no charge. I have read a little about electron orbitals and some of the quantum mechanics behind why electrons only occupy certain energy levels. However...  How does the electromagnetic force work in maintaining the positions of the electrons? Since positive and negative charges attract each other, why is it that the electrons don't collide with the protons in the nucleus? Are there ever instances where electrons and protons do collide, and, if so, what occurs? How can I convert a string of bytes into an int in python?   Say like this: 'y\xcc\xa6\xbb'  I came up with a clever/stupid way of doing it:  sum(ord(c) &lt;&lt; (i * 8) for i, c in enumerate('y\xcc\xa6\xbb'[::-1]))   I know there has to be something builtin or in the standard library that does this more simply...  This is different from  for which you can use int(xxx, 16), but instead I want to convert a string of actual byte values.  UPDATE:  I kind of like James' answer a little better because it doesn't require importing another module, but Greg's method is faster:  &gt;&gt;&gt; from timeit import Timer &gt;&gt;&gt; Timer('struct.unpack("&lt;L", "y\xcc\xa6\xbb")[0]', 'import struct').timeit() 0.36242198944091797 &gt;&gt;&gt; Timer("int('y\xcc\xa6\xbb'.encode('hex'), 16)").timeit() 1.1432669162750244   My hacky method:  &gt;&gt;&gt; Timer("sum(ord(c) &lt;&lt; (i * 8) for i, c in enumerate('y\xcc\xa6\xbb'[::-1]))").timeit() 2.8819329738616943   FURTHER UPDATE:  Someone asked in comments what's the problem with importing another module. Well, importing a module isn't necessarily cheap, take a look:  &gt;&gt;&gt; Timer("""import struct\nstruct.unpack("&gt;L", "y\xcc\xa6\xbb")[0]""").timeit() 0.98822188377380371   Including the cost of importing the module negates almost all of the advantage that this method has. I believe that this will only include the expense of importing it once for the entire benchmark run; look what happens when I force it to reload every time:  &gt;&gt;&gt; Timer("""reload(struct)\nstruct.unpack("&gt;L", "y\xcc\xa6\xbb")[0]""", 'import struct').timeit() 68.474128007888794   Needless to say, if you're doing a lot of executions of this method per one import than this becomes proportionally less of an issue. It's also probably i/o cost rather than cpu so it may depend on the capacity and load characteristics of the particular machine. Where can I find a standalone installer for Windows 7 Service Pack 1?