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