Linux/Gentoo2011. 12. 1. 01:19
공식 핸드북 설명이 약간 부족하기 때문에, 생각처럼 잘 안 되어서 고생할 수도 있다. 방법이야 많이 있겠지만 최신 핸드북에서는 uvesa를 쓰는 것을 기준으로 하는 것 같다. 아무튼 다음과 같이 커널 설정을 한다.
Device Drivers ->
	* Connector - unified userspace <-> kernelspace linker
	Graphics support ->
		* Support for frame buffer devices ->
			* Enable firmware EDID
			* Userspace VESA VGA graphics support
		* Console display driver support ->
			* Framebuffer Console support
커널을 일단 빌드한다. 커널 설치나 재부팅은 하지 말고, v86d package를 설치한다.
emerge -va v86d
다시 커널 설정을 한다.
General Setup ->
	(/usr/share/v86d/initramfs) Initramfs source file(s)
이제 커널을 컴파일하고 설치한다. 그리고 grub에도 설정을 적어주면 된다. 1024x768은 당연히 수정.
(...) video=uvesafb:mtrr:3,ywrap,1024x768-24@60
참고
http://www.gentoo.org/doc/en/handbook/handbook-amd64.xml?part=1&chap=10

http://en.gentoo-wiki.com/wiki/Framebuffer
http://en.gentoo-wiki.com/wiki/Initramfs#Kernel_Configuration
Posted by asdfzxcv
Linux/Gentoo2011. 12. 1. 00:26
HP 네트워크 프린터를 사용하는 경우이다.
cups package
네트워크 프린터를 사용하려면 slp USE flag가 필요한데 기본으로 되어 있을 것이다.
hplip package
hpcups USE flag는 기본으로 되어 있을 것이고, snmp USE flag는 네트워크 프린터를 사용하는 경우에 필요하다. 그리고 오래된 프린터를 사용하는 경우 hpijs USE flag가 필요할 수도 있다. 일부 프린터는 static ppd 파일이 필요한데, 이 경우에는 static-ppds USE flag를 사용하면 된다.
프린터 사용자는 lpadmin에 등록되어야 한다. (그냥 진행하면 hp-setup에서 친절하게 설명해준다.)
echo "# For network printers" >> /etc/portage/package.use
echo "net-print/hplip snmp" >> /etc/portage/package.use
emerge -va cups
emerge -va hplip
gpasswd -a $USER lpadmin
hp-setup
/etc/init.d/cupsd restart
system-config-printer-kde가 동작 안 하는 문제가 있었는데 어떻게 하다보니 해결 되었다.-_-;

참고
http://www.gentoo.org/doc/en/printing-howto.xml
http://en.gentoo-wiki.com/wiki/CUPS#HP_Printers
Posted by asdfzxcv
아직미분류2011. 11. 30. 19:17

git

복제는 "git clone"으로 함. 무턱대고 "git pull"부터 하면 안 됨.

alias를 설정한 후에 실행하는데,
fatal: cannot exec 'git-ci': Permission denied
라는 에러가 보이면, $PATH에 진짜로 git-ci라는 실행 파일이 있거나, $PATH 중 일부에 접근 불가능한 경우이다.
[core]
        editor = vi
[user]
        name = Name
        email = email@server
[diff]
        tool = vimdiff
[difftool]
        prompt = false
[alias]
        d = difftool
        ci = commit
[merge]
        tool = kdiff3
Posted by asdfzxcv
추천 소프트웨어2011. 11. 19. 23:06
무료 프로그램 위주로 정리.

포토웍스
http://www.google.co.kr/search?gcx=w&sourceid=chrome&ie=UTF-8&q=%ED%8F%AC%ED%86%A0%EC%9B%8D%EC%8A%A4
안 써봄.

포토스케이프
http://photoscape.co.kr

장점:
비교적 쓰기 쉽다.
단점:
제공하는 가장 좋은 리사이즈 알고리즘이 bicubic이다.

Phatch
http://photobatch.stani.be
장점:
윈도우, 리눅스 지원.
커맨드 라인 지원.
(능력만 되면) 할 수 있는 작업이 많고, customizability가 높다.
단점:
웹사이트에서 광고와 본문 구분이 안 된다.-_- 그대신 프로그램에는 광고가 전혀 없음.
설치 용량이 클 수도 있다. (파이썬 등을 설치해야 한다.)
사용법이 어렵다. (너무 어려울 수도...)
미리보기 기능이 없다. 
Posted by asdfzxcv
아직미분류2011. 7. 21. 22:21
grep sth *.out | awk 'BEGIN {sum=0;} {sum+=$4;} END {avg=sum/NR; printf "%.4f\n", avg;}'
str=`grep "sth" *.out |
awk 'BEGIN {sum=0; sumsq=0;} NR == 1 {min=$4; max=$4}
{sum+=$4; sumsq+=$4*$4;} min > $4 {min=$4} max < $4 {max=$4}
END {avg=sum/NR; stddev=sqrt(sumsq/NR - avg**2);
printf "sth: %.4f & %.4f & %.4f %.4f", min, avg, max, stddev;}'`
# This awk program transposes a table.
# Output is a tab-separated table, but separator can be easily modified.
# Usage: awk -f transpose.awk input_file
BEGIN {
        p = 0 
}
{
        for (i=1; i<=NF; ++i) {
                a[NR,i] = $i
        }   
}
NF > p { 
        p = NF
}
END {
        for (j=1; j<=p; ++j) {
                str = a[1,j]
                        for (i=2; i<=NR; ++i) {
                                str = str"\t"a[i,j]
                        }   
                print str 
        }   
}
Posted by asdfzxcv
LaTeX2011. 7. 21. 22:10
http://www.cs.dartmouth.edu/~dfk/latex-squeeze.html

예를 들면,
\addtolength{\floatsep}{-5mm}
\addtolength{\dblfloatsep}{-5mm}
\addtolength{\textfloatsep}{-5mm}
\addtolength{\intextsep}{-5mm}
 
Posted by asdfzxcv
LaTeX2011. 7. 21. 22:04
tikz로 그림 그린 것을 input으로 가져올 때 여백이 이상하게 되는 경우가 있다. 예를 들어 input으로 가져오는 tex 파일이 다음과 같이 되어 있다고 하자.
\tikzstyle{mystyle}=[shape=rectangle,draw]
\def\mysize{10mm}
\begin{tikzpicture}
% some code
\end{tikzpicture}
이 경우에, line 1, 2 끝의 줄바꿈 문자 때문에 여백이 이상해질 수 있다. 다음과 같이 해야 옳다.
\tikzstyle{mystyle}=[shape=rectangle,draw]%
\def\mysize{10mm}%
\begin{tikzpicture}%
% some code
\end{tikzpicture}%
사실 line 3, 5 다음에도 %가 필요한지 여부는 정확히 모르겠다. 그러나 붙여서 나쁠 것은 없으니 그냥 붙이기로 하였다. tikzpicture 내부의 코드에는 이런식으로 끝에 %를 붙일 필요가 없다.

사실, tikz만 그런 것이 아니고, tex에서는 원래 이렇게 끝에 %를 붙이고 안 붙이고가 차이 나는 경우가 있다. 다만, tikz에서 이런 삽질을 많이 하게 되기 때문에 tikz로 예를 든 것이다.
Posted by asdfzxcv
아직미분류2011. 7. 21. 21:56
이 명령은 엄청 유용할 수도 있다.
예를 들면,
perl -pi -e "s/#define MYDEF [0-9]*/#define MYDEF 1234/g" myheader.h
처럼 써 먹을 수 있는데, 반드시 header의 #define 부분을 바꾸고, 재 컴파일 한 뒤, 실행하는 일을 반복해야 하는 상황에서, 이런 명령을 script에 끼워 넣고 사용하면 된다.
Posted by asdfzxcv
Linux2011. 7. 21. 21:45
cut은 연속한 delimiter를 각각 따로 보게 된다. 그래서
파일에
word:  3      4
word:      5      8
처럼 적혀 있는 경우에는
grep "word" file.txt | cut -d ' ' -f 3
처럼 해서는 원하는 결과를 얻을 수 없는 경우도 있다. 이럴 때는 awk을 쓰는 수밖에 없다. awk은 기본적으로 연속한 separator를 하나로 인식하게 된다. 그래서
grep "word" file.txt | awk '{printf $3"\n"}'
처럼 하면 원하는 대로 동작한다. awk에서 seperator를 지정할 수도 있는데, 다음을 비교해보자.
grep "word" file.txt | awk '{printf $3"\n"}'
grep "word" file.txt | awk -F "[ ]" '{printf $3"\n"}'
grep "word" file.txt | awk -F "[ ]*" '{printf $3"\n"}'
2번째 처럼하면 연속한 separator를 별개로 인식하고, null field도 생길 수 있게 된다.
Posted by asdfzxcv
Linux2011. 7. 21. 21:25
http://stackoverflow.com/questions/301039/how-to-escape-white-space-in-bash-loop-list
#!/bin/bash
files=`find . -type f -iname "*.txt"`
for file in $files
do
        echo $file
        # do sth.
done
위의 스크립트를 쓸 때, 파일 이름에 white space가 있으면 짜증나는 상황이 발생한다. 처리하는 일이 간단하면, find에 -exec 옵션을 줘도 되고, xargs를 써도 된다. 처리할 것이 많으면 난감하다. 이 경우에는 다음과 같이 하면 된다.
#!/bin/bash
find . -type f -iname "*.txt" | while read file
do
        echo $file
        # do sth.
done
Posted by asdfzxcv