最近少しscreenの機能が見えてきたような気がします。便利なんですが、やはりCtrl+Aだとemacsの行頭コマンドと被っていて使いづらいです。
そこでscreen側のエスケープのキー割り当てを変えようと、.screenrcに書いたものの、華麗にスルーされております。書き方を間違ったのかなあ?
今はscreen用、そうでないターミナルを二個立ち上げて使っています。無駄なことしているのは重々承知してますよ…ええ。いつか直しますとも。
配属されてからちょっと時間が空いてしまいましたが、職場のみなさんに歓迎会を開いていただきました。
仕事の愚痴は良い酒の肴になるようで。皆さんの話を聞いていると、職場の人間関係とか要注意人物の情報がゲットできた気がします。とはいえ話題に上る人たちには会ったこともなけりゃ顔すら知らないのでなんとも言えませんけど。
目次: 車
一ヶ月以上乗らずに放っておいたらうちの車さんが拗ねてしまって、全く動かなくなってしまいました。わかりやすく言うとバッテリー上がりなんですけど。普通はセルが弱く回ったりするもんですが、今回はセルどころか室内灯すら光りません。完っ全に死んでます。
バッテリーってご臨終させてしまうと内部がかなり傷むらしいので、近いうちに交換しなきゃいけません。あのバッテリー新品だったのにもったいねええぇぇぇ…。
原因はレーダー(速度取り締まり機発見器)がスイッチONのままになっていたせいだと思います。大学んときも、2週間くらい放置したらバッテリーが上げかけててあせったことがあったのに、全く学習してません。
放っておいたら絶対またやるから、いっそエンジン連動に改造するか、できないなら外すか…。
友人に誘われ神戸港の船上クルーズに行きました。見知らぬ男女が集っていたので、これがいわゆる合コンってやつ?といっても150人くらい居たのでコンパというより、でっかいパーティーでしたね。
何より驚いたのは、女性陣は主催者の方が人脈で集めた(もちろん50人以上)って話を聞いたときですよ。男性陣は会社の寮の人だからまだしも、女性陣をどうやって集めたんだろうか…?主催者の方の人脈に感服するのみです。
目次: 車
昨日予想していた原因(レーダーのつけっぱなし)ではなく室内灯が付けっぱなしだったせいでした。うちの車はライトというライトが全て暗くて、忘れても全く気づきません。良くない作りです。
JAFに来てもらってエンジンかけてもらいました。5分くらいのアイドリング後にバッテリーが回復したかどうか確かめましたが、やはりセルが回りません。もはや補充電もできないくらいバッテリーが死んでいる模様です。
しゃーないのでオートバックスへバッテリー買いに出かけましたが、どうも車がおかしい。赤信号で止まると回転数が500切ってライトが一瞬消えます。発電がおいついてないのかと思ってライトを消したり、Nレンジに入れて吹かしこんでも全く安定しません。
思い返せば以前バッテリー交換したときもこんな症状が出てました。これは故障ではなく、バッテリーを外したせいでコンピュータの学習が飛んでしまって、アイドリングの制御が不安定になるんだとか。最近の車はほとんど同じ症状が出ると思います。
そのうち再学習すれば直るんですけども、今はバッテリーがご臨終しているので非常に困ったことになります。ちょっと間違えてエンストされると、もう二度とかからないんだからね。
R171のど真ん中で立ち往生なんてアホ車に絶対追突されるので、左足ブレーキ&常にアクセル微弱解放しながらエンスト阻止して走ってました。変に緊張する運転でした。もうやりたくないな…。
なぜかうちの車のバッテリー端子が交換されていて、純正のバッテリーよりかなりでかいバッテリーじゃないとはまらないという罠が仕掛けられておりました。バッテリー一個で20,000円ですよ?泣きそうです。
自分でバッテリー端子なんか変えないし、以前は純正の端子だったはずなんだけどなあ?誰が変えたんだろうか?心当たりがない。
少し前まではいつ寒くなるんだろうと思っていたのですが、いきなり寒くならないで欲しいな。しかもなぜかマフラーと手袋が見あたらなくて困ってます。寒い…。
Linuxカーネル2.6系のコンフィグに使われているKconfigの説明書kconfig-language.txtを訳してみた。超意訳です、恐らく間違ってます。
kconfig-language-en-jp.txt(日本語訳-英語同時掲載)
kconfig-language-jp.txt(訳文のみ)
このようなめちゃくちゃなクオリティでも、誰も責められないのがオープンソースの特徴ですね。しかし質が低いものを乱発していればいずれ誰も使わなくなって滅びる、という特徴もありますね。
定時に帰る日でしたが、英語の研修によってそうもいかず。研修は仕事じゃないので休みになったりもしませんし。なんか間が悪いねえ…。
同期の人たちと高槻のKICHIRIで飲み会です。雰囲気重視の良い店です。その分はお値段に跳ね返ってきているのが難点かなあ。同期の人曰く「合コン向けの店」だそうです。うーん、そんな感じかもね。
9時くらいから始めたので帰りは11時過ぎになっていました。
寝坊してどう考えても間に合わない状態になりました。とりあえず新幹線で小田原まで。途中で連絡して、先に食事していてもらうことにしました。
記念に一駅分だけ(小田原 -> 箱根湯本)ロマンスカーに乗りました。座っていたら座るなってアナウンスが流れていて嫌な感じだったので、立って外の景色を見ていました。しかし列車は遅い、周りは普通の民家、しまいに変なところで信号待ちで全然面白くねえ。
バスで箱根元町まで行って箱根神社に行きました。三連休ともあって、箱根はどこも混んでいますね。バスも例外ではありません。唯一の例外は箱根神社かな。
その後は芦ノ湖の海賊船(←こういう名前の遊覧船なんです)で遊覧です。湖の上を軽快に流してくれるのは良いのですが、非常に寒い。寒すぎる。そしてやはり人だらけ。
バスで下って今夜の宿の近江屋旅館へ。チェックイン後は近所の温泉に行って、宿で食事、飲み会です。宿の人が良きに計らってくれて、食事する部屋を飲み会スペースとして解放してくれました。すばらしいサービスね。
宿をチェックアウトして、箱根登山鉄道で強羅駅(終点)まで。登山鉄道はスイッチバックを駆使して急斜面をゆっくり上がっていく風情ある電車…なんですけど、今日は混みすぎです。後ろから押してくる空気読めないおばちゃんに、ひたすら抵抗してたら終点でした。
さらにケーブルカーで登る予定でしたが、クソ混んでいたので予定変更して、彫刻の森に行きました。だだっ広い広場に彫刻が置いてある斬新な美術スペースでした。まさに森。特設の美術館はなぜかピカソだらけでした。あとはステンドグラスの塔が高すぎて怖かったな…。ちょっと寒かったけど、面白かった。
その後はユネッサンで風呂に入り、帰りのバスが渋滞のせいで2時間かかる(通常は30分)と聞いて、歩きで下りました。途中でカツカレー食って登山鉄道の彫刻の森、小田急の箱根湯本、と経由して新宿まで。
新宿で解散して、ちかふみさんとつくばまで。盛りだくさんな旅行でした。
大下さん、結城さんが出演するつくば薪踊りを見に行きました。
日本舞踊をやったことない人に、半年くらいの稽古を付けたそうです。今日の薪踊りがその成果発表という位置づけです。つくば市の教育企画(?)の一環なのだとか。
初めは半年の練習で公演なんて大丈夫なのか?と思っていたのですが、いらん心配だったようです。日本舞踊をバリバリやっていた人が見たら別でしょうけど、我々素人目には良かったと思います。
最後まで見たかったところですが、今日中に帰れなくなってしまうので途中で抜け出して大阪へ。楽しい連休でした。
早速、帰りの新幹線の中でやってみました。1章でリムル南東の洞窟に突っ込んでいったら瞬殺されたので、もしや難しいのか?と思って、金貯めて最強装備で挑んだら敵が弱すぎでボスすら瞬殺。1章が終わってしまった…。
2章も同じ調子で突っ込んだら、カメレオンマンに瞬殺されました。アリーナが殴ってダメージ2じゃ勝てんわ。1章のライアンは1人で闘うので意外と強く(あるいは敵が弱く)設定してあったようです。
なんてやってたら京都に着いてしまったので、続きはまた今度です。
駅にくっついてるコンビニの話。面積が狭いので品揃えに関しては言いませんが、店員がいまいちです。狭いからやること無いんでしょうけど、客の目の前で店員同士でグダグダしゃべってるのはいかがなもんかなあ。
巷にはエコという言葉が蔓延しております。電気代を減らす工夫としてこんな製品もあるようです。ワットチェッカーで数十円の電気代を節約するだけでエコってか?エキサイトビットがそう思ってるならそれでいいけどさ…。
ま、エコとか何とかはほっといて。この製品を「小型ワットチェッカー」と見ると 3,000円というのお値段は魅力的です。その値段だけに誤差が10%もあって、3桁表示のうち1桁は信用するに値しませんけど、家電の電力消費量が数W間違って表示されたところで何も起きません。個人で使う電機おもちゃとして楽しめると思います。
逆に、企業が省電力製品のデモをするときにこんな電力計を使って、しかも誤差(10%)程度の差を強調していたら、スタイルだけの技術力ゼロ企業だと疑って良いと思います。
参考として、恐らく安物の部類に入るであろうサンワサプライのTAP-TST5(6,500円くらい)の誤差はMax 2%です。
業務用と思われる横河電機のPR300(誤差0.5%、5万円以上)なんてのもあります。一般人にはまず必要ないですね。
今年の出身大学リクルータになりました。さすがにまだ細かいことは決まってませんけど、いずれ就活時期に筑波大学に訪れるでしょう。
鼻&のどが調子悪いのがなかなか直りません。部屋が異常に乾燥しているせいだと思うのですが、加湿器はどこか見えないところがカビそうで嫌なんだよなあ…。
ドラクエ4をやってたら一日が終わりました。おかげで2章の序盤から一気に5章まで行った。
ファミコン版のドラクエは全部主人公を男にしてきたので、リメイク版をやるときは全部女に(といっても選べるのは3と4くらい)してます。街の人の台詞が微妙に違う気がします。しかしファミコン版の内容を全て覚えているはずもなく、結局良くわかりません。今のところはそんなもんです。
DS版のドラクエ4には「せんれき」というコマンドがあって、何回戦ったとか全滅したとかが分かるようになっています。5章序盤にして既に5回全滅…なんてのがバレバレです。嫌なカウントだな。
I/Oデータとかバッファローが使っているマッハUSBの紹介記事を読んでいたら、VirtualBoxのフィルタドライバが見えてるキャプチャ画像が載っていました。原稿書き用の私物マシンで適当にキャプチャしたのか、評価機に偶然VirtualBoxがインストールされていたか。
普段の記事ならまだ良しとしても、今回は特にドライバについて取り上げている記事なんですから、本題と関係ないドライバを載せるのは良くないと思いますけど。大雑把な記者ですね。
ちなみに画像は「マッハUSBで差別化」と言う段落の最後にあります。ITmediaはrefererがITmediaからじゃないと画像を見せてくれない仕様ですので、頑張って探してください。
最近、コンビニでは味付き海苔をまいたおにぎりが増えています。ご飯の味気なさをカバーする意味では歓迎しますが、コンビニには並べて欲しくない一品です。
理由は手が汚れるからです。汚れるというより何となくベタベタして、おしぼりくらいではすっきり取れません。気軽に食べられるはずのおにぎりなのに、食べた後にしっかり手を洗わなければならないのはちょっとね。
そんなわけで味付き海苔おにぎりはなるべく避けて買い物しています。おにぎり好きなのに、選択肢が非常に狭まってしまい悲しい…。
通勤時間に、味付き海苔に触らないようなデザインを考えていました。一つは海苔を二種類使って、隅の部分だけ味なしにする方法です。もう一つは裏だけ味付きの海苔を作って使う方法です。どちらも持ちやすいでしょうが、おにぎりの味が変わってしまうので微妙です。
包装でなんとかするとしたら、丸いおにぎりやハンバーガーのような包装がありますが、ご存じの通り、海苔とご飯がくっついているため海苔がふやけます。これはこれで良いのですが、パリパリの海苔が好きな人には残念な結果になります。
そういえばバナナって(頑張れば)手が汚れないですよね。あれを見習って、頂点から4つに割って、包装がはがせるようなバナナタイプの包装なんてあればいいなあ。今の形のおにぎりだとちょっとバランスが悪いかな?
ドラクエではとかくAボタンを押すことが多いです。戦闘や会話送りなどみんなAボタンです。戦闘で雑魚を倒すときなんか連打するので特に使います。今やっているドラクエIVもAボタンばかり押していたせいか、DSのAボタンがスカスカになってきました。そのうち壊れるんじゃなかろうか?
が、しかし今はDSの時代。AとBのボタンしかなかったファミコンとは違いDSにはボタンがA, B, X, Y, L, Rの6つもあり、しかも決定ボタンとしてAとXが割り当てられています。
なので雑魚を抹殺するときはAとXを連打すれば、見えないくらいの勢いでコマンドが選択されて戦闘が終わります。A連打なんてもう過去の遺物なんだね…。
会社の部署全体(360人中、140人参加)での忘年会がありました。これほどの規模を毎年開催しているのはうちの会社でも珍しいらしいです。
1、2年目の人は実行委員会なるものに参加しなければならない習わしです。しかし年々新人が減り続けており、去年、今年は2人。合わせても4人。そして10年目くらいの先輩2人が忘年会幹事ですので合わせても6人しかいません。少ねえよー。
忘年会が終わってから、たった6人で、仕事の傍ら、こんな宴会をよく回したなあ…としみじみ思いました。疲れた。
会社に何も貢献していないのに、金曜日にボーナスをいただいたわけですけども、所得税と厚生年金でがさっと減る様が悲しいです。
ボーナスをもらうといきなり人が変わったように買い物を始める人が居ますけど、ここは一つ何も買わないで放置をオススメ。お金が遊んでいる状態こそ、これぞ究極の贅沢だと思いませんか?
…勢いで書いてたら意味がわからなくなってきた。やめやめ。
いざつくばへ。昼に出たもんだから、ついたら既に日が暮れてました。園芸の皆さんと食事に行くも和食屋には嫌われてしまいました。海鮮料理屋(旭屋?、土浦市R6沿い)で食事しました。
少し早いですが大下さんからクリスマスプレゼントをもらいました。言われてみれば年内はもう会えなさそうだなあ。こちらも考えて持って行くべきだった。
ファミコン時代のドラクエ4の二大バグ技と言えば、「838861枚のコインを5Gで買う」と「8回逃げた後は100%会心の一撃が出る」ですよね。当時はこのバグを当たり前のように使っていたため、DS版をプレイするにあたり大きな壁にぶち当たっています。
カジノをまじめにやるとすると、闘技場が一番効率良いと思います。それでもまぐれで3連勝してせいぜい2000枚です。はぐれメタルヘルムが許されざるハイパーぼったくり景品(必要枚数100,000枚)だということに今更気づきました。こんな枚数ありえねぇー。
カジノのコインを貯めることがこんなに難しいなんてー!!
ラスボス(ピサロ様)とご対面するところまでは楽勝で進めたので、このままエンディング見ちゃうぞーっとか思ってたんですけど、ピサロ様ったら異常に強いです。特に最終形態が強すぎます。最大HP 250くらいなのに一発120強くらって、瞬殺されたーヨ。
で、デスピサロがこんなに強いなんてー!!
カードとETCの車載器が届きました。カードは普段使っているクレディセゾンの派生カード(下の写真)でカードは無料です。さらに塚田氏から教えてもらった JRSのETC無料キャンペーンを利用し、車載器も無料です。車載器は古野電気製でした。
あの狭い駐車場でETCの機械を車に付ける作業なんてできるんかな。店に頼むと数千円取られるらしいので、自分でやるしかないなあと諦めています。年内に付けたいな…。
平日は家、仕事、家、仕事…の繰り返しなので、特に日記に書くことがないんですな。
学生時代は忙しいと連呼する社会人が不思議に思えましたが、いざやってみるとうっすら理由がわかります。忙しいというより「まとまった時間」が取れなくて、やる気が失せると言う方が近いです。朝起きるためには夜更かしできない、帰ってきたら既に夜、土日は平日にたまった用事を片付けて終わりです。一気にやりたいのにできないなんて、やる気なくなるでしょ?
ぱっと思いついたアイデアを実践してみる、なんてことが難しくなります。だからこそ何かにトライすべきですが、夜は眠くなっちゃうし、机で寝たら風邪引くしなあ。いかんな…既にやる気が削げてるじゃないかよ。
目次: Linux
たまにLinux kernelをコンパイルしていると 'func' is deprecated. と言われることがあります。自分が見かけたのは、kernel/intermodule.cというファイルのinter_module_registerという関数でした。(昔の2.6系には残っていましたが、最新版(2.6.23.8)では存在しません)
見てみると関数の宣言に __deprecatedと書いてあり、define部分を探すとinclude/linux/compiler.hに書いてあります。しかし宣言の中身は空、というのもgccだけがdeprecated警告をするので、include/linux/compiler-gcc.hの方に書いてあるんですね。
#define __deprecated __attribute__((deprecated))
こんな定義です。関数プロトタイプに対して __attribute__((deprecated)) と書いておくと、その関数を使った人に対して冒頭で述べたような警告がでます。
これはコードの作者あるいは古いコードをいつまでも使っている人への警告でしょうね。もう使われない(deprecated)関数をお使いのようですけど、いずれなくなってあなたのコードは動かなくなりますよ!それまでには直してくれよ、ヨロシクね!ってことです。
他にcompiler.hで面白いなと思うのは、likelyとunlikelyマクロでしょうか。以下のようなマクロです。
#define likely(x) __builtin_expect(!!(x), 1)
#define unlikely(x) __builtin_expect(!!(x), 0)
キーワード __builtin_expectはコンパイラに対して、第一引数の結果が第二引数の結果になるときに高速動作するコードを出力しなさい、とコンパイラにヒントを与えます。ヒントが正しければプログラムが高速に動作するはずです。
具体的には likelyマクロは引数xが真であるとき、unlikelyは逆にxが偽であるときに高速動作せよと、コンパイラに指示しています。ではlikelyとunlikelyの効果を以下の実験コードで確かめてみましょう。
int func_likely();
int func_unlikely();
volatile int i;
int main(int argc, char *argv[])
{
func_likely();
func_unlikely();
return 0;
}
int func_likely()
{
int c = 0;
while (likely(i)) {
c++;
}
return c;
}
int func_unlikely()
{
int c = 0;
while (unlikely(i)) {
c++;
}
return c;
}
注目点はfunc_likelyとfunc_unlikelyです。ループの条件に付けたlikelyマクロとunlikelyマクロ以外に違いがないことを確認していただけると思います。これをgccでコンパイルしてみましょう。2.95でも対応していたと思いますが、3.xくらいのgccなら確実だと思います。
あとコンパイル時に -O2を付けることを忘れずに。
$ emacs a.c $ gcc --version gcc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21) $ gcc -O2 -S a.c $ cat a.s (コードは一部抜粋です) (func_likelyの説明) カウント文と分岐文が連続している。条件は真の可能性が高いと信じて いるから、「カウント分」「条件判定」「分岐」という一連の命令を連 続して並べる。これにはキャッシュに乗りやすい、プリフェッチしやす いなど様々な理由があると思う。 一方、リターン文は遠くに配置される。これはコンパイラにとって、ルー プの条件が成立しないのは、稀なケースであって滅多に実行しないと信 じているから。 func_likely: jmp .L8 ;(条件判定へ) .p2align 4,,7 .L9: incl %edx ;(カウント文) .L8: movl i, %eax testl %eax, %eax ;(i != 0の条件チェック) jne .L9 ;(分岐文、真だったらループの先頭へ) popl %ebp movl %edx, %eax ret ;(リターン文) (func_unlikelyの説明) カウント文とリターン文が連続している。 分岐文もあるが真じゃない可能性が高いと信じているので、条件は成立 せずに即座に終了するはずである。 逆に、条件が成立するときは遠くに置いた判定文へ飛ぶ。これはコンパ イラにとって、条件が成立することが稀なケースであって、滅多に実行 しないと信じているから。 func_unlikely: .L2: movl i, %eax testl %eax, %eax ;(i != 0の条件チェック) jne .L3 ;(分岐文、真だったらカウント文へ) popl %ebp movl %edx, %eax ret ;(リターン文) .L3: incl %edx ;(カウント文) jmp .L2 ;(条件判定へ)
ヒントがどういう効果をおよぼすか、ご理解いただけたかと思います。このくらいの小さい関数では効率が変わらないので、例としてはあまり良くないかも…。
最後に !!(x) と引数を二重否定している理由ですが、1ではないけど真(5とか10とか -1とか)である値を1に正規化するためです。以下の例を見ていただくとわかるかと思います。
x = 5 //真だけど1ではない !(x) => 0 //偽 !!(x) => 1 //真で1である
お前の説明じゃまったくわからんぞ!!って人はGoogle先生にも聞きましょう。有名なマクロなので、他のサイトでも紹介されています。
< | 2007 | > | ||||
<< | < | 11 | > | >> | ||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
- | - | - | - | 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | - |
合計:
本日:
管理者: Katsuhiro Suzuki(katsuhiro( a t )katsuster.net)
This is Simple Diary 1.0
Copyright(C) Katsuhiro Suzuki 2006-2023.
Powered by PHP 8.2.20.
using GD bundled (2.1.0 compatible)(png support.)