How to solve the following minimization problem? For $n$ scalars $a_1,...,a_n$, find the solution of $$\min_{x \in \mathbb R}\sum^n_{i=1} |x - a_i|$$ I denoted $$\delta(x) = \sum^n_{i=1} |x - a_i| $$ and found  $$ \delta'(x) = \sum^n_{i=1} \frac{x-a_i}{|x - a_i|}$$  However, this function is not convex so just finding the critical points won't help. In any case, I still attempted it and got to the following equation $$\mathbf b^T \mathbf c= \mathbf b^T \mathbf a $$ where $$ \mathbf a = \begin{bmatrix} a_1 \\ \vdots \\ a_n \\ \end{bmatrix}, \mathbf b = \begin{bmatrix} \frac {1}{c+a_1} \\ \vdots \\ \frac {1}{c+a_n} \\ \end{bmatrix}, \ \mathbf c = \begin{bmatrix} c \\ \vdots \\ c \\ \end{bmatrix}, $$ with $c$ being such that $$ \delta' (c) = 0$$  I am not sure if I am going in the right direction and if there is a straightforward method for approaching this problem.
On a "1-D line", the point that minimizes the sum of the distances is the median, WHY? There is a set A which contains some discrete points (1-dimension), for example {1, 3, 37, 59}. And I want to pick one point from A which can minimize the sum of distances between this point and others.  For this "1-D line", many people say the median is the right point, but could anybody give me a concrete proof on it?
Why is there not a simpler way to calculate the standard deviation? Steps of getting standard deviation. :        Work out the average (mean value) of your set of numbers   Work out the difference between each number and the mean   Square the differences   Add up the square of all the differences   Divide this by one less than the number of numbers in your set -   this is called the variance   Take the square root of the variance and you've got the standard   deviation      Am I missing out something, or why do we need to square the differences in step 3?  Why not simply do a Abs (multiply all negative numbers by -1) in step 3?  Also, my second question is why do we need to divide by one less than the number of numbers in the set in step 5? why not simply divide by the number of numbers? Cross-reference packages: which to use, which conflict? "POSSIBLE BREAK-IN ATTEMPT!" in /var/log/secure — what does this mean? I've got a CentOS 5.x box running on a VPS platform. My VPS host misinterpreted a support inquiry I had about connectivity and effectively flushed some iptables rules.  This resulted in ssh listening on the standard port and acknowledging port connectivity tests. Annoying.   The good news is that I require SSH Authorized keys.  As far as I can tell, I don't think there was any successful breach.  I'm still very concerned about what I'm seeing in /var/log/secure though:     Apr 10 06:39:27 echo sshd[22297]: reverse mapping checking getaddrinfo for 222-237-78-139.tongkni.co.kr failed - POSSIBLE BREAK-IN ATTEMPT! Apr 10 13:39:27 echo sshd[22298]: Received disconnect from 222.237.78.139: 11: Bye Bye Apr 10 06:39:31 echo sshd[22324]: Invalid user edu1 from 222.237.78.139 Apr 10 06:39:31 echo sshd[22324]: reverse mapping checking getaddrinfo for 222-237-78-139.tongkni.co.kr failed - POSSIBLE BREAK-IN ATTEMPT! Apr 10 13:39:31 echo sshd[22330]: input_userauth_request: invalid user edu1 Apr 10 13:39:31 echo sshd[22330]: Received disconnect from 222.237.78.139: 11: Bye Bye Apr 10 06:39:35 echo sshd[22336]: Invalid user test1 from 222.237.78.139 Apr 10 06:39:35 echo sshd[22336]: reverse mapping checking getaddrinfo for 222-237-78-139.tongkni.co.kr failed - POSSIBLE BREAK-IN ATTEMPT! Apr 10 13:39:35 echo sshd[22338]: input_userauth_request: invalid user test1 Apr 10 13:39:35 echo sshd[22338]: Received disconnect from 222.237.78.139: 11: Bye Bye Apr 10 06:39:39 echo sshd[22377]: Invalid user test from 222.237.78.139 Apr 10 06:39:39 echo sshd[22377]: reverse mapping checking getaddrinfo for 222-237-78-139.tongkni.co.kr failed - POSSIBLE BREAK-IN ATTEMPT! Apr 10 13:39:39 echo sshd[22378]: input_userauth_request: invalid user test Apr 10 13:39:39 echo sshd[22378]: Received disconnect from 222.237.78.139: 11: Bye Bye     What exactly does "POSSIBLE BREAK-IN ATTEMPT" mean?  That it was successful? Or that it didn't like the IP the request was coming from? How do I redirect a domain to another domain locally? My /etc/hosts file looks like this:  127.0.0.1       localhost 10.20.7.67      testsitealpha.dev othersite.dev   testsitebeta.dev   The first two work. The last one doesn't. Why not? How do I make it work? The reason I am doing this, is because I have a test server (othersite.com), which is on the local network, but it's ip can vary. e.g. 10.20.7.98 one day, 10.20.7.35 another, etc.  So, how do I make my system always resolve testsitebeta.dev to the same ip as othersite.dev? What is the default /etc/inittab file on a fresh install of Debian Jessie? I'm looking for the full contents of the default /etc/inittab file on a fresh install of Debian 8.7 before any system-specific modifications are made.    I searched for this on the Debian website and other forums, but could not find it. dpkg: error: dpkg status database is locked by another process I just wondered if somebody could tell me what this means:  E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem. reidsr@ubuntu:~$ sudo dpkg --configure -a dpkg: error: dpkg status database is locked by another process reidsr@ubuntu:~$    How do I run sudo dpkg --configure -a  manually? What is the difference between `grep`, `egrep`, and `fgrep`? Can anyone tell me the technical differences between grep, egrep, and fgrep and provide suitable examples?  When do I need to use grep over egrep and vice versa? Displaying and/or searching across thousands of contacts? The Need  Our application has a chat feature that allows our users to chat with other users within their database.   However, we're adding a feature that allows clients to share data between multiple databases as an "Enterprise" configuration, and we've been asked to update the design of the chat feature to allow users to chat with other users within any of those databases.   We've looked at the numbers of possible users in these scenarios, and the number of chat users in these shared database environments can be as many as 5,000.   Users need to be able find people they need to chat with out of these thousands of contacts. However, up til now, we've had a list of contacts the users can browse. Since that is a user expectation, we were hoping to still maintain a browse-able list of contacts. We have ruled out trying to display a list of 5,000 contacts, as this doesn't seem to be anywhere close to useful or usable.   We've come up with three approaches to solve the problem:  Option One  Show a list of contacts from the local database that user's can browse. Have a second tab that allows users to search the "Full Directory", returning results from multiple databases.     Pros:   Allows us to show a browse-able list of relevant contacts  Clearly indicates to users that another source of chat contacts are available   Cons:   Search would be limited to the current tab, meaning users would have to be in the right tab to return the right result Adds a possible source of user confusion: whats the difference between "contacts" and the "full directory"? Adds another tab to what should be a simple chat list     Option Two  Show a list of contacts from the user's local database, but if they search for a contact, include results from other databases as well.     Pros:   Maintains a list of contacts the user can browse Avoids adding adding another tab One search field searches all sources   Cons:   Searching a finite contact list and returning results that weren't in the contact list may defy user's mental model of how the search will work. Not clear that another source of contacts exist. May need to add explanatory text that says "Search to see contacts from the full directory".      Option Three  Add a dropdown that allows a user to select a what to search in: the local database, or the full directory.     Pros:    No additional tab required Indicates to users that another source of chat contacts are available, though not as clearly as option 1   Cons:    Search still isn't universal: the right search category must be selected to return the right result Users may not notice the dropdown or understand intuitively what its function is. May require explanatory text in search results, reminding the user they can expand the search to the full directory     Thoughts?  Right now I'm leaning towards option two, but is there another option I'm not considering here? Is there another alternative worth considering?   Thanks! Update Manager is constantly offering me updates (e.g. security fixes, updates from PPAs).  How can I tell my Ubuntu installation to automatically download and install updates whenever they become available? How do I change directory back to my original working directory with Python? Headers of \chapters* take the headers of their previous \chapter When using book.cls and using \chapter* after a \chapter, the header used in \chapter* is wrong. An example is pasted below.   Is there any known workaround for that? I have tried quite some tricks without success.   \documentclass[]{book}  \begin{document}  \chapter{First Chapter} aslkjdf  \chapter*{Unnumbered Chapter} The GNU General Public License is a free, copyleft license for software and other kinds of works.  The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.  When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.  To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.  For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.  Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.  For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.  Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.  Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.  The precise terms and conditions for copying, distribution and modification follow.  \end{document} How to prove that a continuous function, homotopic to the constant map $f:S^1\to S^1$  (a) has a fixed point and that (b) has a point $x$, such that $f$ maps $x$ to its antipodal point $-x$? Converting mobi files to pdf files I have a Hanlin V3+ e-book, unfortunately it crashes too often when reading mobi files, so I want to convert them first into pdf, and then read pdf on V3+. Is there any tool for converting mobi files to pdf files? Thanks. How to install and configure Wine? Unsealed meat in freezer Below is my situation:  Is completely (vacuum) sealing leftover meat in the freezer absolutely necessary? I would always just use a plastic bag to cover the meat and fold it around couple of times so it's almost as good as sealed (usually grocery plastic bag is much bigger than the piece of meat) and have never had a problem with it last a decade or so I have been cooking.  But recently I got this new roommate who insists on me using special small plastic bags with sealers to use and he is being very paranoid, obsessive about it.  So my question is: Is he right? Adding Basemaps from Google or Bing in QGIS ArcGIS Desktop has the option of using basemaps from ArcGIS Online. Does QGIS have any such options? When typing either of the commands nautilus . or xdg-open . into terminal, they execute correctly, but with a warning:  Nautilus-Share-Message: Called "net usershare info" but it failed: Failed to execute child process “net” (No such file or directory)   As I say, it opens the file manager correctly and I can detect no further problems. There are several instances of users experiencing this message in other questions , but each of the questions either addresses a side-issue I'm not experiencing, or simply goes unanswered.    What does this message mean, and can I do anything to prevent it? I have been around on Twitter for awhile and I regularly find people using "Please to retweet this" or "Please to help me", etc. Is this proper English? I do not think prefixing the infinitive form with a 'to' is necessary here at all. We've just been learning about complex numbers in class, and I don't really see why they're called numbers.  Originally, a number used to be a means of counting (natural numbers).  Then we extend these numbers to instances of owing other people money for instance (integers).  After that, we consider fractions when we need to split things like 2 pizzas between three people.  We then (skipping the algebraic numbers for the purposes of practicality), we use the real numbers to describe any length; e.g. the length of a diagonal of a unit square.  But this is when our original definition of a number fails to make sense- when we consider complex numbers, which brings me to my main question: what is a rigorous definition of 'number'?  Wikipedia claims that "A number is a mathematical object used to count, label, and measure", but this definition fails to make sense after we extend $\mathbb{R}$.     Does anyone know of any definition of number that can be generalised to complex numbers as well (and even higher order number systems like the quaternions)? You can use a standard dot notation or a method call in Objective-C to access a property of an object in Objective-C.  myObject.property = YES;   or  [myObject setProperty:YES];   Is there a difference in performance (in terms of accessing the property)? Is it just a matter of preference in terms of coding style?