How does suspended animation work in "Earth 2"?

Question: In the TV show Earth 2, the colonists spent the trip to the new planet in suspended animation. Was there any explanation, or hints about how the suspended animation worked (like cold storage)?
Comment: In the episode "All About Eve" I remember a crashed ship with suspension pods they referred to as cold sleep crypts.  You'd have to watch it to confirm.
Answer: I don't remember much in-depth discussion of the hibernation technology on this show, but there are a few details that I do remember.

Cold sleep was a form of suspended animation.  In particular, no aging occurs while a person is in cold sleep.  The voyage to planet G889 was supposed to take something like 20 years, but the characters did not age in this time.  The extreme example of this is the pilot, Alonzo Solace, who has taken several long cold-sleep journeys and is significantly older than the rest of the characters, despite appearing to be in his early 30s; in the episode "Natural Born Grendlers", he has a dream in which he sees a woman he once loved, now elderly with grandchildren.  Also, at the end of the finale, "All About Eve",

 Devon is placed in cold sleep to stop the progress of whatever mysterious disease she is suffering from.

The technology to do this was complicated and couldn't be done in the conditions the advance team was experiencing on the planet.  In  "Natural Born Grendlers", Alonzo asks Julia to put him into cold sleep, because he is having trouble adjusting to being out of cold sleep for so long.  Julia refuses, saying (among other things) that she doesn't have the necessary equipment or supplies.  Another example of this is shown in "All About Eve", where a 100-year-old ship from Earth is found containing several scientists in cold sleep.  However, the technology has deteriorated sufficiently that when Morgan tries to bring them out of cold sleep, only one or two of them survive.

In "A Memory Play", we meet another small group of survivors from the crash who are suffering from a virus.  One of the side effects of the virus is that the sufferers recover memories that they had previously lost, including those from immediately after they came out of cold sleep on the advance ship.  The implication was that it is difficult, under normal circumstances, to remember what happens immediately after emerging from cold sleep.
Answer: The novelisation for the pilot episode indicated that the form of suspended animation used is cryogenics, freezing the body inside the tube and then unfreezing it when it arrives at the destination.

A long stretch was the first thing in order after such a long
cryo-sleep, and Alonzo took his time about it, glorying in the
sensation like a cat after a long nap. He cracked his knuckles, popped
one wrist joint twice, scratched his short, bristly growth of beard,
and sprang out of the cold-sleep tube with the agility of an elf.

Prior to freezing, various drugs are injected into the body, referred to as "prep drugs".

Julia's image reflected off the cockpit's front windows. Even after
such a profound cold sleep, with her hair slightly disheveled and her
eyes bleary with the aftereffects of the prep-drugs, she was still a
knockout.

At least one of those drugs is a sedative.

Julia stepped forward from where she'd been waiting at a discreet
distance, bent to place a sedi-derm against Uly's neck, and pressed
the activator. Almost immediately, his eyes fluttered closed and his
shallow breathing slowed.

How does suspended animation work in “Earth 2”?


Why are heavier hydrocarbons not present in lower part of Uranian atmosphere?

Question: I recently answered this question. While researching for the answer, I found one point quite counter-intuitive. The heavier hydrocarbons resides in stratosphere while methane, the lightest hydrocarbon is more abundant in troposphere which is considered the densest layer. Wikipedia says that heavier hydrocarbons like ethane, methane, diacetylene all condense in a narrow layer between 160 and 320 km in altitude which is the colder lower part of stratosphere forming haze layers while methane which is the most abundant hydrocarbon in Uranus reside in the troposphere. Shouldn't it be the other way around - methane in the upper atmosphere while the heavier and denser HCs all condensing in the lower part of atmosphere?
Answer: Methane is more abundant in the thermosphere and the stratosphere.
On the stratosphere, the Wikipedia article you cite says

The most abundant stratospheric hydrocarbons after methane...

Also note that having condensed clouds of a material at one height does not mean that this material is confined to that height.
A further point is that the atmosphere of Uranus is turbulent and mixed. Any vertical stratification in composition is unlikely to be determined just by molecular mass.
Comment: @JeopardyTempest yes, I think you are correct. The heavier hydrocarbons are produced there through the action of photolysis.
Comment: Having consistently condensed clouds at that height does suggest that there is greater $relative$ concentrations at that level at least, doesn't it?  (Since all saturation values are related to the temperature similarly?)  So they're not confined to the stratosphere... but still relatively higher concentrations there than in the troposphere?
Answer: No knowledge on the subject, but I'd venture from looking through that article that it could well be the same reason lighter $O_2$ has peak concentrations in the troposphere on Earth, while heavier $O_3$ has peak concentrations in the stratosphere (the troposphere and stratosphere here having fairly similar temperatures) (though the stratosphere has a much higher $\theta$ (potential temperature)).
From that Wikipedia article:

Infrared spectroscopy, including measurements with Spitzer Space
Telescope (SST), and UV occultation observations, found trace
amounts of complex hydrocarbons in the stratosphere of Uranus, which
are thought to be produced from methane by photolysis induced by solar
UV radiation. They include ethane ($C_2H_6$), acetylene
($C_2H_2$), methylacetylene ($CH_3C_2H$), diacetylene ($C_2HC_2H$).

And the ozone layer being in the stratosphere on Earth has the same basic explanation.
Now what that doesn't explain is why the heavier hydrocarbons don't wind up concentrating quite a bit in the troposphere as well -- precipitation/mixing/mass stratification all would seem to help increase concentration below.  Ozone here is unstable so that its highest concentration stays in the stratosphere by far... perhaps the complex hydrocarbons likewise react away before they can accumulate in major concentrations below??
Comment: Good answer. For the first paragraph, [here is an answer I have written in Chem.SE](https://chemistry.stackexchange.com/a/162607/17368). Perhaps, you can research on this topic and expand your third paragraph. "why the heavier hydrocarbons don't wind up concentrating quite a bit in the troposphere" --> this is a really good question and I am curious.


Reactive Power in Inductor and Capacitor

Question: Suppose a RLC circuit with AC source. Why the net reactive power in the circuit is the difference of reactive power in the inductor and the reactive power in the capacitor ? As both of them store power then why the reactive power in them is not added instead of subtraction.
Answer: Current leads voltage in a capacitor. Voltage leads current in an inductor. I was taught this using the CIVIL spelling:
In a C I leads V leads I in an L. (I hope that makes sense.)
The effect is that the voltage or current will be 180° out of phase between the inductor and the capacitor and so in summing them they tend to cancel out rather than add.

As both of them store power then why the reactive power in them is not
  added instead of subtraction.

Both of them store energy but one will be maximum while the other is minimum. This effect is seen best in the resonant circuits where the energy flows back and forth between the inductive and capacitive elements.
Answer:
As both of them store power then why the reactive power in them is not
  added instead of subtraction.

Both of them store energy not power. Power is the rate at which energy is stored or transferred. Anyway, moving on...
For a capacitor Q = CV and if you differentiate Q you get: -
\$\dfrac{dQ}{dt} = C\dfrac{dV}{dt}\$ and, of course rate of change of Q is current therefore you can say: -
\$I = C\dfrac{dV}{dt}\$. This means if the applied voltage (V) is a sinewave then the current is a cosine wave: -

Now if you looked at an inductor you would find that \$V = L\dfrac{dI}{dt}\$.
If you integrated both sides to find I then you would see that \$I = \dfrac{\int{V}\cdot dt}{L}\$.
Clearly if V is a sinewave then I must be a negative cosine wave. Here are the two scenarios side by side: -

So, if you have an L and a C in parallel across a sinewave voltage source, then the current in the inductor is exactly opposite in polarity to the current in the capacitor i.e. while one is taking energy from V, the other is delivering energy back to V. This gives rise to the currents being subtracted.
It's also notable that when the impedances are identical (one specific frequency) as indicated on the diagram immediately above, the net current into a parallel LC is zero i.e. they behave together as an infinite impedance. This is called parallel resonance and is extensively used in radio. It's also called power factor correction in electrical engineering; you find a value of capacitance that keeps the PF unity thus keeping the reactive energy "consumed" to a minimum.
Comment: thanks a lot for your reply. it was very helpful. can you please further tell me that if the circuit is series RLC  circuit then what will be the phase difference between inductor voltage and capacitor voltage ? in this case the current in the inductor will be exactly opposite in polarity to the current in the capacitor also ? can you please explain that ?
Comment: In a series circuit the current **has** to be the same so now, the voltage across the inductor will lead the "common" current by 90 degrees and the voltage across the capacitor will lag the "common" current by 90 degrees hence, inductor and capacitor voltages are 180 degrees apart or they are inverse to each other.
Comment: oh so again the power in capacitor and inductor would be opposite P=VI. great. thanks alot. i really appreciate. :) God bless you.
Comment: you have clarified it. i do not have any confusion now. do you think there is any confusion left after your clarification ?
Comment: @hurchuchu OK then maybe you can consider pressing the "accept answer" button located below the up/down arrows at the left-top of my answer?
Comment: i did that but i just joined this site few days ago and do have have the required score. i will definitely do that later when i will fulfill the requirement for that.
Comment: Yes you can - it's below the up and down arrows - you raised the question and you can "accept" the answer no matter what your reputation score is.
Comment: please answer to my this question if you are easy with that. i shall be grateful to you. http://electronics.stackexchange.com/questions/214964/why-do-we-need-to-rectify-or-amplify-the-current-voltage
Comment: @hurchuchu I'd love to answer the question but I think you need to make it more accessible - it doesn't make sense at the moment - you talk of shapes to voltage and current but I'm unsure what you mean.
Comment: just tell why do we need to rectify the current ? for what purpose its required ?
Comment: I've left the best comment I can under the question and Olin has made an answer similar to my comment.


Typesetting LaTeX in a text cell

Question: I recently started trying to use stylesheets and different cell types to organize and explain my logic. Often I try to type equations into my text cells to explain what I'm doing, but this can be rather tedious and the resulting equations are often hard to read (especially when trying to type bra-ket notation), I'm wondering if there's a way to render LaTeX in my text cells?
Comment: You can type a LaTeX string in a `"Text"` cell and then paste it into a new cell and it should format. If that doesn't work you can do this, too: `ImportString["$\log(x)^2$", {"TeX", "Cell"}][[1]] // CellPrint`
Comment: What exactly is the problem? The ease (or lack of) of typing math in Mathematica? Or the typesetting quality?
Answer: In MMA 12.2 this is now possible in text boxes using ctrl + <code>$</code>, see the documentation.
Comment: Just curious....Have you tried the MaTeX package? How does MMA's latex environment compare? With MMA 12.2 being relatively new, I'm wondering if you've found it "buggy"?
Comment: @ThatsRightJack I haven't used the new functionality much, but they serve different purposes. MaTeX can be used to generate LaTeX labels to put into graphics, while the new TeX support is for text cells, at least that's what I understand (I'm no expert on either of them)
Comment: thanks a lot, this worked very nicely with a rather monstrous formula written in LaTeX.
Answer: Maybe you need MaTeX package.
This is the official website of MaTeX package.
Comment: this package is immensely helpful :)

Typesetting LaTeX in a text cell


Sending an array of addresses and amount to be paid to a contract

Question: I need to pay 50+ addresses each with different amounts of ether. Right now im doing it by looping through an array on my front end and calling the contract function each time with the address and its corresponding amount which leads to around 50 metamask popups. Is it at all possible to pass an array with the addresses and amounts to the contract and let it all happen in 1 transaction.
Answer: EDIT if the contract is not already deployed.
Yeah you can totally do that. Just keep that in mind it will cost more gas
function bulkAddress(uint256[] _amount, address[] _acct) public {
        for(uint i = 0; i< _acct.length; i++){
            ...your logic
        }
    }

and can call this function using web3
contractInstance.methods.bulkAddress(amountsArr, accountArr).send()

for more details
Comment: From the description, it sounds to me like the contract is already deployed. And since this dude cannot just add a function to an already deployed contract, it means that the answer to his question is no.
Comment: its not deployed. sorry if it sounded like that :D
Comment: i wanted to do it this way coz 5 out of 20 transactions kept failing in metamask when i was doing it manually and it was getting hard to keep track of which ones failed and an even greater hassle when the number of addresses to be paid went up.


How "fundamental" is quantum information/computation?

Question: I am wondering how fundamental the study of quantum information theory and computation is, in the sense of contributing to our understanding of the basic laws of nature. Will quantum information theory give us new insights into fundamental physics, or is it "merely" an application of quantum mechanics to information theory and computation? I find this to be a very interesting question, but can find very few sources that comment on it. I am currently reading Nielsen and Chuang's quantum information textbook, but I haven't seen this point addressed. There's a 2012 article by Aram Harrow (Why now is the right time to study quantum computing) which posits in the abstract that "quantum computing is not merely a recipe for new computing devices, but a new way of looking at the world", but sadly it is behind a paywall. In section 5 of this 1999 article, John Preskill briefly talks about how he thinks quantum information will contribute to fundamental physics, and says "I am anticipating a much broader interface between quantum information science and fundamental physics in the future". I am basically wondering what the current status of this interface is 15 years later, if there is any at all, and if the quantum information community still believes that quantum information may play an important role in fundamental physics.
Comment: I will write an answer but if you're interested in chatting I will go to the hbar chat room right now. Here's a link: http://chat.stackexchange.com/rooms/71/the-h-bar
Comment: Has conventional computing given us any insights about nature? Not really. It has given an incredible boost to experiments, though. Modern physics would not be possible without automated data collection and storage and the computing power of modern computers. Quantum computing may, eventually, do the same thing. Will it give us any further information about nature? Unlikely, since it does the same thing as conventional information processing, merely in a certain parallel way. Everything a quantum computer can do, can be simulated on a conventional one... it might just take a long time.
Comment: @CuriousOne: Strongly disagree. See my answer.
Comment: @DanielSank: You may disagree, that doesn't change anything about the historical impact of computing on physics. Nor does it change anything about the 100% equivalence of classical and quantum computing. There is nothing that can be computed with a quantum computer that couldn't be computed with a classical computer.
Comment: @CuriousOne: First of all, you note the contributions of computing to experiments but ignore their impact on theory, which is odd. Second, OP asks "will quantum information theory give us new insights into fundamental physics". Do you not think that understanding the relationship between information extracted from a system and the precise details of its wave function collapse is "new insight"? Finally, what would you consider to be the last two "insights about nature" delivered by the physics community?
Comment: @DanielSank: The main impact of computing on theory is the ability to calculate complex perturbation series and to perform complex numerical simulations. That has very little to do with the formulation of physical hypotheses and with theory building even though it's handy. As for the "new insight" that can be gotten from "wave function collapse", you will excuse my ignorance, but I have come to accept that "wave function collapse" is a historical anachronism quite some time ago.
Comment: Let us [continue this discussion in chat](http://chat.stackexchange.com/rooms/19543/discussion-between-danielsank-and-curiousone).
Comment: Since a lot of new users forget to accept answers I'll remind you. If you find an answer satisfactory for your question, accept it. This is an essential part of the system used on this site. To accept, just click the check mark next to the answer.
Answer: Quantum computing research already has improved our understanding of the basic laws of nature in what I think are several important ways.
"Quantum" does not mean "microscopic"
One of the types of system used to implement quantum bits (qubits) is a superconducting resonant circuit.
These circuits are large enough to see with your naked eye, yet they exhibit true quantum effects such as the violation of the Bell inequality.
The fact that essentially macroscopic systems can exhibit quantum behavior runs against decades of history of quantum mechanics research, theory, and pedagogy in which we are constantly told, incorrectly, that quantum mechanics is the theory of the very small.
Now, you aksed about new laws of nature.
You could argue that a statement about the applicability of quantum mechanics to various systems isn't a new law of nature, but I'd disagree :)
When you "do" quantum mechanics you may be used to just writing down a Hamiltonian and solving for various properties.
However, a good theory should tell you what it describes.
If quantum mechanics is a law of Nature then I say quantum computing has at least modified and solidified that law by showing us that physical size is not the factor determining that's law's realm of applicability.
What does "quantum" mean?
In fact, quantum computing has given us an extremely clear picture of when a system is quantum.
By now countless experiments in systems conceived for the purposes of quantum computing have shown us that what really matters is how strongly the system under consideration is coupled to other systems of which you aren't keeping track, i.e. how strongly your system is coupled to the "environment".
If a potentially quantum system, like an atom, an electron, or a superconducting qubit is well isolated from any other nearby degrees of freedom, then that system will indeed behave quantum-mechanically.
If, on the other hand, the atom (for example) interacts strongly with a bunch of air molecules whose states you are not paying attention to, then from your point of view the quantum state of the atom will collapse.
The rate at which the quantum state collapses increases as the atom interacts with more air molecules or interacts with each one more strongly.
Did you notice that I said the wave function collapses only from your point of view, and only because you aren't paying attention to the air molecules?
It's true, and in fact this fact provides us with the clearest understanding of what the wave function really means: it is a representation of the information in a physical system available to you.
If you have a complete system such as the atom and the air molecules, there's a certain amount of information there.
You can represent this as a wave function.
If you ignore the air molecules, you lose some information and you can no longer represent what you do know with a quantum state vector; you have to use a density matrix.
If too much of the quantum information leaves the atom and goes into the environment, what you do know about the atom is essentially classical information.
In other words, the wave function collapsed.
This understanding that the quantum state is a statement of available information makes us realize that in a very real sense quantum mechanics is a theory about information.
I think that if quantum computing research pushed us to understand that fact then it has made real contributions to fundamental physics.
While this was theoretically sort of understood decades ago, it's only now that we have controllable quantum systems that we've been able to actually do experiments.
Serge Haroche and Dave Wineland won the Nobel in 2012 for pioneering this field of single degree of freedom quantum systems where these kinds of experiments are possible.
And even the nature of quantum measurement is now the subject of daily experiments
One of the most "mysterious" parts of quantum mechanics is the so-called "measurement".
There are countless questions on Physics.SE asking about the relationship between wave function collapse and measurement and what "measurement" even really means.
I think quantum computing has blown these questions wide open.
Folks in the quantum computing field can literally track the evolution of a quantum system's wave function as it collapses.
We can measure how different kinds of measurements and different measurement strengths$^{[a]}$ cause the quantum state to collapse in different way$^{[b]}$.
Finale
Now, you may be more asking if quantum computing as an abstract field has offered us any insight into the laws of Nature.
I still say it has.
Quantum computing protocols for fault tolerance like the surface code use quantum measurement and wave function collapse as an integral part of processing information.
This is really kind of amazing.
We all learn that quantum measurements are random and that they sort of screw up the system you measured.
However, brilliant folks have discovered a way to make certain very special kinds of measurements which, while they are random and while they do cause part of the wave function to collapse, they don't cause the part of the wave function which stores your information to collapse.
The way that works relies on specific forms of quantum entanglement and very interesting ways of doing measurement.
This is a new idea and one that has significantly affected how a lot of people even think about quantum mechanics, wave functions, measurement, and information.
$[a]$: By measurement strength I mean the rate at which our knowledge of the state increases. This is partially dependent on the physical strength with which the measurement apparatus interacts with the system under observation, but also depends on more subtle things like the commutation relations between the measurement operator and the Hamiltonian of the observed system.
$[b]$: If you're interested, take a look at section 3.6, and then the discussion leading up to and including figure 6.11 in this thesis (It's my thesis. I'm posting a link because it's a resource with which I happen to be intimately familiar even though it's probably not the best reference for this topic).
Answer: The quantum theory of information and computation sheds light on many issues in fundamental physics.
First, it explains that any physical system can be simulated by a universal computer. This sheds some light on the issue of whether we can expect to be able to understand the laws of physics.
Second, such a computer can be constructed by composing almost any single two-qubit gate:
http://arxiv.org/abs/quant-ph/9505018.
Third, thinking of quantum mechanical processes in terms of information flow in quantum computational networks can help explain experiments that have often been regarded as baffling or paradoxical, see
http://arxiv.org/abs/quant-ph/9906007
http://arxiv.org/abs/1109.6223.
There are also some limits to what we should expect the theory to explain. For example, it can't explain the second law of thermodynamics since it doesn't explain why any process would be irreversible:
http://www.ipod.org.uk/reality/reality_deutsch.pdf.
Comment: The reason mugs don't unbreak is because there are more arrangements of the atoms which we label as "broken" than there are arrangements of the atoms which we call "intact". This is the key point which, for some reason, everyone ignores.
Comment: Those arguments that you can't explain irreversible processes don't make sense to me. Doesn't irreversibility just come from insanely long recurrence time?
Comment: You're right. I formulated that badly. The actual problem is why some processes occur but their reverses do not. Consider a universe in which there are two kinds of mugs. One kind of mug starts out unbroken on a table and then falls onto the floor and breaks. The other starts out broken on the floor and leaps onto the counter and reassembles. The recurrence time for each process is the same since one is just the time reverse of the other, but one happens and the other doesn't.


What is the most efficient 1-out-of-N Oblivious Transfer construction described in current literature?

Question: I have been studying Oblivious Transfer for my bachelor's thesis and have been surprised at the number of variations of OT.
From what I've read so far, the constructions proposed by Naor and Pinkas in "Efficient Oblivious Transfer Protocols" and "Oblivious Transfer and Polynomial Evaluation", as well as Tung Chou and Claudio Orlandi's construction proposed in "The Simplest Protocol for Oblivious Transfer", but I am not sure.
I will continue to research this topic and any feedback is appreciated.
Answer: It depends if you want many instances (like 1 million) of OT, or just a few.
For a small number of OTs, I would recommend looking at our very recent paper:

McQuoid, Rosulek, Roy: Minimal Symmetric PAKE and 1-out-of-N OT from Programmable-Once Public Functions, CCS 2020.

We're not aware of other protocols whose communication is independent of $N$.
For a large number of OTs, you would use some kind of OT extension approach. The leading OT extension protocol for 1-out-of-N is:

Orrù, Orsini, Scholl: Actively Secure 1-out-of-N OT Extension with Application to Private Set Intersection, CT-RSA 2017.
Comment: If I reading this right, the CCS paper only gives you Random OT? In that case it depends on the application whether that's helpful, doesn't it? If i need (non-random) OT, the transformation from Random OT to OT will reintroduce a dependence on N.
Comment: Yes, you have to use the classic Beaver derandomization to get chosen-message OT. See https://eprint.iacr.org/2019/706 for details. Dependence on $N$ is inevitable in that case because the simulator must extract $N$ messages worth of information from the protocol transcript.
Comment: Thank you very much for your input! I really appreciate it and I will take the time to read what you've sent me! (also, the main application of OT that I will be diving into will probably be Private Set Intersection so this really helps a lot)


Fine-grained flag permissions

Question: Is it possible to control permissions relating to flags more closely, either in flag.module or by installing another module? I'd like to be able to control permissions for each flag, such as "Flag content with this flag", "unflag content with this flag", "view this flag" etc etc.
Comment: are you asking about doing this on a per user basis?  most of what you are asking is already available on a per role basis.
Comment: Yes, it would be on a per user basis: each flag would effectively be "owned" by a specific user, who would have exclusive rights to use it.
Answer: Are you looking for a 'local' flag? Flags are already separated into global and local flags. For example, a global flag might be 'report this comment' and once one person flags the comment it is flagged for everyone. Local flags on the other hand are unique for each user, so for example a 'bookmark this' flag would only be for the current user context and other users wouldn't be able to modify their flags. From the documentation:

Flags may be per-user, meaning that each user can mark an item
  individually, or global, meaning that the item is either marked or it
  is not marked, and any user who changes that changes it for everyone.

You set whether a flag is global or local when you create it.
Comment: No, I was looking for greater control on which users could set which flags. I'm going to be using a different technique, though. Thanks for taking the time to offer an answer.

Fine-grained flag permissions


How dangerous would a moon with rings be?

Question: Just like the title says, how dangerous would it be for the inhabitants of a planet if the moon had rings? Assuming that the planet is roughly the size of Earth and the moon is a little bigger than ours. Would the inhabitants risk annihilation by asteroids from the rings?
Comment: I'll let someone more knowledgeable answer, but I'm pretty certain it couldn't exist in the first place, at least not for long - it just wouldn't be stable, but I think you're right, in a way, there'd be flying debris until a long-term stable state was reached. One thing, what has the magic tag to do with your scenario? I'll edit to rationalize them, feel free to revert if you see fit.
Comment: If the question gets closed, then what might help would be if you would tell us about the orbital distances, and timescales after system formation if possible. Also if the inhabitants are recent or indigenous for a bit of context, that wouldn't hurt. If that all sounds a bit technical, then why not ask another question to establish parameters.
Answer: Not At All, For Two Reasons
First, if a moon's ring system extended far enough to overlap the location of its parent planet, the rings wouldn't form in the first place, since no ring can form where a planetary body sweeps them out (part of why Saturn's moons don't fall within its ring system).  So the rings wouldn't rain down on the planet, because if they were in a position to do so, they would never have formed.
Second, rings are sparse things.  Saturn has glorious rings, but their entire mass is 40% that of Mimas - or about a millionth the mass of Earth.  It's a lot of mass, in human terms, but in planetary terms, it's very little mass spread over a very large space.  The chunks of matter in those rings average about 10cm.
A moon with about the mass of our moon (maybe a little more) would have a much more tenuous ring, comprised of dust.  So even if the host planet didn't sweep its orbit clean before any occupants could be endangered (it would), a moon's ring system would not present any peril.
Comment: Thank you very much!


Transfer Inheritance from US to a NRA in Indonesia

Question: I am a non resident alien, not living in the US. I inherited funds from a US stock exchange account after the owner died, but they could not wire it to a non US bank. THey can only wire to a US bank under my name, which I do not have. I can't open a bank account in the US in my name as they require SSN and what nots. Etransfers are also impossible. What options do I have?
Comment: So what brokerage is it? It's totally ok to state the name.
Answer:
"but they could not wire it to a non US bank"

This is completely strange and bizarre.
They can and should send it anywhere you want. At worst - get a cheque.
Are you sure this isn't some scam?
Comment: No it is not a scam. The funds are still there. They say that due to FATCA, they have no collaboration with my country. I can get a check, but still would have to cash it in a US Bank, and they can't send abroad. I have seen others face the same problem. Like the following https://www.trade2win.com/threads/td-ameritrade-withdrawal-issues.142204/


indoor avacado tree care

Question: I have an avacado tree that I grew from a pit. The tree is about a foot and a half tall and has 3 big green leaves on it. It's been the same way for about 3 months now and is not growing anymore leaves. The leaves that are there are drooping but big. Is there a problem with the tree or is this normal.
Comment: hello Linda.  Welcome.    Where are you located?  Is it winter at the moment?  Is it in a pot or in water?  Do you have a grow light for it?  Can you post some pictures? To add a picture hit the edit link below your question.
Answer: It sounds like its unhappy,
Plants usually slow down growth  for a number of reasons some of which are listed below:
1) low light amounts.
2) low nutrition.
3) wrong temperature or humidity.
4) infestation or diseases some times both at the same time.
5) dormancy as some plants need a some time being dormant but not all.
We need a photo or further info to accurately diagnose the issue.

indoor avacado tree care


Why can "Magnet-O-Meter" phone app detect magnetic objects that are not magnets?

Question: I downloaded the "Magnet-O-Meter" Android app, that allows access to the device's magnetic field sensor. I see the measurement go up when I bring my phone near a magnet, which is to be expected, but I also see this happen when I bring the phone near a steel/iron object. Why is this? Does it have something to do with the magnetic field of the earth somehow being "amplified" by magnetic materials?
Answer: Because iron and most steels are ferromagnetic, i.e. capable of being magnetized. This means that external magnetic field will line up its "atomic magnets" creating an extra macroscopic magnetic field, which "amplifies" the original. Some of it remains residually even after the external field is turned off (hysteresis).  Creators of the app state that it "can also be used to find static or ferromagnetic metals", and call it "Magnet-O-Meter Metal Detector". Metal detectors typically generate a magnetic field of their own and then measure magnetic fields induced by the resulting eddy currents in the metal. This works even on non-ferromagnets, but the effect is weaker, see How do metal detectors detect non-magnetic metals? The geomagnetic field is usually weak, and magnetic needles are typically pre-magnetized to make it have a perceptible effect.
It is also possible that your steel/iron objects were magnetized through coming in contact with permanent magnets or through some magnetomechanical effect, e.g. inverse magnetotstriction or surface magnetization by friction (this is often observed in drills and scissors). According to Demagnetizing Systems:

"Ferromagnetic materials are usually magnetized during various machining phases. The causes of the magnetism may be different depending on the machining: parts held with magnetic chucks; magnetoscopic checks and crack analysis; welding; bending; punching; turning; straightening; hardening induction; old forging; drilling; erosion; cutting; hardness checks; some  types of laser marker; some type of induction; magnetic and electromagnetic lifters used for the movement of raw materials or finished parts; induced magnetism, caused by machining, abrasion, friction between the parts and tools."
Comment: You are explicitly claiming that this residual magnetization is stronger than the induced magnetization caused by the geomagnetic field. Can you provide evidence for this claim?
Comment: @EmilioPisanty Only OP can provide evidence for this claim by inspecting the specific "steel/iron objects" mentioned, I do not claim it sight unseen. If the objects are something like household  tools then mechanical magnetization is noticeable without any app  and so should be stronger than geomagnetic one, which is presumably always present.


What are the differences between "hoarse", "husky", and "raspy" when describing a person's voice?  Which should describe someone with a cold?

Question:
What are the differences between hoarse, husky, raspy, ..., when describing a person's voice?
When a person is sick by cold, which word from above is used to describe his voice? Suppose if he goes to see a doctor, what is the word to describe his voice more professionally?
Comment: As an aside, I wouldn't worry about finding a "professional" word to describe the condition. First of all, if you've lost your voice, the doctor couldn't help but know. Second, most doctors will likely know most of the common-language ways to describe most medical problems.
Answer: Hoarse typically indicates something has changed temporarily in the timbre of the voice. This could be caused by an inflammation of the vocal chords (laryngitis) which can be cause by a cold, or over-stressing the voice (yelling), acid-reflux, among other things.
While husky can apply to both men and women, it is mostly used to describe women with low-pitched voices, often, but not always, gravelly. Kathleen Turner, Stevie Nicks, or Melissa Etheridge come to mind.
Raspy voices are the opposite of smooth.  Where Sinatra or Nat King Cole had silky smooth voices, Ray Charles, or Eric Burden have gravelly, gritty voices. (I can give more contemporary examples if needed)
Hoarse is the best one to use when describing the condition to a doctor.  Another common phrase is "lost my voice", often an extreme example of being hoarse, where almost no sound is produced.
Answer: Husky would be used to describe a deep, low-pitch voice. Raspy marks an unpleasantly harsh, grating voice.
'Hoarse' on the other hand, definitely connotes more of a medical problem than the other two. If someone has laryngitis and is having a hard time speaking a doctor would describe their voice as "hoarse".
If you want to use more professional terminology you could elaborate further by saying the person has laryngitis to explain why their voice has a hoarseness to it.
Comment: I disagree that a raspy voice is necessarily unpleasant, harsh, or grating. Ever hear Tom Waits? or Joe Cocker?
Comment: I'm having trouble seeing how "laryngitis" would be a way to describe the sound of someone's voice. If I spent the last ten minutes screaming, my voice would also be hoarse.
Comment: Mad-Eye Moody had a raspy voice :)
Comment: Well it could also be something more dramatic like lung or throat cancer, especially if one has the cigarette habit.


Example of use of closed graph theorem over open mapping theorem and bounded inverse theorem

Question: The closed graph theorem, the open mapping theorem, and the bounded inverse theorem are equivalent. I have used the open mapping theorem and the bounded inverse theorem when solving problems, however, I have never used the closed graph theorem. It seems like a less intuitive theorem to me (mainly because it involves a product space). So when is it 'better' to used the closed graph theorem rather than the other two equivalent theorems?
Comment: Btw you can formulate CGT without product spaces.  An equivalent definition of "closed operator" is "for every convergent sequence $x_n$ such that $A x_n$ converges, we have that $\lim A x_n = A \lim x_n$".  Then CGT again says that every closed operator whose domain is a Banach space, is a bounded operator.  So in other words, when trying to prove that an operator is bounded, you can help yourself to the stronger assumption that $A x_n$ converges.
Comment: I don't think there's any need to be dogmatic here.  CGT is "better" when its conclusion fits the statement you are proving, or when you find that you can give a nicer / simpler / clearer / shorter / easier proof using it than with the alternatives.  With practice you will start to encounter instances where this happens.
Answer: I like this application of the closed graph theorem:
Let $X$ be some measure space and $p,q\in[1,\infty]$. If $a$ is a measurable Function with the property that $af\in L^q$ for each $f\in L^p$, then the induced Operator $$M_a:L^p(X)\to L^q(X), f\mapsto af$$ which by assumption is just well defined and nothing more, is automatically bounded.
Proof: Let $f_n$ be a sequence in $L^p(X)$ with $f_n\to f$ in $L^p$ and $M_af_n = af_n\to g$ in $L^q$, then $f_n$ has a subsequence which converges a.e. to $f$ hence $af_{n_k}\to af$ a.e. for some subsequence. On the other hand, also $af_{n_k}\to g$ in $L^q$, hence also convergence for a subsubsequence almost everywhere, hence $af = g$ in $L^q$.
The closed graph theorem is really powerful here because it allows us to only care about pointwise convergence wich is much easier to deal with.
As pointed out in the comments, usually when showing continuity with sequences one have to show that for convergent $(f_n)$ with limit $f$, the sequence $M_af_n$ converges to $M_af$. With the GCT we can additionally assume that $M_af_n$ already is convergent to some limit and only need to show equality of limits. This can be very powerful, as seen in this proof.


Solving error MSB8011: Failed to register output

Question: A strange error:

error MSB8011: Failed to register output. Please try enabling Per-user
  Redirection or register the component from a command prompt with
  elevated permissions. C:\Program
  Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets  744

I got this error when trying to use OpenSceneGraph (OSG) in an ActiveX control. A Google search showed all kinds of solutions which didn't really solve the problem or locate the exact cause of the error, so I'd like to put the solution in one place: Here.
I found the solution to it, and will be answering my own question soon, so that people can find their solution if they encounter the same problem.
Answer: This error happens when Visual Studio (2010) can't find the dependent dll files that are required by the program for creating the OCX. The OCX is created in the Debug directory of the project (for Debug builds), and specifying the "Working directory" (in project settings) as the folder where the dependent DLL's are, won't help Visual Studio in locating the DLL's.
Now the catch is (this is what makes it a headache to solve the problem) that sometimes, without Visual Studio being able to create the OCX, you won't be able to run Dependency Walker on the OCX. So you'll never figure out that the missing DLL's are the problem.
If you know which DLL's need to be placed in the Debug folder, just place them there, and the error will disappear.
If you don't know, and if your OCX didn't get created, then go to project settings > Linker > General > Register Output
and set the value to "No". This will create your OCX for you, but won't go through the process of registering it, which is when it needs the dependent DLL's.
Once you double-click the OCX and Dependency Walker shows you the missing DLL's with yellow circle icons, just place those DLL's in the same folder as the OCX, and your program will work fine. It's that simple.
Comment: Very helpful.  Getting a built OCX and using dependency walker helped me identify the issue - turns out I didn't have the 64 bit files it depended on (Modules with different CPU types were found).
Comment: I had encountered this error and because of this post I could identify that the issue was occurring due to missing of dependant DLLs....Thanks a lot...
Comment: Is there anyway to do this without copying the dlls to the debug directory? I'd rather specify another directory that contains the dll, just like the additional library directories property which it uses to find the lib.
Comment: It's a common problem. Even I wanted a solution to it: http://stackoverflow.com/questions/4953843/why-cant-visual-studio-find-my-dll  and so did these guys http://stackoverflow.com/questions/2119539/visual-studio-how-to-set-path-to-dll  and  http://stackoverflow.com/questions/428085/how-do-i-set-a-path-in-visual-studio
Answer: The issue could be that your project tries to register a COM object, but there are not enough privileges to do that. On Windows 7 and 8 regsvr32 requires administrative permissions.
What you can do is the following. Create a shortcut on your desktop to C:\Windows\SysWOW64\cmd.exe (the 32-bit console). Right click, Properties -> Advanced -> check Run as administrator. Launch the shortcut, and make sure User Access Control pops up, and click Yes. Start building from this special console window.
Answer: I tried using run as "Administrator" VS 2015, it's able to solved the problem
Comment: This worked for me to get a vanilla ActiveX control project building. I'm using VS2019.
Answer: MSB8011 seems to be a generic error raised whenever regsvr32 encounters a problem.  In my case, regsvr32 exited with code 4 when Per-User Registration was set to "Yes", but the DLL I was building did not define a DllInstall entry point.
Answer: You can also do this via VS 2013 IDE by launching this IDE from program files shortcut, Select Visual Studio 2010/2013 and then right click and select run as administrator, after IDE launched, then open your solution file and build it, you will never get such errors because of regsrv32 DLL/COM registration
Answer: On the Property page go to

Configuration Properties->Build Events->Post-Build Event

you might be referring to it as a /Service. Modifying options as shown below could help.
Before modification:

After modification:
Answer: I fixed this in Visual Studio 2019 by going to "Properties -> Linker -> General -> Per-User Redirection" and setting it to True.


How to clone trigger.newmap when passing into a trigger hanlder

Question: I was wondering how to clone trigger.newmap or how to still have access to the references associated to it when I want to pass this into a trigger handler.
Comment: What is driving the need to clone it? It's typical to pass trigger context variables directly to your handler methods. (Please [edit] to specify further)
Answer: If you're looking to clone the map itself, then the following should work for most needs:
<code>Map<Id, Account> = new Map<Id, Account>(Trigger.newmap);
</code>
... where Account is the specific type of the trigger. This will create a new map, such that if it is modified by later code, the original map of Trigger.newmap will remain unchanged.
Comment: `Trigger.newMap.clone()` works as well.


In Sex and the City how do the women actually make a living?

Question: In the Sex and the City TV series and movies it seems that the four women spend all their time dating, shopping, meeting each other, or otherwise pursuing personal time. How do they actually earn enough to live their lifestyles?
Answer: Charlotte is fortunate enough to have men who will give her money (Trey from divorce, Harry from marriage). At the start of the series, she works in a gallery.
Carrie is a writer for the New York Star and in later series writes for Vogue.
Miranda is a successful lawyer, becoming a partner in later episodes or the first movie (can't remember which).
Samantha works in PR and is very well regarded.
Comment: Carrie earns $4 per word at Vogue. [This article](http://thoughtcatalog.com/2011/carrie-bradshaws-budget-in-real-numbers/) makes a  good analysis of her budget.
Comment: @fdisk The Question wasn't if the character's occupations are realistic to their lifestyles (although that might be what is implied, but it isn't actually worded as such), but just what their occupations were. Interesting breakdown though!
Answer: They are all successful working women. Carrie also wrote some books and is writing her column for the newspaper, the Storyline. It think, the business of them isn´t so important in this show. The main-story should be their private relationships while living in New York.
Comment: "They are all successful working Women," doesn't answer the question.


Proving that you have $k$ keys out of $n$ without revealing which keys they are

Question: I'm looking for a cryptographic algorithm where Alice can prove that she has at least $k$ private keys out of $n$ to Bob, without revealing which keys she knows.
Answer: As I wrote in a comment, I believe your solution only works with some public-key schemes, because usually a full-blown public encryption scheme must include randomness to allow encryption of low entropy plaintexts without others being able to guess and encrypt. (Still, it would probably allow verification of key-ownership in some such schemes if access to the underlying primitive like unpadded RSA is assumed.)
A patched solution is for Bob to use Shamir Secret Sharing to share a symmetric key, which he uses to encrypt all the necessary information to reproduce the public-key ciphertexts. That is, he creates a symmetric key, computes the shares and encrypts them using each public key. He then encrypts both all the coordinates and the steps taken to encrypt them, including any randomness the schemes may use, using the symmetric key.
(He does not need to reveal any coordinates in plaintext, but should encrypt all the public keys if Alice does not know them. This means the scheme reveals to Alice which the other public keys were if she has the $k$-subset.)
Alice will be able to verify that the coordinates are on the same polynomial and that they were indeed encrypted using each public key.
Answer: We use Shamir's Secret Sharing.
A simple (and wrong) solution to this is for Bob to set up a Shamir's Secret Sharing problem with each $(x, y)$ coordinate pair encrypted by one of the $n$ public keys.
However, a malicious Bob can use this to leak information about which keys Alice has by sending $n$ coordinate pairs that are not consistently part of the same $k-1$-degree polynomial, and the secret that Alice comes up with will reveal which $k$ points were used.
To solve this issue, Bob can reveal the $x$ coordinate of each pair, and only keep the $y$ coordinate secret. Once Alice has found the secret, she can use this to calculate the $y$ coordinates for the remaining $n-k$ points and verify that Bob sent the correct ciphertext (since she, too, has access to all $n$ public keys).
Revealing $x$ coordinates is safe. Alice already knows that the polynomial is an integer valued one, so every $x$ coordinate has a corresponding integer $y$ coordinate. Knowing that a particular $x$ coordinate has an integer $y$ coordinate doesn't reveal additional information, since we know that all of them do. As long as the polynomial is computed on a (large enough) finite prime field, Alice can't figure out the other $y$ coordinates unless she has the quorum $k$ private keys.
(In general, revealing $x$ coordinates in Shamir's Secret Sharing may not be safe, because it does mean that post-decryption everyone will know everyone else's $y$ coordinate. In this case, it's a one-time use set of coordinates, so it's fine.)
Comment: I was initially confused about the legitimacy of revealing $x$ coordinates, and was going to ask about that when I realized why it was safe. Since I'd already typed everything up, thought I'd self-answer :)
Comment: I think you assume that Alice will be able to encrypt the $y$ coordinates and see that they match the ones encrypted by Bob? This is not possible with many public-key encryption schemes due to their use of randomized padding, so this solution only works with some schemes.


Is building training data set from unlabeled data considered as a scientific contribution?

Question: Is building a training data set, from unlabeled data, for a machine learning classifier considered as a scientific contribution?
Comment: What do you mean by "scientific contribution"?
Comment: You should do and overview of related work regarding this topic. This will give you a quick overview of where you stand and if your solution is of scientific value. If I quote one of my professors: "_If there is no related work regarding some topic, you are either trying to accomplish something brilliant or something stupid_".
Answer: You will very likely not be able to publish such a labeling as a standalone journal article - it is simply too routine and does not advance scientific knowledge as such.
If this labeling is done as part of a larger machine learning project, the contribution would be the larger project.
If, finally, there was one person in a team whose main contribution to a larger ML project was labeling unlabeled data, this may be sufficient for coauthorship; especially if the labeling took a significant amount of time and if this person also actively reviewed the manuscript etc. This would need to be clarified with the other authors. It seems to be on a par with the question when someone is a coauthor whose main contributions were writing software, or doing the statistics.

You may get better answers at Academia.SE. Consider editing your question to clarify what exactly you are asking and then potentially flagging it for migration. (Please do not simply cross-post.)


Solar Reflective Plasma Drive

Question: I understand that solar sails have just recently been progressing to be of use. Could the solar sails be positioned to create a hyperbolic mirror to super heat a substance to produce propulsion along with being orientated to propel off the sun?
Comment: *Great question!* It's certainly possible as answer(s) point out. But you can also use the concentrated light to generate electricity (via photovoltaics (solar cells) or a Stirling Engine + generator) to power ion engines. Those would give you much more delta-v per kg of propellant than a solar thermal rocket. And if you are far from the Sun, it may be the only way.
Comment: related:https://space.stackexchange.com/questions/28386/can-a-solar-sail-be-added-to-an-ion-engine-and-work-better?rq=1
Comment: You can collect the energy with solar panels to drive a thermal rocket: https://steamjet.space/
Comment: Please clarify your objective. In interplanetary flight, Solar sails are usually optimized to produce radial thrust (away from the Sun) whereas reactive trust (chemical, thermal nuclear, ionic) are usually oriented to produce thrust tangential to a heliocentric orbit to produce Hohmann transfers.  You looking for apples, or oranges?
Answer: Sounds a bit like a solar thermal rocket.
Here's a diagram of one from page 49 of Solar Rocket System Concept Analysis. It would use a pair of parabolic reflectors to use sunlight to heat propellant.

The idea isn't new... this was from the late 70s, early 80s, but as far as I know no-one has actually proposed building one yet. I suspect their usefulness is a little limited, though a laser-driven relative might be more useful.

produce propulsion along with being orientated to propel off the sun?

you seem to be wanting to operate your rocket simultaneously in solar sail and solar thermal rocket mode, and whilst you technically could it is unlikely to gain you anything. The thrust of the solar sail part is extremely low relative to the actual rocket part, so it can't contribute to thrust, and the additional mass required to keep the whole ensemble stable whilst the rocket is operating is not something you want to have to drag around with a solar sail.
Trying to combine the two sounds like an awkward compromise, to say the least, and it isn't immediately obvious to me what sort of mission this spacecraft would be suitable for that wouldn't be better served with a plain old solar sail or solar-powered ion-drive spacecraft.

ETA:
To put some actual numbers to the claim: the example spacecraft above has a pair of 100ft diameter collectors, giving a total area of ~1500m2 in sensible units. Given a solar irradiance of 1361 W/m2, and assuming the collectors act as perfect absorbers (which is the ideal behaviour for a solar thermal rocket), that gives a sunlight pressure of ~6.6mN. If they were perfect reflectors this doubles, but means you can't run the rocket. The linked paper gives example solar rocket thrusts between ~60N and ~400N... tens of thousands of times higher.
Comment: And it doesn't work at night...
Comment: @Justintimeforfun did you read the links?
Comment: I did I was being funny.

Solar Reflective Plasma Drive


How do engines that can be scripted with a different language than the engine code work?

Question: There are some engines that can be scripted with different languages than that of which the engine, itself, is written with. How does that work?
Comment: What part you asking? Are you how asking how scripting works? How engines juggle scripting with non-scripted code? How engines in general work with extensibility? Which engine and which style/degree of scripting are you unsure about? What research into scriptable engines have you already performed?
Comment: I am just wondering how the scripting works. Just kind of basically how the communication works on the low level.
Comment: hmm, okay. I felt like surely that question has been answered already, btu I honestly can't find a good one on Stackoverflow. I feel like you should still rephrase the question in terms of the specific parts you're unsure about; the question as it stands is very broad and would take an overly long and complex answer to fully explain.
Comment: Essentially, I just want to know basically the communication between the engine and the scripts. I mostly work with just algorithms and back-end in applications, but I am getting into gamedev. I started gamedev about a year ago and I want to make a C++ engine and allow scripting for other languages. I generally have an idea of what I can do, but I am just wondering how things conventionally work to try do it in a solid, smooth, and efficient way.
Answer: There are many ways to implementing scripting in game engines, or applications in general.
Most conventional scripting languages are just like any other library. Just as libpng interprets a particular data format and provides APIs to read the results of processing that format, a scripting language library like Lua read in a particular format (Lua source code) and provides API for reading the results of interpreting that data. In general, compilers and interpreters are just like any other algorithm: they process input data and produce output data.
Scripting language libraries provide a means of binding functions from the host language into the script language and provide a means of calling a script function from the native code. There are myriad ways for this binding to work. Some scripting languages use a "foreign function interface" (FFI) that can allow the script language to directly call native functions by mapping integers and strings and such between the script language's representation and the native representations. Other language provide specialized abstractions, meaning that only particular native functions can be called from the scripts, requiring that wrapping binder functions be written. Other script languages (or helper libraries) can auto-generate those binder functions.
Examples:
FFI
LuaJIT has an FFI library that allows you to write this:
ffi.cdef[[int printf(const char *fmt, ...);]]
ffi.C.printf("Hello %s!", "world")

That allows the Lua script code to call any exported C function it wants.
Explicit Binding
With regular Lua, only C functions of the exact interface int(Lua_State* state) can be bound to the interpreter. In order to retrieve arguments, the programmer must use special functions provided by Lua. Likewise, to return values, the programmer must call particular functions. To bind a non-variadic printf function, the programmer would have to write something like:
int printf(Lua_State* state) {
     puts(lua_tostring(state, -1));
     return 0;
   }
If there is a function such as int LoadLevel(char const* name) in the engine, the programmer would then have to write a wrapper int script_LoadLevel(Lua_state*) function that reads the Lua parameters and transfer them to the native C function.
Automatic Wrappers
In these APIs - which can be wrappers or helpers for libraries not intended for them - the user specifies the functions that should be exported to script in the native language and then a special tool or support code generates the binding functions. Languages like C don't make this innately possible, but you can build binding helpers in C++ or D or the like easily enough.
Tools like SWIG can read in C code and then generate binding code.
Since many game engines already have complex reflection systems to deal with I/O serialization, networking, level editors, or so on, they will reuse these reflection systems to generate script bindings with a library like Lua. A user might write a class like this:
class Player {
public:
  int GetHitPoints() const;
  void SetHitPoints(int hp);
};

and then bind this with reflection like so:
BEGIN_REFLECT(Player)
  PROPERTY("hp", GetHitPoints, SetHitPoints);
END_REFLECT(Player)

and then the scripting system might have some code like this:
void Reflect(ReflectedType& type)
{
  auto scriptType = CreateScriptType(type.GetName());
  for (auto& property : type.GetProperties())
    AddGetterSetter(
        scriptType,
        property.GetName(),
        property.GetGetter(),
        property.GetSetter()
    );
}

Summary
Game engines pick a scripting language and some library that implements that language. This in turn determines how the scripts are bound to the language.
Then the game engine decides what it wants to expose to the language and uses the appropriate method to bind the engine's functionality to the language.
There's many different types of scripting languages, some languages have multiple libraries that are bound in different ways, and engines can decide to expose different functionality in different ways (just like some game engines must be purely procedural/imperative and some might be object-oriented and some are functional and so on, likewise two different engines using Lua can decide to expose functionality in a procedural style or an OO style or whatever the way).


How to resolve when the IP of a NFS server changes

Question: I have a Windows NFS server and several CentOS linux servers which were mounting volumes from it.  The Windows server moved to a new network and even though DNS works and the NFS mount was mounted by hostname, it appears the NFS client also makes note of the ipaddr value, which is no longer valid.  This causes the typical hanging mounts, df, issues one would expect.  How do I resolve this retroactively?
Comment: Did you try restarting networking?
Answer: If the IP address has changed then you'll likely need to restart the NFS clients and/or run the umount command explicitly releasing the mounted service. This may not be able to complete though, with the original NFS service is now gone.
The only other approach that I was able to find was this one, written up in this Linux Journal article titled: How-To: Release Stuck NFS Mounts without a Reboot. I've never used this approach and until today never heard of this method but it does sound feasible in looking through it.
Also I believe you may run into issues depending on whether the NFS mount was mounted with intr/nointr. You can read more about this feature switch in the NFS man page, man nfs.
excerpt
intr / nointr  Selects whether to allow signals to interrupt file operations
               on this mount point. If neither option is specified (or if
               nointr is specified), signals do  not  interrupt NFS file
               operations. If intr is specified, system calls return EINTR
               if an in-progress NFS operation is interrupted by a signal.

               Using the intr option is preferred to using the soft option
               because it is significantly less likely to result in data
               corruption.

               The  intr  / nointr mount option is deprecated after kernel
               2.6.25.  Only SIGKILL can interrupt a pending NFS operation
               on these kernels, and if specified, this mount option is
               ignored to provide backwards compatibility with older
               kernels.

Comment: I used umount -l which allowed me to unmount the nfs volume.  This solves my problem.
Comment: How do you restart the NFS client?  I know the server side, but don't think I ever needed to restart the client side.
Comment: @GreggLeventhal - they aren't directly client, more services that help facilitate NFS. `/etc/init.d/nfslock` is one of them.
Comment: @GreggLeventhal - sorry I thought you had already tried umounting that, or I would've suggested that. I don't have the `-l` switch on any version I have of umount. What does the man page say it will do?
Comment: I tried regular umount , -l is lazy which means it will unmount it first, then resolve open file handles and whatnot later when/if possible.
Comment: @GreggLeventhal - yeah it probably get's the reference to the mount out of the system, whether the mount actually goes away or not, doesn't really matter, given the mount at the other end is now gone/moved anyway.
Answer: This Post has steps that have worked for me. In a nutshell:

Assign Old IP of NFS server to an alias. ifconfig eth0:fakenfs Old_IP netmask xxx.xxx.xxx.xxx
umount -l /mount
bring down the alias: ifconfig eth0:fakenfs down
Mount the NFS share again: mount -a


Game Engine: Can I load objects and scenes into memory?

Question: Is there an option to load objects/scenes I want to memory to prevent lags? I don't want to let all objects spawn to buffer them or other tricks. How can I do this? And is it possible to remove them from memory?
Thanks for every answer!
Answer: You want to prevent lag when changing scenes? Add them all in the first frame (so you get a massive lag spike), and have each scene pause itself. Then you can resume them as needed.
To remove it from memory, end the scene.
I don't feel that I actually understand what problem you are having.
Comment: This doesnt work because you need a camera for each scene which flies through the world to buffer all objects. Just adding the scene is useless. Objects are just loaded to memory if they're on the screen.
Comment: I have not come across that issue. How big is your scene (both in blender units and in MB)
Comment: 980 objects. But that's not important. I just want to know how I can load things to memory.
Comment: BGE tries to avoid you having to manually load things in and out of memory to make your life simpler. You can do it with libload, (loading an external blend file into the current one) but 99.999% of the time you shouldn't have to.
Comment: The BGE loads the COMPLETE scene into memory when switching to a scene (including start up). It does not matter where the camera is.
Answer: To load objects and scene into memory you need LibLoad
usage:
<code>from bge import logic

logic.LibLoad('file.blend','scene', load_actions = False, load_scripts = True, async = False)
</code>
Comment: Thanks! But does this work internal? In case if I have this blend as an exported exe file. There I want to load objects to memory? Is this possible?
Comment: you can only load .blend files. or you mind your game is exe and want to load from there? if that. you can load blend files.
Comment: The purpose of LibLoad is to load objects on-demand. LibFree removes the data from buffer. It does not sound this is what the question is aiming for.


Meromorphic function with bounded order of zeros and poles

Question: The following problem has been bothering me for a long time;
Let $X$ be a compact Riemann surface of genus $g$. Is there a non-zero meromorphic function on $X$ with all of its poles and zeros have their (absolute value of) orders-i.e. multiplicities at most 2? I also require that the number of poles and zeros should be larger than $2g-2$ for each. I would like to use the Riemann-Roch theorem only, but I don't know how to apply the theorem sufficiently.
Answer: Let's answer the question in parts.
First of all, whenever we have an embedding $X \hookrightarrow \mathbf P^n$ into projective space, we get lots of meromoprhic functions of the kind you want, as follows:
Let $L_1$, $L_2$ be linear forms on $\mathbf P^n$ whose zero-sets are hyperplanes meeting $X$ transversely (or even with multiplicity 2 at some points): then restricting the meromorphic function $L_1/L_2$ from $\mathbf P^n$ to $X$ gives a meromorphic function $f$ on $X$ satisfying your multiplicity condition.
Next, you ask for the function to have more than $2g-2$ zeroes and poles. In the setup of the previous paragraph, that will be satisfied if $X$ is embedded in $\mathbf P^n$ with degree more than $2g-2$. (The zeroes and poles of $f$ are the intersections of $X$ with the zero sets of $L_1$ and $L_2$ respectively.)
To get an embedding with this property, apply Riemann–Roch to any line bundle $L$ on $X$ with degree at least $2g+1$. Riemann–Roch then implies (see Hartshorne Ch. IV for the details) that sections of $L$ give an embedding of $X$ into projective space, and the degree of the image is exactly $\operatorname{deg}L \geq 2g+1 > 2g-2$.
Comment: Indeed the answer is more advanced than I have expected, but thanks a lot!
Comment: @D.Aiden: You're welcome. This is just one way to produce such examples; there may be others. If you specify which parts you find advanced, I can try to give some more explanation.


Using Django and PyEnchant: Getting MemoryError on shared hosting, but not locally

Question: I'm a beginner level user of Django and Python right now, and so far anything I do locally has immediately worked on my hosting once uploaded. My hosting is provided by Hostmonster.
However, I've just installed PyEnchant. All I use it for is basic spell checking and suggesting new words. Also, 'string' is always a string of words separated by '+'.
from enchant import Dict

def spellcheck(string):
    spellcheck = Dict("en-GB")

    suggestedword = []

    for word in string.split('+'):
        if len(word) > 2 and not spellcheck.check(word):
           suggestedword.append(spellcheck.suggest(word)[0])
    else:
        suggestedword.append(word)

return suggestedword

Locally, using the Django dev server, all works fine. On my host I get:
Django Version:    1.4
Exception Type:    MemoryError
Exception Location:    /home/user/python/lib/python2.7/ctypes/__init__.py in _reset_cache, line 279
It seems to be throwing the error a few steps after 'from enchant import Dict'.
I'm guessing the dictionary is too large to store in temporary memory?
Any idea how to get around this? Please go easy on me if I'm either asking something very stupid, or in a very stupid way :).
If I'm leaving out any vital data, it's because I don't know it's important, so feel free to tell me what other information would help solve this (if it can be solved on a shared host).
Thanks in advance for any help!
EDIT1:
Using SSH, I can import and use PyEnchant:
>>> import enchant
>>> spellcheck = enchant.Dict("en-GB")
>>> spellcheck.suggest('nmae')
['name', 'mane']

Which makes me even more confused, as I have had no luck avoiding 'MemoryError' when I use it as above in my question.
EDIT2:
Still not able to figure this out. If I do 'import enchant' in any module, it seems to cause the MemoryError, yet I am able to use 'import enchant' via remote shell and the python interpreter.
EDIT3:
Still, after a few days of googling and trying things out, I can't get this MemoryError to go away. Has anyone seen this before with 'PyEnchant'? I'm thinking my host is perhaps not giving enough ram to load the PyEnchant import? Is there any way to change how memory is used by a module?
Answer: I have just had the same problem after moving my Django installation. The problem was httpd (Apache) access to the database. In my case it was Selinux but I assume that general UNIX type file permissions would cause a similar problem. In this instance it worked fine on the Django server but not on my local Apache when trying out a viable production setup.

Does your host use Linux?
Could you run Apache to help determine the problem?


What is the emf of a galvanic cell?

Question: I am getting confused between EMF and potential difference of a cell. But i know that when a charge moves against an electric field it's potential energy increases which can be used to do some work. So can i say EMF of the cell is the work done in order to get the required potential difference between the electrodes. And if it is so can you explain the difference between PD and EMF
Comment: See [wikipedia - Electromotive_force](https://en.wikipedia.org/wiki/Electromotive_force). You can see EMF is not work.
Comment: Chemistry SE site expects  you to provide your elaborated results of prior thinking, analysis and searching,
aside of just asking the question. Elaborated questions attract elaborated answers.
The opposite may lead even to the question closure, in case of lack of the own effort.
Answer: Potential difference and EMF are equal if the galvanic cell does not produce any currant. When the cell works and produces even a small currant $I$, the potential of the cell decreases a bit, because of the internal resistance $R_i$ of the cell. If $E_o$ is the the EMP, the potential $E'$ measured between the plus and the minus poles of the working cell decreases a little bit according to Ohm's law :  $E'  = E_o - R_i I$
Comment: Currants are small dried grapes or berries. I'm not sure how galvanic cells produce them. ;-)
Comment: @Maurice if suppose I have taken a Daniel cell and if the circuit is not complete then no current would flow. In that case we can say that the redox reaction has not taken place . So in that case i dont think there would be any potential difference between the electrodes.
Comment: @Matt_black. OK. Thank you. Wonderful ! Next time I'll check my typing vowels, and print current instead of currant.

What is the emf of a galvanic cell?


Word/phrase for something that is irreplaceable due to its capabilities

Question: The title is illustrative, but it can be added that there are no comparable alternatives for it, at least at the time. Moreover, it is predicted that finally some alternative will be presented, however, there is no info about its quality or details.
Comment: As in: no alternative can be better than it (all are far worse or at least nowhere near as good as this one)? That sort of thing?
Comment: Yes, this is the case at this time but we are not sure about the future.
Answer: The Latin (now English) phrase sine qua non means

An essential condition; a thing that is absolutely necessary:
  grammar and usage are the sine qua non of language teaching and learning

It literally means without which not.
A phrase that connotes high quality is state of the art

The most recent stage in the development of a product, incorporating the newest ideas and the most up-to-date features.

However, this term does not require that the product or service is unique. A number of examples might be state of the art.
The term nonpareil does convey unequalled

Having no match or equal; unrivaled:
  he is a nonpareil storyteller
  [POSTPOSITIVE]: a film critic nonpareil

all definitions from Oxford Dictionaries Online
Comment: I like _sine qua non_, it seems to be appropriate.
Answer: I don't think I can come up with something that would encompass both - that this is by far the best alternative and that whether it will remain so in the future is uncertain. As it seem logical that the first part is essential I suggest:
unsurpassable (ODO):

Not able to be exceeded in quality or degree:
For those who don't know, he was the unsurpassable genius responsible for the first Incredible Hulk and Fantastic Four strips - in other words, one of the greatest visual artists of the twentieth century.

For the uncertain future you can use something like:
hitherto (ODO):

Until now or until the point in time under discussion:
As someone who has hitherto needed to reject one thing before moving on to another, Juliet is on her mettle, and she knows it.

Although, you should be careful with this and similar expressions (so far, until now etc.) because it might depend on the context whether it will mean that until now it was so, but you don't know how things will be in the future, or that until now it was so, but for some reason it isn't any more.
Comment: _unsurpassable_ seems to be more appropriate since it is a bit moderate than _sine qua non_
Comment: Good advice, agreed. Again thanks for your answer and responsibility.
Answer: I'll give it a shot:

The guitar skills of Jimi Hendrix are incomparable
The statistics of Sir Don Bradman are unparalleled
The success of the iPhone is unprecedented
The career achievments of Meryl Streep are unrivalled
The beauty of Miranda Kerr is matchless

And the most fancy of all...

Da Vinci was a nonpareil artist. (can also be a noun) (Oxford)
Answer: My suggestion is quintessential:

Representing the most perfect or typical example of a quality or class:
he was the quintessential tough guy—strong, silent, and self-contained
Oxford Dictionaries

An idiomatic phrase that is used to refer to someone departing that was held in high esteem is: a hard/tough act to follow.

to be so good it is not likely that anyone or anything else that comes after will be as good
Last year's thrilling Super Bowl, when the New York Giants beat the Buffalo Bills 20-19 will be a hard act to follow.
The new Chairman knows his predecessor is a tough act to follow.
The Free Dictionary by Farlex


Using Linux iptables to implement a stateless, packet filtering firewall

Question: When I began my career in network security, almost a decade back, the industry standard was stateful firewalls that even had the ability to inspect some application layer protocols. I had only heard that a packet filtering firewall was the previous generation of firewalls. I never got to work with and understand how a strict packet filtering, stateless firewall works. Now, I want to understand it better. I had an intern ask me this and I want to show  him the difference between the 2 firewalls. I believe iptables can be used to set up a stateless packet filtering firewall. The thing is I am not sure how a stateless firewall would track incoming responses that originate from the behind the firewall. I tried my best to find some resources online on how to implement such a firewall. Any pointers to some article would be very helpful.
Answer: For a stateless firewall, you can either accept or drop a packet based on its protocol, port number and origin ip address. For example, the rule below accepts all TCP packets from the 192.168.1.x subnet that are bound for port 80.
<code>-A INPUT -p tcp -s 192.168.1.0/24 -m tcp --dport 80 -j ACCEPT
</code>
For output, the rules look similar. Therefore, outgoing(egress) packets are only accepted if there is a matching rule. The rule below allows only outgoing packets on port 80.
<code>-A OUTPUT -o eth0 -p tcp --sport 80 -j ACCEPT
</code>
For a stateful firewall, you have the ability to monitor state. For example, the rule below only accepts packets to port 80 if it is initiating a new connection or is associated with an existing connection. The tracking is done by a kernel module "ip_conntrack". It keeps a table of all active connections.
<code>-A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
</code>
Comment: You would have to manually open port 513 to 65535 for it to happen. Have a look at http://serverfault.com/questions/253508/iptables-blocking-ssh-even-after-its-been-implicitly-enabled. The first 2 answers use the ip_conntrack module to provide stateful capability. The last uses only stateless features.
Comment: Suppose I go out to `www.google.com` from the LAN. This would mean something like `192.168.1.100:5400 -> www.google.com:80`. Now the return traffic would be `www.google.com:80 -> 192.168.1.100:5400`. How did a stateless firewall handle this sort of return traffic? What rules did they have in place to tackle such traffic?
Comment: What about rule for the return traffic for egress packets?
Comment: The first rule. Since it is stateless, it cannot differentiate return traffic from new traffic so it can only decide based on protocol, port number and origin ip address.
Comment: @user1720897 The stateless firewall inspect every packet and work with a set of rules. To allow access to google, it will need to allow outgoint SYN packet to port 80, to permit return traaffic, the incoming SYN-ACK need to be allowed. And ACK bidirectional traffic to the TCP connection to work. Blocking incoming SYN packet will block incoming TCP connections.


Doorbell transformer for aluminum wiring

Question: From other posts it seems clear I need to update my transformer to 16V 30 VA in order to handle my wired Google Nest doorbell when the weather turns cold.  My existing transformer is wired directly to the aluminum wiring in my house - I can't tell if it's a copper or aluminum transformer.  I bought a new transformer already which I assume is copper (it doesn't actually provide any specs on this).  For any other new switches that are copper I've pigtailed to the aluminum using the appropriate marrettes and the anti-oxidant compound.  Am I right that I need to do the same with the transformer?
Comment: Usually stuff will have CU-AL if they are rated for aluminum wire.
Comment: @FreeMan yes, from reading other posts I am sure it's not UL approved and I've become very skeptical about it and have now returned it.  I'll pay a little more and get a good one
Comment: RED FLAG: "it doesn't actually provide any specs on this"! This is likely an indicator that it is not UL/ETL approved for use in the US. How about a brand/model or (better) a link to where you bought this transformer without specs.
Comment: Probably a good call. Whatever extra you spend on buying UL approved electrical devices now will be more than made up for by _not_ having to rebuild your house (even with insurance) in the future. ;)
Answer: If the transformer has the simple screw contacts, and it does not state copper or aluminum, I doubt it is rated for aluminum. So pigtail with marrettes and antioxidant paste as you would any connection.
If the transformer has stranded wire leads, you could connect the solid aluminum directly to the stranded leads with marrettes and antioxidant paste.
In both cases it is best to abrade the solid aluminum with emery cloth before connecting. First coat the aluminum conductor with antioxidant paste then in a twisting motion abrade through the paste (in the presence of the paste). Then join the aluminum and the copper conductors with a marrette filled with paste (or with a generous dab in it).
Comment: Thanks Jim.  It has stranded wire leads and I realized after my post that pigtails were likely unnecessary in this case but it's great to have that confirmed!
Comment: Proper procedure in that case is to "accept" the answer.


Are teaching and learning philosophy/philosophies written separately?

Question: I am applying for faculty position in some school and among the documents needed, they asked for "Teaching, Learning and research philosophy.", this my first time to hear about learning philosophy and not sure if it's written separately or combined with the teaching philosophy. I am familiar with teaching, research, service, diversity and inclusion statements, but first time to pass by learning statement/philosophy.
I tried to google up, but I couldn't find an answer.
Thanks in advance.
Answer: A learning philosophy is about how people learn things. It can mesh with a teaching philosophy, but isn't the same. Different people learn different ways, though there is some controversy about such distinctions.
There has been research on learning, based on the science of the brain itself. The idea is that learning requires a physical change in the brain - rewiring of synapses. A good source is The Art of Changing the Brain by James E Zull.
Ultimately people learn through reinforcement and feedback. A teaching philosophy can work with such things. Relatively few people actually "learn" something by seeing/hearing it once, in a lecture, say. So instructors give assignments that provide reinforcement and, hopefully, also provide feedback on the learning so that the wrong things aren't reinforced.
People can learn without formal teaching, of course, and people can "teach" with little actual learning. Ideally we want to bring the practice of teaching into conformity with how people actually learn.
One thing that new instructors often forget is that their students are all different and that, in particular, most of their students are different from themselves. Professors got to where they are, mostly, through a unstoppable drive to learn. Their students often have different goals.
It is also important to recognize, as an instructor, that students often don't really know how to learn. Ineffective note taking, over reliance on memorization at the expense of insight, cramming for tests are seen too frequently.
While it is possible, to write a combined statement on learning and teaching, and in general, one without the other may not be optimal, in the present case I think the expectation is that you provide separate documents on teaching, learning, and research. That is just from the phrasing of the request. You wouldn't combine all three into one document. The teaching and learning documents need to be consistent, of course.
Comment: Still I didn't understand it, Are teaching and learning philosophy/philosophies written combined/separately?
Comment: Edited to clarify.
Answer: One's philosophy of teaching ought to be informed primarily by one's views of how people learn effectively, so a philosophy of learning will generally determine the philosophy of teaching.  Consequently, it would be logical to write them either together or in quick succession, usually with your views on learning preceding your views on teaching.  You have not specified any particular instructions you have been given to write these things, so I would assume that you have latitude to write the statements as you see fit, either as separate statements that follow in a logical order, or as a single combined statement.
One general thing to bear in mind for any faculty application is that you are seeking a position in part as a professional researcher/writer --- you should not need hand-holding on how many pages to use, what parts are together/separate, how to structure your writing, etc.  If no constraints are specified then use your professional judgment on how best to write the statements in question and show that you are able to produce a clear and effective statement without detailed guidance.
Comment: I mostly agree (with the second paragraph), but for early career searcher, (like my case) this may not be the case. !


How do I start a new Obj-C library project with Xcode?

Question: I am new to Xcode (and Objective C in general) and I want to create a new Objective-C Library (Framework?) which will be used by some of our iPhone applications in the future.
Which type of project should I choose when Xcode shows the new project dialog? I tried selecting "Blank Project" but then I faced some issues in defining the target, dependencies, etc.
I want my project to be easily re-usable in the future both in code form and as a <code>.dylib</code>.
I would appreciate some help with this. Links to online docs are welcome.
Comment: I wrote a little piece about this here http://www.memention.com/blog/2011/01/27/Frameworks-within.html But it's only for Mac as Apple has rules against it for iOS as Adrian writes.
Answer: Since version 3 of the SDK you are able to create library projects in Xcode. However, those projects do not create .dylib libraries, but static .a libraries.
You cannot create Frameworks for iOS, as Apple's own App Store rules state that apps sold through the App Store cannot load code dynamically, which is what Frameworks are for. Libraries are designed to be statically linked.


What is an irreducible character of a finite group?

Question: Let $S_n$ be the group of permutations of $\{1, 2, \ldots, n\}$. A "character" for $S_n$ is a function $\chi\colon S_n \to \mathbb{C} \setminus \{0\}$ with $\chi(ab) = \chi(a)\chi(b)$ for all $a, b \in S_n$ [NOTE: this is not 100% accurate -  see comments and answers below (OP)].  What is an irreducible character?  I have searched the Web, and all the references I found were inadequate or told me more than I wanted to know.
Comment: Note that $\TeX$ formatting for plain text does not work here, so instead of `\`\`…''` I would use `"…"`, and `_…_` instead of `\emph{…}`.
Answer: The homomorphisms $G\to \Bbb C^\times$ are actually not the whole story of character theory, but are a very tidy chapter in it. If $V$ is a vector space (over $\Bbb C$) and $G$ finite, the homomorphisms $G\to  GL(V)$ from $G$ into the general linear group of invertible linear maps are called representations, which are essentially the ways to equip $V$ with a linear $G$ action. If $\rho$ is a representation, then the map given by $\chi_\rho:G\to \Bbb C:g\mapsto\mathrm{tr}\,\rho(g)$ (the trace of the linear map associated to $g$, which is independent of basis or coordinate choice for $V$) is called a character of $G$.
If $V$ is one-dimensional (in which case we call $\rho$ and $\chi_\rho$ one-dimensional as well) then $\rho=\chi_\rho$ and the characters are multiplicative. Note that $\mathrm{tr}\,\rho(e_G)=\dim\,V$ shows the dimension can be directly computed from the character, so there is no ambiguity with respect to what dimension a character may have. With a distinguished basis we have $V\cong \Bbb C^n$ in an obvious way, and so we can write $GL(V)$ as $GL_n(\Bbb C)$, in which case we are working with matrix representations specifically.
If there is a proper nontrivial subspace $W\subseteq V$ that is invariant under the linear $G$-action, that is if we have $\rho(g)W\subseteq W$ for each $g\in G$, then the restriction of $G$'s linear action to $W$ then forms a subrepresentation of $V$. If a representation $\rho:G\to GL(V)$ has no subrepresentations, it is called an irreducible representation, in which case $\chi_\rho$ is also called irreducible. This is well-defined because (over any field of characteristic zero) representations are uniquely determined by their characters, which again prevents any sort of ambiguity or conflicting descriptions from arising.
A one-dimensional space has no proper nontrivial subspaces, so one-dimensional representations and characters (the ones you are talking about) are all automatically irreducible. Using the very nifty Schur's lemma, one can see that representations of abelian groups decompose into a direct sum of one-dimensional representations and thus are irreducible precisely when they are one-dimensional (you may encounter Schur's and direct sums later).
I can recommend this excellent note on the representation theory of the symmetric groups and Young tableaux, where the irreducible representations are obtained through Specht modules. To understand this fully you will need relatively good familiarity with representation theory, algebra, combinatorics and permutations, so maybe come back to it later. (Also for other readers.)
Representation theory doesn't need to be done in $\Bbb C$, we can work in arbitrary fields. However, as I hinted at a moment ago, if the characteristic divides the order of the finite group $G$ then things get complicated and we are working in modular representation theory. Things also get complicated when $G$ is a topological group, in which case we need theory from abstract harmonic analysis.
Answer: There are two somewhat conflicting definitions of characters, and the one you cited is not the relevant one.

A character $\chi$ of a linear representation $\pi$ of a group $G$ is its composition with trace $\operatorname{tr}\circ \pi$.
A character of a group is a character of any its representation.
An irreducible character is the character of an irreducible representation.

What you cited is a multiplicative character. (Over $\bf C$, not sure how it is in general), multiplicative characters are exactly the characters of one-dimensional representations, and they are irreducible.
So a multiplicative character is an irreducible character, but not the other way around: any $S_n$ has a natural irreducible $n-1$-dimensional representation.
Worth noting, iirc, the only multiplicative characters of a symmetric group are the trivial one and the sign, so they are rather irrelevant in this case.
On the other hand, for abelian groups, irreducible characters are exactly the one-dimensional (so multiplicative) characters (that's why in the context of abelian groups, commutative Fourier analysis etc., the definition you cited is usually used).
Comment: You mean it's the trace of $\pi$.
Comment: @QiaochuYuan: fixed. :)
Comment: @tomasz Thanks, those were fast replies.  I am not an algebraist, and I do not know what a linear representation of a group is.  Could you help me or point me to a reference?  I am specifically interested in pinning down what an ``irreducible character of $S_n$'' means.
Comment: @bogus: a linear representation is a homomorphism from a group into a group of invertible matrices. See, for example, James and Liebeck's _Representations and Characters of Groups._ For a specific discussion of $S_n$ see, for example, Sagan's _The Symmetric Group: Representations, Combinatorial Algorithms, and Symmetric Functions._
Comment: @bogus: A linear representation (over a field $K$) is a homomorphism into a group $GL_n(K)$, or, when considering representations over $\bf C$ and (infinite) topological groups, a *continuous* homomorphism into the group of automorphisms of a complex Hilbert space. I would recommend Serre's  *Linear Representations of Finite Groups*.
Comment: @bogus: By the way, representation theory is not really an area of algebra. It is of much interest in analysis, particularly noncommutative harmonic analysis and related fields.


Search by topics and extract keywords from articles in Wikipedia

Question: I'm doing a project in java in which I have to process a wikipedia dump file. I'm looking for a library to extract keywords in wikipedia articles... Basically I want to read every tag page in the wikipedia xml dump and compare it with a list of topics and categories and if it is correct , to choose it and add to my results. I'm not interested in read the dump or write wikipedia results, only I want to know about any library that let me to search by topics in the titles and text of a wikipedia article... For example... If the input is "dog" i want the wikipedia articles about dog and if is possible any page under dogs categories.
It doesn't matter if a library for general purpose and not is specified for wikipedia. I need to put the wikitext as argument and received a list of keywords, including categories... I've found some wikipedia libraries that works fine like Wikipedia-Miner or the Java Wikipedia Library but with the first I need to have installed mysql and I want to analyze the text without saving it into a database.
Any kind of help or suggestion is well-received. :)
Answer: It looks like this is your best bet: Java Wikipedia Library


libpng ndk-build internal compiler error in debug mode

Question: I use ndk-build to compile libpng source code in debug mode, then it shows "internal compiler error" in pngrtran.c. But when I compile in release mode, it can success. Is this a bug in libpng? How I can resolve this?
Answer: It's not a bug in libpng; anything a program describes as an "internal error" is a bug in the program (libpng does this, but then it shows "libpng: internal error"!)  So it's a bug in the compiler.
You should report it to the ndk guys or you could go directly to the compiler vendor (probably GNU) because they would likely to be more responsive.
You can't resolve the problem - it needs a compiler fix (maybe only to output a message that doesn't claim it's an internal error, but at least that.)  You can avoid the problem by simply not compiling libpng in debug mode.  Since I assume this is for Android so you can (I believe) mix-and-match debug and now debug code (this does NOT work on Windows with at least one compiler!)
You can also try working out which compiler option reveals the problem; compare the options being passed to the compiler in both release and debug, then bisect the differences to see if you can narrow the issue down to one setting.
John Bowler jbowler 2 acm.org
Answer: The android team should know about the bug. As Its a resurface of an old one:
http://code.google.com/p/android/issues/detail?id=20862


Infinite abelian group with every proper nontrivial subgroup being free abelian

Question: Let $G$ be an infinite abelian group such that all proper non-trivial subgroups of $G$ are free abelian groups . Then is it true that $G$ is a free abelian group ? I think the statement is true , but I cannot come up with a proof . I can see that $G$ is torsion free ; so if $G$ is finitely generated , then $G$ is free abelian . But I don't know what happens if $G$ is not finitely generated .  Please help .
Answer: If $n$ is an integer, and $nG$ is properly contained in $G$, then by your hypothesis, $nG$ must be free abelian with some basis $S$.  Then $\frac{1}{n}S$ is a basis for $G$, and you are done.
Otherwise, $nG = G$ for all $n \in \mathbb{N}$.  This means that it makes sense to divide things in $G$ by integers.  Fixing a given $g \neq 1_G$ in $G$, the homomorphism $\mathbb{Q} \rightarrow G$ given by
$$\frac{a}{b} \mapsto \frac{a}{b} \cdot g$$
is well defined and injective.  Then $G$ contains a nonfree subgroup.
Comment: Ah yes . If $G$ is divisible then $G$ contains a copy of $\mathbb Q$ , but $\mathbb Q$ contains a proper non-trivial subgroup which is not free , contradicting our hypothesis. Hence $G$ is not divisible, so $nG$ is a proper nontrivial subgroup for some $n \in \mathbb N$ ;  so for that $n$ , $nG$ is free  abelian ; but $G$ being torsion free ; $G \cong nG$ ; thus $G$ is free abelian
Comment: Yes, and in fact $\mathbb{Q}$ itself is not free.
Comment: Yes , but that won't do . Because it might be that $\mathbb Q=G$ , so we in fact have to say that $\mathbb Q$ has a non-free proper nontrivial subgroup
Comment: That's fine actually.  We finish the proof by showing that $G$ contains a nonfree subgroup (even if that subgroup is $G$ itself).
Comment: Um but that won't give any contradiction . Our hypothesis is all "proper non-trivial " subgroups of $G$ is free ...
Comment: Yes you're right