해커 포클로어
원문은 Matthias Endler님이 에 게재했습니다. 이 블로그 구독하기
컴퓨터 용어 중에는 놀라운 역사를 지닌 것들이 있다. 그중 많은 용어가 이미 오래전에 사라진 기술에서 유래했다. 이 글에서는 우리가 매일 쓰면서도 그 기원을 잘 모르는 몇 가지 용어들의 흥미로운 역사를 되짚어 보려 한다. 바로 시작해 보자!
바이크셰딩(Bike-Shedding)
오늘날의 의미: 사소한 문제에 대한 쓸데없는 논쟁.
바이크셰드 효과(bike-shed effect) 혹은 바이크셰딩이라는 용어는 ‘사소함의 법칙’을 설명하기 위한 은유로 만들어졌다. 1999년 덴마크 출신 개발자 폴-헤닝 캄프가 FreeBSD 메일링 리스트에 올린 글을 통해 BSD(Berkeley Software Distribution) 커뮤니티에서 널리 알려졌고, 이후 소프트웨어 업계 전반으로 퍼져 나갔다.
이 개념은 경영을 풍자한 그의 더 넓은 개념인 ‘파킨슨의 법칙’의 따름정리로 처음 제시되었다. 그는 이 ‘사소함의 법칙’을 원자력 발전소에 대한 위원회의 심의와 자전거 보관소에 대한 심의를 대비시키며 극적으로 설명했다. 그의 말에 따르면 “안건의 각 항목에 소요되는 시간은 관련된 금액에 반비례한다.”
원자로는 워낙 비싸고 복잡해서 일반인은 이해할 수 없으므로, 그 일을 하는 사람들이 알아서 이해하고 있겠거니 하고 넘기게 된다. 반면 값싸고 단순한 자전거 보관소는 누구나 쉽게 상상할 수 있기 때문에, 계획을 세우는 과정에서 관련된 모든 사람이 한마디씩 보태고 자신의 기여를 드러내려 하면서 끝없는 토론이 이어질 수 있다.
참고 - 위키백과: 사소함의 법칙
보일러플레이트(Boilerplate)

출처: Wikimedia Commons
오늘날의 의미: 거의 혹은 전혀 수정하지 않고 반복해서 복사해 쓰는 코드 조각.
보일러 플레이트(boiler plate)는 원래 물 보일러를 만드는 데 쓰인 압연 강판을 가리켰지만, 언론에서는 진부하거나 독창성 없는 글을 가리키는 말로 쓰였다. 이 용어는 광고나 신디케이트 칼럼 같은 미리 준비된 텍스트를 찍어내기 위한 금속 인쇄판을 가리키게 되었는데, 이런 인쇄판은 작은 지방 신문사들에 배포되었다. 이 인쇄판들은 비유적으로 ‘보일러플레이트’라 불리게 되었다. 이러한 보일러플레이트를 신문사에 대량으로 공급하던 업체 중 하나가 웨스턴 뉴스페이퍼 유니언(Western Newspaper Union)으로, 이들은 지리적 영향력이 작은 신문사들에 “전국 또는 국제 뉴스를 담은 바로 인쇄할 수 있는 기사”를 제공했으며, 여기에는 기존 기사 옆에 미리 인쇄된 광고가 포함되기도 했다.
참고 문헌:

출처: Wikimedia Commons
부트 / 리부트 / 부트스트래핑(Boot / Reboot / Bootstrapping)
출처: Wikimedia
부트(boot)라는 용어는 컴퓨터 분야에서 컴퓨터를 시작하는 과정을 가리키는 데 쓰인다.
컴파일러 개발에서 부트스트래핑(bootstrapping)이라는 용어는 컴파일러를 새로운 언어로 다시 작성하는 과정을 가리킨다. 첫 번째 컴파일러는 기존 언어로 작성된다. 그다음 새로운 언어로 다시 작성된 뒤 자기 자신에 의해 컴파일된다.
“자신의 부트스트랩을 잡아당겨 자신을 들어 올린다”는 표현은 19세기로 거슬러 올라간다. 긴 부츠에는 신을 때 잡아당길 수 있도록 위쪽에 고리나 손잡이가 달려 있을 수 있다. 이 은유는 외부 도움 없이 스스로 유지되는 과정에 대한 추가적인 은유들을 낳았다.
위키백과에 따르면,
이 관용구는 적어도 1834년으로 거슬러 올라가며, 당시 노동자 옹호지(Workingman’s Advocate)에 다음과 같이 등장한다: “머피 씨는 이제 자신의 부츠 끈으로 컴벌랜드 강이나 외양간 울타리를 넘어갈 수 있을 것으로 여겨진다.”
Merriam-Webster에도 잘 정리된 설명이 있다.
버그(Bug)
오늘날의 의미: 코드나 하드웨어의 결함.
기원은 알려져 있지 않다!
널리 알려진 것과 달리 그레이스 호퍼가 Mark II 컴퓨터에서 발견한 버그보다도 이전부터 존재하던 말이다.
이 용어는 그 훨씬 이전부터 엔지니어들에 의해 사용되었다. 적어도 1870년대부터다. 전자식 컴퓨터나 컴퓨터 소프트웨어보다도 먼저 등장했으며, 토머스 에디슨도 자신의 메모에서 “bug”라는 용어를 사용했다. 참고
비트(Bit)
이 용어의 탄생은 벨 연구소(Bell Labs)를 위해 1947년 1월 9일에 작성된 메모에서 “binary information digit”을 “bit”으로 줄인 존 W. 튜키(John W. Tukey)에게 돌려진다. 참고
바이트(Byte)
“byte”라는 용어는 1956년 6월 IBM 스트레치(Stretch) 컴퓨터의 초기 설계 단계에서 베르너 부홀츠(Werner Buchholz)가 처음 도입했다. 이 컴퓨터는 개별 비트 단위까지 주소 지정이 가능하고, 명령어 자체에 바이트 크기가 인코딩된 가변 필드 길이 명령어를 허용하는 설계였다. “bite” 대신 “byte”라는 철자를 선택한 것은 실수로 “bit”로 바뀌는 것을 방지하기 위한 의도적인 선택이었다.
캐리지 리턴과 라인 피드(Carriage Return and Line Feed)
오늘날의 의미: 커서를 다음 줄의 시작으로 이동시키는 것.
이 두 용어는 타자기에서 유래했다.
캐리지는 종이를 고정하고 키를 누를 때마다 타이핑 위치를 앞으로 이동시키기 위해 왼쪽에서 오른쪽으로 움직인다. 종이를 ‘운반(carries)’하기 때문에 캐리지라 불린다. 캐리지 리턴은 캐리지가 종이의 가장 왼쪽 원래 위치로 이동하는 동작이다.
하지만 캐리지를 왼쪽으로 되돌리는 것만으로는 새 줄을 시작하기에 충분하지 않다. 캐리지는 여전히 같은 줄에 머물러 있을 뿐, 단지 줄의 맨 앞으로 돌아온 것이다. 새로운 줄로 이동하려면 라인 피드(line feed)가 필요했다. 이는 타자기 내부의 종이를 한 줄 위로 이동시키는 동작이다.
이 두 동작인 캐리지 리턴(CR)과 라인 피드(LF)는 보통 캐리지 리턴 레버를 당기는 것으로 한 번에 수행되었다.

출처: piqsels
- Unix 시스템(리눅스나 macOS 같은)에서는
\n이 여전히 라인 피드(ASCII 기호: LF) 또는 개행(newline)을 의미한다. - CP/M, DOS 및 Windows에서는
\r\n이 사용되며, 여기서\r은 캐리지 리턴을,\n은 라인 피드(CR+LF)를 의미한다. - 참고
다음은 캐리지 리턴과 라인 피드의 기본 작동 방식을 보여주는 오래된 영상이다:
Command 키 기호(⌘)
오늘날의 의미: 추가적인 키 조합을 제공하기 위해 애플 컴퓨터에서 사용할 수 있는 메타 키.
위키백과를 직접 인용하면 다음과 같다(강조는 필자가 함):
⌘ 기호는 매킨토시 프로젝트의 막바지에 도입되었다. 개발팀은 원래 예전의 Apple 키를 그대로 쓰려 했지만, 스티브 잡스는 키 명령 옆에 메뉴마다 ‘사과’가 가득 차는 것을 보고 회사 로고를 너무 남용하는 것 같아 답답해했다. 그는 다른 키 기호를 선택하기로 했다. 마감까지 며칠밖에 남지 않은 상황에서 팀의 비트맵 아티스트인 수전 케이(Susan Kare)는 애플 로고의 후계자를 찾기 위해 조사를 시작했다. 그녀는 기호 사전을 뒤지던 중 북유럽 국가들에서 문화 유적지와 명소를 나타내는 지표로 흔히 쓰이는 네 잎 클로버 모양의 기호를 발견했다(덴마크, 핀란드, 아이슬란드, 노르웨이, 스웨덴에서는 관광 명소의 공식 도로 표지판이며, 스웨덴 맥 사용자에게는 흔히 Fornminne — 고대 기념물 —, 덴마크 사용자에게는 Seværdighedstegn이라 불렸다). 그녀가 이를 나머지 팀원들에게 보여주자 모두 마음에 들어 했고, 그렇게 1984년 매킨토시 command 키의 기호가 되었다. 수전 케이는 이후 그 기호가 위에서 내려다본 둥근 모서리 탑을 가진 사각형 성의 모양을 닮았기 때문에 스칸디나비아에서의 용법 때문에 선택된 것이라고 들었다고 말했는데, 특히 보리홀름 성(Borgholm Castle)이 그러했다.

출처: Wikimedia Commons

출처: Wikimedia Commons
참고 문헌:
- 위키백과: Command Key
- Cult of Mac: What Are The Mac’s Command ⌘ And Option ⌥ Symbols Supposed To Represent?
쿠키(Cookie)
오늘날의 의미: 웹사이트에서 보내 사용자의 웹 브라우저에 저장되는 작은 데이터 조각.
쿠키(cookie)라는 용어는 1994년 가을 23세의 웹 브라우저 프로그래머 루 몬툴리(Lou Montulli)가 만들었다. 이는 유닉스 프로그래머들이 사용하던, 프로그램이 받아 그대로 다시 보내는 데이터 패킷을 뜻하는 매직 쿠키(magic cookie)라는 용어에서 영감을 받은 것이다. 이 용어는 다시 속에 메시지가 들어 있는 과자인 포춘 쿠키(fortune cookie)에서 유래했다.
몬툴리는 웹 브라우저가 받아 웹 서버에 그대로 다시 보내는 작은 데이터 패킷을 설명하기 위해 쿠키라는 용어를 사용했다.
“그러니까, 쿠키 말이죠.” 몬툴리는 웃으며 말한다. “제 인생에서 단 일주일이 제가 한 일 중 가장 중요한 일이 된 셈이죠.” (참고)
코어 덤프(Core Dump)
오늘날의 의미: (충돌한) 프로그램의 메모리를 모두 저장해 오프라인으로 분석하기 위해 프로그램 상태의 스냅샷을 추출하는 것.
이 이름은 원형 자석의 격자를 기반으로 한 초기 저장 장치인 자기 코어 메모리에서 유래했다. 이후로는 구식이 되었지만, 컴퓨터 프로세스의 스냅샷을 얻는다는 의미로 여전히 사용된다. 참고

출처: Wikimedia Commons
커서(Cursor)
오늘날의 의미: 데이터 입력을 위한 위치를 나타내는 영상 표시 장치 위의 시각적 표시(예: 깜빡이는 세로선). Merriam-Webster
Cursor는 라틴어로 주자(runner)를 뜻한다. 커서는 계산자(slide rule)에서 한 지점을 표시하기 위해 머리카락처럼 가는 선이 새겨진 투명한 슬라이드에 붙은 이름이다. 이 용어는 이후 유추를 통해 컴퓨터로 옮겨 왔다. 참고

데몬(Daemon)
컴퓨팅에서 데몬은 인쇄 스풀링이나 파일 전송 같은 서비스 요청을 처리한 뒤 종료되는 백그라운드 프로세스다. 이 용어는 1963년 MIT의 Project MAC(Mathematics and Computation) 프로그래머들이 만들었다. 그들은 끊임없이 백그라운드에서 분자를 분류하며 일하는 사고 실험 속 가상의 존재인 맥스웰의 도깨비(Maxwell’s demon)에서 이름을 따왔다.
MIT 프로그래머들은 시스템 잡일을 지칠 줄 모르고 수행하는 백그라운드 프로세스에 demon이라는 이름이 어울린다고 생각했다. 하지만 demon이라는 용어 대신 더 오래된 형태인 daemon을 사용했다. (참고)
대시보드(Dashboard)
오늘날의 의미: 시스템 상태를 한눈에 보여주는 사용자 인터페이스.
원래는 마차 앞쪽에 달린 나무 판자로, 말발굽이 뒤로 튀기는 진흙으로부터 마부를 보호하기 위한 것이었다.
자동차가 만들어질 때 운전석 앞의 판에도 같은 이름이 붙었다. 운전자가 쉽게 볼 수 있도록 필요한 계기들을 두기에 논리적인 위치였기 때문이다. 시간이 지나면서 이 용어는 보호 기능보다는 계기판 자체와 더 연관되게 되었다. 참고

출처: Wikimedia Commons
방화벽(Firewall)
오늘날의 의미: 인터넷과 같은 신뢰할 수 없는 외부 네트워크와 신뢰할 수 있는 내부 네트워크 사이에 장벽을 세우는 네트워크 보안 시스템.
방화벽은 주로 연립주택에서, 하지만 단독 주택에서도 사용된다. 화재 발생 시 불과 연기가 건물의 다른 부분으로 퍼지는 것을 막는다. 이를 통해 대형 화재를 예방할 수 있다. 이 용어는 80년대부터 컴퓨팅에서 사용되었다. 참고

출처: Wikimedia Commons
펌웨어(Firmware)
오늘날의 의미: 장치의 특정 하드웨어에 대한 낮은 수준의 제어를 제공하고 실행되는 하드웨어와 밀접하게 연결된 컴퓨터 소프트웨어의 한 종류.
애셔 오플러(Ascher Opler)는 1967년 Datamation 기사에서 펌웨어(firmware)라는 용어를 만들었다. 원래 쓰임에서 펌웨어는 하드웨어(CPU 자체) 및 소프트웨어(CPU에서 실행되는 일반 명령어)와 대비되었다. 펌웨어는 하드웨어와 소프트웨어의 경계에 존재했기에 ‘펌웨어’라는 이름이 붙었다. 원문은 Internet Archive에서 볼 수 있다. 참고
Foo와 Bar
오늘날의 의미: 흔히 쓰이는 플레이스홀더 변수 이름.
원래 이 용어는 군사용어인 FUBAR에서 왔을 가능성이 있다. 몇 가지 변형이 있지만 흔한 의미는 FUBAR: “f***ed up beyond all recognition” (완전히 엉망이 되어 알아볼 수 없는 상태)이다.
프로그래밍 맥락에서 foo의 사용은 일반적으로 1960년경 MIT의 Tech Model Railroad Club(TMRC)에 기원을 둔다. 복잡한 모형 시스템에는 열차 추돌 같은 바람직하지 않은 일이 일어나려 할 때 작동시킬 수 있는 스크램(scam) 스위치가 방 곳곳에 설치되어 있었다.
내가 이해한 바로는 그들은 말 그대로 더 나은 이름이 없어 foo라고 표시된 비상 버튼을 가지고 있었다. 아마도 원래 군사용어인 FUBAR의 의미와 관련되어 무언가가 몹시 잘못되고 있음을 나타내려 했던 것 같다.

foo라고 표시된 버튼이 있었을지도 모른다출처: Wikimedia Commons
참고 문헌:
프리랜서(Freelancer)
오늘날의 의미: 특정 고용주에게 장기적으로 소속되지 않은 자영업자.
이 용어는 서 월터 스콧 경의 소설 아이번호(Ivanhoe)에서 처음 등장한다. (이 소설은 로빈 후드 전설에도 지속적인 영향을 미쳤다.)

출처: Wikimedia Commons
소설 속에서 한 영주가 리처드 왕에게 자신의 유료 군대인 ‘프리 랜스(free lances)’를 제안한다:
나는 리처드에게 내 프리 랜스 부대의 봉사를 제안했으나 그는 거절했다 — 나는 그들을 헐(Hull)로 이끌고 배를 확보해 플랑드르로 항해할 것이다. 격동의 시대 덕분에 행동하는 사나이는 언제나 일자리를 찾을 수 있지.
따라서 “프리랜서(free lancer)”는 가장 많은 돈을 주는 사람을 위해 싸우는 사람이다. Free는 “무보수”를 뜻하는 것이 아니라 어떤 고용주를 위해서든 일할 수 있는 추가적인 자유를 의미한다. 참고
해시(Hash)
오늘날의 의미: 임의 크기의 데이터를 고정 크기의 값으로 매핑하는 데 사용할 수 있는 함수.
위키백과에 따르면 해시 함수에서 “hash”라는 단어의 사용은 그 비기술적인 의미인 “잘게 썰어 섞다”에 대한 비유에서 비롯되었다. 실제로 mod 연산과 같은 전형적인 해시 함수는 입력 영역을 많은 하위 영역으로 “자르고” 이를 출력 범위에 “섞어” 키 분포의 균일성을 높인다.
참고 문헌:
로그 / 로그파일(Log / Logfile)
오늘날의 의미: 컴퓨터 프로그램이나 시스템의 이벤트를 기록하는 파일.
선원들은 배의 속도를 측정하기 위해 소위 로그 라인(log line)을 사용했다. 납작한 나무 조각(로그)에 긴 밧줄을 붙인 것이다. 로그에는 일정한 간격으로 매듭이 묶여 있었다. 로그가 멀어져 떠내려갈 때 선원들은 정해진 시간 동안 풀려나가는 매듭의 수를 세었고, 그것이 바로 배의 속도, 즉 노트(knot)였다.
배의 속도는 항해에 중요했으므로 선원들은 이를 다른 정보, 예컨대 육지 목격이나 기상 현상과 함께 책에 기록해 배의 위치를 더 정확히 파악했는데, 이 책이 바로 항해 일지(log book)였다. 이후 항구 요금이나 식량의 비정상적인 소모 같은 배에 관한 더 일반적인 정보도 추가, 즉 기록(log)되었다.
참고.

출처: The Pilgrims & Plymouth Colony:1620 by Duane A. Cline

출처: The Pilgrims & Plymouth Colony:1620 by Duane A. Cline

출처: Navigation and Logbooks in the Age of Sail by Peter Reaveley
패치(Patch)
오늘날의 의미: 컴퓨터 프로그램을 수정하거나 개선하기 위해 적용할 수 있는 코드 조각.
컴퓨팅 역사 초기에는 프로그래밍 실수를 하면 종이 테이프나 천공 카드의 구멍 위에 패치를 붙여 고쳐야 했다.

출처: Smithsonian Archives Center
핑(Ping)
오늘날의 의미: 네트워크를 통해 컴퓨터의 가용성과 응답 시간을 확인하는 방법.
Ping은 1983년 마이크 무스(Mike Muuss)가 원래 작성한 터미널 프로그램으로, 모든 버전의 UNIX, Windows 및 macOS에 포함되어 있다. 그는 소나(sonar)가 내는 소리에서 이름을 따왔으며, 반향 위치 측정(echo-location)의 원리에서 영감을 받았다. […] ping은 시간 측정이 가능한 IP/ICMP ECHO_REQUEST 및 ECHO_REPLY 패킷을 사용해 대상 기기까지의 “거리”를 측정한다. 참고 자료는 꼭 읽어볼 만하다.
픽셀(Pixel)
오늘날의 의미: 화면에 표시되는 그림의 가장 작은 제어 가능한 요소.
픽셀(pixel)이라는 단어는 pix(“pictures”를 줄인 “pics”에서)와 el(“element”에서)의 조합이다. 마찬가지로 복셀(voxel)은 부피 요소(volume element)이고 텍셀(texel)은 텍스처 요소(texture element)이다. 참고
셸(Shell)
오늘날의 의미: 컴퓨터 시스템과 상호작용하기 위한 대화형, 일반적으로 텍스트 기반의 실행 환경.
이 용어를 만든 루이 푸쟁(Louis Pouzin)은 자신의 에세이 The Origins of the Shell에서 이름에 대한 설명을 하지 않는다. 그러나 이는 Unix의 전신인 Multics로 거슬러 올라갈 수 있다. Multics 용어집에는 다음과 같이 설명되어 있다:
[셸은] 리스너(listener)에 의해 실행될 명령줄을 전달받는다.
에릭 S. 레이먼드(Eric S. Raymond)의 새로운 해커 사전(The New Hacker’s Dictionary)(일명 Jargon File)에는 다음과 같은 내용이 있다:
역사적 참고: 원래의 Multics 셸(의미 1)은 셸(의미 3)이었기 때문에 그렇게 불렸다고 한다.
여기서 의미 3은 다음을 가리킨다
손으로 혹은 다른 프로그램(예컨대 파서 생성기)에 의해 만들어져, 어떤 작업을 설정하는 데 필요한 주문을 제공하고 이를 구동하는 제어 흐름을 제공하는 뼈대 프로그램(드라이버(driver)라는 용어가 동의어로 쓰이기도 한다). 사용자는 실제 작업을 수행하는 데 필요한 코드를 채워 넣으면 된다. 이 용법은 AI 및 Microsoft Windows 세계에서 흔하며, Unix 해커들을 혼란스럽게 한다.
안타깝게도 이 책은 이 주장을 뒷받침할 증거를 제공하지 않는다.
나는 셸이 바깥에서 커널을 보호하는 호두 껍질과 같다는 (역사적으로 정확하지 않을 수도 있는) 비유가 마음에 든다.
슬랩 할당자(Slab allocator)
오늘날의 의미: 이전 할당을 재사용하는 효율적인 메모리 할당 기법.
슬랩 할당은 1994년 제프 본윅(John Bonwick)(참고: PDF 파일)에 의해 발명되었으며 이후 Memcached와 리눅스 커널 같은 서비스에서 사용되어 왔다.
슬랩 할당에서는 특정 유형이나 크기의 데이터 객체를 위한 캐시가 미리 할당된 여러 개의 “슬랩” 메모리를 가진다. 각 슬랩 안에는 객체에 적합한 고정 크기의 메모리 청크가 있다. (위키백과)
슬랩(slab)이라는 이름은 본윅의 십 대 시절 친구에게서 유래했다. 그는 오라클 블로그에서 그 이야기를 들려준다:
함께 TV를 보던 중 켈로그(Kellogg’s) 광고가 나왔는데, 광고 문구는 “한 인치를 집을 수 있나요?”였다.
그 의미는 허리에서 1인치 이상의 지방을 집을 수 있으면 과체중이며, 콘플레이크 한 그릇이 도움이 될 것이라는 것이었다.
순간을 놓치지 않고 몸무게가 약 250파운드(약 113kg) 나가던 토미는 자신의 배를 움켜쥐며 이렇게 대답했다: “젠장, 나는 한 덩어리(slab)를 집을 수 있는데!”
10년 뒤 본윅은 더 큰 메모리 청크의 할당을 설명할 단어를 찾다가 그 용어를 떠올렸다.
다음은 원래 켈로그 광고 영상이다:
스팸(Spam)
오늘날의 의미: 대량 이메일을 보내거나 포럼과 채팅에 게시하는 등 원치 않는 전자 통신.
이 용어는 1970년 영국 코미디 그룹 몬티 파이선(Monty Python)의 한 스케치로 거슬러 올라간다. 스케치에서 카페는 거의 모든 요리에 스팸(Spam)(통조림 돼지고기 제품의 브랜드)을 넣는다. 스팸은 spiced와 ham의 합성어다. 언급되는 과도한 양의 스팸은 제2차 세계대전 이후 배급제 기간 동안 농업 기반을 재건하기 위해 고군분투하던 영국에서 수입 통조림 육류 제품이 어디에나 있었던 상황을 빗댄 것이다. 참고

출처: flickr.com의 Jamie (jbcurio) 사용자
Monty Pythons Flying Circus (1974) - SPAM from Testing Tester on Vimeo.
메인프레임(Mainframe)
오늘날의 의미: 대기업 등에서 흔히 사용하는 대형 컴퓨터 시스템.
원래 이 용어는 컴퓨터의 주요 구성 요소를 고정하던 프레임을 가리켰다. 주요 구성 요소는 CPU, 메모리 및 입출력 장치였다. 이 용어는 컴퓨터가 크고 많은 공간을 필요로 하던 1960년대와 1970년대에 사용되었다.
![IBM 701 메인프레임이 회로에 접근할 수 있도록 열리는 모습을 보여주는 도표. ‘Type 701 EDPM [Electronic Data Processing Machine] Installation Manual’, IBM. Computer History Museum 아카이브에서 발췌.](https://endler.dev/2020/folklore/mainframe.jpg)
이에 대해 더 자세한 내용은 Ken Shirriff의 블로그에서 읽을 수 있다.
라디오 버튼(Radio Button)
오늘날의 의미: 미리 정의된 상호 배타적인 옵션 중에서 선택할 수 있게 하는 UI 요소
“라디오 버튼”이라는 이름은 라디오에 사용되던 기계식 버튼과 유사한 것에서 따왔다. 이 UI 개념은 이후 테이프 레코더, 카세트 레코더 및 휴대용 오디오 플레이어(유명한 “워크맨” 및 유사 제품), 그리고 이후 VCR과 비디오 카메라에서도 사용되었다. 참고

출처: Matt Coady의 이미지
대문자와 소문자(Uppercase and lowercase)
오늘날의 의미: 키보드에서 대문자와 소문자의 구분.
조판이 납으로 만든 개별 활자를 이용해 단어와 문장을 만드는 수작업이던 시절, 대문자와 소문자는 이 다소 지루한 과정을 조금 더 빠르게 하기 위해 별도의 용기, 즉 케이스(case)에 보관되었다.

출처: Updike, Daniel Berkeley, 1860-1941의 ‘Printing types, their history, forms, and use; a study in survivals’라는 책에서 발췌. archive.org에서 무료로 이용 가능.
그 밖의 언급(Honorable mentions)
404
오늘날의 의미: “파일을 찾을 수 없음”을 나타내는 HTTP 상태 코드.
이 숫자가 월드 와이드 웹의 중앙 데이터베이스가 있던 서버실에서 유래했다는 이야기가 있다. 그곳에서는 관리자들이 요청된 파일을 수동으로 찾아 네트워크를 통해 요청한 사람에게 전송했다. 파일이 존재하지 않으면 “Room 404: file not found”라는 오류 메시지를 반환했다는 것이다.
그러나 이는 신화로 보이며, 상태 코드는 당시 이미 잘 정립되어 있던 FTP 상태 코드를 기반으로 다소 자의적으로 선택되었다. 참고
프로그래밍 언어와 약어(Programming languages and Abbreviations)
프로그래밍 언어 이름과 흔한 약어의 어원만으로도 아마 별도의 글을 쓸 수 있을 것이지만, 일단 내가 좋아하는 몇 가지를 적어 두기로 했다.
C++
C++는 비야네 스트로스트룹(Bjarne Stroustrup)이 만든 C 기반 프로그래밍 언어다. 이름은 스트로스트룹의 동료인 릭 매스키티(Rick Mascitti)가 만든 프로그래머식 말장난이다. ++는 많은 C 계열 언어에서 흔히 볼 수 있는 후위 증가 연산자를 가리킨다. 이는 변수의 값을 1 증가시킨다. 그런 의미에서 C++는 C의 정신적인 “후계자”로 볼 수 있다. 참고
C Sharp
C++와 마찬가지로 C#도 C 계열 프로그래밍 언어다. 이름은 다시 C++에 대한 “점진적인” 개선을 가리킨다. 이름의 #은 네 개의 더하기 기호처럼 보인다. 따라서 C# == (C++)++인 셈이다. 그뿐만 아니라 이 이름은 음표에 샵을 붙이면 해당 음을 반음 높이라는 뜻이 되는 음표 표기법에서도 영감을 받았다. 참고
출처: Wikimedia Commons
PNG
공식적으로 PNG는 Portable Network Graphics의 약자다. 이는 1994년 컴퓨서브(CompuServe)가 GIF를 지원하는 프로그램은 이제부터 라이선스 비용을 지불해야 한다는 발표에 대한 좌절감에서 탄생했다. 해커 토머스 바우텔(Thomas Boutell)이 이끄는 워킹 그룹은 GIF를 대체하는 특허 없는 포맷인 .webp 파일 포맷을 만들었다. 그래서 나는 이 포맷의 비공식 이름을 더 선호한다: PNG’s Not GIF. PNG의 역사에 대한 훌륭한 글이 있다. 참고
크레딧(Credits)
대부분의 내용은 위키백과 같은 출처에서 가져왔으며(해당되는 경우 참고 문헌 표기), 하지만 무엇을 찾아야 할지 모르면 설명을 찾기가 어렵다.
이 문서는 살아 있는 문서이며, 독자 제보가 있을 경우 업데이트할 예정이다.
결론(Conclusion)
과거를 알아야 현재를 이해할 수 있다.
— 칼 세이건 박사(Dr. Carl Sagan, 1980)
추억을 따라가는 여행이 즐거웠기를 바란다. 이제 여러분 차례다!
👉 다른 이야기도 알고 있나요? 메시지를 보내 주시면 여기에 추가하겠다.
글을 무작위로 읽기
댓글
로그인하고 댓글 남기기