인터넷 유물
(neal.fun)- 이 문서는 해커 집단에서 유래된 특유의 용어와 문화적 맥락을 설명함
- 주요 해커 용어의 정의와 사용례, 그리고 유래에 관한 일화 설명을 포함함
- 일부 용어는 유머, 냉소, 풍자적 표현을 내포하여 해커 특유의 가치관 반영함
- 컴퓨터 역사상 중요한 시스템(예: MIT, CMU, Stanford 등)에서 파생된 단어도 다수 포함됨
- 이런 용어들은 오늘날 소프트웨어 개발 문화 및 커뮤니티 언어에 지속적 영향을 미침
해커 사전(The Hacker's Dictionary) 개요
- 본 문서는 해커 집단에서 빈번하게 사용되는 독특한 용어와 표현의 목록, 정의, 그리고 사용 배경을 체계적으로 정리함
- 용어의 기원, 실제 대화‧코드에서의 예제 및 각 용어가 지닌 뉘앙스까지 설명하여 단순한 사전 이상의 이해를 제공함
대표 용어 및 의미 요약
-
@BEGIN / @END : 특정 텍스트의 문맥 또는 의도 강조를 위해 사용되는 SCRIBE 명령어로, 해커 문화에서 유머러스하게 인용됨
-
ANGLE BRACKETS (각괄호) : "<" 와 ">" 문자를 지칭하며 MIT에서 자주 쓰였던 용어임
-
AOS: "증가"를 의미하는 PDP-10 명령어에서 유래, 어떤 수치나 상태를 증가시킴을 장난스럽게 표현함
-
ARG (아그) : 함수의 인자(argument)를 지칭, 빈번히 사용되어 독립적 단어로 자리잡음
-
AUTOMAGICALLY: (자동적+마법적) 자동 실행되지만, 그 동작 원리가 너무 복잡하거나 설명이 귀찮을 때 사용되는 풍자적 표현임
-
BAGBITER: 간헐적으로 고장나는 하드웨어나 소프트웨어를 비하하며 칭하는 단어, 형용사형(BAGBITING)도 존재함
-
BARF: 프로그래밍에서 역겨움 또는 입력값 처리 에러 발생 등의 의미로 활용됨
-
BELLS AND WHISTLES: 프로그램의 필수는 아니지만 유용하거나 재미있는 부가기능을 의미함
-
BIGNUMS: 계산기, 프로그래밍 등에서 극단적으로 큰 정수나 수치를 가리키는 용어임
-
BINARY/BIN: 프로그램의 오브젝트 코드나 2진 파일, 시스템에 따라 다양한 별칭 존재
-
BIT BUCKET: 삭제되거나 더 이상 접근 불가한 데이터가 흘러 들어가는 상상의 장소, 사실상 '없어짐'을 의미
-
BUG: 원치 않거나 의도치 않은 프로그램의 결함, 본래 전화선 결함에서 차용된 용어임
-
CANONICAL: '표준' 또는 '정석'과 같은 바람직한 상태를 표현함
-
CROCK/CRUFTY: 우아하지 못하거나 조잡한 구현 혹은 작성 방법을 낮잡아 표현함
-
DAEMON/DEMON: (데몬/디몬) 사용자가 직접 호출하지 않아도 특정 조건에서 동작하는 백그라운드 프로그램 혹은 프로세스임
-
DEADLOCK/DEADLY EMBRACE: 여러 프로세스가 서로를 기다려 아무 일도 진행되지 않는 교착 상태, 유럽에서는 DEADLY EMBRACE라는 표현을 선호함
-
DWIM: "Do What I Mean"의 약자로, 사용자의 의도대로 동작함을 희망하는 농담성 표현이자 일부 시스템 함수의 실제 명칭임
-
FENCEPOST ERROR: 프로그래밍 반복문 등에서 나타나는 경계 조건 오류의 고전적 예시로, n칸 fence에 필요한 기둥의 개수를 잘못 계산하는 실수에서 유래함
-
FROB/FROBNICATE/TWIDDLE/TWEAK: 기계, 코드, 값 등을 무작정 조작하거나 미세하게 조정하는 일련의 동작을 구분해 나타내는 일상 은어임
-
HACK/HACKER: 도구와 코드를 창의적으로 또는 임기응변적으로 다루는 행위, 그리고 이에 능숙하고 열정을 가진 사람을 통칭함. 긍정적 맥락과 장난, 장인정신, 심지어 해커만의 유머와 문화도 포함함
용어별 세부 설명
@BEGIN / @END
- 특정 텍스트 블록의 문맥 또는 강조를 표기할 때 사용함
ANGLE BRACKETS (각괄호)
- "<"와 ">"를 일컫는 용어이며 MIT, Stanford 등 주요 해커 커뮤니티에서 쓰임
ARG
- 함수의 매개변수를 줄여 부르는 명칭, 개발자 대화 및 문서에서 자주 활용됨
AUTOMAGICALLY
- 원리를 설명하지 않고 어떤 일이 자동으로 일어남을 우스꽝스럽게 말함
- 'MAGIC'의 의미 연장선에서 파생됨
BAGBITER
- 간헐적, 치명적 실패를 일으키는 장비나 소프트웨어에 대한 비하적 표현임
- "LOSER"와 동의적으로 사용, bagbiting system은 악명 높은 시스템의 별칭임
BAR
- FOO와 함께 가상의 변수명 또는 무작위 예시 용어로 쓰임(FOOBAR 등)
BARF/BLETCH
- 역겨움, 기계의 입력 오류, 미학적으로도 불쾌한 상황을 표현함
BELLS AND WHISTLES
- 프로그램의 비필수적 부가기능(예: 재치있는 UI, 재미있는 TGIF 메시지 등)을 뜻함
BIGNUMS
- 수치계산, 여유 메모리 구현 등에서 다루기 힘든 대형 숫자들을 통칭함
- El Camino BIGNUM은 매우 긴 거리나 대상을 유머스럽게 표현할 때의 은어임
BIN/BINARY
- 이진파일, 오브젝트코드, 각 시스템별로 DMP, SAV, SHR 등 다양한 현지화된 표현 존재함
BIT/ BITBUCKET
- 정보의 최소 단위, 그리고 'bit bucket'은 존재를 상실한 데이터의 상상의 종착지로 언급됨
BUG/FEATURE
- 의도치 않은 프로그램 결함과(버그), 그것을 합리화하거나 문서화한 결과물(피처) 설명함
CANONICAL
- 문제나 구현의 '정석', 표준을 뜻하는 가장 이상적 형태를 나타냄
CROCK/CRUFTY
- 엉성하거나 지나치게 복잡한 설계를 비판하는 은어로, crufty는 손이 지나치게 탄 코드를 뜻하는 경우도 존재함
DAEMON/DEMON/DRAGON
- DAEMON: 운영체제의 이벤트에 자동 반응하는 백그라운드 프로그램 구현 설명
- DEMON: 프로그램 내부 프로세스로서 조건부 반응을 담당하는 서브루틴 표현
- DRAGON: 운영체제가 직접 사용하는 유틸리티성 보조 프로그램
DEADLOCK/DEADLY EMBRACE
- 두 개 이상의 프로세스가 서로를 대기하는 상황, 유럽(Deadly Embrace), 미국(Deadlock)에서 각기 다른 표현을 사용함
DWIM
- 사용자의 명확치 않은 입력에도 의도를 파악해 정정하거나 완성해주는 "희망의" 기능, 실제로 일부 LISP 인터프리터에서 실현됨
FROB/TWIDDLE/TWEAK
- 목적 없이 값을 바꾸거나, 대충(굵게), 미세(섬세하게) 조정함을 각각 표현함
FENCEPOST ERROR
- 반복문 등에서 빈번하게 발생하는 경계 조건상의 실수 설명
HACK/HACKER/HACKISH
- 해킹은 창의적 해결책, 임기응변, 유익성 추구, 장난, 프로그래밍 장인의 정신을 아우르는 의미를 지님
- 해커는 이력을 연구하고, 깊이 파헤치고, 임무에 몰두하는 사람으로 묘사함
- 해커 문화의 긍정적, 재치있는, 흥미로운 커뮤니케이션의 바탕 제공 역할을 함
추가 문화적 맥락
- 이 문서 내 용어들은 1960~80년대 미국 주요 대학 해커 집단(특히 MIT, Stanford, CMU 등)에서 체계적으로 정립된 바 있음
- 각 단어에는 유래, 실제 사건, 농담성 인용구, 그리고 명확한 코드 작성 관행과 연계된 문화가 담겨 있음
- 일부 용어는 디지털 커뮤니티 전체로 확산되며 일반 소프트웨어 개발자와도 친숙한 표현으로 자리 잡음
- 해커 사전은 기능 중심 언어의 창의적 사용, 개방된 커뮤니티 운영 방식, 그리고 자조적, 자기비판적 유머 문화를 현재에도 반영함
Hacker News 의견
-
나는 초기 블로거 Justin Hall의 위키피디아 페이지를 찾아가서 그가 지금 무엇을 하고 있는지 확인했던 경험임. 그는 아마도 또 다른 독특한 기록을 가지고 있음. 그는 1994년에 도메인을 등록해 두었다가 무려 23년이 지난 2017년에 bud.com이라는 회사의 공동 창업자이자 CTO로 일하면서 이 도메인을 사업에 사용하기 시작했음
-
내게 가장 큰 향수를 불러일으킨 것은 Netscape Navigator Meteors였음. 더 찾아보니 실제로 작동하는 버전을 보는 것이 요즘 얼마나 드문 일인지 보여주는 링크도 찾았음. 중학생 때 대학생 컴퓨터 전공이었던 누나가 'IE4 대 Netscape' 독점 이슈와 그 이후 있었던 Microsoft 반독점 소송 이야기를 매우 신나게 설명해 준 기억이 있음. 그 시절 이 주제들은 기술 커뮤니티에서 가장 큰 화제거리였음. 2000년 무렵에는 Netscape가 몰락하고, Mozilla Firefox(초기 드래곤/고지라 아이콘이 있었음)가 그 자리를 차지함. 알고 있기로는 초창기 Firefox가 Netscape 코드베이스에서 출발해 오픈소스 노선을 걷기 시작했음. 마지막으로 사용한 Navigator는 Netscape Communicator Suite v6.1에 포함된 버전이었음. 순수한 향수임. 이 콘텐츠는 많은 추억을 불러일으켰음
-
젊은 세대가 이걸 보면 못생기고 덜 유용하며 텅 빈 느낌이라고 생각할지도 모름. 그렇게 생각하는 것도 일리가 있다고 봄. 하지만 내게는 이것이 오래된 사진첩을 넘기며 잊었던 기억을 다시 보는 듯한 순수한 향수임. Neal이 이걸 만들어서 정말 고마움. 재미있는 사실로, 오리지널 Space Jam 사이트가 2021년까지 그대로 존재했음
- 실제로 Space Jam의 오리지널 사이트가 그대로 남아 있었음. 개발자들이 그 중요성을 알고 있었다고 생각함
-
이 웹사이트와 자료가 얼마나 뛰어난지, 그리고 과거의 인터넷 환경을 재현하는 로딩 방식이 감탄스러웠음. 그리고 Neal.fun 작품이라는 걸 보고 깜짝 놀랐음. Neal.fun은 이런 것들을 항상 끝내주게 만듦. 정말 좋아함
-
“You Wouldn't Steal a Car” 광고 관련해서, 광고 음악이 원작자 허락 없이 사용된 것이 아이러니했음. 폰트 또한 제대로 라이선스를 획득하지 않은 상태였음
-
컴퓨터 발전 과정을 볼 수 있게 해줘서 고마움. 정말 놀라운 경험임. 1994년 당시의 Yahoo를 볼 수 있었다는 것도 신기했음. 상호작용 전시가 환상적이었고, 이거 정말 마음에 듦
-
"under construction" gif, 방문자 카운터, 그리고... goatse가 빠져 있는 것임
- 오늘은 의도적으로 강렬한 요소를 선택했다는 느낌임
-
"온라인 역사상 최초의 웹 구매 중 하나가 치즈 추가, 페퍼로니와 버섯 토핑 피자였음"이라는 이야기가 있음. 그러나 사실 두 명의 학생이 이미 20년 전 서로에게 마약을 팔았던 사례가 있었음
-
정말 멋지다고 생각함. Heaven's Gate 관련 일화도 흥미로웠음. 일이 벌어졌을 당시 나는 어렸고, 잡지에서 건물 단면도와 침대에 누워 있는 사람들 그림이 있던 기사를 희미하게 기억함. 위키피디아를 찾아보니, 1975년에는 텐트와 침낭에서 자며 길거리에서 구걸하던 사람들이 어떻게 1976년 갑자기 외부와 단절하고, 이후에는 현금으로 집을 임대하고, 90년대 중반에는 최첨단 웹 디자인 회사를 운영하게 되었는지 이해가 잘 안됨
- 컬트 집단은 늘 놀라운 모습을 보임. 같은 생각을 가진 사람들이 18시간씩 쉬지 않고 모든 것을 쏟아붓는다면 엄청난 성과를 낼 수 있음
- 아마 1976년에 큰 돈이 생겼을 수도 있음: 누군가 상속을 받았거나, 큰돈을 가진 신규 회원을 영입했을 수도 있음. 갑작스런 은둔은 돈을 가진 사람들이 외부에 드러나지 않도록 리더가 의도한 것일 수 있음
-
이것이 내가 웹을 시작한 시점에서 마무리되는 것이 아쉬움. 2007년 이후 지금까지 두세 세대에 걸쳐 멋진 콘텐츠들이 있었음