사이드바 영역으로 건너뛰기

게시물에서 찾기2006/06

5개의 게시물을 찾았습니다.

  1. 2006/06/30
    꿈꾸는 음유시인?
    종이한장
  2. 2006/06/29
    네트워크 모니터링 프로그램 IPTraf
    종이한장
  3. 2006/06/27
    -5 / 4
    종이한장
  4. 2006/06/16
    Ubuntu Dapper에서 리모트 X 어플리케이션 실행하기
    종이한장
  5. 2006/06/06
    우분투 Dapper 설정..
    종이한장

꿈꾸는 음유시인?

 

블로그 링크를 따라가다 발견한 책 광고 사이트 해럴드 왕국 살리기 프로젝트.

광고에다 개인적으로 별로 좋아하지도 않는 '중세왕국'..... 그러나, 부제 "중세왕국이라면 과연 당신은 어떤 일을 하고 있을까요?"라는 말에 혹해서.... 재미삼아 테스트!

 

대충 열 문제 정도 내 주고서 내 인성유형을 "꿈꾸는 음유시인"이란다.

광고 사이트란 점을 감안한다면 여기서 내뱉는 유형은 절대 나쁜것은 없으리리라.

우연이었을까? 내가 찾아들어간 블로그 주인장도 나와 같은 유형.... 이거 모두 다 "꿈꾸는 음유시인"이 나오는 것은 아냐?

 

어쨋든 결과...

------------------------

당신의 인성 유형은... 꿈꾸는 음유시인(Dreamer-Minstrel)

*좋아하는 것 : 다른 사람의 동기 유발, 새로운 만남, 즐거운 놀이

*싫어하는 것 : 고독한 환경, 시시콜콜한 세부사항, 죽기 아니면 살기 식의 살벌한 경쟁

꿈꾸는 음유시인은 왕국에서 가장 카리스마 넘치는 사람이다.

그들은 왕국의 공보담당관으로, 사람들을 모아놓고 왕국에 대한 자랑을 늘어놓기를 즐긴다.

(흠..... 이 녀석 얼굴이 떠오른다.... )

 

꿈꾸는 음유시인은 어떤 상황에서든 희망을 발견하며 모든 무지개의 끝에서 황금단지를 찾아낸다. 그들은 훌륭하고 멋진 팀을 끌어 모을 수 있는 재능과 다른 이들을 모든 일에 열광케 만드는 재능을 가지고 있다. 자기 자신만큼이나 열렬히 열광하게끔 말이다!

꿈꾸는 음유시인은 온 나라를 여행하며 긍정적 이미지와 커다란 기쁨이 담긴 이야기들을 퍼뜨린다. 그들은 왕국의 시적 낙천주의자로, 사실에 시적 윤색을 가한다.

또한 그들은 영원불변한 낙천주의자로서 더 나은 내일을 향해 격려와 지원을 아끼지 않는다.

'모든 일은 결국에 다 잘 풀리게 되어 있다'는 말이 그들의 철학을 대변한다.

그들의 이름이 의미하는 것처럼, 꿈꾸는 음유시인은 대체로 창의적이지만 대부분 비현실적인 몽상가이다. 꿈꾸는 음유시인은 때때로 길가에 쪼그려 앉아 초목이 자라는 광경을 멍하니 지켜보기도 한다.

------------

 

진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크

네트워크 모니터링 프로그램 IPTraf

터미널 상에서 간단하게 사용할 수 있는 네트워크 모니터링 프로그램 IPTraf
현재 트래픽을 확인하기 위해 찾은 프로그램.

<메인메뉴 화면>

메인 메뉴




Detailed interface statistics 화면
진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크

-5 / 4


애자일 이야기 - '표면적 단순함과 심층적 단순함 : -5 / 4는 얼마일까'




궁금하던 차에 찾은 글.. 원문은 링크를 참조하세요.
애자일 이야기 - '표면적 단순함과 심층적 단순함 : -5 / 4는 얼마일까'


-----------------------------------------
표면적 단순함과 심층적 단순함 : -5/4는 얼마일까
 
파이썬 마을에 grizlupo님이 을 하나 올리셨습니다. 파이썬이라는 언어에서는 -5/4가 -2인 반면, 다른 언어(특히, C, 자바 등 주류언어)에서는 그 결과가 -1인데 여기에 대해 커멘트를 구한다는 내용입니다.

정수 나눗셈 방식을 정하면 나머지(remainder) 연산도 자동으로 정해지게 됩니다. 몫 곱하기 나누는 수(제수) 더하기 나머지 하면 무조건 나뉘는 수(피제수)가 되는 원칙에 맞추려고 하기 때문입니다. 즉, -5/4를 -2로 보면, -5 나누기 4의 나머지는 3이어야 하고, -5/4를 -1로 보면, 나머지는 -1로 보아야 합니다(많은 수학자들은 제수가 양수인데 나머지가 음수가 될 수 있다는 것에 알레르기적 반응을 보이는 것 같습니다).

둘 중에 어느 방식이 옳을까요? 이 질문은 사실 답할 수가 없습니다. 수학이란 정의와 약속 위에 건축된 궁전이기 때문에 어떤 정의에 대해 옳고 그르다를 말하기가 어렵습니다. 하지만 어느 방식이 더 유용하거나 혹은 "엘레강트"할까요 하는 질문은 할 수 있습니다.

제가 여기에 대해 이렇게 커멘트를 달았습니다.



수학에서 Negate와 Negative Sign의 혼용에서 오는 문제점 같습니다. 연산자 우선순위가 있는 언어에서는 우선순위 문제(혹은 수학적 연산 우선순위의 해석 문제)라고 볼 수도 있겠죠.

즉, -5/4를 (-5)/4로 보냐, -(5/4)로 보냐의 문제인데... 자바 경우, 괄호에 상관없이 무조건 후자로 생각하죠 -- 즉 음수를 나누는 것도 결국 어떤 (물론 음의) 量 amount을 나누는 것으로 보는 겁니다. 그러면 음수를 어떻게 나눠야 하는지 고민하지 않아도 될 것 같습니다만, 정말 이게 더 간단하거나 유용할까요?

J라는 언어에서는 연산자 우선순위가 없고, negate와 negative sign을 따로 구분해서 이 문제를 해결합니다. 나누기와 floor라는 수학적 개념만으로 정수 나누기와 나머지 연산을 정의해 봅시다.

코드:

floor=. <.
of=. @
div=. %
intdiv=. floor of div
_5 intdiv 4
_2
- 5 intdiv 4
_1
left=.[
right=.]
mod=. left - right * intdiv
_5 mod 4
3
- 5 mod 4
_1


여기에서 앞에 언더바가 붙은 숫자는 그 자체로 하나의 명사이며, -는 동사로 negate라는 이름을 갖습니다. 즉, 음수라는 개념이 독립적으로 따로 있는 것이죠. J에서는 기본적으로 연산자가 무진장 많기 때문에 우선순위가 없고 대신 무조건 오른쪽에서 왼쪽으로 계산이 진행됩니다. 그리고 연산순서를 바꾸고 싶으면 괄호를 사용합니다.

저는 파이썬의 방식, 즉,

코드:

>>> -(5/4)
-1
>>> (-5)/4
-2

로 되는 것이, 자바의 방식(두 경우 모두 -1이 되는)에 비해, 훨씬 더 일관성 있고 간단한 방식이라고 생각합니다(위에 나온 intdiv나 mod의 정의를 보세요).

일견 느끼기에는 모든 경우에 -1로 나오는 자바 방식이 쉽고 간단한 것 같지만 절대 그렇지 않습니다. 표면적 단순함에 속아서는 안됩니다.

참고를 위해 자바의 나눗셈 연산 설명을 아래에 인용합니다.

인용:

The binary / operator performs division, producing the quotient of its operands. The left-hand operand is the dividend and the right-hand operand is the divisor.

Integer division rounds toward 0. That is, the quotient produced for operands n and d that are integers after binary numeric promotion (§5.6.2) is an integer value q whose magnitude is as large as possible while satisfying |d * q | <= |n|; moreover, q is positive when |n| >= |d| and n and d have the same sign, but q is negative when |n| >= |d| and n and d have opposite signs.
http://java.sun.com/docs/books/jls/second_edition/html/expressions.doc.html#5047


혹시나 해서 한가지 예를 덧붙이자면,

코드:

range=.10 1000         NB. 좌표축에서 10부터 1000까지 선분이 있다고 할 때
range intdiv 4           NB. 1/4로 사이즈를 축소하면
2 250
range-100                NB. 원래 선분을 좌로 100만큼 움직이면
_90 900
(range-100) intdiv 4       NB. 이동한 선분을 1/4로 축소하면
_23 225
diff=. |@-/
diff range intdiv 4           NB. 원래 축소한 선분의 길이
248
diff (range-100) intdiv 4   NB. 좌측으로 이동한 선분을 축소한 길이
248


하지만 자바에서는 마지막 결과가 247로 나옵니다. 0을 중심으로 나눗셈 연산이 비대칭적이기 때문입니다.

이런 이유로 제가 자바(및 C 등등)의 나눗셈 연산이 더 복잡하면서 일관성이 떨어진다고 하는 것입니다.

--김창준


p.s.

일상생활의 예를 추가합니다.

14 나누기 3을 이렇게 해석해 봅시다. 우선 세상에 만원짜리 돈만 있다고 가정합시다.

상금으로 14만원을 받았습니다. 사람은 셋입니다. 14를 3으로 나누면 몫이 4가 되고 나머지가 2가 됩니다. 무슨 이야기냐면 각자 4만원씩 갖고 가고 2만원이 수중에 남는다는 겁니다. 같이 술이라도 한 잔 마시러 가면 되겠네요.

이제는 -14 나누기 3을 생각해 보죠. 술집에서 계산을 했더니 14만원이 나왔습니다. 사람은 셋입니다. 얼마씩 내야할까요.  4만원씩 내면 돈이 모자라죠. 5만원씩 내면 일단 술값을 낼 수는 있네요. 대신 1만원이 남습니다. 빚으로 1만원이 남는 것이 아니고, 우리에게 1만원이 더 있는 것이죠. 역시 그 만원으로 어디 가서 음료수라도 마시면 되겠네요.

자 이제 생각해 봅시다. 돈을 내는 것, 모자라는 것은 음수입니다. 돈을 받는 것, 남는 것은 양수입니다. 14만원을 내야하는 데(-14) 세 명이 나누면(-14 / 3) 한 사람당 담당할 몫은 "5만원씩 내는 것(-5)"입니다. 그러고 나면 1만원이 남습니다.

이 방식이 파이썬의 방식이고, 자바 방식은 한 사람당 4만원씩 내고(-4), 그 결과 2만원의 부채(-2)가 남는다는 것이죠.
by 애자일컨설팅 | 2006-03-22 14:37 | 관련글(2) | 덧글(2)
트랙백 주소 : http://agile.egloos.com/tb/1666312
내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Tracked from PRAGMATIC.CO.. at 2006-03-22 16:03

제목 : 제목을 입력해 주세요
전혀 신경쓰지 않던 부분인데 이런 차이가 있었군요....more

Tracked from SoWhat? at 2006-05-09 18:02

제목 : 미처 생각지도 못했던....
미처 생각지도 못했던 지식 매번 감사드리며 트래ㅤㅂㅞㄺ~ 표면적 단순함과 심층적 단순함 : -5/4는 얼마일까 ...more

Commented by 퍼키 at 2006-03-22 20:15 x
역 사적인 배경에 대해서 하나 첨언하자면, 음수 나눗셈에 대해서는 초창기에는 별로 정의된 것이 없다가 최초로 표준으로 정의된 곳이 FORTRAN77 이라고 합니다. C 언어에서도 한참동안 표준에서 음수 나눗셈에 대한 뚜렷한 정책이 없어서 컴파일러 벤더마다 다르게 구현을 했다가 90년대에 와서 FORTRAN77을 쓰던 프로그래머들이 짠 옛날 코드들의 호환성과 투표권이 있는 대형 벤더들(FORTRAN방식의 나눗셈을 구현했던)의 입김으로 결국 FORTRAN 방식으로 결정되었다고 하는군요.. 다른 언어에 대해서는 http://caml.inria.fr/pub/ml-archives/caml-list/2001/11/b3c2be254757873bb585152f449853ba.en.html 여기~
자바로써는 C와 비슷한 문법에 대해서 다른 방식을 취하기가 껄끄러웠기 때문에 피할 수 없었을 듯 합니다.
Commented by 3DRicky at 2006-06-04 10:39 x
머리속이 맑아지네요 감사합니다.
마지막 예는 정말 멋집니다 ^ 0^)b
:       
진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크

Ubuntu Dapper에서 리모트 X 어플리케이션 실행하기


X 윈도우 시스템의 장점 중 하나라면 리모트 X 어플리케이션을 자신이 보고있는 디스플레이 장치 (X 서버가 설치되어 있는 컴퓨터의) 로 실행시킬 수 있다는 (?) 점이다. 
그 방법은 간단해서, X 서버가 설치되어 있는 컴퓨터에서

$ xhost + remote-host
라고 한 다음, 리모트 컴퓨터에서 -display 옵션을 사용하거나, DISPLAY 환경변수를 X 서버 주소를 설정해 주면, 실행되는 X 어플리케이션을 자신의 모니터로 학인 할 수 있었다.

그러나, 이런 방식은 보안상의 이유로 최근 배포판에서는 사용되지 않는 듯 하다. 그래서 우분투 대퍼에서는 리모트 X 어플리케이션을 실행하려면 ssh 의 X 프로토콜 포워딩 기능을 사용해야 한다.

방법은 간단하지만, 리모트 서버에 sshd 데몬이 설치/실행되어야 하고, xauth 패키지가 설치되어 있어야 한다.

X 서버가 실행되고 있는 컴퓨터에서 다음과 같이 실행한다.

myname@myserver:~$ ssh -X remote-id@remote-host
remote-id@remote-host's password:(remote-host의 remote-id 비밀번호 입력)

Linux remote-host 2.6.15-23-server #1 SMP Tue May 23 15:10:35 UTC 2006 i686 GNU/Linux

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
Last login: Fri Jun 16 15:07:02 2006 from XX.XX.XX.XX
/usr/bin/xauth:  creating new authority file  /home/remote-id/.Xauthority
라고 한 다음, 리모트 컴퓨터에서 -display 옵션을 사용하거나, DISPLAY 환경변수를 설정한 다음 X 어플리케이션을 실행하면 자신의 컴퓨터에서 확인 할 수 있다.

* 2006년 7월 27일 추가
리모트 호스트가 솔라리스일 경우 안되어서 확인해 본 결과, 리모트 호스트쪽 sshd_config 파일의 내용이 다음과 같아야 한다. (붉은색 부분이 바뀐 부분)
XAuthLocation 항목은 xauth 프로그램 위치를 나타내는데, 굳이 없어도 잘 동작한다.
# Port forwarding
AllowTcpForwarding yes

# If port forwarding is enabled, specify if the server can bind to INADDR_ANY.
# This allows the local port forwarding to work when connections are received
# from any remote host.
GatewayPorts no

# X11 tunneling options
X11Forwarding yes
X11DisplayOffset 10
#XAuthLocation /usr/openwin/bin/xauth




* 도움 받은 글 : 우분투 포럼 Remote X Apps

진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크

우분투 Dapper 설정..


우분투 브리지에서 대퍼로 업그레이드 한 후 설정한 내용들..... 모두를 적은것은 아니고, 어떤 이유로 문서 내용과 조금 다르거나 특이한 내용만 적음.

파이어폭스 플러그인

나의 경우 일반 사용자로 파이어폭스를 실행하고 플러그인 설치를 하면 "실패"했다.
홈디렉토리 .mozilla 디렉토리 아래에 plugins 디렉토리를 만들어주고 다시 시작하면 제대로 설치된다.

EUC-KR

UTF8이 대세라곤 해도, 피치못할 사정(이라고 해야, 과거의 자원 사용때문인데, iconv로 바꾸자니, 몇몇 파일에서 중국 문자셋 big5가 발견.. -.ㅡ;)으로 일시적으로나마 EUC-KR을 사용하기로 결정
$ sudo locale-gen ko_KR.EUC-KR

skim

skim 관련 패키지를 모두 설치하였으면, 다음 명령을 실행한다.
$ sudo killall scim-gtk-launcher
$ sudo killall scim-panel-gtk
$ scim-panel-kde -d -f

위 명령이 제대로 실행되었다면 시스템 트레이에 skim 아이콘이 보인다.
이 아이콘을 누르고 configuration 메뉴를 선택하면 설정창이 뜨고,  설정창 메뉴에서 Fronted > General SCIM 선택 후 Other 탭을 누르면 Panel Program과 Config Module을 바꿀 수 있는 화면이 나온다.  여기서 Panel Program -> scim-panel-kde, Config Module -> kconfig 로 설정한다.
(참고 문서: The skim Handbook)

여기까지 하고 세션을 다시 시작하면 skim 을 사용 할 수 있게 된다.  위 핸드북을 보면 kde 세션 재 시작시 자동으로 skim 을 실행하려고 하면 Global Settings > Xwindows 메뉴에서 KDE 시작시 skim 자동실행을 체크하라고 되어있으나, 일단 Global Settings 는 Fronted로 바뀌었고 굳이, 체크하지 않아도 자동으로 skim은 시작되었다. 그러나, 핸드북에 있는대로 나중에 체크해 두었다.

3D Nvidia 비디오 카드 드라이버

대퍼 우분투 한글 가이드 하드웨어 섹션에 아주 잘 나와있다.
그대로 주욱~ 잘 따라하면 된다.
그러나,
  1. 새로운 드라이버를 이용가능하게 하려면 터미널에서 다음의 명령어를 실행하십시오:

$ sudo sudo nvidia-glx-config enable

나는 이게 안되더라..
내가 가지고 있는 비디오 카드가 아마..?? nvidia GeForce4 mx 440 일텐데...
하여간, 나는 nvidia-glx 패키지를 설치하고,
$ sudo sudo nvidia-xconfig
명령을 실행해서 성공했다.



멀티미디어 코덱과 Sun의 Java

이것 역시 마찬가지로  대퍼 쿠분투 한글 가이드 멀티미디어 코덱 섹션에 아주 잘 나와있다.
repository 리스트에서 universe 줄을 찾아서 'universe multiverse'로 바꿔주면 libxine-extracodes 패키지가 리스트에 나타난다.  아울러 sun-java-* 패키지 역시 나타난다.
진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크