2007년 2월 27일 화요일

내 블로그 가치는 $0.00 ?!!

---- 2007.03.02 ----

다시 확인해보니 제 블로그의 가치가 $0를 벗어났더군요. 아직 그다지 큰 가치를 가지고 있는 것은 아니지만 ''에서 ''로 넘어갔다는 점만으로도 충분히 의미 있고 가치 있는 일이라 여겨집니다. 그리고 그래서 더 의욕이 생기는 것 같구요. 블로그를 키워가는 것도 MMORPG 같은 온라인 게임의 아바타를 키워가는 것과 별반 다를 것이 없지 않을까요? ;)


---- 원문 ----

이리저리 유명 블로그를 돌아다니다보니 블로그 사이드바 항목에 그 블로그의 가치를 판별해주는 위젯 비스무리한 것이 종종 붙어 있더군요. 호기심이 강한 제가 이것을 그냥 지나칠 리 없습니다. 찾아내고 방문해주시는 분이 더 대단한, 제 블로그의 가치는 과연 얼마나 될까요?



그래도 $1 이상은 될 것이라 생각했었습니다. :-(

DivShare - 무료 파일 호스팅 서비스

구독하는 블로그들을 정기 순회하다가 LOSER’s Hideout에서 눈에 띄는 글이 있어 본의 아니게 소개를 하게 되었습니다. 무료로 파일을 호스팅 해주는 사이트에 대한 글(DivShare 파일당 200MB 까지 지원하는 무료 파일 호스팅 서비스)인데, 이 글을 보고 기존의 파일 호스팅 서비스와 확실히 차별화 되는 면이 있다고 생각되어 저도 가입을 결심하게 되었습니다. :-)



아무튼 그 글에서 소개하고 있는 곳은 DivShare라는 무료 파일 호스팅 서비스인데, 업로드/다운로드 회수와 파일 보관 기간에 전혀 제약이 없고, 스팸이나 광고가 없다고 합니다. 단지, 한번에 올릴 수 있는 파일의 크기가 200MB라는 제약이 있을 뿐입니다. 보너스로 비공개 업로드도 지원해준다고 하니 개인 웹하드 대용으로도 어느 정도 역할을 해줄 수 있지 않을까 생각되기도 하네요.(WordPress 플러그인도 지원한다고 하지만, 저는 사용하지 않으니 통과!!)



DivShare 공식 홈페이지는 다음과 같습니다.

LINK: http://www.divshare.com

이런 서비스가 생긴 것은 매우 반가운 일인데, 도대체 이 서비스는 뭘로 벌어 먹고 사는 것일까요? 구글 광고가 일정 부분 실리고 있는 것 같기는 하지만, 그 정도만으로는 이런 대용량 파일 호스팅 서비스 운영 비용을 감당할 수 있을리가 없을 것 같은데 말이죠. 정말 궁금하네요. :-/

그렇기 때문에 자칭 빠르고 안정적이며, 내가 업로드한 파일을 영원히 온라인 상에 머물 수 있도록 해준다는 이곳을, 한동안은 지켜볼 필요가 있을 것 같습니다.(음.. 어쩌면 이미 신뢰할 수 있는 수준이 되었는데 제가 모르고 있는 것일지도..) 서비스에 대한 신뢰가 쌓이기 전까지는 중요한 개인 파일을 업로드하여 보관하는 일이 조심스럽겠지만, 지인들에게 큰 파일을 전달하기 위한 용도로 활용하는 데는 모자람이 없을 듯 합니다.

2007년 2월 25일 일요일

Blogger 새 버전에 리플바 달기

Think Big, Aim High에서 '블로그를 업그레이드 해보자~'란 글을 보고 제 블로그에도 리플바를 한번 달아보기로 마음 먹었습니다. 리플바의 공식 홈페이지로 가보니 Blogger를 지원하기는 하는데 구 버전의 Blogger만 지원하고 있었습니다. 허나 제 블로그는 Blogger 새 버전에서 운영되고 있습니다. 결국 마법사에서 만들어지는 내용을 그대로 쓸 수는 없었죠.

그래서 Blogger의 템플릿을 분석한 후에 새 버전의 Blogger에서 동작하도록 수정해보았습니다. 리플바를 적용하는 과정은 매우 간단합니다. 다음 순서대로 따라 해보세요~

1. Blogger에 로그인 한 후 템플릿 -> HTML 편집 페이지로 이동합니다. ([그림 1]의 1, 2 번)

2. '도구 템플릿 확장' 항목을 체크합니다. ([그림 1]의 3 번)


[그림 1] (그림을 클릭하면 크게 보실 수 있습니다.)

3. 템플릿 내용 중 <div class='post-footer'> 부분을 찾아서 그 바로 아래에 리플바 스크립트를 붙여넣기 합니다. 이 때 [그림 2]에서 보이는 RSS 주소 부분을 자신의 RSS Feed 주소로 바꿔줍니다.
<p class='post-footer-line post-footer-line-1'>
<script type='text/javascript'>
var Palgle_Title = '<data:post.title/>';
var Palgle_Url = '<data:post.url/>';
var Palgle_Feed = '[RSS주소]';
</script>
<script src='http://www.repl.net/bookbar/replbar.js' type='text/javascript'/>
</p>

[그림 2] (그림을 클릭하면 크게 보실 수 있습니다.)

4. 이제 템플릿을 저장하고 오류가 발생하지 않았다면 원하는 대로 잘 표시되는지 확인해봅니다.

2007년 2월 23일 금요일

Google Apps 유료 서비스 시작



어제 밤 늦게 Google Apps에 로그인 해보았더니 dashboard 화면 구성이 완전히 새롭게 바뀌어 있는 것이 아니겠습니까. 혹시나 하는 기대로 새 서비스 항목에 가보니 역시나 Docs & Spreadsheets 서비스가 추가 되어 있더군요. 그동안 정말 애타게 기다려 왔던 서비스라 매우 반가운 마음을 어찌할 수 없었습니다. 하지만 한편으로는 하나씩 추가되어 가는 서비스를 보면서 엄청난 속도로 강화되고 있는 Google의 시장 지배력에 흐뭇함보다 전율을 느끼게 되는 건 어쩔 수 없는 일인 것 같습니다. :-|



또 하나 눈에 띄는 것이 Google Apps Premier Edition에 대한 안내 링크였습니다. 유료 서비스가 출시된 것입니다. 제가 시험 삼아 신청해서 운영 중인 사이트에는 기본 무료 서비스만으로도 넘쳐날 지경입니다만 기업 특성에 따라서 이런 유료 서비스가 유용한 곳도 분명 있을 겁니다. 그렇다 해도 1 인당 10 GB나 되는 메일을 저장할 일이 있을까 싶은 생각도 드네요.(제가 다니는 회사에서 3년간 하나도 안 버리고 모은 메일이 3 GB 조금 안되는 것 같은데, 그런식으로 모으면 10년이면 10 GB를 채울 수 있을지도 모르겠습니다.)

덧말.
이 글을 쓰고 있는 지금 어쩐 일인지 Firefox에서 Docs & Spreadsheets 서비스가 제대로 동작을 하지 않고 있네요. 예전에는 잘 썼던 걸로 기억하는데 갑자기 안되는 걸 보면 뭔가 작업 중인 것 같기도 하고... Internet Explorer 7에서는 잘 동작하고 있네요.

Total Commander Unalz Plug-in

Unalz 0.64 버전이 적용된 새 binary를 올렸습니다. -- 2008.03.19

-----

이번 글은 Total Commander에 대해 알고 있는 분들만을 위한 것입니다. ;-)

Total Commander는 과거 DOS 시절의 M-DIR, Norton Commander 등과 유사한, 전통 있는 Windows용 파일 관리자입니다. 명성에 걸맞게 가볍고 빠르며 강력하죠. 대신 제대로 쓰려면 설정 시에 제법 잔손이 많이 가는 편입니다. 보통 강력한 무기일수록 그 조작 방법이나 설정 방법이 복잡한 것에 비유한다면 비약이 좀 심한 것일까요? :-)

아무튼 저는 회사에 Total Commander 정식 라이센스가 있기 때문에 업무에 아주 유용하게 사용하고 있습니다. 그런데, 최근에 북마크된 사이트를 둘러보다가 Unalz가 업그레이드 된 것을 알게 되었습니다. 그리하여 Total Commander의 알집(alz) 압축 파일 지원 플러그인 소스에 Unalz 최신 소스를 반영하여 새로 build 해보았습니다.

어차피 모든 소스가 공개되어 있기 때문에 누구나 build할 수 있는 것인데, 제가 쓰려고 build한 김에 이 결과물을 한번 올려봅니다.

LINK: unalz-0.61.wcx.zip

원본 소스의 출처는 다음과 같습니다.

Unalz 소스: http://www.kipple.pe.kr/win/unalz/

Unalz.wcx 소스: http://www.totalcmd.net/plugring/unalz_wcx.html

주의.
저는 이 플러그인 바이너리에 대한 어떠한 권리도 가지고 있지 않습니다. 또한 플러그인과 Unalz 소스에 대한 저작권은 각각의 저작자에게 있음을 명확히 언급하고, 제가 제공하고 있는 플러그인 바이너리를 사용하면서 발생하는 어떠한 문제에 대해서도 일체의 보장을 해드릴 수 없음을 밝혀두는 바입니다.

2007년 2월 14일 수요일

Common Lisp 공부 - Google 입사 시험 문제

지난 번에 인터넷을 돌아다니다가 우연히 넥슨 입사 시험 문제를 발견하고는 이에 대해서 Common Lisp으로 재미삼아 풀어본 적이 있는데, 이번에는 Google 입사 시험 문제를 발견해버렸습니다. 문제 난이도로 보면 오히려 넥슨의 그것보다 좀 더 쉬워보이는 것 같기는 한데, 최적화를 할 수 있는 더 놀라운 방법이 함정으로 숨어 있는 것은 아닌지 의심되기도 합니다.

아래는 문제의 내용입니다. (이 문제의 출처는 http://ddingddong.egloos.com/788716입니다.)

양의 정수 n에 대해서 1과 n 사이에 1이 나오는 횟수를 나타내는 함수를 f(n)이라고 한다. 예를 들어 f(13)=6이다. f(n)=n이 되는 첫번째 양수는 1이다. 두번째 양수는 무엇인가?

이 문제에 대해서 제가 풀어본 내용은 다음과 같습니다.
(defun get-1-count-number-list (count)
  (do ((i 1 (1+ i))
       (cnt 0)
       (total 0)
       (nlist ()))
      ((= cnt count) (reverse nlist))
    (setq total
          (+ total
             (count #\1 (write-to-string i))))
    (if (= total i)
        (progn (incf cnt)
               (push total nlist)))))

문제의 출처에 Python으로 구현한 내용이 이미 있었지만, 일부러 그것을 보지 않고 Common Lisp으로 구현해보았습니다. 다 작성한 후 결과를 비교해보니 수를 문자로 바꾼 후 '1'의 개수를 세었다는 점에서 알고리즘이 거의 동일하더군요.

실행 결과는 다음 그림과 같습니다.



문제의 조건을 만족하는 수를 5개 정도 구해봤습니다만, 결국 원래 문제에서 요구하는 답은 199981이겠지요. 아무튼 답을 구해놓고 보니 처음 잠시 동안 암산으로 어찌 해보려던 제가 얼마나 무모했는지 알 수 있었습니다. :-$

제가 작성한 함수의 실행 시간과 사용된 메모리 공간을 확인해보기 위해서 일부러 time 함수를 사용했는데, Space 부분을 보시면 그 값이 엄청납니다. 결국 호기심이 발동한 저는 1의 개수를 산술적인 방법으로 세는 다른 함수를 만들어보았습니다. 모든 부분이 동일하고 단지 주어진 수에서 1의 개수를 세는 부분만 별도의 함수로 추가한 것입니다.
(defun get-1-count (num)
  (if (< num 10)
      (if (= num 1) 1 0)
      (+ (get-1-count (truncate (/ num 10)))
         (if (= (mod num 10) 1) 1 0))))

(defun get-1-count-number-list-2 (count)
  (do ((i 1 (1+ i))
       (cnt 0)
       (total 0)
       (nlist ()))
      ((= cnt count) (reverse nlist))
    (setq total
          (+ total
             (get-1-count i)))
    (if (= total i)
        (progn (incf cnt)
               (push total nlist))))

그리고, 이 함수에 대한 실행 결과입니다.



실행 시간은 좀 더 늘었지만, Space 사용량이 확연히 줄어든 것을 확인할 수 있습니다. get-1-count 함수를 recursion이 아닌 iteration 방식으로 작성했으면 더 줄었을지도 모릅니다. 하지만 귀찮아서 그만 하렵니다. 이 부분은 여러분 몫으로 남겨두죠. ;-)

2007년 2월 11일 일요일

Google 워드프로세서 & 스프레드쉬트 한글 서비스 개시



오늘 메일 확인 차 Gmail에 로그인 했더니 화면 좌측 상단에 '워드프로세서 & 스프레드쉬트' 항목이 추가되어 있더군요. 드디어 Google Docs & Spreadsheets의 한글 서비스가 제공되기 시작한 것입니다. 영문이라고 해서 쓰는 데 크게 불편한 점은 없었지만 그래도 역시 한글로 보이는 페이지가 훨씬 친근하고 편안한 것은 부인할 수 없는 사실입니다.



Google의 서비스들이 하나 둘씩 한글화되는 모습을 보면 반가우면서도 한편으론 불안해지네요. Google이 가진 영향력이 상상도 할 수 없을 만큼 커지고 있기 때문일 겁니다. 저 역시도 이미 엄청나게 많은 부분을 Google에 의존하는 경향이 생기고 있습니다. Google의 모토인 'Don't be evil.' 정신이 언제까지고 이어질 수 있기를 바랍니다.

2007년 2월 7일 수요일

Psi - Jabber Client

여러분들은 어떤 메신저를 사용하시나요? 저는 지인들과 연락하기 위해서 주로 네이트온 메신저를 사용하고, 회사 업무용으로 MSN 메신저를 사용합니다. 그리고, Google 계정을 위해서 Google Talk를 사용하죠. 그리고, 기타 관심 메신저로 Jabber client인 Psi를 사용합니다. 이래저래 메신저만으로도 시스템 자원 꽤 소모하고 있는 셈이죠.

사실 MSN 메신저는요즘 잘 사용하지 않고 있습니다. 대신 제가 가입한 Jabber server에서 지원하는 MSN Transport Service를 활용해서 MSN Network에 로그인하는 방법을 사용합니다. ICQ Network도 마찬가지 방법으로 사용하고 있구요.

이 메신저들 중에서 오늘은 Jabber client인 Psi에 대한 이야기를 간단히 해보려고 합니다. 만약 Jabber가 무엇인지 아직 모르신다면 여기 위키백과 내용을 참고 해주세요. 안타깝게도 아직 한글로 잘 설명된 페이지는 눈에 띄지 않는군요. 국내에서는 상업용 메신저들에 가려 Jabber가 그다지 활성화 되지 못한 탓일 겁니다.

저는 처음 Jabber가 사람들의 관심 거리로 막 부상하기 시작할 때부터 사용해왔으니 Jabber를 알고 Jabber와 함께 지내온 지 꽤 되는 것 같습니다.(정확히 언제인지 기억해내는 일이 귀찮다는 생각이 문득 들어서 그냥 얼버무리는 것이죠. 사실 별로 중요한 문제도 아니구요.) 하지만 아이러니하게도 제 Jabber ID에 등록된 친구는 5 명을 넘은 적이 단 한번도 없습니다. :-$

아무튼 처음 막 Jabber를 사용하기 시작할 때는 client 프로그램으로 JAJC(Just Another Jabber Client)를 사용했습니다. 그 이후로도 꽤 오랫동안 사용했죠. 개발자가 러시아 사람이었던 것으로 기억하는데, 작년(2006년) 상반기가 지날 무렵부터 업데이트가 뜸하더니 결국 지금은 사이트 마저도 사라져버렸습니다. 개인적으로 가장 좋아한 Jabber client였는데 말이죠. :-(

어쩔 수 없이 대안을 찾아 이리저리 뒤진 결과 가장 유력한 후보로 두 가지가 추려졌는데, 하나는 Psi이고 다른 하나는 Exodus였습니다.

일단 Exodus가 꽤 많은 기능을 지원하는 것 같기는 했는데, 이것 역시 꽤 긴 시간동안 업데이트가 없는 것처럼 보여서 어쩐지 불안한(?) 느낌이 들더군요. 인터페이스도 딱딱한 편이었습니다.

(이 스크린샷의 출처는 http://exodus.jabberstudio.org/shots.html입니다.)

Psi는 Google Talk Network에 로그인할 수 있는 Jabber client로 Google Talk 홈페이지에서도 소개가 되고 있더군요. 안정 버전으로 0.10 버전이 출시된 이후 상당히 긴 시간동안 개발 버전만 진행되고 있는데, 다음 안정 버전이 언제 나올지는 알 수가 없습니다. 그냥 개발 버전의 nightly build binary를 받아서 사용해도 큰 문제 없이 잘 작동하는 것 같더군요.




(이 스크린샷의 출처는 http://psi.affinix.com/screenshots입니다.)

Psi의 장점은 깔끔하면서도 화려한 인터페이스와 Exodus에 비해 결코 뒤떨어지지 않는 기능들입니다. 아쉬우나마 자체 파일 전송 기능도 있습니다. 또한 QT 기반으로 개발되었기 때문에 Windows 환경 뿐 아니라, Linux, MacOS 등에서도 사용할 수 있다는 점이 큰 매력 포인트입니다.

이러한 장점들을 고려해서 결국 Psi를 JAJC 대신 사용하기로 결정을 했습니다. Psi가 다중 계정을 지원해주기 때문에 Google Apps 용 계정 하나와 MyJabber.net 계정 하나를 동시에 설정하고 문제 없이 잘 동작하는 것을 확인할 수 있었습니다.

Psi의 공식 홈페이지는 다음과 같습니다.

LINK: http://psi.affinix.com/


그러면 Google Talk와 Psi를 비교해보면?! (비교표 같은 것을 만들면 훨씬 보기 좋겠지만, 귀차니즘의 발동으로 그냥 대강 글로 쓰고 말렵니다.)

  • 매우 당연한 이야기지만, Google Talk(이하 GT)은 Google Account만 지원하고 Psi는 Jabber 호환 network이라면 어디든 지원합니다. 고로 Google Talk Network에도 로그인 할 수 있습니다.
  • GT는 아직까지 단일 계정만 지원하지만, Psi는 복수의 계정을 지원합니다. Jabber server가 transport service를 지원해줄 경우 이종 메신저 network에도 로그인할 수 있습니다. MSN, 네이트온, AIM, ICQ 등등.. 심지어 복수의 Google 계정도 동시 로그인됩니다.
  • GT는 현재 Windows 용 client만 있고, Psi는 Windows를 포함해서 Linux, MacOS 등도 지원하고 있습니다.
  • 인터페이스는 GT가 Google스런 디자인으로 좀 더 단순하면서 깔끔합니다. Psi의 경우 Exodus에 비해서는 화려하고 깔끔하지만, GT에 비해선 조금 조잡한 느낌이 듭니다. 특히 대화창에서..
  • GT는 VoIP를 이용한 음성 대화 및 음성 메시지 기능을 지원하고 있지만, Psi는 아직 비슷한 기능이 없습니다.
  • GT는 다자간의 대화를 아직 지원하지 않고 있습니다. Psi의 경우는 Jabber server가 지원해준다면 Conference Room이란 다자간 채팅방을 만들 수 있습니다.

종합해보면, Open Instant Messaging Network을 지향하는 Jabber client로서 Psi가 기능적인 면에서 훨씬 다양하고 강력합니다. 그리고, Google Talk는 좀 더 깔끔한 인터페이스를 가지고 있고 Google만의 전용 서비스를 사용할 수 있다는 점에서 나름의 매력이 있다고 할 수 있겠습니다.

2007년 2월 4일 일요일

DeSmuME - Nintendo DS Emulator


(이 영상의 출처는 http://www.desmume.com/screenshots.htm 입니다.)

TV 광고를 통해서나 주변 사람들을 통해서 Nintendo DS(이하 NDS)에 대한 이야기를 자주 접하게 됩니다. 요즘 유행하는 뇌 훈련 및 뇌 나이 측정 게임 때문일 겁니다. 그 게임의 정식 명칭이 Professor Kawashima's Brain Training - How Old is Your Brain이었던 걸로 기억하는데 간단히 'Brain Age'라는 타이틀로 자주 소개되곤 하는 것 같습니다.

어쨌거나 이런 유행에 힘입어(?) 관련 자료들을 이리저리 찾아다니다가 발견한 것이 바로 DeSmuME(NDS Emulator)입니다.(사실은 PC나 PDA에서 즐길 수 있는 뇌 훈련 게임을 찾고 있었던 것이었지만)

DeSmuME는 현재까지 만들어진 NDS Emulator들 중에선 가장 높은 점수를 받은 것이라고 하는데, 아직까지 완전하게 구동할 수 있는 ROM이 그다지 많지는 않은 것 같습니다. 출시된 지 오래된 게임들의 ROM은 그럭저럭 구동해주는 것 같더군요.(참고로 현재 최신인 0.5 버전 -> 0.6 버전에서 Brain Age는 구동할 수 없습니다. 시간이 좀 더 지나면 가능해지겠지요.) 또한 최적화가 부족해서인지는 모르겠지만, 꽤 느립니다.

공식 홈페이지는 다음과 같습니다.

LINK: http://desmume.sourceforge.net/

이 emulator는 Source Forge에 등록되어 있는 오픈 소스 프로젝트입니다.

덧말.
NDS ROM과 관련된 정보를 공유하는 사이트도 있습니다. 이 사이트는 NDS emulator를 위한 것이라기보다는 NDS 보유자를 위한 것이란 느낌이 강하게 들었습니다. 그리고, 당나귀 URL만 제공되더군요. 정보는 있으니 알아서 구하란 말인 것 같네요. ;-)

LINK: http://www.nintendo-ds-roms.com/