2009. 7. 31. 09:56
마인드맵이 생각 정리하기엔 참 좋은 방법이라고 생각합니다. 그래서 머릿속에서 뭔가 생각이나면 간단하게 마인드맵 툴인 FreeMind로 아이디어를 스케치 하듯이 적어놓고는 방치(?)해 두곤하는데.. 회사에서 만드는 것과 집에서 만드는게 동기화가 안되다보니 기존에 쓰던 오프라인 기반 툴에서 온라인 기반 툴을 찾게 됬습니다. 아무튼 장단점 정리겸 간단하게 비교해서 방치를 해둡니다. [...]

Posted by envi
2008. 12. 15. 01:14

요즘 다시 Topcoder 나 UVa 문제들을 하루에 한문제씩 풀고있습니다.
기존엔 Visual C++ 로 풀었는데 emacs에 익숙해질겸해서 에디터를 갈아치웠죠..

그런데 Visual C++ 처럼 단축키만으로 컴파일을 하고 실행이 안되니 너무 불편합니다 T.T

문제를 풀고 컴파일 여부와 실행해서 Test Case 를 입력 후 답이 제대로 나오는지 확인해야되는데.. 이게 금방금방 안되니.. ;(

하지만!! emacs 는 extensible! customizable! 한 에디터 아니겠습니까? ^^

그래서 그 단축키만으로 컴파일!을 하고 실행! 을 할수있게 기능을 추가했습니다.

; 현재 소스파일명으로 컴파일을 합니다. (ex. source.cpp -> source)
(defun compile-filename()
  "Compile buffer filename"
  (interactive)
  (let (compileString fileName))
  (setq fileName (file-name-nondirectory buffer-file-name))
  (setq fileName (file-name-sans-extension fileName))
  (setq compileString (format "g++ %s -o %s" buffer-file-name fileName))
  (compile compileString)
)
; 창을 두개로 나눠 쉘을 띄운 후 컴파일된 파일을 실행합니다.
(defun execute-filename ()
  "Run ./filename"
  (interactive)
  (let ((fileName (file-name-nondirectory buffer-file-name)))
    (setq fileName (format "./%s" (file-name-sans-extension fileName)))
    (setq windowHeight (- (window-height) 10))
    (split-window-vertically windowHeight)
    (other-window 1)
    (shell)
    (sit-for 0.1)
    (insert fileName)
    (comint-send-input)
    ) 
  )
;; M-x compile-filename 로 입력하니 불편하니 Ctrl+c c 로 컴파일 할수있게합니다.
(global-set-key [(control c) ?c] 'compile-filename)

;; 역시 실행시도 Ctrl+c x 로 실행할 수 있게 합니다.
(global-set-key [(control c) ?x] 'execute-filename)


elisp 를 하나도 모르던 상태라 http://www.gnu.org/software/emacs/manual/html_mono/elisp.html 와 KLDP, 구글링도 해가며 열심히 만들었습니다. 하루종일 삽질좀 하니 이제 elisp 를 좀 알겠네요.

결국 삽질 끝에 좀 편하게 emacs를 쓸수 있겠군요... 열심히 문제만 풀 일만 남았습니다. ^^

내공이 좀 더 쌓이면 푸는 문제들도 문제와 풀이를 올려봐야겠네요.
Posted by envi
2008. 9. 7. 23:05
오늘 하루종일 vim 과 emacs 사이에서 무엇을 써야하나 계속 고민을 했습니다.

perl 을 제대로 공부하기 전에 에디터를 하나 골라서 사용법을 제대로 익혀두고 쓰는게 좋을거 같아서요 ;)

사실 그동안 emacs 를 써왔는데 수박 겉핥기식으로 쓰는 기능만 썼던터라.. 각 에디터의 장단점이 뭔지 모르네요.

그래서 우선 인터넷을 뒤져가며 사람들이 특정 에디터를 왜 쓰는지를 찾아봤는데..

어째.. 그 에디터를 왜 쓰는지 장단점을 다룬 글을 별로 없습니다. (내가 못찾는건가?)

뭐 대략.. 게시물에 써져있는 '그 에디터를 쓰는 이유'라고는 '처음 쓰던거니까 익숙해서'.. 정도?

...아무래도 일단 둘다 써보고 판단해야될거 같네요..

하아 머리 아픕니다.. OTL
Posted by envi
2008. 9. 4. 10:04
회사에서 집에 있는 컴에 접근할 일이 많아서 (자료접근 정도?) WOL 을 원격부팅을 하려고 했는데 자꾸 안되길래 '젠장' 한마디 날리고 그만뒀는데...

아침에 자다깨서 생각해보니 컴퓨터에 전원 공급이 끊겼는데 어떻게 NIC 이 어떻게 매직 패킷을 받는걸까란 생각이 들었다.

그래서 알고보니 OS 상에서 종료시 설정을 하여 NIC 을 대기모드 비슷하게 전원을 남기는 옵션이 있다더라.

방법은 Mainboard가 MSI P35 Neo2-FR 기준일때 (Realtek 칩셋에 해당됨)

1. 바이오스 상에서 웨이크업 이벤트 부분의 PCI DEVICE 및 PCI-E 부분을 Enabled
2. 시스템 등록정보 -> 장치 관리자 -> 네트워크 어댑터 속성에서 고급 -> WAKE-ON-LAN AFTER SHUTDOWN 를 Enabled
3. [전원관리] 탭에서 
(1)전원을 절약하기 위해 컴퓨터가 이 장치를 끌 수 있음
(2)이 장치로 컴퓨터를 대기상태에서 빠져나오게함
(3)관리 스테이션에서만 대기 모드 상태의 컴퓨터를 해제 시킬 수 있음
     세가지 항목을 모두 '사용'에 체크.

로 하고 OS를 정상 종료 후 매직 패킷을 날리면 된다.

P.S: 절전모드나 최대절전모드로 해도 된다.
Posted by envi
2007. 10. 11. 02:24
넷스케이프의 아버지 마크 앤더리슨 작은 형님께서 오픈 소스에 대한 12가지 명언을 남겼습니다.

오픈 소스가 커나가는 이유는:

"인터넷은 오픈 소스가 힘을 더한다"
"인터넷은 오픈 소스를 위한 운반도구이다"
"인터넷은 또한 오픈 소스를 개발하는 플랫폼이다"
"오픈 소스는 단순히 독점 소프트웨어보다 더 안전하다"
"오픈 소스는 탈미국 정서에서 이득을 얻는다"
"오픈 소스와 관련한 이득은 개인의 가치 존중을 포함한다"
"오픈 소스는 거인의 어깨 위에 올라감을 의미한다"
"서버는 늘 비싸고 독점적이었다. 하지만, 리눅스는 인텔에서 돈다"
"임베디드 장치는 오픈 소스를 더욱 많이 활용하고 있다"
"소프트웨어 회사가 아닌 소프트웨어를 개발하는 회사 숫자가 증가한다"
"회사는 리눅스를 점차 많이 지원하고 있다"
"오픈 소스는 자유롭다"
Posted by envi
2007. 8. 26. 03:15
http://www.roesler-ac.de/wolfram/hello.htm

다양한 언어로 짜여진 'Hello World' 출력을 소개해둔 페이지입니다 ^^

07년 08월 26일 현재 338개의 언어로 "hello, world"가 구현되어있습니다.

그중 특이한 언어로는

BrainFxxx (프로그래머 엿먹일려고 만든거 같습니다 -_-;)

Shakespeare (대화체? ^^)

Whitespace (공백언어..^^;;)

를 꼽을 수 있겠네요. 예전부터 알고있던 언어긴 하지만 Hello World 를 구현할걸 보니 정말.. ^^;;

세상엔 이런 언어도 있구나 정도로 알고 계시면 좋을듯 합니다 하하^^;;

아 참고로 BrainFxxx 에 대해 자세히 알고 싶으신 분은 http://www.muppetlabs.com/~breadbox/bf/ 로 가시면 됩니다.
또한  Shakespeare 언어는 http://people.csa.iisc.ernet.in/sreejith/frontends/spl/ 로..
그리고 Whitespace 언어에 대해 자세히 알고 싶으시면 http://compsoc.dur.ac.uk/whitespace/ 이쪽으로 가보시기 바랍니다 ^^
Posted by envi