기타 Lobsters · 13시간 전

소설 써놓고 리눅스 매뉴얼 툴(groff)로 책 조판한 찐 개발자

핵심 요약
  • 글쓰기를 싫어하던 개발자가 독서에 취미를 붙인 뒤 각각 50페이지와 120페이지 분량의 소설 두 편을 직접 집필했습니다.
  • 책 조판 도구로 워드프로세서 대신 리눅스 man 페이지를 띄우는 고전 유틸리티 'groff'를 채택해 초고속 빌드 환경을 구축했습니다.
  • 13년 된 구형 컴퓨터에서도 120페이지 분량의 PDF 생성이 단 1.6초 만에 끝나는 가벼움에 만족하며 자체 매크로 구성법을 공유했습니다.
요약 어릴 적 수학이나 물리 등 기술 관련 분야 외에는 글쓰기를 극도로 싫어했다는 한 개발자가 최근 두 편의 중편 소설을 완성하며 겪은 독특한 조판 과정을 공개했습니다. 그는 집 안에 수십 년간 방치되어 있던 소설책들을 우연히 읽기 시작하면서 소설 읽기에 푹 빠졌고, 급기야 직접 글을 쓰기에 이르렀다고 밝혔습니다. 첫 번째 소설은 50페이지 분량으로 완성까지 7개월이 넘게 걸렸지만, 120페이지에 달하는 두 번째 소설은 단 10일 만에 탈고했습니다. 흥미로운 점은 소설의 출판이나 원고 전송은 절대 하지 않겠다고 못 박으면서도, 조판 도구로 리눅스 터미널의 매뉴얼 페이지를 렌더링할 때 주로 쓰이는 고전 유틸리티 'groff'를 활용했다는 사실입니다. 작성자는 현대 소프트웨어들이 진흙탕 속을 걷는 것처럼 무겁고 느려진 데 반해, groff는 13년 반이나 된 구형 PC에서도 50페이지짜리 문서를 단 700ms 만에, 120페이지 문서는 1.6초 만에 고품질 PDF로 변환해 주는 압도적인 가벼움과 속도를 자랑한다고 강조했습니다. 소설에는 목차나 다이어그램, 코드 블록 같은 복잡한 요소가 필요 없기 때문에 그는 챕터 제목을 지정하는 .SH, 들여쓰기가 적용된 문단을 만드는 .PP, 문단 사이 간격을 띄우는 .LP 단 세 가지 매크로만으로 간결한 패키지를 직접 구성해 책 모양을 구현했습니다. 페이지 번호와 바닥글 위치가 어긋나는 문제를 해결하기 위해 groff의 트랩(trap) 기능을 활용해 바닥글 영역을 지정하는 등, 오래된 유닉스 텍스트 처리 도구로 문학 창작물을 깔끔하게 엮어낸 전형적인 '너드형' 취미 프로젝트 과정을 상세히 전했습니다.
Sponsored · 광고