2006년 12월 21일 목요일

담배 끊기 : “만약”, “그래서”, “그래도”는 핑계다

열세 살부터 스물아홉 살, 그러니까 한창 <록키>를 촬영하던 그때까지 담배를 피웠다. 영화를 보면 내가 담배를 피우고 있을 것이다. 담배가 더 나이 들어 보일 수 있는 근사하고 멋진 수단이라고 생각했다. 영화배우들도 담배를 피웠다. 대통령들도 마찬가지였다. 운동선수들까지 담배를 피웠다. 아놀드 파머가 한 손에 담배를 들고 골프채를 휘두르던 모습이 기억난다. 권투 시합장에서도 담배 연기가 자욱했고, 그들은 "끽연가"라고 불렸다. 담배는 관능적이고, 섹시하고, 신비하고, 그리고 놀랍게도, 정말 놀랍게도 우리를 죽음으로 몰아넣고 있었다. 니코틴이 끼치는 해악에 대해서는 늘어놓을 필요조차 없을 것이다.

수년 동안 담배를 서서히 줄이기는 했지만, 록키의 몸만들기에 본격적으로 돌입하면서부터야 이제 그만 담배를 끊어야 한다는 사실을 깨달았다. 칼 웨더스와의 권투 장면을 찍기 위해 트레이닝을 하는데, 30초만 지나도 헐떡거렸다. 마치 누군가가 가슴에 뷰익을 한 대 주차해놓은 것 같았다. 담배를 끊는 건 불가능해 보였다. "이게 마지막 담배다." 하고 마음속으로 다짐한 적이 얼마나 많았는지, 거의 200번을 시도하고 난 끝에 담배 없이 한 달을 버텨냈다. 그리고 나한테서 얼마나 더 좋은 냄새가 나는지, 얼마나 더 좋은 냄새를 맡을 수 있는지 알았다. 사실 이것이 담배를 끊은 진짜 이유다. 한동안 담배를 멀리하다가 사람들이 담배를 피워대고 있는 방으로 들어갔더니 속이 몹시 메슥거렸다. 그것으로 담배는 끝이었다.

 

출처 : 실베스터 스탤론의 몸만들기

2006년 12월 20일 수요일

VB.NET 에서 PictureBox 에 그림 그리기

출처 : Devpia

VB2005 Beta 2로 공부를 시작한 초보입니다.

Picturebox에서 그림을 그렸는데 Auto redraw 기능이 없어서 정상적으로 그림이 보이지 않더군요.

그림을 처음 그렸을 때는 보이지 않다가 창을 움직이면 보이고,

최대창이나 최소창으로 하면 또 안보이고...

VB6에서 처럼 Auto redraw 기능을 구현할 수 없는지요?

=============================================================================

제목을 보시면 무슨 이야기 인가 하실수도 있으실텐데요

   

닷넷에서는 옛날과는 달리 그래픽 작업을 직접 개체에 하지 않아도 됩니다. 그것은 매우 유용한 일이 되는것이죠~~

   

닷넷에서는 Bitmap이라는 클래스를 지원을 합니다. 그래픽 작업을 하실때 유용한 클래스 인데요

   

이곳에 직접 그래픽을 생성해서 넣고 그것을 픽쳐 박스의 image로 연결을 하시면 Autoredraw없이 사용하실수 있습니다.

   

정희 AutoRedraw기능을 구현하고 싶으시면 Paint이벤트의 Graphics개체를 이용하여 코딩을 하시면 되는데...

   

그것보다는 위의 방식을 사용하시는것이 좀더 쉬우실겁니다.

   

Bitmap을 사용하는 간단한 예제를 드리자고 하면

   

Private oImage As New Bitmap(500, 500)

Private oGraphics As Graphics = Graphics.FromImage(oImage)

   

위와같이 선언을 하시고요

   

PircutBox.Image = oImage 라고 연결후 oGraphics변수로 작업을 하시면 됩니다. 사용방법은 PicturBox에서 그림 그리시는것과 같으니까 쉬우실 겁니다.

물론 새로운 작업을 oGraphics변수로 작업을 하시면 물론 PicturBox에서 표시가 됩니다. 사이즈 조정으로 화면이 없어지거나 하지도 않고요

저장 하실때도 편리 하실겁니다.

   

아래는 간단한 예제입니다. 참고하세요~~

   

    Private oImage As New Bitmap(500, 500)

    Private oGraphics As Graphics = Graphics.FromImage(oImage)

   

    Private Sub Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        '예제이기 때문에 폼에 코드만 넣어도 실행될수 있도록 동적으로 컨트롤 생성한겁니다.

        Dim picBitmapEx As New PictureBox

        Dim btnBitmapEx As New Button

        With picBitmapEx

            .Name = "picBitmapEx"

            .Dock = DockStyle.Fill

            .Visible = True

            '위에 선언한 Bitmap클래스를 Image로 설정합니다.

            .Image = oImage

        End With

        With btnBitmapEx

            .Name = "btnBitmapEx"

            .Text = "이미지 생성"

            .Width = 200

            .Visible = True

        End With

        AddHandler btnBitmapEx.Click, AddressOf Me.Button_Click

        Me.Controls.Add(btnBitmapEx)

        Me.Controls.Add(picBitmapEx)

    End Sub

   

    '동적으로 생성한 버튼을 클릭했을때 그리드를 그립니다.

    Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

        Dim pen As Pen = New Pen(System.Drawing.Color.DimGray, 2)

        Dim Rect As Rectangle = New Rectangle(40, 70, 400, 180)

        ' 모눈종이 눈금 그리기(y축)

        For x As Integer = 40 To 440 Step 10

            oGraphics.DrawLine(New Pen(Color.DarkGray, 1), x, 70, x, 250)

        Next x

   

        '모눈종이 눈금 그리기(x축)

        For y As Integer = 70 To 250 Step 10

            oGraphics.DrawLine(New Pen(Color.DarkGray, 1), 40, y, 440, y)

        Next y

        '동적 생성한 컨트롤이기에 이 부분이 필요함

        Me.Refresh()

    End Sub

   

예제 만드는 것보다 파랑칠 하는게 더 어렵죠

2006년 12월 13일 수요일

인공지능이란?

내가 생각하고 있는 인공지능이란…

인공지능은 사전적인 의미로 얘기하자면 사람이 생각하는 것을 본따고, 사람이 생각하는 방식을 모방해서 무엇인가를 만들어낸다 라고 한다. 그런데 여기서 어처구니 없는 논리적 오류를 범하고 있다. 과연 사람은 사람이 어떻게 생각하는지 알고 있을까? 내가 이 글을 쓰고 있지만 이 글이 나의 머릿속 어디에서 어떠한 매커니즘을 거쳐서 손으로 나오는지 알고 있는 사람은 아무도 없다. 그 알지 못하는 것을 모방 할려니 안될 수 밖에… 그래서 흔히 "인공지능이라는 학문은 뜬구름을 잡는것과 비슷하다. 결과가 없다. 만들어 낼 수 없다." 라고들 얘기한다.

그럼 인공지능을 전공하고 있는 석사과정의 학생입장에서는 인공지능이란 과연 무엇일까…

간단하게 표현하자면 지금까지의 것보다 효율이 더 좋은 자료구조론이 되겠다. 이것은 무엇을 의미 하는가.

예를 들어 어떠한 사람이 트리를 탐색하는데 컴퓨터보다는 더 적은과정을 거쳐서 목표점을 찾는다고 하자. 컴퓨터는 논리적인 장치이기 때문에 옳고 그름을 이용해서 트리를 탐색하지만 사람은 약간의 느낌 또는 가능성을 이용해서 트리를 탐색한다. 이 가능성과 느낌이라는 것이 인공지능이며, 가능성과 느낌을 정형화 시킬 수 있는 수학식으로 표현하는 것이 인공지능학문이 되겠다.

인공지능이란 비록 사람의 생각을 모방할 순 없어도 사람이 생각하는것과 비슷한 과정을 거쳐서 더 좋은 결과를 얻을 수 있다면 그것이 바로 인공지능이라고 볼 수 있다.

카리스마

카리스마… 네이버에 찾아봤더니 다음과 같이 나왔다.

요약 : 본래는 그리스도교적 용어로 "은혜", "무상의 선물" 이라는 뜻

본문 :

신약성서에서는 어떤 특정한 의미를 지니고 있지 않은데, "다시 거두어 가지 않는" 하느님의 선물 전체를 뜻하기도 하고, 예수그리스도가 인간에게 거저 베푸는 "은총의 선물"을 뜻하기도 한다. 이 단어가 특정한 의미를 지니고 사용된 것은 온갖 종류의 "무상의 선물"을 베풀면서 활동하는 성령의 현전을 설명하기 위해 사용하기 시작한 때부터이다. 즉 성령의 특별한 은혜이다.

그리스도교에서는 그리스도인 개개인이 개별적으로 받게 되는 소명 또한 여기에 기인한다. 모든 신자들은 각자 자기 나름의 카리스마를 받아 단일하고 다양한 "하느님의 은총의 관리자"로서 생활하게 되는 것이라고 말한다.

M.베버는 이말의 원뜻을 확대하여 사회과학의 개념으로 확립시켰다. 즉, 보통의 인간과는 다른 초자연적.초인간적 재능이나 힘을 이렇게 불러 그 말에 대한 절대적 신앙을 근거로 맺어지는 지배와 복종의 관계를 카리스마적 지배라고 이름하여 지배형태의 하나로 만들었다. 그것은 법률에 따른 지배나 관습에 따른 지배와는 달리 어디까지나 카리스마의 소유자에 대한 개인적인 절대적 신앙을 바탕으로 하고 있다.

참 이렇게 복잡한 의미를 가지고 있는지 진작에 알았다면 이런글을 쓰지도 않았을 것이다. 카리스마가 종교에서 기인된 것이라니…

내가 일반적으로 생각하고 의미하는 카리스마는 일종의 리더쉽이라고 생각한다. 네이버 백과사전에 후반부에 나오는 의미와 비슷하다고 보면 되겠다. 나는 어렸을때부터 카리스마(그때는 카리스마가 뭔지 몰랐다.)를 가질려고 무진장 애를 썼다. 친구들에게 윽박을 지르면서… 또는 싸움에서 이기면서 거짓말을 해서라도 남보다 우위를 선점함으로써 카리스마를 가지려고 했었다. 이제 20대 중반으로 접어드는 시점에서 카리스마라… 지금 역시 나의 인생목표는 폼생폼사 이다. 뭐 옷을 잘입고 못입고를 의미하는 폼생폼사가 아닌… 내 의견에 확실하고, 굳건한 신념을 가진다. 그것이 일종의 카리스마로 작용하는 것일까? 나의 또래 또는 나의 집단에서 난 항상 리더의 역할을 많이 하게 된다.

간혹 어쩌면 몇 년 안된 사실… 난 그 리더의 역할을 제대로 수행하지 못했적이 있다. 아니… 못했다기 보다는 리더로서 하지 말아야 할 행동, 말을 했었다. 그 상황에서 알아채지는 못했지만 몇일이 지나고 혹은 몇 년이 지난후의 나의 과거일들을 부끄러워 하게 된다. 그런 생각때문일까? 최근에는 어떤 집단에서 리더를 하지 않으려고 한다. 다시 한번 그렇게 부끄러운 일이 생기고 몇 년후의 반성해야 할 일로 남을까봐…

하지만 여전히 언제나 행동 하나 하나 말 하나 하나에 카리스마를 유지할려고 노력하고 있는 것이 사실이다.

그러면 내가 어떻게 하면 카리스마를 완벽하게 갖추게 될까?

누군가가 말했다. "사람이 뚱뚱하면 카리스마가 없어" 사실인 것 같다. 그래서 이번 겨울부터 운동을 시작할려고 한다. 겨울이니 시작해야지. 그리고 사람이 말이 많으면 왠지 가벼워 보인다. 평소의 말수를 줄이고 한마디 할 때 강하게 쏘는 말… 사람들에게 경각심을 일깨워 주는말 한마디를 할 줄 아는 사람이 되어야겠다.

그리고 가장 중요한 것은 카리스마가 갖춰졌을 때 나를 따르는 사람들을 이끌수 있는 능력이 필요할 것 같다. 그래서 나는 나에게 주어진 일들을 충실히 해가며, 나의 앞날을 멋지게 설계 하는 것이 나의 완성된 카리스마를 위한 길이라고 생각한다.

2006년 12월 12일 화요일

그날이 오면 3 Dragon Force

오늘은 슈팅게임의 명작 "그날이 오면3" 에 대해서 이야기 해보자

사용자 삽입 이미지

사용자 삽입 이미지

"그날이 오면" 시리즈는 MSX 로 게임하던 시절부터 국산 슈팅게임중에 인기를 많이 끈 작품이다.

국내 게임회사중 하나였던 "미리내 소프트" 에서 1993 년에 개발해서 당시 "한글 음성" 지원이라는 그때 당시에 엄청난 기능을 등에 업고, 세상에 태어난 그런 게임이 되겠다.

미리내 소프트웨어는 그날이 오면 1, 2 편을 MSX 로 만들었다고 하는데 해본적도, 눈으로 본적도 없다. 내가 미리내 소프트웨어를 처음 알게 된건 "자유의 투사" 라는 종 스크롤 슈팅 게임이었는데, XENON 이라는 게임과 아주 비슷한 게임이었다. 그때 화려한 그래픽에 반해 게임을 구입했는데, 게임 내용은 썩 좋진 않았다.

"그날이 오면3" 역시 게임내용은 좋진 않다. 특별한것도 없고, 각 스테이지마다 좀 진행하다 보면 보스가 나오고 하는 뭐 그런류의 게임이랑 다를게 없었다.

하지만, 엄청난 사운드, 그래픽은 사용자에게 게임내용이 뭔지 잊게 해줄정도로 대단했었고, 음악을 듣기위해 게임을 하는 그런 일도 많았다.

그리고 오프닝에 한국어 음성으로 나오는 나레이션… 처음 그 나레이션을 듣고 아직까지 머릿속에서 울리고 있으니, 당시에 얼마나 큰 충격이었을까?

그 뒤에 미리내 소프트웨어는 뭐 생각도 나지않는 이상한 게임들을 몇 개 출시하고, 쇠퇴기를 걷게 된다.

몇 년이 지났을가 "그날이 오면4:이카루스" 로 재도약을 시도하지만 국내 불법 복제 시장의 영향인지 아니면 게임이 재미없었는지 뭐 대충 나오는둥 마는둥 하다가

"그날이 오면 5" 흥행에 실패하고 나서 여느 국내 게임 회사처럼 지하 세계로 사라지게 되었다. 간혹 게임 잡지에서 "미리내 소프트웨어" 간판을 단 게임을 보기도 했지만, 대부분 게임들이 교육용 게임들이었고, 그것마저 인기를 끌지 못한 것 같다.

미리내소프트웨어의 채보는 국내 게임시장의 그것과 비슷하다고 할 수 있다. 슈팅게임이 뜨니깐 너도 나도 다 슈팅게임을 만들고, 참… 그것도 일률적인 횡스크롤 슈팅 충분히 게이머 입장에선 질릴만한 장르가 되었을텐데 그것을 고집하는 바람에 쇠퇴의 길을 걷게 되지 않았나 생각한다.

워드 2007 로 태터툴즈 블로그 퍼블리싱

그 동안 인공지능 프로그래밍 과제를 끝내느라 컴퓨터 앞에 붙어있었지만, 업데이트라던지 뉴스라던지 온통 신경을 쓰지 못해서 원시인이 된 기분이다. 조만간에 블로그에 인공지능 프로그래밍에 대한 글도 써야 할 것 같다. 다른 연구원들의 컴퓨터를 보고 있자니 Explorer 7 과 Media Player 11 깔리고 오피스 2007 로 깔끔한 인터페이스를 즐기는 것을 보고 "나도 해봐야지~" 하는 생각이 들어 Explorer 7 부터 차근히 업데이트를 진행해갔다. TatterTools 까지 업데이트를 하고 업데이트 매뉴얼을 보니 Work 2007 에서 퍼블리싱이 된다고 한다.

   

퍼블리싱 방법은 다음과 같다.

먼저 테터툴즈 관리자모드에서 환경설정 > 기타설정 에서 API 사용을 체크한다.

그 다음 워드에서 블로그 설정을 한다.

   

지금 쓰고 있는 이 글을 퍼블리싱 해볼 생각인데 잘될지 모르겠다.

   

컴퓨터 사양이 별로 좋지 않아 Windows Vista 는 깔기 힘들 것 같고, 오피스 2007 이나 좀 체험해보고 Vista Theme 라도 깔아서 냄새라도 맡아봐야겠다.

   

2006년 12월 5일 화요일

최초의 우주비행 생명체는 '들개'


재미있는 우주비행 신기록들 쏟아져

(서울=연합뉴스) 이정내 기자 = 우리나라 최초의 우주인 후보를 뽑는 작업이 막바지를 향해 치닫고 있다. 현재 8명으로 압축된 우주인 후보는 러시아 현지평가를 거쳐 오는 25일께 최종 2명으로 가려질 예정이다.

우리나라 첫 우주인은 과연 누가 될까. 남성일까, 여성일까, 나이는 몇 살일까 등 벌써부터 궁금증을 자아내고 있다. 이런 가운데 러시아와 미국 등 해외 우주 선진국들이 그동안 쏟아낸 우주비행 신기록들도 그에 못지 않는 흥미를 끈다.

◇ 최초의 우주비행 생명체는 '들개' = 1957년 11월 3일 구(舊) 소련은 살아있는 생명체를 '스푸트니크 2'에 탑승시켜 우주비행을 성공시킴으로써 전세계를 놀라게 했다.

주인공은 러시아어로 '짖는 동물'이라는 뜻의 '라이카(Laika)'라는 이름을 가진 들개. 세계 최초로 지구궤도를 비행한 생명체로 기록됐다.

소련은 우주비행 스트레스를 잘 견딜 수 있는 들개를 주로 우주비행에 이용했으며, 숫개보다 온순하고 오줌누기 위해 일어설 필요 없는 암캐를 주로 이용했다고 한다.

라이카는 원래 모스크바를 떠돌아다니던 몸무게 약 6kg정도의 잡종 들개였다.

라이카는 발사 후 약 5∼7시간 후에 캡슐내부의 고온과 우주비행 스트레스로 인해 죽었지만 우주비행동안 신체변화 데이터를 지상으로 전송, 우주에서 동물이 살 수 있다는 것을 확인시켜 줬다. 이는 1961년 인류 최초의 우주인 '유리 가가린'의 탄생을 성공시키는 밑거름이 됐다.

죽은 라이카를 태운 스푸트니크 2호는 지구를 2천570번 순회한 후 1958년 4월 4일 지구 대기권에서 산화했다. 라이카의 우주비행성공 후 몇몇 국가에서는 라이카를 기념하는 우표를 발간하기도 했다.

◇ 인류 최초의 우주인 = 1961년 4월 12일 인류 최초의 유인 우주선인 보스토크 1호에 탑승한 사람은 '유리 가가린'이라는 소련 공군 중위였다. 스몰렌스크주(州) 콜호스 구성원의 집안에서 태어나 사라토프의 공업중등기술학교 재학 중에 항공 클럽에서 비행 기술을 익히고 오렌부르크의 항공학교를 졸업한 뒤 공군에 입대했다.

1961년 4월 12일 보스토크 1호를 타고 1시간 29분 만에 지구의 상공을 일주함으로써 인류 최초의 우주비행에 성공했다.

우주에서 지구를 본 감상에 대해 "지구는 푸른빛이었다"는 유명한 말을 남겼다.

이후 소령으로 특진해 우주비행사대 대장 등을 지내고 대령으로 진급한 뒤 1968년 3월27일 비행훈련 중 타고 있던 제트 훈련기가 모스크바 근교 블라디미르주(州)의 한 마을에 추락, 사망했다. 러시아의 세계적인 우주인훈련센터의 이름도 그의 이름을 따 붙여진 것이다.

◇ 첫 여성 우주인 = 세계 최초로 우주비행을 경험한 여성 우주인은 구 소련의 발렌티나 테레쉬코바였다.

1963년 6월 16일 보스토크6을 타고 6월 19일까지 총 2일 22시간 50분간 여성 최초로 우주비행을 했다. 400명이상의 지원자 중에 최종 5명의 우주인 후보로 뽑힌 그녀는 26세 후반의 어린나이로 우주비행에 성공, 전세계 여성들의 영웅이 됐다.

당시 선발조건은 30세 이하의 낙하산을 탈 수 있는 여성, 키 170cm 이하, 몸무게 70kg 이하였다.

그녀는 프롤레타리아이며 아버지가 나치와 싸운 전쟁영웅이었으므로 소련의 선전효과로는 최적의 조건을 갖추고 있었다. 우주비행 후 공군 아카데미에서 공학박사학위를 받았고 정치에 입문해 활발한 정치활동했으며 소련이 붕괴된 후 정계에서 은퇴하고 현재는 우주관련 이벤트에 많은 참여를 하고 있다.

◇ 세계 최초로 우주유영을 한 우주인 = 최초로 우주선 밖으로 나가서 우주에서 우주유영을 한 사람은 소련의 알렉세이 레이노프였다.

그는 보스후드2를 타고 우주로 나가서 1965년 3월 18일 약 12분 동안 우주선 주위 약 5m 안에서 우주유영을 했다.

그러나 약 12분의 우주유영 후 우주복이 팽창해 우주선 출입구 안으로 다시 들어올 수 없어 밸브를 열어 우주복 안의 압력을 밖으로 방출한 뒤 간신히 우주선 안으로 다시 들어올 수 있었다.

그는 무중력 상태에서 임무를 수행하기 위해 약 18개월의 훈련을 받았던 것으로 알려졌다. 현재 투자회사를 운영하고 있으며 예술가로의 능력도 뛰어나서 여러 곳에서 자신의 작품을 전시하는 등 활발한 작품활동을 하고 있다.