January 2010
19 posts
오덕페이트 드립이 재밌긴 했지만 슬슬 끝을 내야 할 시점이 아닌가 싶다. 루저 드립도 하루 이틀 쯤 지나갈 일이지 몇 달이 지나도 나올 만한 얘기는 아니다. 사실 나도 미투데이에 “진지하게 말하자면 네놈은 오타쿠의 수치다”라고 써 놓았는데, 물론 농담은 아니다만 이 문장을 그대로 해석하면 내가 덕페를 미친듯이 까는 것처럼 보일 것이기 때문에 (…) 그 뜻이 아님을 밝히기 위해서 글을 써 둔다.
오히려 나는 오덕페이트가 굉장히 모범적인 사례라고 생각한다. 요전에 루마니아 사건만 해도 백수질 하면서 부모님 뜯어 먹은 것 때문에 욕을 먹은 것이었지만, 그의 경우 천만원이 넘는 돈을 꾸준히 알바로 모을 수 있었다는 점에서 (그게 오덕질을 위한 집념이든 기본적인 특성이든) 성실성...
시범적으로 새 사이트 디자인과 통합을 시도하고 있다. 당장은 최소한의 통합만 되어 있기 때문에 아마 사진이나 그런 건 바로 안 보일 것이다. 뭐 안 되면 되돌리면 되지;
사이버 공유회 2: TEDxYonsei, 2부
이전 글에서 이어진다. 그래야 한다…
5
다섯번째 발표에 앞서 엠마누엘 잘의 TED 강연이 스크린으로 방송되었다. (물론 중간에 동영상 문제로 끊기는 사태가 발생했으나 뭐 볼 건 다 봤으니까…) 다음 발표가 같은 수단 출신인 아눌 다파알라 씨의 발표인지라 틀어 준 것 같다.
발표는 영어로 진행되었다. 덕분에 상당수의 참석자가 그의 “안녕하세요”라는 인삿말에 엄청난 환호성을 지르다가 바로 영어로 말하기 시작하자 환호성이 그치는(…) 걸 볼 수 있었다. 동시통역 지원을 했던 모양인데 영어로 써 있으니 다들 외국인을 위한 한영 번역이라고 생각하고 다들 신청을 안 했던 것 같다. 덕분에 사람들은 본의 아니게 영어 리스팅 실전에 돌입하게...
사이버 공유회 1: TEDxYonsei, 1부
“공유회”는 뭔가 어떤 사람이 다른 사람은 경험하기 힘든 뭔가를 경험했을 때(이를테면 외국의 컨퍼런스라거나) 그걸 다른 사람들과 공유하기 위해서 하는 행사이다. 물론 나는 절대로 남 앞에서 곧바로 나불댈 수 있는 사람이 아니기 때문에 글로 대신한다 (…)
앞 글에서 결과물 2에 대응하는 것은 제1회 TEDxYonsei 행사였다. 이 행사가 굉장히 내용이 많았던 관계로 시간 순서 따위는 가비얍게 무시하고 이것부터 먼저 쓰기로 하겠다.
TEDxYonsei는 다들 잘 아는 TED 컨퍼런스의 한국 버전이다. TED는 “퍼뜨릴 가치가 있는 아이디어”(Ideas Worth Spreading)를 위한 컨퍼런스로, 원래는 그 중 세 개,...
이번 주말동안 정신적으로 지칠 정도로 너무 자극을 많이 받았다. 김창준 님이 요전에 “컨퍼런스나 비싼 교육이 생각보다 많은 가치가 있다, 질러 볼 가치가 있다”는 얘기를 하셨는데 전적으로 동감한다! 이거 자칫하면 석사 1년차에 컨퍼런스 다니는 삽질을 할지도
미투데이에 “주말 일정이 다섯 개”라고 했는데 이건 좀 잘게 쪼갠 거고 크게는 세 개의 일정이 있었다. 이들 일정 모두 아는 사람이 두 명 이상 끼었지만 거의 대부분 새로운 경험을 했다. 이틀 동안 다섯 개의 새로운 경험을 했다는 건 정말 예상치 못한 수확이고 잊을 수 없는 일이었다. (보통은 한 달에 한 경험 하면 많이 한 거니까…) 자세한 사항을 모두 적을 수는 없고 다섯 개의 일정의 결과물을...
1 tag
앞 글에 이어서, 여기부터는 사용자들이 안전한 암호를 선택하도록 유도하려면 어떻게 해야 할지 잡소리를 해 보자. 반쯤은 내 불평도 담겨 있다.
절대로, 절대로, 절대로 암호를 평문으로 저장하지 않는다. 또한 가능하면 최대한 느리면서 안전한 해시 함수랑 HMAC, 그리고 salt를 결합해서 사용하라. (이를테면 php에서는 hash_hmac 함수를 쓰란 소리) 왜 이래야 하냐고?
해시 함수를 쓰는 궁극적인 목적은 설령 공격자가 서버에 침입해 와도 많은 정보를 얻지 못 하게 하려 함이다. 한 사이트 암호 뚫렸다고 같은 암호 쓰는 다른 사이트에서도 암호가 줄줄이 뚫리는 상황이 웃기지 아니한가? 암호 찾기 기능은 응당 암호를 평문으로 알려주는 것이 아닌 임시 암호로 변경하고 알려 주는 시스템이 되어야...
1 tag
웹 사이트 가입이라거나 그런 걸 위해서 암호를 고를 때 그 안전성을 결정하는 것은 암호의 정보량1이다. 만약 암호를 만들 때 로마자 대소문자와 숫자를 사용할 수 있다면, 한 글자당 62가지 선택이 가능하므로 그 정보량은 log262 ~= 5.95비트이다. 따라서 이런 식으로 열글자 암호를 만들면 59.5비트의 정보량을 가지게 되고, 무작위로 암호를 찍으려고 할 경우 많으면 259.5회의 시도를 해야 한다. (평균은 당연히 그 절반인 258.5회이다.)
물론 이건 이론상으로 사람이 완벽하게 랜덤한 문자열을 만들 수 있다는 가정에 따른 것이다. 실제로는 사람의 행동은 굉장히 예측이 쉬운 편이며, 랜덤하게 만들었다고 생각해도 랜덤하지 않은 경우가 태반이다. 예시를 들자면, 옛날에는 난수표를 타자수가 손으로...
오케스트라가 없는 세계
누가 하늘의 소리 3편에 코멘트한 게 인상깊었다. “오케스트라가 없는 세계”.
우리의 기억은 그 동안의 경험에 좌우받고 있으므로 우리가 당연히 여기는 것이 없는 세계를 상상하는 건 당연히 쉬울 수가 없다. 하지만 생각해 보면, “우리가 당연히 여기는 것”이라고 해도 실제로는 최근 5~10년 안의 경험으로부터 유래하는 건데, 뭐 대놓고 말하면 인터넷의 상용화가 이제 겨우 10년 조금 넘은 상태가 아닌가. 그래서 앞으로 10년 후에 무슨 일이 일어날지에 대해서 생각해 보는 건 언젠가는 해야 할 일이긴 하다. (옛날에는 10년이 긴 시간이라고 생각했는데, 성인이 되고 나서 보니 10년은 그렇게 긴 시간이 아니다. 그 동안에 놓친 것이 너무 많았다.)
책을 읽는...
최근 보는 애니메이션
히다마리 스케치 3기. 후배들이 들어 와서 더 즐거운 히다마리장! 만화책 번역되는 대로 사서 봐야 하는데 번역자가 오경화라니 때려 치고 내가 일본어를 마스터하는 게 빠를지도…
개그만화 보기 좋은 날+. 4기가 아니라 플러스인 이유가 3기 재방 + α라서 그렇다고 하는데 설마 반은 신작이겠지. 아직까지는 그럭저럭.
하늘의 소리. (typographical하게는 “하·늘·의·소·리”라고 쓰면 좋겠으나 역시 치기가 귀찮다.) 케이온 2기라는 농담이 농담은 아닌 것 같은데 그림이 좋아서 그냥 볼 것 같다. 스토리는 일단 두고 보기로 한다.
하나마루 유치원. 신작 치유계 애니메이션이라는 소리에 낚여서 봤더니 오 이런 가이낙스 퀄리티가… 1편 본 즉시 전편 모두 보기로...
1 tag
오픈 소스 프로젝트로 변환하기
원래는 자유 소프트웨어나 오픈 소스 프로젝트가 아니었던 소프트웨어를 오픈 소스로 풀어야 할 경우가 있다. 개인적으로는 주변에 그렇고 그런 사람들(ㄲㄲㄲ)이 있어서 안팎으로 압력을 주고 받고 하는데, 아무래도 정리를 간단히 해 봐야 할 것 같아서 글을 써 둔다.
먼저 오픈 소스화가 저작권의 포기 같은 거랑 동등하지 않다는 점을 확실히 해 두어야 한다. 오픈 소스화라 함은 “당신의 프로그램을 사용할 권리가 있는 사람에게 소스 코드를 주고 활용할 권리도 준다”로 요약될 수 있다.1 따라서 예를 들어서 오픈 소스임에도 불구하고 프로젝트를 혼자서 유지해 나가고 다른 사람들의 의견을 모두 무시한다고 해도 상관은 없다. 단지 그런 프로젝트 운영이 꼴보기 싫어서 누군가가 소스 코드를 받은 뒤 그걸...
망할 놈의 집
나를 오프라인에서 잘 아는 사람들이라면 내가 굉장히 소심하고 넋이 반쯤 나가 있다는 걸 알 것이다. 내가 신경질적이 되는 걸 본 사람은 몇 없을 것이다. 하지만 내가 들어 가기만 하면 자동으로 신경질적이 되는 곳이 있으니, 바로 집이다. (참고로 나는 고등학교 이래 올해로 8년째 기숙사에 살고 있으며 집에는 1년에 한 두 달 정도 체류한다.)
집의 문제는 여러 가지가 있다. 일단 부모님이 내 작업을 다양한 방법으로 심하게 방해한다는 게 하나고, 내가 하는 말을 제대로 듣지도 않으면서 나중에 그거 갖고 캐묻는 (아니 말할 때 잘 듣지도 않아 놓고?) 것이 하나며, 내가 하는 말을 이해하려고 시도하지도 않는 것이 하나다. 방해의 예를 든다면 절대로 나를 한 시간 이상 조용히 내버려 두는 경우가 없다는...
1 tag
다분히 전산학도적인 발상일지도 모르겠으나, 학교에서 의무적으로 ISO 8601을 읽고 쓰는 방법을 가르쳐야 한다고 생각한다. ISO 8601은 시간과 날짜를 어떻게 표기하고 어떻게 교환할 것인가를 정의한 국제 표준이다.
왜 굳이 ISO 8601을 써야 하는가? 그건 기존에 사용하는 표기법이 너무나도 불규칙해서 사람들을 종종 혼란에 빠뜨리기 때문이다. (적어도 나 같은 사람은…) 이게 가장 극명하게 드러나는 경우로 자정의 표기가 있다. 숙제 제출을 1월 10일 자정까지 해야 한다고 할 때 이건 1월 10일과 11일 사이의 자정인가 9일과 10일 사이의 자정인가? 몇몇 사려깊은 분께서는 이걸 1월 10일 23시 59분 59초 전까지라고 써서 혼란을 피하기도 한다. ISO 8601에서는...
잠시 옛날에 짰던 C 코드를 개선할 일이 생겨서 고치고 gcc(정확힌 mingw)로 컴파일을 했는데 실행하는 순간 세그폴트가 떴다. gdb로 돌려 봤을 때 세그폴트가 나는 시점은 main 함수가 실행된 직후였고 세그폴트가 난 위치는 cygwin.asm의 _alloca 함수였다. 혹시 내 mingw 설치본이 맛이 간 건가 하고 최적화 레벨도 바꾸고 디버그 옵션도 켰다 껐다 해 보고 직전에 추가했던 오브젝트 파일도 빼 보고 했는데도 안 되길래 정말 맛이 갔나 싶었는데…
조금 생각해 보니까 오브젝트 파일 추가하기 직전, 즉 개선을 시작한 직후에 바뀐 코드에 문제가 있었다. 원래 코드에서는 400KB 정도 되는 배열을 스택에 잡아 쓰고 있었는데 알고리즘의 변경으로 이게 여섯 배 정도로 커지면서 스택...
1 tag
과학 대 비과학
과학이 인류를 크게 바꿔 놓은 만큼 과학의 중요성에 대해서 부정하는 사람들은 많이 없을 거라고 생각한다. 하지만 그들 중에 정작 과학이 뭐고, 과학이 “왜” 중요한지에 대해서 잘 설명할 수 있는 사람이 많은 것 같진 않다. 그래서 여기에 대한 글을 써야 한다는 생각은 계속 하고 있었는데… 저번 학기에 과제로 끙끙 앓고 있던 타이밍에 추유호 님께서 좋은 글을 써 주셔서 이 주제는 반쯤 나가리가 나 버렸다.
그래서 주제를 조금 바꾸기로 했다. 내가 하고 싶은 말을 세 문장으로 요약하면 이렇게 정리할 수 있다. (사족인 것 같은데 여기서 말하는 “과학”은 정확히 자연과학만을 이른다.)
과학은 내재된 가치가 없다.
과학과 공학은 구분되어야 한다.
...
셸 스크립트와 변수
셸 스크립팅에서 변수를 쓰기 시작하면 여러 가지 머리 아픈 문제를 감수할 필요가 있다. 이 중 가장 골치 아프고, 해결하기 어려운 문제는 while과 같은 복합문 안에서의 변수와 바깥에서의 변수가 특정 상황에서 서로 공유되지 않는다는 점이다. 이를테면:
last=
( echo foo; echo bar ) | while read i; do last="$i"; echo "{$i}"; done
echo "last: $last"
이러면 마지막 줄이 "last: bar"가 나올 걸 예상하겠지만 실제로는 "last: "만 나오고 만다. 이건 while 문 자체는 새로운 변수 스코프를 생성하지 않지만 (정확하게 말하면, 새 프로세스로 서브셸을 띄우지 않지만) 파이프가 들어 가기 시작하면 처리를 위해 새 프로세스가...
December 2009
15 posts
새해 다짐
6일간의 기차여행은 쏜살같이 지나가고 새해가 되었다. 물론 1월 1일에도 뒹굴었다.
올해에는…
기필코 나루 스펙을 완성하겠다!
기필코 메아리 웹사이트를 갈아 엎겠다! (현재 작업중인 건 new.mearie.org에 있음)
기필코 아침을 잘 챙겨 먹겠다!
기필코 지름신을 강림영접하겠다! (내가 정신이 나갔나… 오타가…) 예를 들어 전권 14권짜리 만화책이라거나 데스크탑이라거나 뭐라거나.
기필코 괜찮은 랩에 들어 가겠다! (어?)
음… 더 있을 것 같은데 생각이 나지 않으므로 올해의 목표는 이걸로 잡는 걸로 가야 겠다…