Can you sell the artifacts after you unlock the hats?

Question: Can you sell the artifacts after you unlock the hats on Temple Run 2 and still keep the hat?
Comment: Purely anecdotal, but I sold everything after getting the Santa hats and I still have them.
Answer: Yes, you can.  I don't think about it as "selling" the artifacts but rather having there be an additional reward for finding the artifacts.  Originally, there weren't any rewards associated to artifacts but at a relatively recent update they added the additional reward (100-2500 coins, or one or two gems) to artifacts.  I've collected the rewards for the ring, mask, critter, floral, relic, Christmas, Valentine, St. Patrick and Easter rewards and all of those hats are still available.
In other words: once you've earned a hat, it doesn't go away.


Sein versus werden

Question:
Feen können nur von Kindern gesehen werden.

Why is werden used here instead of sein as in

Feen können nur von Kindern gesehen sein.
Comment: Why do you think it has to be "sein"? That English uses "to be" for the passive is not sufficient.
Answer: German has two passive voices. The standard one –Vorgangspassiv– is built with the werden auxiliary:

Nur Kinder können Feen sehen. (Aktiv)

Children can see fairies.

Feen können nur von Kindern gesehen werden. (Vorgangspassiv)

Fairies can only be seen by children.

German has another passive voice –Zustandspassiv– which is applicable to a large number of verbs that describe the result of an action. Sehen is not one of those verbs however, as it has no result, at least to German logic.
But fangen for example has.

Die Kinder fangen die Fee. (Aktiv)

The children catch the fairy.

Die Fee wurde von den Kindern gefangen. (Vorgangspassiv)

The fairy has been caught by the children.

Die Fee ist gefangen. (Zustandspassiv)

The fairy is caught.
As you can see, the use of the Zustandspassiv is straightforward to English speakers.
Answer: Because when you use können (in the sense of be able to), you always use the Vorgangspassiv. (Janka's answer nicely discusses the two Passivs in German.)
Thus, if you want to say "Fairies can be caught", you translate that as:

Feen können gefangen werden

Not as

Feen können gefangen sein

This isn't because of the verb fangen, which, as Janka's answer shows, is perfectly compatible with the Zustandspassiv, but because können in the sense of to be able only combines with the Vorgangspassiv.
This also means that whenever you see können with the Zustandspassiv, it has to mean something different. For example,

Die Fenster können geschlossen sein

doesn't mean that the windows are closable (it's not "Windows are able to be in the state of being closed"). It means that it's possible that right now, the windows are closed.
Answer: Because the infinitive is "von etwas/jemandem gesehen werden". The English equivalent would be "can be seen by someone/something" however, this is just another difference between these two languages.

Sein versus werden


Installing of Adobe Air file fails with "file damaged"

Question: Adobe Air brings following exception:

The application could not be installed because the AIR file is
  damaged. Try obtaining a new AIR file from the application author.

Please add the different reasons which may lead to this error.
Answer: We had the same error as this guy:
The file ~/.airappinstall contains the following error:

failed while unpackaging: [ErrorEvent type="error" bubbles=false
  cancelable=false eventPhase=2 text="invalid package signature"
  errorID=5022]

The actual reason was not a damaged file or something like this, but our machine had a date from the past, which was not valid for the given certificate. After correcting the date/time on the computer, the installation worked just fine.
Answer: Even I faced the same error=5022, after thinking a lot on this issue, I finally got the
solution for this problem. It is simple, before installing the air app set the correct Date & Time for the system, WALLA it installs smoothly.
No need of changing the png name or anything else.
Answer: I faced this problem yesterday because my antivirus (avast pro/silent mode) was blocking access to file until finishing scanning, looks like installer don't like to wait, so when I switched off silent mode I made antivirus ignore scanning the file and installation completed successfully.
Answer: I have a virtual drive mapped to S: so that paths are the same between my home computer and work computer. I was trying to install the AIR app from an S: path. I guess it did it like it. Moving app to my desktop and launching there, worked.
Answer: Make sure you are signing the Application distributable and distributing the certificate along with the .air file.
I ran into same problems and solved it this way.
Answer: I had this issue when using Flash Builder 4, but building a Flex 3 application.
Basically, the installed AIR SDK in the Flex 3 SDK folder was AIR 1.5.3 (if I remember correctly), but the Flex 4 SDK folder had the AIR 2.0 SDK files (I'm not completely what the problem was).
My solution was to download the AIR 2.0 SDK, and unzip it over the Flex 3 SDK folder. Once I did that, the installation file worked fine. There is actually an article on Adobe about overwriting the AIR SDK files this way, although it didn't mention anything about installations or Flash Builder 4.
Answer: Mine was failing because I had another app on my system with the same name. Not a version of the app, a completely different app--native, not AIR.
Once I removed that app it worked fine.
Answer: For odd installation errors, keep in mind that Chrome uses a version of Flash that does not support AIR badge installation.
Answer: I encountered this error when trying to install an AIR file from an external / network drive. Copied the file locally, and installation proceeded normally.


Picker view as subview

Question: i m currently working on an application and i m stuck up with the pickerview.
i have a button n my view n when i click on that button i want a pickerview to appear as a sub view but i m unable to do this.
i also want to select a value from the picker view and store it somewhere to use it for further actions.
anyone please help..........
Answer: Create UipickerView programatically and add it as a subview with required height using
cgrectmake and delegate to self  than you can select values from picker .
Afte that hide or remove subview when required.Define it as IBOUTLET for any further
referance

Picker view as subview


Is the electric field that goes through a wire, generated by a battery, uniform?

Question: If I, for example, connect a wire across the ends of a battery (short out the circuit) would the electric field going through this wire be uniform all the way through?
Answer: Yes.
There isn't much of an electric field within a wire, but wires do have a small amount of resistance, so you can think of the wire as a bunch of equal-length short sections, each section of which has the same (very small) resistance. The current through all the sections is the same, so the voltage across each section is the same, and dividing that by the section length gives that the magnitude of the electric field is the same through each section. (Obviously the direction of the electric field will change from place to place if the wire is curved.)
Answer: As measured along the length of the wire, yes. If there's 1A at one end, it will be the same at the other, and at any (macroscopic) point along the way.
As measured along the cross-section of the wire, maybe.
In the case of DC like a battery, I believe it will be fairly uniform, but I can't say I've really looked.
For AC, however, it is decidedly non-uniform. Every time the current reverses direction, 50 or 60 times a second in most cases, there's a time delay that causes eddy currents to form. The action of these currents creates a magnetic field that presses the current out to the surface of the wire.
This is known as the skin effect, and it has real practical outcomes. For instance, most high-voltage wires consist of an inner section of steel cable and then an outer layer of aluminum. The skin effect ensures the current stays inside the highly conductive aluminum, which is rather handy (and cheaper).


ros2 humble with arduino uno

Question: I am trying to do serial communication with arduino uno with ros2 humble, i have tried something with micro-ros and it didn't work. There are no clear instructions on how to do it. I just want to push some data to arduino uno and when uno receives it send a signal to ros2 saying that it received data. How can i do it?
Answer: You can use the serial communication without micro-ros, see this video by Articulated Robotics. This is another example how to setup a communication pipeline outside of ROS.
For using micro ROS, you maybe only need a topic-based hardware component instead of a custom one, see: Combining topic based ROS2 control, and DiffBot demo

ros2 humble with arduino uno


Using android phone to debug

Question: I have been experimenting with android apps using the android sdk with eclipse. So far i have only used the emulator, but i was planning on getting an android phone in the next week. my question is simple, will any android phone be able to plug into eclipse and help me test my application or are there only certain phones that are capable of this? Thanks
Answer: Yes Infact debugging using device will be more better..
You can see the log events directly over Log Cat coming from device when connected to your computer via USB (Make Sure USB Driver of Your device is on Your Computer).
You Can Run Debugger As Well and can easily walk through the break Points that you will set in the code. Add debugging enabled true in Manifest File.
You can see the log cat event coming from your application without your computer as well. Download log cat application from Android Market. Install Your application and test your logs and all while testing in field.
In short Device Debugging is more preferred as ultimately application is to be deployed over it only. Simulator will never give such efficient results. And When Application involve hardware interaction like of GPS, Camera. We are left with no option.
Hope this help :)
Answer: You should be able to do this with any android phone.
Comment: thank you, i just wanted to make sure before i forked over the money to get one.
Answer: Yes. According to the Android Compatibility Document any Android devices must work with the Android Development Tools or they won't be certified.

Using android phone to debug


Maximum of convex functions

Question: how can i proof that:
If $f_1, . . . , f_m$ are convex functions,than function $F(x) = \max(f_1(x), \dots , f_m(x))$ is convex?
thanx for help.
Answer: Hint
Just prove that $$tF(x) + (1-t)F(y)\ge f_i(tx + (1-t)y)$$ for every $i \in \{1, \dots, m\}$ and $t \in [0, 1]$ by using the convexity of every $f_i$ and the definition of $F$ and then conclude.
Answer: Here is another way:
Let $\operatorname{epi} f = \{ (\alpha, x) | \alpha \ge f(x) \}$. Then $f$ is convex iff $\operatorname{epi} f$ is convex.
Note that $\operatorname{epi} F = \cap_k \operatorname{epi} f_k $, and since the intersection of convex sets is convex, it follows that $F$ is convex.
(The same technique shows that $f = \sup_\alpha f_\alpha$ is convex as well.)
This is from Rockafellar, an excellent text.

Maximum of convex functions


change in p-value (significance) of the interaction term in moderated regression after using WLS instead of OLS

Question: I am running a moderated regression, N = 1515. I have one outcome variables, one moderator, one predictor and 5 controls.  I am using SPSS for my analysis. I first performed linear regression to check for assumption violations. For this, I centered my predictor and outcome as they form the interaction term in my model. Then I checked for the usual assumptions of linear regression. My data is not normally distributed but given the large N, I ignored this violation. Mainly, my data also violated homoscedasticity assumption so I decided to run weighted least square regression WLS instead of OLS. For this, I took the absolute value of my residuals after running the OLS, used the absolute residuals and regressed them on all the variables in my model (centered predictors, interaction, controls) and them used the predicted values, used 1/(pred^2) to create the weights and then ran the WLS model. When I ran the OLS, my interaction term was not significant but in WLS it was significant. First, I want to know if this can happen or did I do something wrong? second, how do I now do the simple slope analysis on the WLS model ?
Answer: The ordinary least squares (OLS) and weighted least squares (WLS) models are different, so you shouldn't be surprised that they can give different results. The standard error of a regression coefficient (like that for your interaction/moderation term) is related to the residual error variance, so if you have an inappropriate estimate of that variance (as in OLS when there is heteroscedasticity) then the standard errors of regression coefficients will be correspondingly inappropriate.
That's the point of WLS: to account for the "known" (at least, approximately) sources of variance so that you get a better estimate of (ideally homoscedastic) residual variance. Then you also get better estimates of the standard errors of regression coefficients.
It looks like your method of estimating weights is consistent with recommendations like those on this Penn State web page, modeling standard deviations as a function of predictors (which places less weight on outliers than does modeling variance directly) and then using the inverse squares of the modeled standard deviations as observation weights. There doesn't seem to be anything obviously wrong in what you did. There's always some question when you have a multi-step analysis that uses the outcomes in an early step to adjust the analysis in a later step, but that's common practice in this situation. Just present what you did clearly.
You must consider, however, whether the "statistical significance" you found for the moderation is matched by practical significance. With such a large data set you run a risk that even a minute, inconsequential moderation effect will be found to be "statistically significant." In general, it's not a good idea to place too much importance on the typical arbitrary p < 0.05 cutoff for "significance." Apply your understanding of the subject matter to decide whether the moderation is important, not just "significant."
The "simple slopes" analysis should proceed as it normally would, except that you base the necessary predictions and standard errors on the WLS model instead of the original OLS model. Any questions about that specific to SPSS would be off-topic on this site, however.
Comment: thank you for your response. that's helpful.
i just have a followup question, in one of the models, during WLS my residual standard error of the regression model is more than the OLS model. Does this indicate that OLS is a better fitting model?
Comment: @Tg51 quite possibly the opposite. In OLS with all points weighted equally, an outlying point can lead to a model that fits that point better than a "true" model would. If you specified a high expected variance for that point it would be underweighted in WLS. The WLS fit might then deviate far from that point and lead to a large contribution to residual standard error. What's important is the pattern of _studentized_ residuals that take the weights into account; see [this page](https://online.stat.psu.edu/stat501/lesson/13/13.1/13.1.1).


Two observers moving opposite to each other will see each other moving at speeds greater than light?

Question: I read this question at another forum but the thread was already closed. Here's the description: Two observers A and B are both moving at a velocity of 0.9 times the speed of light with respect to a stationary object. So, won't A see B moving at a speed greater than light?
Comment: Stuff moving at such great speeds don't follow normal everyday physics. Look up "Theory of Relativity". :)
Comment: I know that. I asked this question after reading some part of SR.
Answer: No, A will not see B moving faster than the speed of light due to time dilation.  What you are doing is a "Galilean Transformation" which is really just an approximation for objects moving with a velocity much less than the speed of light.  The proper equation for velocity transformations in special relativity is:
$$ u'= \frac{u+v}{1+\frac{uv}{c^2}} $$
Where u is B's speed with respect to the stationary observer and v is the speed of A's reference frame which is moving with respect to the stationary observer.  A is stationary within its own frame.  Plugging in we see that A sees B moving away at $.9945c$ indeed less than the speed of light.  Full derivations are available everywhere online like the one mentioned above. Hope this helps.
Comment: And what about the formula where time difference between two seconds of stationary observer will be 1/sqrt(1-v^2/c^2) for A where v is the velocity of A?
Comment: I think that you are referring to differences in observed elapsed time.  For the "stationary" observer we define proper time $\Delta\tau$ and we define the moving observer's time as $\Delta t$.  Then the equation for time dilation is $\Delta t = \gamma \Delta\tau$ where $\gamma$ is the equation you mentioned in the last comment. All of this information can be found by simply searching time dilation on Wikipedia or Google.  http://en.wikipedia.org/wiki/Time_dilation
Comment: Yes, exactly. I understood what you wrote about addition of velocities but can you please also explain what happens when we take into account the equations you just mentioned?
Comment: We have the velocity of B relative to A. So calling proper time the time that elapses in A's reference frame you can plug in the velocity of B relative to A into the time dilation equation and see how time is dilated in B.  Fundamentally we say that $c$ is the same in all reference frames. For this to happen time will have to change.
Comment: That's what i did. I replaced v with 0.9c in 1/sqrt(1-v^2/c^2). I got 0.22. So that means that 1s for a stationary object will be 0.22s for A. Right?
Answer: No, you are imagining the Newtonian addition of velocities.  For parallel velocities, the sum is $\frac {0.9+0.9}{1+0.9\cdot 0.9} \approx 0.9945 \lt 1$
Comment: No @Yashbhatt, he'll feel B has moved $\approx 0.9945c$
Comment: If observer A is moving at 0.9c then time will be slower for him. According to special relativity 1s for A will be about 5s for a stationary observer. So, in A's 1s b would have moved 0.9*5 = 4.5c. So, won't A see him as travelling 4.5c distance in 1s?
Comment: While it is true that the lab sees A's clock running slower, it is not true that A's clock runs slow in an absolute sense.  You are trying to use the lab measurement of B's speed with the lab view of A's clock to compute what A will see. You need to do a proper Lorentz transformation, which (of course) yields a speed less than $c$
Comment: But suppose A has an atomic clock at his disposal and measures the distance traveled by B between t = 1 and t = 0 according to his atomic clock, then won't he feel that B has moved 4.5c and so is travelling at 4.5c?
Comment: I understood what everyone said about addition of velocities but I am unable to understand it from the point of view of time dilation. Can you explain it?
Comment: @Yashbhatt - time dilation alone is not sufficient to derive it, you also need to take into account relativity of simultaneity and length contraction. It's easier to just use the Lorentz transformation, which automatically takes all three effects into account.


How easy is it to change my debit card signature?

Question: Would I have to change it through the government first? And through every other service that requires my signature? Would it cost significant amounts of money?
Comment: Ask your bank (or whoever issued your debit card).
Comment: My signature changes every couple of years - I've never been challenged on it.
Answer: This discussion over at Google Answers suggests that the only time it matters is if your signature is challenged -- that is, someone has reason to doubt it's you authorizing your signature.  (Assuming US here.)
But if you wanted to get another debit card and sign it differently, and start signing things that way from then on, you might never get challenged about it.
Answer: There is no central government signature database.  (at least not in the US, and at least not yet)
For debit and credit card transactions, the merchant may check the signature on your reciept against the signature on back of the card.  This is intended to verify that you didn't steal the card.
So, if you want to change the signature on the back of the card, all you need to do is get a new card and re-sign it.  Your card has an expiration date.  When that happens, you will get a new card to re-sign.  If your card expires soon, you can just wait.
If you are impatient, you can call your bank and ask for a new card.  If they give you a lot of grief about issuing a new card (it is an unusual request), you can tell them you lost your card and need a new one.  In that case they will typically disable the old card and issue a new one with a new account number.
Note that if you want to change how you sign your name, there are some other places you should also update:

All of your other debit and credit cards
Your bank should have a "signature card" on file, which they use periodically to check the signature of your checks and endorsed deposits.  You should have filled out a signature card when you opened your account.  I believe most banks will let you fill out a new signature card, although you will probably have to show multiple forms of ID.  (Had to do this after my wife changed her name when we got married.)  Worst case, you can close your account and move to a new bank.
The signature on your driver's license.  When signing a legal document, someone may ask to see your driver's license to check it against the document.  If you start signing your name differently, this may be an issue.  So, you may need a new driver's license issued.  Call your local DMV.

Also, keep in mind that people's signatures naturally drift over time.  This fact is generally understood and accepted by people who check signatures.


Hardware to install 64-bit OS

Question: If I search on Internet for minimum requirements to install a 64-bit operating system, Microsoft and allied forums recommend 4 GB RAM as the minimum criteria. On the other hand, when I look at Linux communities and say I have Dual Core Processor and 2 GB of RAM they say it's a 64-bit processor and you can go for 64-bit OS for efficiency. Now my question is what matters to install a 64-bit OS? Just RAM or anything more?
Answer: Whether 64-bit is good or bad for performance depends a lot on the application. Generally speaking:

Numerical computations (integer or floating point) are faster in 64 bits, and take about the same amount of memory.
Symbolic computations (manipulating structured data) are slower and can take twice as much memory in 64 bits.
Text manipulation is roughly the same (a little slower and more memory-hungry in 64-bits).

However these are only very rough guidelines, there are a lot of exceptions.
Windows guidelines tend to steer people away from a 64-bit operating system because there are more incompatible applications. Linux was ready for amd64 earlier; the few remaining incompatible applications are mostly closed-source and run fine as 32-bit executables on a 64-bit kernel with the appropriate 32-bit libraries.
On Linux, here are some guidelines:

If you have specific applications that require or would benefit from 64 bits, you need a 64-bit kernel. Note that you can have an amd64 kernel with an ix86 userland, but not the opposite. If these applications don't require many libraries, you could run an amd64 kernel with a 32-bit distribution.
If you need more than 3GB of address space in a single process, it must be 64-bit kernel; for more than 4GB then 64-bit for kernel and applications.
If you have 4GB of RAM or more, get a 64-bit distribution. Linux can use up to 64GB with a 32-bit kernel, but it needs to be PAE-enabled (most distributions include a PAE kernel but it might not be the default one).
If you have less than 1GB of RAM, go 32-bit.
From 1GB to 3GB, go either way, with a slight preference for 64-bit, but perhaps keeping a few applications 32-bit. (For example, I measured more than twice the memory usage with an amd64 binary of Firefox 3.0 than with an ix86 binary of the same version. I haven't repeated the measures for later versions.)
Answer: The 4G minimum has nothing to do with the requirements of the OS, it is about efficiency. 32 bit systems, by nature the address values needed to talk to the memory being shorter, are actually more efficient up to a point.
32 bit systems can only address up to 4G of memory at a time. On modern linux kernels, this limitation is per process, so even a 32 bit OS can use more RAM but it accomplishes this by having each application only address up to some 4G block partitioned off from the whole stash.
Where 64 bit comes in is that it can offer processes the ability to address the entire system memory at once, allowing memory hungry things more than 4G if they need it. However it comes with a trade off. Since it uses more bits to save and handle addresses, the machine code gets bigger and runs just a tad slower.
Hence you can run a 64bit OS on 2G just fine, but it doesn't really make sense to because a 32bit OS is likely to be faster on the same system. Even when you cross the line into larger RAM, it is still possible that a 32 bit system will be faster because it is rare for any individual process to need that much RAM, more often you want to run lots of processes that all use some piece of the RAM.
Comment: There are a few errors in this answer: an process running on a 32 bit kernel is limited to 3GB (not 4GB), as 1GB is reserved for the kernel. However a 32 bit process on a 64bit kernel can address 4GB; 32 bit kernel can only address approx 3GB of RAM as the rest is used by other hardware. 32bit+pae can address more; and yes it is a OS requirement, some OSes are less efficient so need more resources.

Hardware to install 64-bit OS


Windows Service terminated unexpectedly while executing EndAcceptTcpClient - i.e while accepting new socket client

Question: I have a Windows Service (Server) which is listening on a port 25101.
The clients can connect to the server via this port. This is a secure port and therefore client and server requires the TLS handshake once the TCP/IP/Socket level connection is established.
The Windows Service is written in the .NET framework using the C#.
The abstract of the source code is written below.

Server Code

TcpClient client = null;

try
{
// This is where the service process is terminating
client = m_listener.EndAcceptTcpClient(ar);
}
catch (Exception ex)
{
  s_log.Error(ex, "Exception EndAcceptTcpClient");
}

try
{
  m_listener.BeginAcceptTcpClient(DoAcceptTcpClientCallback, m_listener);
}
catch (Exception ex)
{
  s_log.Error(ex, "Exception BeginAccept");
}

Here it will authenticate the client/Server TLS handshake and get the SSL Stream. That will then be used to send and receive bytes. In the below code extract I am just writing the lines of code to obtain the SSL stream.
int timeout = 15000;
 // Create the SslStream using the client's network stream.
 var sslStream = new SslStream(client.GetStream(), false);

 // Authenticate the server but don't require the client to authenticate.
 Task serverAuth = sslStream.AuthenticateAsServerAsync(serverCertificate, false, SslProtocols.None, true);

 if (await Task.WhenAny(serverAuth, Task.Delay(timeout)) == serverAuth)
 {
   // task completed within timeout
   return sslStream;
 }
 else
 {
   // timeout logic
   throw new System.Exception("AuthenticateAsServerAsync timeout after " + timeout + " millisoconds");
 }

Problem Statement

In the normal scenario it is working fine. The Server stays up and running for weeks and months without any problem and millions of socket client connections are opened and then closed without any issue.
In a extremely rare situation AuthenticateAsServerAsync function does not obtain the SSL stream. So after 15 seconds I am timing out. But after this the listener ALSO stops accepting the new connections and even though the server is up and running no new clients can connect with the server. This is my original problem.
As this was occurring very rare so I have written a Test application in the .NET C# which is TCP/IP client making lots of connection requests to the server. Approximately 10 per seconds. I am stopping and starting this test application via a batch file. Using this test application (after running for about 3-4 hours) - I am able to terminate the Server process.
Here is what is happening
client = m_listener.EndAcceptTcpClient(ar);

The above line is producing the following exception
2021-04-20 19:48:19.4724|ERROR|OvationServerLib.RelayConnections.DeviceServer.DoAcceptTcpClientCallback: Exception EndAcceptTcpClient System.Net.Sockets.SocketException (0x80004005): An existing connection was forcibly closed by the remote host
   at System.Net.Sockets.Socket.EndAccept(Byte[]& buffer, Int32& bytesTransferred, IAsyncResult asyncResult)
   at System.Net.Sockets.Socket.EndAccept(IAsyncResult asyncResult)
   at System.Net.Sockets.TcpListener.EndAcceptTcpClient(IAsyncResult asyncResult)
   at OvationServerLib.RelayConnections.DeviceServer.DoAcceptTcpClientCallback(IAsyncResult ar) in C:\Development\Relay Server\fb4_relay_server\FB4_Relay_Server\Fb4RelayServer\OvationServerLib\RelayConnections\DeviceServer.cs:line 54

However, In the Event Viewer I am seeing slightly different exception, see below
Application: OvationServerService.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.NullReferenceException
   at OvationServerLib.RelayConnections.DeviceServer.DoAcceptTcpClientCallback(System.IAsyncResult)
   at System.Net.LazyAsyncResult.Complete(IntPtr)
   at System.Net.ContextAwareResult.CompleteCallback(System.Object)
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   at System.Net.ContextAwareResult.Complete(IntPtr)
   at System.Net.LazyAsyncResult.ProtectedInvokeCallback(System.Object, IntPtr)
   at System.Net.Sockets.BaseOverlappedAsyncResult.CompletionPortCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)
   at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)

So my questions are:
1- Why my server is terminating even though when EndAcceptTcpClient is producing an exception and I am already handling the exception.
2- Why timing out the AuthenticateAsServerAsync after 15 seconds is stopping the listener to accept new connections. I have to put some timeout as we cannot wait forever on this API.
Comment: I'd guess, that if `EndAcceptTcpClient` throws, it won't set `client`. So it is `null`, probably. If you then _catch_ the SocketException and go on to use `client` you'll run into a NRE. Can you somehow confirm / exclude that?
Comment: You are right, it is a valid point. I will check that and will give it a try. Thanks
Answer:
Why my server is terminating even though when EndAcceptTcpClient is producing an exception and I am already handling the exception.

You are handling (and logging) the SocketException. But then your DoAcceptTcpClientCallback just continues running with client set to null. Instead of continuing, you should just return from the callback (since the socket is no longer viable).

Why timing out the AuthenticateAsServerAsync after 15 seconds is stopping the listener to accept new connections. I have to put some timeout as we cannot wait forever on this API.

Whenever you have a timeout on a socket operation, you should close the socket. This is especially true of "pessimistic" timeouts like Task.WhenAny. That kind of "timeout" doesn't actually stop the AuthenticateAsServerAsync call; you need to close the socket to force the AuthenticateAsServerAsync operation to stop.
Comment: I am already closing the socket connection after timing out the AuthenticateAsServerAsync operation. It's a very valid point. I didn't include that part of the code in the question above but I am certainly closing the socket. I have also put ReceiveTimeout on the socket for 15 seconds but I still need to test this.


Violating Multinomical Logistic Regression Assumptions?

Question: Dear Cross Validated Community,
Our lab is trying to develop a classification-type model that categorizes chemicals into one of three groups using data from cell culture experiments. We have been using Multinomial Logistic Regression but have some questions about the appropriateness of our approach that does not seem to be addressed by online help, or in text books or online material that we are aware of.
Let's say:

The three Categories we're trying to predict = A, B or C
Measured Responses = W, X, Y and Z
Training Set Chemicals = 1 - 68
Concentrations = a - t

Cells were treated with each of 68 chemicals. These first 68 are training set chemicals, each with an associated a priori classification as to Category A, B or C.
Every chemical was studied at multiple (a - t) concentrations, and each concentration was studied in a single well (that is no replicate treatments).
Univariate analyses show Measured Responses W, X and Y are predictive of Category A, B or C.
The 3 factor model W, X and Y is better than any one or two factors models in terms of predicting category A, B or C.
For the logistic regression model above, we originally used one "equitoxic concentration" across the 68 chemicals. So each of 68 chemicals provided one W, X and Y value. Some scientists in our field suggested it would be more ideal to consider "all concentrations" in the model as opposed to reducing the data set down to one equitoxic concentration. With this in mind, we have more recently used all concentrations, a - t, in our three factor model, meaning each chemical is providing 20 W, X and Y responses.
In this scheme, where 20 W, X and Y responses are included for each training set chemical, we a priori specify Category A, B or C for each of the 20 concentrations studied. That being said, W, X and Y responses tend to show better discrimination between categories with increasing cytotoxicity (Measured Response Z), therefore we have begun using a three factor model W, X and Y that is weighted on Z. (JMP 12's "weight" feature in Logistic Regression platform.) This results in better R^2, ROC and Wald statistic values compared to an unweighted three factor model.
Cross validation using leave-one-out suggests the three factor model weighted on Z is working well in regard to predicting class A, B or C. A typical example when using this scheme: a chemical will tend to exhibit low probability scores for any one Category over for instance the lowest 10 concentrations tested (while Z, cytotoxicity, is low). However as Z increases the probability scores increase where they often exceed 90% for a single Category. We take this value (exceeding 90% probability) as the model's prediction as to Category A, B or C. So in this manner we seem to be able to characterize the entire dose-response relationship, as a chemical transitions from having little to no biological effects to exerting clear responses that are indicative of Category A, B or C.
While the model is working well, we are unsure about all the assumptions implicit in the Multinomial Logistic Regression platform. Are we violating assumptions by having each chemical provide 20 W, X, Y and Z values? Or is this acceptable?
Interested in your opinions about our approach, and alternate advice as necessary.
Answer: If you did a more routine regression model, such as OLS linear regression, your approach would be a standard designed experiment. Your work would be described as a full-factorial ANOVA.
A nice aspect of (multinomial) logistic regression is that the way to think of the predictor variables (often called "features") does not really change from the linear regression case. In linear regression, you use the features to help you distinguish between values on a continuum. In binary logistic regression, you use the features to distinguish between two categories and determine their relative probabilities. In multinomial logistic regression, you use the features to distinguish between three (or more) categories and determine their relative probabilities.
Overall, it sounds like you have performed a full-factorial ANOVA with a categorical outcome and that you have done so correctly.


Why do we use such different picks for guitar and oud?

Question: The oud and the guitar are strung similarly (six strings vs. six courses of strings), and are both played with a flat pick; but the guitar pick is much smaller and flatter than the risha used for the oud. Did the different picks for the different instruments evolve by accident, or is the oud somehow better suited to playing with a risha and the guitar better suited to the triangular guitar pick? Could you reasonably play a guitar with a risha, or vice versa?
Answer: The modern guitar and oud were developed in different countries and so were developed with different playing styles in mind. The guitar plectrum and oud risha were likely just developed by different people and at different times in history.
In terms of playing today, playing with these tools is likely just due to tradition and the timbre of the instrument when played with these tools. The point of the risha sticks out towards the end of the thumb when held in a traditional way, and the guitar plectrum typically sticks out at a right angle to the thumb when held traditionally. These techniques create different sounds when striking a string. See picture 1 (from oudforguitarists) vs picture 2 (from justinguitar):
1.

2.

However, any instrument can be played with any tool you want to use - see Jimmy Page playing guitar with a violin bow or Paul Gilbert playing guitar with an electric drill in the solo to Mr Big - "Daddy, Brother, Lover, Little Boy" (starting around 2:20).
Answer: Because they sound like THAT when played with one sort of pick, like THAT when played with another.   And those are the accepted sounds of the two instruments.
Possibly we should rather ask why two instruments, developed quite separately, ended up using such similar picks?
Comment: Your answer implies that somewhere in history, both picks were tried, and the respective cultures chose one sound over the other. Since the two instruments developed separately, I don't think this answer holds up.
Comment: No it doesn't imply that at all.   You have chosen to infer it.
Comment: I think this answer would benefit from source references.


What is clean limit and dirty limit?

Question: In superconductor there has two limits, one called as clean and other one called dirty limit. But what are that meaning? What means clean and dirty? How the coherence length depends on the electron mean free path, what are these limit using for?
For that I had read sth, in which the surface energy was mentioned. What kind of influences this energy has for superconductor?
I hope you can understand my English.
Answer: Clean and dirty limits refer to the comparison of the carriers mean free path ($\ell$) to the coherence length of the pairs ($\xi$). Note that $\xi$ is, roughly speaking, the size of the Cooper pair (superconducting state), and that $\ell$ refers to unpaired carriers.
The clean limit is the case where $\xi \ll \ell$ and the dirty limit is, obviously, the case $\xi \gg \ell$.
There are several uses for these definitions either, in particular in what concerns the electrodynamics (interaction with electromagnetic fields) of superconductors. One particular interest of the notion of clean and dirty is the effect of impurities in the superconducting properties. Opposite to clean superconductors, the introduction of additional impurities or defects in a "dirty" material do not have a major influence in the superconducting properties.
Comment: Why the coherence length is related to the mean free path.
Comment: It is not related. It is compared to it.

What is clean limit and dirty limit?


utf-8 encoding of pdf content xcode

Question: hello i am using leaves view to display pdf pages.it is working perfectly fine with pdf having english character but when call pdf which is having arabic content my app crashes.i am using the code below
<code>- (id)init
{
    if (self = [super init])
    {

CFURLRef pdfURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(), CFSTR("**paper.pdf**"),NULL, NULL);

        pdf = CGPDFDocumentCreateWithURL((CFURLRef)pdfURL);
        mysearch= [pdfsearch alloc];
        //NSString*s=mysearch.currentData;
        //NSString*val=[mysearch loadparser];
            CFRelease(pdfURL);
    }
    return self;
}
</code>
can  any anyone tell me  how to encode its contents before calling its name on  cfbundlecopyresource url.
thanks
Answer: You can also use NSURL to create a pdf from a proper unicode-NSString path.
Here's a snippet:
<code>            NSURL *pdfUrl = [self fileUrlWithFileName:file];
            CGPDFDocumentRef document = CGPDFDocumentCreateWithURL((__bridge CFURLRef)pdfUrl);
</code>
(note that the __bridge is only needed if you use ARC)

utf-8 encoding of pdf content xcode


Am I using the fundamental theorem of Galois correctly and what am I missing?

Question: Given the polynomial  $x^4-2$ we know that a splitting field is $\Bbb Q(i,\sqrt[4]{2})$ and that the Galois group is given by  $D_8=\langle r,s|r^4=s^2=1,srs=r^{-1}\rangle$. Now take the subgroup $\langle r^2 \rangle$ for instance. It's corresponding fixed field is $\Bbb Q(i, \sqrt[4]{2})$. Now for a long time I had been under the impression that this meant $\langle r^2\rangle$ was the subgroup of $D_8$ isomorphic to $Gal(\Bbb Q(i,\sqrt[4]{2})/\Bbb Q)$. The reason being that I misunderstood the definition of a Galois extension. But after rereading my college notes and in particular looking over the fundamental theorem of Galois I'm sure the subgroup of automorphisms of the Galois group corresponding to a fixed fields are not the same as the Galois groups themselves. Here is some work I did realising that and I was hoping someone could hopefully look over it and verify it and tell me if there are many mistakes:
So We have our splitting field $\Bbb Q(\alpha,i)$ ($\alpha=\sqrt[4]{2}$), and we know it's Galois group is isomorphic to $D_8$. The subgroups and corresponding fixed fields are given by :
$\langle r \rangle$ which fixes $\Bbb Q(i)$
$\langle r^2,rs \rangle$ which fixes $\Bbb Q(i\sqrt{2})$
$\langle r^2,s \rangle$ which fixes $\Bbb Q(\sqrt{2})$
$\langle s \rangle$ which fixes $\Bbb Q(\sqrt[4]{2})$
$\langle r^2s \rangle$ which fixes $\Bbb Q(i\sqrt[4]{2})$
$\langle r^2 \rangle$ which fixes $\Bbb Q(i,\sqrt{2})$
$\langle rs \rangle$ which fixes $\Bbb Q((1+i)\sqrt[4]{2})$
$\langle r^3s \rangle$ which fixes $\Bbb Q((1-i)\sqrt[4]{2})$
We know that $D_8$ has order $2^3$ every group with prime order to a power is nilpotent therefore all maximal subgroups are normal and so we can immediately assume that $\langle r \rangle$ $ ,\langle r^2,s \rangle$ $\langle r^2,rs \rangle $
are normal ( we could also have used the fact that any subgroup of index two is normal). We also know that there intersection is normal so $\langle r^2 \rangle$ must be normal .
The rest are all checked by using generating sets E.G. If A is a generating set for G and B is a generating set for H then we must check if $bab^{-1}, b^{-1}ab$
are still in H for all a and b. We see there are no other Normal subgroups
So we have all of our normal subgroups and we're ready to start using the fundamental theorem of Galois Which states that if $k/F$ is Galois and the group of automorphisms which fix K is normal then the Galois group of $k/F$ is $Gal(K/F)\cong G/H$.
So take $\langle r \rangle$ which fixes $\Bbb Q(i)$,
$D^8/\langle r \rangle= \{ r \langle r \rangle\,s\langle r \rangle \}$ as we only need to consider how generators will act on $\langle r \rangle$.
So
$D^8/\langle r \rangle= \{ \{r,r^2,r^3,e\} , \{s,sr,sr^2,sr^3 \} \}$.
Now this part I'm really unsure of but I think that we can say because the first set is still just $\langle r \rangle$ and the second set has nothing but elements of order two this must be isomorphic to $C_2$ ( any advice in this aspect would be very much appreciated)
So We've found that the Galois group of $Q(i)$ is $C_2$ as would be expected from complex conjugation.
The other subfields correspond to groups which aren't normal and so they themselves are not normal as extensions and so are not Galois extensions .It doesn't seem like  there is a way to find there Galois groups given in the fundamental theorem. I want to say perhaps It's because their Galois groups are trivial but I'm not sure.. I think it could be possible that we adjoin say two roots of a polynomial with 3 roots and then get a Galois group of size two which is not normal but maybe I'm wrong. If there is a way to find Galois groups for non-normal extensions then what is it ?
Answer:
If $G$ is a finite subgroup of $Aut(K)$ and $H$ a subgroup of $G$ then $K/K^G$ is Galois with Galois group $G$ and $$Aut(K^H/K^G) = \{ gH \in G /H, H = gHg^{-1}\} = N_G(H) / H$$

(the normalizer subgroup)
Proof : $g(K^H) = K^{g H g^{-1}}$ so $g \in Aut(K^H)$ iff $K^H = K^{g H g^{-1}}$ iff $H = g H g^{-1}$.


Running Windows 7 32-bit on a laptop with 4GB of memory

Question: I'm currently running Windows 7 32-bit on my Toshiba Satellite laptop running on an Intel Dual CPU T3200 with 4GB of memory.
But now I want some advice on: Would it be worth it to buy the 64-bit version of Windows 7 to maximize the usage of my memory? Will I see some difference, or not?
I plan to Web surf, a bit of programming with big IDE like visual studio... Movie watching... That kind of stuff.
Answer: When I got the Win7 upgrade from NewEgg it had both 32 and 64 bit DVDs.  You can probably just (re)install from a 64 bit disk and use the same key as before (nothing new to buy).
Comment: Hum is there a way to verify this statement? Can someone else confirm it? Because it only asks for the serial at the end of the process so I don't want to wipe my disk just to try it out :P Thanks!
Comment: You can only have one 32 or 64 Win7 install active at a time on a single computer but Microsoft really doesn't care which one it is.  If you change you will have to call them to re-activate windows but that's an automated phone system now.
Comment: Great! I'll run the copy of windows on the same computer, but just not in 32bits :) thx!
Answer: Some machines (e.g. Dell Precision M90 workstation) have a technical limitation that prevents even the 64-bit version of Windows 7 from utilizing a full 4GB of installed RAM.  On such a machine, Windows 7 x86 (32-bit) shows 3.5GB of usable RAM, while the 64-bit version shows 3.62GB of usable RAM.  I suggest you research that issue before you spend the time.
In the end, you would achieve less than a 15% increase in RAM, minus the extra overhead of 64-bit applications and the overhead of "thunking" required to run 32-bit apps in a 64-bit environment (Program Files folder vs Program Files (x86) folder).  I doubt you'll be able to tell the difference.
If you really want to prove it out, spend $50 and buy a new 500GB SATA hard drive for your laptop (NewEgg price for a Seagate Momentus 5400.6 as of 09/20/2010).  Swap that in, and install a trial version of  Windows 7 64-bit without activating it, and see how it works for you.
Answer: As always it depends.  If you are only concerned with memory, yes, you might be able to access a little more memory, but all your pointers are now twice a long so you need more memory!
There are a factors other than using that last 10-15% percent of your RAM which should go into it this decision.
Overall I would say yes, use 64 bit.
Here's why:

Better memory utilization.  If you do have memory intensive 32 bit apps, they each get a full 4GB of flat address space.  On 32-bit windows the max a 32 bit process can have is 2 GB (without serious tinkering).
Better performance - native 64 bit versions of many CPU/memory intensive apps, 7-zip, winRar, ffmpeg, video rendering or transcoding, etc. have about 10% better performance on the same hardware.  But a few apps see the opposite effect, and 32-bit apps have some thunking overhead (which is remarkably minimal considering what is going on.)
drivers are more stable - Most drivers writers had to start over for 64-bit rather than keep porting their old frameworks from previous versions of the windows driver APIs.  Also drivers must be signed which provides a higher barrier and better quality.
Security - memory protection features such as ASLR are more robust in 64-bit windows.

Reasons why not:

64 bit drivers - You can probably get drivers for almost all modern hardware, but you might have older hardware for which 64-bit drivers are not available.  e.g. I have a high-quality flatbed scanner (USB) that happens to be 10 years old.  It still works fine, but there are no 64-bit drivers for it and there never will be.

That is about the only reason I would keep a 32-bit machine around.
Embrace the future.  64-bit is definitely the way everything is going.  You might as well experience it now.
Edit:  I forgot one of the most important performance differences: People allways talk about 64-bit memory pointers and capacity, but I hardly ever hear people note that in x64 mode, processors have 16 general-purpose registers instead of just the 4 registers for x86 code!
Registers are the fastest possible memory locations as data has to get into these spots before the processor can actually work with it.  Just like on-chip cache, having more makes a big difference -- if the code is compiled to use the additional registers (x64 compiled).  This is the reason for the improved performance seen in x64 compilations of 7-zip, winRar, ffmpeg, etc.
Answer: You will be able to use the full 4GB and run 64 bit programs, that is pretty much the only difference.
There are features such as enforced driver signing which mean the system is more stable - but as long as you are careful on a 32 bit edition, it is just as stable.
64 bit Windows is a little slower at starting, every running application takes a little more memory but once you are running, there is little difference.
Personally I would, or that extra memory goes to waste.


How can I update a question or answer without it popping to the top of activity

Question: Why do questions or answers with new activity go to the top bicycle activity?  That is not how other SO sites behave.  I updated an old answer but I don't want to pop to the top.  If someone wants to sort by activity let them but why make it the default?
Comment: @DanielRHicks Or a badge whore.
Comment: This is how all the other SO sites operate.  It is a little irritating at times, especially when a rep whore goes around doing trivial edits to tired old questions.
Answer: This behavior is the same across all Stack Exchange sites. Editing a post always bumps it to the front page. On busier sites there may be so much activity that the post does not remain on the front page for very long, but editing always bumps the post.
Comment: This functionality supports oversight of edits, it's a Good Thing.


How to change the resolution of an ATI Rage Mobility 128 above 800x600 in 10.04?

Question: I am quite confident that under Hardy I only had to change the color depth to 16, although I can't remember which driver (ati, r128, fglrx) I used. I tried ati and r128 (fglrx seems to crash) but I still cannot increase the screen resolution to 1024x768, which worked under Hardy. What else do I need to do? Is there something I have to add to the Monitor section of xorg.conf perhaps? The notebook is a Dell Latitude C600.
Answer: You may have been using fglrx on Hardy, however AMD/ATI dropped support for older graphics cards such as yours.  So you will need to use the -ati driver instead.
The suggestion in the previous comment to purge fglrx when you have used both fglrx and ati is good advice in general.  If you're trying to use -ati and there's still some fglrx kernel driver or glx library lying around, it can cause confusion.  Generally that doesn't affect resolution but the problems are rather unpredictable.
Assuming you're using the open source -ati driver now, one option you can try is to turn off kernel mode-setting.  This is because whereas X used to be responsible for selecting resolution, these days the kernel does it.  (This is called Kernel Mode-Setting, or KMS).  If it used to work (in the old days with UMS) but now isn't (with KMS), here's a guide to switch back to UMS for -ati:
Another common thing to check on these old graphics cards is the AGPMode setting.  Possible values are 1, 2, 4, 8.  It seems a bit unpredictable what number is required; 2 might work for one machine, and on a seemingly identical one you have to use a different value.  The -ati developers haven't figured out a good way to guess this reliably in all cases.
Beyond that, check your Xorg.0.log; midway through it goes through the resolutions and decides which ones fit the refresh rates of the monitor.  Sometimes if there are problems it'll become evident there.  For instance, if its trying to find a common resolution that works for both the LVDS and for VGA (even though no VGA is present), or if there is an error in the EDID or something.
Finally, in theory -ati should run fine with no xorg.conf present.  If you haven't tried it already, just move aside your /etc/X11/xorg.conf and see what happens when you run without it.  Half the time this will solve the problem.
Comment: I started with no xorg.conf and had to create one in order to lower the color depth. But thanks for the KMS link, I'll give that a shot, too
Answer: For my DELL Latitude C600 I just had to follow this post:

I'm not sure about distribution differences, but this worked for me on Xubuntu 8.10 with the same hardware. Unfortunately it's not capable of playing the latest and greatest of games from what I could read: however I was happy to finally get it to work at all I scanned posts and howto's all over the web for weeks. I'm still fairly new to all of this and have no intentions of reverting to windows especially now. I just found this Ubuntu Forums thread. The very last post is what tipped me off. Before that I'd been trying to manually configure xorg.conf which supposedly does not get read in Xubuntu 8.10. Anyway here are some commands to run through first.
This is exactly what I did
sudo apt-get remove --purge fglrx*
sudo apt-get remove --purge xserver-xorg-video-ati xserver-xorg-video-radeon
sudo apt-get install xserver-xorg-video-ati
sudo dpkg-reconfigure -phigh xserver-xorg

Then back up your xorg.conf located at /etc/X11/xorg.conf
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup

Then I edited the xorg.conf file located at /etc/X11/xorg.conf to look like this
sudo -H gedit /etc/X11/xorg.conf

# xorg.conf (X.Org X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf manual page.
# (Type "man xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# Note that some configuration settings that could be done previously
# in this file, now are automatically configured by the server and settings
# here are ignored.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg

Section "Module"
Load "i2c"
Load "bitmap"
Load "dbe"
Load "ddc"
Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "type1"
Load "vbe"
EndSection

Section "Device"
Identifier "ATI Technologies Inc. Rage Mobility M3 AGP 2x"
Driver "ati"
BusID "PCI:1:0:0"
VideoRam 8192
Option "AgpMode" "2"
Option "EnablePageFlip" "true"
Option "Accel" "true"
EndSection

Section "Monitor"
Identifier "Generic Monitor"
Option "DPMS"
HorizSync 28-70
VertRefresh 43-60
EndSection

Section "Screen"
Identifier "Default Screen"
Device "ATI Technologies Inc. Rage Mobility M3 AGP 2x"
Monitor "Generic Monitor"
DefaultDepth 16
EndSection

Section "DRI"
Mode 0066
EndSection

#
#
#Section "Device"
# Identifier "Configured Video Device"
#EndSection
#
#Section "Monitor"
# Identifier "Configured Monitor"
#EndSection
#
#Section "Screen"
# Identifier "Default Screen"
# Monitor "Configured Monitor"
# Device "Configured Video Device"
#EndSection
#
#

Save the file and reboot
If you just copied and pasted that xorg.conf file above you should have booted up in 1024x768 resolution and if you run glxinfo in terminal direct rendering should say yes
my glx gears were at 420 in 5 seconds when I started this project two weeks ago and about 1 hours ago I finished with the instructions described (I just found them a little before that it didn't take me two weeks to follow them)
$ glxgears
3571 in 5 seconds


Can European bought games work on an American Xbox One?

Question: I live in Europe and I have an American console so can I buy games over here and would they work on this console? Or is it region locked? And second, if I do buy games overseas, can the language be switched to english? Or since it is a German game would it automatically be put in German?
Comment: Be careful with language. Many games only contain a set amount of languages on disc. Especially larger games only contain at most half-a dozen languages on disc. In the past, this was true for Oblivion and Morrowind which only played in French when bought in France or Luxembourg. However, today you will most likely be able to buy language packs. Not sure all games offer them but some to. HAve a look before you buy.
Answer: The console and games are completely region-free. You can set your locale and language in the console's options and from there you're good to go.
You can find the settings here:

Guide button on the controller
Settings
System Settings
Console Settings
Language and Locale

The only limitation are countries where Xbox Live is currently not supported. You can only play or get games which require Xbox Live if you're using Locale settings of supported countries.
Click for a list of supported countries.


Re-enter Singapore after exit on a multiple entry pass

Question: I am an Indian and have multiple entry pass valid for the next 2 years. Suppose if I enter Singapore on a tourist visa on 23rd December and stayed for the next 30 days, i.e. till 23rd January. Now I leave or exit from Singapore on 22nd January to travel either to Malaysia or Indonesia for a 2-3 days trip, can I return to Singapore and then again stay for 30 days?
Answer: In theory, you are allowed to do that. However, there is a high chance of you being questioned while entering Singapore again within a week after exhausting your 30-day stay period.
You will have to justify your purpose of visit and the onus will be on you to convince the officer that you are going to return to your home country. Do book your return tickets and also present the concrete itinerary. The officer will have to be certain that you are not going to abuse your visa.


How do you emphasize the yeast flavor in bread?

Question: How do you amplify the yeast flavor in bread?
Comment: Due to the range of comments, I think some clarification might help. Are you looking to increase the yeasty flavor that yeast produces in bread, or the actual flavor of the yeast itself?
Answer: Use lots of yeast, and short fermentation times. Prefer cake yeast over the dried types.
Fresh yeast has a specific taste and aroma, which disappears during fermentation, giving you a different, bready taste, which is not the same as yeast taste. Pro bakers are normally trying to achieve perfect fermentation, using low yeast amounts and long fermentation types. Household recipes are trying to take a more convenient route, preferring speedy fermentation (so baking times are reduced) and lots of yeast (because 1. this allows for even quicker rising, and 2. some decades ago, yeast quality was not so good, and you had a chance that the culture in a cake you purchased was barely alive, so it wouldn't rise if you used the minimal amount pro bakers with fresh daily supplies went for). This results in lots of unfermented yeast, which gives homemade breads a specific yeasty taste. While pro bakers will try to avoid it, many people associate the taste with pleasant experience of homemade bread made by a beloved family member, and like having it in their own bread.
So, use cake yeast. About the highest amount you can get away with would be 10% (50 g cake yeast per 500 g flour). But if your bread starts getting a whiff of ammonia, reduce it a bit. Ferment at warm temperatures (30°C is good, yeast starts slowing down over 35) and wait for volume doubling at each stage - should take 30-40 minutes per stage. Be careful to not overproof, because with this ammount of yeast, the dough is fickle, and may not rise if proofed for too long.
Comment: In my experience, it produces much more yeasty taste. I suspect that this is because it has so much non-yeast dry mass which has taken on the aroma. I agree that when used in the way the sources recommend (small yeast amounts, long fermentation times), the difference in taste is too small to be noticeable, but when going for a yeasty taste, the OP will use the exact opposite process, and then it matters how they started. And besides, exponential growth is not so fast in the first 5-6 generations, and yeast divides on a 20-min cycle.
Comment: What is it about cake yeast that is unique or special compared to the more modern, more easily stored, types of yeast?   Given that the yeast will grow exponentially throughout the ferment, what is it about the cake yeast that retains a unique enough charactar to significantly alter the flavor of the final bread compared to instant or dried yeast?  All sources I have ever reviewed indicate they are freely interchangeable in terms of outcome; the only differences I have seen are whether proofing is recommended, and how you integrate them into a dough.
Comment: I guess I just don't like short fermentation except for pizza dough...
Comment: You can also get deactivated yeast that is specifically formulated to add a yeasty flavor to dough without doing much else.
Comment: It's true what rumtscho said above. I'm trying to recreate the strong yeast flavor bread my mom & I made many years ago. Today's bread recipes just makes good bread like you find in the store not the homemade strong flavor you get when you do it at home for the first time.
Answer: There are a couple of methods to increase to yeasty flavor and development in a bread:

Use a long, slow rise or fermentation, usually refrigerated
Use a recipe that starts with a preferment or biga, that is fermented once to develop flavor prior to the main fermentation
Select recipes with fewer additional ingredients or enrichments like eggs, butter, sugar, and so on that would mask the yeasty flavor.
Answer: I use the 'old dough' or pate fermentee method, which involves taking a portion of dough - around a fifth works well - from a batch after the first prove, covering it and leaving it in the fridge.  Next time you bake bread, take the aged dough and incorporate it into the new dough.
You can keep the cycle going by taking some of this dough and storing it again.  Over time this will intensify the flavours in your bread.  The old dough will keep fine for 3-4 days in the fridge or a few weeks in the freezer (if freezing then take it out a couple of hours before you need to bake).  I've been doing this for the last few months and get a much better taste in my bread.
I'd also recommend using fresh yeast as mentioned above, I find this gives a better flavour than the dried or instant yeasts.
Answer: Another pre-ferment approach is what's called a "poolish" in a nod to the polish bakers who supposedly invented the approach.  This works great if you bake infrequently, since you only need about 24 hours advance notice and don't need to have remembered to set aside dough from the last time you baked.
I use about a 300:300:1 ratio of water:flour:yeast.  So mix 300g each of water and flour together along with about 1g of yeast.  Mix it in a large container, since it'll likely double in size.  Leave it out, covered, for about 3-4 hours to ferment, then refrigerate it for about 24 hours.
Take it out an hour or so before you plan to use it so it can come to room temperature.  You then use it in place of that amount of water and flour in the final recipe.
I picked this approach up from "The Bread Baker's Apprentice" by Peter Reinhardt, which has been a great resource for me.
Answer: Try making a sourdough starter, and you can boost it with yeast for a faster rise. I have done this(sans additional yeast), once with a starter I screwed up and did not feed enough- The bread was so yeasty that you could barely eat it!


How to Create Access Token in Magento 2 integration

Question: I have created one new Integration and gave access but i did n't get Access token is there i doing anything wrong let me help to resolve this issue
Comment: Yes admin Access token.I am trying to upload the bulk product from script so i am gonna use SOAP API for that purpose i need that Access token.
Answer: There are two ways of getting access token in magento 2.

we create it via magento 2 backend manually
build a magento integration extension to create it programatically

we made a very detail blog to explain how it works here:
how to create magento 2 integration manually and programatically
There are some pictures you can take a look to review the process:
1. Magento 2 Integration Menu

2. Magento 2 New Integration Form

3. Granting APIs Access for Your Integration

4. Activating Your Integration

5. Review & Copy The Access token to use in your App.

The process of creating access token programmatically is a little bit more complex.
Please check our blog above to see more detail.
Comment: how can we get access token by programaticaly?
Answer: You need to "Activate" an Integration to get an Access Token in the admin interface. After you create a new Integration and Save it, in the list of Integrations you should see an "activate" link. Clicking this you will be asked to approve the permissions, then you will get a screen with the tokens.
To get the tokens again later, "Edit" on that Integration (once it's Active) and you should see, in the "Integration Info" tab, the "Integration Details" section below. It will have the Consumer Key, Consumer Secret,
and the now-populated Access Token and Access Secret.
Comment: After clicking activate button it shown the permission given for that user and after that i clicked allow it shown like this "Please setup or sign in into your 3rd party account to complete setup of this integration." what i need to integrate?
Comment: I think that's just saying "now that you have the access tokens, which you probably created because you want a 3rd party service to use the Magento APIs - go to that 3rd party service now, and enter them"


Why are heat and work path functions but internal energy is a state function?

Question: I had found a statement given in my textbook which said that heat and work are path functions, but the sum of the two according to the first law is internal energy difference.
How is it that two path functions add up to give a state function?
Comment: From a different viewpoint, "a state function minus a path function" is another path function.
Comment: Do you think there is a particular reason why two path dependent quantities cannot add to give one that isn't?
Answer: From a mathematical standpoint, given a function $f$ of two variables $x$ and $y$, then
$$\mathrm df =\alpha\, \mathrm dx +\beta\,\mathrm dy$$
where $\alpha\equiv \partial f/\partial x$ and $\beta\equiv \partial f/\partial y$. In general, neither $\alpha\,\mathrm dx$ nor $\beta\,\mathrm dy$ are the exact differentials, in which case they are so-called "path functions" while their sum is the differential of a "state function".
Put differently, the differential of a generic state function is a linear combination of inexact differentials. In this case, the state function is the internal energy and the inexact differentials are identified as the infinitesimal work done by and heat added to the system.
Answer: Within Thermodynamics, it is not possible to answer this question. It is equivalent to asking why $\vec F = m \vec a$ in mechanics. The only explanation would be to assume an equivalent statement as a starting point, but then the problem would be why that statement is true. Even mathematical examples of non-exact differentials are misleading because they miss the physical key point. For most of the processes, there is no path in the thermodynamic space. Non-quasistatic transformations cannot be described in terms of the system's unique temperature and pressure.
There are two possible ways to answer.
The first is just a restatement of the experimental basis of any principle. Many direct and indirect experiments have shown the path dependence of heat and work and the possibility of introducing a path-independent quantity corresponding to their sum. In a way, this answer is equivalent to saying, "it is so because experiments tell us."
It is true, but there is a second possibility: recasting the question in terms of a theory that could encompass thermodynamics, providing a different point of view on the thermodynamic statements.
Indeed this is possible by exploiting the connection of macroscopic thermodynamic properties with the microscopic mechanics via Statistical Mechanics. Within such a there, the existence of a state function describing the internal energy is an almost trivial result of the conservative character of the atomic forces. Work and heat, depending on the details of the microscopic motions, are not, in general, state functions.
Macroscopic thermodynamics cannot use such an argument because there is no access to the microscopic degrees of freedom macroscopically. A different approach must be introduced to get an operative definition of internal energy. However, this is a sound argument from the conceptual point of view, providing a microscopic motivation for the macroscopic definition.
Comment: Then how does statistical mechanics explain work as a path function? Could you provide answer to it or share some link to understand?
Answer: One way to define work and heat is as energy transfer on macroscopic and microscopic levels. There are many ways how one can repartition the same energy between macroscopic and microscopic degrees of freedom, that is many paths for changing the internal energy.
Answer: Suppose I have a very hot fluid (say, steam), which I divide into three portions.
I hook the first portion of my fluid up to a steam engine, and use it to (say) pump water out of a mine until my hot fluid reservoir cools to room temperature.
Then I run the same procedure, but disconnect the steam engine from the pump.  I'm not doing useful work anymore; all the work goes into overcoming friction in the engine, and (eventually) heating up the engine.
This suggests a third technique: don't even use the steam engine at all, just let the water cool to room temperature.
I have the same starting state and ending state in each scenario: boiling water and room temperature water (respectively).  Since I have the same state in each scenario, I might as well swap the portions before (or after) the procedures; I shouldn't be able to observe any difference.  So the internal energies must be the same, otherwise I should observe a difference after swapping.  This is why internal energy is a state function.
At the same time, the proportion of energy lost to heat (vs. work) depends dramatically on my machinery.  That's why those quantities are state functions.
(You might argue: OK, but how do we know that water doesn't "remember" what happened to it?  After all, maybe it has trace amounts of high-energy minerals in the water, at these are deposited inside the steam engine, but stay inside the fluid if I just let it cool.  Then the result of technique #3 has higher internal energy because it still contains the minerals.  But this posits a different end state for different processes, and so we should expect state functions like internal energy to differ.)


Run USAF Digital Datcom

Question: I want to run the software Digital Datcom in my Mac, which is a Macbook Pro with macOS Mojave 10.14. For this I had to download the program Xcode form the appstore, as well as the gfortran package from the official page. I have already run the file datcom.f in the terminal with the command gfortran before, after that the instructions at the official page of datcom says that the program will start after typing "datcom" one more time but my terminal says me that the command does not exist. Can anyone tell me please what I need to do to run the program and reach the part where it asks me for the input file? It would be really helpful. Thank you.
Answer: Instead of typing:
<code>datcom
</code>
You should instead type:
<code>./datcom
</code>
This should run the program, if you have indeed followed the other steps of the instruction manual without error.

Run USAF Digital Datcom


How to find a Java Memory Leak

Question: How do you find a memory leak in Java (using, for example, JHat)? I have tried to load the heap dump up in JHat to take a basic look. However, I do not understand how I am supposed to be able to find the root reference (ref) or whatever it is called. Basically, I can tell that there are several hundred megabytes of hash table entries ([java.util.HashMap$Entry or something like that), but maps are used all over the place... Is there some way to search for large maps, or perhaps find general roots of large object trees?
[Edit]
Ok, I've read the answers so far but let's just say I am a cheap bastard (meaning I am more interested in learning how to use JHat than to pay for JProfiler). Also, JHat is always available since it is part of the JDK. Unless of course there is no way with JHat but brute force, but I can't believe that can be the case.
Also, I do not think I will be able to actually modify (adding logging of all map sizes) and run it for long enough for me to notice the leak.
Comment: Oracle has a relevant page here: https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr007.html#BABIIIAC
Comment: This is another "vote" for JProfiler. It works pretty well for heap analysis, has a decent UI, and works pretty well. As McKenzieG1 says, $500 is cheaper than the amount of time you would otherwise burn looking for the source to these leaks. As far as the price of tools go, it's not bad.
Answer: I use following approach to finding memory leaks in Java. I've used jProfiler with great success, but I believe that any specialized tool with graphing capabilities (diffs are easier to analyze in graphical form) will work.

Start the application and wait until it get to "stable" state, when all the initialization is complete and the application is idle.
Run the operation suspected of producing a memory leak several times to allow any cache, DB-related initialization to take place.
Run GC and take memory snapshot.
Run the operation again. Depending on the complexity of operation and sizes of data that is processed operation may need to be run several to many times.
Run GC and take memory snapshot.
Run a diff for 2 snapshots and analyze it.

Basically analysis should start from greatest positive diff by, say, object types and find what causes those extra objects to stick in memory.
For web applications that process requests in several threads analysis gets more complicated, but nevertheless general approach still applies.
I did quite a number of projects specifically aimed at reducing memory footprint of the applications and this general approach with some application specific tweaks and trick always worked well.
Comment: Most (if not all) Java profilers provide you with an option to invoke GC with a click of a button.

Or you can call System.gc() from appropriate place in your code.
Comment: What exactly is a "memory snapshot?" Is there something that will tell me the number of each object type my code is running?
Comment: Even if we call System.gc() JVM may choose to neglect the call. AFAIK this is JVM specific. +1 to the answer.
Comment: How do I go from "start from greatest positive diff by object types" to "find what causes those extra objects to stick in memory"? I see very general things like int[], Object[], String, etc. How do I find where they come from?
Answer: Questioner here, I have got to say getting a tool that does not take 5 minutes to answer any click makes it a lot easier to find potential memory leaks.
Since people are suggesting several tools ( I only tried visual wm since I got that in the JDK and JProbe trial ) I though I should suggest a free / open source tool built on the Eclipse platform, the Memory Analyzer (sometimes referenced as the SAP memory analyzer) available on http://www.eclipse.org/mat/ .
What is really cool about this tool is that it indexed the heap dump when I first opened it which allowed it to show data like retained heap without waiting 5 minutes for each object (pretty much all operations were tons faster than the other tools I tried).
When you open the dump, the first screen shows you a pie chart with the biggest objects (counting retained heap) and one can quickly navigate down to the objects that are to big for comfort. It also has a Find likely leak suspects which I reccon can come in handy, but since the navigation was enough for me I did not really get into it.
Comment: Worth noting: apparently in Java 5 and above, the `HeapDumpOnCtrlBreak` VM parameter *is not available*.  The solution I've found (so far, still looking) is to use JMap to dump the `.hprof` file, which I then put into Eclipse and use MAT to examine.
Comment: Regarding obtaining heap dump, most profilers ( including JVisualVM) include option to dump both heap and threads to a file.
Answer: A tool is a big help.
However, there are times when you can't use a tool: the heap dump is so huge it crashes the tool, you are trying to troubleshoot a machine in some production environment to which you only have shell access, etc.
In that case, it helps to know your way around the hprof dump file.
Look for SITES BEGIN. This shows you what objects are using the most memory. But the objects aren't lumped together solely by type: each entry also includes a "trace" ID. You can then search for that "TRACE nnnn" to see the top few frames of the stack where the object was allocated. Often, once I see where the object is allocated, I find a bug and I'm done. Also, note that you can control how many frames are recorded in the stack with the options to -Xrunhprof.
If you check out the allocation site, and don't see anything wrong, you have to start backward chaining from some of those live objects to root objects, to find the unexpected reference chain. This is where a tool really helps, but you can do the same thing by hand (well, with grep). There is not just one root object (i.e., object not subject to garbage collection). Threads, classes, and stack frames act as root objects, and anything they reference strongly is not collectible.
To do the chaining, look in the HEAP DUMP section for entries with the bad trace id. This will take you to an OBJ or ARR entry, which shows a unique object identifier in hexadecimal. Search for all occurrences of that id to find who's got a strong reference to the object. Follow each of those paths backward as they branch until you figure out where the leak is. See why a tool is so handy?
Static members are a repeat offender for memory leaks. In fact, even without a tool, it'd be worth spending a few minutes looking through your code for static Map members. Can a map grow large? Does anything ever clean up its entries?
Comment: "the heap dump is so huge it crashes the tool"—last I checked, `jhat` and `MAT` apparently try to load the whole heap dump into memory, and so typically crash with an `OutOfMemoryError` on large dumps (i.e., from the applications that most needed heap analysis!). The NetBeans Profiler seems to use a different algorithm for indexing references which can get _slow_ on large dumps but at least does not consume unbounded memory in the tool and crash.
Answer: Most of the time, in enterprise applications the Java heap given is larger than the ideal size of max 12 to 16 GB. I have found it hard to make the NetBeans profiler work directly on these big java apps.
But usually this is not needed. You can use the jmap utility that comes with the jdk to take a "live" heap dump , that is jmap will dump the heap after running GC.  Do some operation on the application, wait till the operation is completed, then take another "live" heap dump. Use tools like Eclipse MAT to load the heapdumps, sort on the histogram, see which objects have increased, or which are the highest, This would give a clue.
su  proceeuser
/bin/jmap -dump:live,format=b,file=/tmp/2930javaheap.hrpof 2930(pid of process)

There is only one problem with this approach; Huge heap dumps, even with the live option, may be too big to transfer out to development lap, and may need a machine with enough memory/RAM to open.
That is where the class histogram comes into picture. You can dump a live class histogram with the jmap tool. This will give only the class histogram of memory usage.Basically it won't have the information to chain the reference. For example it may put char array at the top. And String class somewhere below. You have to draw the connection yourself.
jdk/jdk1.6.0_38/bin/jmap -histo:live 60030 > /tmp/60030istolive1330.txt

Instead of taking two heap dumps, take two class histograms, like as described above; Then compare the class histograms and see the classes that are increasing. See if you can relate the Java classes to your application classes. This will give a pretty good hint. Here is a pythons script that can help you compare two  jmap histogram dumps. histogramparser.py
Finally tools like JConolse and VisualVm are essential to see the memory growth over time, and see if there is a memory leak. Finally sometimes your problem may not be a memory leak , but high memory usage.For this enable GC logging;use a more advanced and new compacting GC like G1GC; and you can use jdk tools like jstat to see the GC behaviour live
jstat -gccause pid <optional time interval>

Other referecences to google for -jhat, jmap, Full GC, Humongous allocation, G1GC
Comment: added a blog post with more details here - http://alexpunnen.blogspot.in/2015/06/long-running-java-process-resource.html
Comment: Class histogram is really helpful if troubleshooting in prod.
Answer: There are tools that should help you find your leak, like JProbe, YourKit, AD4J or JRockit Mission Control. The last is the one that I personally know best. Any good tool should let you drill down to a level where you can easily identify what leaks, and where the leaking objects are allocated.
Using HashTables, Hashmaps or similar is one of the few ways that you can acually leak memory in Java at all. If I had to find the leak by hand I would peridically print the size of my HashMaps, and from there find the one where I add items and forget to delete them.
Answer: Well, there's always the low tech solution of adding logging of the size of your maps when you modify them, then search the logs for which maps are growing beyond a reasonable size.
Answer: NetBeans has a built-in profiler.
Answer: You really need to use a memory profiler that tracks allocations. Take a look at JProfiler - their "heap walker" feature is great, and they have integration with all of the major Java IDEs. It's not free, but it isn't that expensive either ($499 for a single license) - you will burn $500 worth of time pretty quickly struggling to find a leak with less sophisticated tools.
Answer: You can find out by measuring memory usage size after calling garbage collector multiple times:
Runtime runtime = Runtime.getRuntime();

while(true) {
    ...
    if(System.currentTimeMillis() % 4000 == 0){
        System.gc();
        float usage = (float) (runtime.totalMemory() - runtime.freeMemory()) / 1024 / 1024;
        System.out.println("Used memory: " + usage + "Mb");
    }

}

If the output numbers were equal, there is no memory leak in your application, but if you saw difference between the numbers of memory usage (increasing numbers), there is memory leak in your project. For example:
Used memory: 14.603279Mb
Used memory: 14.737213Mb
Used memory: 14.772224Mb
Used memory: 14.802681Mb
Used memory: 14.840599Mb
Used memory: 14.900841Mb
Used memory: 14.942261Mb
Used memory: 14.976143Mb

Note that sometimes it takes some time to release memory by some actions like streams and sockets. You should not judge by first outputs, You should test it in a specific amount of time.
Answer: Checkout this screen cast about finding memory leaks with JProfiler.
It's visual explanation of @Dima Malenko Answer.
Note: Though JProfiler is not freeware, But Trial version can deal with current situation.
Answer: As most of us use Eclipse already for writing code, Why not use the Memory Analyser Tool(MAT) in Eclipse. It works great.
The Eclipse MAT is a set of plug-ins for the Eclipse IDE which provides tools to analyze heap dumps from Java application and to identify memory problems in the application.
This helps the developer to find memory leaks with the following features

Acquiring a memory snapshot (Heap Dump)
Histogram
Retained Heap
Dominator Tree
Exploring Paths to the GC Roots
Inspector
Common Memory Anti-Patterns
Object Query Language
Answer: I have recently dealt with a memory leak in our application. Sharing my experience here
The garbage collector removes unreferenced objects periodically, but it never collects the objects that are still being referenced. This is where memory leaks can occur.
Here is some options to find out the referenced objects.

Using jvisualvm which is located in JDK/bin folder

Options : Watch Heap space

If you see that the heap space keep increasing, definitely there is a memory leak.
To find out the cause, you can use memory sampler under sampler .

Get a Java heap histogram by using jmap ( which is also available in JDK/bin folder) in different time span of the application
jmap -histo <pid> > histo1.txt

Here the object reference can be analyzed. If some of the objects are never garbage collected, that is the potential memory leak.
You can read the some of the most common cause of memory leak here in this article : Understanding Memory Leaks in Java

How to find a Java Memory Leak


To customize styles for RWD theme regarding IE-7 browser compatibility view

Question: I need to style for front-end regarding Internet Explorer 7 Browser compatibility view. I've been implemented my custom theme for our site from RWD theme. Now i'm using magento version of  188.8.131.52. While i tried to design for ie-8, I chose ie-8.css stylesheet which was in the directory. In page.xml it simply itself assigned for IE browsers verison lte IE-8. While i checked styles in IE-8 browser, it worked as charm. But when switching to IE-7 by using IE developer's mode, Total design getting crashed. I don't know what i did mistake in it. Can any one give suggestions regarding this problem.
Answer: It depends on which version of IE you are using. While in developer mode in IE you can select both what version of IE to use and what 'docs mode' version to use.  So you could be testing this with IE7 browser version and IE9 docs mode which could cause issues and isn't really an environment you would most likely need to code for.
If you need to code around users possibly using older versions of IE with compatibility mode enabled try editing app/design/frontend/YOUR_PACKAGE/YOUR_THEME/page/html/head.phtml with this meta tag in order to try to force the browser out of compatibility mode.
<code><meta http-equiv="X-UA-Compatible" content="IE=edge" />
</code>
Be sure that this is the very first meta tag and is above any IE conditional statements.
You may need to clear all Magento caches after these changes before testing them.


Increase CPU for raspberry pi 3b+

Question: I am running a Bitcoin Full Node on Raspberry pi 3b+. Blockchain sync is dead slow because of less CPU. Is there a way to add additional CPU to a pi board. or connecting additional pi to the same Hard Disk to increase the speed?
Comment: https://www.raspberrypi.org/blog/raspberry-pi-clusters-come-of-age/ | https://www.raspberrypi.org/magpi/cluster-computer-raspberry-pi-3/
Answer: Adding a CPU is not the way I'd go about it. But if you want to make the RPi a part of your solution, there's a fair amount of work going on in that area now (as @Fabian's comment suggests). A quick Google search turned up this story on OctaPi. It's spun by the RPi Foundation which might give it some credibility, and they claim it's scalable up to 8 RPi - so, you can tailor the compute power to your problem.
Comment: It's not clear how this is supposed to be a solution. The OctaPi cluster only accelerates software which is specifically designed to run on the cluster, not all applications.
Comment: @duskwuff: If you are making a claim that the Bitcoin & Blockchain software are not capable of using a multi-CPU cluster, then it's not clear to me either... I assumed the OP had made the determination that additional CPUs would help. What's your answer?
Comment: What I'm saying is that an OctaPi cluster is not a substitute for a more powerful computer. (The plain fact is that it is a "toy" implementation used for demonstrative purposes.) It does not enable any sort of resource sharing across the cluster, and cannot accelerate typical applications like the Bitcoin node server.
Comment: @duskwuff: You should submit that as an answer - might help someone!
Answer: I've never heard of trying those strategies. I've never heard of a Raspberry Pi hat or other add-on that adds a new CPU. I suppose you could use the Raspberry Pi Compute Module with multiple modules, but that would be more expensive than choosing a more powerful single-board computer.
There have been people who have made parallel computers with a network of Raspberry Pi's. These clusters are more educational than useful, but they might increase your CPU speed enough, and they should be able to share a hard drive. I don't know if this will help enough, though, because I've never tried this.
Have you considered a more powerful board such as the Udoo x86 series? This is an x86-based board (or rather several of them with increasing speeds and prices). It will run Linux just fine, it can also run Windows. It includes an on-board Arduino clone, which is useful for robotics.
The Raspberry Pi, while a wonderful computer for some things, has too many networking bottlenecks to be useful where networking is important. Don't get me wrong, I like the Raspberry Pi. I have many of them. I'm going through my electronics, and I have many more than I thought I did. Maybe I will try making a parallel Pi someday, purely for educational purposes.
Answer: Don't know much about nodes, but there are some cluster PC projects using USB or WIFI for the Zero.
I'm sure they can also be applied to other Pis like the 3B and 3B+, or 4B.
You can always overclock by +100MHz from stock (ram, arm, GPU, core) , for slightly higher performance.
Also, see if you can install an SSD instead, to lower latency, and disable bluetooth, if you want your network not to throttle (big issue on Pi3B+)

Increase CPU for raspberry pi 3b+


Required permissions to reorder Board items

Question: EDIT: This is a duplicate of https://stackoverflow.com/q/77852519/1637105. I originally posted this question in this "DevOps" community, then I found a Microsoft support article that says to post questions in the main StackOverflow community with the [azure-devops] tag.
In my organization, I have a user who will serve as "project manager". I want to give her the ability to move items around on the Kanban "Board", assign personnel to user stories and tasks, and generally be in charge of dealing with the DevOps project management artifacts.
I'm trying to figure out the permissions I need to give her in Azure DevOps. I've put her in the Contributors project group.

If I give her Stakeholder access level then she can move board items from one column to another, but she cannot move board items up or down within the same column or change the personnel assigned to an item.

If I give her Basic access level then she has full editing access to the board, including the ability to move items up or down within the same column.

Do I really need to give users Basic access level for them to be able to serve as project managers, with the ability to add items, edit items, reorder items, assign personnel to items, and otherwise deal with project management features?
Answer: Thanks to Daniel Mann (see the comment on this SO post), the docs clearly state that Basic access level is required to:

Change the priority of an item within a board
Change fields on cards on a board, except for State field


Can we say that the first empire that divided its territory into provinces was the Neo-Assyrian Empire?

Question: It is well known that the Persian Empire was divided into 20 smaller territories governed by satraps, and even Persian territories conquered by Alexander The Great kept their satraps. However, the Neo-Assyrian Empire used a similar system (400 years before the Persian Empire) with provinces and governors, meaning that The Neo-Assyrian Empire could have been the first empire with this political organization.
Comment: Egypt was traditionally governed through the 22 Nomes of Upper Egypt, and the 20 Nomes of Lower Egypt: https://en.m.wikipedia.org/wiki/Nome_(Egypt)
Comment: https://en.wikipedia.org/wiki/Upper_and_Lower_Egypt maybe?
Comment: @DenisdeBernardy -- that article doesn't say anything about Upper and Lower Egypt being *administered* as separate provinces, though.
Comment: @Peter Diehr Why not provide this as an answer? As that is informative and most importantly, correct.
Answer: Definition
It possibly depends upon which definition of province one is using.
Wikipedia, province

A province is almost always an administrative division within a country or state. The term derives from the ancient Roman provincia, which was the major territorial and administrative unit of the Roman Empire's territorial possessions outside Italy. The term province has since been adopted by many countries. In some countries with no actual provinces, "the provinces" is a metaphorical term meaning "outside the capital city".

Nome
If we are talking about administrative divisions outside of the capital city then ancient Egypt would have been earlier than the Neo-Assyrian Empire, and lasting longer too.
Britannica encyclopedia, Nome

Nome, administrative division of ancient Egypt. The system of dividing the country into nomes was definitely in force by the time of the Old Kingdom (c. 2575–c. 2130 BC) and persisted with modifications until the Muslim conquest (AD 640). In late times there were 42 nomes, or provinces, 22 in Upper and 20 in Lower Egypt.

Neo-Assyrian Empire
But if we are talking of provinces outside of the country, then yes the Neo-Assyrian Empire was probably the first to use such a system on a grand scale, even encompassing Egypt itself for a short period.
World history encyclopedia, Neo-Assyrian Empire

The Neo-Assyrian Empire (912-612 BCE) was, according to many historians, the first true empire in the world. The Assyrians had expanded their territory from the city of Ashur over the centuries, and their fortunes rose and fell with successive rulers and circumstances in the Near East. Beginning with the reign of Adad Nirari II (912-891 BCE), the empire made great territorial expansions that resulted in its eventual control of a region which spanned the whole of Mesopotamia, part of Anatolia, the Levant, and Egypt.


Why do we conclude that an electric field is null if the flux is null?

Question: Gauss's Law states that the flux is equal to the charge inside divided by a constant. and is also equal to the surface integral of the electric field. So, if there is no charge inside the closed surface, the flux is null but why do we deduct that the electric field is null at all points inside the surface? It doesn't make sense.
Comment: Who are we? We who?
Comment: It is not true that zero flux through a closed surface implies the field is zero.
Answer: Neither the flux through a portion of the surface nor the electric field within the closed surface has to be zero. But the total flux is zero and the electric field generation is zero.
For instance: If the closed surface is placed within an external electric field (an electric field caused by charges from outside the surface), then you can measure a non-zero fieldstrength of that electric field at points within the surface.
Think of the electric field lines like sun rays. If the closed surface is a glass box, then you can easily have light shining through due to the external source (the Sun or your flashlight). So you do have points of non-zero "lightfield"-strength within the closed surface.
But the field lines that "enter" will also "leave" through the surface. This is what Gauss' Law tells us. There may be field lines passing through the surface, but there is no electric field generated within the surface. Thus there can be no charge (a charge is an electric field generator) within the surface.
In the same way any flux entering will also leave the closed surface. The flux across one part of the surface is not necessarily zero (there is a positive flux through the frontal part of the glass box through which the light shines in). But the flux calculated for all parts of the surface must in total be zero. That's what you calculate when you find the surface integral where you (presumably) include the entire closed surface. We should thus not say that there's no flux but rather no net flux or no total flux across the surface.
Answer: Yes, you are right; it does not make sense. It does not make sense because it is just false. Take a point charge at the origin. The field extends everywhere, i.e., the field is $\neq 0$ everywhere. However, the total flux over a closed surface not including the origin is null.