| 26 Jan 2010 |
소녀시대 - 힘내아.. 블로그에 소시 동영상 링크하려니까 느껴지는 이유 모를 부끄러움을 무릅쓰고 올려본다. -_-; 소시 노래중 제일 좋아하는 노래. '하지만 힘을 내 여기까지 왔잖아' 라는 가사 때문이다. 참으로 조야한 가사지만 워낙 조야한 것에 잘 반응하는 단순무지한 성격이다 보니.. -.- 하하;; 어릴 때 보던 각종 용자만화 주제가의 대체물 쯤 되는 거 같다. (....) |
|
git tutorials from github; nice wording and graphics.. |
|
|
|
| 25 Jan 2010 |
Computational Finance Course in SUNY: taught by Skiena! |
| 24 Jan 2010 |
새벽 다섯시까지 코딩.... 오랜만이다. 오랜만에 하니까 재밌네 ㅠㅠ 자야지 ㅠㅠㅠ |
|
이 커멘트 를 위한 해설: 일단 스레드랑 크리티컬 섹션, 뮤텍스 등을 쓰는 전통적인 스레드 기반 프로그래밍 모델은 이해하고 있을 거라고 생각하고.. 요즘 많이들 하는 게 이벤트 기반으로 멀티스레드 어플리케이션을 작성하는 거야. 간단하게 말하자면 메시지 큐를 유지하고, 이것을 동기화하는 작업 등등을 직접 구현하는 게 아니라 프레임워크에서 이같은 작업을 하도록 하고, 우리는 메시지가 왔을 때 메시지를 처리하고, 결과 메시지를 다른 애들에게 보내고 종료하는 함수들만을 제공하는 거지. 이와 같은 작업들을 언어 차원에서 지원하는 가장 대표적인 예가 Erlang 이고. Scala 도 이것과 비슷한 모델을 쓸 수 있는 라이브러리를 표준 라이브러리에서 제공하고 있지. Stackless Python 은 이와 같은 모델을 파이썬에서 사용할 수 있도록 만든 실험적인 구현인데 (하는 일이 액터 모델과 완전 같은 건 아니지만) 거기에서 가장 큰 문제는 얘가 스레드를 안 쓴다는 것... 파이썬은 Global Interpreter Lock (구글 요망) 때문에 여러 개의 스레드를 돌린다고 해서 속도가 올라가는게 아니거든. 그래서 얘는 싱글 스레드 위에서 여러 개의 가상 스레드 (tasklet) 를 사용해 컨텍스트 스위칭에 들어가는 부하를 줄이는 데 더 중점을 두고 있지. 문제는 근데 알고스팟 저지에서는 많은 작업들이 블러킹 I/O 로 처리되기 때문에 (외부 프로그램 실행/컴파일/네트워크 접근 등이 가장 많은 시간이 드는 작업) 만약 얘들이 블러킹되어버리면 다른 애들까지 실행할 길이 막혀버리지... 반쪽짜리 파이썬 스레드라고 해도, 블러킹 I/O 가 있을 경우에는 다른 스레드를 실행할 수 있게 해 주는데. 때문에 stackless 도 사용할 수 없단 얘기. 블러킹 I/O 와 넌블러킹 I/O 를 간단히 설명해 보면.. I/O 결과를 기다릴 때 해당 스레드가 멈춰 있느냐 계속 움직이느냐의 차이인데. scanf() 나 fread() 등등은 블러킹 I/O 의 가장 전형적인 예지. 데이터를 다 읽어온 후에야 함수가 반환되니까.. 반면 넌블러킹 I/O (Asynchronous I/O) 에서는 함수는 곧장 반환하고, 입출력이 끝나면 해당 스레드에 메시지나 시그널을 보내주는 형식으로 구현되지.. 이거는 결국 운영체제 차원에서 지원할 수밖에 없는데 윈도우의 IOCP, 리눅스의 epoll, BSD 의 kqueue 같은 게 있고.. 특히나 네트워크 같은 경우 CPU 보다 한없이 느리기 때문에, 넌블러킹 I/O 를 잘 이용해서 CPU 자원을 최대한 활용할 수 있도록 하는 게 중요하지.. 그래서 각종 네트워크 라이브러리 (루비의 이벤트머신, 파이썬의 트위스티드, C++ 의 ACE-_-; 와 부스트의 asio, 자바의 네티 등등..) 에서는 이런 것들을 거의 다 지원하고 있지. 다른분들 틀린거 있음 지적바랍니다. 'ㅅ' 맥주 먹었더니 알딸딸 아 자야지 |
|
|
AOJ 새 저지 모듈에 Erlang 액터 모델을 쓰고 싶어서 이것저것 뒤져봤는데, immature 한 라이브러리밖에 없다. stackless python 을 이번 기회에 써 보는 건가! 하고 좋아하고 있었는데, 네트워크 I/O 나 서브프로세스 실행 같은 블러킹 I/O 가 많으면 안되는구나. 아 캐난감. 네트워크는 asynchronous 로 바꿔주는 패치가 있다지만 서브프로세스 실행은 그야말로 캐안습.; 스칼라가 자꾸 나를 부르고 있는 듯한 착각이 드는데.... -_-;;; 아니면 node.js 라도 써볼까 냐하하! |
|
|
|
|
Floyd's Tortoise and Hare 보다 더 나은 Cycle Detection 알고리즘: Teleporting Turtles |
|
| 23 Jan 2010 |
L1 Approximation Problem
Convex by Boyd 을 보면, 많은 경우에 L2 optimized estimator 보다 L1 optimized estimator 가 더 robust 하다고 되어 있다. Outlier 에 훨씬 덜 민감하니까 당연한 노릇. 보면 LP 로 바꿔서 풀 수 있다고 되어 있다. 그래서 파이썬용 Convex Optimization 패키지인 cvxopt 로 풀어보았다. 파란 선을 중심으로 랜덤 샘플을 만들고 (가우시안 노이즈 추가) 적절한 개수로 엉뚱한 위치에 아웃라이어를 좀 던져둔다. 초록색 선이 L2 핏, 빨간색 선이 L1 핏이다. 훨씬 원래 분포에 가까운 결과를 보여줌. cvxopt 샘플에 L1 approximation 이 샘플로 나와 있길래 좋아라 하면서 써먹어 보려 했는데 안돌아가... 행렬 크기가 안맞는대... 좀 검증해 보고 올리지 쩝. ㅠ.ㅠ 미워라 덕분에 무식하게 모델링해서 돌렸다. 속도를 재 보면: 초록색이 처음에 써 본 cvxopt 의 기본 solver 속도. 이건 뭔가 exponential 하게 올라가는 삘인데.. -_-;; 과연 현실적으로 쓸 수 있을까.. 하고 후덜덜했는데, GLPK 써보니 거의 linear 하게 올라가는 듯? 뭐.. 일단 지금은 무지하게 무식하게 짠 점도 있고,뭔가 problem structure 를 이용하면 좀 더 효율적으로 돌릴 수 있을 듯. 그러려면 저 Boyd 책을 봐야 하나.... -_- ..... |
| 20 Jan 2010 | |
| 19 Jan 2010 |
I'm never buying from Dell again: delivers in one month? Even in 90s it took less than a week. |
주말미국은 월요일이 마틴 루터 킹 데이라서 (맞나) 하여간 노는 날이었다. (지금은 월요일 저녁) 밑에는 궁시렁 거려 놨지만, 주말 내내 뒹굴거리면서 잘 놀았다. 주말 동안 뭘 했냐면..
그 외엔 별거 안하고 뒹굴뒹굴거리고 잠자고 놀았습니다. ㄱㅅ |
|
| 18 Jan 2010 |
향수병서울을 떠난지 슬슬 네 달이 되어 간다. 태어나서 서울에서 이렇게 오래 나와 있는 것이 처음이다. 인터넷에 연결된 컴퓨터만 있으면 지구 어디서 살아도 상관없을 것 같았던 나지만 종종, 아니 꽤 자주 서울이 그립다. 신촌거리 술집들, 자주 가던 밥집들. 언더우드 상 앞에서 새우깡 안주로 맥주 마실 때 불어오던 시원한 가을 바람. 강남역 바로 앞의 레비스와 계단을 올라가서 바로 있던 노래방. 안국역 뒷쪽에서 삼청동 걸어가던 골목길과 자전거 타고 퇴근하던 저녁의 탄천 길. 지난 주 내내 괜히 할일 없이 어릴적 하던 게임, 어릴적 보던 만화책을 찾아 인터넷을 뒤적거렸다. 어릴 적 하던 머드게임 매뉴얼을 보고자 하는 일념에 나우누리 동호회 자료실을 뒤지고, 찾은 hwp 2.0 과 이야기 갈무리 파일들을 열 수가 없어서 vmware 위에 윈도xp 를 깔고 다시 이야기 멀티를 까는 삽질까지 했다. 아 이런 존이 있었지. 맞아 여기에서 사냥했었지. 와 그때 만났던 이런 사람들도 있었는데. 이런 기억의 잔해를 뒤적이느라 수많은 시간을 불태우고 나서야 깨달았다. 아, 서울과, 내 과거를 그리워하고 있구나, 하고. 내 삶이 마냥 행복했던 것만은 아니다. 중2틱한 우울병에 걸려 매일매일 우울한 글만 홈페이지에 쓴 적도 있었고, 아픈 적도 있었고, 좌절한 적도 있었다. 하지만 어쨌든 난 그걸 전부다 이겨냈고, 그 모든 것을 지나보낸 덕분에 난 더 행복할 수 있었다. 여기가 내가 익숙한, 그리고 내가 행복했던 환경이 아님을 안다. 목표를 갖고 이 곳에 왔고, 적응해야 할 것이란 것을 알지만.. 언젠가 돌아가고 싶다는 생각이 벌써부터 마음속에 쉬이 사라지지 않는다. 그래도 하고 싶은 일과, 해야 할 일, 그리고 사랑하는 사람이 여기 있으니 힘내서 일어날 수 있다. 오랜만에 허세 글이다. 사실 술먹고 노래방가고 싶은 맘이 간절한데 여기선 텄고, 서울에선 알고스팟 애들이 신년회 한다니 부러워서 써봤다... 시발... ㅠㅠ |
|
von Neumann 이 자주 하던 농담이 있다고 하는데: "뭐, 변수 네 개라고? 변수 네 개면 코끼리도 피팅할 수 있겠다! 변수 다섯 개면 코를 흔들게 할 수도 있어! With four parameters I can fit an elephant, and with five I can make him wiggle his trunk" 실제로 피팅한 용자들이 계시구려. 링크 |
|
| 16 Jan 2010 |
|
| 15 Jan 2010 | |
| 14 Jan 2010 | |