오늘의 야크 털 깎기는 vim quickfix 갖고놀기였습니다.

vim quickfix는 edit-compile-edit (python/ruby의 경우 edit-autotest-edit) 의 사이클을 빠르게 할 수 있게 도와 주는 기능입니다. vim에서 :make를 쳤을 때 컴파일 에러가 뜨면 자동으로 에러가 발생한 해당 줄로 날아가고 별도의 창에 에러 메시지를 띄워서 보여주는 모듈 이름이 quickfix입니다.

이 기능은 make 말고 다른 프로그램에도 얼마든지 적용할 수 있기 때문에 ruby나 python에도 적용하고 있는데요, (물론 출력파일 형식은 C 에러 메시지 형식이어야 합니다) 결과물이 항상 현재 에디트하고 있던 코드를 덮어버리는 것이 짜증나서, 결과물을 항상 새 탭에 열도록 하는 함수를 만들어 보았습니다. 탭 기능은 vim 7.0 이후로 추가되었으므로 아래 스크립트는 vim 7.0 이상에서만 작동합니다.

~/.vimrc에 다음 코드를 추가합니다


function! QuickFixAndFindTab(command)
    let curn = bufnr("%")
    cexpr system(a:command)
    let newn = bufnr("%")
    exe "b " . curn
    let tabnr = 0
    if newn != curn
        for i in range(tabpagenr('$'))
            for bufn in tabpagebuflist(i + 1)
                if bufn == newn
                    let tabnr = i + 1
                    break
                endif
            endfor
        endfor
        if tabnr == 0
            tabe
            exe "b " . newn
        else
            exe "tabn " . tabnr
        endif
    endif
    cw
endfunction

이제 make, rake 혹은 기타 다른 test runner를 단축키에 등록하면 됩니다. 저는 ",r"과 ",m"을 사용했습니다.


noremap ,r :call QuickFixAndFindTab("rake")
noremap ,m :call QuickFixAndFindTab("make")

'자랑 > 삽질' 카테고리의 다른 글

vim quickfix 새 탭에서 열기  (0) 2010/05/13
루비에 심취해 있습니다.  (4) 2007/03/27
아이고하느님 - 데스크탑 3호기에 바치는 부고  (4) 2004/04/18

요즘 티스토리 스킨이 맘에 안 들어 이 스킨 저 스킨으로 바꿔보았는데, 영 이거다 싶은 게 없더군요.
그리하여 애인님과 함께 작심하고 http://tattertools.com을 뒤져보기에 이르렀습니다. 그곳에서 fading line이라는 훌륭한 스킨을 발견! 서로 맘에 안 드는 부분을 살짝 손을 본 다음 무려 커플 스킨을 만들게 되었습니다. 후후후후.

사용자 삽입 이미지

깔끔하네요.

'자랑 > 애인님' 카테고리의 다른 글

스킨을 바꿔 보았습니다.  (12) 2008/01/15
이 사람이 내 여자친구입니다.  (6) 2005/10/17

티스토리 통계 툴 Tistat ver 0.98 공개합니다.

애인님과 요 며칠 낑낑거리며 만든 티스토리 통계 자동화 툴이 완성되었습니다.
이름하야 tistat v0.98
처음에는 댓글 단 사람 통계를 손으로 내기 귀찮아서 -_- 시작한 일이었는데
어쩌다보니 별별 자잘한 것까지 다 찍어주는 큼직한 툴이 되고 말았습니다.

하지만 일단 만들고보니 뿌듯한 마음 금할 길 없군요. 후후후후후후.

애인님은 처음 제가 만든 댓글 통계 스크립트를 보고 재밌다 +ㅅ+ 하고 눈을 반짝이더니, 저의 루비 튜토리얼을 들여다보기도 하고, 이것저것 물어보기도 하고, 이런이런 함수 만들어줘! 하기도 하고, 하여 뚝딱거린 끝에 사흘만에 루비를 마스터한듯 합니다. 이제 하산하거라.

사용법은 간단합니다. 데이터 백업을 위해 티스토리에서 지원하는 XML 파일을 다운받은 다음 설정 파일을 살짝 고쳐주고 실행하면 됩니다.

이리하여 2004년부터 2007년까지 4년간의 블로그 통계를 낼 수 있게 되었습니다.

좀 길기 때문에 접습니다

훌륭하네요.
HTML 출력도 지원하기 때문에 그냥 긁어다 붙이면 자동으로 위와 같은 통계가 생성됩니다. 댓글 단 사람의 링크나 글로 가는 링크도 자동으로 만들어주는 것이 장점이죠. 후후후후.

엑셀에서 읽어들일 수 있는 CSV 파일도 출력해주기 때문에, 엑셀에서 간단히 그래프를 그려볼수도 있습니다.

사용자 삽입 이미지

2004-2007년 방문객 그래프

써보고 싶으신 분은 애인님의 블로그에서 공개한 베타버전을 사용해보시면 될 것 같습니다. (광고광고)

그래프를 보며 재미있는 사실을 발견했는데, 방문객 통계를 보면 2006년 4월경과 2007년 1월경에 방문객이 급격히 감소하는 것을 볼 수 있는데, 각각 학교 서버가 잠시 다운되었던 기간과, 블로그 서버를 학교 서버에서 티스토리로 이전했던 기간과 일치하는 듯 하네요 +ㅅ+ 재미있는 사실이네요.

'자랑 > 공작' 카테고리의 다른 글

2004-2007 블로그 통계  (10) 2008/01/14
스프링노트+파이어폭스로 빠르게 메모하기  (9) 2007/12/14

웹서핑을 하다 보면 재빨리 메모를 하고 싶을 때가 있습니다.
그냥 생각난 것을 잊지 않기 위해 적어놓는 걸수도 있고, 내일까지 해야 할 일이 있을 수도 있고, 웹에서 본 것을 스크랩하고 싶을 때도 있지요.

저는 이런 용도로 여태까지 메모장을 사용해왔는데요. 그렇지만 메모장은 이런 용도로 쓰기에는 여러모로 불편합니다.

  • 주로 작업하는 곳이 두군데(집과 연구실)인데 한쪽에서 써놓은 메모는 다른 쪽에서 확인하기가 어렵습니다.
  • plain text밖에 저장할 수 없습니다 : 이미지를 저장하거나 글씨 크기 등을 편집할 방법이 없습니다.
  • 접근성이 떨어집니다 : 메모장이야 바탕화면에 단축아이콘을 등록해놓는다고 해도, 원하는 파일을 찾아가기도 어렵고 파일 이름을 대충 정하면 자칫 영원히 메모를 찾아낼 수 없는 사태도 발생합니다.

오늘 이 문제를 한꺼번에 해결해줄 아이디어가 떠올라서 한번 실행에 옮겨보았는데요, 만족스럽게 작동하는 것을 보고 소개해볼까 합니다.

파이어폭스에는 사이드바라는, 잘 알려지지는 않았지만 꽤 쓸만한 기능이 있습니다. (개인적으로는 오페라의 사이드바를 더 좋아하고, 유용한 기능도 많습니다만 오페라에서는 아직 스프링노트가 작동하지 않는 관계로 파이어폭스를 사용합니다.) 화면을 가로로 나눠서 왼쪽에 작은 검색창이나 히스토리 등등의 정보를 띄워 주는 기능인데요, 최근 버전(아마도 1.5 이후)에는 북마크를 사이드바로 열기 옵션이 추가되었습니다. 원하는 페이지를 북마크해놓고 등록정보에서 "이 북마크를 탐색 창으로 열기" 옵션을 체크하면 해당 북마크가 사이드바로 열립니다.

이렇게 사이드바로 스프링노트를 열면 현재 열어보고 있는 페이지를 전혀 방해하지 않고 새 페이지를 열어볼 수 있을 뿐만 아니라, 현재 창과 사이드바 사이에 복사 붙여넣기도 쉽기 때문에(마우스로 끌어다가 사이드바에 갖다놓으면 끝입니다.) 간단한 메모 기능부터 그림이나 링크를 스크랩하는 기능까지 간단하게 해결됩니다.

스프링노트를 사이드바에서 열려면 먼저 "메모장"이라는 스프링노트 페이지를 하나 만들고, 이 주소를 북마크해서 "북마크 도구 모음"에 추가합니다. (아래와 같은 툴바가 안보이신다면 툴바가 현재 꺼진 상태입니다. 메뉴 바를 오른쪽클릭해서 "북마크 도구 모음"을 체크해주세요)

사용자 삽입 이미지

그리고 북마크 버튼을 오른쪽클릭하면 나오는 등록정보에서 "이 북마크를 탐색 창으로 열기" 옵션을 체크해줍니다.이렇게 하고 그대로 버튼을 누르면 스프링노트 메인 페이지만 나오는게 아니고 왼쪽의 내비게이션과 오른쪽의 책갈피 기능에 가려 본문이 거의 안보이는데요. 북마크 하기 전에 미리 양쪽의 내비게이션을 꺼두는 것이 좋습니다. (아니면 greasemonkey script같은 것을 이용해서 특정 페이지가 열릴 때는 무조건 내비게이션이 꺼지도록 하는 수도 있겠습니다만... javascript를 몰라서 이 부분은 생략)

사용자 삽입 이미지

이제 버튼을 누르고 메모를 해봅시다. 스프링노트 덕분에 단순한 사이드바가 기능이 풍부한 즉석 메모장으로 변신하는 순간입니다. 단, 메모를 쓰고 나서 바로 사이드바를 닫으면 메모가 저장이 안됩니다. Ctrl+S를 눌러서 수동으로 저장하고 닫으셔야 합니다.

이 글은 스프링노트에서 작성되었습니다.

'자랑 > 공작' 카테고리의 다른 글

2004-2007 블로그 통계  (10) 2008/01/14
스프링노트+파이어폭스로 빠르게 메모하기  (9) 2007/12/14
루비는 일본의 '마츠'라는 사람이 개발한 스크립트 언어입니다. 루비를 이용해 만든 웹 개발 프레임워크인 루비 온 레일스는 엄청나게 빠른 웹 개발 프로세스로 국내에서도 명성이 높죠. 이 사이트에 가보면 어떤 사람이 루비 온 레일스를 이용해 코멘트 기능과 관리자 기능이 포함된 그럴싸한 블로그를 15분만에 뚝딱 만들어내는 충격적인 동영상을 보실 수 있습니다.

루비의 첫인상은 뭐랄까... 굉장히 장난스럽습니다. 언어에 포함된 기본적인 기능과 함수들을 가지고 여러가지 장난을 쳐볼 수 있죠. 예를 들면

5.times { print "A" }
#=> AAAAA

[1, 2, 3, 4].each { |i| print i * 2 }
#=> 2468

이런 코드라던지

string = "hello, world!"
string['hello'] = 'goodbye'
print string
#=> goodbye, world!

이런 코드를 보면 "재밌다!" 는 생각이 한편 들면서도, 한편으로는 "재미있지만 좀 쓸데가 없어보인다" 싶기도 합니다. 그렇지만 루비는 이 정도가 전부가 아닙니다. 조금만 파보면 이 언어의 심상치 않음을 차차 깨닫게 됩니다.

먼저, 루비는 철저한 객체지향 언어입니다. 파이썬과 비슷한 특징이죠. 때문에 위에서처럼 5.times { print "A" }같은 함수가 가능해집니다. 5라는 "상수"가 마치 객체인 것처럼 멤버 함수 times 를 불러서 { print "A" } 라는 "코드 조각"을 마치 객체처럼 함수 인자로 넘겨줄 수 있는 거죠. 파이썬과 비슷한 특징이지만, 파이썬보다 훨씬 쉽고 강력하게 해치웁니다.

함수를 객체처럼 사용할 수 있는 특징은 함수형 프로그래밍의 여러가지 장점을 명령형 언어에서 간편하게 표현하도록 도와줍니다.

[1, 2, 3, 4, 5].map { |x| x * 2 }
#=> [2, 4, 6, 8, 10]

[1, 2, 5, 6, 7, 8, 11].select { |x| x % 2 == 0 }
#=> [2, 6, 8]

이런 코드를 짤 수 있는 거죠. 물론 코드 조각을 받아서 실행하는 프로그램을 직접 만들 수도 있습니다. yield 명령어로 인자로 들어온 코드 블록을 실행하면 됩니다.

# sum_for_10 함수는 코드를 받아 코드에 1..10까지의 숫자를 던져넣은 결과를 합해줍니다.
def sum_for_10

  sum = 0
  for num in 1..10
    sum += yield num
  end
end

sum_for_10 { |x| x }
#=> 55
sum_for_10 { |x| x*x }
#=> 385

이렇게요.

루비의 또 한가지 재미있는 점은, 모든 클래스 정의가 오픈되어 있다는 점입니다. 이미 정의된 클래스를 나중에 오버로딩하고 덧붙이는 것이 가능합니다. 그런데 아까도 말했듯 루비의 모든 것(변수, 상수, 코드, 함수 등등등)은 객체, 즉 클래스입니다. 그러므로 언어 자체의 동작을 코드 내에서 쉽게 바꿀 수 있다는 뜻이 됩니다. 예를 들어, 리스트(루비에서는 Array)에서 합을 구해주는 함수 sum을 추가해 볼까요

# Array를 열어 새 함수를 추가합니다.
class Array
  def sum
    result = 0
    each { |x| result += x }
    result
  end
end

[1, 2, 3, 4, 5].sum
#=>15

간단하군요. +ㅅ+

덕분에 심지어는 이런 코드도 가능해집니다.

# Numeric은 정수와 실수를 포함한 루비의 모든 수를 나타내는 클래스입니다.
class Numeric
  def minutes
    # 자기 자신에 60을 곱해 분으로 표현합니다.
    self * 60
  end
  def hours
    self * 60.minutes
  end
  def days
    self * 24.hours
  end
  def years
    self * 365.days
  end
end

3.years + 13.days < (3.1).years
#=> true

다른 언어에서라면 Date 클래스를 따로 만들고 연산자를 오버로딩하고 어쩌구 저쩌구 했어도 이렇게 짧고 우아하게 해결하지는 못했을 겁니다.

그러면 지금까지 나온 두가지, 함수형 프로그래밍과 열린 클래스 구조를 이용해서 어떤 일이 가능해지는지 볼까요

# HTML이라는 클래스를 정의합시다.
class HTML
  # method_missing은 메소드가 호출되었지만 그런 이름을 가진 메소드가 없을 때 불려집니다.
  def method_missing (method_id)
    # 메소드 이름을 받아 문자열로 변환해줍니다.
    tag_name = method_id.to_s
    # 코드 블록이 함께 주어졌다면 안쪽의 내용을 태그로 감싸서 출력합니다.
    # 아니면 그냥 태그 한줄만 출력합니다.
    if block_given? then
      puts "<" + tag_name + ">"
      yield
      puts "</" + tag_name + ">"
    else
      puts "<" + tag_name + "/>"
    end   
  end
end

tag = HTML.new

tag.html {
  tag.head {
    tag.title { puts "이름" }
  }
  tag.body {
    tag.h1 { puts "제목" }
    tag.p { puts "문단" }
  }
}

결과는 간단한 html 코드가 됩니다.

<html>
<head>
<title>
이름
</title>
</head>
<body>
<h1>
제목
</h1>
<p>
문단
</p>
</body>
</html>

루비는 이런 식으로 지금까지 제가 "프로그래밍"에 대해 갖고 있던 생각을 완전히 뒤집어 놓았습니다. 지금까지 제가 알고 있던 프로그래밍이 어떤 과제를 수행하는데 적합한 언어를 고르고, 그 언어의 문법으로 그 과제를 기술하는 일이었다면, 루비로 코딩하는 것은 과제를 언어의 문법에 맞추는 동시에 언어의 문법을 과제에 맞춰나가는, 양방향 과정입니다. 요즘 루비 커뮤니티에서 유행하는 말로 하면, domain-specific language를 만드는 거죠.

한줄요약 : 루비는 정말 재미있습니다.

'자랑 > 삽질' 카테고리의 다른 글

vim quickfix 새 탭에서 열기  (0) 2010/05/13
루비에 심취해 있습니다.  (4) 2007/03/27
아이고하느님 - 데스크탑 3호기에 바치는 부고  (4) 2004/04/18
tag 루비

핸드폰을 질렀습니다.

from 자랑 2006/08/20 12:32

위 사진은 실물 크기입니다. (17" 모니터에 1024x768 해상도 기준)


KTF ever에서 야심차게 내놓은 7.9mm짜리 바 타입 핸드폰입니다.
애인님은 흰색, 저는 검은색으로, 커플 폰으로 질렀습니다. :$
구글 이미지 검색에 흰색 모델 사진이 없군요. 흰색도 이쁘던데...


지금까지 사본 휴대폰 중에 유일하게 이쁜 거 하나 보고 눈 딱 감고 지른 녀석인데
쪼끄만 주제에 생각보다 많은 기능을 포함하고 있는, 여러모로 기특한 녀석입니다.
카메라 화소수도 130만일뿐 아니라 렌즈 성능도 의외로 좋아서 괜찮은 화질을 기대할 수 있습니다.
물론 플래시 터뜨리면 여전히 폰카구나 싶긴 합니다만...
mp3와 동시에 멀티태스킹도 가능하고
전자사전, 보이스레코더, 이동식 디스크 같은 의외로 요긴한 기능도 들어 있습니다.
이만한 기능을 요만한 크기에 쑤셔넣다니 요즘 핸드폰 기술의 신비로움은 거의 마법의 영역에 도달하지 않았나 싶습니다. -_-
다만 인터페이스에 세밀한 배려가 많이 부족하고
폰 크기가 작다보니 배터리도 작아서 전력이 오래 버텨주지 못하는 게 단점이겠군요.


애인님이나 저나 지금껏 LG CYON만 써 왔습니다.
CYON은 사용자 중심의 편리하고 세세한 인터페이스도 좋고 자판도 익숙해지면 제일 편해서
핸드폰이 수명을 다하면 또다시 LG를 구매하는 높은 충성도를 자랑하고 있었는데
LG는 지난해부터 초콜릿 시리즈에 모든 마케팅과 디자인 역량을 투자하기로 마음먹었는지
초콜릿 말고는 볼만한 디자인이 거의 없더군요.
애니콜은 삼성이 늘 그렇듯이 돈 들인 흔적은 역력한데 맘에 전혀 와닿지 않는 디자인이고...
그리하여 요즘들어 괜찮은 디자인을 보여주는 ever를 골라 보았는데 성공적입니다.


간만에 맘에 드는 핸드폰을 샀으니 가능하면 오래오래 쓰고 싶어요 +ㅅ+

'자랑' 카테고리의 다른 글

핸드폰을 질렀습니다.  (3) 2006/08/20
2주간 호주에 다녀왔습니다  (0) 2004/02/15


아직도 교복 입은 것 같은 기분만 드는 어색한 양복을 입고 졸업사진을 찍고, 학점에 포함되지 않는다는 마지막 학기를 마치 마지막이 아니라는 듯 열심히 보내고, 대학원에 원서를 넣고... 그러다보니 졸업은 순식간에 코앞까지 닥쳐왔습니다. 이제까지의 모든 졸업이 그랬듯...

그래도 몇번이고 날 사랑한다고 말해주는 당신의 다정함과, 늘 적확한 조언으로 내 일을 도와주는 당신의 유능함과, 내가 축 늘어져 있으면 어떻게 알았는지 날 웃게 해주는 당신의 현명함에 몇번이나 구원받았는지 모릅니다. 혼자 있다가도 가끔 당신을 생각하며 웃기도 합니다.

작은 선물에도 마냥 기뻐하고, 나와 같이 하는 일은 뭐든지 즐겁다고 말해주고, 한번도 내 마음 상하게 한 적 없는 사람.

밤새 전화 붙잡고 있느라 수면 부족인 날도 있지만, 이렇게 예쁘게 웃는 당신에게 소홀히 대한다는 건 죄악입니다. 당신이 사랑스러워서, 당신이 사랑받아 마땅한 사람이라서 당신이 좋습니다.

'자랑 > 애인님' 카테고리의 다른 글

스킨을 바꿔 보았습니다.  (12) 2008/01/15
이 사람이 내 여자친구입니다.  (6) 2005/10/17
몇년 전 냥이가 아직 돌이 못 됐을 때 '우리집 고양이님의 최근 동정'이라는 제목으로 어딘가에 올렸던 글. 간만에 발견했는데 다시 봐도 제법 즐거운지라; 올려봅니다.

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

1반 친구들 중 단 두 명만이 그 실체를 목격했으며 사진으로 접한 자 또한 얼마 되지 않는 우리집 비밀의 고양이 냥이는 집안에서 온갖 폭력과 횡포, 권력남용을 자행하며 무럭무럭 자라는 중입니다.

밥 주는 사람이 누구인지를 망각한 채 그 실로 고양이과 동물다운 이빨로 물어뜯는 것은 다반사이며, 자꾸 물면 버릇나빠질까봐 때리면 오히려 더 세게 물지 않나, 좀 덜 아파볼까 하고 옷에 감싸인 팔뚝을 갖다대면 손까지 힘들여가며 기어올라 기어코 살코기를 깨물지 않나, 덕분에 손등에 피맺힌 자국이 사라지는 날이 드물어요.

그러면 또 청결하고 남의 간섭을 싫어하시는 고양이님답게 대소변을 알아서 잘 가려주시는가 하면 그것도 수상쩍습니다. 새 집으로 이사하고 나서는 자기 화장실이 따로 있다는 사실을 망각했는지 사람 방의 잘 안 보이는 구석에 몰래 볼일을 보고 방치해둔 것이 오늘로 벌써 세번째. 그래도 꼴에 토끼와는 달라서 어디에 실례하면 사람 눈에 안 띄는지는 알고 있는 모양입니다.

그리하여 머리가 좋으신 고양이님답게 사람의 말을 알아듣고 부탁을 잘 들어주시는가 하면, 그것은 또 전자는 참이되, 후자는 거짓이라 하겠습니다. 이제 사람 말은 대충 알아듣게 되어 자기 이름 부르는 건 다 알아듣는데, '냥이야~' 하고 부르면 느긋한 걸음걸이로 걸어오는 경우가 반, 그냥 한번 고개 슥 돌려보고 입 크게 벌려 하품하는 경우가 절반인지라 '알아듣는다' 라는 사실을 확인하는 것으로 만족하는 경우가 많습니다. 다만 잔꾀는 무지하게 늘어 종종 키우는 사람을 놀래키고 있습니다. 오늘 저녁에 녀석이 저지른 범죄가 그 좋은 예라 하겠군요.

그간 고양이의 점프력이 비약적으로 늘어 이제 식탁 정도는 휙 하고 뛰어오르는 수준이 되었는지라, 식사 때만 되면 사람 밥을 뺏어먹기 위해 부리는 그 묘기가 귀찮아 평소에는 고양이를 방에 가둬두고 식사하게 됩니다. 그런데 오늘 저녁에는 그것을 깜박하고 거실에 내놓아두었는데도 웬일인지 밥 먹는 광경을 슥 쳐다보고만 있는 것이었습니다. 이녀석이 웬일일까 하면서도 오늘은 안 가둬 둬도 괜찮으려나 해서 '냥이야, 저리가.' 하고 손을 내저었더니 정말로 다른 데로 걸어가는 겁니다. 이제 고양이 몸에도 좋지 않다는 사람 밥을 핥아먹는 일이 별로 좋지 않다는 걸 알았나 싶기도 하고, 생선냄새를 맡고도 식탁에 뛰어오르지 않는 모습이 철이 들었나 싶기도 하여 기특해했더랬습니다.

냉장고에는 냥이가 착한 일을 했을 때라거나, 물이 싫어서 발광하는 걸 억지로 목욕시키고 난 뒤라거나 할때마다 주는 고양이용 마른 멸치가 있습니다. 서너마리씩 던져주면 그르렁거리는 소리까지 내가며 달려드는 주제에 미식가답게 머리와 멸치똥은 기술적으로 발라내는 우아한 모습을 보여주곤 하지요. 사실 녀석이 착한 일을 하여 상으로 얻어먹은 케이스는 거의 없고, 혼자 집 지키는 꼴이 측은하여 준 것을 얻어먹은 경우가 대부분입니다. 오늘은 녀석이 조금 기특했는지라 레어 아이템인 이 멸치를 상으로 주고자 '냥이야~ 멸치 먹자~' 하면서 이방 저방 찾아다녔더니, 아니나 다를까, 얌전한 것처럼 보이던 태도는 교묘한 속임수였습니다. (지금 이 순간 자기 욕하는 줄은 어떻게 알았는지 제 의자 밑에 와 있군요 -_-) 식구들이 저녁을 먹느라 신경쓰는 사람이 없어진 사이 동생 방에 들어가 간식용 야채 카스테라를 시식하고 있었던 겁니다. -_-

예. 이것이 오늘 냥이가 식구들로부터 한층 더 신뢰를 잃게 만든 사건의 전말입니다. 저 녀석이 대체 언제가 돼야 주인집 식구들을 좀 귀여워해줄런지 궁금하기만 합니다.

'자랑 > 냥이' 카테고리의 다른 글

우리집 고양이님의 2년전 동정;  (2) 2005/04/10
고양이의 동체시력  (10) 2004/08/12
tag
사용자 삽입 이미지

고양이가 나비를 좇는 모습은
꽤나 귀여워 보이지만,
실은 장난치다 잡아먹으려는
계획인 경우가 대부분입니다.
운보 김기창 - <고양이와 나비>

곧 두돌을 맞게 되는 우리집 막내 냥이는 흰 털과 흑갈색 얼룩을 가진 꽤나 잘생긴 수코양이입니다. 집안의 막둥이로서 온갖 귀여움을 받고 있...지는 못하고, 소파를 발톱으로 긁어 망가뜨린다거나 부엌에 잠입하여 생선을 맛보는 등 집안의 문제아로서 어머니로부터는 꽤나 미움을 사고 있습니다. 그럼에도 불구하고 귀여워해주는 다른 가족들보다는 어머니만을 졸졸 따라다니는 모습을 볼 때면 실로 고양이답다고 해야 할지 짝사랑은 보답받지 못하는 법이라고 해야 할지 아무튼 복잡한 심경이 되곤 합니다.
천성이 도둑고양이라 애교가 많은 것도 아니고 강아지처럼 집을 지키는 것도 아닌지라 유지비에 비해 실로 하는 일 없는 애완동물입니다만, 그런 그도 여름이 되면 조금이나마 밥값을 하는 당당한 가족의 구성원으로서 활동하게 되는데, 그의 여름 한정 파트타임 아르바이트가 무엇인고 하니, 다름아닌 해충 구제가 되겠습니다.
환상의 동체시력을 가진 고양이의 눈은 사람의 눈에 잘 보이지 않는 모기의 비행을 추적할 수 있는 놀라운 능력을 갖고 있는 모양입니다. 그는 모기의 궤적을 눈동자로 좇다가, 가끔 가까이에 오면 모기를 향해 앞발을 휘젓기도 합니다. 가끔 모기가 그 앞발에 잡히는 경우도 있습니다만 그렇지 않은 경우가 더 많지요. 그러면 냥이 레이더님이 안내해주시는 위치를 좇다가 살그머니 앉아 있는 모기를 신문지로 폭격하거나 공중에서 양손으로 요격하면 최종적으로 타겟을 소거할 수 있습니다.
이런 방법으로 작년과 올 여름, 모기의 농도가 옅어진 집안에서 쾌적한 나날을 보내고 있습니다. 한여름 모기를 숙적으로 삼아 분투하시는 여러분, 모기향 대신 고양이 한마리 어떠신가요.

'자랑 > 냥이' 카테고리의 다른 글

우리집 고양이님의 2년전 동정;  (2) 2005/04/10
고양이의 동체시력  (10) 2004/08/12
아이고하느님이란 사용하던 컴퓨터가 원인모를 문제를 일으켜 문제를 알아내는데, 혹은 복구하는 데 심각한 고생을 겪었을 경우 그 기록을 남겨 다른 사람의 타산지석으로 삼는 것을 말합니다. 특정 종교의 신앙과는 전혀 무관한 발언임을 미리 밝힙니다. -_-;;;

1. 원래 펜티엄 2 시절부터 내가 쓰다가 지난해 업그레이드하여 이제는 어머니가 쓰시는 데스크탑 3호기. 원래부터 보드가 잘 말을 듣지 않아 시스템 종료를 눌러도 전원이 꺼지지 않는 경우가 빈발하고 Windows ME가 종종 블루스크린을 띄워주는 등 골골거리는 일이 잦았으나 어머니가 논문 작성과 웹 서핑의 용도 외에는 거의 사용하지 않으시는지라 큰 문제가 아니라고 판단하고 근 6개월간 방치하였다. 그러나 내부에서는 잦은 콜드 부팅으로 인해 하드디스크가 점점 맛이 가고 있었던 것이다...

2. 지난달부터 블루스크린 발생횟수가 급격하게 증가, 급기야 며칠전부터는 도무지 서핑을 할 수 없는 지경에 이르렀다. 쌓여있는 시험과 레포트를 핑계로 치료를 미루고 있었지만 놔두었다간 골로 가는 수가 있겠다 싶어 수술에 착수.

3. 블루스크린이 뜨기 전마다 나타나는 다이얼로그가 page fault로 인한 kernel 오류였음에도 불구하고 단순히 ME의 소프트웨어 문제일 거라고 안일하게 판단하여, NTFS로 포맷한 후 2000을 설치하였다. 설치까지는 깔끔했으나, 처음 부팅하자마자 블루스크린. 데스크탑에서 2000을 사용한 이후 두번째로 맞이하는 블루스크린이었다.

4. 2000을 한번 더 설치해보았으나 똑같은 블루스크린 발생. page fault 메시지에 근거해 볼때 일단 의심가는 지점을 메모리와 하드디스크로 특정하였다. 포맷 도중에 하드디스크의 특정위치에서 이상한 소리가 들리는 것을 감지, 배드 섹터가 있는 것으로 판단하고 인스톨 위치를 바꿔 재설치해보았으나 여전히 똑같은 블루스크린 발생.

5. 디스크가 아니면 메모리라고 판단하여 갖고 있던 다른 SDRAM으로 교체해 보았으나 해결되지 않았다. 여기에 설상가상으로 본체에 전원케이블을 꽂자마자 스위치도 들어오지 않았는데 CPU 팬이 돌아가는 현상 발견. 메인보드 내부에 쇼트가 발생한 것으로 판단.

6. 데스크탑 4호기에서 XP를 돌리고 있던 하드디스크를 물려본 결과 일단 부팅은 되는 듯. 이로써 3년간 써오던 삼성 하드디스크는 창고행 결정. 그러나 하드디스크를 교체해도 보드가 이 상태면 언젠가 또한번 작살날것이 분명해보인다.

7. 따라서, Celeron 2.0GHz와 SDRAM을 지원하는 중고 메인보드를 어찌어찌 구해 교체하였다. 정상 부팅 확인. 아싸 신난다를 외쳤으나 안타깝게도 하루를 넘기지 못했다.

8. 다음날이 되자 데스크탑 3호기가 기나긴 beep음을 내며 부팅을 거부. 메모리 모듈을 위치를 바꿔가며 다시 끼워보고 그래픽 카드를 열댓번쯤 먼지 털어가며 다시 끼워보고 CMOS까지 리셋해보았으나 지금 이시각 데스크탑 3호기는 코마 상태에서 깨어날 생각을 하지 않는다.

9. 데스크탑 3호기는 아직 깨어나지 않았으므로 아이고하느님은 현재진행형이다.

to be continued... -_-

'자랑 > 삽질' 카테고리의 다른 글

vim quickfix 새 탭에서 열기  (0) 2010/05/13
루비에 심취해 있습니다.  (4) 2007/03/27
아이고하느님 - 데스크탑 3호기에 바치는 부고  (4) 2004/04/18
tag