Why do computer-science majors learn calculus?

Question: I am curious why computer-science majors have to learn calculus to receive their bachelor's degrees. My father worked as a software engineer for twenty years and never used it. It seems to have little more value in programming than other forms of mathematics. What is it about calculus that makes it a requirement for computer-science majors? Is it just that it's a tradition in STEM fields?
Comment: @Jennifer Please don't use the comments for answers. Just because there's an accepted answer doesn't mean that there can't be other highly voted answers, and personally I take votes more seriously than the checkmark anyways since they represent the opinions of more people. Would you mind copying your comments to an answer?
Comment: See also: [How/when is calculus used in Computer Science?](https://cs.stackexchange.com/questions/55462/how-when-is-calculus-used-in-computer-science) on ComputerScience.SE
Comment: I don't think that "will I use it" is a good metric to evaluate whether you should take something.  Don't believe me? Talk to all those people who think that knowing states and capitals is important.
Comment: Why don't they learn it in high school? I did. The only mathematics I did in CS was the basics of twos-complement and floating-point, and a semester of numerical programming. But then it was 48 years ago ...
Comment: Back in the early 1980s, I had to take Calculus for CS. Thanks to SAT, etc. I got into an advanced (very small class) Calculus. I had no idea what was going on. Those who did know what was going on got As. Those who didn't, but tried (me), got Bs. After 3 semesters I switched to "regular" Calculus - and ended up with a C. Now, I hardly remember **anything** from Calculus as I haven't needed to use it at all in > 35 years. Algebra, logic - absolutely. Calculus - not one drop.
Comment: ... is that calculus acts as a *barrier to entry* so not every Tom, Dick, and Harry gets that degree -- and so keeps salaries high.  (I'm not so sure that's true anymore with outsourcing and inverted corporations.)  I also went back to school and started on a business degree -- and I had to take statistics.  I don't see the relevance there, but again it's a barrier to entry.  (Never did finish that business degree, but so what?)
Comment: When I was at university many moons ago, the joke was the calculus was meant to thin the field and make more Management Information Systems grads. The computer engineering students said the same thing about calc 4 and diff eq to make more computer science grads.
Comment: So they don't have to repeat the mistakes of other majors who don't learn it. https://fliptomato.wordpress.com/2007/03/19/medical-researcher-discovers-integration-gets-75-citations/
Comment: Since an answer has already been accepted, I'll put my response here.  The obvious answer is you *may* need calculus; it depends where you end up working *after* you get your degree.  Employers want to hire grads who know their stuff; and if a given employer wants CS grads who know calculus, they want to be able to find them.  (I myself took lots of math courses and some intro courses in civil engineering, accounting, and so on because I wanted to draw on that knowledge if one of my future employers needed it.)  But another answer ...
Answer: There are several answers:
Answer 1: Not all CS programs
First, not all CS programs require calculus in order to get a bachelor's degree. The Bachelor of Arts (BA) program at Mills College, where I teach, does not require calculus. Instead, we require two semesters of discrete mathematics, which we consider far more useful to computer scientists, because it (at least the way we teach it) includes:

inductive proofs
Boolean logic
proof by contradiction
sets
combinatorics
basic probability
recurrence relations
graph theory
matrices
regular expressions
finite state automata
formal languages

Answer 2: Scientific foundation
That said, getting a Bachelor of Science (BS) degree from Mills or just about any other school requires calculus as part of general scientific knowledge, along with introductory chemistry, biology, physics, etc., none of which we claim someone will necessarily be useful to a computer scientist. These courses are part of the college-wide BS core, not specified by any individual department. The idea is that anyone holding a BS degree should understand the fundamentals of major scientific fields even if they will never apply them in their careers. (Similarly, most colleges require students to take classes in history, even though they are unlikely to become time travelers.)
Answer 3: Historical reasons
Computer science as an academic discipline has not been around that long. Most CS programs started within either Mathematics or Electrical Engineering programs. Both of those fields legitimately require calculus. I went to MIT, where CS was added to the EE department. All CS majors were required to learn both digital and analog electronics, the latter of which requires calculus.
Personal thoughts
In my decades as a computer scientist, including in industry, I never used any of what I learned in the required calculus (I, II, and III), linear algebra, or differential equations. That said, they did give me the background to go into computer graphics, electrical engineering, or machine learning, had I later chosen to.
Whether programs should require calculus is another question.
Comment: To add to both of your Answer 2's: (a) Generally one wants to develop mathematical maturity, and calculus is 1 way to do this; (b) Many math curricula are set up quasi-linearly, so that Calc I and Calc II are the first courses you take beyond high school math.  At my university they are prerequisites for Discrete Math and Linear Algebra, not because they are logical prerequisites but because we want some baseline of mathematical maturity for students in those classes.
Comment: This. Definitely this. But to have the flip answer down as well, I'm physicist by training and a programmer by trade and I *do* use my calc/diff-equ fairly regularly. Mostly *not* to do raw numeric work, but to reduce the domain problem to something more suited to programatic solutions (that is, I do analytic solutions to improve the computability of the way we express the domain problem). So there are corners of the programming world where that stuff is useful, but it is certainly not a large part of the wider field.
Comment: I'll note that some of the things you learn in elementary calculus are in your "answer 1" list: sets, logic, especially quantifiers, and proofs. I'll also note that you had a dilemma a while back about something you wanted to do with your advanced students that became more complicated because they hadn't had calculus. I can't recall the details.
Comment: @Buffy I hadn't realized that those topics were taught in calculus. I don't think that's universally true. I believe our students' not having calculus was a problem when we wanted to teach electives on computer graphics and machine learning.
Comment: with the exceotion of inductive proof and matrices those were not in the calculus course I did, but rather (witht ehfurthe exception of probability) were in the "discrete mathematics" course (which was a requirement for CS)
Comment: As an aside: Don't assume "BA == arts".  Cambridge and Oxford only offer BA degrees to scientists and engineers.
Comment: A related anecdote: Solving recursive equations into a closed form, which is part of Discrete Mathematics, is curiously similar to solving a differential equation. My knowledge in Calculus saved me here in university, as I could not figure out for the life of me how to do it. Only after realizing the relation to differential equations and applying the Calculus knowledge from my Physics courses did it finally make sense to me. Math is not an island and neither is CS. There is no such thing as useless knowledge.
Comment: @MartinBonner - BA certainly stands for arts, but art here doesn't mean smearing paint, it means highly skilled work as in "artisan", not "artist".
Answer: It's certainly of little use in CS fields which centre on databases, OSes, general PC applications, and anything like that.
It's somewhat important in CS fields relating to data transmission. Whilst this is mostly centred on OSI layers and the like, there is theoretical work by Nyquist and Shannon which underpins it, and the theory is ongoing.
However calculus and extensions from it are critical for a number of other major CS areas. Off the top of my head:

Digital signal processing for audio
Digital signal processing for graphics
Computer modelling of processes
Optimisation of processes
CGI
Games with objects moving (most obviously in 3 dimensions, but even working out position changes for a varying speed in 1 dimension needs calculus)
Computer vision
Electronic control systems for anything that moves (cars, planes, missiles, machinery, ...)
Some forms of data compression, especially lossy data/audio compression

All of these either use calculus directly, or use further maths which is derived from calculus.
Comment: This is all true.  Plus, things change in the industry.  A different answerer here says she never used linear algebra.  Boy is that changing now in the AI/ML revolution. Most of number theory seemed pretty useless to working programmers. Until RSA appeared and remade crypto. Plus, I didn't study category theory as a mathematics major in the 70's.  Don't even remember it being offered.  But given my strong interest in programming languages and software engineering I sure _now_ wish I had. In the future there may be _more_ uses for calculus by programmers than you've listed already.
Comment: I'm not an educator, but I am a CS major. What I've found is that you might not need calculus just for "general CS tasks", such as programming, software design, etc. But you absolutely DO need it in many cases when the company you're working for requires you to build software that revolves around calculations. It's far easier to do so if you do understand yourself what the math is supposed to look like, instead of trying to just copy whatever the engineers/math people tell you to.
Comment: @tfrascaroli Indeed.  I spent roughly 15 years in embedded software engineering having never needed anything more complicated than a simple 1st-order filter.  Then I started my current job.  Over the last few years (and still on the to-do list) are filter design and implementation in fixed-point FPGA code, multi-stage PID control for position and velocity (with acceleration potentially in the mix later), feedforward trajectory shaping, and multi-axis cubic-spline position linearisation.  I've used more maths in the last 5 years than in the entire rest of my career!
Comment: @tfrascaroli ... What just occurred to me too is that when I was learning this stuff at uni, they never made it seem relevant.  I actually had a conversation at uni with the engineering department head where he said "This is not supposed to be a practical course.  We're teaching you what you think you should know, not what will help you in your job." Of course he was kind of right, but it was also an epic fail.  Engineers are hands-on people, and if you can't show us an application then it's not likely to stick.  This does lead to the OP's problem of finding relevance, if your teachers can't.
Comment: @Graham That is the problem, yes, not that calculus is somehow irrelevant. That, and teachers who don't even know themselves the practical applications of what they are teaching. They (mostly in my case) are mathematicians who know nothing about application and programming. I'm not saying they ought to, they are theory-people. That's precisely not the kind of teachers you need in CS.
Comment: @tfrascaroli Precisely.  My combinatorics class was exactly like that.  All of the examples were like, "If Bob can't stand next to Steve, how many ways are there to arrange 10 people for a photo?"  For the entire semester, my thought was, "Who cares?!  Just line them up, separate the fighters, and take the picture already!"  Then a substitute CS professor during dead week finally made it click.  It's not about lining people up for a photo; it's about calculation effort for a given algorithm.  Seems like the departments need to talk to each other a little better.
Comment: @DDuck If educators can't explain the relevance of a concept then either they don't understand the concept or they don't understand how to educate. For school teachers, it's often the former. For university lecturers, my experience is that the vast majority couldn't teach a child to tie their shoelaces. Either way, if students are still ignorant of the concept after taking the class, the educator has failed abjectly and it's the educator who needs to change.
Comment: @Graham: It's an important general intellectual skill to be able to take something you have learned in one context and recognize *by yourself* its relevance in a different context.  (If it wasn't for this skill, humanity would never figure out anything it hadn't already known.)  The point of math classes is to give you a chance to practice this skill - because math is precisely the discipline of taking facts out of context so they can be generalized.  This begins with 2+2=4, where we generalize adding two apples to two apples and walking two miles followed by walking two miles.
Comment: @Graham: I find that I *cannot* learn a concept in the context of an application, because any application worthy of the name inevitably has many distracting details which obscure the concept.  Also, in the context of an application, it's very hard to tell what it is in the application makes the concept not apply perfectly, so you never get the pure form, only an approximation.  I can *only* understand a concept completely in a toy situation.  But, then again, I'm a pure mathematician.
Comment: @Graham: I should add - back when I worked in technology consulting, it was precisely the people who could not learn in an abstract setting who could not jump into a project and contribute on day 1 - they needed to spend a month learning the whole context of the project and the technologies used before even doing a relatively independent task.  Given that the projects might only be a month or two long, people like that were mostly useless - and tended not to stay with the company.
Comment: The difficult bit is not in changing the educators, but getting the students to understand: _If you know about something, then you may apply it, but if you're ignorant of the concept, you can't._
Comment: @DDuck That's not my experience at all.  When I'm tutoring, if my student doesn't understand the application of what they're learning, it's because I haven't taken the time to understand how it applies to them.  The same was true at the university level, especially for CS and EE students, where they are extremely application-oriented and could care less about theory that will never apply to them.
Comment: @AlexanderWoo That's true enough, but you've given a good example of how critically important it is to have the concept taught in at least one recognisable context. You can only generalise a concept you already understand. The idea that you can teach out of context and then parachute in the various contexts has long been proved to not work. Students who do learn, learn *in spite of* this so-called "teaching", and always by finding themselves some practical application which ties the concepts to a context.
Answer: In addition to good answers given, some others.

Plenty of computer scientists do use calculus, and other important math.
It's good general mathematical training, which is helpful to learn to think rigorously about other topics later on.
Building on the above, it's helpful for understanding (not just learning to write down, but understanding) some CS topics that might not directly require calculus, like growth rates of functions and big-O notation.

You could ask a similar question about, say, doctors and organic chemistry, and i think similar answers would apply.
Comment: I feel like your second point is the one that isn't being stated enough. Being equipped with more tools than you need gives you more options when you encounter problems, the old adage that "when all you have is a hammer, every problem starts to look like a nail" is decidedly truthy. Ways of thinking are tools too. Being able to look at a problem through the lens of someone who can do calculus may lead you to different solutions than otherwise, and that can only be a good thing.
Answer: While it's true that today not all CS programs require calculus, I believe the answer to this question will change due to trends in Machine Learning and Data Science.
First, many topics in Machine Learning -- such as neural networks -- require knowledge of derivatives to really understand common algorithms like gradient descent.  Familiarity with vector calculus, partial derivatives, etc., is essential for this reason.
Second, with the explosion in big data we need future CS grads to understand data science fundamentals -- including a deeper appreciation of probability and statistics than before, which invariably means more calculus.  Deriving the basic Normal distribution, for example, requires integrals.
Therefore, I believe it is now essential that CS grads learn calculus, even if calculus wasn't always required before.
Comment: @KevinBuffardi Most university CS programs are intended to be preparation for further specialized or academic work--not just a "learn to code" experience. Distribution reqs exist so those who graduate from a program are exposed to its subfields & have a base for future work in a specialization (if any). Someone specializing in UX or computational theory also has no "need" to take a hardware class... Nor does a UX person have need of math--unless they want to work in mobile device sensors, or analyze UX survey results & A/B testing, or...
Comment: Interesting perspective. I agree that we're entering an era where probability and statistics are increasingly important to applications of computer science. However, let me play devil's advocate for a moment.

Do you really need to be able to compute differentiation to understand _rate of change_, as applied to concepts such as Big O?

Do you really need to be able to compute integrals to understand concepts that involve _area under the curve_ such as normal distributions? I have the gut feeling that these essential concepts can be understood without knowing how to calculate them with calc
Comment: @KevinBuffardi sure, you can understand them conceptually without knowing the technical side. But the formalism, frustrating as it is, exists for a reason; and to really understand even the simplest ML--not just neural nets--beyond an introductory article requires at least multivariable calculus and linear algebra. I'm about to graduate with an MS CS. and I still plan to spend the next few years learning more math, because I'll need it to actually understand data science as a practitioner.
Comment: @Tiercelet I won't contest that there are areas within CS that require sophisticated understanding of calculus. However, the question is why _all_ computer science majors are _required_ to take calculus. Certainly, it makes sense that you have taken advanced calc classes, but what about a student who isn't getting an MS with a concentration in ML? Is there a compelling reason why every CS student should be required to take calculus, whether they want to be a software developer, UX specialist, security analyst, database administrator, CS theory researcher, etc?
Comment: @Tiercelet I agree that degree requirements are often designed to demonstrate a breadth in the discipline as well as prepare students to be lifelong learners. Many will go on to specialize in an area that doesn't directly use every single required class. However, I think there are strong arguments that everyone should take a CS Theory class - even if they may never directly use it at their jobs - because the topic is vital to establishing a broad foundation in CS. Same goes for most required classes. However, I honestly can't make the same argument for Calculus. Maybe you can?
Comment: Side note: as a former UX consultant (and now a professor), I've actually used _a ton_ of statistics in both roles. However, I would make a similar argument for stat as calc -- they make sense as prereqs for certain electives and can be really useful in some applications, but I can't make as strong an argument for them being fundamental to computer science as I can for Discrete Math (which I _do_ think every BS in CS should require), for example.
Answer: Much of the material one learns in school has no direct utility in one's job as a software engineer. Conversely, much of the working knowledge one needs as an industry practitioner is not gained in school. What school is supposed to do is provide some basic knowledge and a basic framework for learning, out of which an individual is going to actively retain a small-ish portion for their day-to-day use on the job.
However, much engineering work is multi-disciplinary, and therefore "surplus" knowledge is not exactly useless: it can provide a useful bridge to other disciplines. Calculus in particular occurs in the math that describes physical processes.
In today's global economy, it is likely that one will switch employers and job specializations multiple times in one's career. At the start of one's career it is impossible to foresee what knowledge is going to come in handy later on. About twenty-five years into my career, I found myself interfacing to domain specialists whose bread and butter are differential equations. When I was in school, studying for a CS degree, I could have taken optional classes to learn about differential equations, but decided not to as I was already struggling with my math workload. So late in my career I came to regret my earlier decision, as it put me at a disadvantage relative to colleagues with a working knowledge of differential equations.
The exact nature and number of math classes required in a CS program may in part be driven by departmental tradition. For example, in the school I attended, the CS program had grown out of the math program in the early 1970s. Therefore, math was heavily emphasized. In fact, as an undergrad I took exactly the same math classes as students in the math program. Out of those, linear algebra turned out to be useful for computer graphics, and numerics turned out to be useful for high-performance computing. Multi-dimensional analysis and statistics I never needed again, but it might have been quite different had my career taken me in a data science direction.
Comment: If it's useful for physical processes, it may be important for data around physical entities, for example mapping stresses on architecture, or flow of liquids and gases. Simulations are a very important part of a lot of very important fields. There's always a big application for something in my experience. Having the tools to understand something will always broaden your horizons and open up career paths that might remain closed otherwise.
Answer: This isn't really an answer, but I'd like to say a few things about calculus. I think that what is needed by a CS major from that realm and what is needed by a math major are very different. As such, I think that if calculus is taught to CS majors, and to history majors, for that matter, the needs imply that it might be a different sort of course than that taken by the math majors.
First, not a lot of people who have taken Elementary Calculus (i.e. Calc I, II, and III) actually have much insight into what is really the point. It is easy to get lost in details of differentiation and integration and techniques and such without realizing that it is really a study of the relationship between what happens locally with a function (differential calc) and what happens globally (integral calc). It is all tied together by the Fundamental Theorem.
But even the nature of the derivative is poorly understood for a long while - it took me several years of graduate study in math to really grok it. The derivative you study in Elementary Calculus is really only one specific form of a wide variety of possibilities. The limit used in Elementary Calculus could be replaced by alternatives. The difference quotient in the derivative could be replaced by another "average ratio of change". This would result in a different theory.
However, the standard version of Elementary Calculus (note that I keep writing Elementary") is very good for understanding the behavior of well behaved functions: those that are mostly continuous. But aside from Catastrophe Theory (why do bridges fall down unexpectedly?) it is these continuous functions that form the basis of understanding a lot of the applications of both math and CS. Probability, for example, depends on calculus once you get past counting.
So, elementary calculus is useful for applications of rational thought to the real world - which CS folk do a lot of.
However, the "nice" functions of elementary calculus are pretty boring to a mathematician. The interesting functions are those that are misbehaved - even wildly misbehaved - even wildly misbehaved everywhere. A function that is continuous but nowhere differentiable starts to be interesting. A function that is continuous everywhere but zero, but takes on every real value in every neighborhood of zero starts to be interesting. That is where the calculus sequence is headed for math majors, but it probably isn't very useful for a CS person. How about functions not even defined on the rationals. Is that a yummy or a yucky?
So, a good compromise, if a university can arrange it, is to have a single course that is something like Calculus I with some ideas of the derivative and the integral, but focused on why these are important (rates of growth, etc) rather than just computational details, might be worth designing and offered generally to people interested in becoming widely educated, rather than becoming mathematicians.

Note that this precise subject was the basis of my doctoral work: variations on the ideas of calculus and the deeper meaning for the study of functions.
Comment: A function that is continuous but nowhere differentiable starts to be interesting. -- In HS we had a rule where asking a maths question the teacher couldn't answer got a reward equivalent of passing a test. So, in 3rd year of HS (11th grade) that's exactly what I asked: is there a function which is continuous everywhere but is not differentiable anywhere? And I got my reward! I am still proud thirty years later. So yes, that's interesting and unusual.
Comment: The issues with understanding applications of Math you describe is a common failure of modern education in my opinion. Without educating students on the nature of Physics, it is nearly impossible for them to grasp where the Math they are being taught is originating. However, if you introduce students to the idea that derivation is used to determine acceleration from velocity, and that integration is used to determine velocity from acceleration; perhaps more students would have a stronger grasp of math fundamentals. Especially, for example, when we examine the math for emitting photons.
Answer: There are many good answers here, but ultimately your question comes down to, "Why does A require X, when my dad was B for many years."
Software engineering is not a field that only seeks out computer scientists.  I work in software engineering right now having graduated CS, but I work along side of other software engineers from various engineering degree programs, math degree programs, and science degree programs. In short, you do not actually need a computer science degree to be a software engineer.
What does this mean about computer scientists? What do they do that is different?
As others have so very well pointed out, there are areas that computer scientists are pioneering. Machine Learning is one example, but look at the other answers for more good ones.  Another area that hasn't been mentioned is computing theory.
In short, a computer scientist major learns calculus, not because it is necessary for software engineering, which does not require a CS degree at all, but because of what Computer Scientists can potentially do: Software pioneering, refinement, and computational theory.
Some of this is academic in nature, some of this is still something you can get a job doing in the commercial sector. My former boss at this company has a Ph. D. in computer science, and I know 2 others who work here that also do, and they handle slightly different work. One is in charge of R&D, another is in charge of developing a brand new system no one has ever conceived of before, and I'm not sure what the other one does.
In short though, if you were looking to get into software development, you are right, you likely do not need Calculus, you also don't need a Computer Science degree. However, if you want to be a top innovator in computing, that's when you want to get that degree.
Edit: An example of a Computer Scientist who is not doing software development with his degree is the one I was able to sit in on for his Graduate Thesis. He was doing microcircuit design using machine learning data models, and had developed a 4 bit adder that was smaller than 50x50x50 microns^3. So there are also other fields you can go into with Computer Science.
Comment: Excellent, well considered answer. Welcome to CSEd!
Answer: Given all the answers, I'm kind of surprised I didn't see anyone mention this, but...
Back in the 80's when I was taking CS (and likely somewhat in the vicinity of when your father took it), Accredited Computer Science was still fairly new as a degree. Very few colleges offered it as its own stand-alone school. For most, it was a department in either their School of Engineering, or their School of Mathematics.
Schools all have their own graduation requirements, but both of those types of schools are quite likely to require calculus. In my case, it was under the School of Engineering, so I was required to not only take 3 semesters of Calculus, but also two semesters of Chemistry.
Now Chemistry is a Noble subject (pun intended), worthy of study, but probably not vital to a typical CS degree holder. I certainly didn't learn much of it from that huge lecture class where the instructor spoke with badly accented Norwegian, the TA's in incomprehensible Chinenglish, and a 17% on tests was a passing grade.
Degree graduation requirements are just something you have to deal with as a College student. We were also required to take 2 semesters of English (which served me much better in my career), and 4 other semesters of Liberal Arts classes, all of which were wonderful experiences I'm glad I had, because I took stuff I was really interested in.
Now that being said, you don't know where your career is going to lead. You need a good survey of knowledge on damn near everything, and this goes double for math. 10 years after graduation I found myself writing software for flight simulators, where the communications protocol we used called out using quaternions to calculate the position and rotation of other aircraft in between updates. This was pre-Web, so I found myself driving all over town looking for a book telling me how to do that.
Answer: Despite more than 30 years of programming professionally I have yet to use calculus for work.  Does that mean it was a waste?  No--my observation from school is that you only truly learn the material that you use in future classes.  Calculus is the step above differential equations--and I have used that knowledge professionally more than once.
(And note that I have used the results of calculus in a program I whipped up to solve a problem.  I looked it up, though--my calculus is far too rusty to have handled the integration involved.  I have also had the experience of looking at a bit of code and being utterly unable to understand what a key equation was doing.  In hindsight I realize it was the integration of stuff I understood but that was before I had taken calculus, I couldn't see the relationship.)
Comment: My experience echos yours.  My CS degree was 40% mathematics, I have *never* used calculus since.  Linear Algebra is the complete opposite though.
Answer: Computer Science is not Software Engineering
This depends on your definitions, of course, and in most common definitions they are very closely related.
But the long and the short of it is, there is a difference between sorting an array (which in many programming languages is about as simple as calling array.sort()), and implementing the underlying logic of the .sort() function.
Software Engineering is more about knowing WHY and WHEN to sort, rather than HOW to sort.  Very often, these lines can get quite blurred - for instance, if engineering a high-performance application, it may be important to understand the underlying algorithm to fine-tune the WHEN, or maybe even write a supporting routine that heuristically chooses from a set of possible sorting algorithms.
Algorithms, and many other HOWs of computers and Computer Science, often require Calculus to understand and research.  These things are commonly much less useful in day-to-day Software Engineering.
Please also see this CS SE question for why calculus is something very useful for the study of Computer Science in general.
Answer:
Calculus requires several semesters of concerted effort to master. It is not as easily picked up on the job, unlike learning a new computer language (I have programmed in 28 professionally) or library. College should teach key building blocks not easily acquired in another setting.
I didn't need that calculus until I got a job dealing with insurance research, such as modeling the effect of hurricanes on a real estate policy. Insurance work is loaded with math, including calc. Try numerical integration in 1,000 dimensions without it!
If you want to do programming related to financial instruments (like I did at another job, working at CRD on their investment management system), calculus is heavily involved.
If you want to work in scientific computing (like I currently do at Shell, the oil major) calculus comes in handy.
If you want to work in optimization and operations research (like I did at EF Education, in the Travel industry, when optimizing the consolidation of tours based on matching parameters), it also comes in handy.
Any programming that requires obtaining expert domain knowledge outside of simple website design or business database programming and report prep is likely to bring you into contact with problems that require advanced math. If you don't have that knowledge, you get stuck writing the CRUD (and there is always loads of CRUD to write). If you do, you get to tackle the fun problems and be the tech lead.

Bottom Line: If learning all the new stuff fast and being superproductive at writing and testing lots of commonplace code is your forte, there is a place for you in software. If solving really hard problems and getting recognition and compensation for doing that is what you want.... LEARN CALCULUS!
Comment: @LuminousNutria Create Read Update Delete - standard operations in web applications and databases.
Comment: Could you explain what CRUD is?
Answer: A boring fact, a story, and a practical reason from a real-life department meeting:
The boring fact
Com Sci programs are accredited. In the US they like to go by the official group -- the ACM (Association for Computing Machinery). They recommend Calculus in a round-about way. From the 2013 ACM curriculum, page 50:

we believe that a CS program must provide students with a level of
"mathematical maturity." [...] some programs use calculus requirements
not as a means for domain knowledge, but more as a method for helping
develop such mathematical maturity [...] early in a college-level
education. [...] undergraduate CS students need enough mathematical
maturity to have the basis on which to then build CS-specific
mathematics

It's saying you need to math-up your freshmen with classes such as: Calculus. End of list.
The story
An early maxim was "you can't program what you don't know". An obvious example: Grace Hopper was a mathematician, and coded math equations. In the 60's, most programmers would be writing accounting software. At that time my midwestern state school had Com Sci students taking required accounting classes (and not only because Des Moines was a hub for Insurance, banking, and direct mailings). Later, as the arms race heated up, there was a national push for rocket-science -- Calc and Physics. We wanted enough coders to aim ballistic missiles at the Rooskies. In the 80's my old school required a year of both, and only recently dropped Physics (now it's a year of any science).
No one thought Accounting or  Calc made you a better programmer. They though they made you better at programming Accounting or Calc.
The practical reason from a real-life department meeting
During an 00's curriculum discussion us faculty talked about cutting Calc. We wanted to since our students didn't need it, but we couldn't do it. We talked about moving our Discreet Math class up front, but rejected it. For one thing, it had some coding, but mostly we couldn't teach another huge freshman section. It was enough trouble staying on top of the huge Programming I and II sections. It turns out Calc is special since the Math Dept. is already teaching giant sections of it for the entire Engineering College. Physics was special the same way. We thought about putting Linear Algebra instead of Calc, but it's a small, fast-paced 3rd-year class -- asking the Math Dept. to convert it for 200 1st-years would have been impractical.
So, because of historical reasons, Calc is often the only math class a big group of 1st year students can take. But say your school isn't known for Com Sci and the Dept. gets only a few majors (and exists mostly to teach non-majors). Then it makes sense to have your dozen new majors take Combinatorics right away, or your other ideal 1st math class.
Answer: During my CS course, I developed the rather cynical theory that the CS faculty were using the Math faculty to fill out their curriculum. It saved them time and effort and so it was that we taught some really hairy math which I can't imagine ever being of use to me. 3D integration anyone?
If I ever were to be working on a project that needed such things, I'd expect a subject matter expert to be providing the requirements, just as I'd expect a botanist to be writing the specification for controlling an asparagus greenhouse. Of course some math is valuable, but I think it lingers in CS just because it was often the mathematics department that originally had to teach computing to undergraduates.
Comment: As a working developer who was assigned a task that required ML techniques to do well in a shop where the data scientists were all busy with more directly revenue-producing tasks, I wouldn't suggest betting on domain-expert availability when those domain experts are more specialized / harder-to-come-by than you. And, of course, having that expertise entitles you to *become* one of those domain experts, with the extra job-market pull that implies.
Answer: Calculus is not useless to computer scientists. But it is not very useful either. If the required mathematical fields in CS were ranked, according to usefulness and/or necessary depth, the list would be something like this:

Logic
Linear Algebra
Probability Theory
Discrete Mathematics/Abstract Algebra
Numerical Analysis
Number Theory
Complexity Theory
Calculus/Real Analysis

You can certainly quibble about the importance order, but that misses the point, the point is that Calculus will always be ranked fairly low. Calculus by its nature concerns itself with the infinite, but computer scientists are mostly interested in finite things.
I believe it is taught because of inertia and because universities are slow to adapt their curriculum.
Answer: There are some parts of Computer Science that use Calculus. DSP is an obvious one. Linear Regression, which is an ML technique, uses gradient descent to minimize a cost function. I learned about gradient descent in Multi-Variable Calculus (Calc 3). Newtonian physics obviously involve some calculus, and are in turn used in things like physics engines.
In general, I think CS programs should give students a decent math foundation, since it is an engineering discipline, and is entangled with many other sciences. When solving more science-y problems, mathematics are bound to come up. Calculus is a pretty fundamental area of math, whose absence seems like a serious gap to me.
Answer: We actually used integration to derive big-O complexity in an upper-level course on complexity theory. I remember being quite impressed at the time, because no, I hadn't used it in any of my prior CS classes. Unfortunately, I don't remember the details -- it's been a very long time.
If I'd gone into modeling and simulation, or if I'd stuck with graphics, I'm quite sure I would have used it more.
Answer: Calculus is a hard and rigorous sequence of courses amounting to 12 to 15 semester credits. It is readily available in most any college so it was easy to include in the requirements in the 60s and 70s which established momentum for it. Taking it you learn skills of organization and time management as much than anything else. You learn how to think and absorb information at lightning speed. If you can learn Calculus then the similarity to what you need for computer science will very likely carry over. These skills are useful for a programmer.
I speak of my own experience taking Calculus while studying Computer Science at the university.
Answer: As Computer Science students, you should know the fundamentals of university mathematics, for the further development of your own skills.
I believe that all science-oriented persons must study mathematics. For one thing, that study helps you to learn both of your subjects. And fundamentally, philosophically, I don't think that the two subjects are divided. Which is mathematics, and which is science? They are of a piece, essentially—they form an undivided unity.


Do we know the exact spot where big bang took place?

Question: If you rewind the universe back 14,7 billion years, all matter were in one spot, and then started expanding. Do we know where this is in reference to our own solar system? And is there anything there? Or are all matter in the universe just blown inn all different directions and none is left at the "original" spot where it originated
Comment: See this related question - http://astronomy.stackexchange.com/questions/305/space-expansion-in-layman-terms
Comment: Strongly related question from the future: [Did the Big Bang happen at a point?](https://physics.stackexchange.com/questions/136860/did-the-big-bang-happen-at-a-point)
Comment: Universe is about 13.7 billion years old.
Comment: Also related: https://astronomy.stackexchange.com/questions/669/what-is-in-the-center-of-the-universe
Answer: You're envisioning the Big Bang as a cosmological "explosion" in space where the universe is the resulting material expanding in outward all directions.
The problem is, the universe doesn't work like that.
The universe isn't a region of space that is expanding outward into another thing where you can (even hypothetically) fly out to the border and say, "Yup, that's about all there is. Let's use these borders to find the center of this expanding sphere."
The Universe is literally everything there is: space, time, and everything it contains and ever will contain. And the word contains is even a bit of a misnomer in that it suggests a container with boundaries. But the universe is simultaneously both unbounded and finite at the same time. "Finite" refers to the fixed amount of stuff this universe contains (matter, energy, etc)… and unbounded because this thing we know as "the universe" has no borders in a sense that we point to or even experience. So how would you even define a "center"? There isn't one.
There's a famous way to help visualize an expanding universe that is both finite and unbounded without a center or borders; it's called "The Balloon Analogy." Imagine our friends in Flatland living in two-dimensional space… where everything they know (their entire universe) exists on the surface of a balloon. If you start to inflate that balloon (the expanding universe),  all the little astronomers on the surface will observe that all the surrounding galaxies are moving away from them — and the farther away those galaxies are, the faster they seem to be moving away.
That's pretty much what most cosmologists believe is happening to us.
Going back to that balloon analogy, picture yourself existing on the surface of that balloon-universe and ask these questions again — In my expanding universe (the surface of the balloon), where is it's center? Everything is expanding outward in all directions, so if we rewind back in time, certainly everything should converge somewhere, right? Can we just find the borders of this outward expansion and calculate the exact center? So basdically… "Do we know the exact spot where big bang took place?"
Be careful taking the balloon analogy too far, because it starts to break down in many ways. But the answer to where the expansion of the universe emanates from really is that it emanates from everywhere; everything we know is contained within the origin of our own existence, and there is no center and there are no borders by any definition of existence that we can experience.
Comment: How do we know that the Universe is unbounded and finite?
Comment: As regards Flatland, there is a sequel by Ian Stewart: Flatterland. Like Flatland only more so. Much better than original.
Answer: Yes, here.
As has already been mentioned, the big bang happened everywhere due to the fact that all of time and space was in the same spot at the point of the Big Bang. And so the big bang happened here, there and everywhere. This is also similar to saying that the universe has no centre.
I have seen this phenomenon explained using two pieces of clear plastic marked with the same pattern of dots, except that one has been scaled up (i.e. to represent an expanded universe). If any pair of corresponding points is selected, than it appears as though the selected point is at the centre of the universe because all other points have become further away. Points that were of equal distance from the selected points will be the same distance as each other from the selected point. This works for any corresponding pair of points.
Answer: It's all around us.
The way I explain it is that we are in the centre of the universe (I don't mean in the geocentric way as thought back in the middle ages where all is moving around us).  Everywhere we look we see the past: our Sun how it was 8 minutes ago; the closer star, Alpha Centauri, as it was 4.2 years ago, the Andromeda galaxy's light took 2.5 million years to reach us, and further on we go... but as you can imagine the universe goes in all the directions...so there's not a single point in space but in time.
Hope this drawing helps to understand it, Earth is in the centre, the Sun could be at certain radius and each object in our universe will be placed somewhere between us and the beginning of the universe: the big bang at 13.77 ± 0.059 billion years ago

Having this in mind you can then understand why we see the cosmic background radiation coming from all the directions.
Comment: Isn't the CMB isotropic? :P
Answer: My understanding is that the Big Bang took place everywhere. That "one spot" expanded into the Universe as we see it now. There is no distinguished spot within the current Universe corresponding to the Big Bang.
Answer: Yes, we do. The exact spot is: All of the universe.
In the Big Bang, space-time itself expanded. To say that it took place only at a certain location, you would need something which is external to the entire universe. There is no such thing.
Relative to us, we are inside the region that the Big Big started at.
If, hypothetically there were some sort of reference frame external to this universe, like some sort of 8-dimensional (6 spatial, 2 time) Super Universe (SU), the people in the SU could say, "That 4 dimensional sub universe began expanding outward from location X."
we ourselves are still inside the Big Bang.
Answer: I have pondered this issue for nearly 35 years. If the universe came into being by way of a Big Bang process we will probably never find the exact center at which it commenced:
REASONS BB CENTER MAY NEVER BE FOUND
1. We should always keep this in mind as our starting point: We did not see the beginning of our universe take place. There are no eyewitnesses who can tell us what actually happened. Therefore, it is a 13.7+ billions of years old COLD case. In other words everything we put forward regarding the beginning of the universe will always be only speculation.
We have no way to prove anything that we hypothesize regarding how our universe commenced (no matter how many theories are proposed regarding the beginning of the universe nor how good they and their corresponding math equations appear to be, there is no way to fully test them to prove out anything they make claims for).
In other words, even if the numbers do not add up perfectly you can always come up with another constant or sub-theory that makes it look more correct, none of which is provable in our real world predicament. This means it may be impossible to determine if the BB took place or if a center ever existed at all.
2. That said, even if the Big Bang is responsible for how the universe expanded to its current state, problems or barriers may prevent us from locating the exact location of the center from which it all started.
3. The starting point, regarding the BB, was supposedly a state of singularity. What singularity actually would be is not really known. However, its state would be a point about the size of a marble in which presumably all the laws of physics as we know them are broken down, a kind of state of total annihilation of all atomic structure and its various particles. If the supposed early "super" inflation phase occurred it would be opaque because photons would not be present nor released during this phase. Therefore, our view of events up to this point would be obscured.
In other words, we can never see through this phase nor would there be any way to see this phase of inflation because we would need to see photons. Only where photons are released are we able to see even part of what was there (the so-called visible universe limit).
4. Because we can not see beyond the visible universe (which would include the parts of the electromagnetic spectrum that can not be seen by the naked eye, that can only be seen through equipment that can detect invisible wavelengths) we would have almost no chance of ever finding the exact center of the BB.
5. According to one theory space exists and inflates separate from matter and energy. That is we are located within and are a part of this inflation. According to this proposal space (fabric of spacetime) is inflating in all directions all around us, that we are within the spot. The result being that we can not detect a direction in which the BB started from. Supposedly, because we are located within the BB inflation, this precludes us from having a frame of reference that would allow us to have the ability to trace back and locate the exact center or even the general location of the BB starting point.
6. The real world frame of reference for our universe is three dimensional plus time. The visible universe matter is not uniform in all directions. That is all the galaxies, etc. are not uniformly spaced along its x, y & z axis (unlike the two dimensional demonstration models with evenly spaced matter). Since, supposedly the Big Bang started with a very tiny singularity blob (at least for this theory), smaller than a marble, then there ought to be various vector trails (even if they are fragmented or somewhat askew, blurred or dissipated) of some sort going back to the marble size singularity state or at least into the outward edge area of the 'super' iflation phase (especially since matter is not uniformly spaced and would have to change direction and consistancy in order for large areas or gaps at irregular intervals to be present now). However, so far we have not been able to locate any evidence that would suggest that the BB came from a particular direction which has also precluded us from locating a BB center.
7. Unfortunately, two dimensional demonstation models lack ability to show true three dimensional effect regarding starting at a tiny point through the present state of inflation or expansion of 13.7 billion light years. In other words, if we look across through our universe sphere (matter does not exist evenly spaced on two dimensional planes here) somewhere at least near part of the edge of our visible universe we should see at least some large area where galaxies are much closer together compared to say an eight or ten billion light years area around where our galaxy is located now. So far we have not found any evidence. Perhaps this means the BB did not occur.
Certainly if the universe had a tiny starting point there should be a visible change somewhere in an inflation or expansion that covers such a huge area of more than 13.7 billion light years (there would be some indication in which direction we should concentrate our effort to find something regarding at least the general direction of the BB's original location). So far such indication has not been found.
8. Also, there may be a force(s) outside our universe that is the driving force for the inflation or expansion of our universe, in which case it would most likely make it impossible to ever find evidence of a center if one ever existed.
Comment: I have undeleted your post because now it at least attempts to answer the question. I will leave it up to others to determine the accuracy of your answer.
Comment: Thank you very much. I look forward to it being reviewed by others.
Answer: Even we could try to calculate the distance of a center, it would change every per seconds of the lights speed away that would always make the calculation inaccurate at all time.. It is really hard to predict why, what, how the unlimited (as we know) space of the universe evolved and is being formed and will happen.
However its spectacular feeling to make hypothesis such things that makes our brains immortal to create our modern earth even more interesting place..
But first we should understand how to get along with our own planet and become more sensitive with it..
As it is told everywhere we look we see the past which includes the newly discoveries (as we say) like galaxies, orphan or solar planets from the hubble.
I am just wondering what if there are more explosions supernovas or someothers that creates meteors that  are routed on us from these explosions and maybe we can have a chance to see it 20-30 years later(the most positive elapsed time).
What I am saying we might be discovering stars that could be exploded by an other star already a billion years ago, on the other hand we observe these discoveries as our current UTC or GMT time coordinate, which makes no sense on this time theorem of the space ?!?
Comment: @HDE226868 I think what he's trying to ask is [has anyone really been far even as decided to use even go want to do look more like?](http://www.urbandictionary.com/define.php?term=Has+anyone+really+been+far+even+as+decided+to+use+even+go+want+to+do+look+more+like%3F)
Comment: Is this a question? This is more than a little unorganized.
Comment: @DavidH . . . What?
Comment: I don't understand what you are trying to say.  Are you trying to answer the question (e.g. do we know where the center of the Big Bang is?)
Comment: If you have a logical answer why not it can be either a question or a situation that we do not focus on that much.. Yes it seems a little unorganized but i wanted to sum it all in one post. Maybe I will post an other detailed thread in the future about this if it not exists out there..


History and development of mathematics

Question: Tour says we can ask about "History and development of mathematics" - is it valid anymore since History of Science and Mathematics SE is already alive? Won't we be stealing the life out of it still allowing questions of that sort here?
Comment: You should probably ask new questions on history there.  But (as noted) old questions should be left alone.
Comment: @JessePFrancis I'm not certain exactly what your question _is_, perhaps. Are you asking whether such questions should become off-topic here? Or just what to do with the joint on-topicness of certain questions? Though unlikely, we _could_, as a community, decide right now that historical questions are no longer on-topic here. But even then it's not true that we should just mass migrate questions to hsm, or even just the new ones as they appear. Such questions would then be closed, likely with a new custom reason directing users to try at hsm.
Comment: [Here](http://meta.math.stackexchange.com/questions/19699/migrating-questions-to-hsm) is a closely related question.
Comment: @ArthurFischer, close enough! So unless its out of beta, we can't discuss about the above?
Comment: good point! actually maybe we could also migrate the questions here that belongs now there.
Comment: @ArthurFischer, more like it.
Comment: @ArthurFischer, Quoting the answer, "As for whether or not math-history questions should be on-topic here. . . I'll leave that for the community to decide." Have we arrived at any such decisions in our community? I still feel that we have left it hanging on the edge, with no clarity!
Comment: @GEdgar, true, but what do we do when it is asked in Math.SE? You cannot close it, migration is not possible (it is on topic here), possibly leading to data duplication (on hsm and here, as I noticed with one question in matheducators.SE and math.SE - was asked in both sites) and as quoted in my question, stealing a bit of life from hsm.SE as well.
Answer: I'm HDE 226868, one of the mods on HSM, finally writing up something for this. I should add that I put forth a similar question on Physics. There's absolutely no need to follow the same viewpoints or logic, but the answers do show some interesting ideas.
Anyway, here are some important points from the community on HSM:

We love good questions. Everybody does, I know, but the particular types of historical questions we're after don't, in general, have textbook answers. My textbook on American history will go on at great length about the World Wars, Reconstruction, the counterculture movement, and all the other things that shaped the country's past and led to the present . . . but too often the mathematics and science attract little attention. Sure, World War II was perhaps more important than the discover of the $\pi$ mesons, but they're still important. You won't find answers to HSM questions easily - and it's hard to find material to ask about in the first place! - so we love it when we get good, well-thought-out questions.
We don't want to take questions away from any other sites. Yes, we're in beta, and Mathematics has graduated, so it could be argued that we need the questions more, but let's face it: If a question is on-topic on multiple sites, it could be asked on any of those. We all want good answers to our questions from true experts. Ask in a place where the experts are. If they happen to reside on site A, then go there. If they reside on site B, go there. If they're on both, then do some thinking and then make your pick. But we'd love to have experts on the history of science and mathematics active on HSM - not just Physics, Mathematics, Earth Science, etc. We're not going to demand questions from you. It's your choice, not ours. As quid said,

However, I would advise against being too active in getting questions migrated here [to HSM]. This might alienate others (sometimes also for unreasonable reasons but still). As long as a question is well-received on another site, I think there is nothing that should be done. (Normally, migration is a sub-point of off-topic; if the latter does not apply there is no case for migration.)

The idea is up for debate on HSM (e.g. this meta post and an earlier one). We have not yet reached a true consensus. I'll try to keep you informed as to how that works out. It seems like we as a community would love to have some newer questions migrated, but we don't want a huge flux. Again, see quid's answer.
We've had many migrations from Physics, and a decent amount from Mathematics - thank you, Arthur Fischer, for communicating with us on the specific ones - and we'll continue taking them, so long as either the asker supports the migration or Mathematics.SE decides that the question is off-topic. Don't feel obliged to migrate.

I'm far from an active user on Mathematics, so I clearly shouldn't try to speak for the community here. I know, that's tough, because that's the whole point of the question. Still, I'll try.
If you collectively decide to keep math-history questions on-topic, we won't hold it against you - and you won't be hurting us. We've been doing okay. Would it be awesome to have more activity? Yes. Absolutely. But it won't kill us to miss out on some. Mathematics gets about one-to-three per day (looking at the past few weeks). That could help us, sure, but it's not a make-or-break amount (no offense meant). So I hope this clears that up.
As for whether or not math-history questions should be on-topic here. . . I'll leave that for the community to decide. I see no problem with choosing one option or the other, really.

Apologies, by the way, for taking so long to get around to this. We've all been a bit busy lately.
Comment: I just wanted to say that this is an extremely well-reasoned and polite answer, kudos!
Comment: @pjs36 Thanks for that.
Answer: I'm not active on either site, but I have general thoughts on this.
Stack Exchange is experiencing a drift to fragmentation right now; a slew of narrow-scoped sites have been proposed on Area 51, many of which are covered scope-wise by already existing sites to varying extent.
Even though it is in beta, large parts of the scope of hsm.SE are covered by other sites, namely the respective science sites (physics.SE, chemistry.SE, biology.SE, philosophy.SE, math.SE, ...). This only makes sense if the larger sites said, "let's get rid of this fragment of our scope", and fans created their own site. If that's not the case there is no reason at all for existing sites to change scope or policy.
If hsm.SE fails because they don't have a scope that can stand on its own given existing sites, that is as it should be. Finding that out is one of the main purposes of beta, after all!
Comment: So, you propose somebody interested in the history of science and math should just visit a sizeable number of different pages to find all the questions they are interested in? From the POV of such a person the creation of HSM would rather seem to be a much needed consolidation then a *fragmentation*. Currently the subject is *fragmented* over various different sites.
Comment: "nobody profits if experts become scattered across many sites" Didn't you just propose that experts on the history of science should be scaterred over many different sites?
Comment: @quid That is one perspective. All I'm saying is that beta should be allowed to run its course as it should, in particular that we/you should not artificially boost it. (In fact, I *don't* think a dedicated page for every interdisciplinary field is a good idea for SE as it is *today*. SE runs off experts (of which there is limited supply), and nobody profits if experts become scattered across many sites. This particular case may not be as harmful as others, but still.)
Comment: @2mkgz True. Editing; the result remains the same: no need to change policy.

History and development of mathematics


Where can I get a list of all Stocks that were acquired or went bankrupt

Question: I'm looking for a list of stocks from 2005 - present that were delisted from Nasdaq/NYSE due to being acquired/going bankrupt/going private/etc. Where can I get such data online (free or paid)?
Comment: You can find it on the exchange website where the stock was trading.
Answer: Where can I download all stock symbols of all companies "currently listed" and "delisted" as of today?
That's incredibly similar . You can also do it with a Bloomberg terminal but there's no need to pay to do this because he data changes so slowly.
Comment: Actually, the data changes relatively quickly -- on a daily basis, in fact.  It's just that 99% of the companies being listed/delisted each day are ones that nobody's ever heard of.  Or it's one particular type of share that's being listed/delisted, rather than an entire company.
Comment: Oh good point @dg99 I was thinking of someone trying to see the history of the mega caps like the aigs the sun microsystems etc
Comment: The answer from the link you gave has a great resource to find a current list of all stocks but it doesn't have any info on where to find information on previously delisted stocks.


Dry rot tire should I replace?

Question: My tires look new but I just bought the car and I don't know for sure. They all look good except one rear tire which has cracking between the treads but nowhere else. Is this an accident waiting to happen?
Comment: Welcome to Motor Vehicle Maintenance & Repair!
Answer: Cracking is... not good. Usually it's a sign of a tire that's either been stored incorrectly or more likely pure age.
Get it changed - tires aren't something to take chances on.
It's probably worth checking the age of the other tires while you are at it. You can work out the age of a tire by looking at the DOT code - this should be a 10-12 digit code (usually prefaced with "DOT") stamped on the sidewall of each tire. If the tire was made after 2000 then the last four digits of this will tell you the year and week the tire was made. e.g. 1603 would be the 16th week of 2003.
Really if your tires are more than 10 years old they should be replaced, regardless of whether they are showing any visible signs of wear or cracking.
Comment: Thank you for the response...i replaced them this afternoon they were all dated 2014 but 2 of them had started cracking and 1 had cupping..i bought 4 new ones and saved the best of the old for my spare-plenty of tread and no cracking on that one.
Answer: Not with modern tires, at speeds under 90mph.
You are safe even if nylon or steel is showing, but use your head, and be more careful if you have older tires
Comment: Not just wrong..but *dangerously* wrong.

Dry rot tire should I replace?


Does terraform support blue green deployments and roll backs out of the box

Question: I have  been trying use terraform for a while . any suggestions/tips on how I can handle blue green deployments . I see how terraform enables it with auto scale groups on aws . But I'd like run some Cucumber acceptance tests on the new Asg before routing traffic to it . Is there a way in terraform to retain the old asg for a period , if In case I need to do a rollback . Can this be accomplished with terraform ... thanks in advance .
Answer: It all depends on how you are deploying your code.
(First, IMHO, I don't think that Terraform is the right hammer for this operation. Terraform responsibility is to build the necessary infrastructure for your application, not to be the tool used for deploying it. But, as always, "the right/best one" will depend on lots of factors and, depending on the case/scale, it may be the "good enough" solution)
My suggestion would be, in summary:

Deploy your application in the "unused" environment
Test it
Change the domain name to point to it

Assuming you have 2 AutoScaling groups already configured. One called asg-blue and the other called asg-green. And that the current version resides on asg-blue and in terraform you have an aws_route53_record pointing to it. You would need to follow these steps, each one with a terraform apply before the next:

Deploy the newer version of your application on asg-green

I.e. update everything that is needed to deploy your application version. It may be the AMI you point on your Launch Configuration or any other way that you do exclusively using Terraform.

Test that everything is running as expected

Here you could use the domain-name provided for each ASG/ELB or one already configured on terraform

Update the domain name to pont to asg-green ASG/ELB on the aws_route53_record
Reduce the number of machines needed on asg-blue to don't use too many resources

Depending on your case you can configure for 0 machines

This way you can have your B/G deployment, but for every deployment you'd need at least two manual interventions in your terraform (the deployment of the new version and updating the domain name).
But with this strategy you should take a lot of care to not deploy on the current ASG being used.
Of course if your terraform/aws fu is good, instead of reusing ASGs, you could delete and create them as needed.
Hope that this help in having a "big picture" of the entire process. But I'd suggest that you research and start using tools more focused on deployment, like AWS CodeDeploy.
Comment: you might consider also to use terraform workspaces, but still is changing infrastructure not deploy code. Here is the boundry about deployment and infrastructure changes to be defined properly.
strictly should not be changed the infrastructure to support new code releases. In some circustances yes.
Answer: I had a similar question and this answer was quite helpful. It sketches pattern on how you can do blue-green deployments in Terraform.
But having said that there is no clearly best solution as far as I know. I think the most common approach for your use case would be to have a dedicated "staging" environment that uses a setup that is very close to the production one (sharing the same Terraform modules, but with smaller auto scaling groups). You can use it for the final tests, maybe even route some fraction of the  production traffic over it.
If there are no errors in staging, you simplify roll it out in production and hope that you found most critical bugs before.


air bag light after seat removal repair

Question: I needed to remove the passenger seat to weld a hole in the floor. I disconnected the battery, the wires to the seat and removed it. After re-installing the seat and the battery , my air-bag light started flashing. I tried to re-set the computer  by battery disconnected and waiting 10 min. but it did nothing. I have active head restraints and air-bags in the seat.
2004 Nissan maxima
Answer: I found these directions for resetting the SRS after the dash light starts blinking. It is from this website:

Open the driver's door.
Note the rubber covered button located low on the B pillar, a button which is pressed by the door when the door is closed. This is the Driver's Door Switch (DDS).
Turn the ignition from OFF to ON.
Press the DDS at least 5 times within 7 seconds after turning the ignition switch ON.
Turn the ignition OFF.
Close the driver's door.
Start the engine.

If the airbag warning lamp is still on (or still flashing), there is a fault in the Supplemental Restraint System which must be diagnosed and repaired. This is a job for your local friendly Nissan dealer.

I'm sure a reset will fix your issue, as I doubt (though don't know for sure) you have caused any permanent damage to your system by disconnecting the seat harness. I post this because it is quite different than what has been posted already and I found it in several places on the web. Hope it helps.
Comment: This actually worked. I wiggled the connectors under the driver's seat working the male to female plugs together, then did the key trick watching the clock to the second. After the 5th cycle, I switched the ignition on and the light slowed to indicate it was in diagnostic mode. I let it self-check for a full minute, then switched the ignition off, then BACK ON after 5 seconds. Without starting the car, the light extinguished and stayed out. After a full minute I restarted the car, and the light again STAYED OUT. 328k miles, and that damn light had been on for 2 and a half years. 2010 Versa Hat
Comment: Yes!!! Thank you so much, just did this for my Nissan Juke and I followed your directions and the light has switched off. Thanks so much. The seat belt light started flashing because I changed the battery and checked the radio fuse and that bleeding flickering symbol was driving me nuts. Happy lady here.
Answer: The air bag system checks itself every time you turn on the ignition. If the air bag light was going out after 7 seconds every time you turned on the ignition before the welding was carried out but not afterwards, it suggests that the wires may have been burnt/damaged by the welding. Try the following before anything else. It is for resetting the airbag system without a service tool.

Turn ignition switch "ON".
After "AIR BAG" warning lamp lights for 7 seconds, and starts flashing, turn ignition switch "OFF" within 1 second. DO NOT SWITCH IT TO LOCK, SWITCH IT TO ACC
Wait more than 3 seconds.
Repeat steps 1 to 3 two times. Perform 3 times in total.
Turn ignition switch "ON". SRS is now in Diagnosis mode.
In diagnosis mode, you're going to hope the light flashes slowly.2 seconds off, 3 seconds on, and repeats.If your light does this, this means that the computer detected a previous error that hasn't been erased.This is good.
If "AIR BAG" warning lamp now operates 2 secs off 3 secs on, turn ignition switch "OFF" to reset from Diagnosis mode and to erase the memory.
Turn ignition "ON". "AIR BAG" warning lamp should operate like normal.

air bag light after seat removal repair


What is the principle of forming an arbitrage strategy?

Question: I have heard that the arbitrage strategy follows the principle of "short in expensive, and long in cheap" (Or, maybe, it was "short in cheap, and long in expensive."). I wonder how to explain this arbitrage principle?
Comment: Isn't this just a fancy way of saying "buy low and sell high"?
Answer: Arbitrage is basically taking advantage of a difference in price.  Generally extending to "in different places for the same thing".
A monetary version would be interlisted stocks, that is stocks in companies that are on both the NYSE/Nasdaq and Toronto stock exchanges.  If somebody comes along and buys a large number of shares in Toronto, that will tend to make the price go up - standard supply and demand.
But if someone else can buy shares instead in NY, and then sell them in Toronto where the first person is buying up shares, where the price is higher, they the the arbitrageur (second person) can make pretty easy money.
By its very nature, this tends to bring the prices back in line, as NY will then go up and Toronto will then go down (ignoring FX rates and the like for ease of explanation).
The same can work for physical goods, although it does tend to get more complex with taxes, duties, and the like.
Comment: One always want to go long in that which is cheap, and short that which is expensive.
Comment: Thanks! So is taking advantage of arbitrage "short in expensive, and long in cheap" or "short in cheap, and long in expensive"?
Answer: Well, arbitrage is a simple mean reversion strategy which states that any two similar commodity with some price difference (usually not much)  will converge. So either you can bet on difference in prices in different exchanges or also you can bet on difference in futures value.
For example if current price of stock is 14$ and if futures price is 10$.  Then you can buy one futures contract and short one stock at the market price. This would lock in a profit of 4$ per share.


How can I cook a full chicken with skin on it when my oven is broken?

Question: Our oven is broken and we can only use a frying pan. We have started to defrost a full chicken with the skin on it. We are a little new to cooking. How can I still prepare it?
Comment: You will not be able to cook the whole chicken with a frying pan alone. You will need to joint the chicken - ie split it up into its component joints. Failing that, do you have some other way of creating indirect heat, like a barbecue?
Comment: I cooked a whole chicken in a slow cooker the other day. Added no liquid just a little veg to the bottom. Came out perfectly.
Comment: Outright recipe requests are off topic on the site, so I removed that part instead of closing. It is OK to ask for techniques you can apply (as in, expecting answers which say "use a pan" or "braise it") so the question as it is now is good. Once somebody has suggested a technique you like, you can search recipe databases for the detailed preparation instructions.
Comment: As long as your chicken isn't too big, you can buy a large toaster oven. They are cheap and also more energy efficient.
Comment: You could steam the chicken by enclosing the bird and the pan with foil and placing some water in the pan.  It will require a lot of patience and you'll have to check the water level and turn the bird often, but it can work.
Comment: I am going to assume you do not have access to a grill?
Answer: If you are intent on cooking the bird whole (as opposed to butchering it into pieces which you can fry in a pan), then your only option would be to braise the bird in a large pot, preferably a Dutch oven.  There are myriad recipes online; search for "Chicken in a Pot" or "Braised Whole Chicken".  As ElendilTheTall mentioned in the comments above, the only other option to keep the chicken whole would be to use a barbecue/grill.
Comment: @SaturnsEye for the most entertaining results, do a video search for "[deep fried turkey explosion](https://www.google.co.uk/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=deep+fried+turkey+explosion&tbm=vid)", and understand why ESultanik's warning " frying a whole bird is the type of thing that isn't very safe to do indoors" is an understatement!
Comment: Deep frying it whole is also an option.
Comment: @Lilienthal Thanks, I forgot to mention that! But frying a whole bird is the type of thing that isn't very safe to do indoors.  And if you have the means to do it outdoors, then you likely also have a barbecue/grill that can act as an oven, too :-)
Comment: @Lilienthal Now that I'd like to see!
Comment: @SaturnsEye As I've been lead to understand, so-called turkey fryers are not as rare as you might think, at least in the US. There are both indoor and outdoor models. [This link](http://www.seriouseats.com/2014/11/how-to-deep-fry-thanksgiving-turkey-safely.html) has an interesting introduction. It should be perfectly safe as long as you know what you're doing.
Comment: @Lilienthal That last "as long as you know what you're doing" is a HUGE caveat. Dealing with gallons of blazing-hot, flammable oil is hazardous no matter what; probably not something for the OP to mess about with given that they mention being new to cooking.
Comment: @logophobe Nearly all cooking involves sharp knives or heating stuff up to where it can cause third-degree burns. I would hope that the linked page already contains enough warnings and we don't need to resort to the level of coffee cup "Contents are Hot" labels.
Comment: +1 for the Dutch Oven suggestion. First thing that came to mind. Deep frying poultry is really for the Mythbusters guys.
Answer: If you don't have a large pot and can't follow ESultanik's recommendation, you're going to need to joint the chicken.  Once that's done, you can either shallow fry it (where the oil only comes up a little more than half way up the pieces) or braise it.
If you're going to braise it, I'd actually recommend using a recipe that makes better use of the cooking liquid, such as Arroz con Pollo, where you brown the chicken first, then finish the chicken in the same liquid that you're cooking rice in.
You're also likely going to want to remove the skin -- braising and other wet cooking methods will result in flabby skin, which is typically not good.  You can either get your hand under the skin at the neck & lower cavity to loosen it and then slice it off before jointing it (which might make it easier to see where to cut for jointing), or you can just grab and pull (if you can't grip it well, try using a paper towel).
Comment: You need to take the foot-end off the bone [like this](https://youtu.be/mARkUax2jg0?t=25s) so the meat lies flat against the pan. What the video doesn't IIRC mention is that you should cut through the knobbly end bit of the bone, not the shaft, so it doesn't shatter. ("IIRC" because I'm at work so I have sound turned off.) Thanks for reminding me to make this completely non-obvious point! :-)
Comment: It's not necessary to shallow-fry or braise once the chicken has been jointed. It'll pan-fry just fine with only enough oil to stop it sticking.
Comment: @DavidRicherby : I've had bad luck with cooking legs.  Thighs and breast are fine, but I've never had legs come out well in a mostly dry pan.
Answer: Do you have a big pot with lid or a pressure cooker?

If the chicken fits inside, just put some veggies in the bottom, the chicken, a cup of liquid, salt pepper and herbs and cook it covered during one hour at low fire (maybe 45 minutes if you are using a pressure cooker). Make sure the liquid doesn't evaporate completely or you will burn it; but if you are cooking it slowly, covered with the lid, that shouldn't happen. Once it is ready, you can put the veggies and the rest of the liquid in the blender to make a light sauce, but I would get rid of the fat on top.
If you have time, I would recommend that you cook it the day before, letting it rest in a cool place and then keep it in the fridge, with the sauce, until the next day. You can reheat it in the same pot. It will be more soft and juicy.
Recipes:
I sometimes cook it with some chopped onions, carrots and leak and the juice of a couple of oranges, then I put the skin of the squeezed oranges inside of the chicken, and I add a bit of water.
Another option would be to use white wine instead of oranges, and some rosemary and thyme. Maybe a bit of fennel too.
Enjoy!
Comment: This was a brilliant suggestion. Thank you.. repped + 1
Answer: You can also spratchcock the chicken (remove the backbone) put in a heavy preferably cast iron, weight it down for a "Brick Chicken" plenty of recipes on the net. This also speeds up the cook time by about 1/2.
Comment: If you don't have a large enough pan, you can halve it and cook it in two separate pans.  And we don't really have PMs ... just notification if someone comments on something you said.
Answer: A recipe I tried recently (which came out delicious) is murgh mussalam which is a stuffed chicken dish from India (apparently developed in the kitchen of one of the Mughal emperors). Some versions of the recipes call for cooking in the oven but others (like the one I used) have you cook it on the stove. It's probably best used if the chicken is smaller although it would work with a larger bird I suppose if your pot is large enough and you cook it a little longer.
Basically you prepare a stuffing with some minced meat, herbs and spices and stuff it into the cavity of the chicken (along with some hard-boiled although I left them out). The you prepare a  curry sauce/gravy on the stove, add in the chicken and cook it covered for about half an hour or until cooked through, stirring every few minutes or so, and spooning over some of the sauce.
This was the recipe I used: https://www.youtube.com/watch?v=UliEDkccxts
Answer: You can roast a chicken in a large toaster oven. The chicken will turn out just as good as when you use a conventional oven. Some key points - put the breast down. In a toaster oven the top of the chicken is closer to the heating rods than a traditional oven, so the breast may dry out if you expose it. Here is a video of a chicken roasted in a toaster oven.
https://www.youtube.com/watch?v=nFReZBCg_QQ
Toaster ovens are very cheap. You should be able to find a decent one for around $30 - $70. They are also very energy efficient compared to a traditional oven. Over the long hall, it will pay for itself in reduced utility bills. Preheating a toaster oven takes only a few minutes. I often use the toaster oven to roast vegetables, bake cookies, make open face sandwiches, reheat pizza slices and roast chickens.
Answer: I've had some success playing with Jamie Oliver's poached chicken recipe. It's pretty much a one-pot dish, but clearly you can't do it in a frying pan. You will have very limited options for cooking a whole chicken in just a frying pan, especially if you mean a simple shallow-sided frying pan rather than a higher sided sauté pan.

Frying Pan

Sauté Pan
Answer: Considering you want to keep the chicken whole, and you won't necessarily want to buy a slow cooker or a Dutch Oven, I recommend using a relatively deep frying pan with a lid.
Place the chicken in the frying pan, and fill the pan until about halfway up the chicken's sides with warm water, seasoned with spices and salt, with a few tablespoons of vinegar. The vinegar will break down some of the proteins of the chicken and will help it to be 'fall off the bone', the salt will help to loosen the connection between skin and meat, and the water will help heat to permeate deeper into the chicken. Leave to cook on medium-low heat with the lid on, with the mixture barely boiling. You will need to rotate the chicken, spoon liquid on top of it, and rotate it occasionally. It should take a little more than 1 hour.
If you want crispy skin, then I'm afraid I don't have a method, just a guess to try searing it in hot oil.
Answer: Depending on the size, you may be able to cook the whole chicken in a crockpot.  I'd estimate it would take 3-4 hours on High.
Answer: I would cook a chicken tabaka. It is a whole chicken flattened on the frying pan and fried in some oil. The dish is very simple and results is something quite similar to an oven-cooked chicken. All you have to do is to cut the chicken to separate the ribcage. The bird remains in one piece.


Member's verification

Question: How do I verify whether someone who I invited to my organisation through Trello is really who the photo says they are? There is no link to the email address on Trello so it is really difficult to know whether they are really genuine.
Answer: It's the other way round. You should ask people for their screen names in an email (not saying emails cannot be forged, it's simply that inviting total strangers to your organization is not reasonable).

Member's verification


Can you use worm bait for a garden

Question: I'm starting a garden and wondering if worm that are sold for fishing bait can be used in a garden? I'm adding corn meal peels, manure, etc, into the soil.
Comment: Welcome to Sustainable Living! Sure you can add fishing worms to your garden, but what is it you are trying to achieve? Why do you want to add fishing worms?
Comment: My goal with this is simply to improve the health of my garden and plants I live in Arizona and have a hard time finding worms. There isn't a place that sells worms or anything like that near me so I wonder if worm bait will work
Answer: You should contact your county agricultural extension agent to check about the use of worms in the garden as well as what species. There are areas where fishing bait worms are considered an invasive species.
Invasive Earthworms Denude Forests in U.S. Great Lakes Region

Long considered a gardener's friend, earthworms can loosen and aerate
  the soil. But the story is different in the Great Lakes region. The
  last Ice Age wiped out native earthworms 10,000 years ago, and ever
  since the Northeast forest has evolved without the crawlers, Hale
  says. But now earthworms are back, a product of fishers who toss their
  worms into the forest, of off-road vehicles and lumber trucks that
  carry them in the treads of their tires, and of people who bring in
  mulch—and any worms that might be in it—from other areas.
As invasive creatures, the earthworms wreak the most havoc with
  hardwood forests, such as those consisting of maple, basswood, red
  oak, poplar or birch species. (Conifer-dominated forests seem to
  experience less dramatic impacts.) According to Peter Groffman, a
  microbial ecologist at the Cary Institute of Ecosystem Studies in
  Millbrook, N.Y., northern hardwood forests have relied on thick layers
  of leaf litter that serve as a rooting medium. The earthworms,
  Groffman reports, "come into an area with a thick organic mat, and two
  to five years later that layer is gone."

From the Minnesota Department of Natural Resources What's the big deal about earthworms in Minnesota?

Non-native "red wiggler" earthworms are sold and shipped all over the
  country for home compost piles and vermicomposting (worm composting)
  operations. Thus far, they are not known to survive Minnesota winters.
  However, if they or other species are able to survive winter and
  escape from compost piles they could further harm native forests. If
  you have a compost pile in a forested area, do not introduce
  additional non-native earthworms. If you are concerned about spreading
  non-native worms with your compost, you can kill worms and their eggs
  by freezing the compost for at least 1 week.  See the brochure "A B
  C's of Composting with Earthworms Safely" pdf This link leads to an
  external site. by Great Lakes Worm Watch for more info.

European worms harming North American forest diversity

Just about all the earthworms found in Northland forests are foreign,
  including nightcrawlers and angleworms, and their impacts are most
  noticeable in vegetation on the forest floor, the study reports.
Those changes include a decline in native plant species diversity,
  increased non-native plants from Europe (like buckthorn) and an
  increase in grasses moving into forests.

The Great Lakes Worm Watch is a web site with information about earthworms as an invasive species group as there are a number of different species.
Comment: @THelper Sorry about that link restriction. That is the Duluth News Tribune in Minnesota and it may be restricted to within the US. I have a friend in the UK to whom I have seen links from the BBC that he could not read. I thought it kind of strange that the BBC would have links that are restricted in the UK. Anyway I have added a link to the Great Lakes Worm Watch web site which has tons of info about worms as an invasive species.
Comment: The last link returns a 403 - Forbidden message. Perhaps it's only accessible by computers in the US?
Answer: Yes, you can use fishing worms in your garden. However there are a few things to be aware of.
Worms sold for bait are typically one of the larger species. Canadian Night Crawlers and Alabama Jumpers are two varieties commonly sold for bait.
The worms used in vermicomposting are most often Red Wigglers. These are quite small, and wouldn't make the best bait for that reason.
Red Wigglers are preferred for vermicomposting because they breed rapidly and consume great amounts of vegetable matter. They tend to live within the compost at the surface rather than deeper in the soil. This limits their utility in a garden as they would not carry organic matter deep into the soil column, offer the other soil engineering benefits that their larger cousins do. Their "above ground" habit also limits their ability to survive harsh winters.
The Night Crawlers and Jumpers, on the other hand, live much deeper in the ground. They come to the surface to feed on organic matter, and then carry that up to several feet deep where it is deposited in their castings. These larger worms are also more useful in a garden setting because their deeper burrows promote soil aeration and drainage, too.

Can you use worm bait for a garden


Rpi 3 reboots on opening chrome

Question: Every time I open chromium on my raspberry pi, it just reboots sometimes even 3 or 4 times. I've read about instances of the pi crashing but my device just starts from the rainbow screen. There's also  this lightning symbol on the corner of the screen, do you think it's a probable cause?
Comment: https://www.raspberrypi.org/documentation/configuration/warning-icons.md What power supply unit do you use?
Answer:
it just reboots sometimes even 3 or 4 times.

That certainly isn't because of Chrome.  If it rebooted once when you opened Chrome, it might be, but it could not cause it to repeat the process unless you opened it again.

There's also this lightning symbol on the corner of the screen, do you think it's a probable cause?

That's not the cause, that's a symptom of the same problem.  It indicates undervoltage, which will happen with an insufficient power supply when there is a sudden demand for current.
Opening Chrome would be a CPU intensive process drawing a lot of current.
It this is enough to cause a hard reset (i.e., the SoC shuts down because the voltage is too low, which eliminates most of the current draw, so the voltage rises again), booting is also a very CPU/energy intensive process.  Your power supply likely is unable to catch up, so within a few seconds a reset is triggered again, and the process repeats until you get lucky.
You should be able to observe the red PWR LED flickering during all this as well (which is another indicator like the lightening bolt).
You need a decent 5V (or preferably, a 5.1/5.2 V) supply capable of 2.5 amps to properly power a Pi 3.
Comment: thank you so much goldilocks! It really solves a major problem
Comment: If this answer solves your problem, tick the big checkmark on the left to indicate this ;)
Answer: I am running a Pi 3+ with Raspian stretch as its OS, every time I ran Chromium, the Pi would crash and reboot, I started to doubt your advice about the PSU not being able to support it, especially after trying 3 different types, Samsung @ 1.7amp, Apple 1amp and a Pama 1.5Amp ? PSU , but in desperation I tried plugging it into my NAS usb port and low and behold it works perfectly, never would I have thought that there is so much diffence between 5v usb chargers (appart from current), anyway many thanks, working perfectly now! will have to look out for a decent PSU rated at 2.5A
   Regards
    Mark

Rpi 3 reboots on opening chrome