앨런 케이가 샤논 노이즈 채널 정리 이야기를 꺼내던 순간 줌 피드백으로 자기 목소리가 21초 늦게 겹쳐 들렸다
- 앨런 케이가 크리스틴 니가드 탄생 100주년 기념 행사에서 강연을 준비하던 중, 줌에서 스트림 소리가 열린 마이크로 새어 들어가 본인 목소리가 약 21초 늦게 되돌아오는 오디오 피드백 루프가 발생함
- 케이는 울려 겹치는 와중에도 'Shannon gave us a way of dealing with noisy channels'라고 말했고, 자기를 뒤튼 바로 그 채널을 다루는 수학이 샤논의 노이즈 채널 부호화 정리라는 점이 겹침
- 녹화자 Don Hopkins는 이를 앨빈 루시어의 'I Am Sitting in a Room'(1969)의 우연한 재현이라 부르며, 루시어에게 남은 것이 방의 공명이었다면 여기 남은 것은 지연, 압축, 드롭아웃이라는 네트워크 흔적이라고 설명
- 왕복 21초를 광속 거리로 환산하면 편도 약 300만 km, 달 왕복 8회 거리에 해당하지만 화성 최접근 거리의 20분의 1에도 못 미치며, 케이는 자신이 '화성으로 재전송되고 있다'고 농담함
- 영상 길이는 2분 39초이고 2026년 8월 28일 게시돼 조회수 385회를 기록 중이며, 유튜브 자동 자막은 케이의 감탄사 속 욕설을 '[__]'로 지우고 설명란의 해결책 문장은 'Just turn off the'까지만 남아 끊김
Hacker News opinions
전체 강연 원본이 Panopto에 있긴 한데 인터페이스 진짜 별로임. 채팅이 쏜살같이 흘러가고 앨런 영상은 안 나오고 화이트보드만 질리게 보여주더라. 복사본 나오면 공유 좀 해달라.
Panopto는 타임 슬라이더 오른쪽에 카메라 아이콘이 여러 개라서 누르면 화자나 슬라이드 피드로 바뀜. 그래도 화자별 품질은 운인데, 앨런은 자기 순서 전에 미리 세팅을 다 해보고 오류를 다 겪어서 강연 중 자기 목소리에 자기 말이 계속 끊기는 일은 없었음. 링크로 UCSC의 제임스 크러치필드가 1984년에 만든 영상 피드백 필름도 같이 걸어놨는데 그건 진짜 추천함.
이 영상 이번 주 다른 HN 스레드 댓글에서 본 적 있음. 타임 트리거 통신 시스템의 babbling-idiot 실패를 다룬 글이었는데 거기서도 이게 올라왔더라.
앨런 케이 발언 설명을 toptext에 추가했음. 녹화자인 Don Hopkins가 다른 HN 스레드에 쓴 댓글을 그대로 옮긴 건데, 동의 구하기 전이라서 혹시 문제되면 바로 뺄게.
내가 이해한 바로는 섀넌은 신호가 도착 전에 오염된다는 걸 알면서도 확실하게 전달할 수 있다는 걸 증명했음. 이게 현대 통신의 토대라서 같은 매질을 쓰는 기기가 깔려 있어도 와이파이는 굴러가지, 섀넌 한계까지는.
내 최애 파트는 유튜브 음성 인식이 케이의 'fuck'을 '[__]'으로 지워버린 거임. 센서십 노이즈가 한 겹 더 쌓인 셈이지. 행사 실시간 자막은 'fuck'을 그대로 써주면서 가끔 덴마크어로 새서 '우리가 네 손을 먹으리라' 같은 문장을 뱉기도 했고, 케이는 녹화 중에 웃으면서 '이거 재밌겠는데'라고 했더라.
케이식 객체지향이면서 문법만 더 나은 언어 나왔으면 좋겠음. 스몰토크 문법이 너무 싫고 요즘 쓰는 사람도 거의 없거든. 거기다 진짜 빠르기까지 하면 사람들이 C로 안 도망갈 텐데, 자바는 문법도 장황하고 객체 모델도 지루함.
크리스털이 딱 그자리임. 컴파일되는 빠른 OOP 언어에 정적 타입 추론, 루비풍 문법이고 루비의 객체 모델은 스몰토크에서 왔지.
엘릭서랑 얼랭이 케이가 주장하는 걸 거의 그대로 구현한 셈임. 흥미로운 건 오베론 시스템의 객체 모델이 스몰토크-80보다 오히려 케이의 메시지 기반 비전에 더 가깝다는 점이고, 비어트는 생체를 흉내 낸 게 아니라 V-Table을 피하려다 거기 도착한 거임. 자바는 시뮬라 67 객체 모델을 그대로 실었고, 2017년 고슬링 강연에서 확인됨. 초기 C++와 스몰토크-80도 상당 부분 같더라.
셀프는 문법을 바꾸는 대신 아예 빼는 쪽을 택함. 키워드 메시지 문법 유지하면서 할당 구문까지 없애 변수는 메시지를 받는 슬롯, 클래스도 빼서 객체가 객체에 직접 상속. 존 말로니가 넣은 시각적 문법 덕에 라이브 객체를 직접 조작해서 프로그래밍하고 환경이 곧 문법이 됨. 속도는 크레이그 체임버스와 데이비드 언가르의 인라인 캐시, 적응형 재컴파일 컴파일러가 해결해서 그 기술이 핫스팟과 V8로 흘러갔고, 클래스를 빼니 언어가 단순해져서 빠르게 만들기도 쉬웠음.
운 좋게도 케이의 원조 스몰토크(스몰토크-72)는 문법이 없고 각 클래스가 받는 메시지를 자기 방식으로 파싱하는 메서드 하나를 가짐. 문제는 성능과 남의 코드 읽기 어려움이었고, 잉골스는 -72에서 사람들이 밟고 다닌 문법 스타일을 보고 -76에 고정 문법을 깎았음. 잔디를 다 깔아두고 밟힌 길에 보도를 까는 방식이랑 비슷함. -80에서는 일반 컴퓨터에서 돌리려고 문법을 ASCII로 바꿔서 더 보기 싫어졌다고 봄.
셰넌이 노이즈 채널을 다루는 방법을 줬다는 말은 좀 애매함. 그는 최적으로 했을 때 그 채널에서 얼마나 보낼 수 있는지 정량화한 거라서, 빛보다 빨리 못 간다는 얘기와 구조가 비슷함. 한계 계산은 쉬운데 실제로 거기까지 접근하기가 어려울 뿐이고.
요즘 모듈레이션 다수는 주어진 대역폭/SNR에서 거의 섀넌 한계로 돌아감. 대신 인코딩은 거의 항상 오류 정정을 쓰니까 실제 디코드 비트레이트는 선로 속도보다 몇 % 낮고.
앨빈 루시어는 이 작품 말고도 독특한 작품이 꽤 있음. 케이지의 4분 33초처럼 밈이 된 건 'I Am Sitting in a Room' 하나뿐이지만.