Can the phase of a light wave be measured experimentally?

Question: The phase difference can be measured but is it possible to measure the instantaneous phase of the electric field in light wave at one position?
Comment: If you can *define* it, you can measure it (in principle). However, to actually define phase, you need a temporal reference, which one can argue ultimately means that you're just defining the phase difference between your system of interest and your reference oscillator. So: define "phase" without that caveat, or you're just running in circles.
Answer: Yes, for a classical field (e.g. a large photon number, coherent state), in principle the phase can be measured in the sense that one can in principle observe that the electric (magnetic) field at a given point oscillates sinusoidally with time and one can measure at what times the field is zero and when it reaches its maximums.
If you don't believe this for light, simply imagine the experiment with microwaves, or radiowaves. Phase locked loops have been synchronizing oscillator circuits with incoming radio waves for the best part of a hundred years.
So at optical frequencies, the difference is one of technology only, not physics. Optical phase locked loops now exist and realize coherent modulation schemes over optical fiber communication links.
If you mean by your question the phase of a quantum state of light, then, of course, the state is a ray in projective Hilbert space and is invariant with respect to multiplication by a global phase. No meaning can therefore be given to the absolute phase of a quantum state. Phase differences between the complex amplitudes of base states in superposition are meaningful, and these determine interference effects and the evolution of the quantum state.
Classical and quantum phase are quite distinct, however, and don't simply merge through a "correspondence principle" in a large photon number limit. To understand the difference between them, and the lack of a "correspondence principle", consider a photon number coherent state $\psi(\alpha,\,t)$ of the quantum harmonic oscillator:
$$\begin{array}{lcl}\psi(\alpha,\,t) &=& e^{-i\,\frac{\hbar}{2}\,\omega_0\,t}\,\exp\left(\alpha\,e^{-i\,\hbar\,\omega_0\,t}\,a^\dagger - \alpha^\ast\,e^{+i\,\hbar\,\omega_0\,t}\,a\right)\,|0\rangle \\&=& e^{-i\,\frac{\hbar}{2}\,\omega_0\,t}\,e^{-\frac{|\alpha|^2}{2}}\,\sum\limits_{k=0}^\infty\,\frac{\alpha^k}{\sqrt{k!}}\,e^{-i\,k\,\hbar\,\omega_0\,t}\,|k\rangle\end{array}\tag{1}$$
which is a superposition of Fock (number) states beating together as their relative phases oscillate at different frequencies. Suppose we measure the photon number with the number observable $\hat{n}=a^\dagger\,a$; its mean $\langle\psi|\hat{n}|\psi\rangle$ is constant at $|\alpha|^2$ (indeed, so are all the moments $\langle\psi|\hat{n}^k|\psi\rangle;\,k\in\mathbb{N}$ and by calculating them, one can show that the photon number is Poisson distributed with mean $|\alpha|^2$). However, suppose we measure the position with the position observable $\hat{x}=  \sqrt{\frac{\hbar}{2}\frac{1}{m\omega}}\,(a^\dagger + a)$ or the momentum with observable $\hat {p}= i\sqrt{\frac{\hbar}{2}m\omega}\,(a^\dagger - a)$; the means of these measurements $\langle \psi|\hat{x}|\psi\rangle$, $\langle \psi|\hat{p}|\psi\rangle$ are phase-quadrature, time harmonic functions:
$$ \langle \hat{x}(t) \rangle = |\alpha|  \sqrt{\frac{2\,\hbar}{m\,\omega}} \cos (\arg(\alpha) - \omega_0 t)$$
$$ \langle \hat{p}(t) \rangle = |\alpha|  \sqrt{\frac{2\,m}{\hbar\,\omega_0}} \sin (\arg(\alpha) - \omega_0 t)\tag{2}$$
and the phase of these quantites, i.e. $\arg(\alpha)$, is the classical phase. Take heed that we can multiply the state $\psi$ in (1) by any wildly time-varying quantum phase $e^{i\,\varphi(t)}$ we like and the results of the above calculations will be unchanged; the quantum phase disappears under the multiplication of the state and its complex conjugate in the calculation $\langle \psi|\hat{X}^k|\psi\rangle$ of any moment of any observable $\hat{X}$. Note that the classical phase is perfectly well defined for any, arbitrarily small mean photon number coherent state (it's simply that for $\alpha$ very small, you'll need many measurements on the same state to measure it, whereas a single measurement will do for laser-sized values of $\alpha$).

For measurement of classical phase of light, see Emilio Pisanty's answer here describing the relevant experimental technology in the Physics SE thread Have we directly observed the electric component to EM waves?.
Also, one can indeed define an observable for the classical phase of a quantum state, although it's tricky; an influential quantum optics researcher has written a whole book on the subject:
Stephen M. Barnett & John A. Vaccaro, "The Quantum Phase Operator: A Review"
(Stephen M. Barnett, along with Bruno Huttner, was one of the first people to work out a fully quantized theory of the electomagnetic field in a dielectric (in this paper here)).
Comment: On the technological side, attosecond streaking (as I explained [here](https://physics.stackexchange.com/questions/327076/)) can directly measure the waveform in the IR regime, though you'd struggle if you wanted to trace out more than ten-twenty cycles or so. However, it is *still*, arguably, an interference experiment, as you always need a phase-locked reference - including the microwave and radio experiments you describe.
Comment: On the quantum side, that depends on what states you're measuring. For Fock states the phase is obviously completely undefined, but not all states are Fock states - and there are indeed phase 'eigenstates' (modulo some strong difficulties in defining them). Phase is (almost) as legitimate an observable as anything else - or, at the very least, there is a perfectly workable POVM for its measurement. (More details [here](https://www.crcpress.com/The-Quantum-Phase-Operator-A-Review/Barnett-Vaccaro/p/book/9781584887607).)
Comment: ... though re-reading your post, you're talking about Hilbert-space phases, which are *not* the correct analogs to the classical phase of an oscillator. Instead, the quantity of interest is the quantum phase as described in my last link.
Comment: @EmilioPisanty could you possibly summarize for those of us who don't have access to the book? Maybe you could write your own answer?
Comment: @BrianBi To be honest, the quantum perspective is a good deal of a sidetrack w.r.t. the OP, so it wouldn't be all that appropriate to add an answer here. On-site there's [this question](https://physics.stackexchange.com/questions/292633/why-doesnt-the-phase-operator-exist) but it's not a great fit and I'm not thrilled with the answers; it would make a good separate question - though you'd need to demarcate it clearly from the existing one, maybe along the lines of "given that the naive view won't work, what *can* you do?".
Comment: @EmilioPisanty You're right of course. I was at first a little unclear what the OP was angling at, but I've added some material to make the difference between the notions clear. I've also cited your discussions on measurement.
Comment: @Rod goodness, that's a lot of material, kudos for working it in. Would upvote again if I could.
Answer: Yes, of course it is possible to measure phase.   Holography works by
combining a source wave with a reflected-light wave and where the
phases match (zero degrees) the light intensity is high (and darkens the
film), and where the phases mismatch (180 degrees) the light intensity
is minimum, and the film stays transparent.   That hologram image, then,
captures the reflected-light phase (and reconstruction of the
image afterward is therefore possible by illuminating the film with
a copy of that original source wave).
Comment: "combining a source wave with a reflected-light wave" is probably the kind of thing OP meant when they said they know "the phase difference can be measured", so this doesn't really answer their question.
Comment: The meaning of 'phase' that makes most sense to me in this context, is the value (phi) in the oscillatory expression "sin(omega *t + phi)" for the wave at a point in space.   So, an arbitrary choice of the zero of the time elapsed is intrinsically required, i.e. there must be a reference.   So, the physical situation of creating a hologram defines that reference with the 'reference beam'.   The reference beam can take another absolute phase and the hologram will reconstruct because only phase differences are important.
Comment: I agree with you that that's the definition that makes sense. But based on the question asked, I'd guess that OP doesn't understand that, or maybe even why it's an issue. So a complete answer should explain why what OP asked for is not sensible.
Comment: Holography measures phase difference as amplitude. There is no phase information in hologram, only amplitude. It means we can't reconstruct original wave with original phase. A question is about direct phase measurement. We can this on slower frequency waves such as radio waves. Visible light is THz waves. But today's fastest transistor is about 400 GHz. It's to slow to directly measure phase of visible light.
Answer: Yes, since 2003 we can measure the electric field wave of (visible) light pulses using attosecond light pulses. You may have heard that the 2023 Nobel Prize for physics was awarded "for experimental methods that generate attosecond pulses of light". One of the first applications was to measure the electric field wave of a very short (sub-5fs) light pulse published as "Direct Measurement of Light Waves", see References below.
What we measure is the phase of a (short) light pulse with respect to the pulse envelope (it is called the carrier-envelope phase).
Requirements
This technique requires that the light wave to be measured is

a pulse that
is very short, and
intense, and
can be repeatedly generated with precisely the same wave form (the difficult part).

Requirement #1 is because the pulse envelope serves as the reference against which we measure the phase (of the carrier wave).
Requirement #2 is because we use the pulse to generate a single (isolated) attosecond "probe" pulse and to get an isolated probe pulse (as opposed to a train of probe pulses which would generate ghost images) we need the to-be-measured pulse to have only a "few" optical wave cycles (<3).
Requirement #3 is because we need sufficient field strength to streak electrons (see next chapter)
Requirement #4 is because the technique is not a single-shot technique but requires scanning of a probe pulse across the to-be-measured pulse wave form.
Technique
Basically we use the to-be-measured light wave to "streak" (accelerate or decelerate) electrons that were previously emitted by the attosecond pulse. We measure the (streaked) kinetic energy of those electrons as we scan the short attosecond pulse over the longer (but still ~5fs short) to-be-measured pulse to reproduce its electric field waveform.
To make this work, the probing attosecond pulse must be shorter than the period of the to-be-measured pulse, otherwise we would not be able to resolve its waveform (it would "wash out").
The probing attosecond pulse must be precisely synchronized to the to-be-measured pulse. This is fulfilled by generating the attosecond pulse from a copy of the to-be-measured pulse (using a beam splitter).
Further Reading
For a detailed and scientifically precise explanation please read the reference cited below.
For a scientific video see the first 30 minutes of https://youtu.be/KbEg90h4qTU?si=J1lsByPg5-WSIODP
Layman explanation by Ferenc Krausz: https://youtu.be/6ZIUJb85BAQ?si=pRUNy2b6YITBgWLE
References
E. Goulielmakis et al., Direct Measurement of Light Waves Science 305, 1267-1269 (2004). https://doi.org/10.1126/science.1100866
Download: https://mediatum.ub.tum.de/doc/1579427/document.pdf
Answer: No if you meant visible light. We can measure phase directly only when EM wave's frequency is lower than 400GHz. Because fastest transistor we made is about 400GHz. But visible light have frequency 400–790THz. We need 1000x faster transistor to measure phase of visible light.


Is it possible to get a PhD with personal research?

Question: I'm a master computer science student. I decided to leave the academia after graduation, but I'm still into research and would like to do personal research independently for like 10 years. Suppose I publish a lot of papers in valuable journals, is it possible to get a PhD after that somehow?
Comment: What do you mean with *personal research*? Like, without any advisor? I assume there is no legal framework for such a model in most institutions. However, here in Europe, many professors are willing to work with smart students in special circumstances, if the incentives are right.
Comment: Do you have any published works? In what CS conferences or journals? If not, what do you mean by "I'm still into research"
Comment: If you manage to publish enough (in good journals) for a phd, I can think that a university will gladly let you defend it.
Comment: possible duplicate of [Can I use the work in my journal/conference publications as chapters in my dissertation?](http://academia.stackexchange.com/questions/2029/can-i-use-the-work-in-my-journal-conference-publications-as-chapters-in-my-disse)
Answer: Some universities offer the option of a 'PhD by published works'.  See this question for more information.  Is that the sort of thing you're looking for?
Answer: I think you can do research in your own time, but I think getting your work published is hard where you are not affiliated with a university or research institute. You have the advantage that you will not use precious resources from the institute as you will be doing the research in your own time, but you probably do not have a large amount of priority over the normal PhD's and postdocs.
I think you should write a research plan, i.e. where do you want to go with your research. Writing such a proposal will show a supervisor you are serious and have some research skills (provided the proposal is any good). Once you have a number of publications, molding those into a PhD thesis is quite possible. In the Netherlands for example it is quite normal to bundle your papers, and write an introduction and summary as your PhD thesis.
I do think performing research next to a normal job can be challenging, as research tends to take a lot of time. So be prepared to let your PhD take 10+ years (possibly making it obsolete), or sacrifice a lot of spare/family time.
Comment: "you probably do not have a large amount of priority over the normal PhD's and postdocs"  Huh?  I certainly don't give "priority" to PhDs and postdocs when writing reviews!  (In fact, I usually have no idea who wrote the paper I'm reviewing.)
Comment: I mean that when you find a supervisor working at a university, the PhD's and postdocs that are employed by the university probably have priority over you as the external, self employed PhD.
Comment: In reference to this, going without a supervisor is normally not advisable. Having a supervisor (esp. in the Dutch system) provides a much better guarantee to actually be able to defend the work. To defend in NL you need a full professor to take it on.
Comment: In addition to the legal point-of-view, it is also very hard to do a PhD without having an experienced scientist (i.e. your supervisor) helping you out, being your sparring partner, correcting your draft papers, etc.
Comment: The only way I've seen this happen is via an honorary degree (cf. [Andrew M. Gleason](https://en.wikipedia.org/wiki/Andrew_M._Gleason)).
Answer: Technically there are ways to do this (at least in Europe, different countries are different). In practice however, doing PhD work is hard enough when doing it officially part-time with a set supervisor and approved plan. Without a supervisor, you need to be exceptionally exceptional to get a PhD thesis written (and sufficient academic papers published to satisfy expectations).
Think about it this way, the vast majority of PhD proposals in applications are not quite good enough (to execute), so the first thing a supervisor does is change the plan.
Answer: PhD studies are studies, same as master degree. So you need to cooperate with university or other scientific institution that has been licensed to grant this degree. Same as you cannot get driving license without applying to the road police (regardless how well do you drive), PhD degree also cannot "emerge automatically" from the number of published articles or the like.
Some institutions may be willing to review existing publications and grant the degree on that basis but generally anyway it must be institution, supervisor and, most often, topic. Many will not allow this path so I would advice to check if you can find one, before you start.
However it is not uncommon for the scientific institution to allow PhD studies without providing the funding (funding may be provided, for instance, by the company where PhD student currently works, or maybe PhD student have enough resources to support himself).


How can I remove a stuck circuit breaker from the panel?

Question: I went to replace my circuit breaker for my dryer because the dryer kept
shutting off. I started checking around and discovered when you jiggle the breaker a little
the dryer light flicker. I decided to replace the breaker which is something that I have done before in the past. the problem I am have is the breaker will not pop out as the other breakers do. this is a dual pole 240V breaker. The single pole breakers pop right out but some don't either. hope someone can help.
Answer: First item of order is to identify this breaker panel and find out if there is a national recognized fire hazard danger from the make and model breaker panel you have installed.
Square D, Zinsco/Sylvania and Federal Pacific had failure modes where this happens.
Stop, call a qualified electrician and have them inspect the panel. The bus bar contacts are burned and the circuit breaker may have partially welded itself to the contact. At this point, the meter needs to be pulled if you don't have a 200A main breaker that shuts the panel off. Any force trying to remove the breakers that breaks the insulators holding the bus in place will put you in a potentially deadly or high property damage situation if you do not cut the power before proceeding.
In the case of Sylvania/Zinsco, the aluminum bus bar may burn through from the arcing. The only over-current protection you have will be the transformer fuse which will blow only after the bus bar has completely consumed itself in an arc flash fire if it contacts the grounded panel housing.
Answer: No screws holding it in? Some older panels had push-in small breakers and screw-in large ones.
If no, your breakers are possibly corroded in place. Pull one of the breakers that comes out easily and look at the contacts in the box. Shiny, or dull and pitted?
If the dryer breaker won't move easily you will probably have to force it out. Not difficult but it will expose high voltage components. Turn the main breaker off, remove everything around the dryer breaker and then apply some force until it either comes out or breaks. The use pliers to pull out the various pieces.
One warning with this method: you cannot stop, and you cannot go back. You must complete the repair before turning the power back on.
You may discover that your panel's main busbar is corroded beyond use - this means calling an electrician to replace the panel so I suggest you start the repair Tuesday morning.


L298N Current or Voltage source

Question: I want to power some coils using a controlled current, but I know as the coils heat the resistance changes. Will the L298N keep that current controlled at a certain enabler voltage?
Comment: Look up how chopping mode stepper drivers work; but then actually build it with as sense resistor, comparator, and an N-FET since you don't have a stepper motor but only a single coil that you presumably don't need to alternate the polarity of.
Comment: [L293, L298 and SN754410 H-bridge drivers on low voltage power supply](https://electronics.stackexchange.com/questions/108686/l293-l298-and-sn754410-h-bridge-drivers-on-low-voltage-power-supply).
Answer: Short answer:no.
By using current sensing and varying the pwm signal to the L298 you can achieve current regulation. This usually involves a microcontroller.
Comment: Ah ok, more steps then.
Answer: How much current do you need to regulate?
Do you need to use a Full Bridge configuration to control your "coils"
What are your coils, heating, solenoid???
The L298 is a very old and inefficient device using BJT technology, it would be more efficient to use a MOSFET type device.
The L298 does not have onboard current control, you have to provide an external control device to read the current and control the input of the L298.
There are other devices that have onboard current limit control, you will have to do some research.
Look up the A4988 motor driver.
Comment: The A4988 is indeed the sort of drive topology in that it's a current mode chopper.  But I suspect it has a step/direction interface; since the OP isn't actually driving a stepper motor but just a random coil they need something they can command more explicitly.

L298N Current or Voltage source


Are the Carolingian and Frankish Empire the same?

Question: I'm a bit confused about Charlemagne's rule in Europe. So I saw two names that were frequent in his biography in Wikipedia: Carolingian and Frankish. And I saw that the area of those empires were very similar. So is the Carolingian and Frankish Empire the same?
Comment: Suggest you read the wiki article on the Carolingian empire.
Comment: Why is this closed?
Answer: The Frankish Empire was ruled by two dynasties. The Merovingian (c. 5th century to 751) dynasty and Carolingian dynasty in (best known for imperial expansion under Charlemagne/Karl dem Großen) the Early Middle Ages.

The term "Carolingian empire" refers to when the Carolingian dynasty was ruling the Frankish empire, which commonly gets traced back to Charles Martel as its founder.
The Merovingian dynasty ruled the Frankish empire from the 5th-7th century
Comment: Summary: Carolingian = dynasty. Frankish = the frank's state. The confusion arises because this state was an empire only during the carolingian dynasty, but not during the merovingians.


How can I connect a raspberry pi pico to an oscilloscope to measure power consumption?

Question: I have loaded a neural network onto a Raspberry pi pico and I want to know how to connect it to the oscilloscope to measure its power consumption over time. I have the necessary components for wiring such as the breadboard, wires, and resistors but I am unsure how to connect everything. Thanks for your help!
Comment: not a question about Raspberry Pi ... if you have to ask, then an oscilloscope is not a suitable device for you because the oscilloscope does not measure power usage directly ... find a USB power meter
Comment: this is what is called an XY question ... you think that an oscilloscope is a solution to your problem, so you ask about the oscilloscope ... you should really be asking about the problem you are trying to solve
Comment: Please [edit] your question and add more details: Over what time range do you want to measure the power? Do you need a diagram? Or the peak value? Or the total energy in a time interval? What oscilloscope and what probes do you have?
Answer: In general, you should "use the proper tool for the job" - which, in this case, means you might try to find a tool that's better-suited to power measurement than an oscilloscope. Oscilloscopes, in general, measure voltage changes over time. Since power measurements require measuring both voltage and current (or being able to calculate current), you may find the oscilloscope awkward for making power measurements - unless you're lucky enough to have a full-featured scope (see @Gil's comment below).
There is another answer here that offers several alternatives for measuring power input to an RPi - they will also work for measuring power input to the Pico.
I would suggest that you first consider one of the many USB devices for this. They sit between the Pico's USB microB input connector and the USB cable you use to power it. You may find one with USB micro-b connectors; otherwise, you'll need adapters.
Let us know if you have further questions on this, but N.B. that you'll need to do your own shopping - the rules here don't support "shopping requests".
Comment: It depends on your scope and probes. I have a scope that will do that. I have a current probe that is sensitive to the range I need and it will measure voltage. I can use the math function and get power in watts displayed on the screen in digital format.
Comment: @Gil: Aye - that's why I used the term ***in general***. Sounds like a nice scope!
Answer: Easy, clamp the current probe around either the + or - power supply wires. If the trace is reversed remove the probe, flip and put back. You then place the scope vertical input on the + and the ground on -. Adjust appropriately and at  this point the screen will give you current and voltage. If your scope has math functions you can program it to give you watts directly. If not multiply them, just be careful of the decimal points (they usually get me). The one I use to do this is an older model A Tek a MSO 4054. The current probes use a separate amplifier. The newer ones do not need the external amp. My scope is my most important almost-all-in-one tool. Mine is a bench model which if fine.
This solution will work with micro power devices to ultra large industrial loads, you just have to scale the probes. When mains are involved I always use a step-down transformer, all that I normally need to know is the turns ratio. You can figure that out with the scope as well.


Isomorphism of group rings over finite cyclic groups

Question: Let $R$ be a commutative ring with unity. For any group $G$, let the group ring be denoted by $R[G]$. If $R[\mathbb Z/(n) ] \cong R [\mathbb Z / (m)]$ as rings , then is it true that $m=n$ ? If that is not true in general, then is it true if we put some extra condition on $R$, like say Noetherian ?
Answer: Suppose that $R$ has all $n^{th}$ roots of unity and that $n$ is invertible in $R$: for example, this holds if $R$ is a $\mathbb{C}$-algebra. Then you can show that
$$R[C_n] \cong R^n$$
as $R$-algebras, so the problem reduces to asking whether $R^n \cong R^m$ implies $n = m$.
The answer is yes if $\text{Spec } R$ has finitely many connected components, or equivalently if $R$ has finitely many idempotents, which is in particular the case if $R$ is either Noetherian or an integral domain, since then we can just count connected components (or idempotents) on both sides. It is no in general since, for example, we could have $R \cong k^{\mathbb{N}}$ for some other commutative ring $k$ satisfying the above conditions (and then $\text{Spec } R$ has infinitely many connected components).
More generally, the answer is yes if you can find any other commutative ring $S$ such that there are at least two but at most finitely many homomorphisms $S \to R$ (for idempotents take $S = \mathbb{Z}[x]/(x^2 - x) \cong \mathbb{Z}^2$, the free commutative ring on an idempotent), since then $R^n \cong R^m$ implies
$$\text{Hom}(S, R^n) \cong \text{Hom}(S, R)^n \cong \text{Hom}(S, R^m) \cong \text{Hom}(S, R)^m.$$
Comment: Ah right exactly ... $R[\mathbb Z/(n)]\cong R[X]/(X^n-1)$ and the latter is isomorphic with $R^n$ when $X^n-1$ splits in $R$ and has no multiple roots i.e. $R$ contains all the $n$-th roots of unity and $char R\ne n$ right ? Also, I wanted to point out that if $R$ satisfies a.c.c. on radical ideals, then $Spec R$ has finitely many connected components ...
Comment: @misao: you really do need the additional hypothesis that $n$ is invertible. For example, when $n = 2$, the ring $R = \mathbb{Z}$ has all second roots of unity and its characteristic is not $2$, but $\mathbb{Z}[x]/(x^2 - 1)$ is not isomorphic to $\mathbb{Z}^2$.
Comment: ah I see that now ... I thought only having distinct roots would make the quotient split ... what I do need is that for every two roots $a,b \in R$ of $X^n-1$, $(X-a)R[X]$ and $(X-b)R[X]$ are co-maximal in $R[X]$ ... is that assured by invertiblty of $n$ in $R$ ?
Comment: Umm ... I seem to have stuck on why invertiblity of $n$ along with existence of all $n$-th roots of unity is enough to conclude $R[X]/(X^n-1) \cong R^n$ ... could you please elaborate here .?
Comment: @misao: you can write down an explicit isomorphism using the discrete Fourier transform (https://en.wikipedia.org/wiki/Discrete_Fourier_transform).
Comment: How ..? I'm still not getting it ... if possible, couod you please add an elaboration in the question body ..? Also, do we really need to use DFT ?
Answer: Fix any two distinct natural numbers $n,m$. Because $R[\Bbb{Z}/(n)]\simeq R[x]/(x^n-1)$ we do get counterexamples like
$$
R=K[x_1,x_2,\ldots,y_1,y_2,\ldots]/(x_1^n-1,x_2^n-1,\ldots,y_1^m-1,y_2^m-1,\ldots),
$$
when $R[x]/(x^n-1)\simeq R\simeq R[x]/(x^m-1)$.
Here $K$ is a field.
I'm afraid I'm too ignorant about commutative algebra to guess what extra condition would make it true.
Comment: Thanks ... I didn't know $R[\mathbb Z/(n)] \cong R[X]/(X^n -1)$ ... could you please provide a proof for that ?
Comment: Both rings are naturally free $R$-modules of rank $n$, one with basis $\overline{k}\in\Bbb{Z}/(n)$ the other with $X^k, 0\le k<n$. Map $\overline{k}$ to the coset of $X^k$. Modulo $X^n-1$ precisely takes care of $k\equiv k'\pmod n$ as in that case $X^k\equiv X^{k'}\pmod{X^n-1}$. Therefore you get an isomorphism of rings as well as of $R$-modules.
Comment: Thanks a lot ... so we have counterexamples ... unfortunately yours are not Noetherian ... but you still answer half of my question ... thank you for that ..


Probability between multiple dice and single die

Question: Can some one explain what is the difference between rolling three dice together and rolling a single die three times? What is the probability that the sum equals 4 for both cases?
Comment: There is no difference
Answer: Arguably, rolling a single die three times gives more information than rolling three dice simultaneously, as in the first case, we can definitely identify the order of the rolls.  (E.g., we can distinguish between, say, 1,4,3 and 4,3,1.)  The advantage of considering the order of the rolls to be important is that then you have an equiprobable sample space--all $216$ outcomes are equally likely.
Answer: Assuming 6 sided dice, there are $6^3$ ways the dice can land. To make a 4 can only be done in three ways (1,1,2; 1,2,1; 2,1,1). So the probably is $3/216=1/72$.
Now, if you're allowed to stop after one or two throws, then that changes it a bit.  There's a 1/6 probability on the first throw, 1/12 probability on the second throw (1,3; 2,2; 3,1), and 1/72 on the third, so you'd have to add those together.
Answer: In probability event(theoretically), we usually assume ideal condition.
The probability of a die with result from 1 to 6 is 1/6 regardless what happens to other dies either thrown at the same time or thrown few seconds later. We assume each event of throwing a die is independent, therefore each event is also independent of 'time' each die is thrown.
There will be time difference.
Throwing all three dies at time 00:00:00.
 vs.
Throwing first die at 00:00:00, second at 00:00:01, third at 00:00:02.
But again in the ideal condition, the outcome of a die is not dependent on the time it is thrown unless there're some kind of events that will effect the outcome of a die at a specific time.
So basically two events (throwing three dies at the same time or throwing three dies at different times) will have same probability for any probability events (e.g sum of three dies = 4, multiplication of three dies = 30, and so on)
Answer: There is no difference, theoretically. When you throw them together, and watch its video in slow motion, possibly the three dices hit the floor at different times and so can be treated as one die thrown three times (by a person with enormously quick reflexes!)


Voice Control for Android 2.1

Question: I have a Bluetooth speakerphone for my car (BlueAnt). It uses a phone's built in voice control. When I try to use it, it says that voice control is not supported by my phone (AT&T Samsung Captivate, Android 2.1). Is there a way I can get voice control (over Bluetooth) on my phone?
Answer: I believe that feature was added with Android 2.2 as my Moto Droid recently got the ability to do that.  Unfortunately, I believe you are out of luck until AT&T pushes an update to your phone, unless you are willing to install a non-standard ROM.
Comment: I don't think there is a Froyo ROM available. I was hoping for a work-a-round. Oh well, thanks!

Voice Control for Android 2.1


How do you say "Grandad Hughie" and "Nana Norma"?

Question: Can someone translate? "Grandad Hughie" and "Nana Norma" to Chinese for me please, as I do not trust Google Translate to be right.
Comment: Google: "休伊爺爺" "娜娜諾瑪".  Nana is a pet name for grandmother, so it should be translated as "休伊爺爺" and  "諾瑪奶奶"
Comment: Hughie 爺爺, Norma 祖母, 奶奶,  外祖母, 外婆 or 奶奶, Depends on the region). the former two are your father's mother, the latter two are your mother's mother.
Answer: Well, that depends, not so simple in Chinese:
the father of the husband is 爷爷 yéye
the father of the wife is 外公 wàigōng
the mother of the husband is 奶奶 nǎinai
the mother of the wife is 外婆 wàipó
Hughie gets transliterated as 雨神 yǔshén or 休吉 xiūjí
Norma gets transliterated as 诺尔玛 nuoěrmǎ or just 诺玛 nuomǎ
Talking directly to granma or grandad, just say 爷爷 yéye, 外公 wàigōng, 奶奶 nǎinai, 外婆 wàipó.
Referring to them, put the name first:
雨神 yǔshén 爷爷 yéye,
诺尔玛 nuoěrmǎ 外婆 wàipó
Every relative has a different title in Chinese! I will never remember them all!
Answer: It depends on the relationship between you and the person you are addressing:

Blood Relatives (Note, the way to address the same type of relative varies with  the geographic regions)

Your father's father (Grandad): 祖父,爺爺,阿公
Your father's mother (Nana): 祖母,奶奶,婆婆,阿嬤
Your mother's father (Grandad): 外祖父,外公,(外家)阿公
Your mother's mother (Nana): 外祖母,外婆,(外家)阿嬤

Typical - Addressing Elders

Male (x Grandad): X爺爺, x公公, 阿公
Female (x Nana): x奶奶, x婆婆, 阿嬤

x - Surname. Note, for Chinese, it is unpolite to address the elder by his/her first name.

How do you say “Grandad Hughie” and “Nana Norma”?


"Only a single ContentDialog can be open at any time." error while opening another contentdialog

Question: I am using Windows.UI.Xaml.Controls.ContentDialog to show a confirmation. And based on the response from the first dialog I would (or would not) show another dialog. But, when I am trying to open the second content dialog it throws : "Only a single ContentDialog can be open at any time." error. Even though in the UI, first dialog would be closed but somehow I am still not able to open the second dialog. Any idea?
Comment: Throw some code, let us know how you do that.
Answer: I have created some code to handle this type of conundrum in my Apps:
public static class ContentDialogMaker
{
    public static async void CreateContentDialog(ContentDialog Dialog, bool awaitPreviousDialog) { await CreateDialog(Dialog, awaitPreviousDialog); }
    public static async Task CreateContentDialogAsync(ContentDialog Dialog, bool awaitPreviousDialog) { await CreateDialog(Dialog, awaitPreviousDialog); }

    static async Task CreateDialog(ContentDialog Dialog, bool awaitPreviousDialog)
    {
        if (ActiveDialog != null)
        {
            if (awaitPreviousDialog)
            {
                await DialogAwaiter.Task;
                DialogAwaiter = new TaskCompletionSource<bool>();
            }
            else ActiveDialog.Hide();
        }
        ActiveDialog = Dialog;
        ActiveDialog.Closed += ActiveDialog_Closed;
        await ActiveDialog.ShowAsync();
        ActiveDialog.Closed -= ActiveDialog_Closed;
    }

    public static ContentDialog ActiveDialog;
    static TaskCompletionSource<bool> DialogAwaiter = new TaskCompletionSource<bool>();
    private static void ActiveDialog_Closed(ContentDialog sender, ContentDialogClosedEventArgs args) { DialogAwaiter.SetResult(true); }
}

To use these Methods, you need to create the ContentDialog and its content in a variable, then pass the variable, and bool into the Method.
Use CreateContentDialogAsync(), if you require a callback in your app code, say if you have a button in your Dialog, and you want wait for a button press, and then get the value from the form in code after the dialog.
Use CreateContentDialog(), if you don't need to wait for the Dialog to complete in your UI Code.
Use awaitPreviousDialog to wait for the previous dialog to complete before showing the next Dialog, or set false, to remove the previous Dialog, then show the next Dialog, say, if you want to show an Error Box, or the next Dialog is more important.
Example:
await ContentDialogMaker.CreateContentDialogAsync(new ContentDialog
{
    Title = "Warning",
    Content = new TextBlock
    {
        Text = "Roaming Appdata Quota has been reached, if you are seeing this please let me know via feedback and bug reporting, this means that any further changes to data will not be synced across devices.",
        TextWrapping = TextWrapping.Wrap
    },
    PrimaryButtonText = "OK"
}, awaitPreviousDialog: true);

Comment: This doesn't work for me. Here's my example code: https://stackoverflow.com/questions/50486830/only-a-single-contentdialog-can-be-open-at-any-time
Comment: How do you attach events with this helper?
Comment: @HaBo you could get the instance from ContentDialogMaker.ActiveDialog (do a null check), removing the await and storing the task after CreateContentDialogAsync, get the instance then awaiting, or you could modify the Helper to add desired events.
Answer: William Bradley's approach above is good. Just to polish it up a bit, here is an extension method to submit and await the showing of a content dialog; the dialog will be shown after all the other content dialogs that have already been submitted. Note: by the time the user clicks through earlier backlogged dialogs you may no longer want to show the dialog that you have submitted; to indicate this you may pass a predicate that will be tested after the other dialogs have been dismissed.
static public class ContentDialogExtensions
{
    static public async Task<ContentDialogResult> EnqueueAndShowIfAsync( this ContentDialog contentDialog, Func<bool> predicate = null)
    {
        TaskCompletionSource<Null> currentDialogCompletion = new TaskCompletionSource<Null>();
        TaskCompletionSource<Null> previousDialogCompletion = null;

        // No locking needed since we are always on the UI thread.
        if (!CoreApplication.MainView.CoreWindow.Dispatcher.HasThreadAccess) { throw new NotSupportedException("Can only show dialog from UI thread."); }
        previousDialogCompletion = ContentDialogExtensions.PreviousDialogCompletion;
        ContentDialogExtensions.PreviousDialogCompletion = currentDialogCompletion;

        if (previousDialogCompletion != null) {
            await previousDialogCompletion.Task;
        }
        var whichButtonWasPressed = ContentDialogResult.None;
        if (predicate == null || predicate()) {
            whichButtonWasPressed = await contentDialog.ShowAsync();
        }
        currentDialogCompletion.SetResult(null);
        return whichButtonWasPressed;
    }

    static private TaskCompletionSource<Null> PreviousDialogCompletion = null;
}

Another way might be to use a SemaphoreSlim(1,1).
Comment: Forgot to mention: public class Null { private Null() {} }
Comment: P.S. For tips on having the ContentDialog always be centered in the window, see https://stackoverflow.com/questions/36384062/contentdialog-not-aligning-to-center-on-uwp
Answer: "Only a single ContentDialog can be open at a time"
This statement is not entirely true.  You can only ShowAsync one ContentDialog at a time.  All you need to do is hide the current ContentDialog before opening another one. Then, after the "await ShowAsync" of the second ContentDailog, your simply call "var T = this.ShowAync()" to unhide it.  Example:
public sealed partial class MyDialog2 : ContentDialog
{
    ...
}

public sealed partial class MyDialog1 : ContentDialog
{
    ...

    private async void Button1_Click(object sender, RoutedEventArgs e)
    {
        // Hide MyDialog1
        this.Hide();

        // Show MyDialog2 from MyDialog1
        var C = new MyDialog2();
        await C.ShowAsync();

        // Unhide MyDialog1
        var T = ShowAsync();
    }
}

Answer: I know this is slightly old, but one simpler solution instead of going through all this pain is to just register a callback for the ContentDialog_Closed event. By this point you can be sure the previous dialog has been closed, and can open your next dialog. :)
Answer: I like this answer https://stackoverflow.com/a/47986634/942855, this will allow us ot handle binding all events.
So extended it a little to check the multiple calls to show dialog.
 private int _dialogDisplayCount;
 private async void Logout_OnClick(object sender, RoutedEventArgs e)
        {
            try
            {
                _dialogDisplayCount++;
                ContentDialog noWifiDialog = new ContentDialog
                {
                    Title = "Logout",
                    Content = "Are you sure, you want to Logout?",
                    PrimaryButtonText = "Yes",
                    CloseButtonText = "No"
                };
                noWifiDialog.PrimaryButtonClick += ContentDialog_PrimaryButtonClick;
                //await noWifiDialog.ShowAsync();
                await noWifiDialog.EnqueueAndShowIfAsync(() => _dialogDisplayCount);
            }
            catch (Exception exception)
            {
                _rootPage.NotifyUser(exception.ToString(), NotifyType.DebugErrorMessage);
            }
            finally
            {
                _dialogDisplayCount = 0;
            }
        }

modified predicate
public class Null { private Null() { } }
    public static class ContentDialogExtensions
    {
        public static async Task<ContentDialogResult> EnqueueAndShowIfAsync(this ContentDialog contentDialog, Func<int> predicate = null)
        {
            TaskCompletionSource<Null> currentDialogCompletion = new TaskCompletionSource<Null>();

            // No locking needed since we are always on the UI thread.
            if (!CoreApplication.MainView.CoreWindow.Dispatcher.HasThreadAccess) { throw new NotSupportedException("Can only show dialog from UI thread."); }
            var previousDialogCompletion = _previousDialogCompletion;
            _previousDialogCompletion = currentDialogCompletion;

            if (previousDialogCompletion != null)
            {
                await previousDialogCompletion.Task;
            }
            var whichButtonWasPressed = ContentDialogResult.None;
            if (predicate == null || predicate() <=1)
            {
                whichButtonWasPressed = await contentDialog.ShowAsync();
            }
            currentDialogCompletion.SetResult(null);
            return whichButtonWasPressed;
        }

        private static TaskCompletionSource<Null> _previousDialogCompletion;
    }

Answer: Only a single ContentDialog can be open at any time.
That is a fact. (I was really surprised, but just for a moment)
You can't have more than one at any time and it is more like guideline from Microsoft, because it's really messy to have multiple dialogs on top of each other filled with content.
Try to change your UX to display only one sophisticated ContentDialog and for all other messages use MessageDialog - it supports multiple buttons(only two for phones, but more on desktop) for user response but without Checkboxes or similar "smart"-content stuff.
In my case MessageDialogs were really helpful, but in some areas I used chained ContentDialogs but for that you must await the first one, and open second right after without any exceptions. In your case it seems like ContentDialog was not fully closed when you tried to open next one.
Hope it helps!


Stable base loci cannot contain isolated points

Question: Let $X$ be a normal projective complex variety.
A theorem of Fujita-Zariski says that if $L$ is a Cartier divisor on $X$ such that
the base locus $Bs(|L|)$ is a finite set then $L$ is semiample.
It seems to me that by using this theorem it is possible to prove that the stable base locus $\mathbb{B}(L):=\bigcap_{m \in \mathbb{N}} Bs(|mL|)$ of a Cartier divisor on a variety as above cannot contain isolated points.
Do you know a reference for this (or a counterexample)?
Answer: Yes, you are right, and the result is almost immediate using the FZ theorem. A proof can be found in the recent paper Restricted volumes and base loci of linear series. by Ein, Lazarsfeld,Mustaţă, Nakamaye and Popa. For the sake of completeness I sketch the argument here.
Just to clarify: The Fujita–Zariski Theorem says that if a line bundle $L$ is ample on its base locus, then it is is semiample. If the base-locus is finite then this condition is automatically satisfied. Here semiampleness means that a multiple $L^{\otimes n}$ is globally generated.
Since $X$ is normal, I'll switch from a line bundle $L$ to a divisor $D$ (just for the sake of notation). Suppose that $x$ is an isolated point in $\mathbb{B}(D)$. We have $Bs(mD)\supset Bs((m+1)D)\supset \cdots $ so by Noetherianness we can choose a large $m$ so that that the stable base locus $\mathbb{B}(D)$ equals $Bs(|mD|)$. Let $X'$ be the blow-up of $X$ with center $Z=Bs(mD)\setminus \{x\}$. The total transform of $mD$ is can be decomposed as $E+M$ where $E=\pi^{-1}(Z)$ and $M$ is a divisor with a base locus at $f^{-1}(x)$ (with some multiplicity). Now, since the base locus of $M$ is finite, Fujita–Zariski implies that $pM$ is base-point free for some large $p$. But then $x\not\in Bs(mpD)$, which contradicts $x\in \bigcap_{m\ge 1} Bs(mD)$.
Comment: Actually in the paper by ELMNP the variety is assumed to be smooth.
However it seems to me that this is not used in the proof. Right?
Comment: I think the proof goes through without the smoothness assumption yes, although normality is of course essential.
Comment: i've read the paper and there's a remark that states there's a way to prove it with the multiplier ideal.
can someone tell me how it works?
thank you


Notice of Credit Card Fraud via text on my phone someone responded how did they do it?

Question: I received a text alert from Capital One fraud alerting me of unusual activity someone replied to the text confirming the activity. I have an Iphone. How can they get access to my phone and what do I need to do to secure it? I've called Capital One and card is inactive my primary question is.. do I have some sort of malware on my phone?  Can I search it?  How do I secure my phone?  Any help would be greatly appreciated thank you
Comment: Which iPhone? How do you know they responded? Did you see their reply being sent from your iPhone or is it only the bank that told you they replied?
Comment: You're question is really unclear. You need to be very precise when explaining what you received and what happened to know for sure if this is a social engineering attack (just a trick meant to fool you into doing something) or something is actually wrong.
Comment: might just have been a wrong number, i've gotten angry and lovy texts from strangers
Answer: Your iPhone (assuming its relatively current) can perform SMS relaying, sending/receiving messages using the iMessage app, on other devices that are logged in to your account.  You should check your associated devices via the Apple web site to ensure there are no unknown devices listed and remove them if there are.
Assuming you are not using a jailbroken iPhone your apps should be safe, but to be sure you should review all the installed apps on your phone for any that were recently installed that you don't recognize.


Sous Vide Large Turkey Breasts

Question: All the turkey sous-vide recipes on the web presume 2 small/medium turkey breasts placed together for a 2.5 to 4 hour cooking time. But I have 2 very large breasts rolled together in a cylinder 6" in diameter. How should I adjust the cook time?
Comment: Do they have to remain rolled together in a cylinder?
Answer: First, I'll echo Catija's comment and say that there's no major advantage to cooking these breasts together.  I know Kenji does it here, but his purported claim toward greater evenness in cooking isn't really something you need to worry about with sous vide.  In fact, by creating a thicker piece of meat for your water bath, you're guaranteed to make the cooking less even, since it will take much longer for the interior of the meat to reach water bath temperatures.
So, my first recommendation would be to just cook the two breasts separately, making sure water circulates around both.  In that case, you probably don't need to modify your cooking times at all.

But let's assume that you really want to cook your 6-inch cylinder for some reason (perhaps to create a large "meat tube" for slicing if you tie it up well).  Okay.  Assuming your sous vide setup circulates water well, one advantage of sous vide (in addition to the precise temperature control) is the significantly greater heat transfer from water to food compared to, say, air in an oven.
In practice, that means that even rather large hunks of meat come to temperature a lot quicker than they would in an oven.  The main reason to increase time with a larger turkey breast would just be to allow for the center of a large cylinder of meat to rise to the water temperature.
The following recommendation assumes you're going to be using a water bath quite a bit above the "danger zone" border, say at least 140F/60C.**
I played around with a bit of heat transfer modeling here just for kicks, and I'm pretty sure your 6" diameter cylinder wouldn't take that much longer to come to temperature.  Allowing the center an extra 30-60 minutes might be reasonable, but that's still well within the parameters of your 2.5-4 hour recommended window.  I'd tend toward the longer side of that time span (closer to 4 hours), just to guarantee sufficient time with the center above the "danger zone" limit to kill off bacteria.  You obviously could go over 4 hours without compromising safety, but eventually the outer layers of the breast will start getting softer and more mushy (which might be a less desirable texture).
Lastly, for large hunks of meat cooked sous vide for relatively short times, I'd strongly recommend putting in a probe thermometer so you know what the core temperature is and when it gets above the "danger zone."  (See this Modernist Cuisine video.)  If you don't have a thermometer to leave in, I'd check the temperature with an instant-read thermometer after a couple hours to be sure you're at least getting above 130F/55C.

** Note: Precise sous vide temperatures are CRITICAL here for safety.  The closer the center of the cylinder gets to the water bath temperature, the slower its temperature rise becomes.  Getting the center up that last 5-10 degrees or so takes a lot longer.  I've seen some sous vide turkey breast recommendations with water bath temperatures as low as 132F/56C.  In that case, the center of a large cylinder may be skirting the "danger zone" boundary for much of the cook time and might not be safe even after 4 hours in a bath.  In that case, you might need to add more cooking time to guarantee safety.  Alternatively, you could raise the water bath temperature by a few degrees for the first hour or two, and then lower it to finish cooking.  Either way, if you're not sure your breast will spend a significant amount of time near 140F/60C or above, I'd definitely check the core temp mid-cooking and consult sous vide guides to make sure you have enough time above 130F to pasteurize.
Whatever you do, I'd recommend choosing a temperature designed to get the center of your cylinder above 130F/55C within two hours.  Sous vide turkey usually isn't heated to the much higher temperatures that people have traditionally used for oven-roasted turkey.  Those higher temperatures not only guarantee killing off bacteria (and a drier turkey) but also serve as an additional safety measure because higher temperatures will break down some toxins that might be created by some bacteria during a longer period in the "danger zone."  Spending more than a couple hours in the "danger zone" can create toxins in poultry that could still be present if the final temperature is still only 140F/60C or whatever.  This is something not mentioned in most sous vide guides, which tend to be focused only on Salmonella death curves, but it's a legitimate concern if you're cooking a very large hunk of meat in a water bath at low sous vide temps.

Sous Vide Large Turkey Breasts


Modifying an open source application

Question: What is the general workflow when I want to add a feature to an open source application I didn't originally write? How do I get to know the code? How do I find the spot that needs to be changed or added? How do I actually make the change without breaking anything else? How do I test that everything is still working?
What are the general guidelines on such a project?
Comment: You should also **submit your changes** to the project, typically as a patch, so that others can benefit.
Answer: There's some protocol, everybody more or less desumes it with time, but here it is, unrolled.

You download the distributed source.
You start navigating the code by yourself a little

If it's a compiled program, you learn now how to compile it.
If you fail compiling it, you report to the author / mailing list and ask directions

If you don't really understand a thing about the code...

Well, no, you don't ask them nigh.
You drop that, as you're probably not up to par and cannot be of any real help.
You submit a feature if the author(s) accepts feature requests.

Else

You find the spot you want to change.
If you wonder about some minor detail, you ask the author / mailing list , and explain your intentions.
You cd to the main directory of the distribution (the top one coming out of the untarring/unzipping)
You diff -ur . > mypatch.path
You send mypatch.patch to the author explaining what you did, why you did it, and (as you're already there) you state clearly that you waiver the rights on the patch to them.

if the author(s) doesn't like your contribution

you check if there's a way to release your modification as a plugin of some kind

in that case, now you're on your way to become a plugin mantainer.

else

you flame about the situation on your blog and release the patch there, free to download and try with your explanation and your rants,
you haunt now and then the bug system / mailing list trying to buy support for your patch. Avoid getting banned.

in none of these cases you fork the code, as it's a very tiring and unrewarding process you will hardly be able to keep up with time: that will leave users sad and confused. Forks shoud really only happen when a big corporation is trying to bully his decisions on a piece of OSS.

else

you receive further instructions from that author(s)

On the side: there is a recent alternative to the diff -ur . patch and is the github way.

You "fork" their code on github under your name,
(now you have a copy of their code on your account)
connect your git to that personal copy of yours,
make your modifications on that, check them in,
and tell the main author(s) to look at your github project.
If they like it, they will syncronize.
Otherwise, you can link your "gitfork" on your blog.
Comment: if there are automated test cases, run them before you submit the patch.
Comment: All good until you suggest the OP flames the product authors for not embracing the new feature patch, it's unclear if this was supposed to be funny or serious, either way, it's VERY bad form to effectively cry like a little kid to the whole world because a product team don't like/want your new feature patch.  By all means, post it up but always be magnanimous if it wasn't accepted, regardless of how illogical the decision seems to be. -1 - FYI, I'll happily reverse my vote, if you remove that.
Comment: The application I want to change is following a strict standard which with my changes will break the standard. I think I'm not even in position to ask my patch to be applied.
Comment: @Slomojo OSS is full of immature people, and that kind of thing happens all of the time, everybody should be prepared to work like a mule and then be rejected on basis that *sometimes are solid* and *sometimes are moot*. And then, at least, you always have the chance of ranting about it and find people that feel you maybe are right. Now, **forking out of spite**, that would be the **wrong** and very kiddish step to take.
Comment: @Dani lol, you'll really have to take the **share a patch and rant about it** way. Avoid forking as it will consume your life, it feels like refactoring continuosly without a paycheck. ...anyway, check with the mailing list and the bug report system if there's one, to see if anyone would be interested in such kind of extension, maybe you're not alone. Aaaand the best would be of they had some API to extend or a plugin-thing to plug your changes into. That is always the best option in such cases: **mantaining a plugin**. ...will edit that in.
Comment: @ZJR Seriously?! Suggesting that people rant and rave on their blogs because their patch wasn't accepted is hardly likely to improve the levels of maturity in the OSS community is it? Anyway, you get an upvote for pulling that rant incitement, and for adding the github way. :)
Answer: Typically.
If it was a random OS project, you would most likely fix minor bugs here and there.
Eventually you would submit a a bunch of changes, as a "patch".
Usually you would get commit rights if your stuff is good.
I'm talking generally and as vague and nonspecific as possible due to the question

Modifying an open source application


Skype IM Privacy Settings

Question: I have my skype privacy settings defined to only allow IMs from people in my contact list.  I also have this set for calls/video, etc.  And yet, almost every morning when I boot up I have a conversation request from somebody I do not know.  Shouldn't these settings block these requests?  Is there a way to actually only allow IMs from people in my contact list in skype that works?
Comment: same here, and the most strange thing that i still get strangers, spammers messages :(
Answer: All you should have to do is go to file>options>Privacy> Then choose the options you want

http://www.skype.com/security/safety/safety.html
http://forum.skype.com/index.php?showtopic=360781&start=100&p=1766761&#entry1766761

and
Skype does not (and never has) prevented new users from sending requests to exchange contact details -- a feature to prevent such unsolicited approaches has been suggested many times
the privacy settings DO NOT apply to such requests, they apply to calls and IM
yes, a request to exchange details can include a reltively short introductory message and, yes, to a large degree, these messages LOOK like normal IM (especially if you collapse the upper section of the conversation window), but they are not
if your privacy is set to accept IM only from people on your contact list, this new user cannot send you any more regular IM, they cannot call you, they cannot send you files, and they canoot see your profile details or your online status
if they send you another request to exchange details (assuming you haven't blocked them already) they can include more introductory message
yes, if they create a new Skype Name, they can bug you some more, but there is also a way to report such abuse to Skype
that's how it is and how it always has been
(source: http://forum.skype.com/index.php?s=584f1120c3106d873a348ce7b4a12748&showtopic=350191&mode=threaded)
Comment: Hmmm - What I really found interesting about this linked discussion is the sublink which is a situation I have also seen and is even more of a security issue where you accidentally end up adding them to the contact list.   http://forum.skype.com/index.php?showtopic=360781&start=100&p=1766761&#entry1766761.   Furthermore it seems to me that friend requests should appear differently in the UI than IMs from accepted users.  And there should be a way to block friend requests.  Aurgh!!!!
Comment: You seem to be saying that just because Skype has **always** been this way, it should stay this way. Skype has recently acquired a number of Windows Live Messenger users, who could depend upon privacy settings which meant what they said. If I say Allow calls from 'my contacts' it means I do NOT want to be bothered by total strangers trying to make my acquaintance. If long-time Skype users are happy with this behaviour, then we need another setting: **Allow no unsolicited contact**. I have been using Windows Live Messenger and its predecessor MSN Messenger for years, without having this problem
Answer: This is default behavior with Skype.  Unfortunately if they limit friend requests, they would render the tool unusable for some users.  This is annoying at times, however a some point your contact info will get purged from the spammers lists if you fail to respond.
Comment: The default is to allow calls from everyone. However, they provide settings that imply that you can limit all communications to people on your contact list, if you so choose. The behavior of the app itself seems to violate their own privacy settings.
Comment: So is it better to ignore or to block and report?  It still seems Skype should have an option that allows the user to have the option to completely block these requests.  When using it in a business environment, I am more than happy to only add users manually than through friend requests.  Make it an advanced option, but I think users would appreciate it.  I will have to look for a comments page on their web site.  Comically - submitting to their forum is currently temporarily shut down due to spammers!
Comment: I am not sure why this comment was downvoted.  It is probably accurate even if we do not like it. Voting it back up.

Skype IM Privacy Settings


how a microcontroller or microprocessor is called as 8 bit, 16 bit?

Question: In what basis a micro controller or a microprocessor is classified as 8bit and 16bit?
Comment: To some extent it has to do with marketing of the product.  They mostly focus on the size of the general purpose registers to determine 8/16/32/64.  It is not the size of an arbitrary thing like what they define a "word" to be, that would make all x86 processors 8 bit processors.  Nor is it the size of the instruction that would make all x86 processors 8 bit.  But at the end of the day it is marketing, there is no governing body that defines and enforces some rule.  They may want to classify as bigger to compete in that market or classify as lower to outperform in that market.
Comment: An 8 bit uC/uP which can handle 8 bit instruction
Comment: too late to edit, sorry a word in x86 is 16 bits so that would make them 16 bit if it was the arbitrary definition of the term "word".
Answer: On the basis of the word length. Most instructions will operate on word-sized chunks of data, the data bus is almost always one word wide and most registers have the width of one word.
8-bit microcontrollers have byte-sized (8-bit) words, so while e.g. computing the sum of two bytes is fast and easy with just a single instruction, summing two 16-bit values requires more thought from the programmer and will require multiple instructions.
16-bit microcontrollers have 16 bit words, so they effectively operate on two bytes at the same time. For example, summing 16-bit values will take just a single instruction on a 16-bit processor, yet you can still sum 8-bit values as usual if you want to.
32 bit and 64 bit words are also common in especially higher end processors, and some digital signal processors even have more unconventional word sizes.


How to export list items in same order in a list to excel 2010 (console application)?

Question: I require to export list items from a SharePoint list to Excel. The order of items in the Excel sheet should be the same as in the list.
Can somebody suggest console application code for this?
Comment: I guess the built in "Export to Excel" functionality in the Ribbon is not making you happy?
Comment: @RobertLindgren why did you add the sharepoint-enterprise tag? Can't this question be also relevant to SP foundation?
Comment: @MdMazzotti, I have not added the SharePoint Enterprise tag. The OP has targeted the question with SharePoint Enterprise
Comment: @RobertLindgren sorry I misinterpreted the "question edited" message.
Comment: Hello all, this is a requirement to do it using code in c#.not using the out of box functionality. If you know the answer you can tell
Answer: Here there's one way to do it.
The only thing missing is the OrderBy clause, as you stated you want to keep the same order (I guess you set a sort criterion on your AllItems view).
So you need to add this code snippet:
// Build a query with an orderby clause
SPQuery query = new SPQuery();
query.Query = "<OrderBy><FieldRef Name='YOUR_SORT_COLUMN' /></OrderBy>";
SPListItemCollection items = list.GetItems(query);

foreach (SPListItem item in items)
{
   //use the code showed in the linked page
}

Answer: You are actually looking for the order of columns in a particular view. Use SPView.ViewFields property to get the fields in a view. This will return fields in the order they appear in a given SPView.
Answer: Add ListItem to List using client object model
check out my solution, its pritty much the same using the for loop... the view would be default as is... when it loops throught it would get all list items within a list as its shown on sharepoint.
as for excel witin the app you need to import the interop reference!
full detail here:
http://www.dotnetperls.com/excel
with those two you should get your result!
Comment: No need to use the old Excel Interop these days. We luckily have the OpenXml SDK at disposal.
Comment: very interseting! didnt know about this!


Interpreting t-value as a measure of evidence

Question:
Came across an article on the web on "evaluation of training effectiveness". The author suggests that the "t-value" obtained from a "Paired t-test" conducted using pre-test and post test scores can be used to quantify the effectiveness of training.
The t-value was termed as the "Index of Learning" and the author claimed the following:
a. An "Index of learning" (t-value) between 0 to 1.5 indicates no evidence of learning.
b. A t-value between 1.5 to 2.0 indicates some evidence of learning.
c. A t-value between 2 to 3 indicates strong evidence of learning.
d. A t-value above 3 indicates very strong strong evidence of learning.
In my limited understanding of the subject, the t-value, critical t-value and p-value of a t-test would depend on the significance level and degrees of freedom of the associated data. I have thus not understood the rationale behind the generalization made by the author (Para 2 (a) to 2 (c) above). I would be extremely grateful for any explanations. Thanks.
Answer: The difficulty here appears to stem from terminology and convention.
First let's just define terms in terms of statistical theory. We observe a data $X_1 ... X_n$, each a random variable. We define a statistic as a function of that data, $S(X_1...X_n)$. As a function of random variables, the statistic is also a random variable. So far this constitutes the estimation part of statistics.
Certain statistic functions are better suited for detecting certain characteristics. In the case of the paired t-value, a statistic, it is designed to detect differences in the mean between 2 populations. But how do we know when $S$ is "abnormal", or "substantially different"? Here like most other things in like we go to some well-defined set of reference values, and compare our obtained statistic with the critical statistic. This part constitutes the inference part of statistics.
In this case, if we make the assumption that the data is independent, normally distributed, then we can go to the t-value table to look up the corresponding critical t-value. If the t-value is more extreme than the critical value then we can call it statistically significant, and vice versa.
This division between estimation and inference is the difference.
The paper you referred to appeared more interested in the estimation of differences in learning. It may be of interest to make the determination--the inference--of whether of not the learning was statistically significant. But that means you end up with a binary determination of "yes, significant" or "no, not significant". Letting the estimation--the t-values--be the measurement allows the user to quantitatively compare paired units.
The same thing is done for estimating, for example, bone density. The measured bone density (DEXA), a number, is converted into a t-value based on age- and ethnicity-controlled reference population. Wikipedia article. The t-value is then used to make the diagnosis of osteoporosis (t<-2.5) versus osteopenia (t between -2.5 and -1)
Comment: Dear Mr Ming, I am grateful for the trouble taken by you to post a detailed explanation. Am a little confused though. Checked up on some websites regarding Bone Density. The t-values specified in that context are in relation to standard, predefined bone density figures. Comparative t-values in terms of Std Deviations would thus make sense. In my opinion, it may not be proper to adopt a similar analogy in case of paired t-test used to evaluate pre/ post test scores simply because there are no standard/predefined figures to compare with. What do you think? Thanks anyway.
Comment: Got it. I'm of the opinion that the author is trying to quantify the *degree* of learning (hence the nomenclature of "Index of Learning"), and not so much the weight of evidence. But I may be wrong, in which case Dr. Chernick's answers will be more relevant. My argument is that whether 1-sample t, 1-sample z, 2-sample t, or whatever statistic one comes up with, it is a standardized score that may be helpful in quantifying size of effect versus strength of evidence (which appears to be the gist here). Hope this helps.
Answer: I don't think this is an issue of estimation versus inference.  I think the author of the article is being a little oversimplistic.  He is trying to put meaning to specific values of a t statistic as those it is a fixed measure rather than a random qusntity.  If the idea is to identify what is a high value versus an intermediate or low value then you should consider the distribtuion of the t when there is no true difference.  Then a large value would indicate that the difference is more likely real than a chance event.  This is like doing statistical inference.
So I think ignoring the sample size and the dependence of the t statistic on degrees of freedom is as you point out a flaw in the author's argument.
Comment: Dear Mr Michael,Thanks for your response. Would like to share some observations with you and seek your comments. Carried out the t-test using excel on a fictitious data of 30 paired pretest and post test scores(Variable1-mean 42.8,var4.4,Variable2-mean 44.63,var 10.5,Pearson Correlation 0.65, t Stat 4.074, P(one tail) 0.0002, t critical(one tail) 1.69. Going by the logic of the author, this would indicate a very strong evidence of learning even though the difference in pretest and posttest scores is actually restricted to just 3 to 4 marks in the (fictitious)group of 30 students! Thanks a ton.
Comment: The p-value refers to statistical significance and not practical significance. For statistical significance the magnitude of the difference does not have to be large, but rather the mean difference relative to the standard deviation of the mean difference.  What you have is clear statistical significance.
Comment: Dear Mr Michael, with reference to your last comment, do you think the author is justified in defining an "Index of Learning" based on the t-values and cite it as "Evidence of Learning"? Please note that the author does not even talk about the p-values.He has just spoken of the t-values while defining the"Index of Learning" and relating it to evidence of learning.  The data provided by me was generated using excel data analysis. The author's model suggests calculation of t-values only and brackets the same in various categories-(0 to 1.5,1.5 to 2,2 to 3 and greater than 3). Thanks a ton.
Comment: I don't think the categorization is justified and if it were it is not done properly.
Comment: Dear Mr Michael, Thanks for all the trouble taken - prompt responses to say the least.


Smart Folders: What is the difference between "This Mac" and "All My Files"?

Question: What is the difference between "This Mac" and "All My Files"?
Answer: All my files could contain files from mounted or networked drives.
Comment: And "Shared" then means *just* networked drives? So you can say "All My Files" = "This Mac" + "Shared" + mounted-dirs, where all sets on the right site are disjunct? Can you link to some documentation where it clearly says that?
Answer: "All My Files" will only find files that match the search criterion and not, for example, folders or emails even though they also match it.   'This Mac' finds everything that matches the search no matter what it is - file, folder or email. You can test this by creating a file and a folder of the same unique name and searching in "This Mac' and 'All My Files" - the 'All My Files" will not find the folder.


Does OpenSSL support EAP-TLS privacy

Question: Does OpenSSL support EAP-TLS privacy?
It's an optional feature part of rfc5216, section 2.1.4.
Answer: OpenSSL doesn't implement any EAP algorithms at all.  When you're connecting to Wi-Fi or using 802.1x for a wired network, then the supplicant that you're using may invoke OpenSSL to implement EAP-TLS, in which case it should work just fine.  For example, the supplicant most commonly used on Linux is wpa-supplicant, and it does just this.
On the server side, you can indeed support EAP-TLS with OpenSSL, such as by using FreeRADIUS, but again, the necessary glue for EAP isn't implemented by OpenSSL, but by the RADIUS server.
In both cases, you can also use EAP-TTLS, which is somewhat more common, with OpenSSL with both pieces of software.
To determine whether your system or software supports EAP-TLS, you'll need to determine which implementation you're using.

Does OpenSSL support EAP-TLS privacy


How To Make Database Access Read-Only per User in SQL Server 2005?

Question: What is the easiest way to make databases read only for specific users using windows authentication to connect to the DB?
Answer: Create a new database role that only has read permissions and assign said users to this role.
Comment: Beat me by a mouseclick on the Post button. :-)
Answer: Place the users in a AD group and grant the group dbreader in the DB
Answer: Use Active directory groups.  Create the group in AD (or on the server if you do not have a domain controller), then add the group in sql server and set it up with darareader permissions.  Then you only need to add/remove users from the group to grant/deny access.
Also, on the client machines, if using Vista or windows 7, use the credential store to configure your windows account that is always used when connecting to the database server.  Then if you don't have a domain controller they will automatically use their correct login.


Why does Green's theorem fail for this exact differential form $\int Mdx + Ndy$

Question: Why does Green's theorem fail for this exact differential form $\int {Mdx + Ndy} = 0$ since it's an exact differential and M and N both are not functions of z ( the case for which i want to ask the question). Green says this $$\int \int {\partial N/\partial X - \partial M/\partial Y}dA$$ which is equal to zero as this is an exact differential. If i do the line integral in some path  to some point to some point then it is equal to the change of function between the final and initial points which may not be zero.   So my question is, why does not Gauss' theorem become true for this?
Comment: The integral of an exact form is path-independent. What you wrote in the first line applies only to line integrals around *closed* paths.
Comment: First, your $ds$ needs to be $dA$ (ordinarily $ds$ stands for an arclength integral). But if the form is exact and it's continuously differentiable, that integrand is precisely $0$. I.e., $\partial N/\partial x - \partial M/\partial y = 0$ (assuming the functions are defined and continuously differentiable everywhere inside your curve). What's your issue?
Comment: @TedShifrin is it okay now?
Comment: @TedShifrin so when im moving from a point to another which is not a closed integral that also doesn't enclose a surface. So we can't apply gauss theorem here. Is it the answer?
Answer: A note on terminology: The theorem you refer to as Gauss's theorem is more commonly called Green's theorem. Gauss's theorem often refers to the divergence theorem (which is a generalazation of green's theorem, and thus both may be reffered to as Gauss's theorem).
Now, let us state Green's theorem (by wikipedia):

Let $C$ be a positively oriented, piecewise smooth, simple closed curve in a plane, and let $D$ be the region bounded by $C$. If $M$ and $N$ are functions of $(x, y)$ defined on an open region containing $D$ and have continuous partial derivatives there, then
  $$ \int_C M\,dx + N\, dy = \iint_D \left(\frac{\partial N}{\partial x} - \frac{\partial M}{\partial y}\right) \, dx\, dy $$
  where the path of integration along $C$ is anticlockwise.

Note that the theorem requires the curve to be closed. Thus, you may not apply the theorem for curves that have different end points.


Method on class [] was used outside of a Grails application. If running in the context of a test using the mocking API or bootstrap Grails Correctly

Question: PROBLEM
I know there is already a question in regards to this but I think that the issue that causes might be different based on what they are saying. I have the following setup:

grails version: 2.3.4
Hibernate plugin: runtime ":hibernate:220.127.116.11"
My Bootstrap is empty
My Controller and Service tests are commented

This grails application has multiple data sources (I am not sure if this fact has anything to do with it) and it occurs after a call against a Domain object from the second datasource which has been reversed engineered with the grails reverse engineer plugin (have done that on a separate project and then imported to my project.
This is the GORM call that causes the problem from both the Controller and the Service layers
<code>def campusAttributes = CampusAttribute.findAllByNameLike("%Next Option%")
</code>
I have found some other complains about this and it seems to be an issue with Maven and the grails hibernate plugin version but in that scenario the issue was very particular to grails 2.3.1 and a specific hibernate plugin version.
All I did was a grails run-app (did not build the app with maven neither have any mocking)
Thanks in advance
Answer: I had the same problem upgrading a grails project from 2.2.4 to 2.3.6. I've upgraded the hibernate plugin from 3.6.10 to 184.108.40.206 and the error was gone.
Comment: I'm facing the problem with 18.104.22.168 hibernate version. My grails version is 2.3.8
Comment: This error will also pop if you use a reserved word in mysql. https://dev.mysql.com/doc/refman/5.5/en/keywords.html
Answer: I add the same error after upgrading from grails 2.3.0 to 2.3.5.
What solved it in my case was to modify plugin dependencies in BuildConfig.groovy, for hibernate and tomcat to set to required level for 2.3.5 :
* new tomcat : build ':tomcat:7.0.50' (old :build ":tomcat:7.0.42).
* new Hibernate : runtime ':hibernate:126.96.36.199' (old : runtime ":hibernate:188.8.131.52").
Answer: I have the same problem when I had moved a Domain class's package For example it was originally
com.a.DomainClass
but I moved it to
com.b.DomainClass
And I had not cleaned the project


Insert Widget Catalog Product Link in Better Blog not showing on front end

Question: We are using the Better Blog extension inside of Magento to create multiple posts for marketing. It uses the same Page Editor as Element->Pages on the Magento Admin Panel. In the editor you can add the widget, modify the widget as normal, but it doesn't show on the front end. I've tried clearing cache for front end and backend but nothing works.
Note: the Catalog Product Link widget does show on the front end if you create it in a Element->Page page, but if you create the exact same widget in the Better Blog extension it doesn't work.
I thought it might be the extension not linked to the root category where the products are but it is setup correctly. Any thoughts?
Below is what is showing in the editor. disabled.
Answer: I don't know the specific module, but it seems the output didn't pass the class
\Magento\Cms\Model\Template\FilterProvider. It's used to render widgets & variables with the curly braces.
Here's a similar question with a lengthy explainer: How to render widgets in product and category description in Magento 2?
HTH, Tom
Comment: Thank you Tom for your time looking into this! It ended up being a default price issue as I described in my answer.
Answer: I ended up figuring it out from troubleshooting with other items. It is unfortunately an oversight by me. On each item in the Catalog->Products section there is a 'price' section. If this is empty, the widgets won't work. Magento allows you to default that value to empty if you want when you are mass uploading items.
On any of the pages or posts where you can use widgets, if you are using a product specific widget, the price has to be filled out even if it is set to $0.00. The page and editor won't throw any errors nor does the dev tool show any errors when you are adding the widget or on the page after you save.


Color.GetSaturation() not working?

Question: I use HSL (HSL = HSB as Heu saturation brightness) color filters.
To convert a color to HSL i do :
<code>Color myColor = Color.FromArgb(pixel[blue], pixel[green], pixel[red]);
int HSLhue = (int)myColor.GetHue();  // note normally its a float but i need an int
float HSLsat = myColor.GetSaturation() * 100;
float HSLlight = myColor.GetBrightness()*100; //mycolorGetBrightness allready is a float.
</code>
The problem i have with this code is that HSLheu works OK, and HSLlight works OK too, however when i use a color with some gray in it HSLsat doesnt reflect the proper value.
From what i have read about it should be 0 for gray and 1 for pure color.
So in my case this is from 0 to 100, but if i check on it to see if saturation falls within a certain range this doesnt work.
Comment: So... what value do you get instead of 0?  What are the RGB values?
Answer: Oh well it did work afterall, one of those { } typing errors in the filter that used it, i was looking in code to much i starting to sense the matrix in here.

Color.GetSaturation() not working?


Is it bad for a CPU to be running at a high speed for extended periods of time?

Question: I have an Intel Core i7-4770S (3.10 GHz) that can go up to 3.9 GHz in turbo mode. Windows Task Manager can report it going up to about 3.5 GHz when playing certain games and probably goes higher every once in a while in times where something's happening that I can't tab out of (that is, tab out of without crashing the game, i.e loading screens). Is it bad for a processor to be at that high a speed for extended periods of time or is it % utilization that matters most? Everything still works fine, and temperatures are good (about 45C CPU temperature from what I've seen). I just wouldn't want to add a significant amount of wear and tear to my computer.
Comment: Not if you change the oil on schedule.
Comment: @DanielRHicks Oh yeah, I always remember to brush my computer's teeth every day and give it a balanced diet.
Answer: No, it's not. Intel Turbo Boost is made so that power, current and temperature targets are not exceeded.
A little more info is available here. Be aware that some of it may be geared towards marketing rather than pure facts.
Answer: If the temperature is correct and keep on that value it's most likely not a caused by to high temperture. Also the temperatur is fine for the CPU.


jquery events defined in tag attributes (framework/library)

Question: I'm looking for Javascript library that implements automatic events binding through tag attribute. There is ixEdit project (discontinued since 2009).
Like ixEdit every event has three parts - event, action and optionaly condition.
<code> Event     : selector, name
 Action    : selector, function, params
 Condition : selector, function, params
</code>
Some tags will have attribute events="" and jquery process and bind all defined events.
Every action has function to handle, and optionaly can generate another event.
I make an example on jsFidle, to show what i mean http://jsfiddle.net/8dQwZ/
Is there any javascript library implementing similar functionality? Well, ixEdit stands on outdated google gears. Before i start development new library, i'd like use existing.
But rather than configuration via dialog (in ixEdit) i'm looking for development library, generating json server side, before rendering widget. No prepared actions like in ixEdit.
Answer: I start development javascript library named jQents. Source code is available on github
http://github.com/opio/jqents
Any comments on architecture will be helpfull


Which wifi channels does the Wii support?

Question: The Nintendo support site recommends using channels 1 or 11, which are too crowded in my area. I can't find any documentation on which channels the Wii actually supports.
Edit: Screenshot:
Comment: **Edit:** I'm in Brazil and the Wii was bought in the US.
Comment: Then your wii only supports 1-11 if you set your router to 12 and 13 if it supports it your wii won't be able to connect.
Comment: In your situation I would use 4-6 as its has the least amount of interference based on the graph you posted.
Comment: actually, according to the graph, 3 and 4 are unused
Comment: @horatio Yes but 3 is going to overlap into 2 and 4. Which is why I recommend 4-6 because the signal coming in for them are really weak.
Answer: It would depend on your country more then likely, for example the US has 1-11. While the rest of the world usually has 13, and Japan having 14.
Wikipedia has a nice article about the 2.4 GHz channel (which is what the Wii uses as it is 802.11 b/g) and what your country probably supports.
If you are in the US, The Wii would support 1 to 11. This is controlled by your router settings. What channel your router is set to broadcast at is what channel the Wii is going to connect at and send data through.
Since this is controlled by the FCC on what frequency the wireless devices can use. If it is being sold in the US it is required only to support channels 1-11 on the 2.4 GHz level.
More information can be found looking at this ISM band article. This is the reason why cordless phones/bluetooth/wireless routers all operate at the usual ISM band because they are unlicensed and free to be used by anyone, meaning you can't complain to the FCC if you get signal interference using these frequencies.
My recommendation if you have an Android phone would be to install this application Wifi Analyzer, this will allow you to scan your area and pick the best channel with the least amount of interference. Note that for example channel 11 overlaps channel 9 and 10. This will allow you to pick the best for your area. As you would get a graph looking something like this.

Sadly if looks like Apple has removed all apps that would accomplish this same thing on the iPhone from this article. There are probably jailbroken apps that can accomplish this, but I am unfamiliar with what is available..
Comment: Thank you, I started researching about this because I'm currently using ch. 11 and  my home wifi has been very flaky lately.Using Wifi Analyzer I see that channels 1, 6 and 11 are crowded.


If a person plays game of sex, is it same as adultery?

Question: Is playing game with sex same as commiting adultery, there was a game I used to play which had anal sex and I used to play it, so am I accountable for that sin even though I am sure I will try my best not to do that in real life, and another question is anak sex kufr?
Comment: Salam and welcome to IslamSE the Q&A site about Islam. To learn more about our site and model consider taking the [tour] and checking our [help]. You've asked multiple questions in one post each of them already are covered on the site please stick to one question per post.
Answer: Yes. It is adultery. But adultery has different levels. Just like there are major and minor sins.

Abu Huraira reported Allah's Messenger (ﷺ) as saying. The adultery
of the eye is the lustful look and the adultery of the ears is
listening to voluptuous (song or talk) and the adultery of the
tongue is licentious speech and the adultery of the hand is the
lustful grip (embrace) and the adultery of the feet is to walk (to
the place) where he intends to commit adultery and the heart yearns
and desires which he may or may not put into effect.
Sahih Muslim 2658

Here is another evidence. Clear command ordering muslims to not look at forbidden things.

"Tell the believing men to lower their gaze (from looking at forbidden
things)." (24:30)

Answering your last part of the question: This is not from the actions of Kufr. Major sins do not take anyone outside the fold of Islam unless he/she commits shirk.


Why are the settings so limited on the document libraries of my public SharePoint site?

Question: I can't open the libraries with explorer or synchronize them which is really inconvenient. Does anyone know why the document libraries on my public site behave differently to those on my private site collections?
Comment: Probably because the public site has the lock down features enabled that prevent that.
Answer: What version of SharePoint are you referring to? I assume in your "Public" site publishing feature turned on? Have you checked whether you have similar permission on both libraries.
Do you get any error message when you try to "open with Explorer" - if so can you include a screenshot here?
Thanks!


10,000+ valid email addresses for Sitecore EXM testing

Question: We have to do stress testing in Sitecore EXM, like running a campaign with 10,000 or more recipients. Any suggestion that how to arrange such big number of valid email addresses for this testing? Does EXM has any limitation in number of recipients??
Comment: Interesting that you would "stress test" the vendors service for sending the emails. Perhaps the bottleneck is more likely your email server? Would it be appropriate for you to do small batches to confirm that your campaigns run and allow Sitecore Support to handle issues if 10k emails are too much.
Answer: To specifically answer your questions:

How can we have 10,000+ valid emails to test?  For this you simply need to have a valid Gmail Email address and then by appending a plus ("+") sign and any combination of words or numbers to the end of your username (but before the "@") you can create infinite variations of your Gmail address. For example, if your valid email address is email@example.com, then firstname.lastname@example.com or email@example.com will direct emails to your main address.
https://gmail.googleblog.com/2008/03/2-hidden-ways-to-get-more-from-your.html

Does EXM has any limitation on the number of recipients? There is no limit on sending overall emails in EXM from the Sitecore side. It all depends on the SMTP Server configuration and limits. You can define sending limit in EXM to control the number of email messages that can be sent to a single contact on any given day, week, or month.
https://doc.sitecore.com/en/developers/exm/91/email-experience-manager/define-sending-limits-in-the-content-editor.html
Answer: 10k contacts are not so many recipiets for EXM.
We made tests with 50k and it works fine, it really depends on SMTP server which is used to send email.
First of all you need to generate a csv file with more than 10k users and to import into a contact list in List Manager.
The format of the csv file should be :
FirstName,LastName,EmailAddress
userfirstname1,userlastname1,email@example.com
userfirstname2,userlastname2,firstname.lastname@example.com
.....
.....
userfirstname10000,userlastname10000,email@example.com

You need to import csv into a contacts list using List Mananger:

After you create contact list you can send email and to test.
More information you can find on Pete Navarra blog: https://sitecorehacker.com/2016/09/03/loading-xdb-contacts-with-csv-and-custom-fields/
Comment: Yep its' pretty straight forward in Sitecore to create contact list with csv. My question is about the recipients, like I can use my email address to test with 1 recipient but how can we have 10,000+ valid emails to test this. I have updated my question and explained more.
Comment: Vlad, you're welcome. Do me a favor and at least cite the blog post that you are referring to. The numbers in the pictures don't mean a whole lot by themselves.


Is it appropriate to leave comments just saying "I vote to reopen"?

Question: Are comments of the following form appropriate here?

I vote to reopen[, because of reasons mentioned by user].

If not, how should we handle them?
Answer: I would say that these comments are sometimes useful as rebuttals to the corresponding close comments. For example, I think there isn't much debate that this is a constructive comment:

I vote to close this question because it is about a definition of a word in English, not a question of philosophy.

It seems then that this is only a fair response:

This question is actually about a particular aspect of a technical use of the word specific in the work mentioned, not English usage in general.

As Keelan points out, this is not necessary to raise attention to it (it's already in the review queue), but it does provide a justification for why others should reopen/not-close. We want to obviously avoid back and forth (that's what the chat rooms are for!), but providing a justification for a vote without getting into a debate seems useful.
Answer: I will provide an answer to my own question according to my point of view, so that we can vote on it.
I suggest we flag these comments as not constructive and have them removed. I also suggest all users to not post them.
These comments are noise; they clutter up the view. I can see the use of comments of the form

I vote to reopen, because of interesting non-trivial reason.

But comments that don't say anything else than that someone votes for reopening are pointless.
Once a closed question is edited or someone flags/votes for reopening the question, it ends up in the Reopen review queue. Therefore, these comments are not needed to draw attention to the question.
From the help center:

When should I comment?
You should submit a comment if you want to:

Request clarification from the author;
Leave constructive criticism that guides the author in improving the post;
Add relevant but minor or transient information to a post (e.g. a link to a related question, or an alert to the author that the question has been updated).

These comments are none of these. In addition to that:

When shouldn't I comment?

Discussion of community behavior or site policies; please use meta instead.

So, if you feel like a good question was closed and isn't reopened despite having been in the reopen queue for a reasonable time, ask a question about it on meta.
Answer: Because philosophy StackExchange has a philosophical demand I consider argumentation a suitable, even necessary means when an action does not explain itself without comment. The argumentation may help the moderator or other users to take into account possible reasons for closing, reopening etc. The simplest way to state these reasons is commenting the vote.
Added. To sum up: 1) When the action explains itself, then I advocate no comment. 2) If the cause for the action may not be obvious, then I advocate a comment with argumentation.
Comment: This question is about comments that do not provide any argumentation, so this is not really relevant. I agree, though, which I already mentioned in my answer.
Comment: No, it doesn't. You either use the part in square brackets completely, or you don't.
Comment: I'm not quite seeing how this addresses detail-less "I vote to reopen" comments. Can you amend it?
Comment: Your question considers comments of the form *I vote to reopen[, because of reasons mentioned by user].* Hence it also considers comments with argumentation starting with *because*.
Comment: Since your edit, how is this different from my answer? In any case, I'm glad we can agree on this then. We'll see how this works out in practice.