달력

11

« 2019/11 »

  •  
  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

'Other interests'에 해당되는 글 76

  1. 2017.06.07 멍청하면서 자신만만한 (1)
  2. 2017.05.03 바둑룰의 이해 (3)
  3. 2017.02.20 한국 텍학회 창립 10주년 기념 문집 (1)
  4. 2016.09.14 종이접기 물고기 (3)
  5. 2015.08.03 맥 OS 업데이트하다 먹통될 때 (7)
  6. 2011.10.25 John McCarthy
  7. 2011.10.15 내가 써 본 언어 (19)
  8. 2011.10.13 DMR (1)
  9. 2011.10.06 iSad (1)
  10. 2009.05.28 고문치사 (2)
2017.06.07 13:47

멍청하면서 자신만만한 Other interests2017.06.07 13:47

이 그림은 정말 진리 같다.


'Other interests' 카테고리의 다른 글

멍청하면서 자신만만한  (1) 2017.06.07
바둑룰의 이해  (3) 2017.05.03
한국 텍학회 창립 10주년 기념 문집  (1) 2017.02.20
종이접기 물고기  (3) 2016.09.14
맥 OS 업데이트하다 먹통될 때  (7) 2015.08.03
John McCarthy  (0) 2011.10.25
Posted by puzzlist

댓글을 달아 주세요

  1. 총총 2017.09.14 16:08  댓글주소  수정/삭제  댓글쓰기

    말도 안되는 논리로 자기 말 맞다고 우기는 사람들의 글을 보고 있노라면 잠시 착각에 빠질 때도....
    정말 그들의 말도 안되는 자신감은 어디서 나오는 걸까요?

2017.05.03 16:00

바둑룰의 이해 Other interests2017.05.03 16:00

UNIST 물리학과의 김재업 교수가 "바둑룰의 이해"라는 책을 썼다.

우리나라에서야 다들 똑같은 규칙에 따라 바둑을 두고 있지만, 사실 세계적으로 사용되고 있는 바둑룰은 하나가 아니다. 현대 한국 바둑이 일본 바둑의 영향을 받아서 한국 바둑룰과 일본 바둑룰은 거의 같지만, 미묘한 부분에서 차이가 있다. 잘 알려진 것으로는 집수가 아니라 돌수를 세는 중국룰이 있다.

이외에도 다양한 바둑룰이 있는데, 사실 현행 어떤 바둑룰도 완벽하게 모든 상황을 해결하지는 못한다. 이 책에는 정말 기기묘묘한 상황이 수도 없이 제시되어 있어서, 바둑이 얼마나 오묘한 게임인지를 실감하게 한다.

김재업 교수는 기존 바둑룰이 가지고 있는 문제점들을 분석하고, 여기서 더 나아가 현재 알려져 있는 모든 문제 상황을 해결할 수 있는 바둑룰까지 제시하고 있다. 바둑을 좋아하는 사람이라면, 바둑의 심오한 세계를 느껴보고 싶은 사람이라면 꼭 한번 볼 만한 책이라 생각된다.

안타깝게도 이 책의 가치를 알아보는 사람이 많지 않아서, 이 놀라운 책을 출판해 주는 곳이 없었다. 마땅히 관심을 보여야 할 한국기원은 시큰둥했고, 이 책을 조판한 프로그램인 TeX을 이용한 출판을 할 수 있는 경문사는 수학 전문 출판사이다 보니 출판에 난색을 보였다. 어쩔 수 없이 김재업 교수는 교보문고 POD 서비스인 PurPle을 통해 자비출판을 해야했다. 그래서 교보문고를 통해서만 주문할 수 있고, 주문 후 제작 배송이 이루어져서 받을 때까지 시간이 좀 걸린다.

관심 있는 분들을 위하여 차례를 올려둔다. 더 세부적인 차례는 교보문고의 해당 페이지를 참고하시라.

제 1 장 바둑이란 어떤 게임인가 11

제 2 장 삶과 죽음, 그리고 빅 19

제 3 장 삶과 죽음의 모호성 35

제 4 장 계가법 65

제 5 장 이상적인 바둑룰이 갖추어야 할 조건 97

제 6 장 한국룰 105

제 7 장 일본룰 127

제 8 장 중국룰 197

제 9 장 AGA룰 217

제 10 장 동형반복과 동형반복 금지 227

제 11 장 응씨룰 289

제 12 장 새로운 바둑룰의 제안 301

제 13 장 인공지능과 바둑룰 343

부록 A 패와 패따냄 349
부록 B 마지막 순서넘김돌의 처리법 353
부록 C 기권의 시점 357
부록 D 시간제한 규정 359

참고 문헌 363

찾아보기 365




'Other interests' 카테고리의 다른 글

멍청하면서 자신만만한  (1) 2017.06.07
바둑룰의 이해  (3) 2017.05.03
한국 텍학회 창립 10주년 기념 문집  (1) 2017.02.20
종이접기 물고기  (3) 2016.09.14
맥 OS 업데이트하다 먹통될 때  (7) 2015.08.03
John McCarthy  (0) 2011.10.25
Posted by puzzlist

댓글을 달아 주세요

  1. pod 2017.05.09 10:21  댓글주소  수정/삭제  댓글쓰기

    예전에 공상과학소설 한편 썼던적이 있는데 부크크라는 pod서비스 출판사를 통해서 책을 냈었습니다. 종이책과 전자본 모두 가능하더군요. 교보문고pod서비스가 전자본 서비스 또한 제공하는지 아닌지는 모르겠습니다만, 많은사람들에게 접근성이 용이하시는 것이 목적이라면 전자본도 고려해보심이 어떨까 싶습니다. 실제로 제가 낸 책은 종이책은 약 만원 전자본의 경우 500원이였던걸로 기억합니다. 가격도 좋고, 아무래도 종이책 애용하는 고객+전자본 애용하는 고객 모두에게 노출이 많이 되니 광고도 좀 더 되리라생각합니다./별개로 책 내용은 흥미로울 것 같습니다. 바둑의 각 룰마다의 분석은 꽤 많으나 그에따른 해결책까지 정확히 제시한 책은 본적이 없거든요. 바둑은 많은 수학자들이 흥미를 가질만한 주제라 생각합니다. 에르되시도 동료 일본 수학자에게 바둑을 배워 같이 연구도 해봤다지요:)

  2. 사문난적 2017.05.14 22:55  댓글주소  수정/삭제  댓글쓰기

    이거 보고 뒤져 봤더니 서문에 pomp 님이 나오더군요. 근데 옛날 바둑규칙은 자세히 검토하지 않은 것 같네요. 예컨대 "양일", "정도", "정자", "정허"... 아, 마지막 것은 환기두수자법이니 빼고, Alan M. Turing이 고안한 룰은 나오는지 확인해 봐야겠네요.
    참, 저도 직업상(?) 룰에 관심이 있어서 사이버오로에 글 2개 올렸습니다.

  3. 김재업 2017.05.26 09:21  댓글주소  수정/삭제  댓글쓰기

    홍보해 주셔서 고맙습니다. 컬러 그림으로 컴파일하면 90메가 정도 파일이 나오는데, upaper는 50메가 부크크는 20메가 용량제한이 있어서 ebook은 여전히 못 만들고 있습니다. (다른 기술적 문제는 다 해결해 놓고 이것 때문에 막히는 건 좀 황당하긴 하네요.)

    기보가 600여 개 되는데, 이걸 전부 TeX으로 그리면 용량이 수 메가 정도로 줄어들겠습니다만, 그 정도 노가다는 감히 엄두가 안나네요. (바둑판 그리는 TeX 패키지는 있기는 합니다.)

    종이책 판매가 더 이상 안될 때쯤 되면 어떻게든 문제를 해결하고 ebook을 만들어 보기는 할 생각입니다.

지난 2월 11일, 동국대에서 한국 텍학회(KTS) 정기총회 및 학술대회가 있었다.


2017년은 창립 10주년이기도 하여, 기념 문집을 발간했는데, 442쪽이나 되는 양에 내용도 대단히 좋고, 무엇보다 책의 만듦새가 너무나 훌륭하다. TeX으로 책을 만들면 어느 정도까지 가능한지를 보여준다고나 할까.


편집, 조판 모두 KTS에서 하고, 인쇄만 경문사에서 했는데, 기념 문집이다 보니 판매용으로 만든 책이 아니어서, 안타깝게도 총회 현장에서 판매한 것말고는 구매할 수가 없다. 나는 발표자여서 증정용으로 한 부 받았다. 인쇄본 책자가 필요한 분은 경문사에 전화해서 2쇄를 찍어달라고 졸라보라.


다행히 KTS에서 전문을 PDF 파일로 올려놓았으니, TeX에 관심 있는 분이라면 꼭 다운받아서 읽어봤으면 싶다. 정말 주옥 같은 글들이다. TeX으로 달력도 만들고, 악보도 만들고, 바둑 기보도 만든다.


다운로드 사이트: http://conf.ktug.org/2017


아래는 KTUG 게시판에 Progress님이 따로 올려주신, 기념 문집의 차례.





'Other interests' 카테고리의 다른 글

멍청하면서 자신만만한  (1) 2017.06.07
바둑룰의 이해  (3) 2017.05.03
한국 텍학회 창립 10주년 기념 문집  (1) 2017.02.20
종이접기 물고기  (3) 2016.09.14
맥 OS 업데이트하다 먹통될 때  (7) 2015.08.03
John McCarthy  (0) 2011.10.25
TAG KTS, TeX, , 텍학회
Posted by puzzlist

댓글을 달아 주세요

  1. 사문난적 2018.05.31 20:52  댓글주소  수정/삭제  댓글쓰기

    이 학회 회장이 제 대학 동기와 이름이 같은 사람이라고만 생각했더랬는데, 며칠 전에 우연히 바로 그 동기임을 알고는 깜짝 놀랐네요.^^

2016.09.14 14:03

종이접기 물고기 Other interests2016.09.14 14:03

유지원 박사님의 오리가미 물고기 이야기를 보고 떠오른 생각.


로버트 랭의 물고기
로버트 랭의 물고기 CP

저 물고기는 현존 최고의 origamist라 할 만한 Robert Lang(본업은 물리학자)의 작품으로, CP(crease pattern)로 보는 것과는 달리 단계가 꽤 많아서 깔끔하게 접기가 만만치 않다. 내가 좋아하는 물고기는 Davor Vinko의 작품으로 CP도 훨씬 간단하고, 아주 금방 접어낼 수 있다. 
(풀칠은 해야 한다.)


그런데 Vinko의 물고기는 꼬리 부분에 안팎이 뒤집히는 부분이 있어서 양면이 다른 색종이로 접으면 색이 뒤섞여서 덜 예쁘다. 그래서 Vinko의 model도 양면이 같은 종이로 접었다.

Vinko는 나중에 이 부분을 물고기 머리 부분에 종이를 한 번 뒤집어 접는 방법으로 해결하여 더 멋진 작품을 만들었다. 꼬리 부분에 색이 섞이지도 않으면서, 머리 부분만 다르게 색을 넣어서 아주 멋지다.


접는 방법(diagram)은 여기(1/2)여기(2/2).

Vinko의 물고기에서 인상적인 부분은 눈인데, 종이를 우그려 넣는 방식이 재미있다. Vinko는 이런 방식을 이전에 다른 작품에도 시도했는데, 물고기에서 아주 잘 구현되었다. Vinko는 이 방식을 이용하여 부엉이도 만들었다.



부엉이의 큰 눈에 아주 잘 어울리는 방식이다.


이 방식은 다른 origamist에게도 영감을 주어, Lang만큼이나 지존인 Joseph Wu 선생은 이런 작품을 만들어내었다.

 

Owl (inspired by Davor Vinko)

더 발전하여 이런 것도.


Horned Owl

Wu 선생은 CP도 공개하셨으나, 나는 CP만 보고도 접어내는 analyst 수준이 아니다 보니 구경만. -_- 아무튼 종이접기의 새로운 표현 방식이 다양한 작품으로 발전해 가는 것을 보니 정말 멋지다.


'Other interests' 카테고리의 다른 글

바둑룰의 이해  (3) 2017.05.03
한국 텍학회 창립 10주년 기념 문집  (1) 2017.02.20
종이접기 물고기  (3) 2016.09.14
맥 OS 업데이트하다 먹통될 때  (7) 2015.08.03
John McCarthy  (0) 2011.10.25
내가 써 본 언어  (19) 2011.10.15
Posted by puzzlist

댓글을 달아 주세요

  1. 율러 2016.09.19 17:57  댓글주소  수정/삭제  댓글쓰기

    종이접기 하나도 모르는 학생인데 재밌어보이네요
    혹시 쉬운 종이접기 기본서 하나만 알려주실 수 있으신가요?

    • Favicon of https://pomp.tistory.com BlogIcon puzzlist 2016.09.19 22:21 신고  댓글주소  수정/삭제

      종이접기 책이 수십 종 나와 있으니 서점에서 한번 훑어 보시고 자신에게 맞는 걸로 고르시는 게 좋겠습니다. 사실, 쉬운 책은 너무 많고, 수준 높은 책은 너무 적어서 문제지요. 혹시 아이가 있으시다면 간단한 동물 접기 같은 게 괜찮습니다. 수학적인 종이접기에 관심이 있으시다면 modular origami 같은 게 좋습니다. 우리말로는 "다면체 종이접기" 정도 될 겁니다.
      책이 부담스럽다면 -- 접는 법을 알기 어려운 경우도 적지 않고요 -- 유튜브를 이용하는 것도 한 가지 방법입니다.

  2. 율러 2016.09.19 23:04  댓글주소  수정/삭제  댓글쓰기

    친절히 알려주셔서 감사합니다!

2015.08.03 15:13

맥 OS 업데이트하다 먹통될 때 Other interests2015.08.03 15:13

iMac OS를 업데이트 하다 문제가 생겼다.


컴퓨터가 열심히 업데이트 다 하고 재시동하더니, 회색 바탕 화면에 마우스 커서만 움직이고 아무 것도 되지 않았다. 원래 여기서 로그인 버튼이 떠야 하는데.


그래서 애플 고객 센터에 전화 걸어 물어보니, cmd-R 누르고 재시동하란다. 그러고 OS 재설치를 선택. 다시 다운로드하고 재시동되더니 재설치 시작. 그런데 시간이 한참 지나 "약 3분 남음" 상태에서 꼼짝을 않았다.


고객 센터에 다시 물어보니, 하드 점검을 해 보란다. 당연히 아무 이상 없었다. 이번엔 OS 재설치를 위해 USB 메모리 스틱으로 부팅 디스크를 만들자고 한다. 다운로드 완료하고 재시동 후 재설치할 때 문제가 생긴 건데, 따로 부팅 디스크를 만드는 게 무슨 차이가 있다고? 어이가 없어서 얘기를 하니, 고객 센터에서는 하드웨어 문제 같으니 수리점에 들고 가 보란다.


이런 현상으로 문의하는 일이 있냐고 물었더니, 자기들은 처음이라고 한다. 애플 수리점에 전화해서 물어보니 한 달에 한 번 정도 있다고.


이 상황을 페이스북에 올렸더니, 페친들이 해결책을 알려주었다. 역시 고객 센터보다는 경험자들이 낫다.


먼저, "약 3분 남음" 상태에서 cmd-L을 누르면 현재 진행 상황이 나타난다. 내 경우, TeX 파일들을 옮기느라 시간이 오래 걸린 것이었다. 12시간까지 걸린 사람도 있다는데, 나는 5시간 정도 지나니 설치가 완료되었다.


문제는, 설치 완료 후 재시동했더니, 다시 회색 바탕에 마우스 커서만 나온다는 점이다.


그래서 다시 페이스북에 올렸더니, 안전 모드로 부팅해 보라고 한다. 맥을 껐다 켜면서 shift 키를 누르고 있으니 느릿느릿 작동하면서 로그인. 다시 OS 설치 중 화면이 뜨더니 시간이 조금 지나고 나서 "설치됨"이 떴다. 재시동하니 이번에는 로그인 화면이 뜨면서 정상적으로 작동하였다.



'Other interests' 카테고리의 다른 글

한국 텍학회 창립 10주년 기념 문집  (1) 2017.02.20
종이접기 물고기  (3) 2016.09.14
맥 OS 업데이트하다 먹통될 때  (7) 2015.08.03
John McCarthy  (0) 2011.10.25
내가 써 본 언어  (19) 2011.10.15
DMR  (1) 2011.10.13
Posted by puzzlist

댓글을 달아 주세요

  1. Favicon of https://toclear.tistory.com BlogIcon Toclear 2015.08.05 22:33 신고  댓글주소  수정/삭제  댓글쓰기

    맥os가 큰 조각 하나보다도 작은 크기에 많이 조각난 파일에 좀 약한 것 같습니다. LaTeX같은 경우엔 문서 하나 만들면 3~4개씩은 기본으로 나와서 상당히 싫어하는 것 같아요. 10.11 업글 하실땐 tex폴더만 압축하고 해보셔요. 원만하게 처리되리라 예상합니다.

  2. 컴퓨터기사 2015.08.26 10:44  댓글주소  수정/삭제  댓글쓰기

    그런데 맥os 왜 쓰지, 한국에서는 않되는 프로그램 많을건데, os 업데이트가 하드웨어 문제로 않되는 경우있나?
    구형이 아닌 컴퓨터인 아닌경우에야, 그런데 이교수 컴맹이가? os 업데이트 않된다고 서비스센터에 문의 하다니, 그리고 애플은 서비스 않좋기로 유명한데,아이패드 아닌다음에야 os는 ms거 써라 , 그게 정신건강에 좋을거다

  3. 컴퓨터기사 2015.09.05 10:28  댓글주소  수정/삭제  댓글쓰기

    요즘 중학생도 윈도우업데이트는 할줄아는데,, 업데이트 않되면 안전모드로 하는건 기본이고,, 바이러스나 시스템 불안정해서 컴퓨터가 이상할때 안전모드로 부팅하는건 상식 아닌가? 서비스센터에서도 황당할거요,, 동족 업계 종사자로서
    자기가 검색해보고 서비스센터에 문의해보시오, 기사 가면 출장비 들고,os는 메인보드가 구형이 아닌다음에야 하드웨어 문제로 업데이트 않되는일은 거의 없고, 맥키토시 컴퓨터는 보통 그래픽 분야에서 일하는 사람들이 많이 쓰는데, activ x가 맥키토시에서 않돌아가는걸로 아는데 컴퓨터기사보고 바보라니, 이건뭐 공자앞에서 문자쓰는 꼴이군, 충분히 자기가 검색해보고 서비스센터에 연락합시다.기사들도 이런 전화 받으면 황당함,

2011.10.25 12:16

John McCarthy Other interests2011.10.25 12:16

역사상 두 번째로 오래된 컴퓨터 프로그래밍 언어인 Lisp을 창안한 John McCarthy (1927.9.4-2011.10.23) 사망.

()   () (( (())

()() )( )) ()

'Other interests' 카테고리의 다른 글

종이접기 물고기  (3) 2016.09.14
맥 OS 업데이트하다 먹통될 때  (7) 2015.08.03
John McCarthy  (0) 2011.10.25
내가 써 본 언어  (19) 2011.10.15
DMR  (1) 2011.10.13
iSad  (1) 2011.10.06
Posted by puzzlist

댓글을 달아 주세요

2011.10.15 02:01

내가 써 본 언어 Other interests2011.10.15 02:01

한국어, 영어 말고 컴퓨터 프로그래밍 언어.

C 언어의 아버지 Dennis Richie 사망 소식을 보니, C 언어 공부하던 시절 생각이 나서 내가 써 본 컴퓨터 프로그래밍 언어가 뭐가 있나 생각해 보았다.

1. 처음 배운 언어는 당연히 BASIC.

동생이 컴퓨터 학원에 다니면서 덩달아 나도 놀러가서 어깨 너머로 배웠다. 동생은 컴퓨터 경진 대회에 나가 상도 타더니 결국 전공도 이쪽으로 해서 지금도 컴퓨터로 먹고 살고 있다.

그때 학원에는 SPC-1000이 주력 기종이어서 내장되어 있던 BASIC 언어는 Hu-BASIC. 나중에 SPC-1000을 사서 이런저런 프로그랭 많이 짜 보았다. 인상적인 경험 가운데 하나는 모든 점에서 연속이지만 모든 점에서 미분불가능한 Weierstrass 함수가 어떻게 생겼는지 도저히 알 수가 없어서 프로그램을 짜서 그려 본 것. 그래프를 확대하면서 보니 어떻게 모든 점에서 연속이면서도 미분이 불가능한지 알 수 있었다. 컴퓨터가 장난감을 넘어 공부에 도움이 될 수 있다는 사실을 깨달은 순간이었다.

나중에 IBM PC 시대가 되면서 GW-BASIC, QBASIC 등도 조금 다루어 보았다. 1학년 교양 화학 숙제 가운데 복잡한 정적분 문제의 근사값을 중앙전산원 컴퓨터에서 BASIC으로 간단히 프로그램을 짜서 구했던 기억이 난다. Simpson 공식 같은 걸 쓰는 것보다 닥치고 구간을 더 많이 세분하는 게 훨씬 편리하다는 사실로부터 100년 전 사람들은 상상도 할 수 없던 문제 해결 방법이라며 킬킬댔던 기억도 난다.

2. 기계어 Z80

8비트 컴퓨터 시절에는 컴퓨터마다 메인 프로세서가 달라서 기계어도 거기에 맞춰서 따로 배워야 했다.

SPC-1000에 쓰인 것은 Zilog의 Z80 프로세서. BASIC으로 짰던 프로그램을 기계어로 바꿔서 실행했을 때 그 속도 차이는 정말 어마어마했다.

3. 거북 그래픽 Logo

사실 Logo를 제대로 써 본 건 대학 와서였지만, 희한하게도 고등학교 때 이미 알고 있었고, 프로그램도 짤 수 있었다. 당시 최고의 컴퓨터 잡지였던 <마이크로소프트웨어>에 Logo 프로그래밍이 연재되고 있었기 때문이다. 그러니까 마치 "키스를 책으로 배웠어요" 같은 상황이랄까.

8비트 컴퓨터 시절에 Logo를 돌린다는 것은 어려운 일. 그렇지만 거북 그래픽에 매혹되어, BASIC으로 Logo 인터프리터를 짜는 황당한 짓도 해 보았다. 그러나 역시 재귀호출이 없는 BASIC의 한계만 절감하고 말았다.

4. 그리고 C

대학교 2학년 때 학과 전산실이 생겼다. Unix 머신이었고, 전산실 컴퓨터끼리 네트웍 연결은 되지만 인터넷은 아직 안 되던 시대.

내가 써 보고 싶던 언어는 Pascal이었다. <마이크로소프트웨어>에 Pascal 특집이 여러 차례 실리기도 했고, 대단히 멋있어 보이던 언어였다. 그러나 전산실의 Unix 컴퓨터에는 당연히 C가 깔려 있었다. 전산실에 굴러다니던 Kernighan & Richie의 <The C Programming Language>를 보면서 처음으로 C 언어를 공부했다.

Unix에서 돌아가는 게임 하나 없는 상황이어서, C 공부하면서 블럭 맞추기 퍼즐을 짰다. 열다섯 개의 조각을 4x4 판에서 움직여 순서대로 맞추는 시시한 퍼즐이었지만 꽤 공부가 되었다. 숫자로 하면 재미없을 것 같아서 아예 그림까지 그려서 만들었다. 이때 vi 에디터도 귀신 같이 썼는데, 지금은 다 잊어먹었다. 

조각을 섞을 때 처음에는 아무 생각없이 랜덤하게 섞었는데, 마지막에 두 조각이 서로 바뀐 상태로 더 이상 맞출 수 없는 결과가 나오곤 해서 처음에는 이상하게 생각되었다. 열다섯 개의 조각을 아무렇게나 배열해도 당연히 순서대로 만들 수 있을 줄 알았으니까. 나중에 현대대수학을 공부하면서 홀치환과 짝치환을 공부하고 나니 무엇이 문제인지 알게 되었다. Sam Loyd의 유명한 퍼즐에 대해서도 나중에 알게 되었다.
 
대학교 3학년 때 386 PC를 사면서 드디어 Turbo-C를 쓰게 되어, 한동안 내 주력 언어가 되었다. 수치해석 과제도 모두 C로 작성했고, 좀 어려워 보이는 수학 문제다 싶으면 일단 C로 짜서 돌려보곤 했다.

초등학교 5학년 탐구생활에 "1부터 9까지 아홉 개의 숫자를 순서는 그대로 두고 사칙 연산을 이용하여 100을 만들라"는 문제가 있었다. 이 문제의 모든 해를 구해 본 것도 이때 C를 이용해서였다.

5. 아마 아무도 모를 ABC

석사 학위 논문을 쓸 때, 다항식에 대한 계산을 해야했다. C로 짜서 할 수도 있었지만, 빈번하게 나오는 유리수 연산 부분을 따로 만들려니 너무 귀찮았다. 그러던 중 ABC라는 언어를 알게 되었다. 무한정밀도 연산을 지원하는 언어라는 점이 무엇보다 매력적이었다. 예를 들어, 1/(2**100)을 변수 x에 넣은 다음, 1/x를 출력하면 \(2^{100}\)의 결과를 그대로 보여준다.

ABC 덕분에 석사 논문에 실을 계산을 무사히 해낼 수 있었다. 나중에 다시 보니 중간에 계산 실수를 해서 결과가 좀 이상하긴 했지만.

이 재미있는 언어를 소개해야겠다는 생각에 하이텔 프로그래밍 동호회 자료실에 ABC 언어 인터프리터를 올리기도 했지만 아무도 관심을 갖지 않았다. C 같은 초강력 언어가 인기를 끌던 시대에 ABC처럼 장난감 같은 언어에 관심을 가지는 사람이 없는 건 너무나 당연한 일이었다.

6. 실행 가능한 의사 코드 Python

인터넷 시대가 되면서 홈페이지에서 cgi를 처리하는 PERL 같은 언어도 구경해 보았지만, 너무 어려워 보여 엄두가 나지 않았다. 그냥 C 잘 쓰면 되지라는 생각이었다. 그런데 뭔가 간단한 프로그램을 짜기에 C는 너무 불편했다. ABC처럼 무한정밀도 연산을 할 수도 없었고. 이럴 때 쓸만한 간단한 프로그래밍 언어가 없을까 궁금해졌다.

어려서부터 여러 컴퓨터 프로그래밍 언어에 관심이 조금 있다 보니, 새로운 언어가 무엇이 있나 기웃기웃하다가 Python이라는 언어를 알게 되었다. 내가 원하던 무한정밀도 연산이 가능할 뿐만 아니라, 문법도 너무나 명쾌해서 "실행 가능한 의사 코드"라는 말이 어울리는 언어였다.

Python을 처음 쓸 때, C에서 블럭을 { }로 묶는 것과 달리, 들여쓰기로 블럭을 만드는 것을 보고, 어쩐지 ABC와 비슷하다고 생각했는데, 나중에 알고 보니 Python을 만든 Guido van Rossum이 ABC 언어 팀에서 같이 일한 적이 있다고 한다. 그러니까 나는 Python을 만날 수밖에 없는 운명?

7. 바둑 프로그램 만들려고 배운 PHP

원대했던 처음 계획은 MSN 메신저로 바둑을 두는 것이었다. 바둑 사이트에 접속해서 바둑을 두려니 시간 문제가 커서, 메신저에 좌표를 입력하면 바둑판이 텍스트로 출력되는 형태를 생각했는데, MSN 메신저의 글자수 제한 때문에 포기했다. 그 대신에 웹에 바둑판을 보여주고, 아무나 아무 때나 둘 수 있으면 어떨까 하는 아이디어가 떠올랐다. 문제는 이런 프로그램을 돌릴 웹 서버.

그 무렵 내가 운영하던 퍼즐 홈페이지가 있던 웹 서버가 있었다. 후배가 관리하던 컴퓨터였는데, 무슨 언어가 깔려 있나 보니 PHP뿐. Python이라면 금방 만들 수 있을 텐데, 상황이 이렇다 보니 그냥 PHP로 만들기로 했다. 사실 바둑 프로그램의 운영 방식을 생각하면 PHP가 가장 적절한 선택이기도 했다. 강력한 기능은 별로 필요없고, 웹의 요소만 활용하면 충분했으니까.

그래서 한 줄 한 줄 책 보면서 만들었다. 처음 쓰는 언어라 시행착오도 무지하게 많았지만 결국 완성해서 잘 두었다. 나중에 후배가 관리하던 서버가 없어지면서 이 바둑 프로그램도 끝이 났는데, 그냥 없애기 너무 아까워서 프로그래머인 동생에게 넘겼다. 내가 만든 프로그램은 온갖 땜질에 엉망진창이었는데, 동생이 깔끔하게 잘 다듬어서 지금도 잘 돌아가고 있다. 참고도 기능까지 넣었으니 과연 프로는 다르다.

내 퍼즐 홈페이지에도 PHP로 온갖 기묘한 짓(?)을 많이 해 놓았다.

8. 홈페이지 제작을 JavaScript도 쓸 줄 모르는 회사에 맡기다니

홈페이지 만들다 보면 JavaScript는 어느 정도 만지게 되니, 이것도 내가 써 본 언어라 할 수 있겠다. 학과 홈페이지에 내 소개를 넣으려고 보니, 어떤 회사에서 만들었는지 HTML 코드가 완전 개떡이었다. 싹 정리하려고 보니 PHP도 없고, 그나마 쓸 수 있는 게 JavaScript. 그래서 교수 이름, 전공, 사진 파일명 등등을 넣으면 일관된 형태로 출력하는 함수를 만들어서 코드 길이를 반 정도로 줄였다.

9. 그밖에

가끔 재미 삼아 어떤 컴퓨터 언어가 있는지 구경하곤 하는데, 어떻게 돌아가는지 구경 삼아 설치했다가 지운 언어가 몇 가지 있다.

하이텔에 동호회도 있었고 프로그래밍 연재도 되었던 Forth. 이 언어는 <마이크로소프트웨어>에서도 연재를 했다. Forth는 후위연산 방식을 쓰고 있어서 우리말 어순과 잘 맞는다는 점에 착안하여, 명령어를 한글로 바꾼 "늘품"이라는 언어가 개발되기도 하였다.

유명한 김창준 님 덕분에 알게 된 언어 J. 알고 보니 Iverson의 APL을 사용가능하도록(?) 바꾼 것이라 할 수 있었다. APL도 그렇지만 J는 너무 어려웠다. 생각을 그대로 타이핑할 수 있다고 하는데, C 스타일에 찌든(?) 나에게는 너무 어려웠다.

논리 퍼즐을 푸는 데 적합한 언어인 Prolog. 역시 머리가 굳은 건지 제대로 된 프로그램을 짜기는 어려웠다.

굳이 따지자면, 수학 논문 쓸 때 사용하는 (La)TeX도 프로그래밍 언어의 일종이라 할 수 있겠다. 그냥 수식 처리하고 문서 형태 맞추는 정도만 배워도 충분하지만, TeX 코드를 잘 활용하면 재미있는 결과를 많이 얻을 수 있다. 요즘 TeX에서 그림 그리는 방식의 표준이 되어가고 있는 PGF/TikZ도 프로그래밍 언어의 일종인 셈이고, 역시 그림 그리는 프로그램인 MetaPost도 마찬가지.

여기에 제대로 다시 공부해야 할 언어로 Mathematica를 들어야겠다. 그냥 그때그때 인터넷 뒤져가며 프로그램을 짰더니 아직도 Mathematica 프로그램은 영 익숙하지가 않다. 명색이 수학 전공이면서 Mathematica 하나 제대로 못 쓴다니 부끄러운 일이다.









 

'Other interests' 카테고리의 다른 글

맥 OS 업데이트하다 먹통될 때  (7) 2015.08.03
John McCarthy  (0) 2011.10.25
내가 써 본 언어  (19) 2011.10.15
DMR  (1) 2011.10.13
iSad  (1) 2011.10.06
고문치사  (2) 2009.05.28
Posted by puzzlist

댓글을 달아 주세요

  1. Favicon of http://redpain.tistory.com/ BlogIcon redpain 2011.10.15 12:33  댓글주소  수정/삭제  댓글쓰기

    전 제목을 보고 들어오면서, Mathematica를 가장 자신있고Haskell을 언급하시지 않을까...했는데 제 예상을 완전히 깨는 언어 리스트군요. ;;

  2. Favicon of http://lime3.tumblr.com BlogIcon 라임에이드 2011.10.15 15:16  댓글주소  수정/삭제  댓글쓰기

    CoffeeScript도 한번 알아보세요. 자바스크립트인데 파이썬입니다(?)

  3. whitehol 2011.10.15 16:22  댓글주소  수정/삭제  댓글쓰기

    목록에 나오는 언어 중에 제가 제대로 배운 건 베이직뿐이군요. 국민학교 때 8비트 PC 베이직 프로그래밍 배우고, 중학교 때 GW-Basic 배우고.

    Matlab이 목록에 없어서 좀 뜻밖이었습니다. 수학 전공자들은 매트랩 별로 안 씁니까?

    • Favicon of https://pomp.tistory.com BlogIcon puzzlist 2011.10.15 23:50 신고  댓글주소  수정/삭제

      아마 수학자들 중에는 수치해석 전공 빼고는 Matlab이 뭔지도 모르는 사람이 대부분일 걸.
      Mathematica나 Maple처럼 symbolic computation이 되는 쪽을 쓰니까.

  4. Favicon of https://premint.tistory.com BlogIcon 달빛의 노래 2011.10.15 19:03 신고  댓글주소  수정/삭제  댓글쓰기

    c언어 덜덜덜 파이썬 덜덜덜

  5. 斯文亂賊 2011.10.18 13:15  댓글주소  수정/삭제  댓글쓰기

    음... PHP라... 예전에 올려주신 슈뢰딩어의 고양이도 이것으로 그리셨는지요?^^

    • Favicon of https://pomp.tistory.com BlogIcon puzzlist 2011.10.18 20:18 신고  댓글주소  수정/삭제

      고양이는 그냥 바둑 두는 프로그램으로 그렸습니다. PHP로 만든 바둑은 두 수 연속 둘 수 없게 해 놨거든요.
      참, 요즘 문 사범님은 잘 지내시는지 모르겠습니다.

    • 斯文亂賊 2011.10.18 23:41  댓글주소  수정/삭제

      그랬군요... 저도 문 사범님과 연락이 되지 않아서리... 사이버오로에 새로 칼럼 연재중이시던데요^^

  6. Favicon of https://www.valken.net BlogIcon 이쁜왕자 2011.10.19 21:08 신고  댓글주소  수정/삭제  댓글쓰기

    누가 보면 컴퓨터를 전공한줄 알겠어요...

  7. 상일 2011.10.20 09:20  댓글주소  수정/삭제  댓글쓰기

    SPC-1000 BASIC으로 제가 겨우 문자열로 입력된 분수가 포함된 수식 값 계산하는 프로그램 짤때, pomp님은 Weierstrass 함수를 그리고 계셨군요 ㅋㅋ

  8. 곤충 2011.10.21 00:48  댓글주소  수정/삭제  댓글쓰기

    저는 얼마전에 Coq이라는 Functional Langeage를 공부했었는데, 이건 신기하게도 수학적 명제를 증명하는 언어더군요. 정리와 증명을 코드로 Formalize해서 컴파일하면 컴파일러가 증명이 올바른지 잘못되었는지 체크해 줍니다. 증명이 잘못되었으면 컴파일 에러가 떠요;; 또, Proof Automation 기능이 있어서 간단한 것은 지가 알아서 증명해주더라고요.

  9. ZL 2011.10.31 22:24  댓글주소  수정/삭제  댓글쓰기

    되게 많이도 했군 ^^; 나야 소시적 COBOL 배워봤다는 게 자랑. 어셈블리도 해봤다는 게 두 번째 자랑. 하지만 지금은 python도 제대로 못한다는 좌절. goto 없이 프로그램 짜려면 답답해 하는 basic 중독자라는 좌절.

    • Favicon of https://pomp.tistory.com BlogIcon puzzlist 2011.11.01 12:20 신고  댓글주소  수정/삭제

      원래 고수는 Go To Statement Considered Harmful로부터 자유로운 법. PERL도 할 줄 아는 사람이 이러시면 안 됩니다. ^^
      그나저나 Numb3rs 강연 준비는 다 하셨는지?

  10. 조충지 2016.11.14 20:30  댓글주소  수정/삭제  댓글쓰기

    하이텔 오랜만에 듣네요. 학창시절에 数学建模(수학모형?) 수업때 Matlab하면서 C언어 배웠었는데 배울수록 필요한 걸 느끼던..

2011.10.13 18:01

DMR Other interests2011.10.13 18:01

Unix와 C 언어의 창시자 Dennis MacAlistair Richie(1941.9.9-2011.10.9) 사망.

사망 일자에 대해 뭔가 혼선이 있는 듯.




C

'Other interests' 카테고리의 다른 글

John McCarthy  (0) 2011.10.25
내가 써 본 언어  (19) 2011.10.15
DMR  (1) 2011.10.13
iSad  (1) 2011.10.06
고문치사  (2) 2009.05.28
謹弔  (1) 2009.05.25
Posted by puzzlist

댓글을 달아 주세요

  1. Favicon of http://redpain.tistory.com/ BlogIcon redpain 2011.10.14 09:59  댓글주소  수정/삭제  댓글쓰기

    전설이 떠나가는군요. 애도를 표합니다.

2011.10.06 19:01

iSad Other interests2011.10.06 19:01


Steve Paul Jobs, 1955.2.24 - 2011.10.5

'Other interests' 카테고리의 다른 글

내가 써 본 언어  (19) 2011.10.15
DMR  (1) 2011.10.13
iSad  (1) 2011.10.06
고문치사  (2) 2009.05.28
謹弔  (1) 2009.05.25
라캉의 수학  (23) 2009.01.25
TAG Apple, jobs, 부고
Posted by puzzlist

댓글을 달아 주세요

  1. 斯文亂賊 2011.10.08 09:52  댓글주소  수정/삭제  댓글쓰기

    애플사 로고는 튜링과 관계가 없다지만, 한 입 베어먹은 사과를 보면 앨런 튜링이 생각나더군요.
    Thank you Turing, goodbye Jobs...

2009.05.28 14:14

고문치사 Other interests2009.05.28 14:14

동료 교수가 노무현 전 대통령의 죽음에 대해 평한 표현.

'Other interests' 카테고리의 다른 글

DMR  (1) 2011.10.13
iSad  (1) 2011.10.06
고문치사  (2) 2009.05.28
謹弔  (1) 2009.05.25
라캉의 수학  (23) 2009.01.25
현대 수학은 아직 멀었다.  (6) 2008.12.23
Posted by puzzlist

댓글을 달아 주세요

  1. babocherub 2009.05.28 14:36  댓글주소  수정/삭제  댓글쓰기

    아주 적절한 표현이네요. 그나마 전직 대통령이었으니 망정이니 안 그랬으면 정말 '턱하고 치니 억하고 죽었다' 했을지도.....

  2. in6640 2009.06.01 17:13  댓글주소  수정/삭제  댓글쓰기

    처음엔 자살 하나만 놓고 보았을 때는, 당황만 했었는데,이 안들었었는데, 살아오신 업적과.. 그리고, 해 오신 일들을 보니까, 정말 훌륭한 분이셨구나.. 하는 걸 깨닫습니다.