第九十七景:シンプルかランダムか。第九十二景(特別編):パソコン体験は小学校から。株式会社はてなで開発を担当している伊藤直也です。今回はデスクトップ百景ということで、恐れ多くも私のデスクトップを使って、開発者の使うデスクトップの様子をご紹介いたします。何もないデスクトップこれが私のデスクトップ画面です。ご覧の通り、普段はごみ箱しかないという状態で、デスクトップそのものはこのコーナーの他の方々に比べて恐ろしくシンプルです。画面を広く使いたいので、タスクバーも普段は隠しています。ごみ箱以外は何もないデスクトップシンプルにしている理由というのは特にないのですが、1つ挙げるとすれば、仕事に集中できる状態を目指していたらこうなったといったところでしょうか。私の職業はプログラムを書く人、すなわちプログラマーです。プログラムを書く仕事では長い集中時間が必要になります。長い時間考えて、考えた結果をプログラム言語によってソフトウェアという形にする、そんなことをひたすら繰り返す仕事です。頭を使いすぎているせいか、一日が終わると体は疲れてないのにふらふら、そんな毎日です。集中が必要な職業なのですが、私個人は複数のことを同時にこなすのが苦手なようで、ちょっとした割り込みですぐに集中力を欠いてしまいます。集中している時にメールやメッセンジャー、その他さまざまなパソコンのツールでアラートがあがるとついつい「イラッ」としてしまいます。このイラつき具合は周囲の人から見てもわかってしまうようで、職場では「仕事中は怖い」などと評されることもしばしば。怖いといわれてショックだったので、話しかけられたらにこやかに微笑む努力をしているつもりではあるのですが。もとい、そんな私なのでメッセンジャーはいつもオフにしていますし、メールのアラートも目に入らないようタスクバーの奥に隠してあります。いつ見てもメッセンジャーにはいないし、メールも見てもらってるのかわからない、というのは、あなたのことが嫌いだからじゃないんです、わかってください、そう願う日々です。開発者に必須のツールは端末エミュレータさて、私にとって仕事でも趣味でも開発に欠かせないツールと言えば「端末エミュレータ」です。以下の画面がそうで、ターミナルとも呼ばれます。暗い画面に文字がびっしり、見るからに扱いづらそうな具合ですが、慣れるとそうでもありません。これは「PuTTY」という端末エミュレータのソフトウェアです。端末エミュレータを使うとネットワークでつながった別のマシンにログインして、そのマシンを手元のマシンから操作できます。パソコンの中から別のパソコンを操作するわけですね。端末エミュレータの操作は基本的にキーボードからコマンドを打ち込んで行ないます。ファイルの一覧が欲しかったら「ls」、ファイルの中身を覗きたかったら「cat」、マシンの負荷状態を確認したい場合は「top」といった具合に、キーボードからコマンドを打ち込んでいきます。普段私が開発に使っているのは、UNIXと呼ばれるOSの仲間であるLinuxです。さっきはWindowsを使っていたのに、今度はLinuxを使っているというのはわけがわからない......、ということの答えは、この端末エミュレータにあります。Windowsの上で動くPuTTYという端末エミュレータを使い、Linuxが動いている別のマシンを操作しているのです。我ながら器用なもんです。ハッカー)は「魔術師」と呼ばれたりします。その理由の1つには、この端末エミュレータに謎のコマンドを打ち込んで作業している様子が、外からみると何をやってるかさっぱりわからないということも含まれていそうです。ロールプレングゲームでは魔法使いよりも戦士系のキャラクタを育てるのが好きなのですが、魔術師(マジシャン)と呼ばれるのも響きとしてはかっこいいし、悪くはないです。手品のマジシャンと時おり間違われるのが玉に瑕ですが。疲れたときは本当にホイミを唱えられたらいいのに、そんなことも思います。そうそう、端末エミュレータを重宝するのにはもう1つ理由があります。私が普段仕事で管理しているシステム、つまりははてなのWebサイトには、総数300台以上ものサーバーマシンがあります。サーバー置き場の総面積も相当なものですし、サーバーを置いている場所は複数あって、うち1つはオフィスから地理的に遠く離れた場所にあり、交通機関を使わないと到達できません。それらを設定するために、いちいちサーバールームの中を走り回っていたのでは、それだけで疲れ果ててしまいます。そこで手元のWindowsパソコンからネットワーク経由でサーバーにアクセスして操作をするのです。そのためには端末エミュレータが必要不可欠です。私の場合、自分の使っているパソコンの中ではWindowsが動いていますが、そのWindowsの上で更にLinuxを動かしています。わけのわからないことを言ってるようですが、「coLinux」というソフトウェアを使うと、こんなちょっと変わったこともできるのです。オフィスツールなどWindowsで便利なものはWindowsで使い、開発はLinuxの方が便利なのでLinuxで、と使いわけています。Linuxは端末エミュレータで操作します。この端末エミュレータからアクセスするLinuxの中には、普段私が必要とするツールのほとんどが詰めこんであります。わかりやすいのはこの文章を書くためのエディタでしょうか。Emacs」という、端末エミュレータ越しでもちゃんと動作するUNIXハッカー向けのエディタを使っています。Emacsは、プログラマーのために作られたエディタです。B」といったキーの組み合わせで動かします。F」と、キーボードだけで操作していきます。「なんじゃそりゃ、使いづらそう!」と思われた方もいらっしゃるかもしれませんが、実際にはこれなしではもう生きていけません。確かに最初はとっつきにくいのですが、がんばって慣れると普通のエディタを使っていたのよりもはるかに効率的にプログラムを書くことができます。エディタの使い勝手次第で仕事の生産効率が何倍も違ってくるのです。残念ながら頭の回転速度は常に等速ですけれど......。「そんな、たかがエディタを使うためにそんなに苦労するなんて!」......。すいません、プログラマはそういう生き物なんです。手間がかかっても最後に得ができるならどんな苦労もいとわない、というと立派ですが、実際には楽をするためには苦労をいとわない、それがハッカー哲学です。エディタである一方、なぜかWebも見られるしメールも読めます。メールは読むだけでなく送ることもできますし、チャットだってできてしまいます。ブラウザを使わずに、このエディタからブログを更新するのもOK。専用の2ちゃんねるビューワーもあったりと、もうわけがわかりません。Emacsを使ってる人は、一見プログラムを書いてるように見せかけて実は2ちゃんねるをウォッチしている、なんてことがあるので要注意ですね。アプリケーションでもできないものかと、Emacsを使った人は誰もがそんなことを考えます。それを実現するソフトウェア、それがxkeymacsです。開発者のoishiさんには足を向けては寝られません、どちらの方角にお住まいかわからないですが。ところでこの端末エミュレータ、エディタとしても使っているということは、たくさん端末エミュレータを立ち上げておかないといろんな作業をするのに不便に見えます。その辺は魔術師たるもの、1つの端末エミュレータの中に複数の画面を詰め込んでおき、キーボード操作で切り替えていきます。1」でエディタが開いているもう1つの画面。しても謎のキーボード操作ですね。いいんです、これが魔術なので。screenと言います。こんな具合で、私のデスクトップは殺風景で立ち上がってるのは1枚の端末エミュレータとFirefoxブラウザだけ、ときどきメールを見るのにBecky!が見えるという具合です。プログラム開発というと何か派手な印象を持たれた方もいらっしゃるかと思いますが、ことUNIXプログラムの開発にはこのぐらいでもなんとかなってしまいます。開発中は端末エミュレータとFirefoxだけちなみにデスクトップはシンプルであっても画面は広いに越したことはありません。そんなわけで会社ではデュアルモニタを使って高解像度大画面で2ちゃんねるをウォ......ではなくサービスを開発しまくっております。はてなの新サービスの企画・開発を行なう。個人でRSS検索「FeedBack」、Amazonアフィリエイト支援ツール「amazletツール」なども開発。自身のブログでも技術やブログ関連の話題などを紹介している。