Daybreakin Things

Posted
Filed under Moments of Life
  • 시험 보는 주 금요일, 그러니까 모든 다른 시험이 대부분 끝난 그 시간에, 전산물리학 시험 + 수업을 한다는 청천벽력같은 소리가 ..... orz 시험끝나고 놀지도 못하겠군; 오전 12시 41분

이 글은 daybreaker님의 미투데이 2007년 10월 13일 내용입니다.

Posted
Filed under Moments of Life
  • 오에스로 한고비 넘겼나 싶더니 오토마타 숙제가 완전 개노가다.. 스크립트 짜서 돌릴까 그냥; 오전 3시 40분
  • 기숙사에 후레이크(시리얼)랑 우유 사다놓으니 아침에 식당 시간 놓쳤을 때 좋구나. 근데 후레이크를 어째 식사용도보다 간식용도로 더 많이 먹고 있다;; 오후 9시 7분
  • 전산물리 수업 때 발표할 주제로 Mandelbrot 집합 그리는 프로그램을 VB 6.0으로 짜고 있는데, 클래스 만드는 데 뭐가 이리 안 되는 게 많은지... C#이나 파이썬 쓰고 싶다 -_-; 오후 9시 15분

이 글은 daybreaker님의 미투데이 2007년 10월 10일 내용입니다.

Posted
Filed under 컴퓨터

이번 학기 듣는 수업 중에 전산물리학개론이라는 과목이 있다. 물리과에서도 아주 괴짜로 소문난(?) 모 교수님의 수업인데, 보통 전산물리학이라고 하면 수치해석적 기법들에 대해 다루지만 이 수업은 자기가 모델링한 것이나 기존 이론들을 컴퓨터로 '재빠르게' visualize함으로써 어떤 insight를 빨리 얻는 것을 목표로 하고 있다.

이 과목에서는 각자 개인별로 주제 발표를 하나씩 해야 하는데, 전산물리학 수업 시간에 배운 기법들을 동원하여 어떤 물리적 현상에 대한 것을 다루는 것이다. 수업 시간에 지금까지 배운 것들은 Excel, Excel+VBA, Visual Basic 6.0, VC++ MFC를 모두 약간씩 맛보았으니(교수님의 모토가 '필요한 것만 그때그때 배워서 쓰면 된다'라서 그냥 닥치고 따라해보기 식의 수업이다-.-) 그 중에서 무엇을 고를 것인가가 문제다.

나는 초등학교 6학년때부터 중학교, 고등학교때까지도 많이 썼던 Visual Basic 6.0을 골랐다. Java나 Python 같은 OOP 언어로 짜다가 오랜만에 VB6으로 프로그램을 짜보니 갑자기 왤케 안 되는 것이 많던지.. (VB도 OOP 언어이지만 언어적 기능이 다소 딸리는 편이다.) 연산자 재정의라든가 오브젝트 생성시 인자 넘기는 것이라든가 안 되는 것이 좀 있었지만 어쨌든 프로그램은 금방 짤 수 있었다.

내가 잡은 주제는 그 유명한 만델브로트 집합. 워낙 유명한 거라서 카오스의 '카' 자라도 들어봤다면 다들 한번쯤 본 적이 있을 바로 그 그림이다.; 프로그램 짜놓고 혼자 감상하면서, 정말이지 어떻게 그런 간단한 식으로부터 그런 복잡하고 아름다운 그림이 나오는지 신기했다.

User inserted image

저 몇 줄 안 되는 코드로 이런 그림을 그릴 수 있다.

사실 이 프로그램을 중학교 때 한 번 짜려고 시도했던 적이 있는데, 그때는 Picture Box와 복소 평면 사이의 좌표변환 개념을 제대로 이해하지 못해서 중도에 그만두었던 기억이 있다.

요즘 수리물리 시간에 Complex Analysis에 대해 배우고 있는데, 복소수의 세계는 정말 오묘하다. 특히 conjugate를 취한 z*를 z와 서로 다른 변수로 취급할 수 있다는 사실과, 복소함수의 singularity들을 보면서 추상화와 일반화의 힘이 어떤 것인가 체험하고 있다.

아무튼 결론은 잡담이었다는 것과 전산물리 발표 잘 끝났으면 좋겠다는 거.

그림 추가 : 결국 말려서... 색깔 기능까지 업그레이드! -_-

User inserted image

Julia 집합. Multiple color scale을 적용한 것으로 왼쪽으로 갈수록 확대된 것이다.

User inserted image

Mandelbrot 집합에서, 1pixel = 10E-12 정도로 확대했을 때 나타나는 Julia 집합.

Posted
Filed under Moments of Life
  • 일단 수리물리 숙제 조금 늦게나마 제출하고(LaTeX "제대로" 쓰려니 빡시다-_-), OS 프로젝트도 모든 테스트를 통과했다. 그런데 뭔가 trick을 써버린 부분이 있어서 좀 찔린다(?)...;; 테스트는 통과하지만 이 커널 그대로 쓰면 메모리릭이 뻔한데... 오전 5시 55분
  • Revision 60으로 1번 프로젝트 완료. 사실 테스트는 아까 전에 통과했지만, 좀더 완벽하게 마무리 처리를 해주었다. 이제 보고서 써야 되는구나... orz 오전 7시 4분
  • 드디어 Pintos 1번 프로젝트 제출! ㅠ_ㅠ 오후 11시 30분

이 글은 daybreaker님의 미투데이 2007년 10월 9일 내용입니다.

Posted
Filed under Moments of Life
  • 결국 이틀 동안 밤새서 만든 코드 다 버리고 새로 짰다. 아놔-_-; 이제 nested만 구현하면 되겠구나. 오전 1시 3분
  • 어제 웹서핑하다가 우연히 본 버티컬 마우스. 실제로 만져본 적이 한 번 있긴 한데, OS 프로젝트하느라 어깨 결림이 발생하고 나니 써볼까 하는 생각이 든다. 오후 5시 57분

이 글은 daybreaker님의 미투데이 2007년 10월 8일 내용입니다.

Posted
Filed under Moments of Life
  • 이번 OS 플젝의 최대 난제는 lock_release다. ㅠ_ㅠ 오전 2시 7분
  • 수프림 커맨더 세계 랭킹 58위를 적으로 두고 2v2 팀전했는데 완전 캐발렸다.;; 21분에 핵발사대 건설 시작, 28분 30초에 건설 완료, 29분 50초에 연속 2발 발사. 쥐쥐. 오전 2시 8분

이 글은 daybreaker님의 미투데이 2007년 10월 7일 내용입니다.

Posted
Filed under 컴퓨터

와, 얼마만의 정식(?) 블로그 포스팅인지 모르겠다.

요 근래 OS 프로젝트를 하느라 거의 밤샘하다시피하면서 폐인 생활을 계속했었는데, 딱 하나 잘못 생각했던 것 때문에 거의 2일 이상을 날려먹었음을 깨닫고 그동안 짰던 priority donation 코드를 싹다 버리고 새로 짰다. -_- 2일 동안 밤새서 만든 코드보다 양도 더 적고 버그도 적었다.

그렇다면 그동안 했던 삽질이 헛수고냐라고 묻기 쉬운데 잘 생각해보면 꼭 그런 것 같지만은 않다. 그렇게 삽질을 하면서 어떤 버그나 문제가 발생했을 때 잠재적인 원인을 유추하는 스킬이 생기고 특히 이번 프로젝트를 통해 gdb 사용법을 좀더 자세히 알게 되었다.

User inserted image

어제의 작업 화면. 현재 버전에선 가운데 화면의 코드 중 절반 이상이 바뀌었다.

OS 커널 코딩은 SP 때와 상당히 다른 느낌이다. SP 때는 코딩량 자체가 많았지만, OS는 코딩량은 얼마 안 되어도(Pintos 처음 코드와 현재 내가 고친 코드를 diff 뜬다면 아마 100줄 정도밖에 안 바뀌었을 것이다) 한줄 한줄의 의미와 영향력이 엄청나게 중요해서 정말로 생각을 많이 해야 한다. 모니터를 보며, vi의 ctags로 이리저리 돌아다니며 계속 생각하고 모델링해야 하는 것이다. 또한 내가 처음부터 만드는 프로그램이 아니고 이미 Pintos라는 주어진 OS 골격 안에서 프로그램을 짜야 하기 때문에 다른 사람이 만들어둔 소스를 읽는 스킬도 중요한 것 같다.

SP를 들으며 "Segmentation Fault"에 익숙해졌다면 OS를 진행하면서 "Kernel Panic"에 익숙해졌다. -_- 이제 블루스크린이나 커널패닉이 떠도 개발자가 얼마나 고생했을까 하는-_- 동병상련(?)의 마음이 들 것 같다; 물론 데이터 날려먹으면 화는 나겠지만..;;

SP와 OS를 들으며 느끼는 거지만, 큰 규모의 디버깅이 힘든 프로그램을 짤 때는 다음을 꼭 지켜야 하는 것 같다.

  • 하다가 막히면 일단 쉬자. 게임을 한판 하든 산책을 하고 오든 잠을 자든 다른 짓을 하고 다시 보면 새로운 아이디어가 떠오르는 경우가 많다.
  • 오랫동안 짠 코드라고 버리기를 아쉬워하지 말자. 보다 나은 설계가 있다면 최대한 빨리 적용하고 테스트해보자. (물론 만일에 대비하여 버전관리 시스템을 사용하는 것을 권장한다)
  • 잘 이해가 안 되는 부분이 있다면 다른 사람에게 물어보거나 같이 토론하는 것이 큰 도움이 된다. 직접적으로 답을 제시받지 못하더라도 남에게 설명하기 위해 스스로 문제를 정리하게 되기 때문이다.

이제 오늘 중으로 18개의 test-case 중 남은 2개에 해당하는 nested donation 구현만 끝낸다면 1번 프로젝트는 끝난다. 그러나 2번 프로젝트는 훨씬 더 많은 test-case가 기다리고 있다는 소문이..... OTL

Posted
Filed under Moments of Life
  • 오늘 한 일 : 교환학생 신청 대학에 보낼 application form 및 자기소개서/이력서 제출 + Pintos 테스트 2개 더 통과 (현재 4개 남음). 나 자신에 대한 상으로 수프림커맨더를 했는데 캐발렸다. ㄲㄲ 오전 4시 21분

이 글은 daybreaker님의 미투데이 2007년 10월 6일 내용입니다.

Posted
Filed under Moments of Life
  • 헉, 알고보니 교환학생 지원할 때도 자기소개서를 써야 하는구나. 근데 KTH 홈페이지에는 additional information (if any)라고만 되어 있고 공식적으로 요구하지는 않는 듯한데 국제협력팀에서는 왜 다 적어내라는 거지? 오전 1시 56분
  • 사진관 문닫아서 더 먼곳으로 와서 찍고 기다리는 중..ㅠㅠ (유성홈에버→둔산홈에버) 오후 2시 10분
  • 오, 사진관 센스 있다; 사진 찍은 거 원본 디지털 파일을 CD로 구워줬네;; 멀리 간 보람(?)이 있다; 오후 2시 52분

이 글은 daybreaker님의 미투데이 2007년 10월 5일 내용입니다.

Posted
Filed under Moments of Life
  • Pintos 플젝하느라 꼬박 밤새고 아침밥까지 먹었다.; 눈 좀 붙이고 수업갈 준비해야겠구나... 오전 9시 5분
  • OS가 SP에 비해서 코딩량은 훨씬 적은데(지금까지 짠 거 100줄은 될라나), 한 줄 한 줄이 정말 도닦는 기분이다. 굉장히 중요한 버그를 고치기 위해 딱 한 줄을 추가하기까지 8시간이 걸렸다. 오후 4시 34분

이 글은 daybreaker님의 미투데이 2007년 10월 4일 내용입니다.

Posted
Filed under Moments of Life

이 글은 daybreaker님의 미투데이 2007년 10월 3일 내용입니다.

Posted
Filed under Moments of Life
  • 원격 서버에서 latex 작업하고 브라우저로 pdf 보려고 Foxit Reader 삭제 후 Adobe Reader 8.1을 깔았는데 pdf 주소를 열면 그냥 백지다. -_- IE7과 FF2 모두 마찬가지네... 재설치도 해보고 갖은 삽질을 했건만 달라지는 건 없다.; 오전 5시 0분
  • 기숙사 휴게실에 갔는데 시커먼 남자 여섯이 점심 시켜먹고 있는데 또르르(?) 굴러가는 영어와 네이ㅌ한국어를 동시에 막 섞어서 대화하고 있었다. 이거 뭐야 몰라 무서워 -_- 오후 12시 43분
  • 교환학생 KTH(스웨덴 왕립공대) 1차 선발 확정. 해당 대학 홈페이지에서 신청서를 작성하라는군. 후우; 오후 4시 9분

이 글은 daybreaker님의 미투데이 2007년 10월 2일 내용입니다.

Posted
Filed under Moments of Life
  • 비스타 x64에서 학교 포탈 글 보도록 설정하는 데 성공. 수동 컴포넌트 다운로드 후 Program Files (x86) 폴더로 옮긴 다음 관리자 권한으로 명령 프롬프트 열어서 regsvr32 일일이 쳐주니까 된다. 물론 포탈 및 workflow의 보안 레벨은 최소. 오후 6시 59분

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