憂鬱な午後のひととき
yamy
Vista以降, キーボード変更ツールはどうしようと思っていたら友達が窓使いの憂鬱の非デバイスドライバ版を開発してくださった.
非常にありがたい. 3週間ほど使ってるけど, (ドキュメントにあるように)最初にレジストリ設定が必要になることもある, たまに(私のところでは一日数回)キー操作が一瞬固まる(ちょっと待てば直る)ことを除いて問題なく使えてる(at Xp).
「伝わる言葉」(北村薫)
美しい日本語という公開講座が無料かつ当日申請可能とあったので行ってみた.
群馬県って初めてでどうやっていくねんというか2時間以上かかって殆ど小旅行だった. 最寄り駅からバス待ち40分やからと4kmちょいを歩いたのもうかつだった. 炎天下の中, 着く頃には汗だく.
講演自体は「つるかめつるかめ」という言葉を知ってますかという問いかけに始まり, 使われなくなってる言葉や逆に若い人たちの間でしか分からない言葉や勘違いの言葉, 方言などいろいろ寄り道しつつ,
自分の言いたいことは自分の言葉で伝えるべきものだから下手に言い換えしない方がよいという締めくくりだった(うーん, ちょっとニュアンスが違うかな.うまく短くかけない...駄目やん).
こういうのを聞く機会はあまりなかったので新鮮で面白かった.
Xbyakの64bitでのmov(mem64, imm);がバグってるという報告があったのでupdate.
『「世界征服」は可能か?』(岡田斗司夫)
タイトルに引かれて読みはじめたら予想外に面白かった. 支配者の分類とか征服の目的や手順などまじめに不真面目なこと考えてる.
しかもところどころにえぐい風刺も入ってるし. 最後の世界征服への合い言葉もいい感じ.
『仏果を得ず』(三浦しをん)
人形浄瑠璃に打ち込む若手の熱意とか苦悩とか. 『チョコレートコスモス』(恩田陸)は演劇にかける天才達だけど,
こちらはもうちょっと普通な感じの人なので親近感がわく. 成長ぷりも気持ちいい. 面白かった.
論文の打ち合わせ. 3時間半ほど. 久しぶりに頭使ったので疲れた. 「これは光成さんが言った部分です」と言われても7年も前に証明したことの細部なんてそんな.
手元のパソコンにはそんな古いメールは残ってない. 押し入れのバックアップCDを探すか.
・クレジットカードで買い物するとレシートにカード番号が一部伏せられて記載されるが, あれって店によって伏せる場所が違うんやね.
先日2件続けて使ったときは下4桁伏せ字のと上12桁伏せ字のがあった. 伏せてあるから安心とポイ捨てしたら危ないなあ.
・
↓2
数行いじって7%ほど速くなった. 他人のコードは予想外のところに穴場があるなあ.
ランニング用シューズのすり減り具合が偏りすぎてるので買う. もう2年履いたのか.
今度は姿勢に気を付けて走る.
Multicore Implementation of the Tate Pairing over Supersingular Elliptic Curves
F
3509上のη
TペアリングがCore2の同一CPUでそれまで最速だったHankersonたちの結果(13.75msec)の3.2倍の4.3msec. もうちょい行くかと思ったけど他人の
スペイン語のソースをいじるのは辛かった.
なりふりかまわずやるなら1~2割いけそうなんだけどcore i7(SSE4使わず)で1.87msecという反則的なスコア.
今回は共著だしソース公開は多分無し. ただ
自分の実装のundocumentな(僅差で最速だった)
アルゴリズムもちゃんと公開された. めでたい.
やたら首が痛くてしんどいのでお気軽そうな『ドン・キホーテの末裔』(清水義範)を読んでみる.
メタメタパロディ. 小説内小説内小説. 落ちはまあ可も無く不可も無く. どちらかというと途中で終わった小説内小説を最後まで読んでみたかった.
一つ気になったのは, セルバンテスがシェイクスピアを読んだことないと推測する理由として『ドン・キホーテ』内で言及されている古典文学に含まれていなかったから(p.258)とあったけど,
若干納得できない. 二人が同時代なら彼にとってシェイクスピアは「古典文学」とちゃうんちゃう.
Windows Vista の新しい同期プリミティブ
こないだ帰省で友達に会ったときに教えてもらったVista以降で(漸くサポートされた)条件変数. ロック周りの新しいプリミティブも増えてる.
Visual Studio 2005 のリリースにより、変数 pLogger がキーワード volatile で修飾されている限り、Windows プラットフォームでダブルチェック ロッキング パターンの実行の信頼性が確保されるようになりました。
なんとvolatileでメモリバリアが入るのか. InitOnceExecuteOnce()なんてのもあるぞ. 明日ちゃんと読む. こちらはg++のstatic変数がスレッドセーフになってるやつ(
-fthreadsafe-statics)のほうが使いやすそうだけど.
・夜中に首がぐきっとなって回らなくなった. 根本原因は腰らしいので走るよりは丁寧に歩いてほぐす方がいいそうな. ずっととれない足の筋肉痛も同じらしい.
・↓2 同僚にgdbはカレントディレクトリを探すのでgdb a.outはOKと教えていただいた. 知らなんだ. ありがとうございます.
こいこいといけいけ
昨日はC++WGに参加してみたんだが, 電車だと会社から東京タワーまで遠回りらしいので雨やったけど歩いて行ってみた. 確かに電車で行くより近かった.
それはともかく会議中にoperator<<とoperator>>を「こいこい」と「いけいけ」と呼んでいる人がいた.
いつもなんて呼ぶのか困ってたんやけど(シフトは意味を表さないので好きじゃない), これは初耳でもなるほどというか, 語幹がよくて思わず感動してしまった(空耳だったらすいません).
『実践デバッグ技法』(Norman Matloff Peter Salzman著 相川愛三訳)
この本はとてもいい. なんでデバッガがあると便利なのかきちんと書いてある. 各種用語の説明も
『Debug Hacks』よりはずっと明確で正確だ.
デバッガの勉強をしようと思って『Debug Hacks』を買って「あれ?」と思ってしまった人(あれはLinux kernel debug本なので)は, こちらを是非買うべき.
例題のソースもトリビアルでなく, バイナリツリー, スレッド, 自前文字列, OpenMP(!)など適切. CUI, GUIを分け隔てなく扱ってるのも好感がもてる.
少し気になったのは著者の一人はpathにカレントディレクトリを入れてる模様. %ddd insert_sortとか% a.outとかのコマンドが少々気持ち悪い.
あとC++のサンプルで#include <iostream.h>はないだろうと思った.
ところで恥ずかしながらgccの-g3オプションを初めて知った. 説明無く登場したので最初-O3のtypoかと思ったら
Options for Debugging Your Program or GCCにあった.
>cat t.c
#include <stdio.h>
#define AAA 3
int main()
{
return AAA;
}
---
>gcc -g t.c && gdb ./a.out
main () at t.c:5
5 return AAA;
(gdb) p AAA
No symbol "AAA" in current context. // 見つからない
>gcc -g3 t.c && gdb ./a.out
main () at t.c:5
5 return AAA;
(gdb) p AAA
$1 = 3 // 表示される
へー.
・『C++テンプレートテクニック』(επιστημη, 高橋晶)
ざっと読み終わった.
前回の感想の続き.
boostは黒魔術というか, 凄いんだけど複雑すぎて何やってんのか分からん, というときの指南書としてよいと思う.
それぞれの章のテクニックのサンプルも最初はごく簡単なものから徐々に実用的なものにしていくあたりの采配が絶妙. 説明も分かりやすくて素晴らしい.
・会社の同僚にVCのIDEのCtrl--というキーアサインを教えてもらった. ある関数の位置から宣言などにジャンプしたときに元の場所に戻ってくる. viのctrl-tみたいなの.
おお, これは欲しくて探してたけど見つからなかったやつ.
ペアリングの実装の
eprint見た人から「この論文のアルゴリズム使ったらもっと速くなるよ」とメールがくる.
↓
試してみたら少し遅くなった.
↓
自分のコード見たら自分の方がよく見える. 去年
しゃべったときのpdfを渡す.
↓
「なんだよ論文と実装が違うのかよ(意訳). でもpdfのだと速くないはず」との返事.
↓
もう一度よく見るとそのpdfが間違ってた(--; あんまし覚えてないが当時も実装のために計算したメモが無くなったので適当に思い出して書いたからかも.
なんとか頑張ってソースから復元したアルゴリズムを渡す.
↓
私のアルゴリズムの方がoptimalだと言われた. ちゃんと論文に書いとけ>自分. 彼らもそれにしたがって一部実装を修正するらしい.
というわけで残念ながら自分の実装は速くならなかったが共著者の隅に入れてもらえるかも.
昔
御意見は光成滋生<herumi@nifty.com>までお願いします