Is Gauss the first who introduced congruences?

Question: I have read Disquisitiones Arithmeticae and I have read somewhere that he introduced the concept of congruence with this book.
Wasn't this concept already used by other Mathematicians in the past?
Answer: Gauss was anticipated by Euler by about fifty years, however his notation and terminology were somewhat more rudimentary, and he did not publish his work. The ideas are contained in Euler's Tractatus de Numerorum Doctrina (Treatise on the Doctrine of Numbers) that he started writing around 1750 but never finished, it was only published posthumously in 1849, long after Disquisitiones Arithmeticae. In it Euler defined "residue" with respect to an integer $d$ as the remainder from the division by it, noted that integers are thereby divided into $d$ classes, with all numbers in a class regarded as "equivalent" (unlike Gauss Euler does not have a symbol for this equivalence). He then defined arithmetical operations on classes and showed that they are preserved by assigning the residue to its number. Other algebraic ideas also appear in the manuscript, in particular Euler shows that residues relatively prime to $d$ have multiplicative inverses, and uses what is now called coset argument in group theory to prove a generalization of the little Fermat theorem to non-prime $d$ (sometimes called the totient theorem). Euler's residue classes are of course what Gauss called congruence classes, but some modern textbooks (e.g. Rosen's Elementary Number Theory) still use the terms residue and residue class. See detailed commentary in Katz's History of Mathematics (19.1.3).
Two numbers being congruent can be expressed in terms of divisibility or remainders, so a lot of prior work could be converted into the language of congruences once Gauss introduced it. Pythagorean even-odd argument, Chinese remainder theorem, Little Fermat theorem, etc. use arguments now associated with congruences. However, to say that Pythagoreans, Sunzi or Fermat already had a "concept" of congruence would be misleading, it would be like saying that ancient Greeks already used polynomials, limits and integrals by other names. The kind of abstraction of classes, equivalence and algebraic manipulations that went into the concept of congruence as Gauss presented it in Disquisitiones Arithmeticae (and Euler somewhat anticipated) was a major new step, not contemplated and probably unnatural in earlier times.
Comment: The Katz reference is now 19.3.2 in the 3rd edition. Your first paragraph appears to be mostly excerpted from there - including large verbatim quotes. To be fair to Katz, they should be properly quoted.
Answer: It is worth noting that Gauss himself did not claim to be the first to invent the concept of congruence.  In Disquisitiones Arithmeticae, after giving his definition of congruence and introducing his symbol $\equiv$, he adds the following footnote

Hoc signum propter magnam analogiam quae inter aequalitatem atque congruentiam invenitur adoptavimus. Ob eandem caussam ill. Le Gendre in comment. infra saepius laudanda ipsum aequalitatis signum pro congruentia retinuit, quod nos ne ambiguitas oriatur imitari dubitavimus.

which can be translated as

We adopted this symbol because of the great analogy that is found between equality and congruence. It is for the same reason that the illustrious Legendre, in a commentary that we will later have occasion to cite, retained the very symbol of equality for congruence. We hesitated to imitate this, lest any ambiguity arise.

To understand what Gauss is talking about here, we can simply follow his citations.  This leads to the following passage in Legendre's Recherches d'Analyse indéterminée,

Pour exprimer que $P$ est divisible par $A$, ou que $\frac{P}{A}$ est un entier, j'ecrirai $\frac{P}{A}=e$.  On peut omettre dans le cours du calcul tous les multiples de $A$: ainsi les coefficiens $a$, $b$, $c$, etc. et généralement tous les nombres sur lesquels on opérera, ne surpasseront jamais $\tfrac{1}{2} A$ en plus ou en moins.  D'après cette omission on peut écrire indifféremment $\frac{P}{A} = e$, ou $P=0$, pourvu que dans le dernier cas, on ne perde pas de vue le nombre $A$ dont on rejette les multiples.

which can be translated as

To express that $P$ is divisible by $A$, or that $\frac{P}{A}$ is an integer, I will write $\frac{P}{A}=e$. During calculations, we can omit all multiples of $A$: thus the coefficients $a$, $b$, $c$, etc. and generally all numbers on which we operate will never exceed plus or minus $\tfrac{1}{2} A$. Having made this omission, we can write indifferently $\frac{P}{A} = e$ or $P=0$, provided that in the latter case, we do not lose sight of the number $A$ whose multiples are rejected.

While Legendre did not use or introduce terminology like "congruence", "modulus" etc. to describe what he was doing, he was certainly writing equations in which it is implicit that the two sides are not equal, but rather differ by an unspecified multiple of a given number.  Further reading reveals instances where he manipulates these equations algebraically, in the same way that one manipulates ordinary equations (e.g. the first paragraph at the top of page 475).
Gauss appears to have thought that this was similar enough (or even identical) to his own concept of congruence, to the extent that he had to acknowledge it (and assert the superiority of his own notation).
Answer: Yes, the idea of congruences is due to Gauss. Case closed.
Earlier mathematicians had to write out divisibility relations or full equations, without the convenience of the congruence notation that make divisibility relations look like (and can be manipulated as) equations from algebra.
Why do you think it might have been introduced by someone earlier?
Comment: I am thinking that because Euler's Theorem use congruences for instance. And it was published before Gauss was born
Comment: Euler's theorem is formulated *now* in terms of congruences, but that doesn't mean he expressed it that way! Quadratic reciprocity is expressed in terms of the Legendre symbol, which was introduced by Legendre near the end of the 1700s, yet Euler discovered it many decades earlier. Euler wrote his work more awkwardly than we would because he lacked the notations we are used to.


Uncertainty of angular momentum

Question: Is it correct to write for the uncertainty
$$\Delta \vec L=\Delta L_x+\Delta L_y+\Delta L_z$$
meaning $L$ is the angular momentum and $L_x,L_y,L_z$ the components.
I couldn't find an answer in my textbooks.
Comment: Left hand side is a vector triplet. Right hand side is only one number?
Comment: That was my first thought also...but it was in the question of the exercise, find the uncertainty for $\vec L$..strange..i have to talk to my teacher.
Comment: Κύριε Ζάχο, τιμή μου που αφιερώσατε το χρόνο σας σε μια τέτοια ερώτηση..Σας ευχαριστώ!
Answer: It doesn't really make sense to talk about the vector $\vec L$ in QM because we know from the uncertainty principal that we can only know about one component of the momentum as well as the magnitude of the momentum ($L^2$). Since we can simultaneously diagonalize a component (say $L_z$) and the magnitude, we can talk about the uncertainty in each by calculating the expectation values as we usually would for an operator.
If you want to talk about the uncertainty of $L$, it makes more sense to talk about the uncertainty in the scalar quantity $\sqrt{L^2}$, the operator that represents the magnitude of the momentum.

Uncertainty of angular momentum


How can I create Report on Queues and queue members

Question: I want to create a report on Queues to get Queue name and Queue member name. How can this be achieved? I researched and found that this cannot be done using standard reports. I will need to create vf page and export it as excel? Any other solution?
Comment: I am getting queue members and inserting each in a custom object (Fields - Queuename, User). If someone removes a user from queue how can i check if this is removed(I would have to check both queue name and user) and delete the record from custom object.
Answer: Create a report type, from setup. In primary object select Queue. And then you can create a report on Queue as below,
Comment: I am not able to get 'Queue' in Primary Object dropdown. Can you tell me which org you are using? developer? I want to use Standard Queues that we access using setup. This is not a custom object.
Comment: Can you please clarify your answer? Because I am not able to see the Queue object in Report Type dropdown list, and also there is an idea post to this problem: https://success.salesforce.com/ideaview?id=08730000000BqYaAAK
Comment: Hi, I am using the Enterprise edition. Yes the one I had showed here is the standard Queue object. Have you try going to the new " Report type" from set up and check for Queue.The standard Quese should be there.
Answer: I used Einstein Analytics to automate the extraction of a list of Queue and members associated to each Queue.
The 3 objects used are: Users, Group and Group Members.
Here is how the dataflow looks:

This dataflow was then used to create a dashboard with a Table view of queue and queue members with filters. This list can be then be exported as an Excel or a CSV file as per the requirements.


World with 2 billion people

Question: How much would fertility rate need to drop for the world to stabilise at 2 billion people in 200 years time?
Would the world with this amount of people be vastly more peaceful and prosperous?
Comment: How is this related to world building? What I personally find weird about this question is that you make no mention of regional differences. Assuming this is about world building, how do you turn some number into something useful? Any person on Earth knows that there are significant differences across the globe. While the question can be asked just like you did, it still makes me wonder about said world building aspect.
Comment: Well, the world population was around 2 billion in 1940.  So I'm going to suggest no, it won't be vastly more peaceful.
Comment: And as a followup to @JGreenwell's comment, this is your third question and you haven't so much as taken our tour.  Your questions are consistently downvoted and one of three has been closed.  Stack Exchange employs automated banning procedures (that have nothing to do with us) that will soon impose a question-ban.  As a friendly warning - you need to start paying attention to the site.
Comment: Your second question is far too opinionated to be answered with SE's format - you need to edit this to something either measurable or researchable. As to the first question, research the [world population milestones](https://en.wikipedia.org/wiki/World_population_milestones) or just world population factors and expand your question, as a 2B population has not existed in a while and it would take more than just fertility rates to move to that point (researching South Korean fertility rates related to work hours might be a good starting point).
Comment: I will also note, this is the third question asked on the site with similar warnings. Please take a look at our [help center](https://worldbuilding.stackexchange.com/help/dont-ask) and try to formulate questions to match the requirements of the site so we can better help you build your world.
Comment: Why would human nature change just because the fertility rate drops?  How can a population stabilize at any value?  Population is limited by external forces.  Any internal force (like fertility) that stabilized at any value would critically destroy the species with the first plague or war (external force) that came along because the internal forces are balanced against existing external forces.  I cannot vote to close your question, but I'm forced to downvote.  You haven't thought the issue through, medically or ideologically, but should.
Answer: Wealth and Prosperity Cannot be Predicted This Way
I can kinda see your logic "if there were less people that means more resources for everyone!" Problem is, that simply isn't the case. As a population shrinks GDP and industrial output shrink with it proportionally. In addition, what is considered valuable and what measure by which prosperity is determined changes with cultures over time. Ultimately though, it is simply not possible to determine how wealthy or prosperous a culture will be by simply knowing it's population.
Propensity for War is Not Intrinsically Related to Population
Again, I see your logic here. "More space, more resources, less people, less reason to fight!" If I pointed out that the last time we had a World War the population was about 2 billion it might hamper this idea. Additionally, despite our population exploding like never before in human history, wars are becoming both less numerous and less violent. The last decades since WW2 ended have actually been far less violent and warlike than at any time in the last several centuries despite our population explosion. But Again, much like economics, We cannot possibly predict how warlike or peaceful a culture will be by simply knowing the population.
I'm too Dumb To Calculate Population Decline
Frankly, calculating birth rates, death rates, and how long it would take is some math that is a bit beyond me, so I will have to pass on that section of the answer. I do not math goodly. Not even a little bit.

World with 2 billion people


What happens to everyone else when Cage resets the day?

Question: So we know Cage gets the ability to reset the "day" by absorbing the blood of an Alpha mimic thus enabling him to kill the Omega and end the war. That's cool and everything but what happens to everyone else? We know the day resets for Cage and that begins a new loop but does that mean events in the loop that he just died in continue? Meaning that for everyone else the invasion fails and Britain is overrun since the whole thing was a trap to draw in the bulk of the UDF'S forces. Or does the day reset for everyone else but they don't have any memory of what just happened or what's about to happen?
Comment: The last one.  Note how he had to re-introduce himself to Rita and Carter on every loop.
Comment: I don't believe he's creating multiple timelines.
Comment: So does the day just get reset for everyone else then?
Comment: @JMERICKS Everyone else except the Omega.
Comment: The explanation of the resets is retroactive precognition, at least in the book. The world and the people in it don't reset because they never were. Him "remembering" past loops is because he gets shot that information.
Answer: It depends entirely on which theory of time travel the story is operating under, something that may, or may not be explained in the original source. However, I'm going to go out on a limb and assume that the theory under which the story is operating is a single universe with no time-line branching.
I'm making this assumption mostly because under the multiverse theory (used in a number of stories including Time Trax and Source Code), the constant resetting of time would leave behind countless broken universes, which seems contrary to the intent of the story - that the main character will be able to Fix Things. The same would also apply to a branching universe theory of time travel.
If there is a single universe with a re-writable history, then the answer is the second option given - time is reset for everyone and only those who are stuck in the loop have any idea of what is about to happen, or that they have repeatedly relived that same day, etc.
As @FuzzyBoots pointed out, the reset in question is a complete erasure of the entire time that passed during the period that was reset - that time never passed, those memories never existed. The exact mechanism allowing Cage's character to remember what happened isn't explained in the movie. In the book, apparently, it is clear that the information about previous loop iterations was transmitted to his mind when time reset, and that the character didn't actually "relive" that time, he only remembered living it previously.


Connecting to Magento Rest API by python

Question: I'm new to Magento API and actually a python programmer, there are some APIs I should connect to them through Rest and I stick to the first step of authentication with OAuth for getting access tokens and this stuff. Can anyone, please, help me through this in a very clear way.
I've got my consumer key and secret and want to connect and use the APIs.
Answer: In the magento2 admin panel please create your secrets by following the path:
Stores > Settings > Configuration > Services > OAuth > Access Token Expiration > Admin Token Lifetime (hours).
The following code block shows an autorizator class that can be used:
from requests_oauthlib import OAuth1

class Authorizator:
    """
    Authorization Class
    """

    def __init__(self, consumer_key, consumer_key_secret, access_token, access_token_secret):
        self.consumer_key = consumer_key
        self.consumer_key_secret = consumer_key_secret
        self.access_token = access_token
        self.access_token_secret = access_token_secret

    def get_authorization_object(self) -> OAuth1:
        """
        A function that returns the authorization
        :return: An authorization object.
        :rtype: OAuth1
        """

        magento_auth = OAuth1(self.consumer_key,
                              client_secret=self.consumer_key_secret,
                              resource_owner_key=self.access_token,
                              resource_owner_secret=self.access_token_secret)

        return magento_auth

To retrieve the magento2_authenticator object just use the following stmt in your code:
consumer_key = ""
consumer_key_secret = ""
access_token = ""
access_token_secret = ""

authorizator = Authorizator(consumer_key, consumer_key_secret, access_token, access_token_secret)
magento2_auth = authorizator.get_authorization_object()

Ideally you can pass the secrets by argparse instead of hardcoding them here.
Use the object then in your request - The following code block describes how to retrieve the current categories.
base_url = "https://yourstoredomain.com"
endpoint = r"/rest/all/V1/categories"
params = {"searchCriteria[currentPage]": "0"}
response = requests.get(url=base_url + endpoint,
                        auth=magento2_auth,
                        params=params
                       )

response.raise_for_status()

If the application is getting bigger please use the magento2 authorizator object as dependency injection for the relevant functions.


How do I locate a high-pitched screetching sound in my server room?

Question: What are the steps to troubleshoot my server room? There is a high-pitched screeching sound that is starting to drive me crazy. I am not sure if it may be a fan, but as there is no tech support in-house; I would like to try and figure out what's going on to stop or suppress it if possible myself.
Comment: Once she finds out what aisle or cabinet this is coming from, can we close this as "too localized" ?
Comment: It's amazing how hard it can be to locate a really high-pitched sound surrounded by lots of acoustically-reflective surfaces, even when it is the only sound around.  My UPS just did that, and it's under my desk, and not nearly as easy as you'd think to find it.  The suggestions below to use tubes or a "mechanic's stethoscope" are helpful!
Answer: One way I find to help isolate sounds is to take a magazine or something and role it up turning into a tube.  Place the tube next to your best ear, and cover your other ear.  Then move around until you locate the sound.  The idea is to use a tube to make your hearing very uni-directional.  Once you get close you may have to move the servers around, or go to the back of the server to be sure.  Also use the bone conduction trick suggested by Tom once you are close.
Comment: LOL @ "best ear". Reminds me of the old adage about warnings found on optical networking gear: "Do not stare into laser with remaining eye". :)
Comment: +1, I have done this with a shipping tube. All the fan noise can make it very difficult to locate certain frequency sounds.
Answer: Find the direction that it's coming from.
Walk towards it.
If it's stronger from the left or right, turn in that direction.
It could be a fan.
It could be a speaker in a UPS unit warning about low power. It could be a RAID card or internal battery unit complaining about something.
After that, hire some tech support.
Comment: +1 for hire tech support.  There are LOTS of stories of non-tech persons's "fixing" odd sounds in the server room only to bring the entire organization to a grinding halt because it was the AC or UPS or some such.
Answer: If it's a fan or other rotational screech, you might find it by using an improvised "mechanic's stethescope" -  A screwdriver, broomstick, or some other solid object.   Solid objects conduct sound better than air does.
Place the tip of the screwdriver against the thing you want to listen to.  Carefully put your ear to the handle of the screwdriver, so that it presses up to that little flap. You want a physical conduction path..  Don't put anything into your ear canal, obviously.  The noise will be quite evident when you find the source.
Comment: This bone-conduction method should work really well once you are close to the source.
Answer: If you don't have a lot of devices, shut each one off at a time and see if any of them make the sound go away. You could also shutdown the AC for a few minutes to see if that helps you make heads or tails of it. Most components will have an amber or red LED as well as the audible alarm to tell you something has failed. Trial and error, or ask someone experienced to come take a look.
Good luck Nora.
Comment: Interrupting service to find a sound isn't the best plan.
Comment: While shutting things down will work, you should be able to isolate the sound to a particular location without having to turn things off randomly, and interrupting services.
Comment: I didn't suggest turning things off randomly. I suggested process of elimination, or reducing ambient noise to more clearly pinpoint the location. I've dealt with enough bullshit buzzers in my time.
Answer: You might try wanting to put your ear up to each server (if you've not got too many) ... with luck, you'll find the screeching server by the one that's making a bit more noise than the others. It's worked for me before now tracing the server whose fans have spun up to full speed...


Are EVs actually worse for ambient air quality than cars with combustion engines?

Question: Most air pollution comes not from exhaust fumes but from wear and tear of tyres (it's 1000 times worse, some say). EVs are heavier because of their batteries and therefore release those tyre particles more. Are EVs actually worse for ambient air quality than cars with combustion engines?
Comment: There are two other factors that affect the rate of tyre wear: how aggressively or gently a vehicle is driven & the abrasiveness of the road surface.
Comment: Only if you consider the generation of the electrical charging power.
Comment: It's fair to consider too, by the way
Comment: See also [Do electric cars create more fine dust pollution than comparable petrol cars?](https://skeptics.stackexchange.com/questions/25280/)
Comment: You changed the question, the answer now can be shortened to a single word: no.
The previous answers, to the original question, have all the information needed to back this short answer.
Comment: This might be of interest: [*Here's why electric vehicles need EV-specific tires*](https://arstechnica.com/cars/2022/12/heres-why-electric-vehicles-need-ev-specific-tires/).
Answer: This totally depends on what you consider pollution and how you measure it.
If you measure pollution by weight, the vast majority of pollution is carbon dioxide. One liter of fuel produces 2.35 kg of it, so about 42 000 kg of carbon dioxide waste is produced during the lifetime of a combustion engine car. That's about 30-40 times the weight of the car. In that case, EVs win.
I would find it hard to believe that a vehicle would consume 42 000 kg of tyres during its lifetime. A set of tyres loses maybe 15 kg of rubber from new to fully worn, and a car maybe uses 4 set of tyres during its lifetime, so that's 60 kg of tyre rubber waste.
However, if you somehow think that carbon dioxide is not a waste but tyres are, then maybe, maybe not. The second most prominent gaseous pollutant a gasoline combustion engine car produces according to Euro 6 is carbon monoxide. At most 1 gram of it can be produced per kilometer. So in 300 000 km, that's 300 kg. But that's the absolute maximum. A good vehicle could very well produce only 50 kg of it, less than a vehicle produces tyre waste.
However, in today's world carbon monoxide is simply not an issue unless you plan to run your car in unventilated spaces. There's so little of it in air thanks to catalytic converters, so maybe you should consider something actually harmful, like volatile hydrocarbons or nitrogen oxides that produce smog, and even when they don't, nitrogen oxides are directly harmful to human health. A gasoline engine produces at most 0.16 g / km of these combined, or 48 kg during a typical lifetime, so yes, there's less HC + NOx than there's worn tyre rubber. (Especially considering that 0.16 g / km is the absolute maximum, usually the amount is much less.)
So you have to ignore at least two types of pollutants (carbon dioxide, carbon monoxide) to say that tyre rubber is the most significant pollutant. And even then, an EV wouldn't produce twice the amount of tyre rubber waste, maybe it would produce 1.3 - 1.4 times the amount of tyre rubber waste. So if that's the case, even then an EV would pollute less.
Besides, it's very difficult to do these comparisons since comparing by mass may not be the best way to do these comparisons.
Another thing to think about: EVs produce less brake dust due to regenerative braking. That, however, shouldn't matter anymore today since brake pads are free of asbestos.
Still, there's a valid point: tyre rubber waste is a significant problem, and for example biodegradable rubber could be a solution -- if we could only make rubber last long enough when installed in a car, but when broken to fine particles, degrade quickly enough in the environment, while still having excellent grip in tyres.
Answer: You need to ask are those numbers realistic:

Article says car emitted "5.8 grams per kilometer".
We assume that car has 4 tyres.
Kwik-fit (A company that wants to sell tyres, so may be an under estimate) "A general recommendation is that your tyres are changed every 20,000 miles or every 10 years." (that is 32186.88km)

If we do the maths then we see that we will have used 46.67 kg (102.8 pounds) from each tyre. Are tyres this heavy?
Two blogs say

Here are some examples: 155/70 R13 can weigh about 6.5 kg. 185/70 R13 can weigh between 7.0 and 7.2 kg. 175/65 R14 can weigh between 6.5 and 7.2 kg
The average tire is around 15 to 25 pounds (6.8 kg to 11.3 kg).

Therefore, we know that the numbers are bogus.
Comment: Indeed, and a 7 kg tire won't lose 7 kg from new to fully worn. A lot of is is casing, steel belts, sidewall, bead, etc that will still be there when fully worn. Only part of the tread wears away.
Answer: The relative contribution of tyre wear and tear to the total global amount of plastics ending up in our oceans is estimated to be 5-10%. In air, 3-7% of the particulate matter (PM2.5) is estimated to consist of tyre wear and tear, indicating that it may contribute to the global health burden of air pollution.
source: https://pubmed.ncbi.nlm.nih.gov/29053641/
But we should have in mind that 3-7% are all of tyre wear, from all kind of vehicles. If all vehicles were replaced by EVs, how this number will change?
Let's say it jumps from 3-7 to 5-10%. I don't think that the difference is enough to say it will make any noticeable difference in air quality.
@juhist I think you made a typo, the amount of carbon dioxide produced by 1 liter of fuel should be 2.35 g, not kg.
Comment: No it's not a typo. One liter of fuel weighs 0.735 kg. You add oxygen, so you get more weight for the carbon dioxide. 2.35 grams would mean matter somehow vanishes.
Comment: @juhist Got it! Thank you for making it clear, I didn't imagine that oxygen would add more than twice the weight of the fuel itself. After you said it was not a typo I stopped and remembered of the periodic table. Instantly I noticed why you are correct. Maybe because it's a gas we tend to think of it as being kind of light while in fact it is heavier than carbon.
Answer: EV cars have advantages they don't directly pollute in their vicinity. Power plant emissions are dependant on fuel type.

Coal: there aren't enough EV cars on market to care for exacerbate increased coal use, improvements in air scrubbing technology reduces pollutants. Since plants are often far from cities their pollution is not generally a factor. But typically a ton of particulates is produced per Gigawatt hour
Natural gas: methane has 2 combustion products,  carbon dioxide and water,  neither of which are atmospheric pollutants, some nitrous emissions are made due to combustion reaction with atmospheric nutrogen, but considerably less than coal
hydroelectric: inconsequential, no atmospheric pollutants
nuclear: inconsequential,  no atmospheric pollutants
wood: considerable, however outside third world and some European nations wood as electricity fuel is rare. However pollutants from wood burning are volatile organics, thus pose no long-term environmental consequences. Forest fires are naturally occurring.


Can I Develop custom webparts in VS2013 with a remote site in windows 8.1?

Question: I have windows 8.1 and wants to develop custom webparts for a remote sharepoint site. Can i do that using visual studio 2013?
I have subscription for sharepoint online portal.
Answer: For SharePoint Online, you cannot develop Web parts, but "only" add-ins that may contain App parts.
App parts are used (instanciated on the page) by end-users like Web parts. However, they're technical completely different.
So, to answer your question: yes, you can develop add-ins and App parts remotely from VS2013 on Windows 8.1. You can look here to "get started", but there's a lot of other articles on the Internet about developing SharePoint Online add-ins, App parts and how to setup the dev environment.


web hosting metrics

Question: I've started a new role overseeing an ad hoc web hosting division.
My boss has asked me to find some metrics he can use to ensure I'm on track ensuring the hosting services are run okay.
Can you please suggest some metrics I might use to measure my performance?
Answer: There is no single answer to this, and your solutions depend on your level of expertise, OS, architecture etc.
The most basic check is to (ideally remotely) regularly do an http request to a defined location and monitor its availability.   Doing this can be trivially simple if you buy into "The Cloud".  Services like Uptime Robot and Pingdom offer these services.
Getting more complex you can do DNS checks to ensure domain names are reachable, ensure SSL and domain expirys etc - really this depends on your point of difference.
Getting further into the weeds, if you are a real techy (and again, this can often be outsourced to the cloud), running something like Nagios can be used to monitor (and graph) arbitrary resources on your servers - so you can tell things like response times, disk usage, number of Apache processes, server load and so on.
Using graphs is particularly helpful when to tell trends and can often make it apparent when something is up.   Also, looking at number of requests and metrics from Fail2Ban, Wordfence or whatever security systems you have can be useful, as can bandwidth utilization.

web hosting metrics


How do I build frameworks in Xcode?

Question: I'm trying to use the GData framework, so I downloaded it and it came as an Xcode project so I assumed I needed to build it. So I opened it up and and clicked run and it compiled fine, but where do I go to access the .framework it created? I'm new to frameworks and have only been using xcode for a month or two so you'll have to excuse my lack of knowledge about it.
Answer: The documentation will help you
Anyway, by default the target is GDataUnitTest, just change it to GDataFramework. Once you compile it you will find the framework in the folder of the XCode Project called target.

How do I build frameworks in Xcode?


Is there an advantage in using 8-bit mode in 16x2 LCD displays?

Question: Since almost all 16x2 LCD displays support 4-bit mode, and as it seems to be pretty efficient, is there a reason why they have 8-bit modes? I am using a JHD162A display with my Arduino Mega. Since the Mega has a lot of pins unused, I was wondering if I should use the display in 8-bit mode, if that could improve something. I do realize that I might be able to save a bit on the time factor by writing all 8 pins at the same time and not having to wait for the latching, and I just want to know if there's something else.
Answer: The time, as you say, is the only thing I've found.
But it's both the added time out to the LCD and from the micro.
If you've got a time sensitive application (interrupt latency, etc), sending the full byte frees up the micro.


Frozen coefficient method (von Neumann stability analysis)

Question: Earlier it was considered that frozen coefficients method for Neumann stability analysis for finite difference scheme is more heuristic than rigorous. But I have read some information in a book by Gustafsson,Kreiss,Oliger that there are some conditions, which give us possibility to use frozen coefficients+Neumann analysis at the level of full rigor. As a book didn't give any reference, could you help me to find these conditions?
Comment: This question, if I understand it correctly, seems to open a rather big can of worms. Before you launch into finite differences, you might want to consider what happens at the PDE level. For the "standard" types of PDEs, well-posedness of variable coefficient problems can be deduced from that of constant coefficient problems, but this notoriously fails for more "exotic" types of PDEs, e.g. hydrostatic approximation of fluid mechanics.
Comment: In case the question gets little attention here, it might be useful to try http://scicomp.stackexchange.com/
Comment: @MichaelRenardy, actually, this question can be asked both for well-posed and ill-posed problems. Gustafsson and others consider mainly hyperbolic equations and corresponding IBVPs. My main interest is connected with parabolic equations, for which there is nothing exact in frozen coefficient method.
Comment: Could you please give a page number for the particular statement in Gustafsson that you are referring to?
Comment: This is not a statement, this is just a piece of text at the page 183:
"With certain
extra conditions, it is possible to prove stability for the variable coefficient
problem if all the "frozen" problems are stable. This has been done for approximations
of hyperbolic and parabolic equations, and the results for hyperbolic
equations will be given in Sections 6.5 and 6.6."
Bertil Gustafsson, Heinz-Otto Kreiss, Joseph Oliger Time Dependent Problems and Difference Methods Pure and Applied Mathematics A Wiley-Interscience Series of Texts, Monographs and Tracts  1996
Answer: I believe the intended reference regarding parabolic PDEs is:

Fritz, John.  On integration of parabolic equations by difference methods: I. Linear and quasi-linear equations for the infinite interval. Communications on Pure and Applied Mathematics, 5(2):155--211 (1952).

The paper is 57 pages long and I cannot find a later reference that neatly summarizes it.  The nonlinear case is handled in the last section (Section 8).
I found this paper while looking through the references in

Strang, Gilbert.  Accurate partial difference methods II.  Numerische Mathematik 6, 37-46 (1964).

which contains results for the hyperbolic case.


How could Giants hunt?

Question: In my story giants are about 13-14ft tall and weigh usually a little bit more or less than 1,000 pounds. Giants communicate through stomping their feet, and while running or walking through modulations of the footfall. Though while doing this the it would be the equivalent of being gagged while talking, other giants can understand what you're trying to say it sounds much more muffled. Giants also tend to be usually individualistic, and don't usually form very large groups. I was thinking of a few ways they could hide their massive size, maybe hiding underneath the grass waiting for something to walk over them. They could also simply raid villages for cows and sheeps, but I wanted hear others ideas on how such big and loud things could ever hunt anything.
Comment: Perhaps the majority of their diet isn't meat, so they don't have to be very good? And they spend a lot time eating plants?   Or perhaps they like fishing, and can sit quietly, or gather mussels or use nets. If clever perhaps they are good at making traps  or constructing fences in other ways to catch animals.
Comment: https://deadliestwarrior.fandom.com/wiki/Pilum pilums are just spears with a half metal shaft, people were able to throw them at a decent distance. Taller humans have stronger muscles and better leverages, hence they could easily throw at further distances .  https://en.wikipedia.org/wiki/Sling_(weapon)#:~:text=As%20a%20weapon%2C%20the%20sling,effective%20range%20of%20ancient%20weapons. ancient slingers could reach over 400+ meters in range(1300+ feet). For the same reason Giants could shoot even further and be considered snipers. Was my comment deleted because there were no sources?
Comment: How fast can these giants run? They presumably have a large stride and could simply run their prey down.
Comment: Also slings can be incredibly primitive, you can easily make cordage from grass, nothing but grass, there's tutorials on youtube, I did it, you can ty it too... it's strong cordage! Strong enough to hold the weight of a person! and spears are just pointy sticks of wood.
Answer:
others ideas on how such big and loud things could ever hunt anything

Why not take an example from humans, and have your giants be endurance predators? "You can hide, but you can't run!" sort of thing. They have excellent tracking skills, and follow big herds with long, efficient strides and tire their prey out til it just can't run anymore. If your giants follow a humanlike bodyplan, throwing seems like it would be an inevitable tool. Accurate, dangerous throwing is a bit of a human signature special move, compared to other animals.
Also, careful with "big and loud". Elephants are known for being kinda big, but they can move almost silently when they want... big feet and a relaxed pace work well in that regard. Your giants might not be ninja-like ambushers, but there's no reason that they have to clomp-clomp about everywhere if they didn't want to.

They could also simply raid villages for cows and sheeps

Humans have encountered many large, dangerous animals in their history. Animals with whom they have competed for food and territory. Huge things with massive claws and teeth that couldn't possibly be outrun or outfought.
There also used to be several other kinds of hominid out there. Intelligent, tool using species.
Nowadays, the other hominids are long gone, and almost all of the hazardous megafauna have gone too. Don't steal sheep from the human villages. It will end very, very badly for you.
Answer: They're trappers.
Being able to relatively rapidly construct large-scale traps (in relation to the fauna) - be they of the body-gripping or deadfall type, trapping pits or pentraps - giants don't even have to get near their prey, and prefer catching larger amounts of live animals to minimize efforts and waste.
Answer: They don't hunt, they wait, watch the skies, listen and follow their noses. - Slight frame-challenge.
Many herds of animals will roam for miles in search of water or grazing. Often they get picked-off by predators or just die of dehydration/disease/degenerate diseases associated with age.
The movement or presence of crows, vultures, hawks, condors, eagles, hyenas and coyotes all indicates the potential presence of fallen-flesh. Following these creatures is the key. Yep, they're scavengers and carrion-eaters, taking meat where they find it, fending-off predators from their kills, and other little creatures that might otherwise steal their meal. Their noses can smell that characteristic never-forgotten smell of death before it even takes the creature destined to become their next meal.
Comment: reminds me of the old theory of T-rexes being scanvangers, giant reptiles with fearsome weapons but too slow to hunt.
Comment: It reminds me what a lot of people thought (I believe) cave bears acted, or some sort of big extinct bear.

How could Giants hunt?


Module Access Privileges

Question: I'm experiencing an issue with the module access privileges section on the member groups settings page for a few of my member groups. The issue is several of my groups have "No Modules with Control Panel Access Installed" under the Module Access Privileges section and some of my groups list all my modules and provide yes or no access controls. I'm wanting to grant access to the RSVP module to another member group. In the past I just simply clicked 'yes' next to this module under the module access privileges and everything was fine. So I guess in short how do I enable the list of modules to be displayed for a member group that's currently displaying "No Modules with Control Panel Access Installed"? Any tips or suggestions for resolving this would be greatly appreciated, Thanks!
Answer: If they aren't set to be able access the control panel, and have their Module privledges turned on, you ain't getting to Albuquerque.
Can access the control panel?

Must be set to  Yes before Modules will show up on the Member Group edit page.
Can access ADD-ONS: Modules

Must be set to Yes for them to even see the Modules when they log in.
Comment: Can access the control panel is set to Yes and so is Can access Add-ons: Modules the section add-ons is also set to Yes yet "No Modules with Control Panel Access Installed" is still displayed under Module Access Privileges and this is on EE 2.5.2. Thanks for your comments they don't unfortunately resolve the issue though.
Comment: It should be noted I can create a new member group and enable the above options and the module access privileges are displayed fine. It's just that I cannot get them to display for 3 of our existing 9 member groups. Also for these groups where it's not displaying regardless of the previously mentioned settings there is no option to delete these member groups whether or not the locked status is enabled.
Answer: I ended up solving this with a new member group.

Module Access Privileges


Simply formulated but very hard problem about certain polynomial

Question: Let $L:=[k_1,\dots,k_n]$ be a list of natural numbers (i.e. $\{1,2,\dots \} $) , repetitions are allowed.
 How to prove that the sum of the moduli of the coefficients of the polynomial $$ \prod_{j=1}^{j=n}\left(1-x^{k_j}\right)$$ is greater than or equal to $2n$?
Answer: As pointed out by Daniel Fischer in the comments, the bound of $2n$ is sharp, so my previous attempt at solving the problem by factoring the polynomial and considering the absolute sum for $(x-1)^n$ doesn't seem to go in the right direction. Since then I've tried to look at the problem in a different way, so I'm going to report here my observations (I don't know if I should write this in a different answer; I'll keep the first one at the end of this).
I noticed that the polynomial $f(x) = \prod_{j=1}^n (1-x^{k_j})$ can be expanded in the following way. Let $L$ be the set of the indices $k_j$, counted with repetitions, as in
$$L = \{ (j, k_j) \mid j = 1, \dotsc, n \}.$$
For each $i$ let $C_i = \{ S \subseteq L \mid \lvert S \rvert = i \}$, and for each $c \in C_i$ denote by $t(c)$ the sum of the indices $k_j$ in $c$. Then,
$$ f(x) = \sum_{i=0}^n (-1)^i \sum_{c \in C_i} x^{t(c)}. $$
For example, for $n = 3$, we have that
$$ (1-x^a)(1-x^b)(1-x^c) = 1-(x^a+x^b+x^c)+(x^{a+b}+x^{a+c}+x^{b+c})-x^{a+b+c}. $$
In this case it is relatively easy to prove that the absolute value is greater than or equal to $6$, by reasoning on how we can cancel some terms (for example, even if $a = b+c$, we can't have less than six terms, otherwise we find a contradiction).
Nonetheless the general case seems hard to deal with.
Previous attempt
First recall that, for all $m > 0$,
$$ 1-x^m = (1-x)(1+x+\dotsb+x^{m-1}).$$
Then you can factor your polynomial $f(x)$ as
$$ f(x) = \prod_{j=1}^n (1-x^{k_j}) = \prod_{j=1}^n [(1-x)(1+x+\dotsb+x^{k_j-1})] = (1-x)^n g(x)$$
for some polynomial $g(x)$ whose coefficients are all positive. Now, since
$$ (1-x)^n = \sum_{i=0}^n \binom{n}{i} (-x)^i,$$
the sum of the absolute values of the coefficients of $(1-x)^n$ is
$$ \sum_{i=0}^n \binom{n}{i} = 2^n .$$
From this you should get that the sum of the absolute values of the coefficients of $f(x)$ is at least $2^n$.
If you're not convinced, notice that if $p(x) = a_0 + a_1 x + \dotsb + a_m x^m$ and $q(x) = b_0 + b_1 x + \dotsb + b_n x^n$, with $a_i,\, b_j$ integers, then
$$ p(x) q(x) = \sum_{d=0}^{m+n} \left ( \sum a_i b_j \right) x^d$$
where the second sum runs for all $(i, j)$ such that $i \le m$, $j \le n$, $i+j = d$. From this it's easy to see that the value you want to calculate never decreases when you multiply a polynomial by another one with positive coefficients.
Edit: This may not be as trivial as I thought, as my last argument was too rushed and now it seems to me that it could even be false. I leave the answer as a possible direction to follow until I can fix it.
Comment: @ Luca Bressan: Thank you for the interest to the question. I find your idea interesting. You wrote:"From this it's easy to see that the value you want to calculate never decreases when you multiply a polynomial by another one with positive coefficients". Could you explain that place in detail?
Comment: Actually, I think I haven't thought it through enough. If some of the $a_i$'s are negative it seems that bad things could happen. I'll edit the answer and leave it as an idea until I figure out how to fix it.
Comment: You have an upper bound of $2^n$ for the sum of coefficients, since that's the sum of coefficients of $\prod (1 + x^{k_j})$. You get smaller (absolute) sums for $\prod(1-x^{k_j})$, e.g. $(1-x)(1-x^2)(1-x^3) = 1 - x - x^2 + x^4+x^5 -x^6$ has an absolute sum of $6 = 2\cdot 3$, so $2n$ would be sharp. The idea of writing $1-x^m = (1-x)(1+x+\dotsc + x^{m-1})$ looks good, though. You get a factor with positive coefficients which sum to $\prod k_j$, and the coefficient of $x^1$ is the number of $k_j$ which are greater than $1$.


Multiplying two- or three-dimensional arrays with broadcasting

Question: Background

Disclaimer:  Skip if you are not interested in the background. The code is far far simpler than this.
  The problem is more about programming than math. Here is the definition of multiplication with broadcasting in human readable language.

I am trying to optimize the multiplication of large n-dimensional arrays  \$A\$ and \$B\$ with shape \$(I_0,I_1,I_2, ..., I_{n-1})\$ and \$(J_0,J_1,J_2,..., J_{n-1})\$ with broadcasting, as in matlab and numpy. \$A\$ and \$B\$ are stored in row-major order in memory.
The two arrays can be multiplied with broadcasting if for each \$i\$, at least one of the following three statements is true:
Case S1: \$I_i == J_i\$, Case S2: \$I_{i} == 1\$, Case S3: \$J_{i} == 1\$.
From the shape, we can define stride. Stride is the numbers of linear index  required to step through to take one step along each dimension of the n-dimensional array.
Linear index is the index of the 1D array in memory that stores the n-dimensional array.
The stride for \$A\$, which is \$(P_1, P_2, P_3,...,P_n)\$ has the following formula: \$P_i = I_{i+1}I_{i+2}I_{i+3}...I_{n}\$ except \$P_{n} = 1\$. Similarly strides for \$B\$ is \$(Q_1, Q_2, Q_3, ... Q_n)\$.
The general form of the nested loop is:

int cal_size(int* shape, int n){
    int size = 1;
    for(int i = 0; i < n; ++i) size*=shape[i];
}
int* cal_stride(int* shape, int n){
    int size = cal_size(shape, n);
    int* stride = new int[n];
    stride[0] = size/shape[0];
    for(int i = 0; i < n; ++i){
        stride[i] = stride[i-1]/shape[i];
    }
}

int n;
    //the number of dimensions (given)
int I[] = {I0,I1,I2,...,I_last};
    //shape of n-dimensional array A (given)
int J[] = {J0,J1,J2,...,J_last};
    //shape of n-dimensional array B (given)
int A[cal_size(I, n)];
    //1D array in memory that stores
    //the n-dimensional array A in row major order
int B[cal_size(J, n)];
    //1D array in memory that stores
    //the n-dimensional array B in row major order

int* P = cal_stride(I, n);
int* Q = cal_stride(J, n);
int i[n];
int j[n];
//The nested loop
int Ai, Bi;
for(int i[0] = 0; i[0] < I[0]; ++i[0]){         //Case S1
    for(int i[1] = 0; i[1] < J[1]; ++i[1]){     //Case S2
        for(int i[2] = 0; i[2] < I[2]; ++i[2]){ //Case S3
        ...
        Ai =  i[0]*P[0] //for case S1 or S3
             +i[1]*0  //for case S2
             +i[2]*P[2] //for case S1 or S3
             ...
             +i[n-1]*P[n-1]; //for case S1 or S3

        //The above line converts the multi-index
        //(i[0],i[1],i[2],...,i[n-1]) over the n-dimensional
        //array to the index of the 1D array
        //in memory.

        Bi =  i[0]*Q[0] //for case S1 or S2
             +i[1]*Q[1] //for case S2 or S2
             +i[2]*0  //for case S3
             ...
             +i[n-1]*Q[n-1]; //for case S1 or S2

        A[Ai] *= B[Bi];
}}}}}...}

(i think i can deal with this general part with meta-programming. For now, I am just concerned with optimization.)
Question
Is it possible to rewrite the following loop to give better performance?
Can memoization help?
I am not interested in unrolling because the actual array has 10,000+ elements.
#include <iostream>
using namespace std;
//version 1
int main(void){
  int A[24];
  int B[12];
  int iA,iB;
  //version 1.
  //(only one version is used. but i show all versions i can think of.)
  for(int i = 0; i < 2; ++i){
    for(int j = 0; j < 3; ++j){
      for(int k = 0; k < 4; ++k){
        iA = i*12 + j *4 + k*1;
        iB = 4*j + k*1;
        A[iA]*=B[iB];
        cout << iA <<"," <<iB <<endl;
      }
    }
  }
  //version 2.
  for(int i = 0; i < 2; ++i){
    for(int j = 0; j < 12; ++j){
      iA = i*12 + j;
      iB = j;
      A[iA]*=B[iB];
      cout << iA <<"," <<iB <<endl;
    }
  }

  //version 3
  for(int iA = 0; iA < 2*3*4; iA+=12){
    for(int iB = 0; iB < 3*4; ++iA, ++iB){
      A[iA]*=B[iB];
      cout << iA <<"," <<iB <<endl;
    }
  }

}

Assembly instruction generated by gcc compiler:
gcc godbolt of version 1
gcc godbolt of version 3
(version 1 and 3 give same assembly code after fixing the bug)
Wait a minute... in the actual case, the shapes are not known during compliation time. Is version 1 and 3 still the same in this case?
Comment: Can you please reformulate your question in a mathematically exact way. Why can A and B have different dimensionality with different number of elements. Do you only multiply the elements or do you want a full matrix multiplication?
Comment: It is simpler than full matrix multiplication. I seriously doubt most programmer would want the formal mathematical definition. But it is here. Hopefully this won't make everyone face palm and start to throw error.
Comment: hopefully this can work with openmp without too much trouble.
Answer: Bug
Version 3 does half as many multiplications than the other versions.  The problem is in the loops:

  for(int iA = 0; iA < 2*3*4; iA+=12){
    for(int iB = 0; iB < 3*4; ++iA, ++iB){

As you can see, you have both iA+=12 in the outer loop and ++iA in the inner loop.  For this version, if you are incrementing iA in the inner loop, you shouldn't also increment it in the outer loop.  The correct way would be:
  for(int iA = 0; iA < 2*3*4; ){
    for(int iB = 0; iB < 3*4; ++iA, ++iB){


WPF application causes Windows crash when returning from standby

Question: I am developing a WPF application and have recently started testing it on a machine with Windows XP Tablet edition. The application runs Full screen. When the computer goes into standby while my application is still running, returning from standby causes the igxprd32 display driver to stop working. When this happens I get a "Windows - Display Driver Stopped Responding" message, the resolution drops, and the colors get all messed up.
Instead of waiting for the computer to go into standby on it's own I've also test manually putting it into standby via the start menu. Bring the computer out of standby after this usually results in Windows crashing with a blue screen.
This only seems to happen on Windows XP Tablet edition.
What is causing this and how can I fix it?
EDIT: Apparently what I was told was wrong. The machine actually is running XP Professional,
using the Mobile Intel 945 Chipset Family. I installed the latest drivers from the Intel website, this didn't fix the problem. I did find that if you google "igxprd32" you find there are many people who have problems with this driver.
Answer: This might be too obvious but, have you checked for a more up-to-date driver?  I've seen this as the answer to similar problems on the MSDN WPF forum.


How to scale objects around a point, mantaining an anchor point fixed on illustrator?

Question: I am trying to follow this tutorial:
https://www.youtube.com/watch?v=LGAdzGj4vR0
There are multiple copies of a losange, rotated around the base anchor of the center one.
The guy on the video just rotate and copy the pieces with the rotate tool, and then scale each one with move tool. But when I try to do that, holding shift or alt, not holding any key, the piece move away from the center.
Even using the scale tool, where we can choose the reference point, it doesn't scale properly, it's like the shift is constantly pressed.
I need to scale freely but with the anchor point fixed. What can I do?
Comment: I came here because I was trying to choose an anchor or reference point while scaling my object in illustrator, select object -> press S -> click where you wish the anchor -> click on the object and drag (with SHIFT for maintaining the aspect ratio)
Answer: He doesn't use the scale tool to re-size the shapes.  He just switches to the select tool and the grabs a handle on the control box on the side he wants to move and the opposite end stays anchored.
Step by step:

Create your shape.
Switch to the rotate tool.
Click where you want to set the focus of the rotate.
Click drag to rotate, then press option to duplicate the shape then
release the mouse button.
Click the select tool (solid arrow) the shape should now have
handles (hollow boxes) in the middle of each side of it's bounding
box.
Click drag the control point on the side opposite of the rotate
focus point.


java changing attributes of shapes programmatically

Question: I want to create a number of straight lines connecting small circle shapes. then I want to change the color and width of the lines from within my program. I was thinking of using Canvas to do this but there does not seem to be a way to access individual shapes drawn on canvas to change their attributes after they are drawn. What would be an easy way to implement this?
Answer: First of all, what version of Java and which UI toolkit? AWT's Canvas is very dumb, it will not even "remember" what you have painted; when you minimize and restore the window, it will send a paint() event because it wants to be repainted.
The easiest way (if you are using AWT and stuck to Canvas) is to have a List of your shapes (either one list for all or one for circles and one for lines, or whatever you like) and make your paint method draw all of them. Then update the objects in your list. When you are done updating, call repaint() on your canvas and it will call paint() for you again.
Answer: You don't paint shapes onto a Canvas if you're using Graphics and Graphics2D functions like drawRect, drawPolygon, drawOval, etc. Once they're drawn, they don't exist as shapes anymore. You just have an image with filled-in pixels.
As mihi said, you may have to keep track of the shapes you're trying to draw, then regenerate your image if it changes. Perhaps you could also "unpaint" a shape you're trying to change by painting over it in the background color and repainting the changed shape.


"So many fewer people"?

Question: How do I say this correctly? I can't figure it out. Do I have it correct already?  I am trying to say that there are a lot less people. The opposite would be "so many more people".
Comment: [*Less* vs. *fewer*](http://english.stackexchange.com/questions/495/less-vs-fewer) has been covered elsewhere. So that part of the question is a duplicate. As to the rest, trying to find a parallel construction to "so many more" is an interesting theoretical excercise, but in practical terms, as has been pointed out above, when you are "trying to say that there are a lot less people", then you should go ahead and say just that. You just did!
Comment: Doesn't it have to be fewer (as opposed to less) since you have a finite number of people?
Comment: There's nothing wrong with *many fewer people*, but "so many fewer people" is unusual. One would normally omit "people", I think, or "so", depending on context.
Comment: What's wrong with a lot less people?
Comment: You can say either in **informal writing & in speech**, but on a standardized English test (TOEFL, TOEIC, IELTS, SAT, GRE) you will be marked wrong because the powers that be still think that "less" is for mass non-count nouns like _water, food, furniture, air_ (nouns that don't usually take a plural ending to indicate abundance) & "fewer" is for count nouns like _people, cars, jackasses, vampires_ (nouns that do take a plural ending to indicate abundance). Not all languages make this distinction. English does, but English speakers don't like it: too difficult to understand & remember.
Answer: The correct way to say this is far fewer people.
Comment: There is a difference. 'There are so many more people' conveys surprise, perhaps awe, at the unexpected numbers. 'There are far more people' carries no hint of any impression made by the situation on the speaker: it is unmarked.
Answer: I think that a sentence like "There are so many fewer people here than usual" is acceptable, conditionally.
The word so is emphatic. Therefore so much less or so many fewer should be avoided when the usual quantity is not great or numerous to begin with.
For instance "The paper cut in my pinky hurts so much less today" basically states that it doesn't hurt any more, but in a melodramatic way.
If there are only eight people here usually, then the emphasis in "so many fewer" is inappropriate because there can be at most eight fewer, and eight is hardly "so many".
A good rule of thumb may be: if the larger of the two quantities being compared cannot be emphatically described as so much or so many, then the smaller quantity cannot be so much less or so many fewer.

There were so many people here yesterday, and today there are so many fewer,
  in comparison.
Answer: I have to admit that when I saw the title of this question, I thought "I don't like that phrasing". And although I don't particularly like so many less people either, I thought it wasn't quite so odd.
I duly turned to Google Books, where I was quite surprised to find 800 instances of OP's version, but only 144 instances of my "best of a bad bunch" preference.
But they're both relatively low occurence counts for what one might expect to be a concept that would often need to be put into words. After all, so many more people gets over 40,000 hits. I think the reason people tend to avoid these forms is simply because we don't like the "disjunct" created by placing many and either fewer or less next to each other. Graphically speaking...

...which simply backs up comments suggesting OP should stick to the alternative he came up with quite naturally in the question text - there are a lot less people.

Note that this aversion to many less/fewer is far less marked with much more/less - and in fact, much smaller is much more common than much bigger.
Comment: I'm about twice as unlikely to like these sorts of things as the next guy, but this one doesn't bother me as much as twice as (negative attribute) does.
Comment: @tchrist: By *these sorts of things*, do you mean *these ubiquitous NGrams, which take up so much space and convey so little?*
Comment: I agree, `many less` and `much less` don't feel right, especially `many less`. I was surprised that these are correct. I always use `a lot less`. The `far less` in the other answer sounds good too.

"So many fewer people"?


How to translate "もしかしてそのスーシおニュー?"?

Question: I'm attempting to translate something but this sentence is confusing me.
It's the "お" and "スーシ" that I don't understand.
I hope this isn't too dumb of a question..
Answer: ツ ≠ シ
ツ ≒ つ and シ ≒ し.
「スーシ」 is how many non-Japanese people pronounce 「すし」.
Jokes aside, the word you saw would probably be 「スーツ」 instead of 「スーシ」.
「スーツ」 means a "suit", the clothes. 「スーシ」 does not exist.
「おニュー」 is a comical way to say "brand-new" or just "new". 「お」 is the honorific prefix for politeness.  This is a very exceptional usage of 「お」.
"Is that a brand-new suit by any chance?" would be my translation.
Come back if that does not make sense for the context.
Related: How to understand チラツ
Comment: What is the ≒ symbol?  (Apparently Google doesn't recognize symbols, so I don't even know how to look it up.)
Comment: @Kimball: 'is approximately the same as'; [≒ seems to be a CJK thing](https://en.wikipedia.org/wiki/%E2%89%92#Unicode)

How to translate "もしかしてそのスーシおニュー？"?


How can I caputre the email address from the cookie , when a user visits my website

Question: SO I have got a website where visitors just come and see and then they leave, i could monetise on selling only if i would be able to capture there email address, I read couple of sites doing that ie when you visit there site and do not register or give the email address , they still capture it, How do they do that? Any inputs would be highly appreciated
Comment: Here we try and improve information security, not make it worse.
Comment: Welcome! You're question needs far more detail regarding what you've tried and how your web application works. Otherwise one can only speculate which doesn't tend to produce high quality answers.
Answer: No, you can't capture email address from the cookies. Not unless there is a previous known javascript trick the user enter the email and store it inside the cookies for anyone to retrieve it. (And with a cross domain cookies access rights ) .
HOWEVER, there is another way to steal email exploiting Browser Auto-complete/Auto-fill, by embedding hidden input filed into HTML form.  You can check out this web article for details: Prevent Autofill From Stealing Your Personal Data.
Most Browsers already fix this blind autofill features, Chrome required a mouse click intervention to trigger the auto-fill. Nevertheless, one should not take the patch for granted. So it is a good idea to disable auto-fill or remove crucial personal info in auto-fills.


No suggestion for misspelled added words

Question: I've added a word to the Mac dictionary.  When I spell it correctly, I have no problem. If I misspell it, I don't get suggestion that includes my correct spelling. This happens even when my misspelling is very close to correct. Can I get a correction for a word I added, but later in use, misspell?
Answer: You can create your own corrections in System Preferences → Keyboard → Text. These corrections can be used to correct misspellings for any word, regardless of whether you've added the word to the dictionary yourself. Add your misspelling to the 'Replace' and the correct spelling to 'With', and repeat for multiple misspellings.


Are relations with spouse on demand generally required

Question: According to Halacha, is one generally obligated to have intimate relations with your spouse if they ask for it? A man is obligated to have it generally, but my question is, even if a man fulfills  that duty, does he have to give more at his wife's will? What about a wife's obligation to her husband?
Comment: The technical question is not invalid, but realistically this is not the way couples should reason in a healthy relationship.
Comment: [Kitzur Shulchan Aruch 150:8](https://www.chabad.org/library/article_cdo/aid/4297995/jewish/Chapter-150-Laws-of-Modesty.htm#v8) (in translation): "When a husband sees that his wife is enticing him, trying to please him, and beautifying herself in front of him, in order to attract his intention, he is obligated to be with her even if it is not the appointed time; and from such a union will come worthy children. However, if she demands it openly, she is a brazen woman, and she is considered like a harlot; and he is forbidden to keep her for a wife."
Comment: possible duplicate https://judaism.stackexchange.com/q/93653/759
Comment: Only if you shell out extra for the premium ketuba.
Answer: For a halachic view see here:
https://ph.yhb.org.il/en/category/14/14-02/
For a spiritual view:
The gemara says that when Leah was assertive with Yaakov she merited to have a son who was a תלמיד חכם.
וְאִילּוּ גַּבֵּי לֵאָה כְּתִיב: ״וַתֵּצֵא לֵאָה לִקְרָאתוֹ וַתֹּאמֶר אֵלַי תָּבוֹא כִּי שָׂכוֹר שְׂכַרְתִּיךָ״, וּכְתִיב: ״וּמִבְּנֵי יִשָּׂשכָר יוֹדְעֵי בִינָה לַעִתִּים לָדַעַת מַה יַּעֲשֶׂה יִשְׂרָאֵל רָאשֵׁיהֶם מָאתַיִם וְכׇל אֲחֵיהֶם עַל פִּיהֶם״.
While with regard to Leah, it is written: "And Leah went out to meet him, and said, You must come in to me, for indeed I have hired you with my son's mandrakes" (Genesis 30:16). Her reward for demanding that Jacob fulfill the conjugal mitzva with her was the birth of Issachar, and it is written: "And of the children of Issachar, men who had understanding of the times, to know what Israel ought to do; the heads of them were two hundred, and all their brethren were at their commandment" (I Chronicles 12:33).
https://www.sefaria.org/Eruvin.100b.19


How would you visualize authorization deviation with 90+ rules?

Question: Users can preselect an authorization set (1). And, later on, modify the set.  As a user, I want to see how the original authorization set differs from the one I changed.  So I can see which permissions are disabled/enabled in permission. The totality of rules is around 90.
Any patterns out there that can help me solve this problem?
Comment: Would you please describe a bit more about the role of sections 2 & 3?
Comment: @ErhanYaşarit's a random design I made. I wasn't sure otherwise how to explain it without a visual. Section two is related to the authorization set with all the rules included. And, the divergent authorization shows which rules are divergent from the normal set. Hopefully, this will clarify the situation!
Answer: With so many rules there can be a very high density of information with potentially a lot or very little change. However, since the focus is on the delta (i.e. difference rather than actual details) between the previous and current rule set, the visual design is on how to highlight the disabled/enabled permission differences.
The easiest approach is to compare the two sets of configurations side-by-side and highlight those rows that are different. You can simplify this so that either the previous or current configurations are shown as well.
Alternatively you can try to divide the entire set into smaller sections or chunks, which means you can provide a more concise summary without losing too much details (e.g. if you just summarized the number of changes it might not be meaningful enough). You'll also have to indicate what the change in the permission is (i.e. whether they have been enabled or disabled).
As you can see, there are a number of potential design strategies and solutions that can meet the brief requirements that you have outlined, but to come up with a more specific solution requires a better understanding of the use case and constraints.


What to do when a user has posted the same answer two times

Question: this user has posted what that looks like the same answer to a multiple of questions. What is the best way to deal with the case?
Comment: If it's the exact same answer, an automatic flag is raised and a mod will handle it. I don't know if it does the same for very nearly identical answers, but you can flag for a mod and explain, linking to the offending answers. Now if the answers are similar but tailored to the questions... I would look at the questions, decide if they are duplicates, and flag the questions for closure if they are. I'm not sure if a flag would be appropriate on the answers at that point.
Comment: Useful to know, the questions seem to be the exact same so they are probably flagged.
Answer: If you can legitimately use the exact same answer to multiple questions, there are two main possibilities:

The answer is too broad to fit all of the questions it's applied to.  Consider downvoting the (probably) unhelpful answers.
The questions are duplicates of each other and should be closed instead of answered with the same answer.  Close/flag them as such.

Either way, you should comment on one of their posts and let them know what they are doing wrong.  If you feel the situation will not be resolved after informing them, you can raise a custom flag for a moderator and explain the situation.
Comment: Raising a custom flag for a dupe answer is a bit extreme if you ask me. Mod attention is for serious business only.


Freescale ARM mcu

Question: I'm looking to go for a freescale arm cortex m0, specifically for MKE04Z8VTG4 device. The question is: it is possible to programming it from uart? Without any hardware programmer? Is there some ide for c language programming?
Comment: Insuffient research - question should be closed.
Comment: @LeonHeller wrong as usual. You would think manufacturers would make such things like bootloaders quite prominent in their data sheets, **but in fact they usually do not**.  Typically it buried in some other family series app note.  And for a **missing feature** (which is my strong suspicion for freescale ARMs) there is usually *nothing* which says it doesn't exist - only an inability to find anything which says it does.  SWD should work though, and you can use another similar part like one of the USB-capable Freedom boards as a programmer with openOCD.
Comment: Plenty of information is readily available. Question should be closed.
Answer: As far as I know, STM is providing their chips with a UART Bootloader. With them you just connect your USB-UART Module to the UART1-Pins and pull Boot0 and Boot1 High.
But mostly for ARM Cortex Stuff you can use any SWD Programmer available. Cheap one start on ebay for around 5$. STLink is just STM's Branding for their SWD.
Freescale offers you a list of IDE's you can use, of which many use C to programm

Freescale ARM mcu


Comparison between $\rho^0$ and $J/\psi$ decay mode

Question: Why must a hadronic decay of the $J/\psi$ meson include (at least) three gluons? Why is the decay mediated by a single gluon allowed for the $\rho^0$ meson?
Comment: Added 2nd part to answer. Is *this* what you had in mind?
Answer: Gluons carry color. So a colorless meson cannot annihilate its valence quarks to decay to one colored gluon and nothing else. You are flat wrong that the ρ decays thus through one gluon.
Two colored gluons, may combine into a colorless object, think $\bar R G$ and $\bar G R$, and the singlet has C=+. But the ψ has C=- , like the neutral  ρ. Neither can decay through 2 gluons.
The  ψ can, and does decay through ggγ : check your PDG.
Finally the (also charmonium, but scalar)  χ has C=+ , and can and does decay through gg.
It's hard to see how you'd learn about the three gluon decay without a justification of the reason.

Edit in response to comment: The possibility arises that you are not focussed on Zweig's rule violation, but  are interested in a two-meson decay mode involving the original valence quarks. This mode is available to the ρ, above threshold for a 2 π  decay, but not  to the J/Ψ(3097), below threshold for a 2 D(1865) decay; so that channel is closed, and you must decay via annihilation of your valence quarks.
By sharp contrast, the   Ψ(3770) is above threshold, and so does very much decay to 2 D s, so, then, analogously to the decay of the   ρ , somewhat misleadingly dubbed in the question as a "one gluon decay". The colored quark pair created by that gluon has to combine with the (color altered) valence quarks and hadronize through a resolutely nonperturbative process involving quintillions of soft gluons.
Comment: Hi, thanks for the reply. I'm not completely sure about your answer. Why do you affirm that the $\rho^0$ cannot decay via one gluon without any violation of color conservation? There is no energy conservation violation (it has enough mass), it is in the PDG and here is the Feynman diagram https://physics.stackexchange.com/questions/163965/mathrm-rho0-meson-decay-via-the-weak-interaction
Comment: Alas, that Feynman diagram is purely metaphorical/poetic: you'd *never* think of it as the leading term in a valid perturbative expansion at such energies. Throw in a few trillion gluons all over the place with comparable significance. This type of decay preserving initial valence quarks is unavailable to the *J/Ψ* for energy availability reasons--see edit to the answer.  The way the question is articulated, it is apparently asking about Zweig's rule suppressed decays.


Is C is a portable language for new architectures or it is specific to ISAs?

Question: How is the C language portable to any instruction set (I mean for new architectures)? Do we have to write a new C compiler for each new architecture?
Answer: in general, every new architecture needs a new port of the C compiler (along with the rest of the C tool chain)
Usually this starts with the development of a 'cross compiler' on a known architecture to compile C for the new architecture.
(the compiler, itself, can be what is being compiled, from source, for the new architecture.)
even a related new architecture needs lots of updates to the compiler to take advantage of the new architecture.  For instance taking a 8086 C  compiler and modifying it for a 80486 architecture
the changes between the underlying hardware (8 bit, 16 bit, 32 bit, 64 bit, 128 bit, etc requires changes to the compiler to take advantage of the new architecture.  Changes to the compiler, due to a different bus (ISA, s80, etc etc can be made to take advantage of the different bus capabilities, but is usually not a first consideration.   A much more important consideration is:  What instructions can the new CPU support and how is 'pipelining' handled and what ALU/etc units (and how many of each unit) are available in the new CPU.
Answer:
How C language is portable to any instruction set (I mean for new architecture).

It is not, but C is portable to most reasonable instruction sets close to existing ones.
As an hypothetical counter-example, you might define a computer architecture using ternary (not binary) or decimal. Both did happen in the past (1960s: IBM/1620 was decimal, Russian Setun was ternary). For these machines a C [cross-] compiler is simply not possible. On past Lisp machines (or Smalltalk ones) or on Rekursiv or iAPX432 machines, C would be very difficult (nearly impossible) to port. The current SAFE Darpa project defines an architecture which is not C friendly.
In practice, availability of bytes (of 8 bits), byte addressing, Harvard or Von Neumann architecture is almost required for a reasonable C compiler.
C -and a big lot of practical programs coded in C- could be ported to most 32 or 64 (or hypothetical 128) bits machines (but would be much more difficult to port to 24 bits or 48 bits machines, or to machines with 9-bits char and 36 bits words, even if that would be feasible in principle).
Of course, when you define a new architecture today (e.g. RISCV or MILL), you practically define it to be more or less C compatible (and close to some existing processor, often able to run some POSIX-like OS) and you design (and code, often by porting some existing compiler like GCC or Clang), a C cross-compiler for it. Otherwise, if your architecture is radically different, you need to think (and budget) the development of compilers and operating systems for it.
Also, you are not sure that a given program (e.g. the Linux kernel, or the Firefox browser) can be easily be ported to your new architecture.
Be aware that software portability is not a yes/no feature (think of endianness, data alignment, cache coherence on multi-core processors, implementation specific code, asm instructions, undefined behavior, availability of libraries, operating system API - Win API is very different from POSIX). The saying is there is no portable software, only software which has been ported to some particular computer. Even Linux distributions for x86-64 have various and different package managers, and to compile your same source code you could need different packages on different distributions. For instance RefPerSys is a free software -coded in C++17 and using Qt5- for Linux I am contributing to, but depends on various packages named differently (and in its commit e611de7f depends on the build automation tool omake 0.10.3 which might not be packaged on your distribution, but omake is GPLed free software)

Do we have to write again C compiler for new architecture?

Yes, and that could be a cross-compiler. Look inside the source code of GCC for various examples. Each of them could mean a year of full-time work.
Comment: "Also, you are not sure that a given program (e.g. the Linux kernel, or the Firefox browser) can be easily be ported to your new architecture." How so? What would make it that a C program would not work on a new architechture when compiled with a C compiler that targets this new architechture ?
Answer: Yes.  The instruction set is defined, machine code, an assembly language syntax is defined along with an assembler.  Most likely a linker, and then you are ready for a port of the C compiler.  And then you can start with bootloaders, operating systems etc (naturally after design verification or as part of it).
On rare occasions does anyone vary from this path, and as rare do they succeed.  You can always port countless languages as well, but you wont get very far without an assembler and a C compiler for a general purpose processor.
If it is not a general purpose processor then an assembler may be all that is required.
Answer: We don't have to write a C Compiler for every new architecture. For example the Lisp Machine and the Java VM can do very well without a C compiler.
However, if you really want to, C is portable even to these architectures as they are Turing complete.
For the common, C-friendly architectures an often used approach is to start writing and using a C cross-compiler. If you then want to be independent of cross-compiling, you can cross-compile a C compiler and voila, you have a native C compiler on your new architecture.
Comment: How would you propose that software implementations of LispM and the JVM come to run on a new architecture?
Comment: @Blrfl. That is a different question. On a "common" architecture, I would probably start porting a Compiler to it and continue from there. :)
Comment: @Blrfl: You can write a LispM/JVM interpreter/bytecode transpiler in the machine code of that new architecture. It'll be very tedious, but it is not actually that difficult.
Answer: If the capabilities of your new ISA are similar to existing ones, then you can save a lot of work. For example, you could add a new backend to LLVM and get many programming languages for free.
To do this, you would describe basic details of your ISA to the compiler (bit sizes of integers, pointers, floating point numbers). Your C code can then be compiled to some intermediate language containing things very similar to assembler, but ISA independent. You then have to write a backend that translates this intermediate language to your ISA.
By writing one backend, you get all programming languages supported by the frontends for free.
Now if your ISA is too different, like ternary, crazy word and pointer sizes and so on then you might have problems.
For more information, check this article by Chris Lattner: https://aosabook.org/en/llvm.html


Change membership expiration rules

Question: We want membership signups or renewals to expire at the end of the following year if made after July 1. So for example you sign up today (Sept 2018), then your membership is good through Dec 31, 2019.
Is there any way to do that?
Answer: You can do this by:

Going to Administer menu >> CiviMember >> Membership Types.
Next to each membership type you'd like this to apply to, click the "Edit" link (see screenshot 1 below).
On the Membership Type screen, set Membership Type Plan to "Fixed", set Fixed Period Start Day to "January 1st", and Fixed Period Rollover Day to "July 1st" (see screenshot 2 below).
Press Save.

Change membership expiration rules


Flutter deactivate screen timeout

Question: How to deactivate screen timeout in Flutter?
Answer: You can do it using this Flutter package : https://pub.dartlang.org/packages/screen
On Android you will have to add a new permission on your AndroidManifest.xml file
<uses-permission android:name="android.permission.WAKE_LOCK" />

Install de plugin
Add this dependency in your pubspec.yaml file
screen: ^0.0.3

And use it in your dart files:
import 'package:screen/screen.dart';

// Prevent screen from going into sleep mode:
Screen.keepOn(true);

Comment: Thank you! This works perfect on Android!  Is is also preventing IOS to turn off the screen? The plugin description is writing it is working on ios. I was not able to test this until now because i am still setting up my enviroment to compile ios...

Flutter deactivate screen timeout


Do turbo prop airliners generate thrust using the propeller and compressed air or just the propeller?

Question: I looked at a picture of a q400 engine and it showed air being compressed so I was wondering if it has two systems to generate thrust.
Answer: Turboprop engines transfer almost all of the turbine's rotational energy to the propeller, though there is some waste in heat and exhaust gas as in all engines. The exhaust does not form any major amount of thrust unlike in other turbine engines ("jet engines", like a turbofan or turbojet). Turboprops are more efficient than other "jet engines" at lower altitudes due to the thickness of the air at lower altitudes whereas jets are more efficient at higher altitudes, though turboprop pilots will tell you they fly a jet, being that a turboprop is still a turbine engine, aka a jet. :-)
Answer: The PT6A provides approximately 10% extra thrust from exhaust gas
http://www.turbokart.com/about_pt6.htm
Comment: Where does the linked article say so? I can't find it. Also many aircraft employing PT6A have the exhausts mounted so that they only loosely direct the exhaust gas to the rear (PT6A is a reverse flow engine; the gasses exit the engine itself _forward_) and nothing like a nozzle that could generate thrust.


Accessing a previous wallet

Question: A couple of years ago I purchase a little Bitcoin. I don't know where I purchased it through, but I do have the Wallet Name, Wallet Address, and Wallet Key. How do I retrieve it? Can I access it through any exchange? I'm confused here a little.
Comment: Do you have the private key? What wallet was it? Was it an online wallet? Everything will depend on those things.
Answer: Not sure what you mean with Wallet Key but if you mean the password for access to your wallet in the exchange then this will only work in that exchange.
Please search for your address here to verify that your coins haven't been transfered somewhere else.
In case you were provided with a seed then you can use this seed in a wallet like Electrum or Mycelium (an Android app) to recover your funds :)
If you don't have the seed then you better remember where you purchased your bitcoins! :/ Maybe checking your search history or your inbox?
Answer: I'm a little bit confused by what your statements, an exchange shouldn't give you any wallet name, or key. You usually only have the address that you deposit to or take funds from.
If you have the private keys, you could easily get your funds by importing them to a real wallet (Electrum, Bitcoin-qt etc.)
Note that a lot of exchanges got hacked or closed in the last couple of years, use the wallet address you have in blockchain.info and see If it actually contain the funds at least.

Accessing a previous wallet


How to fix auto-dim?

Question: It seems like many people have asked how to disable the auto-dim feature (System Settings -> Brightness & Lock -> Dim screen to save power). But I am having the opposite problem. I want this to work, but it often fails, i.e., the screen stays lit after the designated time has elapsed. Sometimes I have been able to fix it by logging out and then back in, but now that doesn't seem to work either. This is on a System76 Ratel Pro with an HDMI monitor. Ubuntu 16.04, kernel 4.4.0-24.
Comment: A workaround has been mentioned in here: http://askubuntu.com/questions/459591/how-to-disable-screen-dimming-in-14-04
Answer: I looked on help.ubuntu.com and found this (again, it was someone wanting to disable the dimming):
Terminal command for checking/unchecking "Dim screen to save power"?
So I tried:
gsettings get org.gnome.settings-daemon.plugins.power idle-brightness

Got back 30. So, I tried this:
gsettings set org.gnome.settings-daemon.plugins.power idle-brightness 0

Now it works!

How to fix auto-dim?


Why am I getting a 31 character limit on file saves from Mail all of a sudden?

Question:
Is this because I installed macOS Sierra from Yosemite a couple of months ago, it's on my B Mac so don't use it so much.
Answer: From the screenshot I am assuming you're trying to save an attachment directly from Mail.
If so, there is a known issue that a corrupted Mail index causes this odd 31 character file size limit when saving from Apple Mail. The best way to correct this is to follow Apple's instructions for rebuilding your Spotlight index.
If my assumption is wrong (re the Mail app), let me know and I'll update my answer with broader solutions beyond just the Mail app issue.
Comment: correct assumption, trying the fix thx.
Comment: No worries. Keep in mind that it may take quite some time to rebuild the index and that your Mac may not function as fast while it's happening. All the best!
Answer: Per this Macworld article, you could try the following and see if they help.

You're trying to save out of Apple's Mail app and it has a corrupted index. Many users across many forums and years report being told the character limit for a volume is 31 characters, then re-indexing Mail, and the problem disappears. Go figure! But if it works, it works. The simplest way to fix Mail is to re-do your whole Spotlight index per Apple's instructions. (There are outdated instructions on Macworld and elsewhere for deleting Mail's index by itself, but these seem unreliable in El Capitan.)
If you're using a network or external volume that's not formatted for Mac OS X (as HFS+), you may be hitting a limit for that other format.
Some software was never properly updated to move from a previous maximum 31-character limit many, many years ago—this dates back to Mac OS 9! But for compatibility's sake, some software throttled filename length. Apparently, some apps still adhere to this.
Your full Unix path may be too long. There's a soft limit of 1024 characters for the entire path from root to your file (like <code>/Users/glenn/Documents/Hope Springs Eternal/Smashmouth/Ringbearer/Oodles.txt/</code>). Some users report being able to create paths longer than that, but then experiencing problems.
You may need to repair your disk. The best way is to boot into OS X Recovery, run Disk Utility, and run Repair Disk on your startup volume. Restart your Mac, then hold down Command-R until you get the recovery screen. Launch Disk Utility, select the startup volume, and click Repair Disk; do the same for the partition in that volume. Then Restart.


Creating a topology on a metrizable space.

Question: If I have a topological space $(E,\tau)$ that is metrizable for a metric $d$, and then I look at the set of all open balls in this metric $d$, will this always form a topology? If yes, will this topology be the same $\tau$ ?
Comment: In general, the collection of open balls will *not* be a topology. Let's think to the case of the standard topology on $\mathbb{R}$ (which is induced by the metric $(x,y)\mapsto\vert x-y\vert$) ...
However, the unit balls form a base for the topology induced by a metric (by definition !), which means that every open set is the union of a family of open balls.
Comment: Joseph's answer differ (edit not anymore)
Answer:
Yes, the topology induced by the open balls for the metric $d$ will be a topology.

I want to specify that the topology induced by the open balls is not the set of open balls, but the set of union of open balls.

But no, there is no reason that this topology would be the same as $\tau$.

Take for instance $E=\mathbb R$, $d=\vert .\vert$ and $\tau=\mathfrak P(\mathbb R)$ the discrete topology where every subset is open.
You have have two different topologies.
The answer for your second question is yes if you consider that metrizable means that the metric need to be deduced from the topology.


Why won't the arbor lock engage on my Ryobi circular saw?

Question: As I was putting the saw blade on my new Ryobi Circular saw my finger slipped off of the blade lock button while tightening and now I cannot get the blade lock to engage again. What would be the fix for this?
Comment: What happens with the button or lever? Is it jammed or does it move freely? Often a little tapping with a block of wood jars things loose. You might also drizzle a little household oil into the mechanism.
Comment: Have you tried rotating the spindle?
Comment: Is it still under warranty?
Comment: I don't know what happened to the button. I was tightening and my finger slipped off while I was turning the wrench and disengaged the blade lock. Now it won't lock. I am going to try hitting it as suggested. I did give it some oil before I put on the blade. If that does not work I will try the screw driver to block it from turning as Nate suggested. If those things do not work I will return it to the store as it is brand new. This is my first time using it. Thank you for all of  your suggestions.
Answer: Thank you everyone for your suggestions. I tried the screwdriver but the blade still turned so I knocked it on the bolt with the handle of the screwdriver and that did the trick.
Holding that engage button down is hard for small hands so I am sure I will make this mistake again.
Thanks again.
Comment: Good deal. Don't forget to accept your answer to resolve the question.
Answer: You can probably use a screwdriver between the teeth of the blade and the guard to prevent the spindle from turning while you wrench on the nut. I bought a used miter saw a few years ago with a broken spindle lock and this is how I change the blade on that.
If it's under warranty, I wouldn't recommend you try to fix it yourself, and instead send it out for repair according to the manufacturers' guidance.
Comment: Thank you Nate. I will try this.


Beef stew was left cooling on the stove for like six hours

Question: I cooked a pot of beef stew...I slow cook the roast and vegetables until 2am I fell a sleep and woke up around 9am is it safe to eat?
Comment: Basically you need to guestimate whether your food was in the danger zone below 140F / 60C for more than two hours. My estimation: yes. Does this mean your food is *certainly* spoiled? No. General food safety guidelines - and that's what we follow here - will tell you to discard the food. See more [here](http://cooking.stackexchange.com/questions/34670/how-do-i-know-if-food-left-at-room-temperature-is-still-safe-to-eat) and [here](http://cooking.stackexchange.com/questions/64171/is-it-true-cooked-food-cannot-be-left-in-room-temperature-for-longer-than-4-hour).
Comment: Welcome to Seasoned Advice.  We get a lot of similar questions like this.  You might find some useful information in Stephie's link as well as in [this question](http://cooking.stackexchange.com/q/17528/15018).  Basically, government food safety organizations generally say you should consume or refrigerate leftovers within 2 hours.  Cooked food may or may not be safe beyond that time.
Answer: Seven hours is not much, starting with a sterilised stew. Use you senses. Are there bubbles? Does it smell strange? Have a mouthfull, does taste off? If not, I would eat it. In fact, I wouldnt even give it a second thought after seven hours starting from fresh.. but US regulations, yes, would say it cannot be served. Good you are not running a restaurant, but this is just home cooking, er?..
Comment: The tests you recommend won't catch everything that could have gone wrong with it... would maybe eat (if I ate beef), wouldn't serve to anyone else without an understood warning. And also, there is a term worth nitpicking about: You aren't starting with a *sterile* (but pasteurized) stew unless you pressure cooked it and kept the cooker shut until you started measuring. If the pot was covered all the time it *might* (speculating from physics) reduce the chance of problems, IF it was last covered (and kept so) when the contents were colder than they ever were after cooking finished.
Comment: To be extra clear, the big reasons we tend to stick to strict government agency recommendations here are that outside that it's hard to say anything but "maybe, it's risky" and that potentially thousands of people could read any page here, so even if it's a one in a thousand chance of serious problems, it might well result in something pretty bad happening.
Comment: Yeah yeah, better safe than sorry, rules are there for a reason. The chances of getting even slightly sick are minute guys, and you know that. To throw away good food that you put care in for abstract remote safety possibilities is just another symptom of a society gone crazy about risk avoidance. Agian, using you senses is a great test. That is what they are for. I am certain if 100.000 people in this situation would do this, NONE of them would get poisened. A few hours at room temp, with no signs of spoiling? Really, use your common sense. Especially because neither of us know the stats..
Comment: To be extra clear: I am fighting the mentality of blindly obeing rules here, that were put in place based on little data, and an over-the-top mentality of risk avoidance. I am not saying restaurants should ignore these rules, but in home cooking , well, that is a different situation.  Anyone can blindly follow rules, make them into an answer, and feel right about it. I am sticking my neck out and trying to get some form of rational thinking, common sense into this. We should have that much more, and that runs deeper then advising about a stew.....
Comment: Yes, that's what I mean with "you still shouldn't serve it to others that are unaware of what happened to it", because such rules are there for others to rely on, too.
Comment: Yes, and that is exactly what I mean: more excuses to follow rules. Just because you serve it to friends and family, does not mean that you should stick to industrial standards. You STILL an think for yourself. Mayb an example: raw milk cannot be consumed in the US, but a farmer can drink it of course, and give it to the friends and family. Should restaurants serve raw milk?? Maybe..in france you can buy it in the supermarket, in the US they would close the shop for it, Now, whose rules are you obeying? US, France? Why? Think for yourself, seving to others does not change anything.


Homomorphic Encryption vs. Garbled circuits

Question: I'm currently trying to understand all the differences between homomorphic encryption and garbeled circuits. As I understood the use of homomorphic encryption hides either the data or the computation from the computational party, but what about the circuit? Is only the data hidden with homomorphic encryption?
Comment: @sashank I think you may have changed the meaning of the question. As I read it, the original question was whether *homomorphic encryption* also hides the circuit/algorithm. But hopefully M. Reif can clarify?
Comment: @otus yes, you are right. The question was exacly about whether homomorphic encryption does hide the algorithm
Comment: Does it look correct now? Feel free to [edit] further if you don't think so.
Answer: There has been work on using garbled circuits while also hiding the function. This can be done via implementing a universal circuit inside the garbled circuit. However, the standard garbled circuit does reveal the topology of the circuit. Also, when considering malicious security, the most efficient method is cut-and-choose, and this reveals the actual circuit. When you need to hide the function, then you need to take care of this explicitly (e.g., via a universal circuit, as mentioned). Here is one paper by Mohassel and Sadeghian that considers this question.
Beyond this, there are many differences between FHE and secure computation. In general, FHE is one way of getting secure computation, but it can also be used in other settings where secure computation is not applicable (e.g., when you cannot have interaction). However, FHE is not yet efficient enough for most tasks, and garbled circuits is much much faster. Having said this, in some cases, it suffices to use somewhat FHE (which works for low-depth circuits), and this can be very fast.
Answer: yes in general garbled circuits allow hiding of data from other party. Secure Two party computation is all about a known function which both the parties agree upon priorly (For example, in millionaire's problem, it is comparison) and Subsequently hiding their particular inputs from other