버드님의 "MSN bot으로 빌드하기" 포스트를 보고 감동받은 바가 있어, 몇일동안 조사를 좀 해보았습니다. python은 까막눈이어서 PERL버전으로 말이죠.

여기저기를 뒤져본 결과 세 개의 오픈소스 프로젝트가 나오더군요.

1) Net::Msmgr (CPAN)
  • 버전 0.16이고, 2003년을 끝으로 더이상 maintain되고있지 않습니다.
  • MSNP8을 구현하고는 있는데 완전하지가 않네요. 로그인 안됩니다.
2) POE::Component::Client::MSN (CPAN)
  • 버전은 0.03밖에 안되지만 POE라는 훌륭한 이벤트처리용 애플리케이션 프레임웤에 기반하고 있어서 많은 공부가 되었습니다. 방대한 POE 모듈을 설치해야하지만, 꼭 돌려보시기를 권유드립니다.
  • 다만, 모듈화된 부분과 작성해주어야하는 부분 사이의 역할구분이 다소 애매하긴 하더군요. 동작가능한 샘플스크립트도 같이 있는데, 좀 깁니다.
  • MSNP9를 구현하고 있는데, NOT 메시지를 처리해주는 로직만 약간 추가해주면 잘 돌아갑니다.
  • 샘플스크립트가 아주 예쁩니다. curses 라이브러리를 이용해서 칼라가 번쩍번쩍
3) MSN.pm (http://bot-depot.com)
  • CPAN에 등록된 모듈이 아니어서 찾는데 조금 애먹었지만, 완성도는 셋중에서 가장 높습니다.
  • MSNP11도 지원하며, 2006년 4월에 나온 버전 2.1.2가 마지막입니다. 2008년 1월 현재 신버전 업데이트를 진행중이라고 하니, 2월중에는 MSNP8부터 MSNP11까지를 모두 지원하는 버전이 공개될 것 같습니다.
  • 다른 라이브러리에 대한 의존성이 약해서 설치가 간단하며, 첨부된 샘플 역시 수정 없이 잘 동작합니다.
  • MSNP11을 지원하므로 rath님이나 깜쏘님처럼 돈안들이고 MO(Mobile Oriented - 휴대폰에서 보낸 SMS를 휴대폰이 아닌 다른 시스템에서 받는 형태의 서비스) 서비스를 만들 수 있습니다. 휴대폰 연동을 해놓은 경우 IPG 메시지가 날아오더군요.
MSN 프로토콜에 관심있으신 분들은 MSNPiki 페이지를 참조하시면 많은 도움을 받으실 수 있습니다. 많은 분들이 보시는 hypothetic보다 내용도 더 풍부하고 정리도 깔끔합니다.

문제는 이 봇을 갖고 무얼 하느냐인데, 그건 따로 한번 포스팅하겠습니다. 지금 당장 생각나는 건 다들 너무 원초적인 것들 뿐이라... :-)

Trackback Address :: http://hkjinlee.tistory.com/trackback/56


텍스트큐브로 팀블로그를 운영하는 경우, 팀블로그 외에도 다른 rss소스들 - TRAC 등 외부시스템이 만들어내는 - 을 팀블로그 내에 같이 보여주고 싶은 경우가 많습니다. 괜찮은 플러그인이 없나 찾아보다가, peris님이 만드신 SB_RSSNews 플러그인을 골랐습니다.

(별도의 관리 필요없이 텍스트큐브의 관리화면에서 등록하는 RSS feed를 보여줄 수 있어서 제일 깔끔하더군요. 좋은 플러그인 만들어주신 peris님 감사합니다. 꾸벅)

헌데 이 플러그인(버전 1.1.1)이 http://server.com/rss.xml과 같은 형태의 URL은 잘 처리하는데, http://server.com/rss.php?id=somebody와 같이 Query가 포함되는 URL의 경우는 제대로 처리를 못해주는 아쉬움이 있습니다.

이럴땐 다음과 같이 plugins/SB_RSSNews/index.php를 살짝 고쳐주시면 됩니다.
(HTMLify하기가 귀찮아서 스샷으로 올리니 부디 양해를..)

성형전:
사용자 삽입 이미지

성형후:
사용자 삽입 이미지

어때요. 참 쉽죠? :-)
사용자 삽입 이미지

Trackback Address :: http://hkjinlee.tistory.com/trackback/55


집에서 사용하고있는 ss5 SOCKS5 프록시 서버가 PERL의 Net::SOCKS 모듈과 호환되지 않는 문제가 발견되어 태어나서 처음으로 CPAN에 버그리포팅을 했습니다. 과연 이게 말이 되는 영어인지 많이 고민했습니다만, 뭐 마지막 부분에 소스 변경내용까지 넣어뒀으니 어떻게든 되겠죠. (오히려, Net::SOCKS가 활발하게 maintain되지 않는 모듈인게 문제인듯합니다)

리포팅한 버그: http://rt.cpan.org/Public/Bug/Display.html?id=32492

이 문제를 알아내느라 SOCKS5 RFC도 다 읽고 Wireshark로 패킷도 다 떠봤는데, SOCKS 프로토콜... 조금 원시적이라는 느낌은 들지만 생각보다 깔끔하더군요. 맨 처음 negotiation하는 부분만 끝나고나면 client는 이게 proxy를 거쳐서 서버로 가는 소켓인지 서버에 직접 연결된 소켓인지 전혀 신경을 쓰지 않아도 되는 구조입니다. 의외로 다른 프로토콜에 붙이기 어렵지 않을 것 같네요.

Trackback Address :: http://hkjinlee.tistory.com/trackback/54


사용자 삽입 이미지

올해 초에 큰마음 먹고 노키아의 인터넷 태블릿 N810을 구입했습니다. 마침 지인의 가족분이 미국에서 들어오신다기에, $436 주고 냉큼 배송시켜왔습니다. (안M님, 다시한번 이자리를 빌어 감사드립니다. 약속했던대로 밥살께요 꾸벅) 드디어 오늘 제 손에 들어왔기에 기념 포스팅합니다.

누구였는지는 기억나지 않는데, "PDA의 시체(ashes) 속에서 태어난 불사조(phoenix)"라는 표현이 딱 들어맞는 기기여서 심히 마음이 동하더군요.

대략 다음과 같은 기본하드웨어를 갖는 기기입니다. (웬만한 PDA보다 스펙 괜찮죠?)
  • CPU: Texas Instuments OMAP 400MHz
  • 메모리: DDR램 128MB + 플래쉬메모리 256MB
  • 화면: 800*480 4.13" Transflective LCD. 터치스크린.
  • 스토리지: 2GB 내장
  • 외장메모리: SDHC 미니/마이크로SD 장착가능
  • 웹캠: 640*480. 화질은 뭐 별로네요.
  • 키보드: 보시다시피, QWERTY 키보드. 어두운데서는 불들어옵니다. 아주 이뻐요~
  • GPS: 칩셋은 TI에서 만드는 싸구려 GPS5300입니다만, 블루투스 GPS를 연결할 수 있으니 참을만 합니다.
  • 마이크 및 스피커 내장

아무래도 인터넷 태블릿인만큼, connectivity가 중요한데, 다음을 지원합니다.

  • Wifi: 802.11b와 802.11g 모두 지원 (뭐 요새는 기본인 듯)
  • Bluetooth: 2.0 EDR 지원. A2DP는 지원 안하는 듯하네요. 블루투스 지원되는 핸드폰과 pair시켜서 데이터통신 할 수 있습니다.

그리고 다음과 같은 애플리케이션이 기본제공됩니다.

  • 웹브라우저: 아주 마음에 듭니다. 요새 iphone과 Android에 탑재된 Webkit 기반은 아니고 모질라 Gecko엔진 기반인데, AJAX를 제대로 지원하고 Flash9을 지원해서 아주 쾌적한 웹브라우징 환경을 제공합니다. Google Office와 youtube 등을 사용하는데 전혀 문제가 없습니다. 요 밑에 티스토리 글쓰기화면 첨부해서 올립니다.
    웹브라우저
     
  • RSS리더: RSS1.0과 2.0, ATOM을 지원한다고 합니다. 제가 구독하는 feed가 많아서그런지(한 100개 됩니다) 생각보다 feed 읽어오는데 시간이 꽤 걸리더군요. 쓰던대로 bloglines 쓰는게 낫지 싶습니다.
  • 이밖에, IM, 메일리더, 미디어 플레이어와 지도 애플리케이션이 제공됩니다만, 아직 안써봤습니다.

이 장비의 핵심은 OS인데, 노키아가 만들어서 공개한 maemo라는 커널 2.6 기반의 리눅스를 사용하고 있습니다. 그래서 멀티태스킹이 자연스럽게 이루어질 뿐 아니라, 리눅스 기반의 application들이 손쉽게 포팅이 가능하죠. 아직 많은 애플리케이션들을 깔아보지는 않았습니다만, 다음과 같은 애플리케이션이 눈에 띄더군요.

  • Pidgin: MSN, AIM, XMPP(Google Talk)와 호환되는 IM이죠. 네이트온 플러그인도 있는 것으로 압니다. proxy도 지원합니다.
  • VNCViewer: 다 아시는 VNC 클라이언트. 쓸만합니다.
  • OpenVNC: 요새 회사 개발서버 접속용 VPN으로 쓰고 있습니다. N810 위에도 설치는 했는데, 아직 돌려보지는 못했네요.
  • Garnet VM: 아는 분들은 아시는 PalmOS 5.0 Garnet의 에뮬레이터입니다. 아직은 대충 돌아가는 수준인 듯한데, 이게 원활하게 돌아가면 드디어 Palm을 처분하고 N810으로 옮겨가는 때가 오겠죠.
제가 이 기기를 구입한 이유는, instant on을 지원하는 휴대용 웹브라우징 기기가 필요했기 때문입니다. 노트북은 아무리 SSD 끼워넣고 낑낑대봐야 전원켜고 실제 웹브라우징에 들어가기까지 1분은 걸리고, 그동안 애지중지했던 Palm은 나이먹을대로 먹어버린 OS의 압박 때문에 뭔가 애플리케이션을 만들려면 심하게 구린 API에 익숙해져야하는 문제가 있고... 그러다가 PERL과 python, (제한적이지만) java까지 지원하는 이 기기를 만나니 심봉사가 눈 번쩍 뜨는 기분이더군요.

이 기기는 사실 ipod touch의 직접적인 경쟁자입니다. mp3 플레이어와 '인터넷 태블릿'으로 서로 다른 포지션을 잡았습니다만, 풀브라우저 지원, 멀티미디어 지원, connectivity의 지원, 리눅스 혹은 freebsd 기반의 OS에 기반한 안정적인 멀티태스킹 등 사실 두 기기는 다른 점보다 닮은 점이 더 많지요. (이런 기기를 이통사가 아니라 제조사가 만들어낸다는건, 향후 유비쿼터스 커넥티비티 시장의 주도권을 누가 가져갈 것인가에 대해 시사하는바가 많습니다)

시간이 늦은 관계로, 사진 몇 장 첨부하고 포스팅 마무리합니다. 몇번의 시리즈로 리뷰를 연재할 계획이니 궁금하신 점은 코멘트 달아주시면 다음 포스팅에 반영하겠습니다. :-)

사용자 삽입 이미지

CD와의 크기 비교


사용자 삽입 이미지

세워둘 수도 있습니다. :-)


사용자 삽입 이미지

Palm TX와 비교할때 크기는 비슷한데, 해상도는 480*320과 800*480으로 차이가 많이 납니다

Trackback Address :: http://hkjinlee.tistory.com/trackback/53

  1. Tracked from 퓨처워커들의 u-Platform 이야기 2008/01/28 21:54 삭제

    Subject: 노키아는 트롤테크를 인수하는데 우리는?

    오늘 재미있는 기사를 발견했다. 바로 노키아의 트롤테크 인수에 대한 내용이다. 노키아야 설명이 필요없는 회사이고, 트롤테크는 임베디드 업계에서는 GUI 솔루션으로 이미 유명한 회사이다. 그들의 Qt 라이브러리는 리눅스에서 많이 사용되고 있는 KDE Desktop의 핵심 라이브러이고 또한 Qt Embedded는 임베디드 리눅스에서 가장 많이 사용되고 있는 GUI Library이다. 이들의 S/W 제품의 Dual license 모델은 내가 알기로는 오픈..
  2. Tracked from 미니의 American Life 2008/08/08 03:21 삭제

    Subject: 노키아의 인터넷 타블렛, N810 인터넷 타블렛

    저를 개인적으로 아시는 분들은 잘 아시겠지만, 제가 워낙에 온갖 종류의 가젯(Gadget)들에 관심이 많습니다.한국에서는 사고팔고를 참 많이 했는데, 미국에 온 다음에는 아직 사고는 있습니다만 eBay Selling의 두려움으로 팔기를 잘 못하는 바람에 사는 것도 훨씬 신중해지고 있지요.그 와중에도 지름은 계속되어서 몇가지의 기기들을 장만했는데요, 그 중 가장 만족도가 높았던 제품인 노키아(Nokia)의 N810 Internet Tablet 이라는...
  1. 지호 2008/01/30 21:01 댓글주소 | 수정 | 삭제 | 댓글

    안녕하세요 N810에 관심이 많아서 이곳까지 왔네요^^
    이미 써보신분으로써 N810은 일단 리눅스 기반이라 한글화가 쉽게 이루어 지는지요? 예전기억으로는 리눅스로는 랜카드 잡기도 힘들어서...한글화를 했을때 키패드로도 한글입력이 원활하게 되는지도 알고싶습니다.

    그럼 추운데 감기 조심하시고, N810 리뷰 2탄을 기대해봅니다^_______________________^

    • BlogIcon 진이헌규 2008/02/10 13:23 댓글주소 | 수정 | 삭제

      지호님 안녕하세요, N810의 경우 PC처럼 아무 하드웨어나 끼울 수 있는 구조가 아니기 때문에(심지어 USB도 없어요!!) 랜카드 잡는 것처럼 어려운 부분은 없었습니다.

      다만 블루투스 A2DP 지원이라든지 몇몇 부분에서 직접 N810의 기본 소프트웨어 설정을 손봐줘야 하는 경우는 있는것 같더군요.

      한글입력에 관해서는 별도 포스팅하였습니다. ^^

  2. 영준 2008/02/01 13:39 댓글주소 | 수정 | 삭제 | 댓글

    안녕하세요 저도 n810 에 관심이 많은 사람입니다 ~
    구입에 도움을 많이 주셨습니다 감사합니다 ..

    저도 한글화에 약간 걱정이 돼는군요 .. 혹시 한글ime 를 깔거나 그렇게 해야하는건가요 ?


이 글은 hkjinlee님의 2008년 1월 10일의 미투데이 내용입니다.

Trackback Address :: http://hkjinlee.tistory.com/trackback/52