I'm working on collision detection for a pong clone. I've calculated the angle of incidence but I can't find any information on how to specular reflect the angle I found.  The code for calculating the angle of incidence is below    if (ballPosition.Y &gt;= height - 6)   {     Vector2 bottomNormal = new Vector2(400, 460) - new Vector2(400, 480);     Vector2 ballNormal = ballPosition - new Vector2(400, 480);     ballNormal.Normalize();     bottomNormal.Normalize();      float angle = Vector2.Dot(bottomNormal, ballNormal);  }
I'm trying to wrap my head around this very Hello World-y problem in game development. I've created a TicTacToe game in XNA so I guess the next step would be a  clone.  Keep in mind that I have no knowledge on game programming or even what maths I should apply to where. That's why I'm asking this question.    To the question: How can I determine where the ball should bounce when it hits the paddle at the bottom of the screen?  I'd imagine it would be something like:   Capture speed and angle from incoming ball. Detect where it touched the bar (far left, far right, center) and according to that give it a higher speed if it touched the outer areas. This is where I'm stuck. Hehe.   Any insights? I realize this is not a straightforward answer type question, but I'm sure it's one everyone faces at some point.  I'm reading the book Linear Algebra that was recommended on this website, but I still have no idea if I should apply it here.
Calculate limit with L'Hospital's rule I want to calculate the limit $\displaystyle{\lim_{x\rightarrow 0}\frac{x^2\cos \left (\frac{1}{x}\right )}{\sin x}}$.   I have done the following:    It holds that $\lim_{x\rightarrow 0}\frac{x^2\cos \left (\frac{1}{x}\right )}{\sin x}=\frac{0}{0}$.   So, we can use L'Hospital's rule:  \begin{align*}\lim_{x\rightarrow 0}\frac{x^2\cos \left (\frac{1}{x}\right )}{\sin x}&amp;=\lim_{x\rightarrow 0}\frac{x^2\cos \left (\frac{1}{x}\right )}{\sin x} \\ &amp;=\lim_{x\rightarrow 0}\frac{\left (x^2\cos \left (\frac{1}{x}\right )\right )'}{\left (\sin x\right )'} =\lim_{x\rightarrow 0}\frac{2x\cdot \cos \left (\frac{1}{x}\right )+x^2\cdot \left (-\sin \left (\frac{1}{x}\right )\right )\cdot \left (\frac{1}{x}\right )'}{\cos x} \\ &amp;=\lim_{x\rightarrow 0}\frac{2x\cdot \cos \left (\frac{1}{x}\right )-x^2\cdot \sin \left (\frac{1}{x}\right )\cdot \left (-\frac{1}{x^2}\right )}{\cos x} \\ &amp; =\lim_{x\rightarrow 0}\frac{2x\cdot \cos \left (\frac{1}{x}\right )+\sin \left (\frac{1}{x}\right )}{\cos x}=\lim_{x\rightarrow 0}\left (2x\cdot \cos \left (\frac{1}{x}\right )+\sin \left (\frac{1}{x}\right )\right ) \\ &amp; =\lim_{x\rightarrow 0}\left (2x\cdot \cos \left (\frac{1}{x}\right )\right )+\lim_{x\rightarrow 0}\left (\sin \left (\frac{1}{x}\right )\right )\end{align*}   We calculate the two limits separately   $\lim_{x\rightarrow 0}\left (2x\cdot \cos \left (\frac{1}{x}\right )\right )$ :    \begin{equation*}\left |\cos \left (\frac{1}{x}\right )\right |\leq 1 \Rightarrow -1\leq \cos \left (\frac{1}{x}\right )\leq 1  \Rightarrow -2x\leq 2x\cdot \cos \left (\frac{1}{x}\right )\leq  2x\end{equation*} we consider the limit $x\rightarrow 0$ and we get \begin{equation*}\lim_{x\rightarrow 0} \left (2x\cdot \cos \left (\frac{1}{x}\right ) \right )=0\end{equation*}    How can we calculate the limit $\lim_{x\rightarrow 0}\left (\sin \left (\frac{1}{x}\right )\right )$ ? How do I compare version numbers in Python? I'm running a VPS of a german provider and want to switch from Ubuntu to CentOS. There I tried to install firewalld (was not preinstalled), but it always fails with the error  ERROR: Failed to load nf_conntrack module: modprobe: ERROR: could not find module by name='nf_conntrack' modprobe: ERROR: could not insert 'nf_conntrack': Function not implemented modprobe: ERROR: Error running install command for nf_conntrack modprobe: ERROR: could not insert 'nf_conntrack': Operation not permitted   Obviously the nf_conntrack kernel module was not found. Since this is a VPS, I cannot tinker with the kernel modules. On the support site of my provider I found a list of available kernel modules, for example:  ip_conntrack_netbios_ns ipt_conntrack    ip_conntrack    ip_conntrack_ftp    ip_conntrack_irc   Since nf_conntrack is not listed here, does that mean, that I cannot use firewalld? Is it possible to run it without this module?  I guess I could use iptables, if I wanted to (it seems to run correctly). But as I have more experience with firewalld, I would like to stick with it.    CentOS Linux release 7.7.1908 (Core)  uname -a: Linux xxxxxx.xxxxxxxx.xxx 3.10.0-042stab140.1 #1 SMP Thu Aug 15 13:32:22 MSK 2019 x86_64 x86_64 x86_64 GNU/Linux PhD duration in the USA I am trying to find out what the average duration of PhD studies are in the USA. Here in Spain it used to be 4 years, but it seems that Europe is moving towards a 3-year scheme since students are expected to do their MSc before they start. What is it like in the USA? Is some kind of shortening also occurring? Does the ANSI standard mandate the logical operators to be short-circuited, in either C or C++?  I'm confused for I recall the K&amp;R book saying your code shouldn't depend on these operations being short circuited, for they may not. Could someone please point out where in the standard it's said logic ops are always short-circuited? I'm mostly interested on C++, an answer also for C would be great.  I also remember reading (can't remember where) that evaluation order isn't strictly defined, so your code shouldn't depend or assume functions within an expression would be executed in a specific order: by the end of a statement all referenced functions will have been called, but the compiler has freedom in selecting the most efficient order.  Does the standard indicate the evaluation order of this expression?  if( functionA() &amp;&amp; functionB() &amp;&amp; functionC() ) cout&lt;&lt;"Hello world"; Data Not Backed Up, Partition Type: FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF I was trying to install Linux on my MacBook for class when I bricked my computer, which now in an unbootable state.   I made my partition too small, so I was going to delete and create a larger one. However, Disk Utility did not allow me to delete the small partition. I followed the instructions from   However, not only was I still unable to delete it, but upon restarting I realized my primary partition (located on the same disk) changed into FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF, and I had no options to boot.  (I am sure I performed the command on the correct disk and partition)  I saw some similar threads, but my main bootable drive is the one that got corrupt.   I don't want to lose any data. I'm not the most terminal savvy, so ANY help is appreciated, and I will kindly provide any additional information!  (Disk 0, partition 2 is my main partition, and that only one I care about)  Below are the results of  $ diskutil list and $ gpt -r show disk0.        UPDATE: :  I have followed @klanomath 's instructions. At the last step I received the following error:  Checking prerequisites Checking the partition list Checking for an EFI system partition Checking the EFI system partition's size Checking the EFI system partition's file system Problems were found with the partition map which might prevent booting Error: -69766: The partition map needs to be repaired because there's a problem with the EFI system partition's file system Underlying error: 8: POSIX reports: Exec format error    FINAL UPDATE: SUCCESS!  I just wanted thank @klanomath for helping me through this entire process. He spent 11 hours TeamViewing with me until not only my files were accessible, but until I could access my computer as could before this whole debacle (and this was after 5 hours of email correspondence).   To any future reader with this problem: PLEASE don't give up, it can be fixed! How to format numbers as currency strings Prevent questions with movie/tv shows/game spoilers from appearing in the hot questions list I've noticed that occasionally "hot questions" from SciFi and the Movies &amp; TV network contain major spoilers about the movie/show discussed.  The Matrix spoilers:      (just now there's something about Cypher betraying Morpheus in the Matrix, which is a big deal for people who haven't seen the movie).   I like browsing through those but fear that one day one of these questions will spoil a show I'm excited about and yet to finish   Breaking Bad spoilers:      (like the finale of Breaking Bad, imagine a question asking why did one character betray another at the end or something).   Can users posting such questions be asked to label those with a tag (such as 'spoilers') and then somehow have the network hide those from the "hot questions" list? Or possibly format them differently?  Similarly, this could apply to the Arcade network too.  P.S. Love how this question spikes in popularity around the time GoT starts running again. I swear it should be fairly simple technically to ban questions that have a tag that says 'spoilers' from appearing in the Hot Network Questions.  P.P.S. Oh, and with every fresh release of Star Wars (The Last Jedi being the most recent one)!  P.P.P.S. Another year, another Game of Thrones, another spike in popularity! Does the  tag position in HTML affects performance of the webpage? On a systems level, I understand that as electrons are pushed into a wire, there is a net field and a net electron velocity.  And I've read that the net electron drift is slow.  But electricity travels through the wire, essentially at c, and I want to understand that mechanism.  My apologies if my question is poorly stated, I know bare bones undergraduate quantum theory circa 1990s but it doesn't explain the motion of electricity in detail.  Here's my conception, I'm hoping someone will fill in the holes, ha ha.  An electron moves into the wire.  It's got a kinetic energy.  After travelling a short distance, it spontaneously emits a photon, which hits another electron in a valence shell.  That electron then presumably does the same.  If this conception is simply wrong, please enlighten me.  The questions that arise:   Presumably at this level, electrons are acting more like waves and less like particles, but is there any classical component in the picture, ie are electrons coming in imparting other electrons with kinetic energy through repulsion, or does it not work that way? If electrons momentarily have energy, then pass it on by a photon, what determines when that photon is emitted, and what frequency it will be?  I assume that electrons in this cloud are not limited by any kind of exclusion principal, and that any frequencies are possible? Why should a photon emitted by an electron be in the direction of travel?  Conservation of momentum tells me that if an electron is moving, the photon should be emitted in that direction, slowing the electron, but could an electron emit a photon in the opposite direction?  If it did, I assume it would somehow have had to absorb energy from elsewhere? That sounds possible by analogy with quantum tunneling. What is the mechanism by which electrons propagating increase the temperature of the material?  Are they transmitting energy to the electrons in the valence shell, which tug at the nucleus, do some photons hit the nuclei directly, or is there some other way?  Presumably, electricity travels slower than light, because there is some time in each exchange, and some time when electrons are moving at sublight speeds before emitting a photon.  By how much is this slower than light, and what is the speed of each interaction? "Contact us"... and then what? Why, logically, is proof by contradiction valid? $\Bbb{Z}_{26} \rtimes_{\alpha} \Bbb{Z}_{5} \cong \Bbb{Z}_{26} \times \Bbb{Z}_{5}$ as groups. Nearby objects won't move independently? I created a thick glass bottle and duplicated the interior faces to make a new object to create the liquid inside.   I went in the edit mode, selected the faces I wanted to copy and duplicated them with ShiftD. Then I pressed P to  separate the duplicated faces.   Now I try to make a duplicate of that liquid to make it flow out of the bottle, and I simply need the duplicate of one face of it. So I go to edit mode and do as I did to make the liquid from the bottle faces... but as soon as I'm back to the object mode and I want to move the duplicated faces, every thing moves with it...   I played around and tried things, and while doing so I realized that if I dupe the liquid object in object mode using ShiftD and press 0 to place it where the original is, they move together if I duplicate it and place it somewhere else so that they are separated.   Also if I pick one of the two separated objects and make it intersect with the other one, release my left mouse button to place it there, and then try to move it again, they both move together, but not at the same speed.  I really don't understand what is going on and I'm sure it's really badly explained, so what I'll do is make a screen capture of my Outliner and record the behavior of the objects and upload those to help you understand. How can I get file extensions with JavaScript? See code:   var file1 = "50.xsl"; var file2 = "30.doc"; getFileExtension(file1); //returns xsl getFileExtension(file2); //returns doc  function getFileExtension(filename) {     /*TODO*/ } What is the error "Every derived table must have its own alias" in MySQL? I want to know if there is a way to switch to console mode from the boot menu.  I have an NVIDIA 1070 and every time there is an update, the GUI stops working. All I need to do is re-install the drivers; however, to do that I need to be in console mode. EDIT: I should have added more information to this question but I'll comment on all answers. In short: I've tried text instead of quiet splash I do see booting activity in text mode; however, I don't get a login screen and ctrl + Alt + F1 doesn't help because GDM keeps trying to restart. Previously I managed to kill GDM through multiple tries but is not working since the latest update. EDIT: After searching for runlevel, I've found  but I think it required me to have a running system to make changes -- please correct me if I'm wrong. Surprisingly many network interfaces on macOS: are these legitimate? ifconfig reveals a surprisingly long list of network interfaces on my MacBook, which is running macOS High Sierra (10.13.6): lo0, gif0, stf0, XHC20, en0, p2p0, awdl0, en1, en2, bridge0, utun0.  There is an F5 VPN client installed, but I've rebooted the MacBook since the last VPN connection.  Are all of these network interfaces legitimate or is this something I should worry about? No sound in Ubuntu 13.04, only Dummy output device listed My sounds suddenly stopped playing on Ubuntu 13.04 64bit. I can only see Dummy output device in the Sound Settings and no sound is played during testing.  I can get the sound temporarily working by killing one of the strange processes, but I have to repeat the same after reboot  jan@jan-HP-Desktop:~$ ps -ef|grep pulseaudio 112       1405     1  0 09:38 ?        00:00:00 /usr/bin/pulseaudio --start --log-target=syslog 112       2132  1405  0 09:38 ?        00:00:00 /usr/lib/pulseaudio/pulse/gconf-helper jan       2575     1  0 09:39 ?        00:00:00 /usr/bin/pulseaudio --start --log-target=syslog jan       2597  2575  0 09:39 ?        00:00:00 /usr/lib/pulseaudio/pulse/gconf-helper jan       3160  2975  0 09:40 pts/2    00:00:00 grep --color=auto pulseaudio  jan@jan-HP-Desktop:~$ sudo kill 1405   Is there a permanent solution for this problem? I am a kid trying to teach myself Calculus in order to prepare for next year.   I have the expression  $$\lim_{x\to 2}\frac{\cos(\frac \pi x)}{x-2} $$  There is a hint that says to substitute t for $(\frac \pi2 - \frac \pi x)$ and WolframAlpha evaluates this expression as $\frac \pi4$. However, I got the answer of $1$. Can someone clarify the steps to solving this problem.