터미널을 기생충으로 만드는 Fibonacci 계산기, /usr/bin/top이 시계 역할

A parasitic Fibonacci computation inside /usr/bin/top

터미널을 기생충으로 만드는 Fibonacci 계산기, /usr/bin/top이 시계 역할

ncurses terminfo의 매개변수 확장이 2-카운터 Minsky 기계를 시뮬레이션할 수 있다는 사실을 바탕으로, /usr/bin/top이 화면을 다시 그릴 때 발생하는 cup 호출을 클럭으로 삼아 터미널 안에서 Fibonacci 수열을 계산하는 기법을 소개한다. terminfo가 단순한 메타데이터가 아니라 상태를 가진 프로그래밍 언어임을 보여주며, 보안 경계에 대한 논의도 포함한다.

ncurses terminfo 매개변수 확장은 2-카운터 Minsky 기계를 시뮬레이션할 수 있다.
  1. muvlon

    Terminfo는 애초에 그다지 좋은 아이디어가 아니었는데, 오늘날에는 그냥 우스꽝스러운 수준이 되었다. 원래 목적은 실제로 제조된 물리적 터미널에 대한 데이터를 저장하는 것이었고, 그래서 고정된 DB여도 괜찮았다(터미널에 기능을 대화식으로 질의하는 방식이 아니라).

    요즘 터미널은 모두 소프트웨어다. 그냥 물어보면 아주 쉬울 텐데, 우리는 여전히 고정된 terminfo나 termcaps DB를 배포하자고 고집한다. 그 결과, 새로운 터미널 에뮬레이터는 거기에 들어 있지 않고, 사용자에게 견딜 만한 경험을 주기 위해 모두 거짓말을 하며 자신이 xterm-256color라고 말한다. 그러면 실제로 terminfo/termcaps에 추가할 유인이 완전히 사라진다.

    그래서 우리는 이제 더 이상 아무 쓸모도 없는, 지옥처럼 복잡하고 거의 튜링 완전한 호환성 시스템을 갖게 되었다.

  2. hbcdbff

    2019년에 발표된 원래의 terminfo 튜링 완전성 기사를 발견했을 때 정말 놀라웠던 기억이 난다.

    LLM 시대에는 이런 기사가 더 이상 나에게 아무 감흥도 주지 않는다.

    이 기사는 대부분, 아니 어쩌면 전부, LLM이 생성한 것이다. 대부분보다는 약간 덜 노골적인 방식이지만, 티나는 부분이 있고 pangram도 동의한다.

    하지만 이 기사가 사람이 쓴 것이라 해도 지금은 여전히 인상적이라고 느끼지 않을 것이다. 발견 뒤에 사람이 있었다는 걸 알 방법이 없다.

  3. readthenotes1

    이제 Doom은 돌아가나??

이 날의 다른 글

2026-10-04