한글 PuTTY 0.57 릴리스

exman님의 결혼을 축하드리는 기념으로 한글 PuTTY 0.57을 방금 릴리스 했습니다. -O-;

작년 10월쯤에 발표된 PuTTY 보안 버그패치도 적용하지 않고 있었는데, 2월에 또 하나 더 나와서 좀 더 버티기는 무리라고 생각하고.. 흐흐; 이번에 겉으로는 이런 것들이 바뀌었습니다.

  • IPv6 지원이 들어갔습니다.
  • 포워딩 같은 용도로 사용하기 위해 셸이나 명령어 실행 안하기 모드가 추가되었습니다.
  • 여러개의 SSH관련 보안 버그가 수정되었습니다.
  • 접속이 끊긴 창에서 새 창을 안 띄우고 그자리에서 다시 접속할 수 있게 되었습니다.
  • SOCKS 5 프락시를 위한 CHAP인증 기능이 추가되었습니다.
  • X포워딩과 리모트 포트 포워딩에 관련된 여러가지 버그들이 수정되었습니다.

늘 그랬듯이 이번에 외부적으로 크게 변한 것은 없는 반면에, 내부적으로 소스 코드에서는 상당히 많이 바뀌었는데, 특히 그동안 주 코드에 붙어 있었던 win32 지원 코드가 모두 windows/ 하위 디렉토리로 내려가는 바람에 이제 소스 레이아웃에서도 멀티 플랫폼의 냄새가 납니다. 🙂 그리고, 터미널 제어 코드들이 성능을 위해서 여기저기 많이 고쳐놔서, 성능이 나쁜 컴퓨터에서도 스크롤 속도가 그다지 느리지 않을 듯 합니다. 덕분에 기존에는 대충 근처만 invalidate하면 새로 그려져서 커서 패치가 쉬웠는데, 이번엔 정확하게 커서 위치를 맞춰서 그려야 제대로 그려지는 바람에, 한 이틀밤을 디버거 들고 씨름했네요.. 흐흐;; (바보~) ㅠ.ㅠ

특히 작년 초부터 시작된 PuTTY의 전역변수 제거 작업은 이제 어느 정도 단계까지 진행되어서, 터미널과 접속 관련된 대부분의 변수가 전역변수에서 벗어났고, 설정과 관련된 일부 변수들만 전역으로 남아있어서, SDI 인터페이스로 감싼다던지 하는 것도 쉽게 될 것처럼 보입니다.

그럼, PuTTY와 함께 즐거운 작업~ (;;)

py-freebsd, pyrex로 이사~

파이썬을 위한 FreeBSD 플랫폼 라이브러리/커널 인터페이스 바인딩인 py-freebsd을 그동안 버려두고 있었다가, 최근에 쓰겠다는 사람이 나타나서 좀 버전업을 해 볼까 해 보고 있습니다. 흐흐 (그동안은 쓰는 사람이 없어서 –;) 몇 년전까지만 해도 별로 신경을 안 썼던 퇴행 검사(regression test) 코드들을 요새는 뭔가 새로 추가하거나 변경만 하면 넣는 분위기가 되어서, 몇몇 개발자들이 인터페이스 테스트 코드를 작성하기는 해야하는데, C로 일일이 스크립팅하려니 귀찮기가 짝이 없어서 파이썬으로 작성할까 생각해보고 있다고 합니다. 🙂

py-freebsd는 원래 완전 쌩노가다 코드로 직접 다 작성되어 있었는데, 제공하는 함수가 30개를 넘고, 상수 200개 정도에 이제 업그레이드하면서 cd(4)나 cam(4)같은 것들을 C 확장 타입으로 만들려고 하니까 이런 중복 작업으로 점철된 노가다 작업에 회의감이 느껴져서 친도가 안 나갔었습니다. 그 뒤로 벌써 거의 3년이 지났는데, 예전에 사람들이 좋다고 칭찬하던 pyrex가 생각나서, “그래 한번 도전해 보는거야!”

우선, py-freebsd에서 가장 간단한 함수인 getosreldate(3)를 해 봤는데. 오우. 단 몇 줄에 되는군요! (다른 데서 봤지만 직접 해보니 새로운 감동이;;;;)

흐흐 물론 SWIG에 비하면 복잡한 방법이기는 하지만, 별도의 파이썬측 모듈을 만들지 않고도 섬세한 리턴값 제어나 입력값 가공이 가능하다는 점은 아주 감동적이라, 아직까지 pyrex로 안 바꾼 것이 참 후회가 되는군요 흐흐.. 그래서 py-freebsd에서 제공하고 있는 대부분의 함수들을 순조롭게 pyrex용으로 바꾸어서 거의 원래 노력형(;;) C 소스에 비해 20%정도의 양으로 줄어버렸습니다~ 🙂

pyrex가 실제 활용하고 있는 사람들에게서 피드백을 많이 받아서 진짜로 필요한 것에 대한 대처가 많은지 의외로 뭔가 하려고 딱 마음을 먹었을 때 막히는 게 없었는데, 꼽아보자면 이런 것들이 있었습니다.

  • C스타일 include가 제공된다: 사실 별 것은 아니지만.. 아무래도 FreeBSD C 라이브러리는 네임스페이스가 그냥 평면 구조이기 때문에, 모듈 안에 여러 단계를 나누기가 애매해서, 하나의 C 모듈 안에 모두 들어가는 것이 좋았는데, C 스타일 include를 제공해 줘서, 소스 길이를 적당히 유지하면서도 대형 모듈을 만들 수 있었습니다.
  • 트릭이 매뉴얼에 언급이 돼 있다;; 예를 들면 플랫폼에 따라서 크기가 일정하지 않은 자료형으로 되어있는 정수형 매크로를 다루기 위해서, cdef extern int를 from header 블럭 안에 써버리면, 사실 타입은 신경 안 쓰기 때문에, 별 문제 없이 넘어간다는 팁 같은 것이 아예 매뉴얼에 써 있어서, pyrex에서 제공해 주는 것만으로는 해결하기가 쉽지 않은 상황들을 어렵지 않게 편법을 이용해서 빠져나갈 수 있었습니다;; py-freebsd에서도 함수로 cdef extern해놓고서는 중간에 C 헤더 파일을 하나 include 해버려서 거기서 매크로로 선언하는 트릭을 하나.. 🙂
  • 사소한 난감함에 대한 배려: FreeBSD의 statfs시스템콜은 struct statfs를 사용하기도 하고, 구현해야하는 파이썬측 함수 이름도 statfs이다보니, 삼중으로 네임 스페이스가 충돌하는데, 이런 경우에 대한 대처가 되어 있었고, 음청나게 많은 enum같은 다른 부분에서도 뭔가 난감하다 싶으면 어렵지 않게 문서에서 해결책을 찾을 수가 있었습니다.
  • 널널하고 친숙한 문법: C 문법과 파이썬 문법을 절묘하게 섞어놔서, 매뉴얼을 안 보고도 대충 이렇게 쓰면 되겠지 하고 쓰면 다 되는게 참 신기할 정도로 잘 만들어 뒀군요. 🙂

한편, py-freebsd의 고유 특징인 것 같기도 하지만, 다른 곳에서도 쓰일 법한 것들인데 고려가 되지 않아서 불편한 것도 제법 있었습니다.

  • 그때 그때 다른 struct 멤버: OS 버전이 올라가면서 빠진 멤버나 버전이 올라가면서 생긴 멤버 같은 것들을 처리해 주기 위해서 C에서의 전처리자로 뽑아주는 것이 뭔가 필요한데, 이런 것을 하기 위한 방법이 딱히 없어서, setup.py에서 struct 정의를 한번 훑어서 그 결과를 pyrex에서 include하는 방식으로 일단은 해결했습니다. –;
  • 엄청나게 많은 상수를 간단하게 정의하기: 커널 API 함수들이다 보니, 특성상 정수형 상수가 엄청나게 많은데, 이런 것도 또 OS 버전에 따라 있기도 하고 없기도 하고, 게다가 그냥 정의하기에는 상수 1개를 정의하기 위해서 3줄씩 써줘야 하기 때문에, 상수 목록을 만들기도 힘들고 관리하기도 힘든 단점이 있어서, 이것도 결국은 간단하게 함수 호출하는 형식으로 pyrex 소스에 적어두면 setup.py에서 컴파일 전에 소스를 스캔해서, 실제 헤더 파일에 있는지 확인해서 있는 것만 cdef extern을 별도의 파일에 넣어서 include하는 방법으로 해결했습니다.. 아주 찝찝하네요 흐~;;
  • 워닝이 너무 많아~: 어차피 generate한 소스이니까 워닝이 좀 나더라도 크게 문제가 되는 것은 없지만.. 그래도 워닝이 너무 많이 나서 참 컴파일하고 있기가 불안하다는 문제는 존재합니다. –;;;;;

몇가지 사소한 난점은 있긴 했지만, 그래도 전반적으로 바꾸고 보니 유지보수도 쉬울 것 같고, 앞으로 새로운 기능을 추가하는 것도 재미있을 것 같아서 굉장히 보람이 있습니다. 🙂 pyrex 좋아!

《이머전스》

이머전스 표지
서점에서 표지를 봤을 때 어디선가 들어본 것 같으면서도 생소한 제목은 알고보니 노스모크에서 많이 들었던 그 “창발성“의 영어 표현이었군요. 🙂 표지 뒷면에 나와있는 서평 발췌문들에서 느껴지는 포스에서 뭔가 무척 호기심이 갔습니다. 크흐;

먹이가 풍부할 때는 따로따로 떨어져서 살다가, 먹이가 부족하면 누가 대장이랄 것 없이 모여서 한 덩이가 되는 진균의 얘기로부터 시작하는 이야기는, 별 지휘력이 없는 여왕개미와는 별개로 개미개체간의 페로몬을 이용한 피드백으로 마치 전체가 한 개체인 것처럼, 늙어가기도 하고 행위를 결정하기도 하는 개미 사회, 영원한 모더레이터가 존재하지 않으면서 분권적인 모더레이터 시스템을 이용해서 유지되는 슬래시닷 등을 통해 뭔가 세계적인 흐름에 대한 설명으로 엮어집니다. 피드백, 사회적 개체들의 자기조직화 같은 것들은 그동안 띄엄띄엄 여러 사건들에서 막연하게 느끼기는 했지만, 《이머전스》에서 이렇게 묶어놓으니, 정말로 완전히 환원적으로 봐서는 알기가 힘든 거시적인 창발성의 힘을 어렴풋이나마 이해할 수 있었습니다.

특히, 책에서 예로 들고 있는, 심시티, 심즈 시리즈나 라이프게임 같은 것들은 각각의 개체들은 비교적 단순한 규칙에 따라 동작하지만, 개체간의 피드백을 통해서 조직화가 되기 시작하고, 결국은 뭔가 그럴듯한 것이 나온다는 것을 보면, 1개의 세포가 분열해서 인체가 이루어지는 것이라든지, 증권 시장에서 자주 보이는 별 이유없이 우루루 마구 오르다가, 다시 우루루 내려가기도 하고 그러는 것들도 뭔가 맥이 통한다는 감이 옵니다.

《이머전스》는 그 전에도 이런 분석이 많이 있었는지는 자세히는 모르겠지만, 생물학, 도시의 흥망, 신경망, 소프트웨어 등에 대한 따로따로 지식을 하나로 묶어서 하나의 흐름으로 만들어 준다는 점에서, 작가의 굉장한 통찰력은 놀랄만 합니다. 앞으로 저도 생활 습관이나 UI 디자인, 코드 동작 등의 여러 부분에서 피드백으로 창발성을 만들어 내 보겠다는 생각이 들었는데.. 이게 며칠 생각해 봐도 잘 생각이 안 납니다. 기회가 되면 꼭 써봐야겠네요. 크흐;

흐흐.. 번역도 잘 돼 있는 편이니, 꼭 보시라고 추천 꾹~.
으음 그런데, 역시 흩어져 있는 지식을 모아서 흐름으로 만들기로는 빠질 수 없는 매트 리들리의 《붉은여왕》이나 《본성과 양육》이 빨간색 책 표지인데, 이 책도 빨간색인 것을 보면…. (… 괜한데서 패턴을 찾으려는 노력을;;)

뽀샤시 NetBSD 컵

NetBSD Cup

dakiller6님께서 BSDForum에서 제작하신 컵을 하나 선물 받았습니다. 예쁘네요. ^^ 아주 튼튼해서 한번은 떨어뜨려도 안 깨질 것 같은 데 엄청난 포장에 쌓여서 와서 놀랐습니다. 감사합니다. 🙂

전~~에 FreeBSD Mall에서 샀던 FreeBSD 스테인리스 머그컵은 이제 설거지하다가 다 벗겨져서 원래 FreeBSD 컵인지도 모르게 돼 버렸는데, FreeBSD 새 로고가 나오면 새로운 컵을 하나~~ (-O-)

CodeFest Asia 2005

3월 2일부터 3일까지 베이징의 하이댠구 종관춘(海淀? 中?村)에 있는 ?家?用?件?品?量?督??中心 (국가…센터 — 아는 글자가;;)에서 열린 CodeFest Asia 2005에 참가했습니다. 원래 묵고 있었던 신세기반점에서 대략 30분 거리라고 하기는 했는데.. 길이 막히고 하니까 거의 직선으로만 쭈우욱 가는데도 실제로 걸린 시간은 40~50분정도 되는군요. 베이징이 얼마나 넓은지 이렇게 멀리 갔는데도 지도에서는 그냥 서쪽 구석에서 왔다갔다 한 것 밖에 안 되네요;;

국가..센터가 있는 종관춘(중관춘인가?) 근처까지 가는 길은 그냥 우리나라 보통 시가지나 별로 다를 것이 없는데, 본격적으로 접어들면서 슬슬 대전시 유성구 분위기로 바뀌더니 소프트웨어센터 근처는 완전 건물이 띄엄띄엄 있는게 거의 ETRI 근처를 방불케하는군요.. ㅎㅎ;; 사람도 안 다니고 택시도 안 다니고 -ㅇ-; 근데 역시 녹지가 유성에 비해서 좀 적어서 경치는 좀 별로이고 공기도 별로 안 좋기는 했습니다. 건물은 우주선 닮은게 많아서 멋있군요;;


코드페스트하는 방 © Anthony Wong

코드페스트는 우리나라에서와는 달리 아주 좁은 컴퓨터실 1개와 회의실 1개를 사용했는데, 주 행사는 모두 컴퓨터실에서 하고, 회의실은 휴게실로 사용했습니다. 컴퓨터실에는 미리 PC에 리눅스를 모두 깔아 두었는데, root비밀번호가 123456이라고 일러주더군요. 흐흐 역시 전세계 공통 비밀번호는 123456! -o-; 행사를 진행하던 앤써니가 영어, 중국어, 일본어로는 123456을 읽어줬는데 한국어로는 안 읽어준 것을 보면 한국어 숫자세기는 별로 안 유명한가봅니다. 한국어로 숫자세는 방법을 어디 홈페이지에 올리던지 해야지.. 흐~;;


초반이라 다들 열심히 코딩 중 © Anthony Wong

참가한 사람들은 아무래도 중국에서 하다보니 CJK만 참가를 했는데, 일본에서 거의 10명 넘게 왔고, 대만에서도 5~6명 정도 참가를 한 것 같습니다. 원래는 주최측에서는 몇가지 주제로 나눠서 작업을 진행할 생각이었나본데, 자기소개하는 시간에 다들 자기 하고 싶은 걸 얘기하는 바람에 결국은 거의 다 따로따로 자기 일을 하는 식이 돼버렸습니다. UIM 개발자나 Emacs에서 입력기를 개발하는 개발자, 데비안 중국어 문서 번역 프로젝트, CJK 유니한 폰트 개발자 등 많은 수가 국제화에 관련된 작업을 했지만, 리눅스 커널 포팅이나 udev쪽 작업 같은 일반적인 주제도 있었습니다.


g니베씨가 포팅하는 머신과 그 옆의 과자들~ 🙂 © Anthony Wong

흐흐 역시 코드페스트 하면 빠질 수 없는게 간식과 식사! 간식은 제크랑 비슷한 Ritz인데, 대형할인매장용같은 5개들이 포장으로 2명에 1개씩 주더군요~ 그리고 음료수도 500ml PET로 몇개 줬는데, 아미노업도 있고.. 뭐 역시 이런건 비슷비슷~ 그리고 라면(사진에 보이는 초록색 용기)을 줬는데, 그 날은 배가 불러서 못 먹고 다음날에 한번 먹어봤는데.. 헉.. 스프 중의 하나가 뭔가 비계성 물질 12g이라 아무래도 불안해서 빼고 먹었는데도 느끼한게.. (…)

그리고 식사는 센터 건물 안에 있는 구내식당에서 먹었습니다. 점심은 고열량 식사 (진짜로 노골적으로 고열량 식사라고 라벨이 붙어있습니다;;)를 주는데, 중국집의 요리 메뉴에 나올 법한 음식들이 뷔페로 가득있어서 우선은 처음은 좋았는데.. 두째날에는 역시 그 씹으면 와사비에 된장 타서 100배 농축한 듯한 그 엄청난 냄새의 그 향신료와 기름가득 국물들과.. 그래 이정도면 중국 음식은 원 없이 먹고 가는구나 하는 생각이 –;; 그래도 죽은 담백한게 맛있네요. 🙂 하나 잊고 있었던 것을 일깨워준 것이, 식사에 나오는 디저트 귤이 아니!! 씨가 있는 것이었습니다! 오오.. 귤에 씨가.. (가만 생각해 보니 어릴 때는 씨가 있었던 것 같기도 하고..)


일본에서 온 개발자들에게 한글 입력 방식에 대해 설명하고 있는 최환진님 © Anthony Wong

이제 밥도 먹고 어느 정도 작업을 하고 나서, 최환진님은 일본에서 온 여러 입력기 개발자들과 한글 입력 방식이나 입력기의 여러가지 이슈에 대해서 토론을 하셨는데, 옆에서 들어보니 아 역시 멋있네요~ 🙂 코드페스트에서는 혼자 작업하는 것보다는 역시 이슈를 공유하는 사람들이 참가해서, 자유로운 의사소통을 최대한 활용하는 쪽으로 응용하는 것이 좋은 매력인 듯 합니다. 그런데, 저는 딱히 관심사가 비슷한 사람이 없어서 좀 아쉬웠습니다. 대만의 그 많은 포트 커미터들은 하나도 안 오고 뭐 한거야 ㅡ.ㅡ;;

코드페스트가 끝나고 나서 생각이 들었던 것은 우리나라의 코드페스트도 앞으로는 약간 넓은 주제를 기준으로 프로젝트를 신청받아서 참가를 받는 것이 좋지 않을까하는 것이었습니다. 그러니까, 중점 이슈가 “GNOME/GTK 기반 프로그램”이라고 하면, GTK기반인 사전이라던지, GNOME 애플릿을 개발하는 사람, GNOME 메시지 번역 등의 프로젝트가 참여해서 서로 공유하는 관심사가 많은 만큼 오프라인에서 활발히 토론을 하고 서로에게 충분히 도움을 줄 수 있고, 그 외에도 “PHP 기반 웹 애플리케이션”, “온라인/오프라인 게임”, “입력기와 폰트”, “자바 웹 애플리케이션” 등 어느 정도 국내에서 프로젝트를 모집할 수 있으면서도 관심사를 한정할 수 있는 것이 제법 있을 법 하네요.. 그동안 너무 프로젝트가 다 다른 분야로 모이다보니, 서로 전혀 관심 없는 사람들끼리 그냥 하룻밤 옆에서 있었다는 그 정도의 의미밖에 없었던 것에서 오프라인 활용을 극대화할 수 있는 뭔가 주제의 집중이 필요한 듯 합니다.


호텔 화장실과 느끼한 라면 므흐흐

이번 코드페스트 참가는, 처음으로 외국에 나온 것이기도 하지만 처음 호텔에 묵기도 하고 처음 비행기도 타고 여러모로 첫 경험의 집합인데, 참 좋다고 느낀 것 중의 하나는 호텔 서비스 –;; 아 어디 잠시 나갔다 오기만 하면 방을 치워줘서.. 어찌나 좋던지.. 직접 날 잡아서 안 치우면 계속 쌓여만 가는 자취생에게는.. 뭔가 꿈만 같은 생활이군요 –; 잠깐 키오스크에 뭐 사러 갔다 오면 바로 수건 새걸로 바꿔져 있고, 설거지 다 해놓고.. 아 이것이 바로 내가 그리던 생활이야! -O-;;


비행기 이륙 직전에 자리에서 본 베이징국제공항

오는 길에는 이번에 알게 된 ETRI에서 공개소프트웨어를 연구하는 분과 동행했습니다. 오는 길에 먹었던 기내식이 참 마음에 들었는데, 기내식에 대한 부푼 기대와 함께;; 역시 오는 길의 기내식도 어찌나 맛있던지.. 며칠동안 중국음식을 먹어서 눈물이 주루룩;; -O-;; 인천공항에 도착해서 나왔는데, 뭔가 별로 베이징공항과도 다른 느낌이 없는 것이.. 일본 사람들이 베이징이나 서울이나 별로 다른 점을 못 느낀다고 하는 것이 참 몸으로 와 닿는군요.. 비슷비슷~ 뭐 물론, 건물이 띄엄띄엄있던게 붙어있다는 것은 좀 다르긴 하네요;;

이번 코드페스트 덕분에 병특기간인데도 즐겁게 밖에도 다녀오고, 운이 좋았던 것 같습니다. 이제 병특이 끝나면 무슨 일만 있으면 열심히 나가야겠습니다..! PyCon도 가고 OSCON도 가고~ (신났다;) — 그러나 아직은 병특 ㅡㅢ

처음으로 물을 건너다~

CodeFest Asia 2005에 참가하기 위해서, 처음으로 국제선을 탔습니다. 🙂 인천공항도 처음이지만 비행기 타는 것도 처음이고, 해외 나가는 것도 처음이고 다 처음이라.. 제법 긴장되긴 했지만, 새로운 곳에 간다는 기대에 잠이 잘 안오더군요 이히히.

약 2시간 정도의 비행을 마치고, 베이징에 도착해 보니, 나오는 길에 중국인 안내 아가씨들이 “니하오”를 하는데, TV에서 보던 것과는 다른 생니하오는 정말로 신선했습니다! 아 그래 중국어도 귀여울 수 있는거야! 생니하오 다음에는 꼭 녹음해서 다시 들어봐야지 ~

대충 검역과 출국심사를 마치고 나오는데, 나오는 문에 기다리는 사람이 막 환영한다고 피켓도 들고 있고 하니까 어찌나 반갑던지.. 다 저를 위해 나와 있는 사람만 같은 기분에 으쓱~ ;; (그러나 피켓에는 모두 다른 사람 이름 =3) 흐흐 공항에서의 첫 느낌은, 머리가 다 까매서 누가 중국인이고 누가 한국인인지 구분을 못하겠다는 것이었는데, 역시 전문가들한테도 그랬던 것인지 택시타러 나왔는데 택시 안내하는 직원이 저한테 중국어로 어디로 가라고 하는데.. 무슨 말 하는지 원~


수도국제공항 나오는 길

우여곡절 끝에 (기사가 영어를 전혀 못알아 듣는 것!!) km당 1.6원짜리 시트로엥 택시를 타고 호텔로 향했습니다. 정말 이상한게 기사가 아크릴 박스 안에 숨어있습니다. 누가 때리나? ;;


아크릴 박스 안에 숨어서 운전하는 아저씨

어제 TV에서 싱가포르에서 일하는 여자가 택시만 타면 중국어를 배우는 것을 보고, 그래 나도 택시에서 중국어를 배워봐야지! 했는데.. 아저씨가 “헬로?” 해도 손을 저으니까.. 이것 참.. 흐흐..;; 베이징의 도회 느낌은 정말로 완전히 회색이었습니다. 큰빌딩이고 작은 빌딩이고 다 회색에.. 공기도 회색이고 -.- 북한 사진이 일부러 그렇게 찍은 줄 알았더니 진짜 회색 도시가 있다는 것을 느꼈습니다;


호텔에서 본 회색 베이징

호텔에 들어와서 바로 인터넷을 연결하고 (;;) 인천공항에서 가져온 공짜 국제전화카드로 전화도 한번 하는 등 우선 통신을 복구한 다음에;; 먼저 와서 Debian Mini-Conf에 참가하고 계시던 류창우님을 만났습니다. 일부러 예약이 그렇게 된건지 우연인지 700개 넘는 방에서 바로 옆방이 걸렸네요. 🙂 호텔 방에 적응을 좀 한 다음에, (사실은 호텔 투숙도 처음 –;) 이번에는 그래 지하철을 타고 천안문에 한번 가 보는 거야! 하는 원대한 꿈을 갖고 지하철역 위치도 모르면서 일단 나가 봤습니다.


베이징에서는 해도 뿌옇게 진다

그런데 프론트에서는 분명히 지하철역까지 30분 거리라고 했는데, 아무리 걸어도 안 나오는 것이.. 결국은 지하철역까지 15분정도 걸리는 곳에 있는 북경이덕국제품무슨상점(읽을 수 없는 한자가 너무 많아서;;)이라는 꽤 큰 수입의류백화점만 구경하고 왔습니다. (돌아오면 어두워질 길이 막막해서 –;) 으흐흐. 한국 브랜드 옷이 무지 많더군요;; -ㅇ-;; 내일하고 모레는 시간도 없는데 천안문은 언제가나~ 엉엉.


36위엔(한화 4800원 정도)짜리 생수 앞에서 괜히 뻘쭘하게 한번 셀프 =3

내일은 CodeFest 본 행사가 시작되니까 무지 재미있을 것 같군요. 🙂