How does it handle the same base code for all sites? How does SE deploys an upgrade through all its sites?
I'm looking for some insight into how Stack Overflow releases are deployed and managed.   What software/tooling is used? What time are releases generally performed? How many and what steps are involved?   I'm assuming it's not too stringent given the light team working on the codebase. But considering the high rate of change, I could see some kind of tooling and automation becoming increasingly relevant, so I'm curious to learn what kind of decisions are being made to deal with the changes in scale and feature set over time.  Is this information available somewhere?
Convert quaternion to a different coordinate system OSVR has a right-handed system: x is right, y is up, z is near.  I need to convert orientation data from a sensor in OSVR to a different right-handed system in which x is forward, y is left, and z is up.  I need to calculate the transformation that will convert a quaternion from one system to the other.  I naively tried:  void osvrPoseCallback(const geometry_msgs::PoseStampedConstPtr &amp;msg) { // osvr to ros     geometry_msgs::PoseStamped outputMsg;      outputMsg.header = msg-&gt;header;     outputMsg.pose.orientation.x = msg-&gt;pose.orientation.y;     outputMsg.pose.orientation.y = msg-&gt;pose.orientation.z;     outputMsg.pose.orientation.z = msg-&gt;pose.orientation.x;     outputMsg.pose.orientation.w = msg-&gt;pose.orientation.w;      osvrPosePub.publish(outputMsg);     ros::spinOnce(); }   But that made things really weird. Facing north pitch is pitch, facing west, pitch is yaw, facing south, pitch is negative pitch...  How can I convert my OSVR quaternion to the a corresponding quaternion in the new coordinate system? What is the longest additional time ever used in Europe's top five leagues? Please mention the details of the match. Why am I getting "line 1: $' :\r': command not found"? I use Cygwin on my laptop (DOS). I have a collection of scripts from my colleagues, and my own. I am not an IT person, not knowledgeable in Unix. I am following my colleagues' syntax and able to manage a few simple things. The scripts worked well on my old laptop. I just changed laptop and installed Cygwin. When I run my scripts, they do not work. Here is one example of the error message I get: line 1: $':\r': command not found line 5: syntax error near unexpected token `$'\r'' line 5: `fi  Here are the top 5 lines of my script : iter=1 if [ -f iter.txt ]    then rm ./iter.txt  fi    Can someone please explain how I can get around this problem? Is there way to replace value of symbolic link? Is there way to replace value of symbolic link?  For example I want to replace symbolic link like this:  first -&gt; /home/username/foo/very/long/directories/that/I/do/not/want/to/type/again    to   second -&gt; /home/username/bar/very/long/directories/that/I/do/not/want/to/type/again   I want to change only foo to bar.  Of course I can create a link again, but if it is possible to replace value of the link, it become easier. I am totally aware a question of similar nature is asked before. But the answer there is not doing any good for me.  I have installed python 2.7.6 in addition to system default 2.7.3. And now my system is screwed up completely. Now I want to remove the 2.7.6 and get back to my system default. update-alternatives command on python is not working!  I have installed the 2.7.6 by downloading source and triggering "config, make, sudo make install" commands.  Please help. Diagonalizable Operators and characteristic polynomials Let $A$ be an $n\times n$ diagonal matrix with characteristic polynomial $(x-c_1)^{d_1}\cdots(x-c_k)^{d_k}$, where $c_1,\ldots,c_k$ are distinct. Let $V$ be the space of $n\times n$ matrices $B$ such that $AB=BA$. Prove that the dimension of $V$ is $d_1^2+\cdots+d_k^2$. SEO preference: does a site with WWW rank better than without WWW? Resolve the error "An illegal choice has been detected..." Why did Aragorn and Theoden ride out at the Hornburg? In the Battle of the Hornburg from The Two Towers, Aragorn and Theoden say "We must ride out." Why did they do this?  Was it just a matter of honor? Did they ride out on their horses in the middle of battle because they thought it was the end, as they were outnumbered? Was it because Aragorn knew Gandalf was coming so they were confident they were about to win? How to align prices in columns when both 2 digit and 4 digit variations of a price exist? How do I profile memory usage in Python? I've recently become interested in algorithms and have begun exploring them by writing a naive implementation and then optimizing it in various ways.  I'm already familiar with the standard Python module for profiling runtime (for most things I've found the timeit magic function in IPython to be sufficient), but I'm also interested in memory usage so I can explore those tradeoffs as well (e.g. the cost of caching a table of previously computed values versus recomputing them as needed). Is there a module that will profile the memory usage of a given function for me? How to prevent Command-I/Command-Shift-I from opening Mac Mail when in browser? When in a browser (Chrome or Safari), the following keyboard shortcut will always bring up a window that says "Welcome To Mail":  Command+Shift+I  I would like to use this shortcut for another purpose.  Is there any way to disable this shortcut? How to set a proxy for terminal? I am looking to set a proxy for terminal. What I need is I want to send all terminal communications to the internet through a proxy, say tor.   I tried to set a system wide proxy set up. But Terminal doesn't obey the system wide proxy configuration.  Is there any other way to do this? I have a PHP script that can encode a PNG image to a Base64 string.  I'd like to do the same thing using JavaScript. I know how to open files, but I'm not sure how to do the encoding. I'm not used to working with binary data. Problems with Groups in Traminer I'm having a problem using the group function in TraMineR. I have a data set that contains SPELL data, so multiple rows per case. I also have demographic data per case, at one row per case. I merge these together and end up with data that has a demographic covariate per row, so multiple rows per case. An example of this data would be:  id startmin stopmin activity educ4 4      1      20       work    HS 4      20     40       play    HS 8      1      15       sleep   College 8      15     40       work    College   I can make sequence data from this, but when I try to run a plot using the group command        seqiplot(atus.seq, group = atus.seqdata$educ4, border=NA,                 withlegend="right",  cex.plot=.55)   it tells me:       &gt;"Error: group must contain one value for each row in the sequence object".   I have gotten this to work with the example of the mvad data in the training manual, but I can't seem to get it to work with the groups, whether I link to the original demographic data, the merged data, or try to pass the covariates by seqformat and seqdef. Ideas? I wrote a little bash script that made me stumble across the . I did not know about this problem before and I just dare on posting the --debug output I got from date when my script tried to calculate across this magic date (03:14:07 UTC on 19 January 2038).  date -d "20380119"  date: parsed number part: today/this/now date: input timezone: +01:00 (set from system default) date: warning: using midnight as starting time: 00:00:00 date: starting date/time: '(Y-M-D) 2038-01-19 00:00:00 TZ=+01:00' date: '(Y-M-D) 2038-01-19 00:00:00 TZ=+01:00' = 2147468400 epoch-seconds date: output timezone: +01:00 (set from system default) date: final: 2147468400.000000000 (epoch-seconds) date: final: (Y-M-D) 2038-01-18 23:00:00 (UTC0) date: final: (Y-M-D) 2038-01-19 00:00:00 (output timezone TZ=+01:00) Tue Jan 19 00:00:00 CET 2038   date -d "20380119 + 1 days"  date: parsed hybrid part: +1 day(s) date: input timezone: +01:00 (set from system default) date: warning: using midnight as starting time: 00:00:00 date: starting date/time: '(Y-M-D) 2038-01-19 00:00:00 TZ=+01:00' date: warning: when adding relative days, it is recommended to specify 12:00pm date: error: adding relative date resulted in an invalid date: '(Y-M-D) 2038-01-20 00:00:00 TZ=+01:00' date: invalid date '20380119 + 1 days'   date -d "20380120" --debug  date: parsed number part: today/this/now date: input timezone: +01:00 (set from system default) date: warning: using midnight as starting time: 00:00:00 date: error: invalid date/time value: date:     user provided time: '(Y-M-D) 2038-01-20 00:00:00 TZ=+01:00' date:        normalized time: '(Y-M-D) 2038-01-20 00:00:00 TZ=+01:00' date:  date:      possible reasons: date:        numeric values overflow; date:        missing timezone date: invalid date '20380120'   Is there any way to make GNU date calculate across this date? (on a LINUX 32 bit system)    Operating System: Debian GNU/Linux buster/sid             Kernel: Linux 4.12.0-2-686-pae       Architecture: x86 How to understand intuitively the Stolz-Cesaro Theorem for sequences? I have to give a presentation on the theorem in Real Analysis with a fellow student. While I've looked over the  and verified that, yes, step B does indeed follow logically from step A, etc. and have internalized the proof to the extent that I can replicate it myself on paper, I still feel that I have made little progress as to why this theorem works the way it does, i.e. what is the intuition behind the theorem, such that it should make sense that it follows the way it does. Therefore I ask: what kind of intuition is there about this theorem? It would also be helpful to understand how the theorem can be used effectively in analysis.  I have seen it referred to as a sort of L'Hopital's rule for sequences, which certainly seems to make sense, but I similarly have little intuitive understanding of how that rule works, either.  I am asking this question not only for my personal understanding, but also for the sake of being able to present it in an illuminating manner, such that the rest of the class can also come away with the same sort of intuition of how the theorem works and how it is useful. Any help would be greatly appreciated.  EDIT: I should point out that the formulation of the theorem we are being tasked to prove is the following:  Let $\lbrace a_n \rbrace$, $\lbrace b_n \rbrace$ be sequences, ${b_n}$ strictly increasing and unbounded. Then if $\lim\limits_{n \to \infty} \frac {a_{n+1} - a_n}{b_{n+1} - b_n} = l$ for some $l \in \mathbb R$, then $\lim\limits_{n \to \infty} \frac{a_n}{b_n} = l$ also. Find records from one table which don't exist in another I've got the following two tables (in MySQL): Phone_book +----+------+--------------+ | id | name | phone_number | +----+------+--------------+ | 1  | John | 111111111111 | +----+------+--------------+ | 2  | Jane | 222222222222 | +----+------+--------------+  Call +----+------+--------------+ | id | date | phone_number | +----+------+--------------+ | 1  | 0945 | 111111111111 | +----+------+--------------+ | 2  | 0950 | 222222222222 | +----+------+--------------+ | 3  | 1045 | 333333333333 | +----+------+--------------+  How do I find out which calls were made by people whose phone_number is not in the Phone_book? The desired output would be: Call +----+------+--------------+ | id | date | phone_number | +----+------+--------------+ | 3  | 1045 | 333333333333 | +----+------+--------------+ An infinite Penney's game. Context: I need to solve one variation of the . Problem: Two players ($A$ and $B$) throw a coin until one of the victory sequences appears. For player $A$ the victory sequence is $HTT$, for player $B$ the victory sequence is $TTH$. What is the probability that $A$ wins and what is the expected number of throws given that $A$ won? My attempt: Intuitively, it seems that player $B$ is more likely to win. Basically, I reliase that we can use the Markov-Chains, but my idea is only draw a binary tree and consider the sequences on the n-th step. My another idea was to calculate the expected number of throws to get, say, $HH$ that would be equal to $r_{HH}$: $$r_{HH} =  \frac{1}{4}E(number|HH) + \frac{1}{4}E(number|HH)+ \frac{1}{4}E(number|TT)+ \frac{1}{4}E(number|TH) = \frac{1}{4}(9 + \frac{5}{2} r_{HH})$$  And get $r_{HH}$. My issues: I don't really understand how to join these ideas to get a proper solution. How do I get a list of obsolete packages? I'm trying to figure out a way to get a list of the packages that are no longer available in the repositories that I have enabled. This workstation has been through quite a few versions of Ubuntu and has had many 3rd party repositories added and removed. I'd like to get a list of software that I have from these removed repositories, so I can clean it up or add back the appropriate repositories.