「Not a typewriter」——Unixの不可解なエラーが生まれた4つの偶然
"Traditional, but Puzzling"

1990年代のUnix系OSで、大文字を含むユーザー名にメールを送ると「User unknown: Not a typewriter」という奇妙なエラーが出ることがあった。原因はsendmailがユーザー名を勝手に小文字化していたこと、エラー処理が無関係なシステムエラーを付け加えたこと、そして「typewriter」という言葉が入出力装置の歴史を引きずっていたことの重なり。現在は「Inappropriate ioctl for device」に変わったが、コードは今もENOTTYのまま残る。
「Not a typewriter」は基本的に「これはバックグラウンドで動くプログラムであり、ユーザー入力を受け取ったり、ユーザーが読むものを書き出したりするものではない」という意味だった。それはエラーというより状態であり、OSの指示で静かに動く多くのプログラムに当てはまる。
- degamad
後付けの合理化の一環として、私の脳は「ENOTTY」を「E-NO-TTY」(エラー:利用可能なTeleTYpeがない)と解釈しています。これはおおよそ現在の意味に合っています。元々の意味である「E-NOT-TY」(エラー:タイプライターではない)ではなく。
- anArbitraryOne
タイトルを「伝統的な尻のパズル」と読んでしまい、少し違うものを期待していました
- ehnto
もっと最近の駐車場でのエラーを思い出します。私はアカウントに紐づいた駐車カードと、自動支払い用のクレジットカードを持っています。また、特定の車とそのナンバープレートを紐づけていたので、カードをタップする必要はありませんでした。
クレジットカードを解約して自動支払いが拒否されるようにしなければならなくなり、しかもいつも同じ車を運転するわけではないので、その場合は駐車カードをタップしなければなりません。
その結果こうなりました:
手動でゲートで支払った後、別の車で駐車場を出ると、表示されるメッセージは「支払い拒否:退場許可」です。