Wednesday, April 30, 2008

状況

5:30 ごろ就寝して、これから活動を再開す。ソースコードとドキュメントの読み込み。

嗚呼

ダメだ、実装できない。明日も自宅で作業しようかな。自社へ移動するための時間すら無駄に感じる。

わーくすてーしょんのあるくらし

わーくすてーしょんのあるくらし

いまどき、やけにシンプルな Web ページを作成および公開している人がいるもんだ、と思った。現役プログラマ、っぽい。そして、内容といえば、非常に読みやすい。どんな人だろうか?


生年月日を注目:
My Profile

Tuesday, April 29, 2008

Using An External Display With A MacBook

MacBook の画面を ThinkVision L220x へ出力するよう変更してみた。正常に出力できた。めちゃめちゃ広く画面を使用できるようになった。マジ広すぎ、WUXGA (1920 x 1200) は。このディスプレイを使用するとき、ThinkPlus USB トラベルキーボード ウルトラナビ付 (英語) を使用することにした。

--
画面解像度

2008-04-28 の記録

いや、遅くても 2 AM ごろに寝る予定だったんですけれど、えぇ。

今日も自宅で仕事をしてしまった。午前中、眠くて眠くて、ほとんど何もできなかった。というか何をしたのか覚えていないし、思い出せない...。夕方ごろになって、徐々にスッキリしてきて、まぁ、現在、正常な状態だったりする。しかし、寝よう、無理にでも寝よう。

明日、昼から川崎で知り合いと会う。2 年ぶりくらい?

この時間まで活動している、つまり debug ですよ。パズルのようなプログラミング。組み合わせて、組み合わせるだけ。エラーを出力したら、ドキュメントまたはサンプルプログラムを参考に修正、というか組み合わせを変更してみて、改めて実行してみる。そして、またエラーが出力されて、組み合わせを修正して...。これ、無限ループ。悲しくなってきた。

Apple Store で注文したケーブルが発送されたようだ。このケーブルさえ用意できれば、この狭い MacBook の画面でなく、1920 x 1200 という、これまで経験していない解像度で作業できる。

Monday, April 28, 2008

Ordered TS2GIB3847

まだ来ぬ ThinkPad T61 に装着するメモリを注文した。

TS2GIB3847

2 GB をふたつ注文した。合計 4 GB なり。

30 % OFF クーポンを適用して、10,850 だった。送料は無料だった。

Ordered HTS722010K9SA00

HTS722010K9SA00 を、パソコン工房にて注文した。

本体:7,970 円
送料:630 円
合計:8,600 円

まだ配送されない T61 で使用する予定だ。つーか、T61 は、いつ配送されるんですかっ!?

2008-04-27 の記録

10:00 に目覚ましをセットしていたが、やはり起き上がれなかった。だが、10:30 にクロネコが来襲した。注文していたメモリを持ってきてくれた。

メモリを受け取った後、眠かったが眠らず、かなり散らかっていたデスクの周囲を整理した。昼過ぎに掃除機を出動させて更に掃除。

その後、ちと亀有にお出かけ。

帰宅してシャワーを浴びた。その後、過去に購入した CD を iTunes に import しまくった。懐かしい CD を聞いて、現在そのミュージシャンがどんな活動しているのか、を確認してみたところ、いくつか解散してしまっていて少し悲しかった...。

bug だと思い込んで調査していたら、bug じゃなくてガックリ...。

そろそろ寝たい。

com.sun.facelets.compiler.TagLibraryConfig loadImplicit

jBPM を使用して Web ページを表示すると、以下のようなメッセージが出力されてしまう。


(ここから)
02:53:49,554 INFO [Contexts] starting up: org.jboss.seam.web.session
02:53:50,408 ERROR [STDERR] Apr 28, 2008 2:53:50 AM com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/Users/satoshiabe/jboss-4.2.2.GA/server/default/deploy/pj.ear/pj.war/WEB-INF/lib/jboss-seam-mail.jar!/META-INF/seam-mail.taglib.xml
02:53:50,415 ERROR [STDERR] Apr 28, 2008 2:53:50 AM com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/Users/satoshiabe/jboss-4.2.2.GA/server/default/deploy/pj.ear/pj.war/WEB-INF/lib/jboss-seam-pdf.jar!/META-INF/seam-pdf.taglib.xml
02:53:50,441 ERROR [STDERR] Apr 28, 2008 2:53:50 AM com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/Users/satoshiabe/jboss-4.2.2.GA/server/default/deploy/pj.ear/pj.war/WEB-INF/lib/jboss-seam-ui.jar!/META-INF/s.taglib.xml
02:53:50,476 ERROR [STDERR] Apr 28, 2008 2:53:50 AM com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/Users/satoshiabe/jboss-4.2.2.GA/server/default/deploy/pj.ear/pj.war/WEB-INF/lib/jsf-facelets.jar!/META-INF/jsf-core.taglib.xml
02:53:50,491 ERROR [STDERR] Apr 28, 2008 2:53:50 AM com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/Users/satoshiabe/jboss-4.2.2.GA/server/default/deploy/pj.ear/pj.war/WEB-INF/lib/jsf-facelets.jar!/META-INF/jsf-html.taglib.xml
02:53:50,512 ERROR [STDERR] Apr 28, 2008 2:53:50 AM com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/Users/satoshiabe/jboss-4.2.2.GA/server/default/deploy/pj.ear/pj.war/WEB-INF/lib/jsf-facelets.jar!/META-INF/jsf-ui.taglib.xml
02:53:50,540 ERROR [STDERR] Apr 28, 2008 2:53:50 AM com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/Users/satoshiabe/jboss-4.2.2.GA/server/default/deploy/pj.ear/pj.war/WEB-INF/lib/jsf-facelets.jar!/META-INF/jstl-core.taglib.xml
02:53:50,548 ERROR [STDERR] Apr 28, 2008 2:53:50 AM com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/Users/satoshiabe/jboss-4.2.2.GA/server/default/deploy/pj.ear/pj.war/WEB-INF/lib/jsf-facelets.jar!/META-INF/jstl-fn.taglib.xml
02:53:50,593 ERROR [STDERR] Apr 28, 2008 2:53:50 AM com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/Users/satoshiabe/jboss-4.2.2.GA/server/default/deploy/pj.ear/pj.war/WEB-INF/lib/richfaces-ui.jar!/META-INF/a4j.taglib.xml
02:53:50,602 ERROR [STDERR] Apr 28, 2008 2:53:50 AM com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/Users/satoshiabe/jboss-4.2.2.GA/server/default/deploy/pj.ear/pj.war/WEB-INF/lib/richfaces-ui.jar!/META-INF/ajax4jsf.taglib.xml
02:53:50,650 ERROR [STDERR] Apr 28, 2008 2:53:50 AM com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/Users/satoshiabe/jboss-4.2.2.GA/server/default/deploy/pj.ear/pj.war/WEB-INF/lib/richfaces-ui.jar!/META-INF/rich.taglib.xml
02:53:50,663 ERROR [STDERR] Apr 28, 2008 2:53:50 AM com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/Users/satoshiabe/jboss-4.2.2.GA/server/default/deploy/pj.ear/pj.war/WEB-INF/lib/richfaces-ui.jar!/META-INF/richfaces.taglib.xml
(ここまで)


bug かと考え調査していたら、どうも bug じゃないらしい。JBoss の BTS において情報を発見した。

com.sun.facelets.compiler.TagLibraryConfig loadImplicit errors reported when jBPM console is accessed

Sunday, April 27, 2008

2008-04-26 の記録

くっ...、またこんな時間まで。明るいじゃねーか、外!

13:00 ごろ、いつもの日通の担当者が来た。パソコンポを依頼していたためだ。綾瀬から表参道まで、資材(段ボール:1,500 円)を含めて 2,980 円だった。安い。もっと早く依頼するべきだった。会社から借りていた古いデスクトップマシン(の本体だけ)を返却するためだ。ちょうど、事務所(表参道)にファイルサーバを用意したいと思っていたので、このマシンを使用する予定だ。

ショップから連絡あり。メモリの在庫を確保できた、とのこと。入荷したのか、早いな。

先週に続き、ROOKIES という番組を見た。泣ける...。涙もろすぎ。ちなみに、ネタがサッカーだったら見ない。

午後から、ずっと、さっきまで debug していた。つーか、第 2 回 JBoss Seam で EJB ベースの Web アプリケーション開発:ITpro って、絶対、動作を確認してないって。明らかにミスしている部分あるし。ソースをダウンロードさせない時点で、かなり怪しいと思っていたけど。まぁ、おかげで official documentaton を頻繁に読まざるをえなかったので、よかった。ある手順で操作すると、Hibernate のエラーが発生するが、調査しよう、明日。

Saturday, April 26, 2008

Python Code Reading

Python Code Reading が開催されます!

第一回 Python Code Reading 開催のお知らせ

日時:2008-05-09 19:00-21:00
場所:ミラクルリナックス本社@新橋
備考:事前の登録は不要らしい

2008-04-25 の記録

自宅で仕事をした。

9:30 AM ごろ、注文 していた Lenovo ThinkVision L220x を、日通のいつもの人が持ってきた。開封してデスクに設置してみた。やはり、現在のデスクに設置できる液晶モニタのサイズは、22 インチで限界のようだ。ちなみに、デスクの幅は 120 cm だ。最低 150 cm、できれば 180 cm のデスクをほしい。ただし、この部屋のレイアウトの場合、そのくらいのサイズのデスクを配置できなさそうだ。

昼寝したら、ちょっと長めに寝てしまった...。

ショップから連絡あり。在庫を確認したら存在しなかったのでメーカから取り寄せるとのこと。メモリの話。

MacBook と ThinkVision L220x を接続するためにケーブルを用意しなければならない、と、モニタを設置してから気づいた...。Apple Store で注文した。待ち。

引き続き、tutorial を参考に Web アプリケーションを Java を使用して作成していたが、tutorial の説明で回避できない問題でつまずいてしまった。複数のツールやソフトウェアを使用する Java EE アプリケーションの場合、原因を特定しにくいように感じている。

3 時を過ぎてから寝た。

I'm With jBPM...

jBPM を使用すると、XML ファイルに記述した JPDL をグラフィカルに操作できます。


Friday, April 25, 2008

Deleting A Virtual Machine In VMware Fusion

If you want to delete a virtual machine, you delete its files using the Finder. To delete a virtual machine:

1

Power off the virtual machine.


2

Browse to the Virtual Machines folder and select the machine you want to delete.


3

Move the virtual machine package file to the trash.

Server Hijacked

まさかっ!と思ったが、もう遅かったようだ。


1.
ssh コマンドを実行し、いつものアカウントを指定してログインしようとしたが、なぜかログインできなかった。しかたなく別のアカウントでログインした。

2.
`/home' に見知らぬディレクトリ(`/home/intel')が作成されていた。

3.
`1' でログインできなかったアカウントのホームディレクトリに、`s4.sh' という見知らぬ実行ファイルが存在していた。C 言語で記述されていた。このディレクトリを使用している人間は私だけだった。私は、このファイルを保存していないことを確信していた。少し焦りはじめた。ファイルをオープンしてみると、丁寧にも `exploit' という文字を含むコメントを発見した。

4.
`/var/log/secure' をオープンしてみると、知らない IP address からアクセスされていて、`1' でログインできなかったアカウントを指定してログインに成功していた、誰かが。

5.
通常、The Internet から SSH のアクセスを遮断するようスクリプト(`iptables' のコマンドが記述されている)を、サーバを起動する途中で実行するが、どうも実行されていないようだった。なぜなら、The Internet から SSH でログインできそうだった(パスワードを要求する文字列が表示された)から。



間もなく、サーバの電源が OFF された。上司が再インストールすることになった。

Ordered DX667-2Gx2

注文して配送されたが放置していた ThinkCentre A61 Tower (9120A22) に装着するメモリ、iodata の DX667-2Gx2 を注文した。ふたつ。

15,540 x 2 = 31,080 円なり。

Thursday, April 24, 2008

Sharing Files In Subversion

Subversion を使用し、ソースファイルを共有したときのメモ。ソースファイルを共有するクライアント OS は、

Ubunut Linux 7.10
Mac OS X 10.5

の 2 台だ。


私は、

自宅:Mac OS X
会社:Ubuntu Linux

という環境において仕事をしているが、JBoss で動作させるプログラムのソースファイルを、そろそろ共有しなければならなかった。


自社のサーバに repository を作成することにした。repository を、一般ユーザのホームディレクトリに作成することにした。この Unix ユーザの名前は、`admin' である。本 post において、プロジェクトの名前を `pj' としてメモしておく。



1. repository を作成する

まず、repository を作成する。repository のディレクトリ `pj' にファイルが生成される。

admin@server$ mkdir /home/admin/repository
admin@server$ svnadmin create /home/admin/repository/pj



2. インポートする

revision が 0 として扱われるデータをインポートする。インポートする初期データを、Mac OS X が保持していた。SSH を使用し、リモートホストのサーバにファイルをインポートする。Eclipse が管理するプロジェクトのディレクトリを指定し、インポートする。

satoshiabe@macosx$ svn import -m "Importing my project" \
        /Users/satoshiabe/Documents/workspace/pj \
        svn+ssh://server/home/admin/repository/pj



3. チェックアウトする

Eclipse を起動する。

[File] ---> [New] ---> [Other...] ---> [SVN] ---> [Checkout Projects from SVN]


repository の path を以下のように指定し、チェックアウトする。

svn+ssh://server/home/admin/repository/pj



4. 微調整


チェックアウトした後、build する前に少し調整しなければならない。理由は、Linux と Mac OS がファイルを共有するためだ。具体的に言及すると、ファイルに absolute path を記述している場合など、その情報を修正しなければならない。

実際に修正しなければならなかったファイルは、以下のとおりだった。


${SEAM_HOME}/build.properties

${HOME}/workspace/pj/resources/pj-dev-ds.xml


--------------------------------------------------
もしファイルを修正し忘れたら、ファイル名をここに記述する。
--------------------------------------------------



5. 他

最初、Mac OS X においてプロジェクトを開始した。Ubuntu Linux においても、Mac OS X と同様に作業するために、追加で作業することにした。

実際、Seam のファイルもプロジェクト用に作成しているため、それらのファイルも管理すると better だった。Seam のディレクトリを、下記の path に保存していた。つまり、このディレクトリにおいて、`seam setup' などを実行した。

SEAM_HOME="/Users/satoshiabe/jboss-seam-2.0.1.GA"

まず、この $SEAM_HOME のファイルを管理する repository を作成し、環境を整理した状態(`seam create-project' を実行した後)で import した。このディレクトリを

${HOME}/workspace/pj_seam

にチェックアウトした。その後、本体を

${HOME}/workspace/pj

にチェックアウトした。

この後、`4' で説明したファイルに記載されている情報を書き換えて終了だった。

Tomcat Native library not found

When I started JBoss Application Server, I got this message.

...
...
...
The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path
...
...
...

What is it?

Answer:
Tomcat Native library not found


See:
The Apache Portable Runtime Project

Non-Widescreen ThinkPad

SXGA+ な ThinkPad T61は、引退したようで。

The End of Non-Widescreen Laptops? (slashdot.org)

I FINALLY FOUND IT!

やっとバグを発見した...。こんな小さい見落としで、こんな時間まで.....。

途中経過

2007-12-16 - 2008-04-24




現在1,064,888
ランクV2 確定
V3 まで残り1,935,112

Wednesday, April 23, 2008

Tracking The Shipment

注文した ThinkPad T61 が、やっと発送されたようだ。SPARCO.COM の order status は、現在 `Completed' だ。注文を完了してから今の状態になるまで、ちょっと時間をかけすぎじゃね?ちなみに、UPS が、配送ステータスを提供してくれている。最終的に自宅まで持ってきてくれる業者は、どこ?

Do I Need To Learn Math?

以前から、私はある点について疑問に感じている。その命題は、これだ。

プログラマは、数学を理解しているべきか。

この命題が TRUE なら、

どれだけ数学を理解しているべきか。

を知りたい。

ちなみに、私の master である Eric Steven Raymond は、このように書いている。引用しておく。


Q:
Do I need to be good at math to become a hacker?

A:
No. Hacking uses very little formal mathematics or arithmetic. In particular, you won't usually need trigonometry, calculus or analysis (there are exceptions to this in a handful of specific application areas like 3-D computer graphics). Knowing some formal logic and Boolean algebra is good. Some grounding in finite mathematics (including finite-set theory, combinatorics, and graph theory) can be helpful.


彼は "それほど必要じゃない" 的な回答をしている。だが、私はそう思っていない。なぜ?それは、

私が "すげー!" と思うような人は、ほぼ確実に数学を得意としている。

からだ。

私は、よりよいプログラムを書けるようになりたいと願っている。現在、私が作業しているような、Java 分野においてツールを組み合わせているだけで、私が目指すレベルのプログラマになれると思っていない。ツールを組み合わせるだけでも大変だが、まったく頭を活用していない!間違った勉強をしているかもしれない、時間を無駄にしているかもしれない、と感じてるほどだ。

だが、私は "答え" を見つけられずにいる。

先の命題が TRUE なら、私は早急に活動を開始しなければならない。おそらく、その活動は、非常に時間を必要とすると考えられるからだ。


私は、明日の私は、何をすべきだろうか。

2008-04-22 の記録

日曜の夜から月曜の朝まで仕事(自分は仕事と思っていないが)をしていた。1 時間くら寝てから普通に出社してみた。体調も悪くない。22 時くらいまで残業してから帰宅したが、その後、急激に疲れを感じはじめ、珍しく体調を心配して寝てみた。2 時くらいに。今朝、いつもどおり目覚ましを止めたが、出社しなければならない状況でなかったため、自宅で作業することに。少し異なる環境を使用しなければならないが、現在、自社で仕事をしなければならない理由は、存在しない。ちなみに、`異なる環境' とは、以下のとおり。

場所:マシン
------------------------------
自社:Ubuntu Linux 7.10
自宅:Mac OS X 10.5

別の OS を実行したくなったら VMware を使用するので、ホスト OS は大きな問題でないだろう。明日あたりから、Subversion を使用して職場と自宅のソースファイルを共有する予定。面倒で設定していなだけ。

昨日の午後から超ハマりまくり。annotation と JPA の部分か。一番の問題は何か?を考えてみると、考えるまでもなく、「自分が何をしているのか理解していない」からだ。ダメダメ。もともと上司が「JBoss 便利そうだから確認してみて」と言って開始した調査であり、最初の時点における私の認識は「Apache Tomcat でないアプリケーションサーバ」のみだった。そして、私が理解できた唯一の便利な機能は `hot deployment' だけ。すぐ理解できた状況は、「日本語の情報は少ない」だった。

作業するたびにメモを残しているが、そろそろ増えまくってきているので、月末あたりにまとめる予定だ。まとめておかないと、忘れてしまったとき思い出せないからだ。ちなみに、使用しているソフトウェアを書いておくと、

Ubuntu + Eclipse + JBoss AS + Seam Framework + PostgreSQL

で、キーワードを書いておくと、

Linux + JBoss + JSF + Seam + JPA + EJB

だったりする。まぁ、現在の私は、これ以上、詳細に説明できないかもしれない。

注文したはずの ThinkPad T61 は、今日も配送されなかった。というか、発送されていないっぽい。ステータスって変化しないのか?SPARCO.COM さん。

Monday, April 21, 2008

まだ

寝てねぇー!

2008-04-20 の記録

午後、北千住で買い物をした。入館カードを首からぶら下げるためのホルダーや、いつも購入しているバームクーヘンを無印で購入した。帰り際にタイヤキを購入。夕飯をデニーズで。


寝ようか、寝まいか...。

What Is Your Favorite Text Editor?

昨日から Seam の問題を解決できていない。常々、「自分は official document を理解して問題を解決する開発者でありたい」と考えているので、基本的に official document のみを読むが、やはり Google に頼ってしまうときもある。できるだけ避けたい、と思っているが。ところで、JSF + Seam + EJB の情報を(日本語で)探していたら、こんな記事を発見した。その後、最新の記事を読んでみた。

(引用ここから)
逆に私は大工みたいなものですから、道具の質、つまりJavaアプリの開発・保守の道具としての質にはこだわりがあります。使いやすいく、よく手入れのされたノミやカンナが必要です。十得ナイフが使いにくく切れが悪いければ大工さんは使わないでしょ。
(引用ここまで)

という点に共感した。私は基本的に vi 派であって、「IDE なんて Windows な人用でしょ」と思ってきた。だが、最近 Eclipse を便利だと感じている。ちなみに IntelliJ IDEA の存在を知らなかった。私もツールにこだわる人でありたい、と思っているので、vi に限定すると、できるだけ便利なコマンドを覚えようと行動している。たとえば、時折 tutorial を読むなど。また、便利なコマンドを覚えようと思って、vim の本家 Web サイトを訪れて、他のユーザが post した情報に目を通したりもする。

ただ、私がこれまで出会ってきた人を思い出してみると、自分ほど vi を使いこなしている人を知らない。いや、私は自分を自慢したいわけじゃない。私は自分の生産性を上げるために、便利にツールを使いこなしたいと思っているだけだが、範囲を限定して私の職場を例に挙げると、私ほどツールにこだわっている人は存在しないし、誰でも実行している vi に範囲を限定しても、私ほど vi を使いこなしている人は存在しない。

私には理解できない。なぜ、もっと生産性を上げるために、ツールを使いこなそうとしないのか。なぜ、使用しているツールに不満を感じていても、別のツールを探さないのか。当然、私にも該当する内容だ。ただし、皆、現状のままで構わないようだ。自分が知っている範囲で使用するだけ...。


私も、ツールにこだわる技術者でありたい(ただしツールに頼りすぎないこと。

Sunday, April 20, 2008

2008-04-19 の記録

午前中、散髪した。いつものヘアサロンにて。先月あたり、いつもカットしてもらっていたスタッフが辞めてしまった。その人が働いているヘアサロンが隣の駅に存在することを知っていて、どちらでカットしようか迷っていた。が、いつものヘアサロンでカットしてもらうことに。歩いて 5 分くらいの距離だから。で、スタッフを指名しなかったところ、女性のスタッフが担当してくれた。よかった...。何がよかったかというと、ほとんどしゃべらないこと。これ重要。カットしているとき、「職業は?昨日テレビを見ました?何歳ですか?どこで仕事をしていますか?」とか、あぁいう会話って、うざい。だまって目を閉じて考え事をしたいのに、どうでもいいことを質問してほしくないんだ。今回、担当してくれたスタッフは、本当に何もはなさなく、(最低限、確認すべきだと思う)お湯で髪を流すときの湯加減(つまり水の温度)も確認してくれなかった。熱かったり冷たかったりしたら、どうするんだろう。こっちから言え、ってことか?幸い、かなり適温だったが。とりあえず、ボサボサだった状態を解消できた。

午後から(さきほどまで)ダラダラと Seam Framemwork を使用して小さなアプリケーションを作成していた、というか、つまずきすぎ。参考にした Web サイトの説明も不足しているが、自分が(いろいろ)慣れていない点も影響しているだろう。明日も続ける。Eclipse の操作に慣れてきた感じ。vi 以外、使用しないと思っていたが...、IDE ってステキすぎる。

SPARCO の order status は、あいかわらず変化なし。

Saturday, April 19, 2008

Where is my ThinkPad?

注文した T61 の order status は、あいかわらず `Processing' だが、クレジットカードの利用明細に表示された。換算日は 4/18 らしく、換算レードは 104.170 円/ドルで、支払い金額は 93,149 円らしい。

2008-04-18 の記録

かなり疲れていた。

前日(つまり水曜日)に上司から「自宅で作業してもいいよ」と言われていた。いつもの時間にベッドから起き上がったものの、風邪のような症状だったし、とにかく眠かった。出社するか迷っていたら 8 時 30 分ごろ、日通の人が電話してきて「Lenovo からの荷物をあずかっています」と伝えてきたので、自宅で仕事をすることにした。強い雨も降っていたので出社したくない、とも思っていたし。ただ、強い眠気(クスリのせいかもしれない)のせいで、午前中、ほとんど仕事を進められなかった。夕方ちかくなって、まともに活動できるような状態まで回復。

早めに寝よう、と思って寝た時刻は、午前 3 時すぎ...。

Friday, April 18, 2008

ThinkCentre A61 Tower (9120A22)

届いた。

ThinkCentre A61 Tower (9120A22)


モニターが配送されるまで、放置だ。

勘違いしてしまったので、忘れないようにメモ。恥ずかしすぎる。

$ awk 'BEGIN { mystr = "aa" ; if (mystr ~ /^[a-z]+$/) { print "TRUE" } else { print "FALSE" } }'
TRUE
$ awk 'BEGIN { mystr = "a" ; if (mystr ~ /^[a-z]+$/) { print "TRUE" } else { print "FALSE" } }'
TRUE
$ awk 'BEGIN { mystr = "" ; if (mystr ~ /^[a-z]+$/) { print "TRUE" } else { print "FALSE" } }'
FALSE
$

Thursday, April 17, 2008

発送

されたようだ。ThinkCentre A61 Tower (9120A22) のみ。

2008-04-16 の記録

時間...、足りない.....。

新入社員な人と話をしていて、ガックリしてしまった。過剰に期待するな、ってことですか、そうですか。

明日は雨らしい?ので、本音は外出(出社)したくない。

SPARCO.COM のステータスは、`Processing' なり。

この時間は、頭が冴えるので、困る。

Wednesday, April 16, 2008

2008-04-15 の記録

何も作業しないまま、こんな時間になってしまった!って、マシンを注文してるからだ、俺!残業しない目標だったが、Monday TO Friday で残業な予感。。。

Purchased A ThinkPad At SPARCO.COM

久々に緊張してしまった。

SPARCO.COM において、ThinkPad T61 (889703U) を注文した。もう少し円高な日に注文したかったが、だらだら待ちたくなかった。

動画を再生したり、iTunes を利用するなら、やはり Mac OS X が強い。ただし、Mac OS X で、かつ、あのキーボードで、私の日常の作業を迅速に対応できない。ストレスだ。

なお、内訳は以下のとおり。最終的に、+関税を支払って終了らしい。5,000 円くらい?

--------------------------------------------------
Subtotal:
$830.81 USD

Shipping & Handling [International]:
$63.40 USD

Total:
$894.21 USD
--------------------------------------------------

マシンのスペックは低いが、Dual Core だし、メモリを 4 GB まで増設すれば、それなりに動作するでしょ?重い処理なら、ThinkCentre A61 で実行するから、問題なし。

Tuesday, April 15, 2008

歯磨きをしたら、そろそろ寝ます。

Monday, April 14, 2008

ThinkCentre + ThinkVision

自宅において使用する開発マシンを用意したい、と以前から考えていた。

仕事をしていて 3 GB までメモリを消費してしまっている現象に遭遇し、メモリを最低 4 GB で作業したいと考えていた。しかし、既に 3 GB まで使用してしまっているため、4 GB に到達する時期は、それほど先でないだろう。となると 4 GB 以上のメモリを増設できるマシンを選択したくなる。試しに HP のマシンを調査してみたところ、WorkStation であっても最大 4 GB だったりもする。当然、グレードの高い WorkStation を選択すれば 8 GB まで増設できるが、ECC メモリだったりするわけで、モニタをセットで購入すると 200,000 円をオーバーすることを想定せねばならない。ECC メモリを使用しなければならない用途でない、私の場合。

事前に確認していたが、Lenovo のデスクトップマシンのうち、いくつかの製品は、メモリを 8 GB まで増設できる。AMD または Intel のプロセッサ選択できる。やはり AMD のプロセッサは、Intel のプロセッサと比較して、安価だ。仕事で 22 インチのワイド液晶を使用してみて、大きな画面の良さを改めて認識した。"デスクトップ+ワイド液晶"も悪くないな、と。私は ThinkPad ユーザであるが、現行の ThinkPad は、あの "偏り液晶" であり、かつ、メモリの上限は 4 GB だ。つまり、この post の最初で記載した要件を満足できない。

もうデスクトップを購入しないだろう、と思っていたし、まさか自分が Windows Vista なマシンを購入しないだろう、と思っていたが...、



注文してしまった...。発送を確認したらメモリを注文する。2 GB x 4 で 8 GB まで増設する予定だ。

ThinkCentre A61 Tower (9120A22)
Lenovo ThinkVision L220x Wide モニター (4433HB2)

Sunday, April 13, 2008

64 bit version of Ubuntu Linux

自社において使用している Dell のマシン - Vostro 200 - は、デフォルトで 1 GB のメモリを搭載している。当然、少なすぎるので、上司にお願いしてメモリを購入してもらった。メモリのブランドを統一する意味もあり、新しいメモリ 1 GB を x 4 で、合計 4 GB となった。BIOS で 4 GB を認識していることを確認した。

ところで、この Dell のマシンに Windows XP Home Edition がインストールされていたが、一度も起動せずに Ubuntu Linux をインストールした。Dell で購入すると、再インストール用の CD-ROM が同梱されているので、Lenovo マシンのようにリカバリメディアを作成せずに済ませられる。ところで、メモリを増設したマシンを使用して業務をしているとき、ふと free コマンドを実行してみたところ、なんと SWAP が発生していた。4 GB もメモリを搭載したのに、メモリを消費しているプロセスは何だ!?と調査したところ、あれ?そもそも、3 GB しか認識していない。そうか Linux の場合も同様なのか。どうやら

64 bit バージョンの Ubuntu Linux をインストールする
OR
32 bit バージョンの kernel を recompile する

すれば、4 GB まで認識できるようだ。手間をかけたくないから Ubuntu を使用しているため、kernel を recompile する選択を避けたい。となると 64 bit バージョンをインストールすることになる。

今月、Canonical は、最新の Ubuntu Linux 8.4 をリリースする予定だ。このリリースから 64 bit バージョンの Ubuntu Linux をインストールしてみようと思う。さて、どんな不具合が発生するだろうか。

激欲

Lenovo's Entire New ThinkPad Line Leaked, X300 Gets Siblings

やっと、"偏り液晶"を廃止してくれるようだ。狙いは 14 OR 15 インチの A4 ノートだな。Windows 以外の選択肢を提供してくれると助かる。

Saturday, April 12, 2008

自社で仕事していると

何曜日なのか、まったくわからなくなる。客先で仕事をしていたときも、週末しばしば自社で仕事をしていた。そのためか、毎日を土日のように感じてしまう。客先と比較して自社で仕事をしていると、無駄にストレスをためずに済ませられるから、その分、仕事にエネルギーを注げるし、体力的にも楽だから、すご〜く居心地を良いと感じている。

だけど、今月だけなんだよねぇ。

Friday, April 11, 2008

Bought "Practical JBoss Seam Projects"

"情報の少なさ(日本語)"と"書籍の少なさ(国内)"という悪い条件のため、APRESS.COM から書籍(PDF)を購入した。

Practical JBoss Seam Projects

$27.99 USD なり。Paypal で支払いした。

Thursday, April 10, 2008

来週から

残業せず定時の帰宅を実行し、自宅で勉強しよう。Skype OR Gmail を使用して、新入社員の勉強を自宅からサポートすれば OK だ。相手がヤル気をもっていれば、の話。

Tuesday, April 08, 2008

信じられない

新入社員の「はい、わかりました。」という返事...。

集中力のない自分に失望しそう...

痛い...。そろそろ治療してもらわないと。以前、小林歯科で治療したもらったが通いづらくなってしまったので、自宅に近い歯科で治療してもらおうかと考えている。治療が長引くと大きな出費になるから嫌だなぁ。

Monday, April 07, 2008

理解しようとしていないだけ

それほど難しくなった、SJC-P レベルの Serialization の範囲。理解できた後に思うことは、「そんな難しくないな」だ。理解できない理由は、理解しようとしていないだけだったりする。

実践してほしいこと

新入社員が理解し実践してほしいこと、を紹介してみる。とりあえずひとつだけ。それは、

できるだけ英語で IT 用語を記憶し、使用すること。

だ。


例を挙げる。たとえば Java の話。Java において例外を処理するコードを頻繁に記述するが、この「例外」に対応する英単語は?という質問に回答できるだろうか?いや、これを回答できなかったら、マズい。"Exception" だ。で、だ。なぜ英単語を覚える必要があるか?それは、

英語で情報を調査するとき英単語を知らなかったら、そもそも調査できないため。

だ。まだ Java は恵まれていて、国内においても十分な数量の書籍が販売されている(はずだ)し、Web を検索すれば - 情報の新鮮さを問わなければ - それなりの数量の情報を得られる。ただし、実際にプログラミングしていると、それらの情報のみで解決できないケースも多いはずだ。自分の経験から、日本語より英語で情報を検索する方が - 特に日本語を処理するために必要な情報を検索するときを除外して - より早く正確に情報を獲得できる。また、国内において Java の書籍がいくら豊富だからといって、英語で出版されている数量にまったく及ばない。つまり、必然的に、母数が多い集合で情報を検索または調査するべきだろう。

また、翻訳された書籍を読んでいていつも苦痛に感じるが、

"翻訳された日本語の用語" != "原書の(英語の)用語"

である場合が多い。ひとつ例を挙げる。これは、かの有名な oreilly の本においての例だ。この訳者は、

"\"



"逆スラッシュ"

と翻訳している。何?、"逆スラッシュ"って。ちなみに、「逆」を goo 辞典で検索してみると、"reverse" などがヒットする。だが、"\" は、普通 "backslash" じゃね?つまり、あなたが "\" を検索しようとして "reverseslash" と勘違いして情報を検索すると、実際にヒットさせたい情報を検索できないかもしれないわけだ。

同様なケースが山ほど存在する!

となると、私たちが最初に選択する行動は、"\" に対応する正しい英単語を検索するという無駄な作業をひとつ追加し、その後に - "backslash" というキーワードを使用して - 情報を検索しなければならない。明らかに無駄だ。これは非常に疲れる。

で、だ。それなら最初から "backslash" または "バックスラッシュ" と記載 or 翻訳してほしい、と思うでしょ?ただし、読み手のレベルを考慮すると、このような翻訳をせざるをえないのかもしれない。また、どちらかというと少数派であろう私たちは、原書を読むべきなのだろう。


多少グチを書いてしまったが、復習すると、

できるだけ英語で IT 用語を記憶し、使用すること。
加えて
IT 用語を日本語で覚える価値は、ほとんどない。

だ。なぜ、「ほとんど」と記載したか。理由は、"baskslash" とだけ理解して発声していると、"逆スラッシュ" のみで理解している偽エンジニアと会話できなくなるため、だ。だが、このようなエンジニアと会話する価値は、ないかもしれない。

頭痛

加えて、やけに眠い。風邪か?

ボディーシャンプー

北千住に立ち寄ったついでに、ボディーショップにおいて、ボディーシャンプーを購入した。

(後ほどココに購入した商品を記載する予定)

Sunday, April 06, 2008

記録

2008/03/31 をもって、とある客先においての業務を終了した。2007/10/01 に業務を開始したので、6 か月の間、業務をしたことになる。正直、内容に満足できないときもあったが、貴重なプロジェクトに参加できた点を考慮しておきたい。このプロジェクトは、オープンソースのソフトウェアを開発している会社と密接に連携して、まだ本格的に導入されていない国内へ、そのソフトウェアを展開しはじめる段階だった。ソフトウェアを開発している会社は海外であり、通常のやりとりは英語のみ。私は社会人になってから英語を使用する仕事をしてみたいと希望していたが、やっとそのような仕事に参加できたことになる。かつ、未遂に終わったが、今回のプロジェクトに参加することにより現地に出向く可能性もあった。また、できれば仕事でオープンソースソフトウェアの開発に参加したいと思っていたが、正直、ほぼ無理だと思っていた。しかし、その希望に近い仕事に参加できたわけだ。個人的また会社的な理由のためプロジェクトから脱退してしまったが、この経験を今後の業務に活用できたらと思う。残念ながら、ほとんどコーディングの業務を経験できなかった。ただし、オープンソースソフトウェアであれば、業務でなくても個人的にコーディングできるため、必ずしも業務でコーディングしなくても大丈夫だろう。今月から Java をメインに業務している。自社で作業しているが、新しい技術を試用して評価している段階だ。ただ、間もなく再び客先で仕事をする予定だ。自社における私のポジションは、客先で自社の仕事を獲得することが要求されるため、""自社においてまったりと研究 or 開発""なんてできない。まぁ、そんな仕事で給料をもらえるほど、実力を兼ね備えていないが。

ある操作

ある操作を実行すると、Mac OS X 10.5 上で実行している Eclipse 3.3 が確実に終了してしまう。


- 再現方法

1.
[command] + N で新規にファイルを作成する。

2.
[Java] ---> [Class] を選択する。

3.
適当なファイル名を指定し、[Finish] ボタンをクリックする。

4.
数秒ほど待機すると Eclipse が強制的に終了される。


- 回避策

確認中

Saturday, April 05, 2008

おもしろすぎw

Sumo wrestlers fight streetfighter style

今日は新入社員の歓迎会でした。リラックスできるようにと、近くの居酒屋で開催しました。表参道ヒルズのキレイなレストランという案も挙げられていましたが。で、思いました。いえ、強く希望します。

禁煙な居酒屋

を増やしてください。って、そもそも、そんな居酒屋って存在するんでしょうか?



--
全身タバコ臭くなりました。
臭いのは、あなただけで十分です。
こっちを向かないでください、あなたの息は公害です。

Friday, April 04, 2008

JBoss Portal With PostgreSQL On Ubuntu

In this post, I will install JBoss Portal on Ubuntu Linux 7.10. After it will be installed, I will use PostgreSQL instead of HSQLDB.


- JBoss Portal:

http://labs.jboss.com/jbossportal/



- Official Documentation:

http://docs.jboss.com/jbportal/v2.6.4/quickstartuser/html_single/



- Install JDK, PostgreSQL, JDBC Driver

$ sudo apt-get isntall \
sun-java5-jdk \
postgresql-8.2 \
libpg-java



- Download JBoss Portal

Download JBoss Portal zip file

http://labs.jboss.com/jbossportal/download/


file name:

jboss-portal-2.6.4-bundled.zip



- Unzip the zip file

Unzip the zip file that you downloaded.

$ unzip jboss-portal-2.6.4-bundled.zip



- Define a environment variable

You have to define a environment variable, JBOSS_HOME:

$ cd ./jboss-portal-2.6.4
$ export JBOSS_HOME=`pwd`



- Run JBoss Portal

$ cd ./bin
$ sudo /bin/sh ./run.sh


Open this url in your web browser:

http://localhost:8080/portal


And then, shutdown the JBoss Portal process.



- Connect to PostgreSQL

Now I am connecting to HSQLDB. I want to use PostgreSQL. We must make sure that our JDBC connector for our database is under ${JBOSS_HOME}/server/default/lib

$ sudo cp /usr/share/java/postgresql-jdbc3-8.2.jar \
${JBOSS_HOME}/server/default/lib
$ cd ${JBOSS_HOME}/server/default/lib
$ sudo chmod root:root ./postgresql-jdbc3-8.2.jar


$ cp -i ${JBOSS_HOME}/setup/portal-postgresql-ds.xml \
${JBOSS_HOME}/server/default/deploy/
$ cd ${JBOSS_HOME}/server/default/deploy
$ vi ./portal-postgresql-ds.xml
$ cd ${JBOSS_HOME}/server/default/deploy
$ echo *hsqldb*
$ rm *hsqldb*



- Configure the database

Create a database user:

$ su -
# su - postgres
$ createuser portal
Shall the new role be a superuser? (y/n) y
CREATE ROLE


Create a database:

$ createdb jbossportal -O portal
$ psql
postgres=# ALTER USER portal WITH PASSWORD 'jboss';
postgres=# \q
$


Change the connection setting:

$ vi /etc/postgresql/8.2/main/pg_hba.conf

/* modify the line */
#local all all ident sameuser
local all all trust


Restart PostgreSQL process:

$ /etc/init.d/postgresql-8.2 restart

$ psql -d jbossportal -U portal -W
Password for user portal:

Welcome to psql 8.2.7, the PostgreSQL interactive terminal.

Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit

jbossportal=# \l
List of databases
Name | Owner | Encoding
-------------+----------+----------
jbossportal | portal | UTF8
postgres | postgres | UTF8
(2 rows)

jbossportal=# \q
$


- Start the JBoss Portal

$ /bin/sh ./run.sh


A lot of tables will be automatically created.

なぜか自分へ封筒が。会社で。ストラップだった。ラッキー。仕事用と個人用の 2 台の携帯電話を所有しているので、ひとつを首にかけておきたかった。メーカーのストラップを、ずっとほしいと思っていたところ。しかも IBM だ!

偉そうな口をたたくようになってしまった。
口先だけの人間になってしまった。
傲慢な人間になってしまった。
小さなプライドに左右されるようになってしまった。
目標を諦めやすくなってしまった。
他人に指示できるほど偉いのか、俺は。
ここに書いてどうしようというのか、俺は。
足りない、何か足りない、今の自分に。
何かを捨てなければならない、今の自分は。

Thursday, April 03, 2008

JBoss Seam On Ubuntu

What's the JBoss Seam?

JBoss Seam
Seam Framework - JBoss Seam


Download JBoss Seam.

http://seamframework.org/Download

The latest version of Seam is:
jboss-seam-2.0.1.GA.tar.gz


Extract tar.gz file.

$ tar xzvf jboss-seam-2.0.1.GA.tar.gz
$ cd jboss-seam-2.0.1.GA/
$ vi build.properties
/* add this line */
jboss.home=/usr/local/jboss-4.2.2.GA
$
$ cd ./examples/booking/
$ sudo ${ANT_HOME}/bin/ant
.....
.....
.....
BUILD SUCCESSFUL
Total time: 1 second
$


To run this project, execute run.sh script.

$ sudo ${JBOSS_HOME}/bin/run.sh


Open this url in your web browser.

http://localhost:8080/seam-booking/

頭痛

おそらく寝不足による頭痛だが、風邪ということにしておいて、風邪クスリを飲んでみるテスト。

JBoss Application Server On Ubuntu

JBoss を使用して社内アプリケーションを作成す!

とりあえず official document を参考に installation を実行してみた。といっても Apache Tomcat のように、てきとうなディレクトリに配置して、起動スクリプトを実行するだけだ。ここまでは、非常に簡単だ。一応メモしておく。なお、Ubuntu Linux 7.10 Desktop にて作業している。


About JBoss:
www.jboss.com


Official Document:
Documentation Library


JDK をインストールする。official document に 1.5 を使用する例が記載されている、念のため 1.5 を使用する、1.6 でなく。

通常、Sun の Web サイトからダウンロードしてインストールするが、Ubuntu Linux の場合、パッケージが用意されているので、それを使用する。

$ sudo apt-get install sun-java5-jdk
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javac


環境変数を設定する。

export JAVA_HOME="/usr/lib/jvm/java-1.5.0-sun/jre/bin/java"
export PATH=${JAVA_HOME}/bin:$PATH


Apache Ant をインストールする。最新は 1.7 だが、1.6 を使用するよう official document に記載されている。

/*
You will need to build your JBoss Application Server source files before you can run the application server. Firstly please download and install Apache Ant version 1.5 or 1.6 from the Apache Ant Archive. Apache Ant versions 1.5 and 1.6 have been tested on JBoss Application Server 4.2.2. Version 1.7 is not compatible and will give the following error if used.
*/


環境変数を設定する。

export ANT_HOME="/usr/local/apache-ant-1.6.5"
export PATH=${ANT_HOME}/bin:$PATH


JBoss Application Server のファイルをダウンロードする。 

JBoss Application Server Downloads

最新の stable は、4.2.2.GA だった。

ファイル名:
jboss-4.2.2.GA-src.tar.gz

アプリケーションをビルドする。

$ tar xzvf ./jboss-4.2.2.GA-src.tar.gz
$ cd ./jboss-4.2.2.GA-src/build
$ ant
.....
.....
.....
.....
BUILD SUCCESSFUL <----- このメッセージであることを確認する
Total time: ** seconds
$
$ mv ./output/jboss-4.2.2.GA /usr/local/jboss-4.2.2.GA


環境変数を設定する。

export JBOSS_HOME="/usr/local/jboss-4.2.2.GA"
export PATH=${JBOSS_HOME}/bin:$PATH


JBoss を起動する。

$ cd ${JBOSS_HOME}/bin
$ sudo ./run.sh


Web ブラウザで、ページを閲覧する。

http://localhost:8080/



続く...

眠い。眠すぎる。寝不足だ。最近まともに寝ていない。瞬間で眠れると思う。


だけど寝ない。くくく。

Wednesday, April 02, 2008

今日

「(年齢より)若く見えますね」と言われた。ふたりから。


ふふふ


--
もうすぐ 30 歳...

Motivation Management

自分の体調を、クマの状態で判断できる。普段から寝不足なのか、普通にクマがある。もっと寝不足な状態になると、両目の間へ拡大していき、色が黒から青っぽくなる。この状態になると目を閉じて数分で眠れる。ちなみに、私は非常に寝付きの悪い人であり、寝ようとしてベッドに横たわっても何時間も寝れなかったりする。そんなときは、自分を極限まで寝不足な状態にしておいて、気絶するように寝るにかぎる。確実に眠れるからだ。私は、クマが浮き出ている自分の顔(それはそれはヒドい顔色だ)を気にいっている。なぜ?それは、自分が寝不足な状態になるまで活動している証拠だから。たいてい勉強しているからであり、勉強している証拠になる。寝不足な状態をとおりこして具合を悪くしてしまうと、逆にモチベーションを上げられる。体調を崩すくらい頑張る俺ってすげー、みたいな感じ。おかしなモチベーションの上げ方。

契約を終了した後に送迎会の連絡をもらった...

サプリメント

在庫をきらしそうになっていたので、ファンケルにてサプリメントを注文した。

Installing VMware Server on Ubuntu Linux 7.10

Ubuntu Linux 7.10 において、VMware のパッケージが提供されていたので、持ち運び用の T42 にパッケージをインストールした。

$ sudo apt-get update
$ sudo apt-get install vmware-server

My Email Address Is Unavailable

あまりにも大量の SPAM メールを受信するので、

http://www.satoshiabe.jp/

に記載しているメールアドレスを削除しました。代替メールアドレスの候補を検討しています。

Tuesday, April 01, 2008

結果

やはり遅刻した...。乗車した電車は霞ヶ関どまり...。

予定

1 日から、原宿でなく表参道の事務所で仕事をする予定だ。外国人の新入社員と一緒らしい。9:30 から打ち合わせがスケジュールされている。遅刻しそう...。

My boss will cut my pay!!

減額らしい。ぐはぁ。4 月分のみだが...。