いいから殺せ。後はこっちでなんとかするから

2010/1/22-1

昨日、TwitterでUNIXについて語り合っていたら、色々と面白いフィードバックを頂けたので紹介したいと思います。

@geekpage 電車に乗っていたら障害の電話で、しゃべれないから一言「いいから殺せ。大丈夫。後はこっちでなんとかするから」と言ったら、ものすごい視線を感じてしまったので一度降りましたw

@geekpage 髭はえてて、サングラスかけて、金のメッシュが入っている時だったので、風貌の問題かも知れませんw

これは衝撃でした。 サングラスで金メッシュ入りのヒゲ男性が電車の中で「いいから殺せ。大丈夫。後はこっちでなんとかするから」と言っていたらビビりますよね。 (余談ですが「ヒットマン事件簿」を思い出しました)

この発言が発生するトリガーとなったのが以下の発言でした。

@geekpage 親が子供を殺したり、親が狂ったせいで子供がゾンビになったり、めんどくせーから自殺させちゃえよとか言ったりする物騒な世界ですよね

みなさまノリノリで、リアルゴルゴ発言以外にも、こんな発言が登場しました。

@geekpage 昔、通産省の電総研でバイトしてた頃に聞いた話。当時科学技術庁長官は田中真紀子氏。科技庁はサーバのホスト名をmakikoとつけてたので、サーバがダウンすると、『makikoが死んだ』と大騒ぎだったらしい。

@geekpage 20年位前、周囲で殆ど誰もUNIXなんて知らなかった頃、まだ若かった私に向かって女性の先輩が、「あんたが勝手に子供作って殺したのに、ちゃんと後始末してないからゾンビになってるじゃない!?」ってなことを会社の中で叫んだ。

@geekpage 知人が電話口でオペレータからの電話を対応していて「親も子供も全部殺して、もう一度初めからやり直して」ということを話していたら職質くらったと聞いたことがあります。ちょうど深夜に外に居たらしいです。

@geekpage UNIXではないですが、我々も電車の中とかで「もっとアメリカ人が喜ぶ殺し方を考えないと」とか普通に会話しちゃっているので不振な目で見られているかも知れません(笑

@geekpage ママンを妊娠させちゃった(マザーボードの電解コンデンサが粗悪品や極性が逆等の理由により膨張または破裂してしまった)なら聞いた事が。

IT業界って怖いですね〜(棒読み)

何でそうなった?

そもそもの発端は、私が現在執筆中のLinuxネットワークプログラミング書に書いているコラムのための質問でした。 Wiresharkやtcpdumpを利用したパケットキャプチャによる通信プログラムのデバッグを解説する際にプロミスキャスモードとは何かという話を書いていたのですが、その最後にちょっとしたコラムを書くためのブレストとしてTwitterで質問をしました。

質問です。LANカードから全てのパケットを拾うためのプロミスキャスモードの「promiscuous」には性的に無差別という意味があり例えば「promiscuous party」というと乱交パーティになりますが、同様にUNIX系用語でやばそうなのって何かありますか?

今何を書いてるかというとLinuxネットワークプログラミング解説書でtcpdumpとWiresharkを使った通信プログラミングデバッグです。プロミスキャスモードの解説中にコラムで英単語に「乱交」という意味があるという話を書いています。

Linuxネットワーク本のコラムに乱交パーティと親殺し子殺しに関してのコラムを書きました。皆様、ありがとうございました!

(注意:UNIXの話です)乱交状態で口を開いたまま発狂した子供を親が強制的に殺した。

で、結局出来上がった原稿は以下のような感じです。 Twitterでコラムの内容を見たいと発言されている方がいらしたので、出版前ですが晒してしまいます。

コラム:ぁゃιぃ UNIX用語 (☆ 「あやしい」の部分は、xa xya イオタ xi です。)


プロミスキャスモードを「無差別モード」と訳す場合が多いのですが、この「Promiscuos」という単語は性的な意味を含む英単語なのでご注意下さい。 たとえば、「promiscuous party」を日本語訳すると「乱交パーティ」になります。

UNIX系の技術用語には非技術者から見ると変なものも色々あります。

プロセスを終了させるコマンドやシステムコールは殺すという意味を持つ「kill」です。 また、同じ名前のプロセス全てを終了させるコマンドで「killall」というのもあります。 さらに、プロセスには親子があり、wait()によって親が看取ってないプロセスはゾンビになります。 これらを組み合わせると、「親が発狂してしまったので子供がゾンビになってしまった」という会話もあり得ます。

さらに、プログラムを異常終了させるための標準Cライブラリ関数にabort()がありますが、このabortという英単語には「中絶」という意味があり、日常会話ではあまり推奨されないかも知れません。

物理メモリ上のデータを一時的に仮想的にメモリとして扱われる別の記憶媒体へと移す行為をswap(スワップ)もしくはスワッピング(swapping)というのもあります。

バックグラウンドで動作するプログラムであるデーモン(daemon)も悪魔という意味が広義では含まれます。 daemonはdemonとは別で、実際にはより広い精霊を含めた存在ですが、両方を同じように扱う人がいますし、テキサスでBSDデーモンシャツを着ていたら悪魔崇拝者と間違われたという笑えないネタもありました。 (daemonに関してはChapter 10参照。Chapter 10には「監獄」という意味を持つjailも登場します)

技術用語も色々ですね。

なお、これはまだ提出前の原稿段階なので最終的に書籍に含まれるかどうかは定かではありませんし、てにをは修正など、文章の校正が多少変更される可能性もあります。 あらかじめご了承下さい。

Linuxネットワークプログラミング本の内容

最後は宣伝になってしまって恐縮ですが、私が書いている(単著)Linuxネットワークプログラミングが来月末ぐらいに発売になる予定です。 これを書いたために、ここ数ヶ月ブログ更新が鈍っています。 まだ原稿を書いているのですが、何とか間に合えば嬉しいと考えています(じゃあ、ブログ書くなという突っ込みは禁止します)。

章立ては以下のような感じです。 getaddrinfo()前提で、inet_addr()やgethostbyname()などは使わないようにということを注意しながら、初心者向けネットワークプログラミング解説書を目指しました。 i.e. 研究室の新人学生に読ませたときに、難し過ぎず簡単過ぎずにある程度喰い付いてくれつつ、本書だけではなく他の書籍や検索エンジンをあたりながら自分で勉強できるようなものを目指して、キーワードを多めに含めたりしました。

  • インターネットの仕組み
  • TCP通信の基礎
  • UDP通信の基礎
  • ネットワーク情報の取得と設定(ioctl,procファイルシステム)
  • Netlinkによる情報取得と設定
  • 基本的な通信関連関数(setsockoptなど。エンディアンなどの解説も含む)
  • プロセス間通信(AF_UNIX,socketpair,pipe,System V IPC)
  • 通信プログラムのデバッグ(Wireshark,tcpdump)
  • 複数のソケットを扱う(主にepoll, ついでにselect,poll)
  • TCPサーバプログラミング(fork/pthread/epoll+accept,TIME_WAIT,daemon,chroot,syslog)
  • デュアルスタックプログラミング(IPv6,sockaddr_storage,IPv4 mapped IPv6 Address)
  • 生パケットプログラミング(SOCK_RAWによるping,AF_PACKET,pcap)
  • マルチキャストプログラミング(IPv4/IPv6マルチキャスト,アドレス選択,SSM,ASMソースフィルタ)
  • Appendix: IPv4しか使えない関数

なお、このブログエントリは原稿の最後の追い込みからの現実逃避です。。。 原稿書かなきゃ。。。

関連

2007年1月24日のエントリ:UNIXの達人によるセックス

2007年3月13日のエントリ:kill -9 ラップ (現Google社員が「kill -KILL」コマンドに関して熱唱。参考→http://en.wikipedia.org/wiki/Dan_Maynes-Aminzade)

追記

Linuxネットワークプログラミング本が発売されました

最近のエントリ

過去記事

過去記事一覧

IPv6基礎検定

YouTubeチャンネルやってます!