Question:
I was just watching a mega factory video and wondered why they use an AC motor which requires a power inverter instead of DC which may be powered directly from their DC battery? Introducing an inverter means more cost (weight, controller, etc).
Are there any reasons for that? What are the differences between an AC and DC motor that may have lead to this decision? Also does anyone know what kind of motor is used in other electric cars?

You're asking about the technical tradeoffs surrounding the selection of a traction motor for an electric vehicle application. Describing the full design tradespace is far beyond what can reasonably be summarized here, but I'll outline the prominent design tradeoffs for such an application.
Because the amount of energy that can be stored chemically (i.e. in a battery) is quite limited, nearly all electric vehicles are designed with efficiency in mind. Most transit application traction motors for automotive applications range between 60kW and 300kW peak power.  Ohms law indicates that power losses in cabling, motor windings, and battery interconnects is P=I2R.  Thus reducing current in half reduces resistive losses by 4x.  As a result most automotive applications run at a nominal DC link voltage between 288 and 360Vnom (there are other reasons for this selection of voltage, too, but let's focus on losses).  Supply voltage is relevant in this discussion, as certain motors, like Brush DC, have practical upper limits on supply voltage due to commutator arcing.
Ignoring more exotic motor technologies like switched/variable reluctance, there are three primary categories of electric motors used in automotive applications:
Brush DC motor:  mechanically commutated, only a simple DC 'chopper' is required to control torque.  While Brush DC motors can have permanent magnets, the size of the magnets for traction applications makes them cost-prohibitive.  As a result, most DC traction motors are series- or shunt-wound.  In such a configuration, there are windings on both stator and rotor.
Brushless DC motor (BLDC): electronically commutated by inverter, permanent magnets on rotor, windings on stator.
Induction motor: electronically commutated by inverter, induction rotor, windings on stator.
Following are some brash generalizations regarding tradeoffs between the three motor technologies.  There are plenty of point examples that will defy these parameters; my goal is only to share what I would consider nominal values for this type of application.
- Efficiency:
Brush DC:  Motor:~80%, DC controller: ~94%  (passive flyback), NET=75%
BLDC: ~93%, inverter: ~97% (synchronous flyback or hysteretic control), NET=90%
Induction: ~91%: inverter: 97% (synchronous flyback or hysteretic control), NET=88%
- Wear/Service:
Brush DC:  Brushes subject to wear; require periodic replacement.  Bearings.
BLDC: Bearings (lifetime)
Induction: Bearings (lifetime)
- Specific cost (cost per kW), including inverter
Brush DC:  Low - motor and controller are generally inexpensive
BLDC: High - high power permanent magnets are very expensive
Induction: Moderate - inverters add cost, but motor is cheap
- Heat rejection
Brush DC:  Windings on rotor make heat removal from both rotor and commutator challenging with high power motors.
BLDC: Windings on stator make heat rejection straightforward.  Magnets on rotor have low-moderate eddy current-induced heating
Induction: Windings on stator make stator heat rejection straightforward.  Induced currents in rotor can require oil cooling in high power applications (in and out via shaft, not splashed).
- Torque/speed behavior
Brush DC:  Theoretically infinite zero speed torque, torque drops with increasing speed.  Brush DC automotive applications generally require 3-4 gear ratios to span the full automotive range of grade and top speed.  I drove a 24kW DC motor-powered EV for a number of years that could light the tires up from a standstill (but struggled to get to 65 MPH).
BLDC: Constant torque up to base speed, constant power up to max speed.  Automotive applications are viable with a single ratio gearbox.
Induction: Constant torque up to base speed, constant power up to max speed.  Automotive applications are viable with a single ratio gearbox. Can take hundreds of ms for torque to build after application of current
- Miscellaneous:
Brush DC:  At high voltages, commutator arcing can be problematic.  Brush DC motors are canonically used in golf cart and forklift (24V or 48V) applications, though newer models are induction due to improved efficiency.  Regnerative braking is tricky and requires a more complex speed controller.
BLDC: Magnet cost and assembly challenges (the magnets are VERY powerful) make BLDC motors viable for lower power applications (like the two Prius motor/generators).  Regnerative braking comes essentially for free.
Induction: The motor is relatively cheap to make, and power electronics for automotive applications have come down in price significantly over the past 20 years.  Regnerative braking comes essentially for free.
Again, this is only a very top-level summary of some of the primary design drivers for motor selection.  I've intentionally omitted specific power and specific torque, as those tend to vary much more with the actual implementation.


Question:
I was looking in the Android app store for a guitar tuner. I found a tuner app that claimed it was faster than other apps. It claimed it could find the frequency without using the DFT (I wish I still had the URL to this specification).
I have never heard of this. Can you acquire an audio signal and compute the frequency without using the DFT or FFT algorithm?

FFT is actually not a great way of making a tuner. FFT has inherently a finite frequency resolution and it's not easy to detect very small frequency changes without making the time window extremely long which makes it unwieldy and sluggish.
Better solutions can be based on phase-locked loops, delay-locked loops, auto correlation, zero crossing detection and tracking, max or min detection and tracking and certainly intelligent combination of these methods.
Pre-processing always helps.


Question:
We can sometimes see decades-old capacitors (such as ones made in the USSR) still working. They are bigger and heavier, but durable and not desiccating. Modern aluminium capacitors serve for about 11 years, if you are lucky, then become dry and quietly fail. I remember early 2000s devices where capacitors failed after 3–4 years of service, and not necessarily low-end devices (one example is E-TECH ICE-200 cable modem worth ∼ 240 USD in 2000). A repair due to failed electrolytic capacitors became a commonplace, something uncharacteristic for 1980s.
Was this 1990s degradation caused by cheap mass production? Or by poorly-tested technologies related to miniaturization? Or many manufacturers just didn’t care?
It appears that the trend is by now reversed, and recent capacitors are a bit better than the ones from 1994–2002. Can experts confirm it?

There was a period of time where lots of capacitors were made with a dodgy electrolyte, especially by some large Taiwanese manufacturers.  The capacitors looked OK in a wide variety of tests when new, but they didn't age well. Because it took a few years for the capacitors to fail, and the high failure rate to become known, an awful lot of them had been produced and built into things before people realised there was a problem.  It then took a few more years to for the things to leave circulation.
Exactly why these manufacturers had electrolyte problems is not completely clear.  They were using new, water based electrolytes which had been developed in Japan and worked very well. Presumably the cheaper manufacturers had missed something or cut some corners while reproducing (or ripping off) the Japanese research.
The type of capacitor affected was cheap, large capacitance, low ESR capacitors. These are the kind of thing that appears in huge numbers of consumer devices, so the problem became known in the wider community. Plus, the failure mode of these capacitors was rupture and venting, so it was easy for even people unfamiliar with electronics to see which component was at fault when their motherboard stopped working.
Wikipedia has an article about it: Capacitor Plague


Question:
This is a question that has been in my mind since I was a kid. I'm not a doctor, nor even a biology student, just a curious person. What is the minimum and maximum temperature a human body can stand without dying or suffering severe consequences (eg. a burn or a freeze)? While at this subject, how much more global warming will the human body be able to take? Seeing as temperatures keep on rising, I'm just wondering how much longer until the temperature starts having drastic effects.
In my country the temperature is about 35-40-45 degrees Celsius in mid-summer (I live in Romania, eastern Europe, and the climate is supposedly ideal here) which is very unhealthy. Does the human body suffer more and more as the temperatures change?

Hypothermia (when the body is too cold) is said to occur when the core body temperature of an individual has dropped below 35° celsius.  Normal core body temperature is 37°C. (1) Hypothermia is then further subdivided into levels of seriousness (2) (although all can be damaging to health if left for an extended period of time)

Mild 35–32 °C: shivering, vasoconstriction, liver failure (which would eventually be fatal) or hypo/hyper-glycemia (problems maintaining healthy blood sugar levels, both of which could eventually be fatal).
Moderate 32–28 °C: pronounced shivering, sufficient vasoconstriction to induce shock, cyanosis in extremities & lips (i.e. they turn blue), muscle mis-coordination becomes more apparent.
Severe 28–20 °C: this is where your body would start to rapidly give up.  Heart rate, respiratory rate and blood pressure fall to dangerous levels (HR of 30bpm would not be uncommon - normally around 70-100).  Multiple organs fail and clinical death (where the heart stops beating and breathing ceases) soon occurs.

However, as with most things in human biology, there is a wide scope for variation between individuals. The Swedish media reports the case of a seven year old girl recovering from hypothermia of 13°C (3) (though children are often more resilient than adults).
Hyperthermia (when the body is too hot - known in its acute form as heatstroke) and is medically defined as a core body temperature from 37.5–38.3 °C (4).  A body temperature of above 40°C is likely to be fatal due to the damage done to enzymes in critical biochemical pathways (e.g. respiratory enzymes).
As you mentioned burns, I will go into these too. Burns are a result of contact with a hot object or through infra-red (heat) radiation. Contact with hot liquid is referred to as a scald rather than a burn. Tests on animals showed that burns from hot objects start to take effect when the object is at least 50°C and the heat applied for over a minute. (5)
Freeze-burn/frostbite, which is harder to heal than heat burns(6) occurs when vaso-constriction progresses to the degree where blood flow to affected areas is virtually nil.  The tissue affected will eventually literally freeze, causing cell destruction. (7)  Similarly to hypothermia, frostbite is divided into four degrees (that can be viewed on Wikipedia).
As to the matter of global warming cooking us to death, I would imagine that it would be more indirect changes that got us first.  If the average temperature had risen  to the necessary 40°C to cause heat-stroke, sea levels would have risen hugely due to the melting of the polar ice caps.  Crops and other food sources would likely be affected too, therefore I don't think that global warming is overly likely to directly kill humans.


Question: Scholarly papers in scientific computing (and many other fields, nowadays) typically involve some amount of code or even whole software packages that were written specifically for that paper or were used to obtain results in the paper.  What is the best way to help readers of the paper access the code?  My current approach is to put a link to a Github repository (along with a particular version tag) in the paper or in a citation.

Well, I think you have a few options.

If you have a stable page—such as one sponsored by a university or other non-profit institution that's unlikely to vanish anytime soon—you could publish there.
You could use a service like Github or Bitbucket or SourceForge to distribute the code.
If the code is of marginal general value (it's an analysis code for a specific set of conditions, etc.), you could make the code available as a "supplemental information" download with the paper in which you use it.
You could use some combination of the above.

In any or all of these cases, however, you should indicate the sourcing clearly in the article, and indicate what kind of licensing it is (GPL, Creative Commons, etc.), so that there's no IP-related issues down the line.


Question: What is the basic difference between aqueous and alcoholic $\ce{KOH}$? Why does alcoholic $\ce{KOH}$ prefer elimination whereas aqueous $\ce{KOH}$ prefers substitution?

$$\ce{R-OH + OH- <=> RO- + H2O }$$
In alcoholic solution, the $\ce{KOH}$ is basic enough ($\mathrm{p}K_{\mathrm{a}} =15.74$) to deprotonate a small amount of the alcohol molecules ($\mathrm{p}K_{\mathrm{a}}= 16–17$), thus forming alkoxide salts ($\ce{ROK}$). The alkoxide anions $\ce{RO-}$ are not only more basic than pure $\ce{OH-}$ but they are also bulkier (how much bulkier depends on the alkyl group). The higher bulkiness makes $\ce{RO-}$ a worse nucleophile than $\ce{OH-}$ and the higher basicity makes it better at E2 eliminations.


Question:
A very common problem in Markov Chain Monte Carlo involves computing probabilities that are sum of large exponential terms,
$ e^{a_1} + e^{a_2} + ... $
where the components of $a$ can range from very small to very large.  My approach has been to factor out the largest exponential term $K := \max_{i}(a_{i})$ so that:
$$a' =K + log\left( e^{a_1 - K} + e^{a_2 - K } + ... \right)$$
$$e^{a'} \equiv e^{a_1} + e^{a_2} + ...$$
This approach is reasonable if all elements of $a$ are large, but not such a good idea if they aren't.   Of course, the smaller elements aren't contributing to the floating-point sum anyway, but I'm not sure how to reliably deal with them.  In R code, my approach looks like:
if ( max(abs(a)) > max(a) )
  K <-  min(a)
else
  K <- max(a)
ans <- log(sum(exp(a-K))) + K

It seems a common enough problem that there should be a standard solution, but I'm not sure what it is.  Thanks for any suggestions.

There is a straightforward solution with only two passes through the data:
First compute
$$K := \max_i\; a_i,$$
which tells you that, if there are $n$ terms, then
$$\sum_i e^{a_i} \le n e^K.$$
Since you presumably don't have $n$ anywhere near as large as even $10^{20}$, you should have no worry about overflowing in the computation of
$$\tau := \sum_i e^{a_i-K} \le n$$
in double precision.
Thus, compute $\tau$ and then your solution is $e^K \tau$.


Question:
The problem
I'm currently working on a Finite Element Navier Stokes simulation and I would like to investigate the effects of a variety of parameters. Some parameters are specified in an input file or via a command line options; other parameters are provided as flags in a Makefile so my code has to be recompiled whenever I change those options. I would be interested to get some advice about a good way to systematically explore the parameter space.

Are there useful C++/Python libraries/frameworks that can help with this sort of thing? For example discovering boost.Program_options was a big help since it's possible to overload input file options with command line arguments. I have also seen some people use a job file describing each case quite effectively and a collegue suggested that writing parameters into vtu files as comment blocks could work too.
Perhaps it isn't worth investing much time in this at all? Is it just a distraction and a time-drain and it's best to just muscle through the testing process brute force and ad hoc?

Some thoughts
I am currently doing things mostly by hand and I have encountered the following problems:

Naming test cases. I tried storing results in folders named with the run parameters separated with underscores e.g. Re100_dt02_BDF1.... These quickly become long or difficult to read/cryptic if they are abbreviated too much . Also, real number parameters include a . which is awkward/ugly.
Logging run data. Sometimes I would like to see the results written to the terminal and also saved to a text file. This answer from StackOverflow for instance is somewhat helpful but the solutions seem to be a bit intrusive.
Plotting data according to parameter. It takes quite some time collect relevant data from a variety of log files into a single file which I can then plot, with a better system perhaps this would become easier.
Recording comments on the data. After examining results I write some comments in a text file but keeping this is sync with the results folders is sometimes difficult.

If you want to write something general-purpose, you can do it either with shell scripts if it is something very simple, as Pedro suggests, or aggregate in a higher-level mathematical programming language such as Python or MATLAB.  I agree that plain text files are useful for smaller amounts of data, but you should probably switch to binary data for anything larger than a few megabytes.
On the other hand, if you are just doing parameter estimation, I would recommend using a piece of software specifically suited for this.  Several researchers at my University have had good luck with DAKOTA, an Uncertainty Quantification toolbox out of Sandia National Laboratories (available under a GNU Lesser General Public License).
Here's an excerpt from the Sandia page describing DAKOTA:

We provide a variety of methods to allow a user to run a collection of computer simulations to assess the sensitivity of model outputs with respect to model inputs. Common categories include parameter studies, sampling methods and design of experiments. In parameter studies one steps some input parameters through a range while keeping other input parameters fixed and evaluates how the output varies. In sampling methods, one generates samples from an input space distribution and calculates the output response at the input values. Specific sampling methods available within DAKOTA include Monte Carlo, Latin Hypercube, and (coming soon) quasi-Monte Carlo. In design of experiments the output is evaluated at a set of input "design" points chosen to sample the space in a representative way. Specific design of experiment methods available within DAKOTA include Box-Behnken, Central Composite, and Factorial designs. Sensitivity metrics are a mathematical way of expressing the dependence of outputs on inputs. A variety of sensitivity metrics are available within Dakota, such as simple and partial correlation coefficients, and rank correlations. Our current research focuses on methods to generate sensitivity metrics with a minimal number of runs, and on optimal estimation of parameters in computer models using Bayesian analysis techniques.


Question:
As I am currently in a war zone, I don't have many options for cabling.
I found this clothesline (steel core plastic wire rope) that appears to be one mm of diameter (steel core diameter.) 13 meters of it measured 7 ohms resistance.
Edit: It is 3.8 Ω and not 7. The first multimeter test lead probes had 2-4 resistance when shorted. A slightly better multimeter had 0.5 Ω when shorted. Both multimeters gave 3.8 after subtracting multimeters own resistances and scratching the wire ends.

Can it carry AC 120 or 240 volts, and if so, for what distance?
How many of it (doubling it) can carry DC 18V and 15 A from a solar panel arrays 10 to 15 meters away from the inverter (charge controller)? (20 W panels with open circuit voltage of 21 V).

This is just temporary solution and I hope only for few days or weeks. Air strikes blew up some transformers and high voltage lines and our concrete homes are not designed to be habitable without AC power.
Edit:
Its now connected to a c32 breaker (the smallest I could find) and a breaker mounting brackets cut from a laptop battery cover. The wire is inserted in plastic bottle caps as wire wall clips and a tow heads plug is inserted to the other end (to be upgraded to three heads) because now polarity is important I think.

I will connect it to a manual changeover switch when adding the solar oart after finishing the battery but that is another longer story (Lithium battery without BMS) but I may be able to reuse old laptop batteries BMS (I have more than 20 batteries):
The solar system is only for a medium 100 W Samsung fridge and the mains are for the fridge plus two ceiling fan, one swamp cooler and three LED lights.

Steel, having just around 10 times higher resistivity than copper means it will take ten times the conductor area to match copper. If you measured 13 meter of it to 3.8 Ω, the cross sectional area would be 2 mm^2, assuming 5.95*10^-7 Ωm of resistivity for "high alloy steel" (this varies greatly unfortunately so assume +100% -50% uncertainty for all values given).
To answer your questions:

How long = Time: probably many years. How long = Distance: Most devices will run happily with 10 % voltage drop. Anything universal input (100-240 V) could handle significant voltage drop due to the cable at which point it's the thermal capability of the cable which sets the limit as you don't want it to melt.
With 3.8 Ω for 13 meter, you have 0.29 Ω/m. At 1 A 230 V AC current, you can go 39.7 meter (round trip is double distance) before you have dropped 10 % of the voltage. If you halve the current, it's double the distance. Gut feeling + experience says it would get lukewarm at 2-3 A so I would not go much above it.

Could be lethal though, as the insulation is not mains voltage rated. I would be more afraid of anyone coming into contact with the end points and the cable termination than touching the outer shell of the clothesline and somehow get zapped by it as they tend to sit outside for decades without becoming brittle by the UV exposure.
As stated below by Martin McCormick, your best bet is to put the inverter as close to the panels as you can and run AC through the clothesline versus low voltage DC current through the clothesline.

With just one conductor, carrying 15 A via 3.8 Ω means a 57 V drop, so not possible with 18 V at all. It would also melt. To make it work at 18 V, perhaps 20 % drop (3.6 V) could be tolerated. To get down to 3.6 V drop, you would need 57/3.6 = 16 in parallel.


Question: Why can't you use a single resistor for a number of LEDs in parallel instead of one each?

The main reason is because you can't safely connect diodes in parallel.
So when we use one resistor, we have a current limit for the whole diode section. After that it's up to each diode to control the current that goes through it.
The problem is that real world diodes don't have same characteristics and therefore there's a danger that one diode will start conducting while others won't.
So you basically want this (open in Paul Falstad's circuit simulator):

And you in reality get this (open in Paul Falstad's circuit simulator):

As you can see, in the first example, all diodes are conducting equal amounts of current and in the second example one diode is conducting most of the current while other diodes are barely conducting anything at all. The example itself is a bit exaggerated so that the differences will be a bit more obvious, but nicely demonstrate what happens in real world.
The above is written with assumption that you will chose the resistor in such way that is sets the current so that the current is n times the current you want in each diode where n is the number of diodes and that the current is actually larger than the current which a single diode can safely conduct. What then happens is that the diode with lowest forward voltage will conduct most of the current and it will wear out the fastest. After it dies (if it dies as open circuit) the diode with next lowest forward voltage will conduct most of the current and will die even faster than first diode and so on until you run out of diodes.
One case that I can think of where you can use a resistor powering several diodes would be if the maximum current going through the resistor is small enough that a single diode can work with full current. This way the diode won't die, but I myself haven't experimented with that so I can't comment on how good idea it is.


Question:
How do I identify the markings on an SMT component and match it up with a part number so I can be a good designer and actually look at a datasheet (and read the whole thing)?
Or identify a part to replace an unknown part on a PCB?

Step 1) Identify the package, note how many pins, match up the pins first. Note that sometimes the package pins are underneath the part or extended away from the part. Also get the dimensions of the part with a ruler or (preferably) calipers and match them up with a chart, write them down for a later step. One way you can measure small pin pitches is measure multiple pins and divide by the number that were measured, getting the average pin pitch.
Make sure that when measuring pin pitches (distance between pins) that this is done accurately, it can be difficult to tell (for example) the difference between a 1mm pitch to a 1.25mm pitch. Make sure the measurement is precise, or measure across multiple pins and divide by the number of pins to get the pin pitch.
Package dimensions are standardized IPC-7351 or they can also be found by searching for the package type on google and comparing dimensions. Package dimensions can also be found at manufactures websites in datasheets (or sometimes in files separate from datasheets, it might take some hunting around to find them)
Here are some resources to help you find different packages or use this below:

Source: NXP
Step 2) Identify all markings on the top of the component. These markings include: Manufacturer Logo and\or SMT code.
If you are unsure of character differences, make sure these are noted. E.g.: 8 could be mistaken for B. That means if you have A32B it could be mistaken for A328. If you're unsure, you will need to search for both. Here are some sources where you can find them:

Digikey SMT ID
SMT codebook
SMD manuals
SMD marking codes database
All transistors
Find Chips
Many others

You can find many IC manufacturer logo's using this link or the picture below:

Source: Electronicspoint
Step still can't find it 3) So what do you do at this point if you can't find what your part is? There are still lots of options. Use what you know about the part.
A manufacture logo or mark on the package can be really helpfull to identify the package. Use parametric searches at the manufacturer's website and package information to narrow down the number of parts. For example: if I thought the part was an opamp with 5 pins and I knew the manufacturer was TI, I would go to TI's website and run a parametric search that looks for all of the opamps with 5 pin packages.
Then start checking datasheets as most of the leading manufactures provide SMT codes in datasheets with the package information. If it is an old part, a search through old datasheets or maybe an email to the manufacturer might be the way to clarify the part. Many manufacturers have also SMD code lists.
The more certainty you have of the package type (or narrowed it down to a few packages) and you think you know what the part does, you can use a distributor search (such as Digikey, Mouser, or Octopart) to narrow down what the part is. This allows you to pull up a datasheet and check.
I have also found extremely vague parts on google just by the package and the SMD number. I tried different combinations of packages (I had two choices), and after some google sleuthing, I narrowed it down to 3 parts. With some testing, I found my part.
If all that doesn't work, and your part is still functional, you might have to do more reverse engineering of the circuit and find the functionality of the part.
For example, if you know its a transistor, you could verify the type of transistor with a multi meter or diodes can be easily determined with the diode mode of a meter.
Because of current leakage in a circuit when it is off, parts such as capacitors or unmarked resistors may need to be desoldered from the board to find the true value (the rest of the circuit is in parallel with the component when the terminals of the meter are placed across it).


Question:
As an exercise I sat down and derived the magnetic field produced by moving charges for a few contrived situations. I started out with Coulomb's Law and Special Relativity. For example, I derived the magnetic field produced by a current $I$ in an infinite wire. It's a relativistic effect; in the frame of a test charge, the electron density increases or decreases relative to the proton density in the wire due to relativistic length contraction, depending on the test charge's movement. The net effect is a frame-dependent Coulomb field whose effect on a test charge is exactly equivalent to that of a magnetic field according to the Biot–Savart Law.
My question is: Can Maxwell's equations be derived using only Coulomb's Law and Special Relativity?
If so, and the $B$-field is in all cases a purely relativistic effect, then Maxwell's equations can be re-written without reference to a $B$-field. Does this still leave room for magnetic monopoles?

Maxwell's equations do follow from the laws of electricity combined with the principles of special relativity. But this fact does not imply that the magnetic field at a given point is less real than the electric field. Quite on the contrary, relativity implies that these two fields have to be equally real.
When the principles of special relativity are imposed, the electric field $\vec{E}$ has to be incorporated into an object that transforms in a well-defined way under the Lorentz transformations - i.e. when the velocity of the observer is changed. Because there exists no "scalar electric force", and for other technical reasons I don't want to explain, $\vec{E}$ can't be a part of a 4-vector in the spacetime, $V_{\mu}$.
Instead, it must be the components $F_{0i}$ of an antisymmetric tensor with two indices,
$$F_{\mu\nu}=-F_{\nu\mu}$$
Such objects, generally known as tensors, know how to behave under the Lorentz transformations - when the space and time are rotated into each other as relativity makes mandatory.
The indices $\mu,\nu$ take values $0,1,2,3$ i.e. $t,x,y,z$. Because of the antisymmetry above, there are 6 inequivalent components of the tensor - the values of $\mu\nu$ can be
$$01,02,03;23,31,12.$$
The first three combinations correspond to the three components of the electric field $\vec{E}$ while the last three combinations carry the information about the magnetic field $\vec{B}$.
When I was 10, I also thought that the magnetic field could have been just some artifact of the electric field but it can't be so. Instead, the electric and magnetic fields at each point are completely independent of each other. Nevertheless, the Lorentz symmetry can transform them into each other and both of them are needed for their friend to be able to transform into something in a different inertial system, so that the symmetry under the change of the inertial system isn't lost.
If you only start with the $E_z$ electric field, the component $F_{03}$ is nonzero. However, when you boost the system in the $x$-direction, you mix the time coordinate $0$ with the spatial $x$-coordinate $1$. Consequently, a part of the $F_{03}$ field is transformed into the component $F_{13}$ which is interpreted as the magnetic field $B_y$, up to a sign.
Alternatively, one may describe the electricity by the electric potential $\phi$. However, the energy density from the charge density $\rho=j_0$ has to be a tensor with two time-like indices, $T_{00}$, so $\phi$ itself must carry a time-like index, too. It must be that $\phi=A_0$ for some 4-vector $A$. This whole 4-vector must exist by relativity, including the spatial components $\vec{A}$, and a new field $\vec{B}$ may be calculated as the curl of $\vec{A}$ while $\vec{E}=-\nabla\phi-\partial \vec{A}/\partial t$.
You apparently wanted to prove the absence of the magnetic monopoles by proving the absence of the magnetic field itself. Well, apologies for having interrupted your research plan: it can't work. Magnets are damn real. And if you're interested, the existence of magnetic monopoles is inevitable in any consistent theory of quantum gravity. In particular, two poles of a dumbbell-shaped magnet may collapse into a pair of black holes which will inevitably possess the (opposite) magnetic monopole charges. The lightest possible (Planck mass) black holes with magnetic monopole charges will be "proofs of concept" heavy elementary particles with magnetic charges - however, lighter particles with the same charges may sometimes exist, too.


Question:
There's a lot of discussion going on on this forum about the proper way to specify various hierarchical models using lmer.
I thought it would be great to have all the information in one place.
A couple of questions to start:

How to specify multiple levels, where one group is nested within the other: is it (1|group1:group2) or (1+group1|group2)?
What's the difference between (~1 + ....) and (1 | ...) and (0 | ...) etc.?
How to specify group-level interactions?

What's the difference between (~1 +....) and (1 | ...) and (0 | ...) etc.?

Say you have variable V1 predicted by categorical variable V2, which is treated as a random effect, and continuous variable V3, which is treated as a linear fixed effect. Using lmer syntax, simplest model (M1) is:
V1 ~ (1|V2) + V3

This model will estimate:
P1: A global intercept
P2: Random effect intercepts for V2 (i.e. for each level of V2, that level's intercept's deviation from the global intercept)
P3: A single global estimate for the effect (slope) of V3
The next most complex model (M2) is:
V1 ~ (1|V2) + V3 + (0+V3|V2)

This model estimates all the parameters from M1, but will additionally estimate:
P4: The effect of V3 within each level of V2 (more specifically, the degree to which the V3 effect within a given level deviates from the global effect of V3), while enforcing a zero correlation between the intercept deviations and V3 effect deviations across levels of V2.
This latter restriction is relaxed in a final most complex model (M3):
V1 ~ (1+V3|V2) + V3

In which all parameters from M2 are estimated while allowing correlation between the intercept deviations and V3 effect deviations within levels of V2. Thus, in M3, an additional parameter is estimated:
P5: The correlation between intercept deviations and V3 deviations across levels of V2
Usually model pairs like M2 and M3 are computed then compared to evaluate the evidence for correlations between fixed effects (including the global intercept).
Now consider adding another fixed effect predictor, V4. The model:
V1 ~ (1+V3*V4|V2) + V3*V4

would estimate:
P1: A global intercept
P2: A single global estimate for the effect of V3
P3: A single global estimate for the effect of V4
P4: A single global estimate for the interaction between V3 and V4
P5: Deviations of the intercept from P1 in each level of V2
P6: Deviations of the V3 effect from P2 in each level of V2
P7: Deviations of the V4 effect from P3 in each level of V2
P8: Deviations of the V3-by-V4 interaction from P4 in each level of V2
P9 Correlation between P5 and P6 across levels of V2
P10 Correlation between P5 and P7 across levels of V2
P11 Correlation between P5 and P8 across levels of V2
P12 Correlation between P6 and P7 across levels of V2
P13 Correlation between P6 and P8 across levels of V2
P14 Correlation between P7 and P8 across levels of V2
Phew, That's a lot of parameters! And I didn't even bother to list the variance parameters estimated by the model. What's more, if you have a categorical variable with more than 2 levels that you want to model as a fixed effect, instead of a single effect for that variable you will always be estimating k-1 effects (where k is the number of levels), thereby exploding the number of parameters to be estimated by the model even further.


Question: What is the relationship, if any, between Kalman filtering and (repeated, if necessary) least squares polynomial regression?

1. There is a Difference in terms of optimality criteria
Kalman filter is a Linear estimator. It is a linear optimal estimator - i.e. infers model parameters of interest from indirect, inaccurate and uncertain observations.
But optimal in what sense? If all noise is Gaussian, the Kalman filter minimizes the mean square error of the estimated parameters. This means, that when underlying noise is NOT Gaussian the promise no longer holds. In case of nonlinear dynamics, it is well-known that the problem of state estimation becomes difficult. In this context, no filtering scheme clearly outperforms all other strategies. In such case, Non-linear estimators may be better if they can better model the system with additional information. [See Ref 1-2]
Polynomial regression is a form of linear regression in which the relationship between the independent variable x and the dependent variable y is modeled as an nth order polynomial.
$$ Y = a_0 + a_1x + a_2x^2 + \epsilon $$
Note that, while polynomial regression fits a nonlinear model to the data, these models are all linear from the point of view of estimation, since the regression function is linear in terms of the unknown parameters $a_0, a_1, a_2$. If we treat $x, x^2$ as different variables, polynomial regression can also be treated as multiple linear regression.
Polynomial regression models are usually fit using the method of least squares. In the least squares method also, we minimize the mean squared error. The least-squares method minimizes the variance of the unbiased estimators of the coefficients, under the conditions of the Gauss–Markov theorem. This theorem, states that ordinary least squares (OLS) or linear least squares is the Best Linear Unbaised Estimator (BLUE) under following conditions:
a. when errors have expectation  zero i.e. $E(e_i) = 0 $
b. have equal variances i.e.  $ Variance(e_i) = \sigma^2 < \infty $
c. and errors are uncorrelated i.e. $ cov(e_i,e_j) = 0 $

NOTE: that here, errors don't have to be Gaussian nor need to be
IID. It only needs to be uncorrelated.

2. Kalman Filter is an evolution of estimators from least square
In 1970, H. W. Sorenson published an IEEE Spectrum article titled "Least-squares estimation: from Gauss to Kalman." [See Ref 3.] This is a seminal paper that provides great insight about how Gauss' original idea of least squares to today's modern estimators like Kalman.
Gauss' work not only introduced the least square framework but it was actually one of the earliest work that used a probabilistic view. While least squares evolved in the form of various regression methods, there was another critical work that brought filter theory to be used as an estimator.
The theory of ﬁltering to be used for stationary time series estimation was constructed by Norbert Wiener during 1940s (during WW-II) and published in 1949 which is now known as Wiener filter. The work was done much earlier, but was classiﬁed until well after World War II). The discrete-time equivalent of Wiener's work was derived independently by Kolmogorov and published in 1941. Hence the theory is often called the Wiener-Kolmogorov filtering theory.
Traditionally filters are designed for the desired frequency response. However, in case of Wiener filter, it reduces the amount of noise present in a signal by comparison with an estimation of the desired noiseless signal. Weiner filter is actually an estimator. In an important paper, however, Levinson (1947) [See Ref 6] showed that in discrete time, the entire theory could be reduced to least squares and so was mathematically very simple. See Ref 4
Thus, we can see that Weiner's work gave a new approach for estimation problem;  an evolution from using least squares to another well-established filter theory.
However, the critical limitation is that Wiener filter assumes the inputs are stationary.  We can say that Kalman filter is a next step in the evolution which drops the stationary criteria. In Kalman filter, state space model can dynamically be adapted to deal with non-stationary nature of signal or system.
The Kalman filters are based on linear dynamic systems in discrete time domain. Hence it is capable of dealing with potentially time varying signal as opposed to Wiener. As the Sorenson's paper draws parallel between Gauss' least squares and Kalman filter as

...therefore, one sees that the basic assumption of Gauss and Kalman
are identical except that later allows the state to change from one
time to next. The difference introduces a non-trivial modification to
Gauss' problem but one that can be treated within the least squares
framework.

3. They are same as far as causality direction of prediction is concerned; besides implementation efficiency
Sometimes it is perceived that Kalman filter is used for prediction of future events based on past data where as regression or least squares does smoothing within end to end points. This is not really true. Readers should note that both the estimators (and almost all estimators you can think of) can do either job. You can apply Kalman filter to apply Kalman smoothing.
Similarly, regression based models can also be used for prediction. Given the training vector, $X_t$ and you applied $Y_t$ and discovered the model parameters $α_0 ... a_K$ now for another sample $X_k$ we can extrapolate $Y_K$ based on the model.
Hence, both methods can be used in the form of smoothing or fitting (non-causal) as well as for future predictions (causal case). However, the critical difference is the implementation which is significant. In case of polynomial regression - with entire process needs to get repeated and hence, while it may be possible to implement causal estimation but it might be computationally expensive. [While, I am sure there must be some research by now to make things iterative].
On the other hand, Kalman filter is inherently recursive. Hence, using it for prediction for future only using on past data will be very efficient.
Here is another good presentation that compares several methods: Ref 5
References

Best Introduction to Kalman Filter - Dan Simon Kalman Filtering Embedded Systems Programming JUNE 2001 page 72

Presentation: Lindsay Kleeman Understanding and Applying Kalman Filtering

H. W. Sorenson Least-squares estimation: from Gauss to Kalman IEEE Spectrum, July 1970. pp 63-68.

Lecture Note MIT Course ware - Inference from Data and Models (12.864) - Wiener and Kalman Filters

Presentation Simo Särkkä From Linear Regression to Kalman
Filter and Beyond Helsinki University of Technology

Levinson, N. (1947). "The Wiener RMS error criterion in filter design and prediction." J. Math. Phys., v. 25, pp. 261–278.


Question:
I have a simple question that is really hard to Google (besides the canonical What Every Computer Scientist Should Know About Floating-Point Arithmetic paper).
When should functions such as log1p or expm1 be used instead of log and exp? When should they not be used? How do different implementations of those functions differ in terms of their usage?

We all know that
\begin{equation}
\exp(x) = \sum_{n=0}^\infty \frac{x^n}{n!} = 1 + x + \frac12 x^2 + \dots
\end{equation}
implies that for $|x| \ll 1$, we have $\exp(x) \approx 1 + x$. This means that if we have to evaluate in floating point $\exp(x) -1$, for $|x| \ll 1$ catastrophic cancellation can occur.
This can be easily demonstrated in python:
>>> from math import (exp, expm1)

>>> x = 1e-8
>>> exp(x) - 1
9.99999993922529e-09
>>> expm1(x)
1.0000000050000001e-08

>>> x = 1e-22
>>> exp(x) - 1
0.0
>>> expm1(x)
1e-22

Exact values are
\begin{align}
\exp(10^{-8}) -1 &= 0.000000010000000050000000166666667083333334166666668 \dots \\
\exp(10^{-22})-1 &= 0.000000000000000000000100000000000000000000005000000 \dots
\end{align}
In general an "accurate" implementation of exp and expm1 should be correct to no more than 1ULP (i.e. one unit of the last place). However, since attaining this accuracy results in "slow" code, sometimes a fast, less accurate implementation is available. For example in CUDA we have expf and expm1f, where f stands for fast. According to the CUDA C programming guide, app. D the expf has an error of 2ULP.
If you do not care about errors in the order of few ULPS, usually different implementations of the exponential function are equivalent, but beware that bugs may be hidden somewhere... (Remember the Pentium FDIV bug?)
So it is pretty clear that expm1 should be used to compute $\exp(x)-1$ for small $x$. Using it for general $x$ is not harmful, since expm1 is expected to be accurate over its full range:
>>> exp(200)-1 == exp(200) == expm1(200)
True

(In the above example $1$ is well below 1ULP of $\exp(200)$, so all three expression return exactly the same floating point number.)
A similar discussion holds for the inverse functions log and log1p since $\log(1+x) \approx x$ for $|x| \ll 1$.


Question:
In Q29 of Joint Entrance Exam (JEE) 2016 India, the official answer key mentions that benzoin gives Tollen's test. However, I saw this post which says that it doesn't:
Benzoin:

I'm very confused now. If benzoin does give the test, how? And what is the mechanism/intermediate involved?
I thought of all possible reactions benzoin may undergo in basic medium:

I did its aldol condensation but the product was too crowded and seemed quite unlikely. It didn't have any aldehyde group.
Another possibility seemed oxidation to benzil, but I'm not sure. I don't think $\ce{Ag+}$ is strong enough.
I was thinking about cleavage of central $\ce{C-C}$ single bond — as the hydroxyl $\ce{O}$ donated its lone pair to the carbon it is attached to, but am not sure on this too.

I couldn't find any related reaction of benzoin or any rearrangement on the internet.

Of your three "thoughts", you are correct that an aldol reaction is not an option. Not only is the product "crowded", but the reaction is reversible. [BTW, an aldol condensation occurs when water is eliminated from the initial aldol product. In the case of a benzoin aldol product, elimination of water is impossible.]
Your second premise is a good one. Benzoin (1) in the presence of alkaline Tollens' reagent, can be enolized (blue arrows) and the hydroxyl group deprotonated (red arrows). The enediolate 2 is a prime candidate for oxidation by Ag+. This species is the dianion of the enediol 6 tautomer of benzoin. The enediolate 2 is formed in the acyloin condensation of ethyl benzoate (7).
A one-electron oxidation of the enediolate 2 produces resonance stabilized radical anion 3. Protonation of 3 may occur at this point but a second one-electron oxidation produces the diradical 4, which is benzil (5). Under more vigorous alkaline conditions, Liebig's benzylic acid rearrangement of benzil occurs to afford benzylic acid (8), which itself is known to oxidize to benzophenone (9) under a variety of oxidative decarboxylation conditions. Neither of these reactions, i.e., the formation of 8 and 9, is expected to occur under the mild conditions of the Tollens' oxidation. Accordingly, your third idea is unlikely under the reaction conditions.


Question:
I am writing a software tool to which I would like to add the ability to compute alignments using the efficient Burrows-Wheeler Transform (BWT) approach made popular by tools such as BWA and Bowtie. As far as I can tell, though, both of these tools and their derivatives are invoked strictly via a command-line interface. Are there any libraries that implement BWT-based read alignment with a C/C++ API?
Python bindings would also be great, but probably too much to expect.

First, let us remark that there exist several hundred read mappers, most of which have been even published (see, e.g., pages 25-29 of this thesis). Developing a new mapper probably makes sense only as a programming exercise. Whereas developing a quick proof-of-concept read mapper is usually easy, turning it into a real competitor of existing and well-tuned mappers can last for years.
It is not clear from the provided description how long is your reference, how many alignments you need to compute, etc. In certain situations, it may be useful to write a wrapper over existing mappers (e.g., using subprocess.Popen for running the mapper and PySam for parsing the output); while in some other situations, standard dynamic programming may be sufficient (e.g., using SSW with its Python binding).
Let assume that you want to develop a toy read mapper. Most of read mappers are based on a so called seed-and-extend paradigm. Simply speaking, first you detect candidates for alignments, usually as exact matches between a read and the reference (using either a hash table or some full-text index – e.g., BWT-index). Then you would need to compute alignments for these candidates, typically using some algorithm based on dynamic programming, and report the best obtained alignments (e.g., the ones with the highest alignment score).
There exist two big, powerful and well debugged libraries implementing BWT-indexes which can be easily used for building a read mapper:

SeqAn. See the FMIndex tutorial and the Pairwise Sequence Alignment tutorial for quick examples of how to detect exact matches and how to do pairwise alignments. Also, they provide a tutorial about a quick development of a read mapper, but the resulting mapper seems to be hash-table based, not BWT-based. SeqAn is used, e.g., in YARA.
SDSL-Lite. This is a general library for succinct data structures. See the tutorial slides for an idea of how it works. For instance, GramTools are based on SDSL.


Question:
This is the mathematical expression for Harris corner detection:

But I have the following doubts:

What is the physical significance of $u$ and $v$? Many references say it is the magnitude by which the window $w$ shifted. So how much is the window shifted? One pixel or two pixels?
Is the summation over the pixel positions covered by the window?
Assuming simply $w(x,y) = 1$ , $I(x,y)$ is intensity of the single pixel at $(x,y)$ or the summation of the intensities inside the window with center at $(x,y)$?
According to wiki they say the image is 2D , denoted by I and then asks to consider an image patch over the area $(x,y)$, then uses the notation $I(x,y)$

I am finding it confusing to grasp the mathematical explanation. Anyone has an idea?

The meaning of that formula is really quite simple. Imagine you take two same-sized small areas of an image, the blue one and the red one:

The window function equals 0 outside the red rectangle (for simplicity, we can assume the window is simply constant within the red rectangle). So the window function selects which pixels you want to look at and assigns relative weights to each pixel. (Most common is the Gaussian window, because it's rotationally symmetric, efficient to calculate and emphasizes the pixels near the center of the window.) The blue rectangle is shifted by (u,v).
Next you calculate the sum of squared difference between the image parts marked red and blue, i.e. you subtract them pixel by pixel, square the difference and sum up the result (assuming, for simplicity that the window = 1 in the area we're looking at). This gives you one number for every possible (u,v) -> E(u,v).
Let's see what happens if we calculate that for different values of u/v:
First keep v=0:

This should be no surprise: The difference between the image parts is lowest when the offset (u,v) between them is 0. As you increase the distance between the two patches, the sum of squared differences also increases.
Keeping u=0:

The plot looks similar, but the sum of squared differences between the two image parts is a lot smaller when you shift the blue rectangle in the direction of the edge.
A full plot of E(u,v) looks like this:

The plot looks a bit like a "canyon": There's only a small difference if you shift the image in the direction of the canyon. That's because this image patch has a dominant (vertical) orientation.
We can do the same for a different image patch:

Here, the plot of E(u,v) looks different:

No matter which way you shift the patch, it always looks different.
So the shape of the function E(u,v) tells us something about the image patch

if E(u,v) is near 0 everywhere, there is no texture in the image patch you're looking at
if E(u,v) is "canyon-shaped", the patch has a dominant orientation (this could be an edge or a texture)
if E(u,v) is "cone-shaped", the patch has texture, but no dominant orientation. That's the kind of patch a corner-detector is looking for.

Many references say it is the magnitude by which the window 'w' shifted...so how much is the window shifted?one pixel...two pixels?

Normally, you don't calculate E(u,v) at all. You're only interested in the shape of it in the neighborhood of (u,v)=(0,0). So you just want the Taylor expansion of E(u,v) near (0,0), which completely describes the "shape" of it.

Is the summation over the pixel positions covered by the window?

Mathematically speaking, it's more elegant to let the summation range over all pixels. Practically speaking there's no point in summing pixels where the window is 0.


Question:
I have read before in one of Seiberg's articles something like, that gauge symmetry is not a symmetry but a redundancy in our description, by introducing fake degrees of freedom to facilitate calculations.
Regarding this I have a few questions:

Why is it called a symmetry if it is not a symmetry? what about Noether theorem in this case? and the gauge groups U(1)...etc?
Does that mean, in principle, that one can gauge any theory (just by introducing the proper fake degrees of freedom)?
Are there analogs or other examples to this idea, of introducing fake degrees of freedom to facilitate the calculations or to build interactions, in classical physics? Is it like introducing the fictitious force if one insists on using Newton's 2nd law in a noninertial frame of reference?

In order:

Because the term "gauge symmetry" pre-dates QFT. It was coined by Weyl, in an attempt to extend general relativity. In setting up GR, one could start with the idea that one cannot compare tangent vectors at different spacetime points without specifying a parallel transport/connection; Weyl tried to extend this to include size, thus the name "gauge". In modern parlance, he created a classical field theory of a $\mathbb{R}$-gauge theory. Because $\mathbb{R}$ is locally the same as $U(1)$ this gave the correct classical equations of motion for electrodynamics (i.e. Maxwell's equations). As we will go into below, at the classical level, there is no difference between gauge symmetry and "real" symmetries.
Yes. In fact, a frequently used trick is to introduce such a symmetry to deal with constraints. Especially in subjects like condensed matter theory, where nothing is so special as to be believed to be fundamental, one often introduces more degrees of freedom and then "glue" them together with gauge fields. In particular, in the strong-coupling/Hubbard model theory of high-$T_c$ superconductors, one way to deal with the constraint that there be no more than one electron per site (no matter the spin) is to introduce spinons (fermions) and holons (bosons) and a non-Abelian gauge field, such that really the low energy dynamics is confined --- thus reproducing the physical electron; but one can then go and look for deconfined phases and ask whether those are helpful. This is a whole other review paper in and of itself. (Google terms: "patrick lee gauge theory high tc".)
You need to distinguish between forces and fields/degrees of freedom. Forces are, at best, an illusion anyway. Degrees of freedom really matter however. In quantum mechanics, one can be very precise about the difference. Two states $\left|a\right\rangle$ and $\left|b\right\rangle$ are "symmetric" if there is a unitary operator $U$ s.t. $$U\left|a\right\rangle = \left|b\right\rangle$$ and $$\left\langle a|A|a\right\rangle =\left\langle b|A|b\right\rangle $$ where $A$ is any physical observable. "Gauge" symmetries are those where we decide to label the same state $\left|\psi\right\rangle$ as both $a$ and $b$. In classical mechanics, both are represented the same way as symmetries (discrete or otherwise) of a symplectic manifold. Thus in classical mechanics these are not separate, because both real and gauge symmetries lead to the same equations of motion; put another way, in a path-integral formalism you only notice the difference with "large" transformations, and locally the action is the same. A good example of this is the Gibbs paradox of working out the entropy of mixing identical particles -- one has to introduce by hand a factor of $N!$ to avoid overcounting --- this is because at the quantum level, swapping two particles is a gauge symmetry. This symmetry makes no difference to the local structure (in differential geometry speak) so one cannot observe it classically.

A general thing -- when people say "gauge theory" they often mean a much more restricted version of what this whole discussion has been about. For the most part, they mean a theory where the configuration variable includes a connection on some manifold. These are a vastly restricted version, but covers the kind that people tend to work with, and that's where terms like "local symmetry" tend to come from. Speaking as a condensed matter physicist, I tend to think of those as theories of closed loops (because the holonomy around a loop is "gauge invariant") or if fermions are involved, open loops. Various phases are then condensations of these loops, etc. (For references, look at "string-net condensation" on Google.)
Finally, the discussion would be amiss without some words about "breaking" gauge symmetry. As with real symmetry breaking, this is a polite but useful fiction, and really refers to the fact that the ground state is not the naive vacuum. The key is commuting of limits --- if (correctly) takes the large system limit last (both IR and UV) then no breaking of any symmetry can occur. However, it is useful to put in by hand the fact that different real symmetric ground states are separately into different superselection sectors and so work with a reduced Hilbert space of only one of them; for gauge symmetries one can again do the same (carefully) commuting superselection with gauge fixing.


Question:
All mammals that I can think of have a high degree of bilateral symmetry (In fact, almost every animal I can think of is like this).
So why is the human heart not exactly in the middle of the body? An effect of this is that one lung is slightly smaller. Are there any evolutionary theories on why this came to be?

First of all, let me make it clear that the heart is at the vertical centre of the body -- it is not shifted towards left (or right). However, it is slightly tilted towards the left in most cases.

In some cases, it is tilted towards the right, and the condition is called Dextrocardia. For why it is so, lets look at what the heart does. Below is a diagram of double circulation (from here).

As you see, the highest pressure needs to be generated for pumping oxygenated blood into the body. Thus, the left ventricle needs the thickest muscles for this purpose. And due to these extra muscles, the  heart appears extended and seems shifted towards left.
Coming to the evolutionary perspective, it is important to mention that humans are not the only organisms with this feature. Indeed, displacement of the heart towards the left is a conserved feature in all vertebrates (Fishman et al, 1997). See this answer for more information.
Coming to genes, bending of the heart towards one side is actually controlled by the NODAL gene during development. See this diagram (from Jensen et al, 2013):

Tilting occurs in two phases, one during the first four and a half months of intrauterine life and the other, which is actually a 45° rotation to the median plane, later. During the early development of the heart, a process called cardiac looping happens and the straight heart tube develops a bend (see diagram). The NODAL gene, along with the Lefty1 and Lefty2 genes, regulates the speed and direction of cardiomyocyte movement during the development of the heart, leading to this asymmetry. To confirm it, researchers knocked out the spaw/nodal gene from a zebrafish and found randomized development of heart, even symmetric heart, as the result(!) (see Walmsley, 1958 and Rohr et al, 2008).
Now, talking about why this happened in the first place, and why it is so conserved among vertebrates, we need to ask ourselves a basic question: what good would a symmetrical heart be? External symmetry is preferred (probably) because it helps in locomotion; it would be quite difficult to move with your two legs placed away from your center of gravity. But when we talk about internal symmetry, conditions drastically change. We get a major restrictive factor here: space. And limited space always dominates other factors. Seeing that the structure of the heart is necessarily pointed towards one side, it becomes difficult to make it symmetrical. (The only option IMO is to have another pointed end at the right side.) In this case again, what advantage would a symmetrical heart provide? None. And it might even be harmful since having an even bigger heart would mean making both lungs smaller. Thus, a symmetrical heart would only prove to be a liability rather than an asset. See this question for more information.


Question: For a very long time I have been wondering, where does electricity go after being used?  When I use my tablet it runs from a battery.  Where does the power go?

"Electricity" is not a thing, more like a concept.  "Amount of electricity" does not have a real meaning.  You can have some specified amount of power, voltage, current, or other measurable properties, but not "electricity".  For those that don't fully understand current, voltage, and power, it is best to just avoid using the word "electricity" at all, since they'll most likely use it incorrectly.
To therefore answer your question, electricity doesn't "go" anywhere since it's not a thing or stuff that ever was anywhere in the first place.  Current and voltage together can be used to move energy around.  When a battery is powering your tablet, it is producing voltage and current, thereby transferring power from inside it to the outside.  The tablet uses that power to operate the computer inside, light the screen, transmit data over radio waves, etc.
Energy (and power, power is just energy per time) is not created or destroyed, just moved around.  In the case of the battery powering the tablet, the energy starts out in chemical form inside the battery.  It then takes on electrical form coming out of the battery.  The tablet uses it in electrical form, but eventually it gets turned to heat.  If you leave a tablet running just sitting there, you should be able to notice that it's a bit warmer than whatever it's sitting on.  The energy that was in the battery in chemical form is now in the stuff the tablet is made of in thermal form.  Eventually that will heat the air in the room, which will heat something else, etc.  By the time the relatively small amount of energy in a tablet battery is spread out over a whole room, you'd need sensitive scientific instruments to detect it.


Question:
I'm wondering why exactly the single bond between two sulfur atoms is stronger than that of two oxygen atoms. According to this page, an $\ce{O-O}$ bond has an enthalpy of $142~\mathrm{kJ~mol^{-1}}$, and a $\ce{S-S}$ bond in $\ce{S8}$ an enthalpy of $226~\mathrm{kJ~mol^{-1}}$. This one reports the $\ce{S-S}$ bond enthalpy to be $268~\mathrm{kJ~mol^{-1}}$, but I'm not sure which molecule they mean, or how they measured it. Anyway, it's still higher than that of $\ce{O-O}$.
Searching the Net, the only justification I could find was something similar to concepts they apply in VSEPR, like in this Yahoo Answers thread with such remarkable grammar. Quoting the answer, which might have borrowed some stuff from a high school textbook,

due to small size the lone pair of electrons on oxygen atoms repel the bond pair of O-O bond to a greater extent than the lone pair of electrons on the sulfur atoms in S-S bond....as a result S-S bond (bond energy=213 kj/mole)is much more stronger than O-O(bond energy = 138 kj/mole) bond $\ldots$

Other variations of the same argument can be seen here, but it doesn't make sense, since one couldn't apply the same argument to $\ce{O=O}$ and $\ce{S=S}$. The first reference documents the $\ce{S=S}$ and $\ce{O=O}$ bond enthalpies to be $425$ and $494~\mathrm{kJ~mol^{-1}}$, respectively.
It's a bit shaky, and I'm looking for a solid explanation using MO or VB, or anything else that actually works. So, why is an $\bf\ce{S-S}$ single bond stronger than $\bf\ce{O-O}$, despite $\bf\ce{O=O}$ being obviously stronger than $\bf\ce{S=S}$?

TL;DR: The $\ce{O-O}$ and $\ce{S-S}$ bonds, such as those in $\ce{O2^2-}$ and $\ce{S2^2-}$, are derived from $\sigma$-type overlap. However, because the $\pi$ and $\pi^*$ MOs are also filled, the $\pi$-type overlap also affects the strength of the bond, although the bond order is unaffected. Bond strengths normally decrease down the group due to poorer $\sigma$ overlap. The first member of each group is an anomaly because for these elements, the $\pi^*$ orbital is strongly antibonding and population of this orbital weakens the bond.

Setting the stage
The simplest species with an $\ce{O-O}$ bond would be the peroxide anion, $\ce{O2^2-}$, for which we can easily construct an MO diagram. The $\mathrm{1s}$ and $\mathrm{2s}$ orbitals do not contribute to the discussion so they have been neglected. For $\ce{S2^2-}$, the diagram is qualitatively the same, except that $\mathrm{2p}$ needs to be changed to a $\mathrm{3p}$.

The main bonding contribution comes from, of course, the $\sigma$ MO. The greater the $\sigma$ MO is lowered in energy from the constituent $\mathrm{2p}$ AOs, the more the electrons are stabilised, and hence the stronger the bond.
However, even though the $\pi$ bond order is zero, the population of both $\pi$ and $\pi^*$ orbitals does also affect the bond strength. This is because the $\pi^*$ orbital is more antibonding than the $\pi$ orbital is bonding. (See these questions for more details: 1, 2.) So, when both $\pi$ and $\pi^*$ orbitals are fully occupied, there is a net antibonding effect. This doesn't reduce the bond order; the bond order is still 1. The only effect is to just weaken the bond a little.
Comparing the $\sigma$-type overlap
The two AOs that overlap to form the $\sigma$ bond are the two $\mathrm{p}_z$ orbitals. The extent to which the $\sigma$ MO is stabilised depends on an integral, called the overlap, between the two $n\mathrm{p}_z$ orbitals ($n = 2,3$). Formally, this is defined as
$$S^{(\sigma)}_{n\mathrm{p}n\mathrm{p}} = \left\langle n\mathrm{p}_{z,\ce{A}}\middle| n\mathrm{p}_{z,\ce{B}}\right\rangle = \int (\phi_{n\mathrm{p}_{z,\ce{A}}})^*(\phi_{n\mathrm{p}_{z,\ce{B}}})\,\mathrm{d}\tau$$
It turns out that, going down the group, this quantity decreases. This has to do with the $n\mathrm{p}$ orbitals becoming more diffuse down the group, which reduces their overlap.
Therefore, going down the group, the stabilisation of the $\sigma$ MO decreases, and one would expect the $\ce{X-X}$ bond to become weaker. That is indeed observed for the Group 14 elements. However, it certainly doesn't seem to work here. That's because we ignored the other two important orbitals.
Comparing the $\pi$-type overlap
The answer for our question lies in these two orbitals. The larger the splitting of the $\pi$ and $\pi^*$ MOs, the larger the net antibonding effect will be. Conversely, if there is zero splitting, then there will be no net antibonding effect.
The magnitude of splitting of the $\pi$ and $\pi^*$ MOs again depends on the overlap integral between the two $n\mathrm{p}$ AOs, but this time they are $\mathrm{p}_x$ and $\mathrm{p}_y$ orbitals. And as we found out earlier, this quantity decreases down the group; meaning that the net $\pi$-type antibonding effect also weakens going down the group.
Putting it all together
Actually, to look solely at oxygen and sulfur would be doing ourselves a disservice. So let's look at how the trend continues.
$$\begin{array}{|c|c|c|c|}
\hline
\mathbf{X} & \mathbf{BDE(X-X)\ /\ kJ\ mol^{-1}} & \mathbf{X} & \mathbf{BDE(X-X)\ /\ kJ\ mol^{-1}} \\
\hline
\ce{O} & 144 & \ce{F} & 158 \\
\ce{S} & 266 & \ce{Cl} & 243 \\
\ce{Se} & 192 & \ce{Br} & 193 \\
\ce{Te} & 126 & \ce{I} & 151 \\
\hline
\end{array}$$
(Source: Prof. Dermot O'Hare's web page.)
You can see that the trend goes this way: there is an overall decrease going from the second member of each group downwards. However, the first member has an exceptionally weak single bond.
The rationalisation, based on the two factors discussed earlier, is straightforward. The general decrease in bond strength arises due to weakening $\sigma$-type overlap. However, in the first member of each group, the strong $\pi$-type overlap serves to weaken the bond.
I also added the Group 17 elements in the table above. That's because the trend is exactly the same, and it's not a fluke! The MO diagram of $\ce{F2}$ is practically the same as that of $\ce{O2^2-}$, so all of the arguments above also apply to the halogens.
How about the double bonds?
In order to look at the double bond, we want to find a species that has an $\ce{O-O}$ bond order of $2$. That's not hard at all. It's called dioxygen, $\ce{O2}$, and its MO scheme is exactly the same as above except that there are two fewer electrons in the $\pi^*$ orbitals.
Since there are only two electrons in the $\pi^*$ MOs as compared to four in the $\pi$ MOs, overall the $\pi$ and $\pi^*$ orbitals generate a net bonding effect. (After all, this is where the second "bond" comes from.) Since the $\pi$-$\pi^*$ splitting is much larger in $\ce{O2}$ than in $\ce{S2}$, the $\pi$ bond in $\ce{O2}$ is much stronger than the $\pi$ bond in $\ce{S2}$.
So, in this case, both the $\sigma$ and the $\pi$ bonds in $\ce{O2}$ are stronger than in $\ce{S2}$. There should be absolutely no question now as to which of the $\ce{O=O}$ or the $\ce{S=S}$ bonds is stronger!


Question:
Several sources describe the initial failures in the realization of a successful mRNA vaccine. E.g., this 2017 article from Stat describes the following problem faced by Moderna while working on one of their mRNA vaccines:

The safe dose was too weak, and repeat injections of a dose strong enough to be effective had troubling effects on the liver in animal studies.

Another Stat article describes a similar challenge:

In animal studies, the ideal dose of their leading mRNA therapy was triggering dangerous immune reactions — the kind for which Karikó had improvised a major workaround under some conditions — but a lower dose had proved too weak to show any benefits.

The work by Karikó was conducted before Moderna and BioNTech were founded, so it does not seem to be the breakthrough that led to feasible mRNA vaccines. I am also aware that one of these companies, Moderna, is secretive about its technology.
However, I would like to learn, at least at a high level, the reason mRNA vaccines are a viable option against COVID-19, while earlier attempts to develop them against other diseases, such as Crigler–Najjar syndrome, were unfruitful.

I am aware of Why weren't mRNA vaccines clinically tried earlier?, which was closed for being opinion-based. However, my question is specific to the biological mechanism behind the breakthrough that enabled feasible mRNA vaccines, so is objective and within the scope of this site.

Answering my own question after reading the 2018 Nature review article “mRNA vaccines — a new era
in vaccinology”
The resources and motivation engendered by the COVID-19 pandemic are a major factor in the development of the first mRNA vaccines approved by national governments. However, before the COVID-19 pandemic, there were recent advances in mRNA vaccine pharmacology, which made everything possible.
Introduction
The Nature review points out that it was not a single breakthrough, but a lot of research that was conducted during the last couple of years.
Demonstrations of protective immune responses by mRNA vaccines against various infective pathogens were published in recent years. In the first one, published in 2012, direct injection of non-replicating mRNA vaccines was shown to be immunogenic against various influenza virus antigens in multiple animal models1. Since then, several studies on animals, and in some cases, healthy human volunteers, have managed to induce protective immunity against rabies2,3, HIV-14,5,6, Zika7,8,9, H10N8 and H7N9 influenza10, and other viruses.
The authors of the review, which was written before the COVID-19 pandemic, believed that “mRNA vaccines have the potential to solve many of the challenges in vaccine development”. Therefore, had the pandemic not happened, it is likely that we still would have seen effective mRNA vaccines being developed, albeit at a slower pace.
Recent technological advancement has largely overcome the main challenges in the development of mRNA vaccines.
The Challenges
1. Instability
Protein expression after the vaccine is administered might be insufficient if, for instance, the half-life of the vaccine is too low, or if in vivo mRNA translation is insufficient11,12.
2. Inefficient in vivo delivery
mRNA vaccine delivery is tricky. For instance, mRNA can aggregate with serum proteins and undergoes rapid extracellular degradation by RNases. Therefore, formulating mRNAs into carrier molecules is often necessary, and delivery formulations need to take into account factors such as the biodistribution of the vaccine after delivery, mRNA uptake, and protein translation rate13,14.
3. Safety
The complexity of modulating the immunogenicity of the mRNA used in vaccines can potentially lead to unwanted stimulatory effects on the immune response15,16,17.
The Recent Advances
1. Optimization of mRNA translation and stability
Sequence optimization techniques such as replacing rare codons with more frequently used synonymous codons18, as well as enrichment of G:C content16, have been examined for increasing in vivo protein expression.
2. Progress in mRNA vaccine delivery
There are numerous delivery methods for mRNA vaccines that have been examined in the literature. In recent years, the limitations of some of these, such as using physical methods (e.g., electroporation) to penetrate the cell membrane, were demonstrated19. On the other hand, progress was made toward the increased efficacy and reduced toxicity of other delivery methods such as cationic lipid and polymer-based delivery13,16,20,21.
3. Modulation of immunogenicity
Recent studies have demonstrated that the immunostimulatory profile of mRNA can be controlled more precisely using a variety of techniques. These include chromatographic purification to remove double-stranded RNA contaminants, the introduction of naturally-occurring modified nucleosides to prevent the activation of unwanted innate immune sensors, and complexing the mRNA with various carrier molecules (this includes novel approaches to adjuvants that take advantage of the intrinsic immunogenicity of mRNA)15,17,22,33.
Apart from the advances in techniques such as purification and the introduction of nucleosides, there was also an improvement in the understanding of when these techniques should be used, based on factors such as the mRNA platform used, RNA sequence optimization, and the extent of mRNA purification under consideration16,24.
References

Petsch, B. et al. Protective efficacy of in vitro synthesized, specific mRNA vaccines against influenza A virus infection. Nat. Biotechnol. 30, 1210–1216 (2012).
Schnee, M. et al. An mRNA vaccine encoding rabies virus glycoprotein induces protection against lethal infection in mice and correlates of protection in adult and newborn pigs. PLoS Negl. Trop. Dis. 10, e0004746 (2016).
Alberer, M. et al. Safety and immunogenicity of a mRNA rabies vaccine in healthy adults: an open-label, non-randomised, prospective, first‑in‑human phase 1 clinical trial. Lancet 390, 1511–1520 (2017).
Pollard, C. et al. Type I IFN counteracts the induction of antigen-specific immune responses by lipid-based delivery of mRNA vaccines. Mol. Ther. 21, 251–259 (2013).
Zhao, M., Li, M., Zhang, Z., Gong, T. & Sun, X. Induction of HIV‑1 gag specific immune responses by cationic micelles mediated delivery of gag mRNA. Drug Deliv. 23, 2596–2607 (2016).
Li, M. et al. Enhanced intranasal delivery of mRNA vaccine by overcoming the nasal epithelial barrier via intra- and paracellular pathways. J. Control. Release 228, 9–19 (2016).
Pardi, N. et al. Zika virus protection by a single low-dose nucleoside-modified mRNA vaccination. Nature 543, 248–251 (2017).
Richner, J. M. et al. Modified mRNA Vaccines protect against Zika virus infection. Cell 168, 1114–1125.e10 (2017).
Richner, J. M. et al. Vaccine mediated protection against Zika virus-induced congenital disease. Cell 170, 273–283.e12 (2017).
Bahl, K. et al. Preclinical and clinical demonstration of immunogenicity by mRNA vaccines against H10N8 and H7N9 influenza viruses. Mol. Ther. 25, 1316–1327 (2017).
Weissman, D. mRNA transcript therapy. Expert Rev. Vaccines 14, 265–281 (2015).
Sahin, U., Kariko, K. & Tureci, O. mRNA-based therapeutics — developing a new class of drugs. Nat. Rev. Drug Discov. 13, 759–780 (2014).
Kauffman, K. J., Webber, M. J. & Anderson, D. G. Materials for non-viral intracellular delivery of messenger RNA therapeutics. J. Control. Release 240, 227–234 (2016).
Guan, S. & Rosenecker, J. Nanotechnologies in delivery of mRNA therapeutics using nonviral vector-based delivery systems. Gene Ther. 24, 133–143
(2017).
Kariko, K. et al. Incorporation of pseudouridine into mRNA yields superior nonimmunogenic vector with increased translational capacity and biological stability. Mol. Ther. 16, 1833–1840 (2008).
Thess, A. et al. Sequence-engineered mRNA without chemical nucleoside modifications enables an effective protein therapy in large animals. Mol. Ther. 23, 1456–1464 (2015).
Kariko, K., Muramatsu, H., Ludwig, J. & Weissman, D. Generating the optimal mRNA for therapy: HPLC purification eliminates immune activation and improves translation of nucleoside-modified, protein-encoding mRNA. Nucleic Acids
Res. 39, e142 (2011).
Gustafsson, C., Govindarajan, S. & Minshull, J. Codon bias and heterologous protein expression. Trends Biotechnol. 22, 346–353 (2004).
Johansson, D. X., Ljungberg, K., Kakoulidou, M. & Liljestrom, P. Intradermal electroporation of naked replicon RNA elicits strong immune responses. PLoS ONE 7, e29732 (2012).
Schlake, T., Thess, A., Fotin-Mleczek, M. & Kallen, K. J. Developing mRNA-vaccine technologies. RNA Biol. 9, 1319–1330 (2012).
Reichmuth, A. M., Oberli, M. A., Jeklenec, A., Langer, R. & Blankschtein, D. mRNA vaccine delivery using lipid nanoparticles. Ther. Deliv. 7, 319–334 (2016).
Fotin-Mleczek, M. et al. Messenger RNA-based vaccines with dual activity induce balanced TLR‑7 dependent adaptive immune responses and provide antitumor activity. J. Immunother. 34, 1–15 (2011).
Rettig, L. et al. Particle size and activation threshold: a new dimension of danger signaling. Blood 115, 4533–4541 (2010).
Kauffman, K. J. et al. Efficacy and immunogenicity of unmodified and pseudouridine-modified mRNA delivered systemically with lipid nanoparticles in vivo. Biomaterials 109, 78–87 (2016).


Question:
I'm currently trying to assembly a genome from a rodent parasite, Nippostrongylus brasiliensis. This genome does have an existing reference genome, but it is highly fragmented. Here are some continuity statistics for the scaffolds of the current Nippo reference genome (assembled from Illumina reads):
Total sequences: 29375
Total length: 294.400206 Mb
Longest sequence: 394.171 kb
Shortest sequence: 500 b
Mean Length: 10.022 kb
Median Length: 2.682 kb
N50: 2024 sequences; L50: 33.527 kb
N90: 11638 sequences; L90: 4.263 kb

This genome is most likely difficult to assemble because of the highly repetitive nature of the genomic sequences. These repetitive sequences come in (at least) three classes:

Tandem repeats with a repeat unit length greater than the read length of Illumina sequencers (e.g. 171bp)
Tandem repeats with a cumulative length greater than the fragment length of Illumina sequencers, or the template length for linked reads (e.g. 20kb)
Complex (i.e. non-repetitive) sequence that appears at multiple places throughout the genome

Canu seems to deal quite well with the first two types of repeats, despite the abundance of repetitive structure in the genome. Here's the unitigging summary produced by Canu on one of the assemblies I've attempted. Notice that about 30% of the reads either span or contain a long repeat:
category            reads     %          read length        feature size or coverage  analysis
----------------  -------  -------  ----------------------  ------------------------  --------------------
middle-missing        694    0.07     7470.92 +- 5552.00        953.06 +- 1339.13    (bad trimming)
middle-hump           549    0.05     3770.05 +- 3346.10         74.23 +- 209.86     (bad trimming)
no-5-prime           3422    0.33     6711.32 +- 5411.26         70.92 +- 272.99     (bad trimming)
no-3-prime           3161    0.30     6701.35 +- 5739.86         87.41 +- 329.42     (bad trimming)

low-coverage        27158    2.59     3222.51 +- 1936.79          4.99 +- 1.79       (easy to assemble, potential for lower quality consensus)
unique             636875   60.76     6240.20 +- 3908.44         25.22 +- 8.49       (easy to assemble, perfect, yay)
repeat-cont         48398    4.62     4099.55 +- 3002.72        335.54 +- 451.43     (potential for consensus errors, no impact on assembly)
repeat-dove           135    0.01    16996.33 +- 6860.08        397.37 +- 319.52     (hard to assemble, likely won't assemble correctly or even at all)

span-repeat        137927   13.16     9329.94 +- 6906.27       2630.06 +- 3539.53    (read spans a large repeat, usually easy to assemble)
uniq-repeat-cont   155725   14.86     6529.83 +- 3463.16                             (should be uniquely placed, low potential for consensus errors, no impact on assembly)
uniq-repeat-dove    28248    2.70    12499.99 +- 8446.95                             (will end contigs, potential to misassemble)
uniq-anchor          5721    0.55     8379.86 +- 4575.71       3166.22 +- 3858.35    (repeat read, with unique section, probable bad read)

However, the third type of repeat is giving me a bit of grief. Using the above assembly, here are the continuity parameters from the assembled contigs:
Total sequences: 3505
Total length: 322.867456 Mb
Longest sequence: 1.762243 Mb
Shortest sequence: 2.606 kb
Mean Length: 92.116 kb
Median Length: 42.667 kb
N50: 417 sequences; L50: 194.126 kb
N90: 1996 sequences; L90: 35.634 kb

It's not a bad assembly, particularly given the complexity of the genome, but I feel like it could be improved by tackling the complex genomic repeats in some fashion. About 60Mb of the contigs in this assembly are linked with each other in a huge web (based on the GFA output from Canu):

The repetitive regions are typically over 500bp in length, average about 3kb, and I've seen at least one case which seems to be a 20kb sequence duplicated in multiple regions.
The Canu defaults seem to give the best assembly results for the few parameters that I've tried, with one exception: trimming. I've tried playing around a little bit with the trimming parameters, and curiously a trimming coverage of 5X (with overlap of 500bp) seems to give a more contiguous assembly than with a trimming coverage of 2X (with the same overlap).
If anyone is interested in having a look at these data themselves, called FASTQ files from Nippo sequencing runs can be found here. Raw nanopore signal files are available within ENA project PRJEB20824. There's also a Zenodo archive here that contains the GFA and assembly contigs.
I can use Illumina data to correct the Canu assembly, but that doesn't help with resolving the "type 3" repeats. The regions are sufficiently similar that illumina reads get mapped to multiple points in the genome. The Illumina contigs are high quality (i.e. they have good BUSCO scores, indicating few variant errors), but quite short. Any sniff of a repeat and the contig ends. I've got more than a few examples of regions that would make an Illumina read (even 10x linked reads) cower in fear.
Does anyone have any other suggestions on how I could resolve these complex repeats?
Computational solutions would be preferred, but resequencing is not out of the question.

"A few" 100kb reads won't help much. You need to apply the ultra-long protocol, which is different from the standard protocol.
You can't resolve 20kb near identical repeats/segdups with 10kb reads. All you can do is to bet your luck on a few excessively long reads spanning some units by chance. For divergent copies, it is worth looking at this paper. It uses Illumina reads to identify k-mers in unique regions and ignores non-unique k-mers at the overlapping stage. The paper said that this strategy is better than using standard overlappers, which I buy, but probably it can't resolve a 20kb segdup with a handful of mismatches, either.
Such mismatch-based approaches always have limitations and may not work for recent segdups/repeats. The ultimate solution is to get long reads, longer than your repeat/segdup units. The ~100kb reads in the recent preprint will be a game changer for you. If your ~20kb repeats are not tandem, 10X's ~100kb linked reads may help, too.


Question:
In one of my papers, I list some numerical results in addition to some figures. What I'd like to do is make sure that the numerical results in my paper always agree with the code. Right now, I just directly copy the numerical results from my simulation output into the paper, which is extremely simple and low-tech, but error-prone, because I could mis-copy the results, or forget to sync the paper results with the code output.
Is there a good way to keep the numerical results I quote in my papers in sync with the results generated by my code? (Here, I assume that executing the code is easy and practical to do whenever I want to update my paper.) These numerical results don't necessarily lend themselves to tabular form. Sometimes, I have tables in manuscripts, but more commonly, I have simulation parameters listed as numbers in equations. An example would be something like:
\begin{align}
\mathbf{y}^{*} = (y_{1}^{*}, \ldots, y_{n}^{*})
\end{align}
where I'd like to replace the elements of the initial condition $\mathbf{y}^{*}$ with the actual parameters I use in a simulation that numerically integrates an system of ordinary differential equations. Using a table for one-off data such as this example seems like overkill and more ink than necessary.
I presume that figures are an easier case: whenever the document is "built" (from LaTeX source, Markdown, RST, etc.), start the build process by executing the code. However, if people have better suggestions for keeping figures generated by my simulations in sync with my paper, I'd love to hear them.

What you are asking for is the Elsivier grand challenge of the "Executable Paper".  While many approaches have been tried, none are as compelling as the authors might suggest.  Here are a few examples of techniques used.
Madagascar Project takes your approach, inside the make script have the simulations run that produce the figures and paper simultaneously.
IPython Notebook provides a document that one can execute as you read and produce figures to your hearts content.  (I've seen word plugins, Mathematica, and numerous other solutions used in the same fashion)
VisTrails uses a service oriented  architecture approach and provides a "providence" or "workflow" manager.  Basically you register hooks to code then design a work flow or experiment that reproduces your work. It has been used on many types of codes, even HPC clusters.  With this approach you will have a way to replay the experiments.
There are tons of these type solutions out there, but those are three I was impressed with. Its a hard problem and one I believe we really aren't even close to addressing.  We can't even get people to release their code with their papers, how can we expect them to reproduce the results =P


Question:
Here's Rosalind Franklin's famous Photo 51, the X-ray diffraction image of DNA from which Watson and Crick deduced its structure:

My understanding is that it depicts a short segment of DNA shown from the side (so the axis that the strands wind around would run up and down through the center of the photo). Like this double-helix diagram from Watson and Crick's paper:

I have a lot of trouble connecting the photo to the diagram.
What am I actually seeing in the photo? There are dark blobs at the top and bottom. A diamond shape of dark lines. A concentric circle (or rounded diamond) inside the outer diamond. An X formed from two intersecting rows of 7ish mostly horizontal short lines or blobs. Which of these features correspond to what parts of the DNA molecule?

Well, you said that you...

...have a lot of trouble connecting the photo to the diagram.

And that's quite excusable: interpreting that X-ray image is actually very complicated .
All the quotes and images in this answer, except the bulleted list further down, come from this paper (Lucas, 2008), which explains that historic picture in details.
Full disclosure: I always though that that image depicted the X-ray going longitudinally (that is, along the main axis) through the DNA. However, it goes transversely:

When filamentous macromolecules are packed in a fibre along a fixed direction, the X-ray intensities diffracted by the fibre fall on the observation screen along approximately straight and equidistant lines, the so-called layer lines, perpendicular to that direction. This important concept was introduced by Michael Polanyi in 1921 for the X-ray study of cellulose. (emphasis mine)

These are the so called layer lines (I'm keeping the original paper's legend in all images):

Then, still according to the paper, Crick and others started to hypothesise how would be the X-ray diffraction in a monoatomic helix:

In 1952, Cochran, Crick and Vand developed an analytical theory for X-ray diffraction by a monoatomic helix. The immediate interest of their theory was to give a transparent, analytical expression of these amplitudes at a time, in 1952, when computers, if at all available, were barely capable of a brute force calculation of the total diffraction intensity.

This is the X-ray diffraction pattern in a monoatomic helix, which is quite important to understand the famous DNA diffraction image later on:

Thus, with that theoretical background, we can understand our famous image:

In this image, a X-ray diffraction image of A-DNA (left) and the more common B-DNA (right) show a periodic pattern in the layer lines.
The diffraction patterns can be interpreted as follows (source):

The layer line separation reveals the value of the polymer repeat period. The decrease of over 20% of the layer line spacing when going from A to B implies an increase of that much in the period: P = 2.8 nm for A-DNA and 3.4 nm for B-DNA.
Look at the sharp, discrete spots observed near the center of the
diffraction pattern for A-DNA along the first few layer lines, these
suggest the crystalline order in the fibre. In the high-humidity
B-DNA pattern, these crystalline spots are absent, suggesting that
the extra water molecules must have invaded the space between the DNA
molecules, freeing them from being locked into crystallites.
The thick arcs at the top and bottom of the B-DNA pattern are found at approximately 10 layer line intervals from the center, implying that B-DNA had 10 repeating units within one period of 3.4 nm. These are produced by the scattering of X-rays by the equidistant, nearly horizontal flat bases separated by 0.34 nm. The A-DNA pattern lacks these big smears, suggesting that the bases in A-DNA are not horizontal, and the number of base pairs per helical period is closer to 11.
The central cross in B-DNA represents the Saint Andrew cross expected
from a helical molecule. The large radius r (1 nm, indicated by the
meridian angle of the cross) and the absence of intensity in the
meridian diamonds indicates that the phosphate backbone is at the
periphery of the helix. This cross appears to be absent in A-DNA,
however, this is due to destructive interference from some of the
inclined base pairs.

Finally, this is an image better relating the double strand structure of the DNA (both A and B DNAs) with the X-ray diffraction image:

Reference:
Lucas, A. (2008). A-DNA and B-DNA: Comparing Their Historical X-ray Fiber Diffraction Images. Journal of Chemical Education, 85(5), p.737.


Question:
When training a neural network, what difference does it make to set:

batch size to $a$ and number of iterations to $b$
vs. batch size to $c$ and number of iterations to $d$

where $ ab = cd $?
To put it otherwise, assuming that we train the neural network with the same amount of training examples, how to set the optimal batch size and number of iterations? (where batch size * number of iterations = number of training examples shown to the neural network, with the same training example being potentially shown several times)
I am aware that the higher the batch size, the more memory space one needs, and it often makes computations faster. But in terms of performance of the trained network, what difference does it make?

From Nitish Shirish Keskar, Dheevatsa Mudigere, Jorge Nocedal, Mikhail Smelyanskiy, Ping Tak Peter Tang. On Large-Batch Training for Deep Learning: Generalization Gap and Sharp Minima.  :

The stochastic gradient descent method and its variants are algorithms of choice for many Deep Learning tasks. These methods operate in a small-batch regime wherein a fraction of the training data, usually 32--512 data points, is sampled to compute an approximation to the gradient. It has been observed in practice that when using a larger batch there is a significant degradation in the quality of the model, as measured by its ability to generalize. There have been some attempts to investigate the cause for this generalization drop in the large-batch regime, however the precise answer for this phenomenon is, hitherto unknown. In this paper, we present ample numerical evidence that supports the view that large-batch methods tend to converge to sharp minimizers of the training and testing functions -- and that sharp minima lead to poorer generalization. In contrast, small-batch methods consistently converge to flat minimizers, and our experiments support a commonly held view that this is due to the inherent noise in the gradient estimation. We also discuss several empirical strategies that help large-batch methods eliminate the generalization gap and conclude with a set of future research ideas and open questions.
[…]
The lack of generalization ability is due to the fact that large-batch methods tend to converge to sharp minimizers of the training function.  These minimizers are characterized by large positive eigenvalues in $\nabla^2 f(x)$  and tend to generalize less well. In contrast, small-batch methods converge to flat minimizers characterized by small positive eigenvalues of $\nabla^2 f(x)$. We have observed that the loss function landscape of deep neural networks is such that large-batch methods are almost invariably attracted to regions with sharp minima and that, unlike small batch methods, are unable to escape basins of these minimizers.
[…]

Also, some good insights from Ian Goodfellow
answering to why do not use the whole training set to compute the gradient?
 on Quora:

The size of the learning rate is limited mostly by factors like how
  curved the cost function is. You can think of gradient descent as
  making a linear approximation to the cost function, then moving
  downhill along that approximate cost. If the cost function is highly
  non-linear (highly curved) then the approximation will not be very
  good for very far, so only small step sizes are safe. You can read
  more about this in Chapter 4 of the deep learning textbook, on
  numerical computation:

When you put
  m examples in a minibatch, you need to do O(m) computation and use
  O(m) memory, but you reduce the amount of uncertainty in the gradient
  by a factor of only O(sqrt(m)). In other words, there are diminishing
  marginal returns to putting more examples in the minibatch. You can
  read more about this in Chapter 8 of the deep learning textbook, on
  optimization algorithms for deep learning:

Also, if
  you think about it, even using the entire training set doesn’t really
  give you the true gradient. The true gradient would be the expected
  gradient with the expectation taken over all possible examples,
  weighted by the data generating distribution. Using the entire
  training set is just using a very large minibatch size, where the size
  of your minibatch is limited by the amount you spend on data
  collection, rather than the amount you spend on computation.

Related: Batch gradient descent versus stochastic gradient descent