Monday, April 30, 2007

かたづけ

自分はノートパソコン派であるため、(会社からもらった 1 台を除いて)所有しているパソコンは、すべてノートパソコンだ。7 台の ThinkPad を所有している。Linux を常用するようになった初期、設定を失敗すると再インストールを繰り返していた。「一方で設定をしながら一方で再インストール」のような作業をこなすため、できるだけマシンを常に起動できる配置をしていた。ここに引っ越してきてから、机に ThinkPad T41 が 3 台、右側の本棚に ThinkPad X31 が 2 台、移動式の机に R52 が 2 台、具体的にカタカナの「コ」の字型で自分を取り囲んでいた。最近、設定なども慣れてきて、よっぽどのことでない限り、再インストールすることもなくなったため、常時、自分を取り囲むように PC を配置しておく必要もないと思っていた。加えて、常に外に出しておくと、それなりにホコリをかぶってしまっていた。「しまうと起動しなくなるから」と思っていてしまわずにいても、実際のところ頻繁に起動しないため、この際、しまうことに。すべて一通り掃除してからインナーケースにしまった。現在、この post を X31 で書いているが、久々にこのマシンを起動した。古い Ubuntu Linux がインストールされていたため、最新バージョンで再インストール。これまでメインで使用していた機種の SXGA+ と比較すると、やはり XGA を狭く感じるが、普段の勉強なら問題ない広さだ。机のスペースを活用できるため、問題集やノートを開いても問題ない。やはり作業スペースは、広ければ広いほどよい。

連休 3 日目

風邪をひいてしまった...。

Friday, April 27, 2007

Top Ten Distributions

DistroWatch.comTop Ten Distributions なるページを発見。先日、某メーリングリストにおいて distribution の話題で盛り上がっていたのを思いだした。Linux 初心者なら個人的に Ubuntu Linux を recommend する。ただし、書籍を含めて「日本語」の情報を探したいなら、別の、つまり Fedora とか OpenSUSE を選択すると better かもしれない。

authorized_keys2 is Obsolete

2001 年に OpenSSH 3.0 がリリースされたときから、だって...。知らなかった...orz

$ cat ~/.ssh/authorized_keys2 >> ~/.ssh/authorized_keys


--
OpenSSH 3.0

Monday, April 23, 2007

コンタクト

使い捨て(1 日タイプ)のコンタクトレンズを愛用している。これまで日比谷のアイシティで購入していたが、足立区へ引っ越したこともあり、近場の店舗を探していた。隣町の亀有に店舗を発見。半年ぶりに購入するため、店舗に隣接している眼科で検診。日比谷のアイシティの場合、利用者が少ないせいか、トータル 30 分ほど購入できるときもあったが、今日、3 時間くらいかかってしまった。患者が多すぎ。20 人待ちって、眼科でありない...。結膜炎かもしれないらしく、薬をもらってきた。点眼を忘れてしまっているが...。そういえば、ハードコンタクトを勧められた。やはりソフトコンタクトは目に負担をかけるらしい。目が疲れやすいから、ハードも検討すべきかもしれない。

Saturday, April 21, 2007

Ubuntu : Upgrade to 7.04 from 6.10

メインで使用している Ubuntu Linux を 6.10 から 7.04 へアップグレードした。

Upgrading your existing Ubuntu installation | Ubuntu

アップグレード作業は、非常に簡単だ。上記の手順に従うだけ。これほど簡単にアップグレードできるとは...。

Friday, April 20, 2007

キーボード

購入してみた。

ThinkPlus USB トラベルキーボード ウルトラナビ付(英語) - 31P9490 -

以前より購入したいと思っていたが、なかなか 10,000 円を下回らなかった。たまたま ThinkVantage Club において、9,660 円で販売されていたのを発見したため、16 日の夜に注文。18 日に配送された。

Happy Hacking Keyboard Lite 2 - PD-KB200B/P - も所有している。こちらも省スペースで、かつタイプ感も良好であるが、別途マウス用にスペースを確保せねばならず、その点、ThinkPlus USB トラベルキーボードが勝る。

職場でも使用したいので、経費で落とせるか確認してみようかなw

Wednesday, April 18, 2007

久々に

shell でスクリプトを作成してみた。まだプロトタイプだが。Subversion 用のスクリプト。コミットが発生したとき、このスクリプトを kick して、リポジトリの dump ファイルを生成する。保存ディレクトリに事前に指定した以上の dump ファイルが存在したら、古い dump ファイルを削除する。まだ、別のサーバへ転送する部分を書いていない。仕事だと真剣に書くから、それなりに楽しい。

Monday, April 16, 2007

自販機

Suica でコーラを購入(しばしば飲みたくなる)してみた。毎日、現場へ通勤するため大手町を経由するが、大手町の、少なくとも千代田線でかつ、自分が通り過ぎる場所に設置されている自動販売機は、すべて PASMO & SUICA に対応している。当然、定価であるため、緊急事態?を除き購入するはずもないが、ためしに購入してみたかった。で、購入してみた。違いは、通常、お金を投入してから品物ボタンを押下するところ、電子マネーの場合、まず品物ボタンを押下したあと、reader 部分にカードまたは携帯電話(モバイルスイカの場合)を近づける、ことになる。携帯電話で試したが、瞬時に終了する。小銭を財布から取り出す必要も無く、とても便利だ。

会社に財布を忘れたため、電子マネー以外の手段で購入できなかった...。

Sunday, April 15, 2007

失敗

ファイルサーバに組み込むため用意していた機器を、やっと揃えられた。昨日、実際にハードウェアを組み込む作業を終了したため、インストールから作業を開始。詳しくない RAID を Linux 上で動作させるため、まず Google で先人の足跡を探して見ることに。異なるバージョンだが、ここを発見。

RAID-1 in My Ubuntu Installation

ほぼ同じように作業を進められた。最初、「異なる ISO イメージで boot する点」を見落としてしまい、無駄な時間を消費してしまった。改めて ISO イメージをダウンロードし、CD-R に焼いてマシンを起動。パーティションを作成する段階でいくらか混乱したが、なんとかクリア。システムに必要なソフトウェアが自動的にインストールされる段階へ移ったため、そのうちインストール作業を終了することになるだろう、と思っていた...

が、ダメ。

Ubuntu Linux は Debian のインストーラと似ているが、インストールがいつくかの段階に分割されている。そのうちの「Select and install software」という段階で failed してしまう。繰り返すも失敗、失敗。

(メッセージここから)
[!!] Configuring gnome-applets
Installation step failed
An installation step failed. you can try to run the failing item again from the menu, or skip it and choose something else. The failing step is: Select and install software
(メッセージここまで)

gnome-applets の configuration で失敗している様子。ただし、Select and install を繰り返しても、やはり同様にメッセージで停止してしまう。

仕方なく、次の段階である Install the GRUB boot loader on a hard disk を選択すると、

[!!] Install the GRUB boot loader on a hard disk
The grub package failed to install into /target/. Installing GRUB as a boot loader is a required step. The install problem might however be unrelated to GRUB, so continuing the installation may be possible.
GRUB installation failed. Continue anyway?
<Go Back> <Yes> <No>

と表示される。GRUB をインストールできなかったかもしれない。<Go Back> を選択しても、どのみに失敗してしまうため、<Yes> を選択してみると...、インストール完了!!

ただし再起動した後、システムを起動している途中で停止してしまう...。


タイムリミットであるため、このあたりで終了とす。今月 19 日に Ubuntu Linux の新バージョンがリリースされる予定であるため、改めて ISO イメージのダウンロードから試験してみたい。

Saturday, April 14, 2007

電車もバスも

昨日、ポストに不在通知を発見。やっと PASMO が配送された。午前中に再配送を依頼。



これは、「記念カード」であるため、普通のデザインと異なる。明日、定期券をこの PASMO へ移行する。

現在のチャージ額は 0 円だ。最初に(乗車のため)改札を通るときにオートチャージされるようだ。


次の定期の購入も間に合わないんじゃないかと思っていたが...、とりあえずよかった。

Friday, April 13, 2007

ぼやき

先輩エンジニア@現場にて、「誰かがリポジトリのデータを更新したら、自分が update OR commit する前に確認したいんだけどなぁ」とボヤいていた。Subversion の話。何かしら通知する機能が存在したな、と思ったため、検索してみることに。あったあった。残業せずに帰宅。明日「簡単ですよ」と自慢するために、密かに試験した、その作業メモ。

マシンは、Ubuntu Linux 6.10 だ。既に Subversion パッケージがインストールされている。


hook スクリプトのディレクトリは、リポジトリのディレクトリ直下に存在する。

$ ls -1 ${repos_dir}/hooks/
post-commit.tmpl
post-lock.tmpl
post-revprop-change.tmpl
post-unlock.tmpl
pre-commit.tmpl
pre-lock.tmpl
pre-revprop-change.tmpl
pre-unlock.tmpl
start-commit.tmpl
$


念のため、オリジナルをコピーして使用する。実行権限を付与しておく。ファイル名から実行される機能を想定できる。

$ cp ${repos_dir}/hooks/post-commit.tmpl \
${repos_dir}/hooks/post-commit
$ chmod +x ${repos_dir}/hooks//hooks/post-commit


kick されるスクリプトを含むパッケージをインストールする。

$ su -
# apt-get install subversion-tools

-----(インストールされるファイルの一覧ここから)-----
/usr/bin/svn_load_dirs
/usr/lib/subversion/hook-scripts/README
/usr/lib/subversion/hook-scripts/commit-access-control.cfg.example
/usr/lib/subversion/hook-scripts/commit-access-control.pl
/usr/lib/subversion/hook-scripts/commit-email.pl
/usr/lib/subversion/hook-scripts/mailer/mailer.conf.example
/usr/lib/subversion/hook-scripts/mailer/mailer.py
/usr/lib/subversion/hook-scripts/mailer/tests/mailer-init.sh
/usr/lib/subversion/hook-scripts/mailer/tests/mailer-t1.output
/usr/lib/subversion/hook-scripts/mailer/tests/mailer-t1.sh
/usr/lib/subversion/hook-scripts/mailer/tests/mailer-tweak.py
/usr/lib/subversion/hook-scripts/propchange-email.pl
/usr/lib/subversion/hook-scripts/svnperms.conf.example
/usr/lib/subversion/hook-scripts/svnperms.py
/usr/lib/subversion/hook-scripts/verify-po.py
/usr/lib/subversion/hot-backup.py
/usr/share/doc/subversion-tools/changelog.Debian.gz
/usr/share/doc/subversion-tools/copyright
/usr/share/doc/subversion-tools/svn_load_dirs.README.gz
/usr/share/man/man1/svn_load_dirs.1.gz
-----(インストールされるファイルの一覧ここまで)-----


kick するファイルを指定するため、post-commit ファイルを編集する。

$ vi ${repos_dir}/hooks/post-commit
#!/bin/sh

# POST-COMMIT HOOK
#
# The post-commit hook is invoked after a commit. Subversion runs
# this hook by invoking a program (script, executable, binary, etc.)
# named 'post-commit' (for which this file is a template) with the
# following ordered arguments:
#
# [1] REPOS-PATH (the path to this repository)
# [2] REV (the number of the revision just committed)
#

(.....省略.....)

REPOS="$1"
REV="$2"

#/usr/share/subversion/hook-scripts/commit-email.pl "$REPOS" "$REV" commit-watchers@example.org
/usr/lib/subversion/hook-scripts/commit-email.pl "$REPOS" "$REV" you@example.com
:wq
$


サンプルのファイルを編集し、コミットしてみる。

$ vi get_monthly_log
(.....編集.....)
:wq
$
$ svn commit -m "sample commit" .
Sending get_monthly_log
Transmitting file data .
Committed revision 2.
$


-----(配送されたメールここから)-----

to you@example.com
date Apr 12, 2007 11:45 PM
subject r2 - /

--------------------------------------------------
Author: satoshi
Date: 2007-04-12 23:45:04 +0900 (Thu, 12 Apr 2007)
New Revision: 2

Modified:
get_monthly_log
Log:
sample commit

Modified: get_monthly_log
===================================================================
--- get_monthly_log 2007-04-12 14:13:30 UTC (rev 1)
+++ get_monthly_log 2007-04-12 14:45:04 UTC (rev 2)
@@ -1,6 +1,6 @@
#!/bin/sh

-#echo "hoge"
+echo "hoge"

-----(配送されたメールここまで)-----

Tuesday, April 10, 2007

Ubuntu : multimedia player and streamer

You must have `universe' repository enabled.

$ su -
# apt-get update
# apt-get install vlc
# exit
$ vlc &


--
Ubuntu -- vlc

英語

今日から、いつもより 1 時間ほど早起きすることにした。英語の勉強の時間を確保するためだ。最近、電車で移動しているとき(かつ平日)のみ勉強をしていたが、もっと量を増やさなければと思っていた。週末も集中的にリスニング練習をしたいところ。

最近、「音」を注意して聞くようにしている。特に「子音」だ。英語だと(日本語のように)ハッキリ発音されないから、なかなか聞きとれず苦戦している。

Sunday, April 08, 2007

水没

iPod nano 水没しました...orz

Saturday, April 07, 2007

Vim

もう vi なしで生きられない体と化している自分。

どうしても Windows を使用しなければならない、という過酷な状況において、Vim を使用する。ただ、デフォルト設定でダメだ。

Linux ディストリビューションを使用する場合、、${HOME}/.exrc ファイルを作成し、たとえば以下のような設定をする。

(ここから)
set exrc
set number
(ここまで)


で、Windows の場合、Linux と一緒だと考え、${HOME}/.exrc ファイルを作成したが、有効にならない。

ちなみに、Windows の場合、${HOME} は

C:\Documents and Settings\you

だ。

スペースが含まれているところが、Windows らしくて腹立たしい。


めちゃめちゃ検索しまくって、どうにか発見した。そもそも Windows 環境のこと調査するだけでモチベーションが低いため、途中、何度も諦めようと思った。

どうもファイル名が異なるようで、.exrc でなく、_vimrc らしいのだ。. じゃなく _ である理由は、おそらく Windows の場合、. から始まるファイルを作成できない(技術的な話をすると作成できる)ためだ。


ちなみに、. からはじまるファイルを作成しようとすると

「ファイル名を入力してください。」

という警告メッセージが表示される...。ださすぎ。


とりあえす Windows プラットフォームにおいての Vim のデフォルト設定を以下のように設定しておいた。

・行番号が表示される
・フォントが変更される(`MS' を全角で指定すること
・言語が日本語から英語へ戻される

(ここから)
set number
set guifont=MS_ゴシック:h8:cSHIFTJIS
set langmenu=none
(ここまで)

Thursday, April 05, 2007

3 日目

Eclipse のバグらしい現象に悩まさ、解決できなかった。再現するか?改めて確認する予定。Windows 環境に特有の配慮を必要とするため、非常に面倒。知らないし興味ない...。まるで異世界のようだ。まぁ、やるけど。以前、どこぞの面接で同席したエンジニアが何かの用事でこの現場へ訪れていた。もしかして同じ担当に?

現場のビルを出た直後、小さな犬(チワワ?)に遭遇。直視したら寄ってきて足にすりすり...。



一緒に暮らしたい...

Wednesday, April 04, 2007

2 日目

まだ大した仕事をしているわけじゃない。潔癖症な自分が満足できるきれいな環境とも言えない。本当にここでまともな仕事をできるかわからない。不安も多い。が、楽な気持ちで仕事をできている。無駄な会話も少なく、キーボードを(やや強めに)たたいている音を心地よく感じる。作業マシンは Windows がインストールされているが、リモートの検証マシンにログインして、忘れかけていたコマンドを実行したり、man を確認してみたり。Windows においてもテキストエディタは Vim だ。これじゃなきゃダメだわ。Web ブラウザは Firefox で、メールクライアントは Thunderbird だ。Internet Explorer & Outlook を強制させられたりしない。先輩エンジニアと会話しやすいことも大きい。全体的に干渉が少ない現場だ。最大のポイントは、進む方向が修正されたことだな。直接、関係ないことでも勉強になるし、勉強しようと思える。地味なドキュメント作業においてさえも。昼飯さえ改善できれば...。安いけど弁当を毎日だと厳しいかもしれない。

Tuesday, April 03, 2007

初日

新しい現場において業務の初日。寝不足だったため、一日を通して具合が悪いままだった。Red Hat Enterprise Linux において、3com の NIC を正常に認識させられない現象に悩まされたが、いつのまにか解消していた...。現象を再現できる環境をもちあわせていないため、原因を調査できない。開発環境として使用するマシンであるため、何もできないだろう。個人で使用するマシンを借り、セットアップしようと各機器を接続していたところ、ありえないほどキーボードが汚されていることを発見!!これは手垢か?と本当に疑いたくなるほど、汚れが付着していた。潔癖症の自分は耐えられなかった。こっそり掃除。ただし水で。いつものクリーナを持参し忘れてしまったのだ...。40 分ほど残業して終業。

だらだらと

勉強しても意味ないので、試験を予約した。5 月 12 日の 13:00 から。Oracle Database Bronze SQL なり。勉強する前より確実に SQL を使いこなせるようになったと実感。もっと早く勉強するんだった。これで試験に合格できなかったら笑えるな。受験料は自腹の予定だが、もしかしたら会社が...期待!現在、DBA の勉強を並行で進めている。早く Oracle 自体を終了したいところ。

Sunday, April 01, 2007

ファイルサーバの現状

注文していた HDS721616PLA380 (160G SATAII300 7200)SA-RC2-LG が配送されてきた。追加で注文した Serial ATA ケーブルはまだ配送されてきていないため、とりあえず現状の構成(シングルの Serial ATA HDD)において Ubuntu Linux が正常に動作するのか?を確かめようと考えた。普通に ISO イメージを焼いた CD-ROM をセットしてマシンを起動し、インストール作業を開始。画面が乱れるものの LCD モニタのユーティリティを実行して調整。最終的に、難なくインストール作業を完了できた。もともと、オンボードの Gigabit Ethernet を搭載している(マザーボード:i915GMm-HFS)が、なぜか PCI スロットに装着されていた Intel の NIC を使用した。3 枚の NIC が装着されていることになるが、各 NIC の設定を Gnome のユーティリティを使用して設定...。やっぱ GUI は楽だし。最新のパッチを適用してから電源を OFF したところ、モニタは OFF されるが、本体の電源は OFF されない。電源ボタンの長押しにより強制終了する以外、手段を発見できていない。尚、正常に再起動できている。

今後の作業の予定:
- Serial ATA ケーブルの到着を待つ。
- 各パーツを組み立て、改めて Ubuntu Linux をインストールする。
- RAID の動作を確認する。
- このマシンへデータを移行する。

ETC Card

無駄に ETC カードを作成してみた。レンタカーでどっかへ旅行してみる、なんていいかも。まともに運転したことなんて 5 年ほどないはずだから、標識を正しく理解できるか心配だ。

振り返って...

3 月いっぱいで、とある会社においての業務を終了した。

この 6 か月間、本当にストレスと戦いっぱなしだったように思う。自分の精神状態をコントロールできず、(自宅マンションのエレベータのような一人になれる場所で)発狂したりすることもあった。そう、精神的なコントロールが大きな負担だった。自宅で勉強すればするほど更に勉強したくなるが、現場において全く関係ないことを担当せねばならなかった。モチベーションを上げれば上げるほど、より業務とのギャップが大きくなってしまい、辛かった。暖めては冷まされ、暖めては冷まされ、を繰り返していた。結果的に、常に無気力な状態に陥った時期もあった。危険だったかもしれない。寝ることを嫌いになった。寝てしまうと簡単に朝を迎えてしまうからだ。またあそこへ出勤しなければならないのか、と思う自分を想像して、眠りたくなかった。現場においての業務は、すべて Windows であったことも強烈にストレスを生み出していた。使い慣れず、かつ使えないツール類の使用を強制されること、それがこれほどまでにストレスになるのか!と痛感させられた。周囲の人が、そのような使えないツール類を使用して平然と仕事をしていることを不思議に感じてしまった。やる気のないエンジニアもストレスを n 乗させてくれた。コマンドのオプションを質問するなら、まず man を実行してくれ。man の結果が英語で表示されたからといって、すぐに q キーを押下して、Google で検索するのもやめてくれ。Google も検索せずに、すぐ質問するのもやめてくれ。基本的な vi の操作くらい事前に身につけておいてくれ。UNIX エンジニアとして現場に存在するのだから、「俺は Windows ユーザだし」と平気で言わないでくれ。

勉強になったこともあった。やはりどこの会社または現場においても、仕事をできる人が存在する。ひとつの会社のみで業務をしていたころ、「この(仕事をできる)人のやり方は正しいのか?」という疑問を感じても答えを見出せず、目標とする人物を設定できなかった。ただし、会社や現場をこえる共通点が存在することに気づいた。

自信になったこともあった。前の会社で仕事をしていたころ、自分のスキルを信じられなかった。そのため、たとえば面接で「何をできるのか?」と聞かれたとき、「何もできません」と回答してしまう自分だった。shell スクリプトを作成するスキルを例とすれば、そこそこ作成できる、が、Linux の起動スクリプトほどの shell スクリプトを作成できるわけじゃない。また、Linux のユーザグループにおいて「神の領域で生きている」ようなエンジニアが送信したメールを読むと、自分のスキルなんて基礎中の基礎に感じられ(実際そうなんだが)、「あのような人と比較すると全くできないな」と思い込んでいた。ただ、現場において感じたことは、「できる」という言葉が定義するスキルの度合いが異なるだけだと理解した。自信になったわけじゃないが、「自分のスキルを正確に理解できる人は(なかなか)存在しない」ということを認識した。いくら説明しても理解できない人へ説明しても無駄だ。

当然、ここに書けないことも多いわけで、振り返ると「二度と戻りたくない」という状態だが、なんとか乗り切れた。「耐え続けたこと」に達成感を感じる...。先日、Java の勉強を再開した。多くのことを忘れてしまっていることに気づき、かなりガックリきている。ただし、4 月から業務で Java に関われる。実務の経験できれば、一人で勉強するよりも早くスキルアップできるだろう。Linux を使用しつづけていたことにより、コマンドライン操作を忘れずに済んだ。まぁ、もともと他の OS をメインで使用するなんて考えていないが。