I have a small script, which does not give comma separated output when IFS is used, but IFS is mandatory as i need it to read many other value. The output of the below script is odi_server1 odi_server2, but I need it separated by comma. #Script Starts #!/bin/sh  IFS=&quot;,&quot; odi_cluster=odi_server1,odi_server2; echo $odi_cluster;  #Script Ends  Current Output = odi_server1 odi_server2 Expected Output = odi_server1,odi_server2 Note:- IFS=&quot;,&quot; is mandatory, hence removing it is not an option.
The old advice used to be to double-quote any expression involving a $VARIABLE, at least if one wanted it to be interpreted by the shell as one single item, otherwise, any spaces in the content of $VARIABLE would throw off the shell.  I understand, however, that in more recent versions of shells, double-quoting is no longer always needed (at least for the purpose described above).  For instance, in bash:  % FOO='bar baz' % [ $FOO = 'bar baz' ] &amp;&amp; echo OK bash: [: too many arguments % [[ $FOO = 'bar baz' ]] &amp;&amp; echo OK OK % touch 'bar baz' % ls $FOO ls: cannot access bar: No such file or directory ls: cannot access baz: No such file or directory   In zsh, on the other hand, the same three commands succeed.  Therefore, based on this experiment, it seems that, in bash, one can omit the double quotes inside [[ ... ]], but not inside [ ... ] nor in command-line arguments, whereas, in zsh, the double quotes may be omitted in all these cases.  But inferring general rules from anecdotal examples like the above is a chancy proposition.  It would be nice to see a summary of when double-quoting is necessary.  I'm primarily interested in zsh, bash, and /bin/sh.
Is it safe to delete the file Caches, in the Library of the Mac OS X Hard Drive?  It's a pretty big file, 3.56 GB, Caches reminds me of logs i don't need or browser cookies.   Is it safe to delete the folder "Caches"? Why is "letter" not plural in "two letter words"? Why is "letter" not plural in "two letter words"?  For me it's very strange as the equivalent in French would be plural but my English friend finds it totally normal. Change how questions marked as duplicates by the asker are represented Situation: when a user self-marks their post as a duplicate, it shows as closed by "community" rather than the original poster.  Problems: this is not clear at all to most users of SE what has happened. It looks like the question was "mod closed" as a duplicate against the asker's wishes.    Suggestion: instead of the community user "closing" the post, have the final close user be the asker (or make it "Community &amp; Asker"). This will help clear up confusion and streamline the process for understanding what happens. Should I edit my deleted answer or add another answer? How do I "replay" the "Caveats" section from a homebrew recipe Groups of order $pq$ without using Sylow theorems If $|G| = pq$,  $p,q$ primes, $p \gt q, q \nmid p-1 $, then how do I prove $G$ is cyclic without using Sylow's theorems? Force a Blender operator to always start with default values I'm writing an operator for which it is crucial that every time it gets called all the properties are set to their default values.   The ops.object.delete has 1 param. use_global. It is always false, no matter what the user put in last time it got called. I would like to replicate exactly that.   (For example: I want to modify delta scale. The default val for my_factor is 1, so nothing happens until the user alters that number. If the user calls the operator again, it will have stored whatever number the user has used last, however I want it to always start with 1.) Change folder permissions and ownership Proving the given quadratic form is chi-squared $k$ Suppose $\underline{X}$ is an $m$-dimensional vector following multivariate Normal distribution i.e. $\underline{X}$~$N_m(\underline{\mu},\Sigma)$ where $\Sigma$ is positive definite. Let $B$ be a symmetric $m$ by $m$ matrix, having the following properties:  $B\Sigma B=B$  $\underline{\mu}'B\underline{\mu}=0$  $trace(B\Sigma)=k$, where $k&lt;m$   Prove that $\underline{X}'B\underline{X}$ follows chi-squared ($k$).  I proceeded a lot but got stuck in one last step where I think linear algebra is troubling me. Kindly have  a look at my &quot;solution&quot;.  The second condition can be written as $\underline{\mu}'B\Sigma B\underline{\mu}=0\implies B\underline{\mu}=\underline{0}$ as $\Sigma$ is Positive definite. Then after a little algebra and considering condition 2, we can write $\underline{X}'B\underline{X}=(\underline{X}-\underline{\mu})'B(\underline{X}-\underline{\mu})=(\underline{X}-\underline{\mu})'B\Sigma B(\underline{X}-\underline{\mu})$ But $\Sigma$ is positive definite hence we can have a symmetric matrix $\sqrt{\Sigma}$ defined such that $\sqrt{\Sigma}\sqrt{\Sigma}=\Sigma$. Using this, we can write $(\underline{X}-\underline{\mu})'B\Sigma B(\underline{X}-\underline{\mu})=(\sqrt{\Sigma}B(\underline{X}-\underline{\mu}))'(\sqrt{\Sigma}B(\underline{X}-\underline{\mu}))$ We want to show that this follows chi-squared ($k$). Now, it is obvious that as $(\underline{X}-\underline{\mu})$~$N(\underline{0},\Sigma)$, $\sqrt{\Sigma}B(\underline{X}-\underline{\mu})$~$N(\underline{0},\sqrt{\Sigma}B\Sigma B\sqrt{\Sigma})=N(\underline{0},\sqrt{\Sigma}B\sqrt{\Sigma})$ Now, $trace(\sqrt{\Sigma}B\sqrt{\Sigma})=trace(B\Sigma)=k$ and $\sqrt{\Sigma}B\sqrt{\Sigma}$ is idempotent (verified). So its eigenvalues are only $0$ or $1$. Since its trace is $k$, there are $k$ eigenvalues with value $1$ and other $m-k$ eigenvalues are $0$. Now here is the thing I want to prove: I want to show that$\sqrt{\Sigma}B\sqrt{\Sigma}$, which is the covariance matrix, is diagonal and has only $k$ $1$'s and remaining $m-k$ diagonal entries $0$. The reason is, then I will be able to say that $k$ components of $\sqrt{\Sigma}B(\underline{X}-\underline{\mu})$ are independent standard normals whose sum of squares is our quadratic form and thus it follows chi-squared ($k$). But I really could not show that $\sqrt{\Sigma}B\sqrt{\Sigma}$ has the desired property i.e. it is diagonal with rank $k$. But this is crucial, it is the finale. If this does not happen, then some components will be correlated with each other and we cannot say that our quadratic form has chi-squared ($k$). I would really appreciate if someone helped me to prove this final part. I try to get rounded corners on a UIImage, what I read so far, the easiest way is to use a mask images. For this I used code from TheElements iPhone Example and some image resize code I found. My problem is that resizedImage is always nil and I don't find the error...  - (UIImage *)imageByScalingProportionallyToSize:(CGSize)targetSize {     CGSize imageSize = [self size];     float width = imageSize.width;     float height = imageSize.height;      // scaleFactor will be the fraction that we'll     // use to adjust the size. For example, if we shrink     // an image by half, scaleFactor will be 0.5. the     // scaledWidth and scaledHeight will be the original,     // multiplied by the scaleFactor.     //     // IMPORTANT: the "targetHeight" is the size of the space     // we're drawing into. The "scaledHeight" is the height that     // the image actually is drawn at, once we take into     // account the ideal of maintaining proportions      float scaleFactor = 0.0;      float scaledWidth = targetSize.width;     float scaledHeight = targetSize.height;      CGPoint thumbnailPoint = CGPointMake(0,0);      // since not all images are square, we want to scale     // proportionately. To do this, we find the longest     // edge and use that as a guide.      if ( CGSizeEqualToSize(imageSize, targetSize) == NO )     {          // use the longeset edge as a guide. if the         // image is wider than tall, we'll figure out         // the scale factor by dividing it by the         // intended width. Otherwise, we'll use the         // height.          float widthFactor = targetSize.width / width;         float heightFactor = targetSize.height / height;          if ( widthFactor &lt; heightFactor )             scaleFactor = widthFactor;         else             scaleFactor = heightFactor;          // ex: 500 * 0.5 = 250 (newWidth)          scaledWidth = width * scaleFactor;         scaledHeight = height * scaleFactor;          // center the thumbnail in the frame. if         // wider than tall, we need to adjust the         // vertical drawing point (y axis)          if ( widthFactor &lt; heightFactor )             thumbnailPoint.y = (targetSize.height - scaledHeight) * 0.5;          else if ( widthFactor &gt; heightFactor )             thumbnailPoint.x = (targetSize.width - scaledWidth) * 0.5;     }       CGContextRef mainViewContentContext;     CGColorSpaceRef colorSpace;      colorSpace = CGColorSpaceCreateDeviceRGB();      // create a bitmap graphics context the size of the image     mainViewContentContext = CGBitmapContextCreate (NULL, targetSize.width, targetSize.height, 8, 0, colorSpace, kCGImageAlphaPremultipliedLast);      // free the rgb colorspace     CGColorSpaceRelease(colorSpace);          if (mainViewContentContext==NULL)         return NULL;      //CGContextSetFillColorWithColor(mainViewContentContext, [[UIColor whiteColor] CGColor]);     //CGContextFillRect(mainViewContentContext, CGRectMake(0, 0, targetSize.width, targetSize.height));      CGContextDrawImage(mainViewContentContext, CGRectMake(thumbnailPoint.x, thumbnailPoint.y, scaledWidth, scaledHeight), self.CGImage);      // Create CGImageRef of the main view bitmap content, and then     // release that bitmap context     CGImageRef mainViewContentBitmapContext = CGBitmapContextCreateImage(mainViewContentContext);     CGContextRelease(mainViewContentContext);      CGImageRef maskImage = [[UIImage imageNamed:@"Mask.png"] CGImage];      CGImageRef resizedImage = CGImageCreateWithMask(mainViewContentBitmapContext, maskImage);     CGImageRelease(mainViewContentBitmapContext);      // convert the finished resized image to a UIImage      UIImage *theImage = [UIImage imageWithCGImage:resizedImage];      // image is retained by the property setting above, so we can      // release the original     CGImageRelease(resizedImage);      // return the image     return theImage; } How to write this boolean expression using only NOR gates? I'm having some trouble understanding how I can convert a boolean expression to a NOR-gate only expression.   What I'm working with looks like \$T = A B' C + A' B C' + A B\$. How would I go into implementing it with NOR gates? I started a Roth IRA a little while ago, contributing ~$5,000, and I'd like some guidelines on how I should diversify my investments.  Should I invest in stocks or bonds or mutual funds or ETF? What percent should I contribute to these investments?  Additionally, I'm 30 years old, how might my age factor into diversification?  I understand that this is a very subjective question but any suggestions are greatly appreciated. I'm using Xubuntu 14.04 64 bit. I know that question been asked a billion times, but all of them consist of editing following file:  /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla   That file does not exist on my system. I tried com.xubuntu.enable-hibernate.pkla but doesn't exist either, locate command doesn't find it. Redirect console output to textbox in separate program Correlation between a nominal (IV) and a continuous (DV) variable I have a nominal variable (different topics of conversation, coded as topic0=0 etc) and a number of scale variables (DV) such as the length of a conversation.   How can I derive correlations between the nominal and scale variables? There are many addons. Do you know how show it in two cloumns? Add self-answer delay for all users TL;DR:  I believe there are still some issues with self-answers, particularly near-immediate self-answers, which are not addressed by the current system.  This could be remedied by imposing an automated restriction on how soon self-answers will be displayed in the thread.  Allow users to submit self-answers at any time, but do not display them until certain reasonable conditions (a relatively short timeout, or the posting of a competing answer) are met.    History  This thread covers a good deal of the concerns surrounding self-answers, and some mechanisms in place to prevent "bad" self-answers from new users and other abuse of the self-answer system.    As I understand it, the following restrictions apply:   Users with &lt;100 rep cannot self-answer within 8 hours of posting a question. Self-answers cannot be accepted within 48 hours of posting. Self-answers do not provide rep from being accepted. Accepted self-answers are not pinned to the top of the thread.   Problem  This does a good job of preventing users from posting answers which should probably be comments (or not posted at all), allows superior answers to rise above accepted self-answers, and prevents some other abuses of the system.  However, there is a less tangible element of self-answers which this does not address:    Self answers are a disincentive to other users who may otherwise be willing to post more accurate, detailed material stemming from broader or deeper knowledge and/or experience than the asker has.  When someone posts an answer to their own question, it presumably means that the problem which spawned the question is solved to their satisfaction.  This is fine for the purposes of sharing information with the community, but it deters others from providing solutions to the question which may be more complete or accurate since there is not so much likelihood that the self-answerer will accept a competing answer.  Worse, in the case of near-immediate self-answers, this can remove the incentive for other users to gain reputation via up-votes because the asker has an unfair head-start.  Unless everyone is required to view new answers to questions where they have already voted on an answer, most people probably vote on a good answer and never look at the question again.  This can put (potentially) better answers at a disadvantage even when the head-start is within an hour.  Suggested Solution  Add a delay to the posting of self-answers.  The delay should be the least of these:   Until a competing answer has been posted. A reasonable amount of time to allow competing answerers a chance to post, without preventing self-answers outright.  (Suggestion: 2 hours)   To better facilitate this, and avoid completely turning people off from appropriate self-answering, I suggest the delay be handled through automation more than user limitation.  That is, the user should be allowed to submit the self-answer at any time.  But the answer will not actually be displayed to other users until one of the above conditions have been met.  This could also be applied to the existing 8-hour delay for low-rep users.  Example:  T:0 - A user finishes resolving a tough problem, just before he would have gone to SE for assistance, and decides to share his new-found knowledge with the community.  He posts a question describing his problem.  T:5 minutes - The user then posts a self-answer.  There has not yet been another answer posted to the thread.  The user is given a notice describing the restrictions in place regarding self-answers, and the answer is submitted into the database but not displayed to other users.  (Similar to how suggested edits are only displayed to the user suggesting them, until they are approved.)  T:1 hour, 15 minutes - Another user sees the unanswered question, and posts their answer.  Their answer is displayed immediately, and the self-answer is now also displayed.  T:2 hours - Had the second answer not been posted, the self-answer would automatically be displayed after this point. Physically Identify the failed hard drive How can I get free or trial ExactTarget instance I have my CIFS setup in fstab and they are working as they are supposed to on boot. They mount as they should and work for a while. Out of nowhere it seems (could be after unlocking machine etc) I get "Host is down" error trying to access it. I have multiple and they are all down. They are also shared from the same server. At this time i check on a windows computer and an outdated 14.04 machine and they are up and functioning as they are supposed to. After clicking around on the shares in nautilus and getting repeat errors they will just start working again. To access a share that is "down" takes about 2-3min of randomly clicking different mounts and going back to the first one when automagically it shows the data in the mount point.  I do not have this problem on 14.04 machines that have not been updated in a while. All of those machines are fully functional and the CIFS never go "down". On 16.04 they were not a problem until more recently.  I have made sure to update every other day and have cleaned old linux headers (in hind sight i probably should have reverted). I do this because im begging for a fix to just appear but its been weeks of battling CIFS mounts without any solution.