Changing bash prompt

~/.bash_profile 파일을 열어 다음 줄을 추가해준다.

  • export PS1=” \h:\W \u> “
  • Options
    • \h – hostname을 표시
    • \H – hostname과 domain을 같이 표시
    • \w – 홈폴더를 기준으로한 현재 폴더의 상대 경로를 표ㅣ
    • \W – 현재 폴더 이름만 표시
    • \u – username 표시

Fundamental Commands

  • 원래 로칼 저장소였는데 원격 저장소 등록해주기
    • git add remote 원격저장소이름 주소
  • 원격 저장소에서 가져오기
    • git clone 가져올주소 내컴퓨터위치
  • 원격 저장소에 마스터 포함 브랜치까지 전부 푸시하기
    • git push -u 원격저장소이름 –all
  • 원격 저장소에 태그 전부 푸시하기
    • git push -u 원격저장소이름 –tag
  • 로칼 저장소에 커밋하기
    • 「git add 파일(들)」로 커밋할 파일들을 stage한 후
    • git commit
  • 태그 달기
    • git tag 태그이름 커밋번호
  • 태그 지우기
    • git tag -d 태그이름
  • 브랜치 만들기
    • git branch 브랜치이름 커밋번호
  • 브랜치 지우기
    • git branch -d 브랜치이름
  • 브랜치 바꾸기
    • git checkout 브랜치이
  • Subversion 에서 가져오기
    • git svn clone 가져올주소 내컴퓨터위치
  • Subversion 에서 커밋하기
    • 일단 로칼 저장소에 다 커밋을 완료한 후
    • git svn dcommit

Changing Safari default font

Safari가 업데이트 되면서 애플은 멍청하게 기본폰트 변경하는 메뉴를 지워버렸다. 그래서 따로 CSS 파일로 설정을 해주지 않으면, 몇몇 한국 사이트에서는 맥에 없는 돋움체와 굴림체 때문에 기본 폰트인 애플명조로 페이지를 표시하는 만행을 저지른다. 이걸 해결하기 위한 팁!

Safari 기본 폰트를 “Apple 산돌고딕 Neo 일반체”로 바꿔버리자!

바꾸는 명령어는 아래와 같다! 터미널에서 입력해주면 된다.

defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2StandardFontFamily ‘AppleSDGothicNeo-Regular’

다시 되돌리는 명령어는 다음과 같다.

defaults delete com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2StandardFontFamily

잘 안되는 싸이트도 있으니, Back_to_the_Mac_20120805.css 이걸 다운받아서 설정해놓으면 한국어 폰트에만 적용되니 마음껏 사용하자. 출처는 http://macnews.tistory.com/162

Reset Mail.app on Mac

아 정말 이런것까지 알아야 된다니!

  1. Mail 앱을 끈다.
  2. Finder에서 Cmd + Shift + G를 눌러서 ~/Library/를 입력한다.
  3. 그 폴더 안에서 아래 것들을 찾아서 지워버린다.
    • Caches/com.apple.mail
    • Saved Application State/com.apple.mail.savedState
    • Application Support/AddressBook/MailRecents-v4.abcdmr
    • Containers/com.apple.mail
    • Mail
    • Preferences/com.apple.mail.plist
    • Preferences/com.apple.mail.searchhistory.plist

Mean, RMS and Covariance with computer

데이타 처리를 하면서 평균과 표준편차를 구해야 하는 경우가 많이 있다. 이 때, 평균과 표준편차의 계산을 점화식을 이용해서 하면 반복문의 수를 반으로 줄여서 빠르게 계산을 할 수 있다.

  • 증명따윈 필요없는 귀차니스트를 위한 식

평균: \(\mu_{n+1} = \displaystyle\frac{n}{n+1}\mu_n + \displaystyle\frac{a_{n+1}}{n+1},\quad(n\geq0). \)

표준편차: \(\sigma^2_{n+1}=\displaystyle\frac{n}{n+1}\sigma^2_{n}+\displaystyle\frac{(\mu_{n+1}-a_{n+1})^2}{n},\quad(n\geq1).\)

공변: \(\sigma(a,b)_{n+1}=\displaystyle\frac{n}{n+1}\sigma(a,b)_{n}+\displaystyle\frac{(\mu_{n+1}-a_{n+1})(\nu_{n+1}-b_{n+1})}{n},\quad(n\geq1).\)

  • 평균 증명
    • 점화식을 이용해서 \(n+1\)번째 항까지의 평균을 구할 때 우리가 가지고 있는 정보는 다음과 같다.
      1. \(n\)번째 항까지의 평균 \(\mu_n\)
      2. \(n+1\)번째 항의 값 \(a_{n+1}\)
    • 이 정보들만 가지고 \(n+1\)번째 항까지의 평균을 구해내야 한다.

\[\begin{align}\mu_{n+1}&=\displaystyle\sum^{n+1}_{i=1}\displaystyle\frac{a_i}{n+1},\\&=\displaystyle\sum^{n}_{i=1}\displaystyle\frac{a_i}{n+1}+\displaystyle\frac{a_{n+1}}{n+1},\\&=\displaystyle\frac{a_{n+1}}{n+1}+\displaystyle\frac{n}{n+1}\displaystyle\sum^{n}_{i=1}\displaystyle\frac{a_i}{n}.\end{align}\]

\[\therefore \mu_{n+1}=\dfrac{n}{n+1}\mu_n+\dfrac{a_{n+1}}{n+1},\quad(n\geq0).\]

 

  • 표준편차 증명
    • \(n+1\)번째 항까지의 표준편차를 구할 때에 우리가 가지고 있는 정보는 다음과 같다.
      1. \(n\)번째 항까지의 표준편차 \(\sigma^2_{n}\)
      2. \(n+1\)번째 항까지의 평균 \(\mu_{n+1}\)
      3. \(n+1\)번째 항의 값 \(a_{n+1}\)
    • 평균과 마찬가지로, 표준편차를 구할 때도 위 세 가지 값만 가지고 \(n+1\)번째 항까지의 표준편차를 구해야 한다.

\[\begin{align}\sigma^2_{n+1}&=\sum^{n+1}_{i=1}\dfrac{(a_i-\mu_{n+1})^2}{n+1},\\&=\sum^{n}_{i=1}\dfrac{(a_i-\mu_{n+1})^2}{n+1}+\frac{(a_{n+1}-\mu_{n+1})^2}{n+1}.\qquad (1)\end{align}\]

두번째 항은 알고있는 값들로만 돼 있으니 놔두고, 첫번째 항을 알고있는 값들로만 바꿔주면 된다.

\[\begin{align}\sum^{n}_{i=1}(a_i-\mu_{n+1})^2-\sum^{n}_{i=1}(a_i-\mu_n)^2&=\sum^{n}_{i=1}(\mu_n-\mu_{n+1})(2a_i-\mu_{n+1}-\mu_n),\\&=(\mu_n-\mu_{n+1})(2n\mu_n-n\mu_{n+1}-n\mu_n),\\&=n(\mu_{n+1}-\mu_n)^2.\qquad(2)\end{align}\]

이제 식 (2)를 식 (1)에 넣어 정리하면,

\[\begin{align}\sigma^2_{n+1}&=\sum^{n}_{i=1}\dfrac{(a_i-\mu_n)^2}{n+1}+\dfrac{n}{n+1}(\mu_{n+1}-\mu_n)^2+\dfrac{(a_{n+1}-\mu_{n+1})^2}{n+1},\\&=\dfrac{n}{n+1}\sigma^2_{n}+\dfrac{n}{n+1}(\mu_{n+1}-\mu_n)^2+\dfrac{(a_{n+1}-\mu_{n+1})^2}{n+1}.\qquad(3)\end{align}\]

\(n\)번째 항까지의 평균값은 \(n+1\)번째 항까지의 평균값을 구하면서 없어졌으므로, 평균의 점화식 공식을 이용해서 \(n\)번째 항까지의 평균값을 없애버리자. 점화식을 다시 정리하면

\[\mu_n=\dfrac{n+1}{n}\mu_{n+1}-\dfrac{1}{n}a_{n+1}\]

가 되므로, 이 식을 식 (3)의 두번째 항에 대입하면, 두번째 항은 다음과 같이 된다.

\[\begin{align}\dfrac{n}{n+1}(\mu_{n+1}-\mu_n)^2&=\dfrac{n}{n+1}\left(\mu_{n+1}-\dfrac{n+1}{n}\mu_{n+1}+\dfrac{1}{n}a_{n+1}\right)^2,\\&=\dfrac{1}{n(n+1)}(a_{n+1}-\mu_{n+1})^2\end{align}\]

\[\therefore \sigma^2_{n+1}=\dfrac{n}{n+1}\sigma^2_{n}+\dfrac{(\mu_{n+1}-a_{n+1})^2}{n},\quad(n\geq1).\]

  • 공변 증명은 표준편차 증명과 똑같은 방식이므로 생략한다.
  • 각 값의 가중치가 같지 않을 때의 평균과  공변 식

평균: \(\mu_{n+1} = \displaystyle\frac{W_n}{W_n+w_{n+1}}\mu_n + \displaystyle\frac{w_{n+1}a_{n+1}}{W_n+w_{n+1}},\quad(n\geq0). \)

표준편차: \(\sigma^2_{n+1}=\displaystyle\frac{W_n}{W_n+w_{n+1}}\sigma^2_{n}+\displaystyle\frac{w_{n+1}(\mu_{n+1}-a_{n+1})^2}{W_n},\quad(n\geq1).\)

공변: \(\sigma(a,b)_{n+1}=\displaystyle\frac{W_n}{W_n+w_{n+1}}\sigma(a,b)_{n}+\displaystyle\frac{w_{n+1}(\mu_{n+1}-a_{n+1})(\nu_{n+1}-b_{n+1})}{W_n},\quad(n\geq1).\)

위 식들에서 \(W_n=\displaystyle\sum^n_{i=1}w_i\)이고, \(w_n\)은 \(n\)번째 값의 가중치이다.

  • Acknowledgement
    • 이정우님이 가중치가 있을 때의 계산 오류에 대해 지적해 주어 바로고침

Compiling ROOT v5.34.10 on OSX Mavericks with Xcode 5.0.1 (Partially solved in ROOT v5.34.11)

  1. Open config/Makefile.macosx64 file in the root source folder with any text editor.
  2. add -stdlib=libstdc++ to the variables CXXFLAGS, CFLAGSCINTCXXFLAGSCINTCFLAGS, and LDFLAGS.
  3. If Fortran is compiled and environment variables for it are set, then you should copy LDFLAGS to F77LDFLAGS before you add -stdlib=libstdc++.
  4. That’s it!
  • Finally, when you compile your code using ROOT library, -stdlib=llibstdc++ should be added as an argument to the compiler.
  • Reference
  1. https://github.com/mxcl/homebrew/pull/22259

– Solved on 2013/10/31 in ROOT v5.34.11

– Added on 2013/10/22

  • I’m not sure this happens only to me, but after I updated to Mavericks GM 2 (13A603), the ROOT is not compiled on it. So, I have to find out the way to resolving this.
  1. Open core/base/inc/RConfig.h
  2. Find AvailabilityMacros.h
  3. Add path /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include
    in before the filename.

– Added on 2013/11/04

  • Maybe the command below will solve the all problems.

xcode-select –install