久しぶりに日記を書く。
1/9日
バイト先で働いているとK君登場。
「コーチが怒っているからすぐ電話をかけろ」といって去っていく。
「俺なんかしたかな?」が頭の中をぐるぐる回って、仕事が手に付かない。
いつもは残業して帰るけれど、この日ばかりはすぐかえって
意を決してコーチに電話。
こういうのは謝った者勝ちなので、コーチが電話に出た瞬間「すいません。」と言う。
何のことはない。コーチの経営している会社の灯油巡回表を作って欲しかったんだと。
K君の悪質な冗談に腹が立つ。
N君にメールして明日コーチの会社に連れていってもらう約束をする。
1/10
自分の誕生日。
コーチの会社に行く予定だったが、その前にOくんが帰省するというので
Nくん、Mくん、と見送りに空港に行く。
ラーメンを食べることになったが金がないので、N君に1000円借りる。
飛行機を見ながらみんなでラーメンを食う。
空港のラーメンなのにウマイ。
ついでにNくんが誕生日だと言うことで、ロイズのチョコレートポテトチップスを買ってくれた。
ありがとう、Nくん。感謝。
その後、コーチの会社に行って名簿をとってくる。
帰ってきてすぐSさんと一緒にバイト。
1/12
バイトに行くとOさんが、「アンタ誕生日なんだって。おめでとう。」
といってガンダムのプラモのお菓子と苺ロールケーキを買ってくれた。
正直サプライズプレゼントだったので、「うわ、有り難うございます。」と年甲斐もなく大喜びしてしまった。
1/13
自分の誕生日会をバイト先の、Sさん、Tさん、Nくん、Oくんが開いてくれた。
場所は朴然。
自分はバイトが22:00まであるので始めるのが遅くなってしまったが、快く待っていていくれた。
感謝。
Oくんの誕生日会の時は、バイト先が凄く混んで残業で、結局参加できなかったからなぁ。
意地でもダッシュで仕事を終わらせた。
誕生日プレゼントは、アームレストとDVDケースと手紙。
嬉しすぎる。
ご飯を閉店ぎりぎり(12:00)まで食べて、Oくん宅で二次会。
Oくん宅に行く途中で、お酒の買い出し。
雪玉蹴って遊んでいたら、Oくんが転んでお酒とポテチを潰してしまった。
Oくんパス悪くてゴメンネ。
二次会では最初にUNOをやるが、ルールが分からない+なかなか終わらないでグダグダ。
一回やって大富豪にかえる。
大貧民はお酒を一気というルール。
大富豪のルールは知らなかったが、みんなに教えてもらってスタート。
大富豪は楽勝。こんなゲームMTGに比べたらカスだぜ。
Tさんが休ませてと言ったので、にょっきゲームをする。
三回ドベで、酒を一気。
こういう反射神経を使うゲームは嫌いだ。
おかげで、二回酒を飲むことになった。
ワイングラスの三分の一くらい境月を入れて、残りをカルピスで割る。
自分は酒が凄く弱いので案の定二杯でダウン。
意識を失いかけて、部屋の端でぐったりしているとTさんが戻った大富豪は大盛り上がり。
OくんがSさんにセクハラ三昧。
正直何か言ってやろうかと思ったが、Sさんもまんざらではなさそうなので何も言わず。
しばらく(30分くらい)寝た後、胃が痛くて目が覚める。
で、ゲロ。
みんなゴミ箱と水を持ってきてくれて、心配してくれる。
コレで少し楽になったのでうとうとしていると、どうやらSさんとNくんが買い出しに行くみたいだったので
一緒に帰ることにする。
Oくんの部屋を出ると、Sさんが盛大にこけた。
酔いが吹っ飛んで、心配でSさんにかけつける。
「危ないから部屋に戻りなさい」と言うと「やだ」と駄々をこねる。
俺も酔いがあるので、「イイや」と思って暴れるSさんを抱っこして、ズルズル引きずりながらOくんの部屋に戻した。
Oさんに「おとなしくしておきなよ」と頭をナデナデして別れた後、Nくんに送ってもらった。
「いやー、酔いが吹っ飛んだわ」とNくんに話すと「Eさん、自分がそんなに寄ってるのに他人のこと気にかけるなんて偉いですね」だって。
部屋に帰って幸せな気分で寝た。

S-4/20Lをゲット。
正確には持っていたけどNVRAMで出力先がシリアルになっていたので、
手が出ず置物になっていた。
シリアルケーブルの入手にはいろいろあったけれど、
無事マシンの動作確認できた。
NVRAMが飛んでも困らないように、ここにEthernet addressとHost ID
を書いておく。
もうそろそろ、寿命だろうし。
S-4/20L (1 X RT625), No Keyboard
ROM Rev. 2.15 D, 256 MB memory installed, Serial #15738325.
Ethernet address 0:80:17:88:25:d5, Host ID: 72f025d5.
何して遊ぼうかなぁ・・・

正月でおめでたいので一年ぶりにpseriesのマイクロコードをアップデート。
コイツは去年最高の買い物だった。
最初はジャンクで起動しなかったけれど、PCIのServeRAIDを抜いたら動いたんだよなぁ。
嬉しかった。
# lscfg -vp | grep -p Platform
Platform Firmware:
ROM Level (alterable).......3R061030
Version.....................RS6K
System Info Specific.(YL)...U0.1-P1/Y1
Physical Location: U0.1-P1/Y1
10分くらいかかって無事成功。
Haskell関係で。
GHCAIXにインストール。
GHCのサイトからAIX用のパッケージをダウンロード。
GMPをまずコンパイルしてインストール。
その後GHCをインストール。
$ /usr/local/bin/ghc --make hallo.hs
Chasing modules from: hallo.hs
Skipping Main ( hallo.hs, hallo.o )
Linking ...
ld: 0711-317 ERROR: Undefined symbol: .__gmpz_init
ld: 0711-317 ERROR: Undefined symbol: .__gmpz_add
ld: 0711-317 ERROR: Undefined symbol: .__gmpz_sub
ld: 0711-317 ERROR: Undefined symbol: .__gmpz_mul
ld: 0711-317 ERROR: Undefined symbol: .__gmpz_gcd
ld: 0711-317 ERROR: Undefined symbol: .__gmpz_tdiv_q
ld: 0711-317 ERROR: Undefined symbol: .__gmpz_tdiv_r
ld: 0711-317 ERROR: Undefined symbol: .__gmpz_divexact
ld: 0711-317 ERROR: Undefined symbol: .__gmpz_and
ld: 0711-317 ERROR: Undefined symbol: .__gmpz_ior
ld: 0711-317 ERROR: Undefined symbol: .__gmpz_xor
ld: 0711-317 ERROR: Undefined symbol: .__gmpz_com
ld: 0711-317 ERROR: Undefined symbol: .__gmpz_tdiv_qr
ld: 0711-317 ERROR: Undefined symbol: .__gmpz_fdiv_qr
ld: 0711-317 ERROR: Undefined symbol: .__gmpn_gcd_1
ld: 0711-317 ERROR: Undefined symbol: .__gmpn_cmp
ld: 0711-317 ERROR: Undefined symbol: .__gmp_set_memory_functions
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
collect2: ld returned 8 exit status
リンクが出来ない。
どうやらめんどくさい系エラーみたい。
あきらめる。
AIX4.3用だからだめなのか?
Haskell
main = putStrLn "こんにちは!"
が出来ないことについて2chに質問したら、親切にテンプレ作ってくれた。
____________________________________________________________________________________________________________________________________________
GHC6.4ではEUCだったらソースコード中に書いてもコンパイル可能。
putStrなどで出力するとEUCのまま出力される。
そのため、WindowsではEUC→ShiftJIS変換を掛けた後putStrしないとうまく表示できなかった。

GHC6.6ではソースコード文字コードUTF-8になったため、
UTF-8形式でなら日本語の文字列をソースコードに記述できるようになった。
しかし、putStrなどのIOの基本部分はまだきちんとUTF-8対応してないため、
UTF-8形式の文字列をそのまま出力させることができない。
ただ、6.4のときと同じようにUTF-8→ShiftJIS変換して出力させるのなら表示できる。

Haskell98によると、Charは一つのUnicode文字を表す(6.1.2)。
これに従って、比較的新しいHugsGHC(6.4系を含む)ではCharは32ビット整数になっている。
ただし、どちらも入出力に際しての変換が完全でない。具体的には、
ソースコード中の文字列リテラル
・System.IOライブラリでの入出力
が問題になる。

1. GHC6.4.2以前
ソースコード・入出力ともLatin-1を仮定する。Latin-1ではバイト値と
コードポイントが一致するので、入力時には外部エンコードの各バイトがそのままCharに
入り、出力時にはCharの下位8ビットのみが出力されるような実装になっている。
このため、あるエンコーディング(Latin-1とは限らない)の入力をgetLineで受け取り、
それをそのままputStrで表示すれば、入力時とおなじエンコードにおいて正しく表示される。
これを利用して、[Char]を、本来のコードポイントの列としてではなく、特定のエンコードの下での
バイト列として使うことができる。ただし文字列リテラルについては、GHCはLatin-1として
不正な文字を受け付けないので、EUC-JPのような例外を除くと、単純にリテラルを使うことはできない。

2. GHC6.6
ソースコードにはUTF-8、入出力にはLatin-1を仮定する。このため、EUC-JPでリテラルを直に
書くことはできない。
3.最近のHugs(非WindowsかつCのwchar_tがUnicodeの環境、というかLinux)
ソースコード・入出力ともロケールエンコードを利用する。

4.最近のHugs(Windows)
ソースコード・入出力ともLatin-1を仮定する。ただし文字列リテラルにShift-JISを使ってもエラーにならない。

5.最近のHugs(それ以外)
未調査。

・結局どうするか。
規格どおりにCharにUnicodeを入れるか、Charを単なるバイトとして扱うかの二択。

i. CharをUnicodeとして扱う
(3)以外の場合入出力で変換が必要。(2)または(3)以外の場合文字列リテラルでは
明示的なエスケープ(たとえば"\22234")が必要。

ii. Charをバイトとして扱う
(3)ではファイルをバイナリモードで開くなどの対策が必要。(1)でEUC-JPを使う場合と(4)
を除き文字列リテラルでは明示的なエスケープ(たとえば"\143\153")が必要。
lengthやisAlphaのような関数、およびwin32パッケージの関数(win32API)が正しく動作しない。
____________________________________________________________________________________________________________________________________________

ありがたや。

たそがれ清兵衛」を金曜ロードショーで見る。
久しぶりにゾクゾクするほど面白かった。
殺陣がすばらしい。
清兵衛みたいな生き方したいね。
「30日で出来るOS入門」より。
p248の
timer_settime関数で一番最初のタイマ(timer,1000)を登録する場合

for (i = 0; i < timerctl.using; i++) {
  if (timerctl.timers[i]->timeout >= timer->timeout) {
    break;
  }
}
timerctl.using++;

/* うしろをずらす */
for (j = timerctl.using; j > i; j--) {
   timerctl.timers[j] = timerctl.timers[j - 1];
}
/* あいたすきまに入れる */

うしろをずらす処理で、一番最初に登録するとき
どこのメモリ番地が代入されているか分からないポインタ (timerctl.timers[1]に
どこのメモリ番地が代入されているか分からないポインタ(timerctl.timers[0]が代入される
訳ではない。
配列がグローバルならNULL初期化されているので、
値が代入されていないわけではない。
つまり、
NULLポインタはアドレス 0 を指すポインタ。アドレス 0 を指すとは,「どこのメモリ箇所も指していない」という意味。
ポインタもグローバル変数だったら、
普通のグローバル変数が0で初期化されるのと同じようにNULLで
初期化される。
ということ。
前にも書いたとおりバイト先でサンタの帽子をかぶっているわけだが、
今日はお揃いでSさんもサンタの帽子をかぶる。
マネージャーが来たので冗談で「写真とって」って言ったら撮ってくれた。
Sさんと自分2人並んでピース。
出来た写真、俺髭面じゃん。orz
UNIX板の
「おい、イブの夜にUnixいじくってるウンコども!」スレに3年連続カキコ。
(´ー`)
尾崎放哉より。
「wをしても一人」
___________________________________________________________________________________________________________________________________________
$ man w

User Commands w(1)

NAME
w - display information about currently logged-in users
___________________________________________________________________________________________________________________________________________
(´;ω;`)ぶわっ.

バイトから帰ってきて疲れていたのでベッドに横になったら、
寝てしまっていた。
今日はホッケーの試合だったので、Sくんが配車で迎えに来てくれたわけだけれど
自分が寝てたので、チャイムを鳴らしまくってくれてその音であわてて飛び起きた。
何も準備をしていなかったので、あわてて防具、財布、着替えを済ませる。
で、リンクに着いてポケットをあさったら財布が無い!
財布を落としてしまった・・・
8000円とクレジットカード、郵便局のカード、保険書、大事な物が沢山はいっているのに!
で、試合が終わった後、車の中やリンクの周りをウロウロ。
帰る途中で、家に財布を忘れたことを祈る。
だけど、帰宅して家を探してもやっぱり財布がない。
仕方がないので、クレジット会社に電話をしようとしたら、やたらとバイト先とSさんから着信があった。
バイト先に行くと 「財布を落としたでしょう」と言われビックリする。
誰かが財布を拾ってくれて、熊本の実家に電話が行き、自分が試合中で電話がとれなかったのでバイト先に電話したらしい。
雪の中、すぐ交番に財布を取りに行く。
交番に着くとパトロール中でお巡りさんが誰もいなかったので、置いてあった電話に電話すると「すぐ戻ってきます」とのこと。
夜中の一時にようやく財布が戻ってきた。
なんと中身は無事!
拾った人は、「お礼はイイよ」といって去っていったとのこと。
嬉しかったので、バイト先で「財布戻ってきました!」と報告してで1000円募金した。
こんな年末に、親切な人もいるものだなぁ。
家に帰ってコードギアス学園アリス攻殻SAC 2ndGIGを見て幸せな気持ちで寝た。
コードギアスは面白い。
良くロボットが動いている。
感心。