Question:
I have read many articles about DTFT and DFT but am not able to discern the difference between the two except for a few visible things like DTFT goes till infinity while DFT is only till $N-1$. Can anyone please explain the difference and when to use what? Wiki says

The DFT differs from the discrete-time Fourier transform (DTFT) in
that its input and output sequences are both finite; it is therefore
said to be the Fourier analysis of finite-domain (or periodic)
discrete-time functions.

Is it the only difference?
Edit:
This article nicely explains the difference

Alright, I'm gonna answer this with an argument that "opponents" to my rigid nazi-like position regarding the DFT have.
First of all, my rigid, nazi-like position:
The Discrete Fourier Transform and Discrete Fourier Series are one-and-the-same.
The DFT maps one infinite and periodic sequence, $x[n]$ with period $N$ in the "time" domain to another infinite and periodic sequence, $X[k]$, again with period $N$, in the "frequency" domain.  And the iDFT maps it back.  and they're "bijective" or "invertible" or "one-to-one".
DFT:
$$ X[k] = \sum\limits_{n=0}^{N-1} x[n] e^{-j 2 \pi nk/N} $$
iDFT:
$$ x[n] = \frac{1}{N} \sum\limits_{k=0}^{N-1} X[k] e^{j 2 \pi nk/N} $$
That is most fundamentally what the DFT is.  It is inherently a periodic or circular thing.
$$ x[n+N]=x[n] \qquad \forall n \in \mathbb{Z} $$
$$ X[k+N]=X[k] \qquad \forall k \in \mathbb{Z} $$

But the periodicity deniers like to say this about the DFT.  It is true, it just doesn't change any of the above.
So, suppose you had a finite-length sequence $x[n]$ of length $N$ and, instead of periodically extending it (which is what the DFT inherently does), you append this finite-length sequence with zeros infinitely on both left and right.  So
$$ \hat{x}[n] \triangleq \begin{cases}
x[n] \qquad & \text{for } 0 \le n \le N-1 \\
\\
0 & \text{otherwise}
\end{cases} $$
Now, this non-repeating infinite sequence does have a DTFT:
DTFT:
$$ \hat{X}\left(e^{j\omega}\right) = \sum\limits_{n=-\infty}^{+\infty} \hat{x}[n] e^{-j \omega n} $$
$\hat{X}\left(e^{j\omega}\right)$ is the Z-transform of $\hat{x}[n]$ evaluated on the unit circle $z=e^{j\omega}$ for infinitely many real values of $\omega$. Now, if you were to sample that DTFT $\hat{X}\left(e^{j\omega}\right)$ at $N$ equally spaced points on the unit circle, with one point at $z=e^{j\omega}=1$, you would get
$$ \begin{align}
\hat{X}\left(e^{j\omega}\right)\Bigg|_{\omega = 2 \pi\frac{k}{N}} & = \sum\limits_{n=-\infty}^{+\infty} \hat{x}[n] e^{-j \omega n} \Bigg|_{\omega = 2 \pi\frac{k}{N}} \\
& = \sum\limits_{n=-\infty}^{+\infty} \hat{x}[n] e^{-j 2 \pi k n/N}  \\
& = \sum\limits_{n=0}^{N-1} \hat{x}[n] e^{-j 2 \pi k n/N}  \\
& = \sum\limits_{n=0}^{N-1} x[n] e^{-j 2 \pi k n/N}  \\
& = X[k]  \\
 \end{align} $$
That is precisely how the DFT and DTFT are related.  Sampling the DTFT at uniform intervals in the "frequency" domain causes, in the "time" domain, the original sequence $\hat{x}[n]$ to be repeated and shifted by all multiples of $N$ and overlap-added.  That's what uniform sampling in one domain causes in the other domain.  But, since $\hat{x}[n]$ is hypothesized to be $0$ outside of the interval $0 \le n \le N-1$, that overlap-adding does nothing.  It just periodically extends the non-zero part of $\hat{x}[n]$, our original finite-length sequence, $x[n]$.


Question:
What are the advantages of having Bioconductor, for the bioinformatics community?
I've read the 'About' section and skimmed the paper, but still cannot really answer this.
I understand Bioconductor is released twice a year (unlike R), but if I want to use the latest version of a package, I'll have to use the dev version anyway. A stamp of approval could be achieved much easier with a tag or something, so it sounds just like an extra (and unnecessary) layer to maintain.
Related to this, what are the advantages as a developer to have your package accepted into Bioconductor?

Benefits of central repository for Community
Having a central repository for packages is very useful. For couple of reasons:

It makes very easy to resolve dependencies. Installing all the dependencies manually would be exhausting but also dangerous (point 2).
Package compatibility! If I install package with dependencies, I would like to be sure that I install correct versions of all the dependencies.
Reliability thanks to unified and integrated testing. Bioconductor is trying really hard to force developers to write good test, they also have people manually testing submitted packages. They also remove packages that are not maintained. Packages in Bioconductor are (reasonably) reliable.

In the end, installing dev versions of R packages is in my opinion very bad practise for reproducible science. If developers delete GitHub repo, commit hash you have used won't be enough to get the code.
Benefits of central repository for developers
I forgot about the advantages for you as developer to submit your package to Bioconductor:

Your package will be more visible
users will have a guarantee that your code was checked by third person
Your package will be for users easier to install
Your package will be forced to use standardized vignettes, version tags and tests -> will be more accessible by community to build on your code

Bioconductor specific advantages over CRAN
I see the big advantage in the community support page, provided by Bioconductor. @Llopis' comprehensive elaboration.


Question:
On a quantum scale the smallest unit is the Planck scale, which is a discrete measure.
There several question that come to mind:

Does that mean that particles can only live in a discrete grid-like structure,  i.e. have to "magically" jump from one pocket to the next? But where are they in between? Does that even give rise to the old paradox that movement as such is impossible (e.g. Zeno's paradox)?
Does the same hold true  for time (i.e. that it is discrete) - with all the ensuing paradoxes?
Mathematically does it mean that you have to use difference equations instead of differential equations? (And sums instead of integrals?)
From the point of view of the space metric do you have to use a discrete metric (e.g. the Manhattan metric) instead of good old Pythagoras?

Thank you for giving me some answers and/or references where I can turn to.
Update: I just saw this call for papers - it seems to be quite a topic after all: Is Reality Digital or Analog? FQXi Essay Contest, 2011. Call for papers (at Wayback Machine), All essays, Winners. One can find some pretty amazing papers over there.

The answer to all questions is No. In fact, even the right reaction to the first sentence - that the Planck scale is a "discrete measure" - is No.
The Planck length is a particular value of distance which is as important as $2\pi$ times the distance or any other multiple. The fact that we can speak about the Planck scale doesn't mean that the distance becomes discrete in any way. We may also talk about the radius of the Earth which doesn't mean that all distances have to be its multiples.
In quantum gravity, geometry with the usual rules doesn't work if the (proper) distances are thought of as being shorter than the Planck scale. But this invalidity of classical geometry doesn't mean that anything about the geometry has to become discrete (although it's a favorite meme promoted by popular books). There are lots of other effects that make the sharp, point-based geometry we know invalid - and indeed, we know that in the real world, the geometry collapses near the Planck scale because of other reasons than discreteness.
Quantum mechanics got its name because according to its rules, some quantities such as energy of bound states or the angular momentum can only take "quantized" or discrete values (eigenvalues). But despite the name, that doesn't mean that all observables in quantum mechanics have to possess a discrete spectrum. Do positions or distances possess a discrete spectrum?
The proposition that distances or durations become discrete near the Planck scale is a scientific hypothesis and it is one that may be - and, in fact, has been - experimentally falsified. For example, these discrete theories inevitably predict that the time needed for photons to get from very distant places of the Universe to the Earth will measurably depend on the photons' energy.
The Fermi satellite has showed that the delay is zero within dozens of milliseconds

which proves that the violations of the Lorentz symmetry (special relativity) of the magnitude that one would inevitably get from the violations of the continuity of spacetime have to be much smaller than what a generic discrete theory predicts.
In fact, the argument used by the Fermi satellite only employs the most straightforward way to impose upper bounds on the Lorentz violation. Using the so-called birefringence,

one may improve the bounds by 14 orders of magnitude! This safely kills any imaginable theory that violates the Lorentz symmetry - or even continuity of the spacetime - at the Planck scale. In some sense, the birefringence method applied to gamma ray bursts allows one to "see" the continuity of spacetime at distances that are 14 orders of magnitude shorter than the Planck length.
It doesn't mean that all physics at those "distances" works just like in large flat space. It doesn't. But it surely does mean that some physics - such as the existence of photons with arbitrarily short wavelengths - has to work just like it does at long distances. And it safely rules out all hypotheses that the spacetime may be built out of discrete, LEGO-like or any qualitatively similar building blocks.


Question: Most people have experienced the temporary loss of feeling and tingling in their leg resulting from sitting in an abnormal position for a short while. Usually you get a loss of feeling in your leg while it is being compressed/constricted at some point and then the tingling sensation as the pressure is removed. But what is actually happening? I understand the the blood vessels are probably constricted from the pressure, but how does this lead to loss of feeling and later the strange tingling sensation? Are there any other things that extended compression on the leg does to cause this? What exactly are the requirements to get the sensation of a one's leg or other limb falling tingling in that manner?

The feeling you describe is called "paresthesia," and according to the NINDS info page, it happens "when sustained pressure is placed on a nerve."


Question:
There are nice technical definitions in textbooks and wikipedia, but I'm having a hard time understanding what differentiates stationary and non-stationary signals in practice?
Which of the following discrete signals are stationary? why?:

white noise - YES (according to every possible information found)
colored noise - YES (according to
Colored noises: Stationary or non-stationary? )
chirp (sinus with
changing frequency) - ?
sinus - ?
sum of multiple sinuses with different periods and amplitudes - ?
ECG, EEG, PPT and similar - ?
Chaotic system output (mackey-glass, logistic map) - ?
Record of outdoors temperature - ?
Record of forex market currency pair development - ?

Thank you.

There is no stationary signal. Stationary and non-stationary are characterisations of the process that generated the signal.
A signal is an observation. A recording of something that has happened. A recording of a series of events as a result of some process. If the properties of the process that generates the events DOES NOT change in time, then the process is stationary.
We know what a signal $x(n)$ is, it is a collection of events (measurements) at different time instances ($n$). But how can we describe the process that generated it?
One way of capturing the properties of a process is to obtain the probability distribution of the events it describes. Practically, this could look like a histogram but that's not entirely useful here because it only provides information on each event as if it was unrelated to its neighbour events. Another type of "histogram" is one where we could fix an event and ask what is the probability that the other events happen GIVEN another event has already taken place. So, if we were to capture this "monster histogram" that describes the probability of transition from any possible event to any other possible event, we would be able to describe any process.
Furthermore, if we were to obtain this at two different time instances and the event-to-event probabilities did not seem to change then that process would be called a stationary process. (Absolute knowledge of the characteristics of a process in nature is rarely assumed of course).
Having said this, let's look at the examples:

White Noise:

White noise is stationary because any signal value (event) is equally
probable to happen given any other signal value (another event) at
any two time instances no matter how far apart they are.

Coloured Noise:

What is coloured noise? It is essentially white-noise with some additional constraints. The constraints mean that the event-to-event probabilities are now not equal BUT this doesn't mean that they are allowed to change with time. So, Pink noise is filtered white noise whose frequency spectrum decreases following a specific relationship. This means that pink noise has more low frequencies which in turn means that any two neighbouring events would have higher probabilities of occurring but that would not hold for any two events (as it was in the case of white noise). Fine, but if we were to obtain these event-to-event probabilities at two different time instances and they did not seem to change, then the process that generated the signals would be stationary.

Chirp:

Non stationary, because the event-to-event probabilities change with time. Here is a relatively easy way to visualise this: Consider a sampled version of the lowest frequency sinusoid at some sampling frequency. This has some event-to-event probabilities. For example, you can't really go from -1 to 1, if you are at -1 then the next probable value is much more likely to be closer to -0.9 depending of course on the sampling frequency. But, actually, to generate the higher frequencies you can resample this low frequency sinusoid. All you have to do for the low frequency to change pitch is to "play it faster". AHA! THEREFORE, YES! You can actually move from -1 to 1 in one sample, provided that the sinusoid is resampled really really fast. THEREFORE!!! The event-to-event probabilities CHANGE WITH TIME!, we have by passed so many different values and went from -1 to 1 in this extreme case....So, this is a non-stationary process.

Sinus(oid)

Stationary...Self-explanatory, given #3

Sum of multiple sinuses with different periods and amplitudes

Self explanatory given #1, #2,#3 and #4. If the periods and amplitudes of the components do not change in time, then the constraints between the samples do not change in time, therefore the process will end up stationary.

ECG, EEG, PPT and similar

I am not really sure what PPT is but ECG and EEG are prime examples of non-stationary signals. Why? The ECG represents the electrical activity of the heart. The heart has its own oscillator which is modulated by signals from the brain AT EVERY HEARTBEAT! Therefore, since the process changes with time (i.e. the way that the heart beats changes at each heart beat) then it is considered non-stationary. The same applies for the EEG. The EEG represents a sum of localised electrical activity of neurons in the brain. The brain cannot be considered stationary in time since a human being performs different activities. Conversely, if we were to fix the observation window we could claim some form of stationarity. For example, in neuroscience, you can say that 30 subjects were instructed to stay at rest with their eyes closed while EEG recordings were obtained for 30 seconds and then say that FOR THOSE SPECIFIC 30 SEC AND CONDITION (rest, eyes closed) THE BRAIN (as a process) IS ASSUMED TO BE STATIONARY.

Chaotic system output.

Similar to #6, chaotic systems could be considered stationary over brief periods of time but that's not general.

Temperature recordings:

Similar to #6 and #7. Weather is a prime example of a chaotic process, it cannot be considered stationary for too long.

Financial indicators:

Similar to #6,#7,#8,#9. In general cannot be considered stationary.

A useful concept to keep in mind when talking about practical situations is ergodicity. Also, there is something that eventually creeps up here and that is the scale of observation. Look too close and it's not stationary, look from very far away and everything is stationary. The scale of observation is context dependent. For more information and a large number of illustrating examples as far as the chaotic systems are concenred, I would recommend this book and specifically chapters 1,6,7,10,12 and 13 which are really central on stationarity and periodicity.
Hope this helps.


Question:
I am trying to implement a content based image retrieval system but before I do so I would like to get an overview of some programming languages suitable for this task (having good libs and such).
Does anyone know some good languages and libs for that kind of task? What about Python or Java?
Best

Maybe you can be more specific about the scope and scale of your work (academic project? Desktop or Mobile commercial product? Web-based commercial project?).
Some recommendations and comments:

Matlab is common in the academic world, and quite good for sketching/validating ideas. You will have access to a large body of code from other researchers (in CV and machine learning); prototyping and debugging will be very fast and easy, but whatever you will have developed in this environment will be hard to put in production. Depending on what your code is doing, you might have memory/performance problems (there are situations where you can't describe what you want to do in terms of Matlab's primitives and have to start looping on pixels and Matlab's being an interpreted language is not helping in this context). Interaction with databases, web servers etc is not easy, sometimes impossible (you won't get a Matlab program to become a Thrift server called by a web front-end). Costs $$$.
C++ is what is used for many production-grade CV systems (think of something at the scale of Google's image search or Streetview, or many commercial robotics applications). Good libraries like OpenCV, excellent performance, easy to put into a production environment. If you need to do machine learning, there are many libraries out there (LibSVM / SVMlight, Torch). If you have to resort to "loop on all pixels" code it will perform well. Easy to use for coding the systems/storage layers needed in a large scale retrieval system (eg: a very large on-disk hash map for storing an inverted index mapping feature hashes to images). Things like Thrift / Message Pack can turn your retrieval program into a RPC server which can be called by a web front-end. However: not very agile for prototyping, quite terrible for trying out new ideas, slower development time; and put in the hands of inexperienced coders might have hard to track performances and/or instability problems.
Python is somehow a middle ground between both. You can use it for Matlab style numerical computing (with numpy and scipy) + have bindings to libraries like OpenCV. You can do systems / data structure stuff with it and get acceptable performances. There are quite a few machine learning packages out there though less than in Matlab or C++. Unless you have to resort to "loop on all pixels" code, you will be able to code pretty much everything you could have done with C++ with a 1:1.5 to 1:3 ratio of performance and 2:1 to 10:1 ratio of source code size (debatable). But depending on the success of your project there will be a point where performance will be an issue and when rewriting to C++ won't be an option.


Question:
I'm working on a PCB that has shielded RJ45 (ethernet), RS232, and USB connectors, and is powered by a 12V AC/DC brick power adapter (I do the 5V and 3.3V step down on board).  The entire design is enclosed in a metal chassis.
The shields of the I/O connectors are connected to a CHASSIS_GND plane on the periphery of the PCB and also make contact with the front panel of the metal chassis.  The CHASSIS_GND is isolated from digital GND by a moat (void).
Here's the question: Should the CHASSIS_GND be tied to the digital GND plane in any way?  I've read countless app notes and layout guides, but it seems that everybody has differing (and sometimes seemingly contradictory) advice about how these two planes should be coupled together.
So far I've seen:

Tie them together at a single point with a 0 Ohm resistor near the power supply
Tie them together with a single 0.01uF/2kV capacitor at near the power supply
Tie them together with a 1M resistor and a 0.1uF capacitor in parallel
Short them together with a 0 Ohm resistor and a 0.1uF capacitor in parallel
Tie them together with multiple 0.01uF capacitors in parallel near the I/O
Short them together directly via the mounting holes on the PCB
Tie them together with capacitors between digital GND and the mounting holes
Tie them together via multiple low inductance connections near the I/O connectors
Leave them totally isolated (not connected together anywhere)

I found this article by Henry Ott ( which states:

First I will tell you what you should not do, that is to make a single point connection between the circuit ground and the chassis ground at the power supply...circuit ground should be connected to the chassis with a low inductance connection in the I/O area of the board

Anybody able to explain practically what a "low inductance connection" looks like on a board like this?
It seems that there are many EMI and ESD reasons for shorting or decoupling these planes to/from each other, and they are sometimes at odds with each other.  Does anybody have a good source of understanding how to tie these planes together?

This is a very complex issue, since it deals with EMI/RFI, ESD, and safety stuff.  As you've noticed, there are many ways do handle chassis and digital grounds-- everybody has an opinion and everybody thinks that the other people are wrong.  Just so you know, they are all wrong and I'm right.  Honest!  :)
I've done it several ways, but the way that seems to work best for me is the same way that PC motherboards do it.  Every mounting hole on the PCB connects signal gnd (a.k.a. digital ground) directly to the metal chassis through a screw and metal stand-off.
For connectors with a shield, that shield is connected to the metal chassis through as short of a connection as possible.  Ideally the connector shield would be touching the chassis, otherwise there would be a mounting screw on the PCB as close to the connector as possible.  The idea here is that any noise or static discharge would stay on the shield/chassis and never make it inside the box or onto the PCB.  Sometimes that's not possible, so if it does make it to the PCB you want to get it off of the PCB as quickly as possible.
Let me make this clear:  For a PCB with connectors, signal GND is connected to the metal case using mounting holes.  Chassis GND is connected to the metal case using mounting holes.  Chassis GND and Signal GND are NOT connected together on the PCB, but instead use the metal case for that connection.
The metal chassis is then eventually connected to the GND pin on the 3-prong AC power connector, NOT the neutral pin.  There are more safety issues when we're talking about 2-prong AC power connectors-- and you'll have to look those up as I'm not as well versed in those regulations/laws.
Tie them together at a single point with a 0 Ohm resistor near the power supply
Don't do that.  Doing this would assure that any noise on the cable has to travel THROUGH your circuit to get to GND.  This could disrupt your circuit.  The reason for the 0-Ohm resistor is because this doesn't always work and having the resistor there gives you an easy way to remove the connection or replace the resistor with a cap.
Tie them together with a single 0.01uF/2kV capacitor at near the power supply
Don't do that.  This is a variation of the 0-ohm resistor thing.  Same idea, but the thought is that the cap will allow AC signals to pass but not DC.  Seems silly to me, as you want DC (or at least 60 Hz) signals to pass so that the circuit breaker will pop if there was a bad failure.
Tie them together with a 1M resistor and a 0.1uF capacitor in parallel
Don't do that.  The problem with the previous "solution" is that the chassis is now floating, relative to GND, and could collect a charge enough to cause minor issues.  The 1M ohm resistor is supposed to prevent that.  Otherwise this is identical to the previous solution.
Short them together with a 0 Ohm resistor and a 0.1uF capacitor in parallel
Don't do that.  If there is a 0 Ohm resistor, why bother with the cap?  This is just a variation on the others, but with more things on the PCB to allow you to change things up until it works.
Tie them together with multiple 0.01uF capacitors in parallel near the I/O
Closer.  Near the I/O is better than near the power connector, as noise wouldn't travel through the circuit.  Multiple caps are used to reduce the impedance and to connect things where it counts.  But this is not as good as what I do.
Short them together directly via the mounting holes on the PCB
As mentioned, I like this approach.  Very low impedance, everywhere.
Tie them together with capacitors between digital GND and the mounting holes
Not as good as just shorting them together, since the impedance is higher and you're blocking DC.
Tie them together via multiple low inductance connections near the I/O connectors
Variations on the same thing.  Might as well call the "multiple low inductance connections" things like "ground planes" and "mounting holes"
Leave them totally isolated (not connected together anywhere)
This is basically what is done when you don't have a metal chassis (like, an all plastic enclosure).  This gets tricky and requires careful circuit design and PCB layout to do right, and still pass all EMI regulatory testing.  It can be done, but as I said, it's tricky.


Question: The nitration of N,N-dimethylaniline with $\ce{H2SO4}$ and $\ce{HNO3}$ gives mainly the meta product, even though $\ce{-NMe2}$ is an ortho,para-directing group. Why is this so?

In the presence of these strong acids the $\ce{-NMe2}$ group is protonated, and the protonated form is electron-withdrawing via the inductive effect. This discourages attack at the electron-poor ortho position.
Under the conditions I know for that experiment, you get a mixture of para- and meta-product, but no ortho-product due to steric hindrance.


Question:
Four-legged chairs are by far the most common form of chair. However, only three legs are necessary to maintain stability whilst sitting on the chair. If the chair were to tilt, then with both a four-legged and three-legged chair, there is only one direction in which the chair can tilt whilst retaining two legs on the ground. So why not go for the simpler, cheaper, three-legged chair? Or how about a more robust, five-legged chair? What is so special about the four-legged case?
One suggestion is that the load supported by each leg is lower in a four-legged chair, so the legs themselves can be weaker and cheaper. But then why not 5 or 6 legs? Another suggestion is that the force to cause a tilt is more likely to be directed forwards or sideways with respect to the person's body, which would retain two legs on the floor with a four-legged chair, but not a three-legged chair. A third suggestion is that four-legged chairs just look the best aesthetically, due to the symmetry. Finally, perhaps it is just simpler to manufacture a four-legged chair, again due to this symmetry.
Or is it just a custom that started years ago and never changed?

Suppose the leg spacing for a square and triangular chair is the same then the positions of the legs look like:

If we call the leg spacing $2d$ then for the square chair the distance from the centre to the edge is $d$ while for the triangular chair it's $d\tan 30^\circ$ or about $0.58d$. That means on the triangular chair you can only lean half as far before you fall over, so it is much less stable. To get the same stability as the square chair you'd need to increase the leg spacing to $2/\tan 30^\circ d$ or about $3.5d$ which would make the chair too big.
A pentagonal chair would be even more stable, and a hexagonal chair more stable still, and so on. However increasing the number of legs gives diminishing increases in stability and costs more. Four-legged chairs have emerged (from several millennia of people falling off chairs) as a good compromise.


Question: I'm a grad student in psychology, and as I pursue more and more independent studies in statistics, I am increasingly amazed by the inadequacy of my formal training. Both personal and second hand experience suggests that the paucity of statistical rigor in undergraduate and graduate training is rather ubiquitous within psychology. As such, I thought it would be useful for independent learners like myself to create a list of "Statistical Sins", tabulating statistical practices taught to grad students as standard practice that are in fact either superseded by superior (more powerful, or flexible, or robust, etc.) modern methods or shown to be frankly invalid. Anticipating that other fields might also experience a similar state of affairs, I propose a community wiki where we can collect a list of statistical sins across disciplines. Please, submit one "sin" per answer.

Failing to look at (plot) the data.


Question:
According to Wikipedia,

The $\ce{C60}$ molecule is extremely stable,[26] withstanding high temperatures and high pressures. The exposed surface of the structure can selectively react with other species while maintaining the spherical geometry.[27] Atoms and small molecules can be trapped within the molecule without reacting.

Smaller fullerenes than $\ce{C60}$ have been distorted so heavily they're not stable, even though $\ce{M@C28}$ is stable where $\ce{M\,=\,Ti, Zr, U}$.

Some of us have heard and learned about the "rules" of aromaticity: The molecule needs to be cyclic, conjugated, planar and obey Huckel's rule (i.e. the number of the electrons in $\pi$-system must be $4n+2$ where $n$ is an integer).
However, I'm now very skeptical to these so-called rules:

The cyclic rule is violated due to a proposed expansion of aromaticity. (See what is Y-aromaticity?)
The must-obey-Huckel rule is known to fail in polycyclic compounds. Coronenefigure 1 and pyrene figure 2 are good examples with 24 and 16 $\pi$ electrons, respectively.
Again, Huckel fails in sydnone. The rule tells you that it's aromatic, while it's not.

The planar rule is not a rule at all. We're talking about "2D" aromaticity when we're trying to figure out the $n$ in $4n+2$. The "3D" rule is as following:

In 2011, Jordi Poater and Miquel Solà, expended the rule to determine when a fullerene species would be aromatic. They found that if there were $2n^2+2n+1$ π-electrons, then the fullerene would display aromatic properties. - Wikipedia

This would mean $\ce{C60}$ is not aromatic, since there is no integer $n$ for which $2n^2+2n+1 = 60$.
On the other hand, $\ce{C60-}$ is ($n = 5$). But then this rule strikes me as peculiar because then no neutral or evenly-charged fullerene would be aromatic. Furthermore, outside the page for the rule, Wikipedia never explicitly states that fullerene is not aromatic, just that fullerene is not superaromatic. And any info on superaromaticity is unavailable or unhelpful to me; including the Wikipedia "article" on that topic.
So, is $\ce{C60}$ aromatic? Why, or why not?

Aromaticity is not binary, but rather there are degrees of aromaticity.  The degree of aromaticity in benzene is large, whereas the spiro-aromaticity in [4.4]nonatetraene is relatively small. The aromaticity in naphthalene is not twice that of benzene.
Aromaticity has come to mean a stabilization resulting from p-orbital (although other orbitals can also be involved) overlap in a pi-type system.  As the examples above indicate, the stabilization can be large or small.
Let's consider $\ce{C_{60}}$:

Bond alternation is often taken as a sign of non-aromatic systems.  In $\ce{C_{60}}$ there are different bond lengths, ~1.4 and 1.45 angstroms. However, this variation is on the same order as that found in polycyclic aromatic hydrocarbons, and less than that observed in linear polyenes.

Conclusion: aromatic, but less so than benzene.

Magnetic properties are related to electron delocalization and are often used to assess aromaticity.  Both experiment and calculations suggest the existence of ring currents (diamagnetic and paramagnetic) in $\ce{C_{60}}$.

Conclusion: Although analysis is complex, analysis is consistent with at least some degree of aromaticity.

Reactivity - Substitution reactions are not possible as no hydrogens are present in $\ce{C_{60}}$.  When an anion or radical is added to $\ce{C_{60}}$ the electron(s) are not delocalized over the entire fullerene structure. However, most addition reactions are reversible suggesting that there is some extra stability or aromaticity associated with $\ce{C_{60}}$.

Conclusion: Not as aromatic as benzene

Resonance energy calculations have been performed and give conflicting results, although most suggest a small stabilization. Theoretical analysis of the following isodesmic reaction

$$\ce{C_{60} + 120 CH4 -> 30 C2H4 + 60 C2H6}$$
suggested that it only took half as much energy to break all of the bonds in $\ce{C60}$ compared to the same bond-breaking reaction with the appropriate number of benzenes.
Conclusion: Some aromatic stabilization, but significantly less than benzene.
This brief overview suggests that $\ce{C_{60}}$ does display properties that are consistent with some degree of aromatic stabilization, albeit less than that found with benzene.


Question:
My nephew was folding laundry, and turning the occasional shirt right-side-out. I showed him a  "trick" where I turned it right-side-out by pulling the whole thing through a sleeve instead of the bottom or collar of the shirt. He thought it was really cool (kids are easily amused, and so am I).
So he learned that you can turn a shirt or pants right-side-out by pulling the material through any hole, not just certain ones. I told him that even if there was a rip in the shirt, you could use that to turn it inside-out or right-side-out, and he was fascinated by this and asked "why?"
I don't really know the answer to this. Why is this the case? What if the sleeves of a long-sleeve shirt were sewn together at the cuff, creating a continuous tube from one sleeve to the other? Would you still be able to turn it right-side-out? Why? What properties must a garment have so that it can be turned inside-out and right-side-out?
Sorry if this is a silly question, but I've always wondered. I wouldn't even know what to google for, so that is why I am asking here.
If you know the answer to this, could you please put it into layman's terms?
Update: Wow, I really appreciate all the participation. This is a really pleasant community and I have learned a lot here. It seems that the answer is that you need at least one puncture in the garment through which to push or pull the fabric. It appears that you can have certain handles, although it's not usually practical with clothing due to necessary stretching.
Accepted (a while ago actually -- sorry for not updating sooner) Dan's answer because among the answers that I understand, it is the highest ranked by this community.

First, a warning.  I suspect this response is likely not going to be immediately comprehensible.  There is a formal set-up for your question, there are tools available to understand what's going on.  They're not particularly light tools, but they exist and they're worthy of being mentioned.  Before I write down the main theorem, let me set-up some terminology.  The tools belong to a subject called manifold theory and algebraic topology.  The names of the tools I'm going to use are called things like: the isotopy extension theorem, fibre-bundles, fibrations and homotopy-groups.
You have a surface $\Sigma$, it's your shirt or whatever else you're interested in, some surface in 3-dimensional space.  Surfaces have automorphism groups, let me call it $\operatorname{Aut}(\Sigma)$.  These are, say, all the self-homeomorphisms or diffeomorphisms of the surface.   And surfaces can sit in space.  A way of putting a surface in space is called an embedding.  Let's call all the embeddings of the surface $\operatorname{Emb}(\Sigma, \mathbb R^3)$.  $\operatorname{Emb}(\Sigma, \mathbb R^3)$ is a set, but in the subject of topology these sets have a natural topology as well.  We think of them as a space where "nearby" embeddings are almost the same, except for maybe a little wiggle here or there.  The topology on the set of embeddings is called the compact-open topology (see Wikipedia, for details on most of these definitions).
Okay, so now there's some formal nonsense.  Look at the quotient space $\operatorname{Emb}(\Sigma, \mathbb R^3)/\operatorname{Aut}(\Sigma)$.  You can think of this as all ways $\Sigma$ can sit in space, but without any labelling -- the surface has no parametrization.  So it's the space of all subspaces of $\mathbb R^3$ that just happen to be homeomorphic to your surface.
Richard Palais has a really nice theorem that puts this all into a pleasant context.  The preamble is we need to think of everything as living in the world of smooth manifolds -- smooth embeddings, $\operatorname{Aut}(\Sigma)$ is the diffeomorphism group of the surface, etc.
There are two locally-trivial fibre bundles (or something more easy to prove -- Serre fibrations), this is the "global" isotopy-extension theorem:
$$\operatorname{Diff}(\mathbb R^3, \Sigma) \to \operatorname{Diff}(\mathbb R^3) \to \operatorname{Emb}(\Sigma, \mathbb R^3)/\operatorname{Aut}(\Sigma)$$
$$\operatorname{Diff}(\mathbb R^3 \operatorname{fix} \Sigma) \to \operatorname{Diff}(\mathbb R^3, \Sigma) \to \operatorname{Aut}(\Sigma)$$
here $\operatorname{Diff}(\mathbb R^3)$ indicates diffeomorphisms of $\mathbb R^3$ that are the identity outside of a sufficiently large ball, say.
So the Palais theorem, together with the homotopy long exact sequence of a fibration, is giving you a language that allows you to translate between automorphisms of your surface, and motions of the surface in space.
It's a theorem of Jean Cerf's that $\operatorname{Diff}(\mathbb R^3)$ is connected. A little diagram chase says that an automorphism of a surface can be realized by a motion of that surface in 3-space if and only if that automorphism of the surface extends to an automorphism of 3-space.  For closed surfaces, the Jordan-Brouwer separation theorem gives you an obstruction to turning your surface inside-out.  But for non-closed surfaces you're out of tools.
To figure out if you can realize an automorphism as a motion, you literally have to try to extend it "by hands".  This is a very general phenomena -- you have one manifold sitting in another, but rarely does an automorphism of the submanifold extend to the ambient manifold.  You see this phenomena happening in various other branches of mathematics as well -- an automorphism of a subgroup does not always extend to the ambient group, etc.
So you try your luck and try to build the extension yourself.  In some vague sense that's a formal analogy between the visceral mystery of turning the surface inside-out and a kind of formalized mathematical problem, but of a fundamentally analogous feel.
We're looking for automorphisms that reverse orientation. For an arbitrary surface with boundary in 3-space, it's not clear if you can turn the surface inside out.  This is because the surface might be knotted. Unknotted surfaces are examples like your t-shirt.  Let's try to cook up something that can't be turned inside-out.
The automorphism group of a 3-times punctured sphere has 12 path-components (12 elements up to isotopy).  There are 6 elements that preserve orientation, and 6 that reverse.  In particular the orientation-reversing automorphisms reverse the orientation of all the boundary circles.  So if you could come up with a knotted pair-of-pants (3-times punctured surface) so that its boundary circles did not admit a symmetry that reversed the orientations of all three circles simultaneously, you'd be done.
Maybe this doesn't seem like a reduction to you, but it is.
For example, there are things called non-invertible knots:

So how do we cook up a knotted pair-of-pants from that?
Here's the idea.  The non-invertible knot in the link above is sometimes called $8_{17}$.  Here is another picture of it:

Here is a variant on that.

Interpret this image as a ribbon of paper that has three boundary circles.  One boundary circle is unknotted.  One is $8_{17}$.  The other is some other knot.
It turns out that other knot isn't trivial, nor is it $8_{17}$.
So why can't this knotted pair of pants be turned inside-out?  Well, the three knots are distinct, and $8_{17}$ can't be reversed.
The reason why I know the other knot isn't $8_{17}$?  It's a hyperbolic knot and it has a different ($4.40083...$) hyperbolic volume than $8_{17}$ ($10.9859...$).
FYI: in some sense this is one of the simplest surfaces with non-trivial boundary that can't be turned inside-out.  All discs can be turned inside-out.  Similarly, all annuli (regardless of how they're knotted) can be turned inside-out. So for genus zero surfaces, 3 boundary components is the least you can have if you're looking for a surface that can't be turned inside-out.
edited to correct for Jason's comment.
comment added later: I suggest if you purchase a garment of this form you return it to the manufacturer.


Question:
Green is the most common circuit-board color because it has become an industry standard.
What I'm interested in is How the traditional "PCB Green" become a standard in the first place?
Were there any interesting historical reasons for the initial choice, or was it just a product of what one particularly successful company was doing that became the de-facto standard?

This is what I have found on the topic so far.
There are a few competing theories for why the solder mask of PCB is commonly green.
Possible explanations:

The US military required PCBs to be green
When mixing the base resin and the hardener together, they turn green
It is an ergonomic choice due to the human eyes ability to detect green, and the contrast of green with white text
Some combination of the above

Source: Thefreelibrary
Source: Quora
Digging deeper...
Liquid Photo Imageable Solder Mask (LPISM) technology was developed in the late 1970s and early 1980s to to meet the new application demands placed upon solder masks by the rise in surface mount technology. It seems that modern, green colored PCBs emerged with this technology, and the technology seems to trace back to this patent from 1980.

Consequently, endeavours have been made to produce improved processes
  for producing a mask image of relatively high resolution for the
  small-conductor art. It was therefore a relatively obvious step to
  use photo processes in association with UV (ultra-violet) sensitive
  photopolymers.

So basically, UV sensitive photopolymers were available and were the first to be used for LPISM. The polymer solution they used in the patent included 3g of dye, but did not describe the color of the dye or why they used it.
When developing an invention for the first time, it seems highly unlikely they would choose the dye or photopolymers because of the military's request or for ergonimic considerations, so we can rule those out. The most plausible explanation is that it was the most accessible, inexpensive and effective materials to be used in fabrication. For whatever reason, the UV sensitive photopolymers that were effective for this invention happened to be green at the time, and this material's proliferation is most likely due to its low cost. Alternatives do exist these days, and PCBs can be virtually any color.
I know this is all speculation, and I wish I could give a more definitive answer. I've read through patents and papers and Electronic Materials and Processes Handbook, but still haven't nailed it down yet. Maybe a PCB process engineer or researcher can help us here.


Question: Is it possible for a woman to conceive from two different men and give birth to half-siblings?

Yes, this is possible through something called heteropaternal superfecundation (see below for further explanation).
Of all twin births, 30% are identical and 70% are non-identical (fraternal) twins.
Identical twins result when a zygote (one egg, or ovum, fertilized by one sperm) splits at an early stage to become twins. Because the genetic material is essentially the same, they resemble each other closely.
Typically during ovulation only one ovum is released to be fertilized by one sperm. However, sometimes a woman's ovaries release two ova. Each must be fertilized by a separate sperm cell. If she has intercourse with two different men, the two ova can be fertilized by sperm from different sexual partners. The term for this event is heteropaternal superfecundation (HS): twins who have the same mother, but two different fathers.
This has been proven in paternity suits (in which there will be a bias selecting for possible infidelity) involving fraternal twins, where genetic testing must be done on each child. The frequency of heteropaternal superfecundation in this group was found (in one study) to be 2.4%. As the study's authors state, "Inferences about the frequency of HS in other populations should be drawn with caution."


Question: There are so many biological processes which are dependent upon ions of lighter metals (upper part of periodic table) such as $\ce{K+}$, $\ce{Na+}$, $\ce{Mg^{2+}}$ and even early transition elements ($\ce{Fe}$, $\ce{Mn}$, $\ce{Cu}$, $\ce{Ni}$), but I haven't yet come across dependence of biological phenomena on aluminium. Is this because there is less use of trivalence or is there some other reason?

One argument put forward has been that aluminum is very poorly bioavailable, moreso than many other elements.  Aluminum oxide is very insoluble in water.  In addition, any dissolved aluminum that does form in seawater is likely to be precipitated by silicic acid, forming hydroxyaluminosilicates.
From Chris Exeter's 2009 article in Trends in Biochemical Sciences:

But how has the by far most abundant metal in the Earth's crust remained hidden from biochemical evolution? There are powerful arguments, many of which influenced Darwin's own thinking [15], which identify natural selection as acting upon geochemistry as it acts upon biochemistry. I have argued previously that the lithospheric cycling of aluminium, from the rain-fuelled dissolution of mountains through to the subduction of sedimentary aluminium and its re-emergence in mountain building, depends upon the ‘natural selection’ of increasingly insoluble mineral phases of the metal [7]. The success of this abiotic cycle is reflected in the observation that less than 0.001% of cycled aluminium enters and passes through the biotic cycle. In addition, only an insignificant fraction of the aluminium entering the biotic cycle, living things, is biologically reactive. However, my own understanding of such an explanation of how life on Earth evolved in the absence of biologically available aluminium was arrived at by a somewhat serendipitous route! In studying the acute toxicity of aluminium in Atlantic salmon I discovered that the aqueous form of silicon, silicic acid, protected against the toxicity of aluminium [16]. Subsequent work showed that protection was afforded through the formation of hydroxyaluminosilicates (HAS) [17] which, intriguingly, are one of the sparingly soluble secondary mineral phases of the abiotic cycling of aluminium! The discovery that silicic acid was a geochemical control of the biological availability of aluminium, though now seemingly obvious in hindsight, was a seminal moment in my understanding of the bioinorganic chemistry of aluminium, and although it helped me to understand the non-selection of aluminium in biochemical evolution, it also provided me with a missing link in the wider understanding of the biological essentiality of silicon.

Dr. Exeter is one of the few scholars who appears to have written in depth about this issue.  Thus, perhaps it is fair to say that (a) your question doesn't have a definitive answer, but (b) the poorly accessible nature of aluminum over geological time due to its interaction with and precipitation by silicic acid is the leading hypothesis.
It's worth noting that when aluminum is artificially introduced into metalloenzymes in place of naturally occuring metals, the resulting alumino-enzymes can retain activity, as a 1999 article in JACS by Merkx & Averill shows.


Question:
I understand that I can not connect an LED directly to a battery because it will draw too much current. Thus, there must be something else in the circuit to limit the current.
What options are there? Are some methods more efficient than others?

An LED requires a minimum voltage before it will turn on at all. This voltage varies with the type of LED, but is typically in the neighborhood of 1.5V - 4.4V. Once this voltage is reached, current will increase very rapidly with voltage, limited only by the LED's small resistance. Consequently, any voltage much higher than this will result in a very huge current through the LED, until either the power supply is unable to supply enough current and its voltage sags, or the LED is destroyed.

Above is an example of the current-voltage relationship for an LED. Since current rises so rapidly with voltage, usually we can simplify our analysis by assuming the voltage across an LED is a constant value, regardless of current. In this case, 2V looks about right.
Straight Across the Battery
No battery is a perfect voltage source. As the resistance between its terminals decreases, and the current draw goes up, the voltage at the battery terminals will decrease. Consequently, there is a limit to the current the battery can provide. If the battery can't supply too much current to destroy your LED, and the battery itself won't be destroyed by sourcing this much current, putting the LED straight across the battery is the easiest, most efficient way to do it.
Most batteries don't meet these requirements, but some coin cells do. You might know them from LED throwies.
Series Resistor
The simplest method to limit the LED current is to place a resistor in series. We known from Ohm's law that the current through a resistor is equal to the voltage across it divided by the resistance. Thus, there's a linear relationship between voltage and current for a resistor. Placing a resistor in series with the LED serves to flatten the voltage-current curve above such that small changes in supply voltage don't cause the current to shoot up radically. Current will still increase, just not radically.

The value of the resistor is simple to calculate: subtract the LED's forward voltage from your supply voltage, and this is the voltage that must be across the resistor. Then, use Ohm's law to find the resistance necessary to get the current desired in the LED.
The big disadvantage here is that a resistor reduces the voltage by converting electrical energy into heat. We can calculate the power in the resistor with any of these:
\$ P = IE \$
\$ P = I^2 R \$
\$ P = E^2/R \$
Any power in the resistor is power not used to make light. So why don't we make the supply voltage very close to the LED voltage, so we don't need a very big resistor, thus reducing our power losses? Because if the resistor is too small, it won't regulate the current well, and our circuit will be subject to large variations in current with temperature, manufacturing variation, and supply voltage, just as if we had no resistor at all. As a rule of thumb, at least 25% of the voltage should be dropped over the resistor. Thus, one can never achieve
better than 75% efficiency with a series resistor.
You might be wondering if multiple LEDs can be put in parallel, sharing a single current limiting resistor. You can, but the result will not be stable, one LED may hog all the current, and be damaged. See Why exactly can't a single resistor be used for many parallel LEDs?.
Linear Current Source
If the goal is to deliver a constant current to the LEDs, why not make a circuit that actively regulates the current to the LEDs? This is called a current source, and here an example of one you can build with ordinary parts:

Here's how it works: Q2 gets its base current through R1. As Q2 turns on, a large current flows through D1, through Q2, and through R2. As this current flows through R2, the voltage across R2 must increase (Ohm's law). If the voltage across R2 increases to 0.6V, then Q1 will begin to turn on, stealing base current from Q2, limiting the current in D1, Q2, and R2.
So, R2 controls the current. This circuit works by limiting the voltage across R2 to no more than 0.6V. So to calculate the value needed for R2, we can just use Ohm's law to find the resistance that gives us the desired current at 0.6V.
But what have we gained? Now any excess voltage is just being dropped in Q2 and R2, instead of a series resistor. Not much more efficient, and much more complex. Why would we bother?
Remember that with a series resistor, we needed at least 25% of the total voltage to be across the resistor to get adequate current regulation. Even so, the current still varies a little with supply voltage. With this circuit, the current hardly varies with supply voltage under all conditions. We can put many LEDs in series with D1, such that their total voltage drop is say, 20V. Then, we need only another 0.6V for R2, plus a little more so Q2 has room to work. Our supply voltage could be 21.5V, and we are wasting only 1.5V in things that aren't LEDs. This means our efficiency can approach \$20V / 21.5V = 93 \% \$. That's much better than the 75% we can muster with a series resistor.

Switched Mode Current Sources
For the ultimate solution, there is a way to (in theory, at least) drive LEDs with 100% efficiency. It's called a switched mode power supply, and uses an inductor to convert any voltage to exactly the voltage needed to drive the LEDs. It's not a simple circuit, and we can't make it entirely 100% efficient in practice since no real components are ideal. However, properly designed, this can be more efficient than the linear current source above, and maintain the desired current over a wider range of input voltages.
Here's a simple example that can be built with ordinary parts:

I won't claim that this design is very efficient, but it does serve to demonstrate the principle of operation. Here's how it works:
U1, R1, and C1 generate a square wave. Adjusting R1 controls the duty cycle and frequency, and consequently, the brightness of the LED.
When the output (pin 3) is low, Q1 is switched on. Current flows through the inductor, L1. This current grows as energy is stored in the inductor.
Then, the output goes high. Q1 switches off. But an inductor acts as a flywheel for current. The current that was flowing in L1 must continue flowing, and the only way to do that is through D1. The energy stored in L1 is transferred to D1.
The output goes low again, and thus the circuit alternates between storing energy in L1 and dumping it in D1. So actually, the LED blinks rapidly, but at around 25kHz, it's not visible.
The neat thing about this is it doesn't matter what our supply voltage is, or what the forward voltage of D1 is. In fact, we can put many LEDs in series with D1 and they will still light, even if the total forward voltage of the LEDs exceeds the supply voltage.
With some extra circuitry, we can make a feedback loop that monitors the current in D1 and effectively adjusts R1 for us, so the LED will maintain the same brightness over a wide range of supply voltages. Handy, if you want the LED to stay bright as the battery gets low. Replace U1 with a microcontroller and make some adjustments here and there to make this more efficient, and you really have something.


Question: If I can smell an object, it means that molecules are getting separated from it, so they can reach my nose. As far as I know, metals don't sublimate, especially not at room temperature. However, copper has a very strong and characteristic smell. Does it mean that copper will degrade pretty quickly, or are just we so sensitive to it that a few molecules are sufficient? I assume it has to do something with oxidization, but it doesn't oxidize as much, naturally, as other metals, for example, iron.

This is a nice question, as it confronts a very replicable and common experience with a well established yet seemingly contradictory fact. As you expected, the smell of metal has nothing to do with the metal actually getting into your nose, as most metals have far too low of a vapor pressure at ordinary temperatures to allow direct detection. The characteristic smell of metal, in fact, is caused by organic substances!
There has been the focus on the specific case of the smell of iron (free-access article!). There are at least two ways in which iron produces a metallic smell. Firstly, acidic substances are capable of corroding iron and steel, releasing phosphorus and carbon atoms present in the metal or alloy. These can react to form volatile organophosphorus compounds such as methylphosphine ($\ce{H3CPH2}$ which have a garlic/metallic odor at small concentrations. From the article:

The “garlic” metallic odor (see Supporting Information) of the gas product from the acidic dissolution of cast iron is dominated by these organophosphines. We measured an extremely low odor threshold for two key odorants, methylphosphine and dimethylphosphine (6 and 3 ng P/m³, respectively, garlic-metallic odor), which belong therefore to the most potent odorants known. Phosphine ($\ce{PH3}$) is not important for this odor because we found it has a much higher odor detection threshold (>10⁶ ng/m³). A “calcium carbide” (or “burned lime”/“cement”) attribute of the general “garlic” odor is probably caused by unsaturated hydrocarbons (alkynes, alkadienes) that are linked to a high carbon content of iron (Table 1, see Supporting Information).

Also, it turns out that $\ce{Fe^{2+}}$ ions (but not $\ce{Fe^{3+}}$) are capable of oxidizing substances present in oils produced by the skin, namely lipid peroxides. A small amount of $\ce{Fe^{2+}}$ ions are produced when iron comes into contact with acids in sweat. These then decompose the oils releasing a mixture of ketones and aldehydes with carbon chains between 6 and 10 atoms long. In particular, most of the smell of metal comes from the unsaturated ketone 1-octen-3-one, which has a fungal/metallic odour even in concentrations as low as $1\ \mu g\ m^{-3}$ . In short:

Sweaty skin corrodes iron metal to form reactive $\ce{Fe^{2+}}$ ions that are oxidized within seconds to $\ce{Fe^{3+}}$ ions while simultaneously reducing and decomposing existing skin lipid peroxides to odorous carbonyl hydrocarbons that are perceived as a metallic odor.

In the supporting information for the article (also free-access), the authors describe experiments performed with other metals, including copper:

Comparison of iron metal with other metals (copper, brass, zinc, etc.): When solid copper metal or brass (copper-zinc alloy) was contacted with the skin instead of iron, a similar metallic odor and GC-peak pattern of carbonyl hydrocarbons was produced and up to one μmole/dm² of monovalent cuprous ion [$\ce{Cu+}$] was detected as a corrosion product (Supporting Figs. S3 to S6). Zinc, a metal that forms $\ce{Zn^{2+}}$ but no stable $\ce{Zn+}$, was hesitant to form metallic odor, except on very strong rubbing of the metal versus skin (that could produce metastable monovalent $\ce{Zn+}$). The use of common color-tests to demonstrate directly on human palm skin the presence of low-valence ions (ferrous and cuprous) from the corrosion of iron, copper and brass alloys is shown in Supporting Figure S6. Alumina powder rubbed on skin did not produce significant odorants. These results provide additional evidence that it is not metal evaporation, but skin lipid peroxide reduction and decomposition by low valence metal ions that produces the odorants.

The last paragraphs of the article summarize the findings:

In conclusion: 1) The typical “musty” metallic odor of iron metal touching skin (epidermis) is caused by volatile carbonyl compounds (aldehydes, ketones) produced through
the reaction of skin peroxides with ferrous ions ($\ce{Fe^{2+}}$) that are formed in the sweat-mediated corrosion of iron. $\ce{Fe^{2+}}$ ion containing metal surfaces, rust, drinking water, blood etc., but also copper and brass, give rise to a similar odor on contact with the skin. The human ability to detect this odor is probably a result of the evolutionarily developed but largely dormant ability to smell blood (“blood scent”).

The “garlic-carbide” metallic odor of phosphorus- and carbon-rich cast iron and steel under attack by acid, is dominated by volatile organophosphines. Corroding cast iron
is an environmental source of C–P compounds that may lead to confusion in the verification and monitoring of the Chemical Weapons Convention (see also ref. [15])

As an aside, this may be why sometimes people recommend getting strong smells off your hands by rubbing them against a metal object. While it probably doesn't work for some metals and for some smelly compounds, it's possible that the metal catalyzes the decomposition of the malodorous substances into less strongly smelling ones.
You can read a little more in this press article on the study.


Question:
In 1d signal processing, many types of low pass filters are used. Gaussian filters are almost never used, though.
Why are they so popular in image processing applications? Are these filters a result of optimizing any criterion or are just ad hoc solution since image 'bandwidth' is usually not well defined.

Image processing applications are different from say audio processing applications, because many of them are tuned for the eye. Gaussian masks nearly perfectly simulate optical blur (see also point spread functions). In any image processing application oriented at artistic production, Gaussian filters are used for blurring by default.
Another important quantitative property of Gaussian filters is that they're everywhere non-negative. This is important because most 1D signals vary about 0 ($x \in  \mathbb{R}$) and can have either positive or negative values. Images are different in the sense that all values of an image are non-negative ($x \in  \mathbb{R}^+$). Convolution with a Gaussian kernel (filter) guarantees a non-negative result, so such function maps non-negative values to other non-negative values ($f: \mathbb{R}^+ \rightarrow \mathbb{R}^+$). The result is therefore always another valid image.
In general, frequency rejection in Image processing in not as crucial as in 1D signals. For example, in modulation schemes your filters need to be very precise to reject other channels transmitted on different carrier frequencies, and so on. I can't think of anything just as constraining for image processing problems.


Question:
I have been wondering about this question since I was an undergraduate student.
It is a general question but I will elaborate with examples below.
I have seen a lot of algorithms - for example, for maximum flow problems, I know around 3 algorithms which can solve the problem: Ford-Fulkerson, Edmonds-Karp & Dinic, with Dinic having the best complexity.
For data structures - for example, heaps - there are binary heaps, binomial heaps & Fibonacci heaps, with Fibonacci heap having the best overall complexity.
What keeps me confusing is: are there any reasons why we need to know them all? Why not just learn and get familiar with the best complexity one?
I know it is the best if we know them all, I just want to know are there any "more valid" reasons, like some problems / algorithms can only be solved by using A but not B, etc.

There's a textbook waiting to be written at some point, with the working title Data Structures, Algorithms, and Tradeoffs. Almost every algorithm or data structure which you're likely to learn at the undergraduate level has some feature which makes it better for some applications than others.
Let's take sorting as an example, since everyone is familiar with the standard sort algorithms.
First off, complexity isn't the only concern. In practice, constant factors matter, which is why (say) quick sort tends to be used more than heap sort even though quick sort has terrible worst-case complexity.
Secondly, there's always the chance that you find yourself in a situation where you're programming under strange constraints. I once had to do quantile extraction from a modest-sized (1000 or so) collection of samples as fast as possible, but it was on a small microcontroller which had very little spare read-write memory, so that ruled out most $O(n \log n)$ sort algorithms. Shell sort was the best tradeoff, since it was sub-quadratic and didn't require additional memory.
In other cases, ideas from an algorithm or data structure might be applicable to a special-purpose problem. Bubble sort seems to be always slower than insertion sort on real hardware, but the idea of performing a bubble pass is sometimes exactly what you need.
Consider, for example, some kind of 3D visualisation or video game on a modern video card, where you'd like to draw objects in order from closest-to-the-camera to furthest-from-the-camera for performance reasons, but if you don't get the order exact, the hardware will take care of it. If you're moving around the 3D environment, the relative order of objects won't change very much between frames, so performing one bubble pass every frame might be a reasonable tradeoff. (The Source engine by Valve does this for particle effects.)
There's persistence, concurrency, cache locality, scalability onto a cluster/cloud, and a host of other possible reasons why one data structure or algorithm may be more appropriate than another even given the same computational complexity for the operations that you care about.
Having said that, that doesn't mean that you should memorise a bunch of algorithms and data structures just in case. Most of the battle is realising that there is a tradeoff to be exploited in the first place, and knowing where to look if you think there might be something appropriate.


Question:
I was laying on my bed, reading a book when the sun shone through the windows on my left. I happened to look at the wall on my right and noticed this very strange effect. The shadow of my elbow, when near the pages of the book, joined up with the shadow of the book even though I wasn't physically touching it.
Here's what I saw:The video seems to be the wrong way up, but you still get the idea of what is happening.
What is causing this? Some sort of optical illusion where the light gets bent?
Coincidentally, I have been wondering about a similar effect recently where if you focus your eye on a nearby object, say, your finger, objects behind it in the distance seem to get curved/distorted around the edge of your finger. It seems awfully related...
EDIT: I could see the bulge with my bare eyes to the same extent as in the video! The room was well light and the wall was indeed quite bright.

As said by John Rennie, it has to do with the shadows' fuzzyness. However, that alone doesn't quite explain it.
Let's do this with actual fuzzyness:

I've simulated shadow by blurring each shape and multiplying the brightness values1. Here's the GIMP file, so you can see how exactly and move the shapes around yourself.
I don't think you'd say there's any bending going on, at least to me the book's edge still looks perfectly straight.
So what's happening in your experiment, then?
Nonlinear response is the answer. In particular in your video, the directly-sunlit wall is overexposed, i.e. regardless of the "exact brightness", the pixel-value is pure white. For dark shades, the camera's noise surpression clips the values to black. We can simulate this for the above picture:

Now that looks a lot like your video, doesn't it?
With bare eyes, you'll normally not notice this, because our eyes are kind of trained to compensate for the effect, which is why nothing looks bent in the unprocessed picture. This only fails at rather extreme light conditions: probably, most of your room is dark, with a rather narrow beam of light making for a very large luminocity range. Then, the eyes also behave too non-linear, and the brain cannot reconstruct how the shapes would have looked without the fuzzyness anymore.
Actually of course, the brightness topography is always the same, as seen by quantising the colour palette:

1To simulate shadows properly, you need to use convolution of the whole aperture, with the sun's shape as a kernel. As Ilmari Karonen remarks, this does make a relevant difference: the convolution of a product of two sharp shadows $A$ and $B$ with blurring kernel $K$ is
$$\begin{aligned}
  C(\mathbf{x}) =& \int_{\mathbb{R}^2}\!\mathrm{d}{\mathbf{x'}}\:
                    \Bigl(
                      A(\mathbf{x} - \mathbf{x}') \cdot B(\mathbf{x} - \mathbf{x'})
                    \Bigr) \cdot K(\mathbf{x}')
      \\        =& \mathrm{IFT}\left(\backslash{\mathbf{k}} \to
                      \mathrm{FT}\Bigl(\backslash\mathbf{x}' \to
                          A(\mathbf{x}') \cdot B(\mathbf{x}')
                        \Bigr)(\mathbf{k})
                      \cdot \tilde{K}(\mathbf{k})
                    \right)(\mathbf{x})
\end{aligned}
$$
whereas seperate blurring yields
$$\begin{aligned}
  D(\mathbf{x}) =& \left( \int_{\mathbb{R}^2}\!\mathrm{d}{\mathbf{x'}}\:
                      A(\mathbf{x} - \mathbf{x}')
                    \cdot K(\mathbf{x}')  \right)
      \cdot \int_{\mathbb{R}^2}\!\mathrm{d}{\mathbf{x'}}\:
                      B(\mathbf{x} - \mathbf{x'})
                    \cdot K(\mathbf{x}')
      \\        =& \mathrm{IFT}\left(\backslash{\mathbf{k}} \to
                      \tilde{A}(\mathbf{k}) \cdot \tilde{K}(\mathbf{k})
                    \right)(\mathbf{x})
                  \cdot \mathrm{IFT}\left(\backslash{\mathbf{k}} \to
                           \tilde{B}(\mathbf{k}) \cdot \tilde{K}(\mathbf{k})
                          \right)(\mathbf{x}).
\end{aligned}
$$
If we carry this out for a narrow slit of width $w$ between two shadows (almost a Dirac peak), the product's Fourier transform can be approximated by a constant proportional to $w$, while the $\mathrm{FT}$ of each shadow remains $\mathrm{sinc}$-shaped, so if we take the Taylor-series for the narrow overlap it shows the brightness will only decay as $\sqrt{w}$, i.e. stay brighter at close distances, which of course surpresses the bulging.
And indeed, if we properly blur both shadows together, even without any nonlinearity, we get much more of a "bridging-effect":

But that still looks nowhere as "bulgy" as what's seen in your video.


Question: A binary indexed tree has very less or relatively no literature as compared to other data structures. The only place where it is taught is the topcoder tutorial. Although the tutorial is complete in all the explanations, I cannot understand the intuition behind such a tree? How was it invented? What is the actual proof of its correctness?

Intuitively, you can think of a binary indexed tree as a compressed representation of a binary tree that is itself an optimization of a standard array representation.  This answer goes into one possible derivation.
Let's suppose, for example, that you want to store cumulative frequencies for a total of 7 different elements.  You could start off by writing out seven buckets into which the numbers will be distributed:
[   ] [   ] [   ] [   ] [   ] [   ] [   ]
  1     2     3     4     5     6     7

Now, let's suppose that the cumulative frequencies look something like this:
[ 5 ] [ 6 ] [14 ] [25 ] [77 ] [105] [105]
  1     2     3     4     5     6     7

Using this version of the array, you can increment the cumulative frequency of any element by increasing the value of the number stored at that spot, then incrementing the frequencies of everything that come afterwards.  For example, to increase the cumulative frequency of 3 by 7, we could add 7 to each element in the array at or after position 3, as shown here:
[ 5 ] [ 6 ] [21 ] [32 ] [84 ] [112] [112]
  1     2     3     4     5     6     7

The problem with this is that it takes O(n) time to do this, which is pretty slow if n is large.
One way that we can think about improving this operation would be to change what we store in the buckets.  Rather than storing the cumulative frequency up to the given point, you can instead think of just storing the amount that the current frequency has increased relative to the previous bucket.  For example, in our case, we would rewrite the above buckets as follows:
Before:
[ 5 ] [ 6 ] [21 ] [32 ] [84 ] [112] [112]
  1     2     3     4     5     6     7

After:
[ +5] [ +1] [+15] [+11] [+52] [+28] [ +0]
  1     2     3     4     5     6     7

Now, we can increment the frequency within a bucket in time O(1) by just adding the appropriate amount to that bucket.  However, the total cost of doing a lookup now becomes O(n), since we have to recompute the total in the bucket by summing up the values in all smaller buckets.
The first major insight we need to get from here to a binary indexed tree is the following: rather than continuously recomputing the sum of the array elements that precede a particular element, what if we were to precompute the total sum of all the elements before specific points in the sequence?  If we could do that, then we could figure out the cumulative sum at a point by just summing up the right combination of these precomputed sums.
One way to do this is to change the representation from being an array of buckets to being a binary tree of nodes.  Each node will be annotated with a value that represents the cumulative sum of all the nodes to the left of that given node.  For example, suppose we construct the following binary tree from these nodes:
             4
          /     \
         2       6
        / \     / \
       1   3   5   7

Now, we can augment each node by storing the cumulative sum of all the values including that node and its left subtree.  For example, given our values, we would store the following:
Before:
[ +5] [ +1] [+15] [+11] [+52] [+28] [ +0]
  1     2     3     4     5     6     7

After:
                 4
               [+32]
              /     \
           2           6
         [ +6]       [+80]
         /   \       /   \
        1     3     5     7
      [ +5] [+15] [+52] [ +0]

Given this tree structure, it's easy to determine the cumulative sum up to a point.  The idea is the following: we maintain a counter, initially 0, then do a normal binary search up until we find the node in question.  As we do so, we also do the following: any time that we move right, add the current value to the counter.
For example, suppose we want to look up the sum for 3.  To do so, we do the following:

Start at the root (4).  Counter is 0.
Go left to node (2).  Counter is 0.
Go right to node (3).  Counter is 0 + 6 = 6.
Find node (3).  Counter is 6 + 15 = 21.

You could imagine also running this process in reverse: starting at a given node, initialize the counter to that node's value, then walk up the tree to the root.  Any time you follow a right child link upward, add in the value at the node you arrive at.  For example, to find the frequency for 3, we could do the following:

Start at node (3).  Counter is 15.
Go upward to node (2).  Counter is 15 + 6 = 21.
Go upward to node (4).  Counter is 21.

To increment the frequency of a node (and, implicitly, the frequencies of all nodes that come after it), we need to update the set of nodes in the tree that include that node in its left subtree.  To do this, we do the following: increment the frequency for that node, then start walking up to the root of the tree.  Any time you follow a link that takes you up as a left child, increment the frequency of the node you encounter by adding in the current value.
For example, to increment the frequency of node 1 by five, we would do the following:
                 4
               [+32]
              /     \
           2           6
         [ +6]       [+80]
         /   \       /   \
      > 1     3     5     7
      [ +5] [+15] [+52] [ +0]

Starting at node 1, increment its frequency by 5 to get
                 4
               [+32]
              /     \
           2           6
         [ +6]       [+80]
         /   \       /   \
      > 1     3     5     7
      [+10] [+15] [+52] [ +0]

Now, go to its parent:
                 4
               [+32]
              /     \
         > 2           6
         [ +6]       [+80]
         /   \       /   \
        1     3     5     7
      [+10] [+15] [+52] [ +0]

We followed a left child link upward, so we increment this node's frequency as well:
                 4
               [+32]
              /     \
         > 2           6
         [+11]       [+80]
         /   \       /   \
        1     3     5     7
      [+10] [+15] [+52] [ +0]

We now go to its parent:
               > 4
               [+32]
              /     \
           2           6
         [+11]       [+80]
         /   \       /   \
        1     3     5     7
      [+10] [+15] [+52] [ +0]

That was a left child link, so we increment this node as well:
                 4
               [+37]
              /     \
           2           6
         [+11]       [+80]
         /   \       /   \
        1     3     5     7
      [+10] [+15] [+52] [ +0]

And now we're done!
The final step is to convert from this to a binary indexed tree, and this is where we get to do some fun things with binary numbers.  Let's rewrite each bucket index in this tree in binary:
                100
               [+37]
              /     \
          010         110
         [+11]       [+80]
         /   \       /   \
       001   011   101   111
      [+10] [+15] [+52] [ +0]

Here, we can make a very, very cool observation.  Take any of these binary numbers and find the very last 1 that was set in the number, then drop that bit off, along with all the bits that come after it.  You are now left with the following:
              (empty)
               [+37]
              /     \
           0           1
         [+11]       [+80]
         /   \       /   \
        00   01     10   11
      [+10] [+15] [+52] [ +0]

Here is a really, really cool observation: if you treat 0 to mean "left" and 1 to mean "right," the remaining bits on each number spell out exactly how to start at the root and then walk down to that number.  For example, node 5 has binary pattern 101.  The last 1 is the final bit, so we drop that to get 10.  Indeed, if you start at the root, go right (1), then go left (0), you end up at node 5!
The reason that this is significant is that our lookup and update operations depend on the access path from the node back up to the root and whether we're following left or right child links.  For example, during a lookup, we just care about the right links we follow.  During an update, we just care about the left links we follow.  This binary indexed tree does all of this super efficiently by just using the bits in the index.
The key trick is the following property of this perfect binary tree:

Given node n, the next node on the access path back up to the root in which we go right is given by taking the binary representation of n and removing the last 1.

For example, take a look at the access path for node 7, which is 111.  The nodes on the access path to the root that we take that involve following a right pointer upward is

Node 7: 111
Node 6: 110
Node 4: 100

All of these are right links.  If we take the access path for node 3, which is 011, and look at the nodes where we go right, we get

Node 3: 011
Node 2: 010
(Node 4: 100, which follows a left link)

This means that we can very, very efficiently compute the cumulative sum up to a node as follows:

Write out node n in binary.
Set the counter to 0.
Repeat the following while n ≠ 0:

Add in the value at node n.
Clear the rightmost 1 bit from n.

Similarly, let's think about how we would do an update step.  To do this, we would want to follow the access path back up to the root, updating all nodes where we followed a left link upward.  We can do this by essentially doing the above algorithm, but switching all 1's to 0's and 0's to 1's.
The final step in the binary indexed tree is to note that because of this bitwise trickery, we don't even need to have the tree stored explicitly anymore.  We can just store all the nodes in an array of length n, then use the bitwise twiddling techniques to navigate the tree implicitly.  In fact, that's exactly what the bitwise indexed tree does - it stores the nodes in an array, then uses these bitwise tricks to efficiently simulate walking upward in this tree.
Hope this helps!


Question:
Suppose we have data set $(X_i,Y_i)$ with $n$ points. We want to perform a linear regression, but first we sort the $X_i$ values and the $Y_i$ values independently of each other, forming data set $(X_i,Y_j)$. Is there any meaningful interpretation of the regression on the new data set? Does this have a name?
I imagine this is a silly question so I apologize, I'm not formally trained in statistics. In my mind this completely destroys our data and the regression is meaningless. But my manager says he gets "better regressions most of the time" when he does this (here "better" means more predictive). I have a feeling he is deceiving himself.
EDIT: Thank you for all of your nice and patient examples. I showed him the examples by @RUser4512 and @gung and he remains staunch. He's becoming irritated and I'm becoming exhausted. I feel crestfallen. I will probably begin looking for other jobs soon.

I'm not sure what your boss thinks "more predictive" means.  Many people incorrectly believe that lower $p$-values mean a better / more predictive model.  That is not necessarily true (this being a case in point).  However, independently sorting both variables beforehand will guarantee a lower $p$-value.  On the other hand, we can assess the predictive accuracy of a model by comparing its predictions to new data that were generated by the same process.  I do that below in a simple example (coded with R).
options(digits=3)                       # for cleaner output
set.seed(9149)                          # this makes the example exactly reproducible

B1 = .3
N  = 50                                 # 50 data
x  = rnorm(N, mean=0, sd=1)             # standard normal X
y  = 0 + B1*x + rnorm(N, mean=0, sd=1)  # cor(x, y) = .31
sx = sort(x)                            # sorted independently
sy = sort(y)
cor(x,y)    # [1] 0.309
cor(sx,sy)  # [1] 0.993

model.u = lm(y~x)
model.s = lm(sy~sx)
summary(model.u)$coefficients
#             Estimate Std. Error t value Pr(>|t|)
# (Intercept)    0.021      0.139   0.151    0.881
# x              0.340      0.151   2.251    0.029  # significant
summary(model.s)$coefficients
#             Estimate Std. Error t value Pr(>|t|)
# (Intercept)    0.162     0.0168    9.68 7.37e-13
# sx             1.094     0.0183   59.86 9.31e-47  # wildly significant

u.error = vector(length=N)              # these will hold the output
s.error = vector(length=N)
for(i in 1:N){
  new.x      = rnorm(1, mean=0, sd=1)   # data generated in exactly the same way
  new.y      = 0 + B1*x + rnorm(N, mean=0, sd=1)
  pred.u     = predict(model.u, newdata=data.frame(x=new.x))
  pred.s     = predict(model.s, newdata=data.frame(x=new.x))
  u.error[i] = abs(pred.u-new.y)        # these are the absolute values of
  s.error[i] = abs(pred.s-new.y)        #  the predictive errors
};  rm(i, new.x, new.y, pred.u, pred.s)
u.s = u.error-s.error                   # negative values means the original
                                        # yielded more accurate predictions
mean(u.error)  # [1] 1.1
mean(s.error)  # [1] 1.98
mean(u.s<0)    # [1] 0.68

windows()
  layout(matrix(1:4, nrow=2, byrow=TRUE))
  plot(x, y,   main="Original data")
  abline(model.u, col="blue")
  plot(sx, sy, main="Sorted data")
  abline(model.s, col="red")
  h.u = hist(u.error, breaks=10, plot=FALSE)
  h.s = hist(s.error, breaks=9,  plot=FALSE)
  plot(h.u, xlim=c(0,5), ylim=c(0,11), main="Histogram of prediction errors",
       xlab="Magnitude of prediction error", col=rgb(0,0,1,1/2))
  plot(h.s, col=rgb(1,0,0,1/4), add=TRUE)
  legend("topright", legend=c("original","sorted"), pch=15,
         col=c(rgb(0,0,1,1/2),rgb(1,0,0,1/4)))
  dotchart(u.s, color=ifelse(u.s<0, "blue", "red"), lcolor="white",
           main="Difference between predictive errors")
  abline(v=0, col="gray")
  legend("topright", legend=c("u better", "s better"), pch=1, col=c("blue","red"))

The upper left plot shows the original data.  There is some relationship between $x$ and $y$ (viz., the correlation is about $.31$.)  The upper right plot shows what the data look like after independently sorting both variables.  You can easily see that the strength of the correlation has increased substantially (it is now about $.99$).  However, in the lower plots, we see that the distribution of predictive errors is much closer to $0$ for the model trained on the original (unsorted) data.  The mean absolute predictive error for the model that used the original data is $1.1$, whereas the mean absolute predictive error for the model trained on the sorted data is $1.98$—nearly twice as large.  That means the sorted data model's predictions are much further from the correct values.  The plot in the lower right quadrant is a dot plot.  It displays the differences between the predictive error with the original data and with the sorted data.  This lets you compare the two corresponding predictions for each new observation simulated.  Blue dots to the left are times when the original data were closer to the new $y$-value, and red dots to the right are times when the sorted data yielded better predictions.  There were more accurate predictions from the model trained on the original data $68\%$ of the time.

The degree to which sorting will cause these problems is a function of the linear relationship that exists in your data.  If the correlation between $x$ and $y$ were $1.0$ already, sorting would have no effect and thus not be detrimental.  On the other hand, if the correlation were $-1.0$, the sorting would completely reverse the relationship, making the model as inaccurate as possible.  If the data were completely uncorrelated originally, the sorting would have an intermediate, but still quite large, deleterious effect on the resulting model's predictive accuracy.  Since you mention that your data are typically correlated, I suspect that has provided some protection against the harms intrinsic to this procedure.  Nonetheless, sorting first is definitely harmful.  To explore these possibilities, we can simply re-run the above code with different values for B1 (using the same seed for reproducibility) and examine the output:

B1 = -5:
cor(x,y)                            # [1] -0.978
summary(model.u)$coefficients[2,4]  # [1]  1.6e-34  # (i.e., the p-value)
summary(model.s)$coefficients[2,4]  # [1]  1.82e-42
mean(u.error)                       # [1]  7.27
mean(s.error)                       # [1] 15.4
mean(u.s<0)                         # [1]  0.98

B1 = 0:
cor(x,y)                            # [1] 0.0385
summary(model.u)$coefficients[2,4]  # [1] 0.791
summary(model.s)$coefficients[2,4]  # [1] 4.42e-36
mean(u.error)                       # [1] 0.908
mean(s.error)                       # [1] 2.12
mean(u.s<0)                         # [1] 0.82

B1 = 5:
cor(x,y)                            # [1] 0.979
summary(model.u)$coefficients[2,4]  # [1] 7.62e-35
summary(model.s)$coefficients[2,4]  # [1] 3e-49
mean(u.error)                       # [1] 7.55
mean(s.error)                       # [1] 6.33
mean(u.s<0)                         # [1] 0.44