最新 追記

Hena Hena Nikki

2003|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|10|11|12|
2012|01|02|03|04|05|06|07|08|10|12|
2013|01|02|04|06|

2006.12.01 / Friday [長年日記]

* [computer] libksba 1.0.1 を Mac OS X 10.4 にインストールする

CFLAGS はお好みで。

$ wget -c http://ring.nict.go.jp/archives/net/gnupg/libksba/libksba-1.0.1.tar.bz2
$ bzcat libksba-1.0.1.tar.bz2 | tar xvf -
$ cd libksba-1.0.1/
$ ./configure
$ make && make check
$ sudo make install

「これで GnuPG 2 を組み立てることができるな」と思っていたけど、甘かった。 gpgsplit の生成で不注意っぽいミスが入ってるわ、 make check で不具合が 5 つも出るわ…。 うまくいかないなぁ…。

こっそり libgpg-error 1.5 が出てるね。

* [computer] pth 2.0.7 を Mac OS X 10.4 にインストールする

これも CFLAGS はお好みで。

$ wget -c http://ring.nict.go.jp/archives/GNU/pth/pth-2.0.7.tar.gz
$ zcat pth-2.0.7.tar.gz | tar xvf -
$ cd pth-2.0.7/
$ ./configure
$ make && make test
$ sudo make install

configure のオプションが豊富なので、時間があればいじってみたいところ。

* [computer/update] flat assembler ver.1.67.16

MMX や各 SSE, 3DNow! などをサポートした x86, x86-64 環境向けアセンブラ。

* [computer/update] ClamXav ver.1.0.6

ClamAV ベースの Mac OS X 上で動くウィルス・チェッカーのパッケージ。 約 1 週間ぶりの version up。

* [computer/update] DivX for Windows 6.4.1

MPEG4 系ビデオ codec の有力な選択肢の一つ。 約 2 ヶ月ぶりの version up。

* [computer/update] DivX for Mac OS X 6.6

MPEG4 系ビデオ codec の有力な選択肢の一つ。

* [computer] Gawk 3.1.5 を Mac OS X 10.4 にインストールする

事前に iconv, gettext をインストールしておくと吉。 やはり CFLAGS はお好みで。

$ wget -c http://ring.nict.go.jp/archives/GNU/gawk/gawk-3.1.5.tar.bz2
$ bzcat gawk-3.1.5.tar.bz2 | tar xvf -
$ cd gawk-3.1.5/
$ wget -c http://www.fan.gr.jp/~ring/misc/gawk-3.1.5.diff.bz2
$ bzcat gawk-3.1.5.diff.bz2 | patch -p1
$ ./configure --enable-switch
$ make && make check
$ sudo make install

パッチ無しだと xmalloc() の多重宣言の箇所でエラーになる (関数内での宣言が原因) と思います。 しかしなぁ…、こんなミスが含まれているなんて…。 ;-(

けっきょく日本 GNU AWK ユーザー会の web site で配布されている 3.1.5-20051223 版を入れた。

* [computer] FLAC 1.1.3 を Mac OS X 10.4 にインストールする

先に iconv, libogg を入れおてく。 make check でかなりの時間がかかるので、要注意。

$ wget -c http://jaist.dl.sourceforge.net/sourceforge/flac/flac-1.1.3.tar.gz
$ zcat flac-1.1.3.tar.gz | tar xvf -
$ cd flac-1.1.3/
$ ./configure --disable-asm-optimizations
$ make && make check
$ sudo make install

非 Intel 環境では、configure 時の --disable-asm-optimizations はたぶん不要。

もちろん CFLAGS はお好みで。

* [computer] libsndfile 1.0.17 を Mac OS X 10.4 にインストールする

事前に SQLite (と 1.1.2 以前の FLAC?) を入れておくと吉。 CFLAGS はお好みで。

$ wget -c http://www.mega-nerd.com/libsndfile/libsndfile-1.0.17.tar.gz
$ zcat libsndfile-1.0.17.tar.gz | tar xvf -
$ cd libsndfile-1.0.17/
$ ./configure --disable-alsa
$ make && make check
$ sudo make install

FLAC 1.1.3 を入れたからか、make でエラーが発生した。 とりあえず configure のオプションに --disable-flac を追加して誤魔化した。

* [myself] 最近のお仕事

なぜか弁護士さんと打ち合わせしたり、 久々に ANSI/ISO C 限定の世界で設計&実装してみたり。 どちらも新鮮に感じる内容。

C で大規模・複雑なデータ構造を記述すると、やはり読み難い気がする。 慣れの問題かもしれないけど、やっぱり C++ の方が楽だし適してるかな…。 もちろん、高速化の上限に関しては前者の方が高い可能性を持っているわけだけど (僕程度の技術では!)。


2006.12.02 / Saturday [長年日記]

* [computer] devkitPro

某所で tekezo さんに教えていただいた。 メモ。

This site is home to the toolchains of choice for homebrew game development, currently available for GameBoy Advance, GP32, Playstation Portable and GameCube. More platforms will be added as time permits.

今更なんですが、西田亙さんの“Linux から目覚めるぼくらのゲームボーイ!”が欲しいわけですよ (所有者で読了済みの方、もし宜しければ適当な価格で譲って下さい!!)。

* [computer] GBATEK

同上。 メモ。

* [computer/update] ElScreen ver.1.4.4

emacsen に screen の様な機能を追加する elisp な tool。 約 1 年ぶりの version up。

* [computer/update] Guile ver.1.8.1

定番の Scheme interpreter。

出てるのに気付かなかった。 ;-(


2006.12.03 / Sunday [長年日記]

* [computer] gzip 1.3.6 を Mac OS X 10.4 にインストールする

CFLAGS はお好みで。

$ wget -c ftp://alpha.gnu.org/gnu/gzip/gzip-1.3.6.tar.gz
$ zcat gzip-1.3.6.tar.gz | tar xvf -
$ cd gzip-1.3.6/
$ ./configure --prefix=/usr/local
$ vim +14 lib/config.h

ここで“#define ASMV”の行を削除する (Intel Mac の場合だけかも← G4 でも必要だった)。

$ make && make check
$ sudo make install

* [computer/update] Winamp ver.5.32 日本語化キット第 2 版

Windows では定番のメディア・プレーヤ Winamp を日本語化するキット。 約 1 週間ぶりの version up。

* [computer] gettext 0.16.1 を Mac OS X 10.4 にインストールする

事前に libiconv, Expat をインストールしておくこと (頑張って pth を使う場合はそれも)。

$ wget -c http://ring.astem.or.jp/archives/GNU/gettext/gettext-0.16.1.tar.gz
$ zcat gettext-0.16.1.tar.gz | tar xvf -
$ cd gettext-0.16.1/
$ ./configure --enable-threads=posix
$ make && make check
$ sudo make install

やはり CFLAGS などはお好みで。

相変わらず make check でエラーが出る (lang-gawk のみ) な…。


2006.12.04 / Monday [長年日記]

* [computer/update] Ruby ver.1.8.5-p2

object-oriented programming を意識して作られた interpreted scripting language。 約 3 ヶ月ぶりの version up。

* [computer/update] MySQL ver.4.1.22

高速性と堅牢性を追及した SQL データ・ベース。


2006.12.07 / Thursday [長年日記]

* [computer/update] GnuPG 1.4.6

PGP を置き換える完全かつフリーなソフトウェア。 1.4 系としては約 4 ヶ月ぶりの version up。

* [computer/update] Sylpheed ver.2.3.0beta6

美しい GUI を持つ多機能と軽快さを兼ね備えた message user agent。 開発版の人柱版。

* [computer/update] Becky! Internet Mail ver.2.29.00

Windows 定番の message user agent。 約 1 ヶ月ぶりの version up。

* [computer/update] ElScreen ver.1.4.5

emacsen に screen の様な機能を追加する elisp な tool。

* [computer/update] iTerm ver.0.9.4

多言語対応の多機能 terminal emulator for MacOS X。 約 3 週間ぶりの version up。

* [computer/update] Adobe Reader 8.0.0

Adobe 純正の PDF ビューワ。 約半年ぶりの version up。

* [computer/update] nPOPQ ver.1.0.9b

Windows 上で動く携帯 mail user agent である nPOP の機能強化版。

* [cd/dvd] 平成風俗 / 椎名 林檎

来年 2/21 発売予定の新作。 まあ、とりあえず買いますか…。

* [computer/update] STLport ver.5.1.0

SGI の STL をベースに開発されている STL ファイル群。


2006.12.08 / Friday [長年日記]

* [computer/update] 鬼車 ver.5.5.0

複数の文字コードに対応した C の正規表現ライブラリ (BSD ライセンス)。 約 1 週間ぶりの version up。

* [computer/update] Nullsoft Scriptable Install System ver.2.22

Windows 向けのインストーラ作成ツール。 約 1 ヶ月半ぶりの version up。

* [computer] gzip 1.3.7 を Mac OS X 10.4 にインストールする

CFLAGS はお好みで。

$ wget -c ftp://alpha.gnu.org/gnu/gzip/gzip-1.3.7.tar.gz
$ zcat gzip-1.3.7.tar.gz | tar xvf -
$ cd gzip-1.3.7/
$ ./configure --prefix=/usr/local
$ make && make check
$ sudo make install

前バージョンと違って、特別めんどう臭いことはない。


2006.12.09 / Saturday [長年日記]

* [computer/update] RubyCocoa ver.0.5.0

Cocoa 環境を Ruby で利用できるようにするフレーム・ワーク。

* [computer/update] Wine ver.0.9.27

UNIX 系 OS 上で動く Windows API の実装。

* [computer/update] IrfanView32 ver.3.99 日本語版

超多機能 multi-media viewer for Windows である IrfanView32 のメニュー等を日本語化したもの。 約 1 念ぶりの version up。

* [computer] QuickLite

メモ。 Leopard 出たら Cocoa の勉強しないと…。

QuickLite is a Cocoa wrapper for SQLite, a C library that implements an embeddable SQL database engine.

* [computer][bookmark] Podcastle

そうか。 言語モデルの基本データ収集方法としては確かに面白いな。

* [computer] LHa for UNIX 1.14i-ac20050924p1 を Mac OS X 10.4 にインストールする

CFLAGS はお好みで。

$ wget -c http://keihanna.dl.sourceforge.jp/lha/22231/lha-1.14i-ac20050924p1.tar.gz
$ zcat lha-1.14i-ac20050924p1.tar.gz | tar xvf -
$ cd lha-1.14i-ac20050924p1/
$ ./configure --enable-multibyte-filename
$ make && make check
$ sudo make install

make check するとエラーが 1 つ発生する (けど問題ないものっぽい)。

* [computer] Zip 2.32 を Mac OS X 10.4 にインストールする

インストール方法、少し古い感じかな。

$ wget -c ftp://sunsite.icm.edu.pl/pub/unix/archiving/info-zip/src/zip232.tar.gz
$ zcat zip232.tar.gz | tar xvf -
$ cd zip-2.32/
$ make -f unix/Makefile generic
$ sudo make -f unix/Makefile install

CFLAGS をいじりたい人は、unix/Makefile の 50 行目を適当にいじって、その上で 142 行目の“sh unix/configure "${CC}" "${CFLAGS_NOOPT}"”を “sh unix/configure "${CC}" "${CFLAGS}"”にすると良いかも。

* [computer] UnZip 5.52 を Mac OS X 10.4 にインストールする

こちらも少し古い感じかな。

$ wget -c ftp://sunsite.icm.edu.pl/pub/unix/archiving/info-zip/src/unzip552.tar.gz
$ zcat unzip552.tar.gz | tar xvf -
$ cd unzip-5.52/
$ make -f unix/Makefile generic
$ sudo make -f unix/Makefile install

CFLAGS をいじりたい人は、unix/Makefile の 50 行目を適当に変更すること。

* [computer/update] Picasa ver.2.6.0

快適なインターフェイスを備えた Windows 向け画像ファイル管理ツール。


2006.12.10 / Sunday [長年日記]

* [computer] 基本クラスのオーバー・ロード情報の隠蔽

バカが征くの話題。 ダメな理由は Exceptional C++ の 34 項に書いてあるらしい…と、教えてもらった。 この本、まだ読んでないな。

#include <iostream>
class Base { protected: int value;
public: Base(const int value) : value(value) { } virtual ~Base(void) { } virtual int getValue(void) const { return value; } virtual void getValue(int* const out) const { *out = value; } };
class Derived : public Base { public: Derived(const int value) : Base(value) { } virtual ~Derived(void) { } virtual void getValue(int* const out) const { *out = value; } using Base::getValue; };
int main(void) { Derived* d = new Derived(10); std::cout << d->getValue() << std::endl; delete d;
return 0; }

で、この場合は上記の様に using Base::getValue で解決するものらしい…と、 C++ Coding Standards の 38 項に書いてあった。 すごく C++ っぽい (ある意味とても嫌な) 話題だ。

かなり久々に C++ のコードいじった気がする。 最近はずっと C と Ruby ばっかりだから、まあ、実際そうなんだけど。

* [computer/update] uApp ver.1.3

Mac OS X 向けアプリケーション削除補助ツール。

* [computer] iPartition ver.2.0 (NetJapan)

Intel Mac 対応版が出たようだ。


2006.12.13 / Wednesday [長年日記]

* [computer] GNU tar 1.16.1 を Mac OS X 10.4 にインストールする

CFLAGS はお好みで。

$ wget -c http://ring.nict.go.jp/archives/GNU/tar/tar-1.16.1.tar.bz2
$ bzcat tar-1.16.1.tar.bz2 | tar xvf -
$ cd tar-1.16.1/
$ ./configure
$ make && make check
$ sudo make install

* [computer] libpng 1.2.14 を Mac OS X 10.4 にインストールする

事前に zlib を入れておくと吉。

$ wget -c http://jaist.dl.sourceforge.net/sourceforge/libpng/libpng-1.2.14.tar.bz2
$ bzcat libpng-1.2.14.tar.bz2 | tar xvf -
$ cd libpng-1.2.14/
$ ./configure
$ make && make check
$ sudo make install

これも CFLAGS はお好みで。

* [computer] gzip 1.3.8 を Mac OS X 10.4 にインストールする

CFLAGS はお好みで。

$ wget -c http://fresh.t-systems-sfr.com/unix/src/misc/gzip-1.3.8.tar.gz
$ zcat gzip-1.3.8.tar.gz | tar xvf -
$ cd gzip-1.3.8/
$ ./configure --prefix=/usr/local
$ make && make check
$ sudo make install

* [computer/update] XEmacs 21.4.20 (Double Solitaire)

package システムが便利な emacsen。 stable 版の version up は約 10 ヶ月ぶり。

* [computer/update] Java 2 SDK (Standard Edition) 6.0

Java の開発・実行環境。

* [computer/update] wxWidgets ver.2.8.0

かつて wxWindows と呼ばれていた cross-platform な C++ 環境向け GUI ライブラリ。

* [computer/update] Burn ver.1.62u

Mac OS X 上で動く高機能な DVD/CD ライティング・ツール。

* [computer/update] VLC media player ver.0.8.6

非常に多くのフォーマットに対応したマルチ・プラットホームのメディア・プレーヤ。 約 7 ヶ月ぶりの version up。

* [computer/update] MPlayer OS X ver.1.0rc1

多くのフォーマットを再生可能なメディア・プレーヤの Mac OS X 版。 所謂人柱版。

* [computer/update] tDiary 2.0.4

ツッコミ機能やプラグイン機能が楽しい Ruby による web log 環境。 安定版としては約 2 週間ぶりの version up。

* [computer/update] まめ File ver.5.00

高機能な Windows 向け filer。

* [myself] 最近のお仕事

C による楽しい設計と実装、それと嫌な資料作成と発表。

前者、久々のライブラリ作成ということもあって、けっこう本気で取り組んでいる。 作業時間を度外視して手抜きを全くせず、 同時に今まで得た知識を惜しみ無く注ぎ込んでるつもり。 たかが久々ってだけでそこまでするのはなぜかって? 一部の人は知ってる話ですが、まあ、それはとりあえず秘密ってことで。 :-p

後者、前者の作業時間確保のため、あまり手間をかけたくないんだけど、 けっきょくそれなりに時間をとられてしまっている。 情けないけど一人プロジェクトはやっぱり辛いです…。

某大学のセミナーをほぼ毎週聴かせていただいてるんだけど、 今日の発表者の T 梨さん、さすがに上手だったな。 知識の広さと理解の深さ、発表経験の豊富さが大きいのだろうけど、 ほぼ即興でここまでうまくまとめられちゃうと、本当に感心するしかないね。 凄い。


2006.12.15 / Friday [長年日記]

* [computer/update] ATI Catalyst ver.6.12

ATI Radeon 用公式ドライバ for Windows 2k/XP。 約 1 ヶ月ぶりの version up。

* [cd/dvd] Scratch / 木村 カエラ

来年 2/7 発売予定の新作。 … gony さんはもう興味ない?

* [cd/dvd] New Day Rising / AIR

来年 2/21 発売予定の新作。 ライブ盤“Leave And Learn”も同時に発売されるようだ。

ソロになってもう 10 年か…。 早いものだ。

* [myself] 今更だけどプログラマーへ 64 の質問に答えてみる

深い意味はないのですがね。

0. プログラマは何事も 0 からスタートするべきだと思いますか?

いいえ。他にスタートするのに良い数値があれば、それを柔軟に選択すべきでしょう。

1. プログラマの定義は何でしょうか?

プログラミング言語を使って何かを表現できる人。

2. あなたがいつもやることとは?

(計算機で作業する時なら) GNU Emacs を立ち上げること。

3. あなたが絶対やらないことは?

計算機と関係ないことだけど、中傷かな。最も嫌いな行為なので。

4. あなたは 2 桁 16 進数を頭の中で 10 進数変換できますか?

出来ない。出来た方が良いのかもしれないけど、Ruby (irb) 使えばすぐ分かることなんで…。

5. あなたはなぜプログラマになっちゃたんですか?

ロジカルなものが好きだったこと、クリエータになりたかったことが理由かな。

6. あなたの好きなお菓子は?

あまり甘くないクッキーやほろ苦いチョコレートなど。

7. あなたの体重を教えてください?

70 kg 弱。身長を考えたら普通なのかな。

8. あなたの体型は?

中肉中背…だと思う。

9. あなたの普段の服装は?

テキトー。

10. あなたは秋葉原で、真っ先にどこをチェックしますか?

関西在住なので秋葉原に行く機会がほとんどない。なので「真っ先」という表現がピンと来ない。

11. あなたの睡眠時間はどのくらい?

2〜8 時間。夜に「閃いた!」と思うと、なかなか寝付けなくなる。

12. あなたの起床時刻と就寝時刻はいつ?

起床は 6〜10 時。就寝は 23〜1 時。前者は状況によって大きく変化しがち。

13. あなたがはじめて使ったマシンは何?

Power Mac のどれか。ちなみに初めて買ったのは Compaq Presario 5020。

14. あなたがはじめて覚えたプログラミング言語は何?

就職活動時に覚えた elisp。初めて本格的に勉強したのは C/C++。

15. あなたはどんなゲーム機を持っていますですか?

持ってない。

16. あなたはデスクトップ、ノート、PDA、含めて何台マシンを持っていますか?

3 台。ちなみに入っている OS は Mac OS X 10.4, Windows XP, Linux (Debian)。

17. あなたの一番好きなプログラミング言語は何ですか?

C++。テンプレートが素敵 (だけど、苦労も多い…)。

18. あなたの一番の不満は何ですか?

不満だらけで一番を容易に決めるのは限りなく難しい。

19. プログラマをやっていると目が悪くなりますか?

たぶん。

20. プログラミングをしているお父さんには女の子が産まれやすいって本当だと思いますか?

そんな話知らなかったなぁ。ま、本当だとは思わないけど。

21. あなたとして GNU/GPL をどう思いますか?

別にどうも思わない。使ってるツールの多くが GPL だったりするけど。

22. あなたにとってヒーローは?

ヒーローって表現は大袈裟かもしれないけど、kitaj さんとへるみさんかな。 タイプは全く異なるけど、お二人とも理想的なエンジニア。

23. あなたは Bill Gates と Linus Torvalds と Bill Joy と R.M.S の誰を支持しますか?

誰も支持する気はないな。って、どんな視点で支持する・しないを言いたいの?

24. あなたにオブジェクト指向は必要ですか?

たぶん、はい。特別意識してないけど。

25. あなたはデザインパターンを有効に使っていますか?

残念ながら、いいえ。勉強した後、使う機会に恵まれてません (たぶん今の会社にいる限りは仕事で使うことはないと思います)。

26. プログラマといいますか? プログラマーといいますか?

プログラマと言ってると思いますが、それほど意識してませんね。

27. あなたは吉田弘一郎 岩谷宏 藤原博文の誰を支持しますか?

誰も支持しません (岩谷宏さんはちょっと苦手かも)。

28. 結城浩 柴田望洋は初心者の味方ですか?

結城浩さんは初心者の味方と言って良いと思います。残念ながら柴田望洋さんは知りません。

29. あなたはプログラマ 30 年説を支持しますか? (オレハシジシナイ)

28 歳で初めてプログラミングを勉強した人間にそれを訊いちゃ…。

30. 言語の選定に失敗して白い灰になってしまった人を見たことはありますか?

言語の選定の失敗では見たことないけど、押し付けられた仕様の失敗でなら見たことありますね。

31. プログラマとして食べていくにはやっぱり MS ですか?

え、そうなんですか? 今ならむしろ組み込みの方が無難に食べていけそうな気がしますが?

32. あなたが使うエディタは当然 vi 系?

プログラミングに限定するなら Emacs 以外はちょっと厳しいかな。

33. 正規表現は必須ですか?

僕個人にとっては必須に近いけど、プログラマとしては幅を広げる要素の一つというだけだと思う。

34. プログラマの名誉とは?

何なのでしょう? プログラマ特有の名誉って言うと、ちょっと難しい感じがします。

35. プログラマの能力は出身学部や専攻に関係あると思いますか?

多少あると思いますが、単純なものでないと思います。

36. プログラマに数学はどの程度必要ですか?

さあ。僕自身、数学が苦手なので分かりません。

37. プログラマと SE の違いを説明してください。

エンド・ユーザーと頻繁に接する場合は SE と呼ばれることが多く、接しない場合はプログラマと呼ばれる?

38. プログラマの醍醐味は何でしょうか?

状況毎に適した設計・実装をし、納得のいく成果物を作り出すこと。 いつでもどこでも「コードの重複が〜」等と言ってるスクエアな人には分からないかな。

39. プログラミングしすぎで日常の全てが頭の中でプログラミング言語に変換されることってありますか?

滅多にありません。

40. プログラマは将来、他業界のように資格制度が必要になると思いますか?

さあ…。資格に興味がないので…。

41. あなたは文書を MS Word で書きますか? LaTeX で書きますか?

個人的な資料なら LaTeX や HTML、プレーン・テキストが中心だけど、仕事の関係上 MS Office の使用は避けられない。

42. あなたは一日何時間プログラミングしますか? そのうち、仕事以外では何時間かけていますか?

0〜10 時間。仕事以外でもするけど、いつもやってるわけじゃない。

43. あなたにとってコーディング以前の問題発見・問題定義は重要だと思いますか? 実例があれば教えてください。

重要だと思います。ダメ仕様はコーディングでどうにかなるものじゃないですよ。

44. あなたが使うブラウザは?

Camino, Firefox, w3m, Emacs-w3m。

45. あなたの常食は辛いもの主体ですか?

いいえ。むしろ辛いものは苦手です。

46. あなたの周りのプログラマには第一子目の流産率は高いですか?

さあ。分かりません。

47. あなたがプログラマをしていることで友人・知人から感謝されたことがありますか?

プログラマとしては…、無い…かなぁ…。

48. コンピュータまたはシステムに興味を持ったきっかけなどがありましたら教えてください。

大学院時代、数学科に所属していた関係で、どうしても LaTeX を使う必要があったんですよね。 それと院生間の連絡が e-mail 中心だったとかがきっかけ? かな?

49. あなたは、お金に不自由しないとしても、プログラムを書きますか?

プログラミングは表現手段の一つで、それ以上でもそれ以下でもない。なので、絵描きに走っても不思議じゃない。

50. プログラマに一番大切な資質は何でしょうか。

真偽を自身で見極める思考力かな。仮定と事実を区別できない馬鹿は要らない。

51. プログラマになりたい、という学生さんにアドバイス。

人の言うことを鵜呑みにしない。つまり、この回答も鵜呑みにしないこと。 :-)

52. プログラマに英語は必要でしょうか。

英語力はあった方が良いと思いますが、なくてもやっていけるはずです。

53. プログラマがやってはいけないこととは何?

都合の良い思い込み。

54. イテレーター、連想配列、リストなどは言語がサポートすべき? ライブラリにすべき?

さあ。言語毎の設計思想によって変わるんじゃないでしょうか。

55. アセンブラは書けないといけないですか?

読み書きできるとプログラミングの幅が広がると思いますが、それ以上でもそれ以下でもないと思います。

56. はんだごては必要でしょうか?

同上。ハードウェアに近いことをやる人なら、電気の事を知っていると幅が広がるはず。 でも、それ以上でもそれ以下でもない。

57. 自作機を作ったことはありますか?

はい。現用の PC/AT 互換機 (Pentium !!! 1GHz x2) は自作機です。

58. 何種類のプログラム言語を使えますか?

普段は C/C++, elisp, Ruby を使ってます。合計 4 種類かな。

59. 日本語文字コードについて、何派

Mac OS X では UTF-8 を、それ以外では EUC-JP か ISO-2022-JP を使ってますね。

60. I18N, M17N, L10N について言いたいことはありますか?

いえ、ありません。

61. あなたはプログラマになってから言葉に敏感になりましたか?

いいえ。言語科学を知ってから、言葉に敏感になりました。

62. 他のプログラマに質問するとしたら、何と質問しますか?

教えない。

63. あと一問残っていると思うか?

ベタベタですねぇ。 :-)


2006.12.16 / Saturday [長年日記]

* [computer/update] Sylpheed ver.2.3.0beta7

美しい GUI を持つ多機能と軽快さを兼ね備えた message user agent。 開発版の人柱版。

* [computer] プログラミング言語ヒエラルキー

Geek なページの記事。 某所で say さんに教えていただいた。 ちょっと面白いなと思った。

最近になって知ったのは、アセンブリ (機械語でも良い) と C しか知らない技術者の中に、 抽象化の強い言語を「都合の良い身勝手な解釈」を使って強引に低く見る人が意外にいること。 複数の言語を知っていたら、言語毎のメリットとデメリットを普通に見ることができると思うんだけど、 残念ながら、そういった人にとってはアセンブリと C だけだとそれはなかなか難しいようだ。 まあ…、単純に視野が極端に狭くなっているだけ (回復するかどうかはその人次第か…) なんだろうけど。

ある事情から、 そろそろ x86, x64 (x64-86?) 系 CPU でアセンブリ言語をきっちり習得したいんだけど、 ちょっと時間が作れなさそう。 良くない傾向だ…。

偉そうなことを書いたけど、実は自分もある意味似たようなもの。 使ったことのない言語や環境を軽く見ることはあまりないけど、 その逆で変に期待し過ぎてしまうことが過去に何度かあった。 知らないものに対して恐れを抱き易い性質が、こういったところでも発揮されてしまっている…。 まあ、その性格のおかげで GNU Emacs をある程度使えるようになったんだけどね。

関係ないけど、GCC の最適化、けっこう楽しい。 ←「gcc -O2 -S *.c」して読んでる。


2006.12.17 / Sunday [長年日記]

* [cd/dvd] ベストやねん / ウルフルズ

来年 2/21 発売予定のベスト盤。

2001 年発売の“ベストだぜ!!”を持ってるけど、PV 付き限定版を買ってしまいそうだ。


2006.12.18 / Monday [長年日記]

* [computer] gzip 1.3.9 を Mac OS X 10.4 にインストールする

CFLAGS はお好みで。

$ wget -c http://ring.nict.go.jp/archives/GNU/gzip/gzip-1.3.9.tar.gz
$ zcat gzip-1.3.9.tar.gz | tar xvf -
$ cd gzip-1.3.9/
$ ./configure --prefix=/usr/local
$ make && make check
$ sudo make install

これって正式版と考えて良いんだよね?

* [computer/update] あずきフォント ver.1.21

オリジナルの手書き風フォント。

* [computer/update] うずらフォント ver.0.68

オリジナルの手書き風フォント。

* [computer/update] Hidden Markov Model Toolkit ver.3.4

HMM 操作ツール群。 約 1 年半ぶりの version up。

MPE のサポートは関係者にとってはかなり大きいらしい。 楽しみ。 :-)


2006.12.20 / Wednesday [長年日記]

* [computer/update] Mozilla Firefox 2.0.0.1

定番の multi platform な web browser。 約 2 ヶ月ぶりの version up。

* [computer/update] Mozilla Firefox 2.0.0.1 日本語版

multi platform な web browser, Firefox の日本語版。 約 2 ヶ月ぶりの version up。

* [computer/emacsen] Emacs で C 言語プログラミングを始める人へのイントロダクション

@aka さんの日記。 恥ずかしながら、知らない事がいくつか書いてあった。

* [computer/update] GNU Emacs 22.0.92

言わずと知れた超高機能な text editor っぽい (e)lisp interpreter。 所謂人柱版。

入手はこちらから。

* [computer/update] howm ver.1.3.4

Emacsen 上で動く wiki ライクなメモとりツール。 約半年ぶりの version up。

* [computer/update] Mew ver.5.2RC1

emacsen な定番 mail user agent。 所謂人柱版。

* [computer/update] Sylpheed ver.2.3.0rc

美しい GUI を持つ多機能と軽快さを兼ね備えた message user agent。 開発版の人柱版。

* [computer/update] Mozilla Firefox 1.5.0.9 日本語版

multi platform な web browser, Firefox の日本語版。 メンテナンス・リリース。

* [computer/update] Mozilla Thunderbird 1.5.0.9 日本語版

multi plat-home な message user agent, Thunderbird の日本語版。 メンテナンス・リリース。

* [computer/update] GNU Aspell ver.0.60.5

GNU な spell checher。 約 14 ヶ月ぶりの version up。

* [computer] GNU Emacs 22.0.92 を Mac OS X 10.4 にインストールする

CFLAGS はお好みで

$ wget -c http://ring.astem.or.jp/archives/GNU/emacs/pretest/emacs-22.0.92.tar.gz
$ zcat emacs-22.0.92.tar.gz | tar xvf -
$ cd emacs-22.0.92/
$ wget -c http://keihanna.dl.sourceforge.jp/macemacsjp/22701/inline_patch-20061111.tar.gz
$ zcat inline_patch-20061111.tar.gz | tar xvf -
$ patch -s -p0 < inline_patch-20061111/emacs-inline.patch
$ ./configure --with-carbon --without-x
$ make bootstrap
$ sudo make install
$ sudo rm -rf /Applications/Emacs.app
$ sudo cp -r mac/Emacs.app /Applications/

* [computer] GNU Aspell 0.60.5 を Mac OS X 10.4 にインストールする

CFLAGS はお好みで

$ wget -c ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.5.tar.gz
$ zcat aspell-0.60.5.tar.gz | tar xvf -
$ cd aspell-0.60.5/
$ ./configure --enable-static
$ make
$ sudo make install

2006.12.21 / Thursday [長年日記]

* [computer] CaboCha を Mac OS X 10.4 にインストールする

事前に YamCha, ChaSen, MeCab, TinySVM をインストールしておくこと (ChaSen と MeCab はどちらか一方でも良いと思う)。

$ wget -c http://www.chasen.org/~taku/software/cabocha/src/cabocha-0.53.tar.gz
$ zcat cabocha-0.53.tar.gz | tar xvf -
$ cd cabocha-0.53/
$ vim src/chasenio.cpp +41

ここで“libchasen.so”を“libchasen.dylib”に変更。

$ vim src/mecabio.cpp +38

ここで“libmecab.so”を“libmecab.dylib”に変更。

$ ./configure --with-morphological-analyzer=mecab
$ make && make check
$ sudo make install

僕の手元の Intel Mac 環境では、 configure 時に --disable-pke を指定する必要があった。 どうも Perl スクリプトでの処理の一部で不具合が発生している (stat() がうまく動いてない?) ようだ…。

Ruby バインディングがインストールできないけど、ちょっとすぐには追い切れなさそうなので放置。 残念。 …と、これ、Linux だったら発生しないんだろうな。きっと。

* [computer/update] flat assembler ver.1.67.17

MMX や各 SSE, 3DNow! などをサポートした x86, x86-64 環境向けアセンブラ。

* [myself] 夜更かし先生発見?

来週、某私立大学の先生と打ち合わせがあり、深夜、 直前確認ついでに「改めて宜しくお願いします」とその先生にメールしたところ、 約 5 分後に返信をいただいた。 関西の名門大学である程度の地位にいる方なんだけどね…。 ちょっとビックリしてしまった。


2006.12.23 / Saturday [長年日記]

* [computer/update] AquaSKK ver.3.2

Mac OS X 向け SKK 環境。 約 5 ヶ月ぶりの version up。

* [computer/update] Wine ver.0.9.28

UNIX 系 OS 上で動く Windows API の実装。

* [computer/update] Mew ver.5.2RC2

emacsen な定番 mail user agent。 所謂人柱版。

* [computer/emacsen] ps2pdf.el

深い意味もなくパッチを書いてみた。

--- ps2pdf.el.orig      2006-12-23 13:47:31.000000000 +0900
+++ ps2pdf.el   2006-12-23 19:45:01.000000000 +0900
@@ -43,6 +43,9 @@
 
 ;;; Code:
 
+(require 'advice)
+(require 'ps-print)
+
 (defcustom ps2pdf-gs-program "gs"
   "Path to GhostView program.
 For GNU/Linux and Unix-ish systems, this will typically just be
@@ -51,8 +54,14 @@
   :type 'string
   :group 'ps2pdf)
 
+(defcustom ps2pdf-open-program (if (eq system-type 'darwin) "open" "gpdf")
+  "Path to PDF document viewer (not for w32)."
+  :type 'string
+  :group 'ps2pdf)
+
 (defun ps2pdf-convert (file)
   "Convert Postscript FILE to PDF."
+  (setq file (expand-file-name file))
   (let* ((pdf-file (concat (file-name-sans-extension file) ".pdf"))
          (result
           (call-process ps2pdf-gs-program nil nil t
@@ -69,9 +78,14 @@
   (let ((pdf-file (ps2pdf-convert file)))
     (message "PDF file %s created successfully" pdf-file)))
 
+(defun ps2pdf-make-temp-file (prefix &optional dir-flag suffix)
+  (if (< 3 (length (ad-arglist (symbol-function 'make-temp-file))))
+      (make-temp-file prefix dir-flag suffix)
+    (make-temp-file prefix dir-flag)))
+
 (defun ps2pdf-with-faces (type)
   "Create PDF from buffer or region."
-  (let ((fname (make-temp-file "ps2pdf-buffer" nil ".ps"))
+  (let ((fname (ps2pdf-make-temp-file "ps2pdf-buffer" nil ".ps"))
          (pdf-file))
     (cond ((eq type 'buffer)
            (ps-print-buffer-with-faces fname))
@@ -83,23 +97,21 @@
     (message "PDF file %s created successfully" pdf-file)
     pdf-file))
 
-(defun ps2pdf-from-buffer ()
-  "Create PDF from buffer."
-  (ps2pdf-with-faces 'buffer))
-
 (defun ps2pdf-from-region ()
-  "Create PDF from region."
-  (ps2pdf-with-faces 'region))
-
-(defun w32-ps2pdf-from-region ()
   "Create PDF from region and open it."
   (interactive)
-  (w32-shell-execute "Open" (ps2pdf-from-region)))
+  (if (fboundp 'w32-shell-execute)
+      (w32-shell-execute "Open" (ps2pdf-with-faces 'region))
+    (shell-command
+     (format "%s %s" ps2pdf-open-program (ps2pdf-with-faces 'region)))))
 
-(defun w32-ps2pdf-from-buffer ()
+(defun ps2pdf-from-buffer ()
   "Create PDF from buffer and open it."
   (interactive)
-  (w32-shell-execute "Open" (ps2pdf-from-buffer)))
+  (if (fboundp 'w32-shell-execute)
+      (w32-shell-execute "Open" (ps2pdf-with-faces 'buffer))
+    (shell-command
+     (format "%s %s" ps2pdf-open-program (ps2pdf-with-faces 'buffer)))))
 
 (defun ps2pdf-reset-faces ()
   "Reset faces.

Mac OS X 10.4 on G4 上の GNU Emacs 22.0.50 では動いた。 make-temp-file() の引数をいじれば Debian sarge 上の GNU Emacs 21.4 でも動く (まだ確認してないけど、これって単純なバージョンの問題なのかな?)。

最初に書いた修正を適用していただいた。 適用報告のメールに「arigato gosaimashita」と書いてあった。 :-)

* [computer][bookmark] Gauche クックブック

オレンジニュースから。 とりあえず読もうかな。


2006.12.24 / Sunday [長年日記]

* [computer/update] Sylpheed ver.2.3.0

美しい GUI を持つ多機能と軽快さを兼ね備えた message user agent。

* [computer/update] 鬼車 ver.5.5.1

複数の文字コードに対応した C の正規表現ライブラリ (BSD ライセンス)。

* [computer] Ruby 1.8.5p11 + 鬼車 2.5.8 を Mac OS X 10.4 にインストールする

相変わらず CFLAGS-fomit-frame-pointer を含めない方が良いのかな?

$ wget -c http://ring.nict.go.jp/archives/lang/ruby/1.8/ruby-1.8.5-p11-repack.tar.gz
$ wget -c http://www.geocities.jp/kosako3/oniguruma/archive/onigd2_5_8.tar.gz
$ zcat ruby-1.8.5-p11-repack.tar.gz | tar xvf -
$ zcat onigd2_5_8.tar.gz | tar xvf -
$ cd oniguruma/
$ ./configure --with-rubydir=../ruby-1.8.5-p11
$ make 185
$ cd ../ruby-1.8.5-p11/
$ ./configure --enable-pthread --enable-shared --with-default-kcode=utf8
$ make && make test
$ sudo make install

iconv, readline, nkf, zlib あたりを事前に入れておくと吉。

* [computer] HTK 3.4 を Mac OS X 10.4 にインストールする

今回も少し苦戦した。 とりあえずパッチ作成。

$ zcat HTK-3.4.tar.gz | tar xvf -
$ cd htk/
$ wget -c http://www.fan.gr.jp/~ring/misc/htk-3.4.diff.bz2
$ bzcat htk-3.4.diff.bz2 | patch -p1
$ ./configure --with-x=no
$ make all
$ sudo make install

CFLAGS はお好みで。

* [computer/update] YaTeX ver.1.73

日本の emacsen 使いの間では定番の LaTeX 入力支援環境。 約 3 年ぶりの version up。


2006.12.25 / Monday [長年日記]

* [computer/update] pTeX + JMacoros package for MacOSX 061224

Mac OS X 向け pLaTeX パッケージ。

* [computer/update] Cassava ver.1.4.0

Windows 上で動くシンプルな CSV エディタ。

* [computer/update] Ruby ver.1.8.5-p12

object-oriented programming を意識して作られた interpreted scripting language。 約 3 週間ぶりの version up。

って、昨日入れたばかりなんですけどね…。 ;-(

* [computer] Ruby 1.8.5p12 + 鬼車 2.5.8 を Mac OS X 10.4 にインストールする

iconv, readline, nkf, zlib あたりを事前に入れておくと吉。

$ wget -c ftp://ftp.iij.ad.jp/pub/lang/ruby/ruby-1.8.5-p12.tar.gz
$ wget -c http://www.geocities.jp/kosako3/oniguruma/archive/onigd2_5_8.tar.gz
$ zcat ruby-1.8.5-p12.tar.gz | tar xvf -
$ zcat onigd2_5_8.tar.gz | tar xvf -
$ cd oniguruma/
$ ./configure --with-rubydir=../ruby-1.8.5-p12
$ make 185
$ cd ../ruby-1.8.5-p12/
$ ./configure --enable-pthread --enable-shared --with-default-kcode=utf8
$ make && make test
$ sudo make install

CFLAGS はお好みで (-fomit-frame-pointer は避けた方が良さそう)。


2006.12.27 / Wednesday [長年日記]

* [computer] PortAudio v19 を Mac OS X 10.4 にインストールする

勝手に Universal Binary を生成する…。

$ wget -c http://www.portaudio.com/archives/pa_stable_v19_061121.tar.gz
$ zcat pa_stable_v19_061121.tar.gz | tar xvfp -
$ cd portaudio/
$ make -f Makefile.darwin OPT_LEVEL="-O2"
$ sudo make -f Makefile.darwin install

* [computer] NIST Sphere 2.6a を Mac OS X 10.4 にインストールする

JNAS のデータをいじるのに必要らしいので、 どうにか動く様にパッチを作成した。

$ wget -c ftp://jaguar.ncsl.nist.gov/pub/sphere_2.6a.tgz
$ zcat sphere_2.6a.tgz | tar xvf -
$ cd nist/
$ wget -c http://www.fan.gr.jp/~ring/misc/sphere_2.6a.diff.bz2
$ bzcat sphere_2.6a.diff.bz2 | patch -p1
$ sh src/scripts/install.sh

ここで“Mac OS X”の 3 を選択。

$ sudo cp bin/* /usr/local/bin/

* [computer/update] Windows Template Library ver.8.0.6356

Windows GUI アプリケーション作成のための C++ テンプレート・ライブラリ。

* [cd/dvd] Hit & Fun / Puffy

来年 2/14 発売予定のベスト盤。

6 年前に出たベスト盤を持ってる人は、購入するのに躊躇するだろうな。 さすがに。

* [miscellaneous] 四万十川のブルーギルならうまいのか (@nifty Daily Portal Z)

淡水魚の多くが同じ様な感じだったりするのかな。もしかして。 まあ…、頑張って食べる機会を作ろうとは思わないけど。

* [myself] 最近のお仕事

発表 (緊張してボロボロだった…) やら打ち合わせやらでけっこうバタバタした感じ。 って言うか、さすがにちょっとキツいですね。 しかも「今の環境でここまで頑張る必要があるのだろうか?」と改めてそう思ってしまって、 やる気の維持が困難な状況だったりするわけで…。 場合によっては予定を大幅に変更することになるかな。この分だと。


2006.12.29 / Friday [長年日記]

* [computer/update] Julius ver.3.5.3

初期 BSD ライセンスで使用できる大語彙連続音声認識システム。 約 5 ヶ月ぶりの version up。

こんなネタが書かれてますね。 やはり、言語モデル・データさえ簡単に作れたら、 この手の技術はもっと広く、そしてもっと深く知られることになると思うんだけどな…。

音響モデルの方も MLLR などの話者適応が簡単にできればね…。 ここら辺がうまく回り出せば、世間の評価が大きく変わる可能性もあるんだけど。

* [computer/update] Kahua ver.1.0

Gauche 上で動くアプリケーション・サーバ/フレームワーク。

* [computer/update] flat assembler ver.1.67.18

MMX や各 SSE, 3DNow! などをサポートした x86, x86-64 環境向けアセンブラ。

* [miscellaneous] A クラスの人は A クラスの人を採用したがるが、B クラスの人は C クラスの人を採用したがる

Life is beautiful の記事。 オレンジ・ニュースから。 細かなことは別として、簡単には把握・掌握できない人材に脅威・恐怖・違和を感じるというのは、 変化や成長を避けたがる人材 (B クラスという表現は違うと思う) にはよくあることだよね。 たぶん。

* [computer/update] EasyPG ver.0.0.9

Emacs 用の GnuPG インターフェイス。 約 1 ヶ月ぶりの version up。

* [computer/update] HMM-Based Speech Synthesis System ver.2.0

隠れマルコフ・モデルを基礎技術にした音声合成システム。

今日は名工大 2 連発ですか。元気だなぁ。 :-)


2006.12.31 / Sunday [長年日記]

* [computer] exuberant ctags 日本語対応版

帰省直前でバタバタしてるけど、とりあえずメモ。

* [computer/update] VLGothic ver.20061231

M+ FONTS とさざなみフォントをミックスした後、更に改良した和文フォント。


  • この日記には本日 名の方が訪問してくださっているようです。 また、昨日は 名の方が訪問してくださったようです。
  • この日記の更新情報の取得には antenna.lirs を利用するのがおすすめです。