Daybreakin Things

Posted
Filed under Moments of Life
  • 어제 오늘 준호랑 오토마타 공부를 했는데 이론을 이해하는 것은 크게 어렵지 않았으나 작년 시험문제를 보니 '아무리 오픈북이어도 그렇지 시험 시간에 저런 답을 어떻게 써!!'가 공통된 반응이었다. -_- 책에 있는 문제들 1/3이라도 솔루션을 볼 수 있으면 좋겠는데. 오후 6시 50분

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

Posted
Filed under Moments of Life
  • 날뷁서버 Ubuntu Edgy에서 Feisty로 업그레이드 완료. 아파치의 auth_digest 모듈 사용법이 바뀌는 바람에 일일이 설정 고쳐준 것과 python 2.4에만 설치되어있던 패키지들을 2.5에 재설치(이제부터는 완전 2.5만 사용)에서 삽질했다. 오전 1시 59분
  • )!2년전 들은 일반물리II는 수리물리가 선수과목이었음을 깨달았다; 아놔 뒤통수맞은 기 오후 2시 42분
  • )"분ㅠㅠ 오후 2시 42분
  • 헉... me2sms를 핸드폰에서 80byte 넘어서 멀티메일인가 뭔가로 보내지더니 깨졌군요;;;; 오후 3시 12분
  • 원래 하고 싶었던 얘기: 2년전 들은 일반물리II에서 훑(?)었던 상대성 이론과 양자역학의 수학적 기초를 오늘 수리물리 수업을 듣고 나서야 이해했다. 이거 완전 뒤통수 제대로 맞은 기분. 아니 왜 기초보다 전공이 더 쉽게 것 같지... (물론 절대적으로 쉽진 않다) 오후 3시 18분

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

Posted
Filed under 살아가기, 생각하기

어제 드디어 스웨덴 KTH로부터 최종 입학허가 메일이 날라왔다. 아직 우편으로 온 것은 아니고 그쪽에서 먼저 메일로 스캔본을 보내준 것이다.

그래서... 사전 조사에 들어갔다. -_-;

스톡홀름 대학을 사이에 두고 기숙사와 KTH가 있다. 스톡홀름 북부 지역.

위의 빨간색 동그라미가 기숙사가 있는 지역이고, 아래의 빨간색 사각형이 강의실과 도서관 등이 있는 학교다. 거리는 직선으로 약 2.5 ~ 3km 정도 되는데, 잘 포장된 오솔길들이 중간에 있어서 자전거로 통학하면 딱일 듯. (한겨울엔 좀 춥겠다-_-)

기숙사 지역 확대

전원마을 같은 분위기다. 나는 저기서 Amanuensvagen이라는 곳의 어느 한 건물에 묵게 된다. (길 이름으로 주소를 만드는 것 같다) 사진 오른쪽 위 구석을 보면 작은 선착장과 모래사장이 있다. 이 위는 내륙으로 깊숙히 굽어들어온 바다다. (우리나라의 남해안처럼 해안선이 굉장히 복잡하게 되어 있다.) 사진의 왼쪽 아래에 있는 건물은 스웨덴 자연사 박물관.

이제 학교 전경. KTH는 Kungliga Tekniska Hogskolan의 약자였다. -_-;

위키백과를 찾아보면 잘 나온 사진들은 몇 장 구할 수 있을 것이고, 구글어스를 이용해 각 장소에서 찍은 사진 등의 부가 정보를 표시하면 더 많은 모습을 볼 수 있다. 위성사진이 여름에 찍은 거라 저렇게 아름다운 초록빛을 띠고 있지만 겨울엔 무척이나 황량하고 눈이 많이 올 것 같다.

학교 내에 도서관이 세 군데 정도 있는 것 같다. 아직 강의나 이런 것은 어디서 이루어지는지 잘 모르겠다. 특이한 건 학교 왼쪽으로 기찻길이 지나간다는 것. 구글어스를 잘 들여다보니 철도망이 상당히 발달해 있는 것 같다.

아무튼 재밌는 교환학생 생활이 되었으면 좋겠다. 이번에 우리학교에서 나 혼자만 지원한 줄 알았는데 06학번으로 추정되는 사람이 한 명 더 있었다. Physical Engineering School로 가는 거 보니 기계공학과인 듯? 외국인들하고도 많이 사귀어야 할 텐데.
Posted
Filed under Moments of Life
  • 전에 모 님이 추천해주신 아서 클라크의 '라마와의 랑데뷰'하고, 도서관에 책 빌리러 갔다가 바로 옆 자리에 있길래 같이 빌려온 '유년기의 끝' 두 권을 연속 독파해버렸다. (말렸다 orz) 오전 2시 34분
  • 스웨덴 KTH에서 서류 받았다는 확인 메일과 함께 기숙사 배정 메일이 날라왔다. (아직 선발 확정은 아니라고 써 있다) 근데 기숙사비가 한달 42만원이네... 덜덜 오후 8시 39분
  • KTH 입학허가 확정 메일 도착. 자, 이제 무엇무엇을 준비해야 할까요~ 오후 10시 16분

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

Posted
Filed under Moments of Life
  • 이번 시험기간에 제대로 공부할 과목은 오토마타밖에 없는 것 같다. (기말고사 때 수리물리의 ㅎㄷㄷ함은 일단 제쳐두고...-_-) 이참에 오토마타 연습문제 다 풀어볼까; (일본어는 족보 풀고 하루 정도 열나게 외우면 될 것 같고, OS는 족보 조금 풀어보면 될 것 같다) 오후 5시 52분

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

Posted
Filed under Moments of Life
  • 기차타고 자면 이상하게 잠도 깊게 안 오고 일어났을 때 머리아프다. 무선랜이라도 되면 좋을 텐데... (책을 읽는 것도 나쁘지 않으나 항상 책을 갖고다니는 건 아니라서..) 오후 5시 57분
  • OS 플젝 하나를 끝내고 느끼는 거지만 저번 학기 SE(소프트웨어공학개론)는 OS보다 n배 빡셨던 것 같다 -_- 물론 OS도 2, 3번 플젝하다보면 더 빡세질 수 있겠지만... 오후 6시 38분
  • 오토마타 플젝 중... 저걸로 한글 입력기 오토마타를 어찌 만들어야 할까.... 오후 10시 30분

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

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