SciPy는 파이썬용 과학 관련 패키지입니다. 각종 계산에 필요한 라이브러리죠.
SciPy는 보통 배열이나 행렬, 정확한 숫자를 처리하기 위한 NumPy라는 패키지, 각종 플로팅에 유용하게 쓰이는 Matplotlib, Markov chain Monte Carlo용 패키지인 PyMC 같은 패키지들하고 같이 쓰는 경우가 많은데요, http://macinscience.org 블로그 주인장께서 친절하게도 Mac OS X (Leopard 기준)에서 여러 패키지를 함께 빌드해서 설치할 수 있는 셸 프로그램을 배포하고 있습니다. 바로 SciPy Superpack입니다.
http://macinscience.org/?page_id=6 주소로 가셔서 셸 스크립트 파일을 다운로드받은 다음에 터미널에서 실행시키기만 하면 여러 패키지들을 svn에서 최신 빌드를 받아서 설치해 줍니다.
사용자 삽입 이미지

SciPy Superpack을 실행시킨 화면


근데 이걸로 설치하고 나서 syntax highlighting이라든가 자동 인덴테이션 같은 걸 잘 해 주는 iPython 프로그램을 실행시켰을 때 약간 문제가 있습니다. readline 패키지 때문에 생기는 문제인데요, 위에 있는 SciPy Superpack 페이지에 있는 댓글을 뒤져보면 해결책이 있습니다.
저도 그걸 따라하고 나니 iPython을 쾌적하게 실행시킬 수 있게 되더라고요... :)

cd /Library/Python/2.5/site-packages/
mkdir obsolete
mv pyreadline-1.6.svn.dev_r3066-py2.5.egg obsolete/


이렇게 해 주면 끝입니다. 간단하죠?
구글 사이트에 들어가니 구글 코리아에서 새로운 서비스를 시작했더군요...

사용자 삽입 이미지

Google 사투리 번역으로 지역간 언어장벽을 없애주겠다는 거죠...

대학에 처음 왔던 시절, 강한 억양의 사투리는 정말 알아듣기 힘들었습니다. 지금이야 경상남도와 경상북도 사투리 정도는 구분할 수 있는 수준이지만, 그 때는 부산 친구들이 토론을 하고 있는 걸 보고는 둘이 싸우는 건가 하는 생각까지 들 정도였습니다.

이게 좀 더 심해지면 제주도 사투리처럼 전혀 해독이 불가능한 수준까지 가는 일도 있습니다. 참 곤란하죠...

구글에서 이런 우리들의 고충을 헤아려 사투리 번역기를 내놓았습니다.

대단하죠...

구글에서 하는 검색이라는 것이 원래 문장에 속하는 각 성분의 의미 등을 파악하고 적절하게 인덱싱을 해 놓는 것이 중요하다 보니 이런 결과물도 내놓을 수 있는 것 아닌가 싶습니다. 개발자와의 질의응답 인터뷰 내용도 재미있어요. 한 번 가서 보세요... :)

사용자 삽입 이미지

이미지 출처: 구글


이걸 더 발전시켜서 음성인식기 및 음성조합기에도 사투리 기능까지 넣을 수 있다면 정말 좋을 것 같습니다.

P.S. 구글, 고마워요... 나도 덩달아 만우절에 블로그 방문자들 낚을 수 있게 해 줘서... :)
에... 뭐 헤어진 옛 연인의 전화라든가 그런 낭만적(?)인 것을 기대하셨다면 죄송합니다만...

사용자 삽입 이미지


하루에 몇 번씩 한 번만 울리고 끊기는 전화가 오곤 합니다.

예전에는 다시 걸어보곤 했지만, 걸면 ARS가 받는 것을 몇 번 경험하고 나서부터는 한 번만 울리고 끊기는 전화가 오면 "정말 필요한 전화라면 다시 걸겠지"라고 생각하고는 그냥 지나가 버립니다. 이렇게 한 번만 울리게 한 다음 끊어서 전화를 걸어오도록 만드는 스팸 방식을 부재중전화 스팸, 또는 원링 스팸이라고도 부릅니다.

그런 전화들은 사실 대부분 사기성이 짙은 스팸 전화라고 보시면 되는데요, 집단 정보를 활용하여 그런 스팸을 식별해내는 사이트가 있습니다. 실은 생긴지 꽤 오래 됐는데요, 바로 부재중전화 스팸번호 검색 DB입니다. 그 사이트로 가시면 그냥 전화번호를 입력하는 칸이 덩그러니 있습니다. 그 칸에 자기한테 걸려온 전화번호를 입력하고 검색을 클릭하시면 됩니다. 물론 이 사이트를 운영하는 사람이 원링 스팸 번호를 다 아는 건 아닙니다. 하지만 원링 스팸은 같은 발신번호로 많은 사람들에게 전화를 걸게 마련이니, 만약 이 사이트에서 사람들이 검색을 많이 한 번호라면 거의 원링 스팸 번호라는 결론을 내릴 수 있겠죠. 이 사이트에서도 몇 명의 사람들이 그 번호를 검색했는지 파악을 해서 그 번호가 스팸일 확률이 높은지, 아니면 그렇지 않은지를 알려주는 방식을 취하고 있습니다.

보너스로 선불폰 검색 기능도 제공합니다. 선불폰은 소유주가 불분명한 대포폰으로 악용되기가 매우 용이하기 때문에 사기용으로 쓰이는 경우도 흔합니다. 그래서 인터넷 등으로 직거래를 하는 경우에 상대방 핸드폰 번호가 선불폰 번호인지 아닌지를 확인해 보는 수고는 해 주는 것이 좋지요. 선불폰은 핸드폰 국번이 정해져 있기 때문에, 국번만 알면 비교적 쉽게 파악할 수 있는데요, 선불폰임을 속이는 방법 (예를 들어 016-660-7890은 016 번호에 660 국이기 때문에 선불폰이지만 이 번호를 016-6607-8901 이라고 적어두면 실제로 이 번호로 걸었을 때 는 맨 뒤의 한 숫자는 그냥 무시되고, 실제 걸리는 번호는 016-660-7890임에도 불구하고, 마치 6607국인 것처럼 보이기 때문에 선불폰이 아닌 것으로 착각하기가 쉽습니다.)도 어느 정도는 있어서 이 사이트에 가서 검색을 해 보시는 것도 좋을 듯 합니다.
사용자 삽입 이미지

세상에는 재치 있는 사람들이 참 많습니다.

조금 전에 TV에서 출발 비디오여행을 보다가 재미있는 UCC를 소개하는 부분에서 재밌는 게 나왔길래 잽싸게 검색을 해서 올립니다... :)

첫 번째는 다스 베이더의 하모니카 연주 실력이 돋보이는 Darth Vader Feels Blue.



다스 베이더 영감님 연주 실력이 대단합니다.

두 번째는 스타워즈 리믹스판 갱스터 랩, New Star Wars Gangsta Rap...
가사는 좀 거시기합니다. 아이들 있는 집에서는 주의하세요...

사용자 삽입 이미지


요다의 비보잉 실력이 불을 뿜습니다...

얼마 남지 않은 연휴 알차게 보내세요... :)
사용자 삽입 이미지


플래시 게임들 중에는 중독성이 강한 게임들이 많습니다. 그 중에는 별로 생각할 것 없이 멍하니 화면을 쳐다보며 클릭하는 게임이 있는가 하면 바둑이나 오목 같이 제법 생각을 많이 해야 하는 게임도 있습니다.

오늘 소개할 게임은 주사위 전쟁(Dice Wars)이라는 게임입니다. 일본에서 만든 게임인데, 게임 자체의 아이디어가 꽤나 재밌습니다. 저는 해 본 적 없지만 Risk라는 게임하고 비슷하다고 하는군요.

처음 게임을 시작하면 몇인용을 할지를 물어봅니다. 어차피 게임을 하는 사람 수는 한 명 뿐이고, 나머지는 컴퓨터가 플레이를 하지만, 플레이어 숫자가 많아지면 난이도도 올라가는 편이고 플레이어끼리의 협공, 배신 등이 난무하게 되어 더 흥미진진해집니다.

룰은 이렇습니다. 각 칸별로 주사위들이 있는데, 자신의 땅을 클릭하고 공격할 칸을 클릭하면 주사위를 굴려서 나온 숫자가 상대 숫자보다 크면 이깁니다. 당연히 주사위가 많은 칸에서 적은 칸 쪽으로 공격을 하는 쪽이 유리하겠죠. 이기면 진 쪽 칸을 차지하게 되고, 원래 자기 칸이었던 곳에는 주사위가 하나만 남고 새로 따먹은 칸에는 원래 주사위 개수에서 1을 뺀 개수만큼의 주사위가 옮겨갑니다. 공격에 실패하면 원래 주사위가 몇 개 있었든 주사위 개수가 한 개로 줄어듭니다. 주사위가 두 개 이상 있는 칸에서만 공격이 가능하고, 더 이상 공격할 만하 게 없으면 END TURN 버튼을 누르면 다른 플레이어가 플레이를 하게 됩니다. 밑에 주사위 색깔별로 숫자가 나오는데, 그 숫자는 서로 연결된 칸의 최대 개수입니다. 턴을 끝마칠 때 그 수만큼 주사위가 자기 칸에 추가되며, 어느 칸에 몇 개가 추가되는지는 무작위적으로 결정되며, 한 칸에 들어갈 수 있는 주사위 수는 최대 여덟 개 까지로 제한됩니다. 이렇다 보니 땅을 넓히는 게 중요하긴 하지만, 땅을 넓히는 과정에서 상대방의 칸은 될 수 있으면 연속으로 연결되지 않도로 끊어주고, 자기 땅은 최대한 연속으로 쭉 연결시키는 게 중요합니다.

아마 하시다 보면 어떤 식으로 공격을 하고 어떤 식으로 수비를 해야 할지 감이 오실 겁니다.

단순한 게임이 대부분 그렇듯이 중독성은 꽤 강합니다. 두 세 시간 정도는 후딱 가 버리더라고요.

길고 긴 연휴, 봤던 영화 또 보고 봤던 쇼 프로 또 보는 게 지루해 지셨다면 한 번 해 보세요. :)
사용자 삽입 이미지
그림은 본문의 내용과 무관합니다.

군대 있을 적...

하루는 소방교육이 있는 날이었습니다. 우리 캠프 내에 있는 소방서에서 소방 담당자가 와서 우리 부대 사람들 대상으로 화재 대처법 등에 대한 교육을 하고, 소화기로 불도 꺼 보고 그런 훈련을 했습니다.

그 날 교육 담당자는 나이가 지긋하신 한국인 군무원이셨는데, 평택 캠프 험프리즈 소방서에서 수십 년은 족히 일해오신 분이신 듯 했습니다.

교육은 영어로 진행됐습니다. 전체 피교육생 중 40여명 정도는 미국인, 대여섯 명 정도가 한국인인 카투사였으니까 당연히 영어로 진행하죠. 선생님은 나이 지긋하신 한국인, 수강생은 대다수가 미국인, 극히 일부만 한국인.

그 날은 저에게 정말 충격적인 날이었습니다. 나름대로 영어 잘 한다고 생각하는 편이고, 발음도 한국인 치고는 한국 액센트가 거의 없는 편이고, 당연히 영어로 의사소통하는 능력도 발음이 미국 표준 발음에 가깝지 않은 사람들보다 나을 거라고 생각하고 있었습니다. 그리고 발음이 좋아야 영어를 잘 하는 거라는 생각도 조금은 가지고 있었던 것 같습니다.

하지만 제 생각은 완전히(!) 틀렸습니다.

그 나이 지긋하신 분께서는 거의 한글로 적어놓은 것 읽는 듯한 발음을 하시는데도 영어가 유창하기 짝이 없었습니다. 여유있게 농담도 주고 받으면서, 미군들이 어떤 액센트로 질문을 해도 다 알아듣고 유창하게 대답하고... 지금 생각해 보면 국내에서 활동하는 웬만한 유학파들보다 영어를 훨씬 더 유창하게 잘 하시는 것 같았습니다.

대통령직 인수위원회의 오륀지, 티철, 쌩큐 얘기 들으면서 그 할아버지가 생각났습니다. 중요한 건 얼마나 미국 사람들하고 비슷한 소리를 내는지가 아닙니다.

Singlish, Inglish, Chinglish, Jinglish 해도 영어로 의사소통 잘 됩니다.

게다가 외래어와 외국어가 어떻게 다른지, 한글 표기법의 기준은 무엇인지도 모르는 분들을 보고 있노라면 영어 교육 강화를 부르짖는 그 분들에게, 그리고 온 국민이 영어 공부에 미쳐 돌아가고 있는 우리들에게 지금 정말 필요한 건 국어교육이 아닐까 하는 생각이 듭니다.
사용자 삽입 이미지
세상에... 포스트닥이 주인공인 시트콤이라니....

사용자 삽입 이미지
시트콤 칠판에서 저런 식도 보고, 파인만 다이어그램도 보고...
살다 보니 별 일이 다 있습니다 그려...

물론 이공계인들이 보기에 유난히 더 재미있는 거긴 하겠지만, 일반인들이 보기에도 재미있을 것 같습니다. 사실 꽤나 자학적인(자기들을 nerd나 geek으로 몰아가며 웃음을 주는) 면이 많지만 말이죠...

주제가 가사도 깹니다...

Our whole universe was in a hot dense state.
Then nearly 14 billion years ago expansion started.
Wait.
The earth began to cool. The autotrophs began to drool.
Neanderthals developed tools. We built the wall. We built the pyramids.
Math, Science, History, unraveling the mystery.
That started with a big bang. Bang!


사용자 삽입 이미지
하긴 얼마 전에는 네이버에 연재중인 정글고등학교에서 위와 같은 양자역학 스핀 문제를 본 일도 있긴 합니다. 정글고등학교 작가님이 어떤 분이신지 궁금합니다. (게다가 손으로 식 적은 모양새가 꽤나 능숙.... 정말 물리를 전공하신 분이 아닐까...)
사용자 삽입 이미지
한 때 gPhone이라는 이름으로 인구에 회자되던 구글의 핸드폰용 모바일 플랫폼이 드디어 정체를 드러냈습니다. 실제 발표된 이름은 안드로이드(Android)고요, 리눅스를 기반으로 하고, 모두 오픈되어 있는 플랫폼입니다.

핸드폰용 (그 중에서도 주로 스마트폰) 플랫폼은 지금까지는 유럽 쪽에서 많이 쓰이는 심비안과 미국이나 한국에서 많이 쓰이는 윈도우즈 모바일이 양분하고 있었고, 최근 들어 애플에서 iPhone을 개시하면서 뛰어든 상황이었습니다. 거기에 쟁쟁한 트렌드 세터인 구글이 뛰어들었고, 서비스 제공업체와 핸드폰 하드웨어 개발업체들이 어떤 반응을 보일지는 모르겠지만 구글의 안드로이드가 꽤나 빠른 시일 내에 자리를 잡아버리지 않을까 조심스레 예측을 해 봅니다.

Android 소개 동영상

애플이 아이폰을 발표한 초창기에 개발자들에게 소프트웨어 개발 킷(SDK; Software Development Kit)을 공개하지 않고 Ajax를 기반으로 한 웹 형태의 서비스만 개발하라는 식의 메시지를 던졌을 때 반응이 상당히 좋지 않았습니다. 당연히 그럴 수 밖에요. 스마트폰의 애플리케이션 중에는 웹, 또는 인터넷을 기반으로 할 만한 게 많기도 하지만 그렇지 않은 방향으로도 무궁무진하게 개발할 건덕지가 있을 것이고, 개발자들이라면 으레 그런 쪽에 관심을 가지게 마련이니까요. 그러다가 뒤늦게 애플에서도 SDK를 공개하게 됐고, 애플이 아닌 다른 업체에서 내놓은 아이폰용 애플리케이션도 이제 심심찮게 등장하게 될 듯합니다. 안드로이드 소개 동영상에서 보는 것만으로는 애플의 iPhone만큼 경이롭다거나 눈을 즐겁게 하는 정도는 아니지만, 업계 전반에 미치는 영향력은 애플의 iPhone보다 더 강력할 것 같습니다.

안드로이드는 리눅스를 기반으로 하고 있고, 처음부터 공개된 개발환경을 내걸고 있습니다. 이미 SDK가 공개되어 마음대로 다운받을 수 있게 해 놓았고, 간단한 튜토리얼도 올라와 있습니다. 사실 일반 스마트폰 애플리케이션의 경우에 개발환경이라든가 SDK가 취미로 프로그래밍을 한다든가 하는 사람들에게는 꽤나 거리감을 느낄 수 밖에 없게 해 놓았었지만, 구글의 이런 방식의 접근은 뭔가 새로운 닷컴 붐의 기폭제가 되지 않을까 하는 기대감마저도 들게 만드는군요. 물론 지금의 우리나라 모바일 환경처럼 단말기 제공업체라든가 플랫폼 제공업체 또는 컨텐츠, 또는 모바일 소프트웨어를 제공하는 업체에 비해 네트워크를 제공하는 업체(SKT, KTFT, LGT)와 정부기관의 입김이 강력한 상황에서는 또 다른 정치 사회적인 문제가 더 큰 장벽이 되지 않을까 하는 생각은 듭니다.

관심 있으신 분들은 안드로이드 공식 사이트를 방문해 보세요 :)
지난 14일부터 24일까지 미국엘 다녀왔습니다. 미국 진공학회(AVS)에 참석하기 위해 시애틀에 갔다가 몇몇 실험실 구경하러 버클리를 찍고 샌프란시스코 갔다가 차 타고 멀리 어바인(LA 조금 아래쪽에 있습니다. 버클리에서는 차로 대략 6-7 시간 정도 걸려요 ㅠㅠ)에 갔다가 다시 버클리로 올라오는 강행군을 했지요. 덕분에 미국 서부 해안을 쭉 훑고 지나가게 되었습니다.

근데 미국 가서 제 블로그를 들어와 보니 트래픽이 초과되었다는 메시지만 덜렁 나오면서 블로그 페이지가 열리질 않았습니다. 지금까지 한 번도 일어난 적이 없는 일이라 도대체 웬 일인가 했는데, 친구한테서 얘기를 들어보니 제 블로그가 포털 뉴스에 떴다는 겁니다.

사용자 삽입 이미지
네이버 뉴스 화면 캡처 (링크)

정말 떴더군요... 예전에 제가 썼던 것과 같은 앨 고어의 복잡한 사무실 모습 사진과 함께...

하여간 보통 하루에 방문자 수 300을 좀체 넘지 않던 제 블로그가 방문자 수 900을 훌쩍 넘어서 버렸고(물론 그래도 인기 블로그에 비하면 방문자 수가 훨씬 적긴 합니다) 며칠 동안 500 메가바이트 밖에 되지 않는 제 블로그 트래픽이 초과되어 블로그가 막히기도 했습니다.

얼떨결에 포털에 제 주소가 연결되는 바람에 잠시나마 주목(?)을 받았다는 게 뭐 기분 나쁜 일은 아니지만... 그래도 뭔가 좀 근사한 걸로 언론에 데뷔(?)하길 기대하고 있었는데 일이 이렇게 되어 안타까운 마음도 들긴 합니다...

어쨌든 보잘 것 없는 제 블로그를 구경해 주시고 기사에 인용까지 해 주신 머니투데이 이경숙 기자님께 감사드립니다. :)
오늘 블로그에 들어와 보니 오늘 방문자 수가 0이더군요. 어제 방문자 수도 다른 때에 비해 많이 적고 말이죠... 다른 컴퓨터에서 블로그 페이지를 열어봐도 여전히 카운터가 올라가지 않는 걸 보니 뭔가 문제가 있는 것 같아서 이것저것 찾아봤습니다.

일단 태터툴즈의 관리자 메뉴에서 데이터베이스 오류를 점검해 보고 최적화를 해 봤습니다. 별 다른 에러 메시지 같은 건 뜨지 않고 오류 점검과 최적화 모두 성공적으로 끝났다고만 나오더군요.

그래서 여기저기 찾아 보니 데이터베이스 테이블에 문제가 있어서 그런 일이 생길 수도 있다고 하더군요. 서버에 접속해서 mysql 클라이언트 프로그램을 실행시켜 보니 tt_FeedItems와 tt_SessionVisits 테이블에 필드가 없다는 오류 메시지 같은 게 떴습니다.

Didn't find any fields in table 'tt_FeedItems'
Didn't find any fields in table 'tt_SessionVisits'

그래서 mysql 클라이언트에서 repair table 명령을 써서 그 두 테이블의 문제를 해결했습니다.

mysql> repair table tt_FeedItems;
+--------------------+--------+----------+----------+
| Table              | Op     | Msg_type | Msg_text |
+--------------------+--------+----------+----------+
| hssuh.tt_FeedItems | repair | status   | OK       |
+--------------------+--------+----------+----------+
1 row in set (0.04 sec)

mysql> repair table tt_SessionVisits;
+------------------------+--------+----------+----------+
| Table                  | Op     | Msg_type | Msg_text |
+------------------------+--------+----------+----------+
| hssuh.tt_SessionVisits | repair | status   | OK       |
+------------------------+--------+----------+----------+
1 row in set (0.19 sec)


이렇게 하고 나서 블로그 페이지를 다시 열었더니 드디어 카운트가 올라가기 시작하더군요...

왜 그 두 테이블이 날아갔었는지는 잘 모르겠지만 그래도 문제가 잘 해결되어 다행입니다...

+ Recent posts