“이런 젠장”
해밍은 생각할수록 화가 났다. 흔들리는 버스 안에서 그는 몇 주 전 월요일에 겪었던 짜증이 다시 머리 꼭대기까지 치밀어 오름을 느꼈다.
그 월요일에 달콤한 주말의 여운을 애써 거두고 힘들게 집을 나설 때만 해도 해밍은 자신이 금요일 저녁에 걸어 놓았던 프로그램이 따끈따끈한 결과물을 대령해 놓고 있을 거라는 생각에 발걸음이 가벼웠었다. 하지만 이게 웬일인가? 오류가 발생했다는 출력만 내놓은 채 컴퓨터는 조용히 숨죽이고 있었다. 이런! 또다시 오류가 발생한 것이었다. 바로 그 전 주 월요일 아침과 똑같은 상황이었다. 이렇게 두 번이나 뒤통수를 맞다니. 해밍은 믿을 수가 없었다.
해밍은 벨 연구소에서 프로그래밍 작업을 맡고 있었다. 맨해튼 프로젝트에서 처음 컴퓨터를 만져보았던 그는 어느새 프로그래밍 선수가 되어 있었고 그 경험을 살려 벨 연구소에 취직한 후 수치해석 프로그램 작성을 도맡아 하다시피 했다. 그런데 그가 일하던 연구소 건물에는 제대로 된 컴퓨터가 없었고 뉴욕시에 있는 컴퓨터 센터에 가야만 했다.
전쟁 직후였고 이제야 컴퓨터가 모습을 드러내던 시기여서 컴퓨터는 희귀기념물 같았다. 쓰고 싶다고 아무나 쓸 수 있는 그런 물건이 아니었다. 그리고 쓸 수 있다고 해도 큰 비용을 내야 했다. 동료들의 프로그램을 최소 비용으로 처리하기 위해서 해밍은 꾀를 내었다. 컴퓨터 센터가 문을 닫는 주말 동안에 프로그램을 몰아서 실행하는 것이었다. 금요일 오후 5시쯤 센터가 문을 닫기 직전에 여러 프로그램들이 들어 있는 테이프를 걸어서 실행 버튼을 누르고 퇴근한 다음, 월요일 아침 8시에 와서 결과를 찾아가는 식이었다. 이를 위해서 금요일과 월요일마다 연구소가 있는 머리 힐Murray Hill에서 컴퓨터 센터까지 회사의 우편 배달 버스를 얻어타고 다녀야 하는 고단함은 있었지만 돈 걱정 없이 프로그램을 마음껏 돌릴 수 있어서 해밍은 좋았다.
그런데 이 망할 놈의 컴퓨터가 두 번이나 뒤통수를 친 것이다. 해밍이 사용한 모델 5 릴레이 컴퓨터Model V relay computer는 전자회로와 기계식 회로가 뒤섞여 있었다. 그래서 오류가 발생할 가능성이 농후했고 이를 대비하여 오류를 감지하는 특별한 코딩 방식†을 사용했다. 따라서 일단 결과가 나오면 중간에 오류가 없다고 신뢰할 수 있었다.‡ 하지만 오류가 있다면 컴퓨터는 더 이상 진행하지 못하고 처음부터 다시 시작했다. 그러다가 또 오류가 감지되면 다시 재시도했다. 이렇게 세 번을 재시도해도 오류가 나면 컴퓨터는 그냥 실행을 중단했다. 그나마 평일이었다면 컴퓨터 운영자가 이를 눈치채서 뭔가 조치를 취했을 터이지만 주말에는 아무도 없으므로 대책이 없었다.
어차피 주말 시간이었고 돈이 나간 것도 아니었지만 해밍은 짜증이 났다. 했던 일을 그대로 한번 더하라고 해도 싫어하는 법인데 하물며 두 번 더하라고 하면 누가 참을 수 있겠는가? 이런 일이 또 생기지 말란 법이 없었다. 해밍은 뭔가 해결책이 있어야 한다고 생각했다. 연구소에서 맡은 업무를 하기에도 시간이 부족했지만 계속 이렇게 당할 수는 없었다.
머리 힐에서 뉴욕시로 가는 길은 지루했다. 평소에도 여러 생각을 하며 가던 길이었다. 하지만 오늘은 달랐다. 해밍은 골똘히 생각에 잠겼다. “오류가 발생했을 때 그 위치를 알아내서 정정하기만 하면 되는 건데…” 다행히 그는 이미 아주 단순한 아이디어를 하나 생각해 놓은 상태였다. “그걸 어떻게 하면 좀 더 좋게 만들 수 있을까?” 멀리 뉴저지 북부의 단조로운 구릉 지대가 지겨워질 순간, 갑자기 번뜩 뭔가가 생각났다. “아하, 그렇게 할 수도 있겠는걸.” 해밍의 의식은 이미 그의 머릿속에 그려 놓은 숫자와 기호들 속으로 파고들었다. “오호라, 이렇게 하면 되겠네.”
브레이크 소리와 함께 우편 배달 버스가 정지했다. 어느새 뉴욕시의 컴퓨터 센터 앞에 와 있었다. 해밍은 주섬주섬 소지품을 챙기고 버스에서 내렸다. 아침 공기가 아직도 싸했다. 이제 다시 일상의 업무로 돌아갈 시간이었다. 또다시 수식과 어셈블리어를 놓고 골머리를 싸맬 준비를 해야 했다. 하지만 그는 신기한 물건을 주운 아이처럼 들떴다. 뭔가 재미있는 일이 벌어질 것만 같았다.
답글 남기기