수요일, 8월 30, 2006

Emacs: how to enable syntax highlight for make file?

Add the below commands to .emacs file.

(setq auto-mode-alist
(append '(
("\\.[Ss]$" . asm-mode)
("\\.68k$" . asm-mode)
("\\.inc$" . asm-mode)
("\\.[bB][aA][tT]$" . bat-mode)
("\\.x$" . c-mode)
("\\.[Hh]$" . c++-mode)
("\\.sqc$" . c++-mode)
("\\.el$" . emacs-lisp-mode)
("\\.emacs$" . emacs-lisp-mode)
("\\.bin$" . hexl-mode)
("\\.txt$" . text-mode)
("\\.java$" . java-mode)
("\\.mak$" . makefile-mode)
("[Mm]akefile.*$" . makefile-mode)
("\\.prop.*$" . makefile-mode)
("\\.cshrc$" . sh-mode)
("\\.jsp$" . html-mode)
("\\.xsd$" . sgml-mode)
("\\.xsl$" . sgml-mode)
("\\.v$" . verilog-mode)
("\\.vv$" . verilog-mode)
("\\.Xdefaults$" . xrdb-mode)
) auto-mode-alist))

목요일, 8월 24, 2006

Emacs: Show line number from editor

Download setnu.el from:
http://www.emacswiki.org/cgi-bin/wiki/setnu.el

Append the below two lines to setnu.el lisp code.
(add-hook 'c-mode-hook 'turn-on-setnu-mode)
(add-hook 'java-mode-hook 'turn-on-setnu-mode)

Load it from .emacs file.

Done. Now, you can see the line number from Emacs editor when you are editing C or Java source codes.

Emacs: Color Theme

http://www.emacswiki.org/cgi-bin/wiki?ColorTheme

  1. Download ColorTheme
  2. Copy ColorTheme folder to Emacs 'site-lisp' folder
  3. Check about the colors from this page
  4. Add the below line to your .emacs file
    1. (require 'color-theme)
      (color-theme-initialize)
      (color-theme-colorName)
  5. Now, you can see the color theme from your Emacs!

수요일, 8월 23, 2006

Emacs: Indentation

  • Region indentation
    • C-4 C-X- : Indent region as 4 spaces
    • C-- C-4 C-X- : Dedent region as 4 spaces
  • Line break and indent
    • C-j
  • Back to indentation
    • M-m
  • Open line under the current line
    • ?
  • Open line above the current line
    • ?

bash: comparison operator

  • String Comparison
    • str1 = str2
    • str1 != str2
    • str1 < str2
    • str1 > str2
    • -n str1 : str1 is not null
    • -z str1 : str1 is null
  • File Attribute Operator
    • -a file : file exists
    • -d file : file is a directory
    • -e file : same as -a
    • -f file : file is a regular file
    • -r file : read permission
    • -s file : file is not empty
    • -w file : write permission
    • -x file : execute permission
    • -N file : modified since it was last read
    • -O file : you own file
    • -G file : group ID matched yours
    • file1 -nt file2 : file1 is newer than file2
    • file1 -ot file2 : file1 is older than file2
  • Integer Conditions
    • -lt : Less than
    • -le : Less than equal
    • -eq : Equal
    • -ge : Greater than or equal
    • -gt : Greater than
    • -ne : Not equal

Refer page114, page 117 and page 121 of Learning the bash

월요일, 8월 21, 2006

bash: string operators

  • ${varname:-word}
    • echo ${count:-0} : prints '0' if count is null.
  • ${varname:=word}
    • echo ${count:=0} : prints '0' and assign 0 to count if count is null.
  • ${varname:?message}
    • echo ${count:?NULL} : prints 'bash: count: NULL' if count is null.
  • ${varname:+word}
    • echo ${count:+0} : prints '0' if count it NOT null.
  • ${varname:offset:length}
    • var1='sample'
    • ehco ${var1:1:2} : prints 'am'.
  • ${varname#pattern}
    • echo ${PWD} is '/home/wonkim'.
    • echo ${PWD#*/} is 'home/wonkim'.
  • ${varname##pattern}
    • echo ${PWD##*/} is 'wonkim'.
  • ${varname%pattern}
    • echo {PWD%/*} is '/home'.
  • ${varname%%pattern}
    • ehco {PWD%%/*} is null.
  • ${varname/pattern/string}
    • echo {PWD/\//:} is ':home/wk157575'
  • ${varname//pattern/string}
    • ehco {PWD//\//:} is ':home:wk157575'
Refer 'page 91' and 'pag 96' of Learning the bash

토요일, 8월 19, 2006

bash: Emacs mode editing commands

CTRL-A : Move to beginning of line
CTRL-K : Kill forward to end of line
CTRL-Y : Yank
CTRL-_ : Undo
CTRL-x ( : Start key macro recording
CTRL-x ) : End key macro recording
CTRL-x e : Execute the last macro
ESC-CTRL-H : Kill one word backward
ESC-D : Kill one word forward
ESC-? : List the possible completion
ESC-L : Change word after point to all lowercase letters
ESC-. : Insert last word in previous command line after point

금요일, 8월 18, 2006

Emacs: delete all string from command input mode

Try to use:

C-a-k

to delete all string

C-BS

to delete word

Emacs + Cscope + Java

How to enable Java context searching Emacs by using cscope?

* Add 'java' file type to cscope-indexer script file.
* egrep -i '\.([chly](xx|pp)*|cc|hh|java)$'

* Add 'java mode hook' to xcscope.el lisp file.
* (add-hook 'java-mode-hook (function cscope:hook))

That's all. Now you can browsing Java symbol by using cscope whithin Emacs.

목요일, 8월 17, 2006

새로운 에디터에 적응하기

아마 나와 같이 소프트웨어 업계에 종사하는 분이라면 충분히 공감할 수 있으리라 생각이 드는데. "에디터"를 바꾼다는 일이 꽤나 어렵다.
그동안 휴대폰 관련 개발일을 하며 불법으로 구해 사용하던 소XXXXX트라는 에디터를 과감히(?) 버리고 GNU Emacs를 사용하기 위해 씨름하고 있다.
익숙치 않은 에디터 익히랴 일하랴 평소보다 효율이 한 2배 정도 줄어든 것 같기는 한데 요 Emacs라는 에디터가 쏠쏠한 공부하는 재미를 주는 이점이 있다. ^^
아마도 한 3개월정도 사용하면 어느정도 손에 익으리라 생각된다. Emacs가 익숙해질만 하면 Emacs Lisp도 한번 공부해볼까나?
이 에디터에 익숙해지면 어떤 직장을 구해도 불법 에디터를 사용할 일은 없어지겠지?

수요일, 8월 16, 2006

Emacs keyboard macro and repeat command

Start keyboard macro: C-x (
End keyboard macro: C-x )
Execute the last macro: C-x e
Repeat the last command: C-x z {z...}

금요일, 5월 26, 2006

의사 소통의 문제

회사 특성 상 거의 매일 외국인들과 일을해야하는 나는 1년 반정도 지난 지금 어느정도 문제없이 의사소통을 할 수 있게되었다고 자만하고 있다.

그런데,

며칠전 3시에 Conf. Call을 하자던 M이 약 10분전에 전화를 하여 나에게 하는 말.
"캔 위 포스프 폰 콜 ??? 피프? 미니츠"
젠장. 휴대폰으로 전화를 하는지 중간 중간 말이 잘 안들렸다. 순간, 아항! 3시 15분으로 회의를 조정하자는 거구나라고 스스로 판단해버리고는 망설임 없이 "예스"라고 답했다.
무심한 M씨는 바로 전화를 끊어 버렸고. 잠시동안 생각해보니 이게 3시 15분에 회의를 하자는 소리인지 3시 50분에 회의를 하자는 소리인지 그것도 아니면 15분 있다가 회의를 하자는 소리인지 제대로 알아듣지도 못하고 전화를 끊어버렸던 것이다.

대략 낭패.

결국에는 3시 15분에 전화를 걸어 "약간 당황하는" 듯한 M씨와 회의를 하기는 했지만 제대로 알아듣지도 못하고 "예스"를 해버린 자신이 바보같은 "예스"맨으로 느껴졌다. ㅜㅜ
하긴, 꼭 영어가 아닌 한국말을 하는 경우에도 생각해보면 아무 생각없이 튀어나오는대로 말해버린 경우가 꽤 많은 것 같다.
앞으로는 제대로 알아듣지도 못하면서 대충 얼버무리고 넘어가는 일은 없도록 해야지.

화요일, 4월 25, 2006

나카마 유키에(仲間由紀惠)



드라마 TRICK의 여주인공. 진짜 초능력은 없다고 생각하는 마술사역. 초능력 사기를 밝혀나가는 내용인데 뭔가 만화적인 재미를 제공하는 드라마. 아직 끝을 보지는 못했지만 아마도 본인 자신이 초능력자가 아닐까? 넘 유치한 발상인가 :(

화요일, 4월 18, 2006

Google Calendar

http://www.google.com/calendar

무료로 사용할 수 있는 Web Interface기반의 Calendar!
여러 사람들과 일정을 공유할 수 있는 기능 및 너무나도 간결하며 편리한 UI!
사용 적극 권장!

토요일, 3월 25, 2006

마츠 다카코(松たか子)


요즘 즐겨 본 일본 드라마 HERO의 배우. 볼살이 통통한데 매력있다. (요즘 너무 많은 여자들에게서 매력을 느끼나... ^^) 특히나 이 드라마에서 맡은 배역은 정말이지 귀엽다!!!

가수로도 활동 중인가 보다.
http://www.universal-music.co.jp/matsu/index.html => Official Page

목요일, 3월 23, 2006

SunSpot


http://www.sunspotworld.com/

Project Sun SPOT: Programming the Real-world

취미 삼아 임베디드 시스템 프로그래밍을 해보시려고 하시는 분께 강추! 유비퀴터스가 뭐지? 라고 생각하면서 꼭 한번 경험해보고 싶으신 분께 강추!
가격은 한 500$ 정도 하는데 ARM9 보드 치고는 그리 비싼 편은 아니다. 더군다나 외부 아날로그 인터페이스 및 USB 인터페이스, 각종 센서, 라디오 장비 까지 갖추고 있으며 1개가 아닌 2개를 Pair로 제공한다는 사실! Host / Client 프로그램 작성도 가능하다.

물론 개발 언어는 Java이다. 디바이스 드라이버도 Java로 개발한다.

재미있겠다!