2010年05月02日(日) [長年日記]
■ [unix][howto] LinuxでCPU情報の表示
/proc/cpuinfoを見ると分かることを知ったのでメモ。
% cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 23 model name : Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz stepping : 10 cpu MHz : 2992.550 cache size : 6144 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss nx constant_tsc up arch_perfmon pebs bts tsc_r eliable pni ssse3 sse4_1 hypervisor bogomips : 5985.10 clflush size : 64 power management:
■ やること
- クリーニング
- 請書
2010年05月03日(月) [長年日記]
- シャツ買った。高いなあ。
- 安いズボンも買った。
- 歯ブラシ買った。
- コンタクトレンズのケースを買えなかった。
■ [life][service] Yahoo! JAPAN で本を買えなくなっていた
去年ヤフーで本を買ってから、本を買う際にはアマゾンではなくヤフーを使うようにしていた。Yahoo!ポイントが使えるので。
ヤフーのアカウントで買い物ができるのはYahoo!ショッピングなんだけど、そこに出店している本屋はセブンアンドワイ ヤフー店しかない。が、今日本を買おうとアクセスしてみたら、
当サイトは、4月1日(木)をもって、 「セブンネットショッピング」サイトに移行いたします。
とのことで、ここでは買い物ができなくなっていた。えー、ひどい。
セブンネットショッピングの方では買えるけど、こちらで使えるのはnanacoポイントのみでYahoo!ポイントは使えない。一応、「Yahoo!ポイントの対応は現在準備中です。」という説明はあるんだけど、いつから使えるのかが不明。1ヶ月経っても準備中のままなのでやる気がない感じがする。Yahoo!ポイントには有効期限があるから早く使えるようになってもらわないと困る。
Yahoo!ポイントをnanacoポイントに交換することもできるが、そうするとポイントが15%引かれてしまうようだ。
ヤフーに別の本屋が出店してくれればそこで買うんだけどなあ。
■ やること
- クリーニング
- 請書
2010年05月13日(木) [長年日記]
- わりと暇。
■ [howto][unix] diffの空白・空行を無視するオプション
diffコマンドのオプションの違いがよくわからなかったのでメモ。使用したdiffは「diff (GNU diffutils) 2.8.1」。
空白を無視する
- -b, --ignore-space-change
- スペースの数だけが違う場合には違いを無視する。 不完全な行は無視される。
- -w, --ignore-all-space
- 行を比較するときスペースを無視する。 不完全な行は無視される。
という似たようなオプションがある。
a.txt aaa = 10 bbb = 20 ccc = 30
b.txt aaa = 10 bbb = 20 c c c = 3 0
という2つのファイルに対し、-bオプションを使うと
% diff -ub a.txt b.txt --- a.txt 2010-05-13 13:56:24.000000000 +0900 +++ b.txt 2010-05-13 13:56:59.000000000 +0900 @@ -1,4 +1,4 @@ -a.txt +b.txt aaa = 10 -bbb = 20 -ccc = 30 + bbb = 20 + c c c = 3 0
となる。空白の数が変わっただけなら差分にならないが、空白が追加されると差分になる。
一方、-wオプションだと
% diff -uw a.txt b.txt --- a.txt 2010-05-13 13:56:24.000000000 +0900 +++ b.txt 2010-05-13 13:56:59.000000000 +0900 @@ -1,4 +1,4 @@ -a.txt +b.txt aaa = 10 bbb = 20 ccc = 30
となり、空白の追加も差分にならなくなる。
空行を無視する
- -B, --ignore-blank-lines
- 空行を挿入・削除するだけの変更を無視する。
というオプションがある。新たに
c.txt aaa = 10 bbb = 20 ccc = 30
というファイルを用意して-Bオプションを使うと、
% diff -uB a.txt c.txt --- a.txt 2010-05-13 13:56:24.000000000 +0900 +++ c.txt 2010-05-13 14:01:26.000000000 +0900 @@ -1,4 +1,7 @@ -a.txt +c.txt + aaa = 10 bbb = 20 + ccc = 30 +
となった。全然空行を無視してくれない。(あと、tDiaryが整形済みテキスト末尾の空行を表示してくれないみたい。)
-uオプションをやめると
% diff -B a.txt c.txt 1c1,2 < a.txt --- > c.txt >
となり想像通りに動いた。バグなのかなあ。
■ [windows][soft] AppliStationが動かなかった
AppliStation1.3.3を使ってみたが、起動して「リストの更新」ダイアログが表示されて処理が進んだ後、「AppliStationのエラー発生」ダイアログが表示され強制終了してしまう。エラーの内容は次の通り。
System.InvalidCastException: 指定されたキャストは有効ではありません。 場所 NaGet.Packages.Install.UninstallInformation.NewInstance(RegistryKey regKey) 場所 d:\works\AppliStation\na-get-lib\NaGet.Packages.Install\UninstallInformation.cs:行 134 場所 NaGet.Packages.Install.RegistriedUninstallers.<get_Uninstallers>d__4.MoveNext() 場所 d:\works\AppliStation\na-get-lib\NaGet.Packages.Install\RegistriedUninstallers.cs:行 86 場所 NaGet.Packages.Install.RegistriedUninstallers.<DetectInstalledPackages>d__d.MoveNext() 場所 d:\works\AppliStation\na-get-lib\NaGet.Packages.Install\RegistriedUninstallers.cs:行 110 場所 System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection) 場所 NaGet.Packages.PackageListsManager.DetectSystemInstalledPkgs() 場所 d:\works\AppliStation\na-get-lib\NaGet.Packages\PackageListsManager.cs:行 144 場所 NaGet.SubCommands.NaGetUpdate.runLocalUpdate() 場所 d:\works\AppliStation\na-get-lib\NaGet.SubCommands\NaGetUpdate.cs:行 182 場所 NaGet.SubCommands.NaGetUpdate.Run() 場所 d:\works\AppliStation\na-get-lib\NaGet.SubCommands\NaGetUpdate.cs:行 113 場所 System.Threading.ThreadHelper.ThreadStart_Context(Object state) 場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 場所 System.Threading.ThreadHelper.ThreadStart() 場所 NaGet.Packages.Install.UninstallInformation.NewInstance(RegistryKey regKey) 場所 d:\works\AppliStation\na-get-lib\NaGet.Packages.Install\UninstallInformation.cs:行 134 場所 NaGet.Packages.Install.RegistriedUninstallers.<get_Uninstallers>d__4.MoveNext() 場所 d:\works\AppliStation\na-get-lib\NaGet.Packages.Install\RegistriedUninstallers.cs:行 86 場所 NaGet.Packages.Install.RegistriedUninstallers.<DetectInstalledPackages>d__d.MoveNext() 場所 d:\works\AppliStation\na-get-lib\NaGet.Packages.Install\RegistriedUninstallers.cs:行 110 場所 System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection) 場所 NaGet.Packages.PackageListsManager.DetectSystemInstalledPkgs() 場所 d:\works\AppliStation\na-get-lib\NaGet.Packages\PackageListsManager.cs:行 144 場所 NaGet.SubCommands.NaGetUpdate.runLocalUpdate() 場所 d:\works\AppliStation\na-get-lib\NaGet.SubCommands\NaGetUpdate.cs:行 182 場所 NaGet.SubCommands.NaGetUpdate.Run() 場所 d:\works\AppliStation\na-get-lib\NaGet.SubCommands\NaGetUpdate.cs:行 113 場所 System.Threading.ThreadHelper.ThreadStart_Context(Object state) 場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 場所 System.Threading.ThreadHelper.ThreadStart()
「d:\works\AppliStation\」という謎のフォルダ名が出力されているのがオソロシ。「指定されたキャストは有効ではありません。」というエラーなんだからバグなんだろうなあ。余裕があればバグ報告するかも。
でもソフトの自動ダウンロードをされるのは少し怖い。AppliStation開発元の情報をもっと開示した方がいいと思うんだけれど。
■ やること
- クリーニング
- 請書
2010年05月16日(日) [長年日記]
■ [life] コンタクトレンズのケースを買った
今まではコンタクトレンズを買うと一緒にケースも貰えていたが、先日購入した際には貰えなかった。メニコン製のはそもそも売っていなかった。近くの薬局などでも売っていない。
なので今まで使用していた古いものを使っていたが、ハードコンタクトでもレンズケースは時々交換した方がいいらしいので、通販で買うことにした。
できればYahoo!ショッピングで買いたかったが、どの店も送料がかかってしまう。一方Amazonでは送料無料キャンペーンをやっていたので、Amazonで買った。Amazonで買い物するの久しぶり。
最初はB000VVI8MUを買うつもりだったが、ケースのケースも結構汚れていたので、B000FQTJZGを買った。1732円。
■ [book] 赤い指 (東野圭吾)
読んだ。親の介護と子育ての狭間で遭遇する殺人事件の話。面倒なことは先延ばし。
「新参者」の加賀恭一郎が登場。眠りの森のときより切れ者。3.5点。
「いい天気だねえ」彼女がようやく声を発した。「これなら遠足、大丈夫だね」
昭夫はその場でしゃがみこみたくなった。母親の呑気な声は、彼の神経を逆撫でし、疲労感を倍加させた。何の罪もない彼女に憎しみを抱いた。
彼は母親の腕を引き、もう一方の手で背中を押した。彼女は杖をついていた。子供になった気分でいるくせに、外に出るときには時々杖を出してくる。不思議なものだと思うが、ぼけた老人の考えを理解するのは不可能だと経験者たちはいう。
■ やること
- クリーニング
- 請書
2010年05月17日(月) [長年日記]
■ [windows][howto] バッチファイルでsleepする
Windowsでsleepを実現したかったんだけど、単純にはできないようだ。
検索すると、pingを使う方法が多く紹介されている。
ping -n 10 localhost > nul
(Windowsで標準出力を捨てるには nul へリダイレクトすればいいみたい。)
が、今回は
ruby -e 'sleep 10'
のようにすることにした。
■ [book] C++テンプレート完全ガイドを買った
今更だが、技術書を買ったらメモすることにする。Yahoo!ポイントが使えないので、近所の本屋で注文して買った。
- 価格
- 4179円
- 厚さ, ページ数
- 3cm, 505ページ
- 買った理由
- テンプレートをきちんと説明した本が欲しかったから。原書の評価は高い。
追記
役に立つ本。テンプレートで分からないことがあって参照すると、知りたいことが書いてある。完璧ではないけどね。4点。
■ やること
- クリーニング
- 請書
2010年05月21日(金) [長年日記]
■ [c++][unix][howto] 関数が定義されているライブラリを探す
nmコマンドを使ったのでメモ。BINARY HACKSの#12,#14が参考になる。
C++のプログラムをコンパイルして
xxx.cpp:100: undefined reference to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::test_case*, unsigned long)'
のようにundefined referenceだというエラーになったときに、リンクすべきライブラリファイルを調べるには、ライブラリファイル群があるディレクトリにて
% nm --demangle --print-file-name --dynamic *.so | grep \ 'boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::test_case*, unsigned long)'
を実行すればいい、と思ったら何も出力されなかった。ここは
% nm --demangle --print-file-name --dynamic *.so | grep \ 'boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::test_case\*, unsigned long)'
としなければならない。最後の方のポインタを表わす*をエスケープしないとマッチする正規表現にならないから。これで
libboost_unit_test_framework-mt.so:0003bc70 T boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::test_case*, unsigned long) libboost_unit_test_framework-mt.so:0003bcc0 T boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::test_case*, unsigned long)
のように出力される。関数の定義はlibboost_unit_test_framework-mt.soにある。
■ やること
- クリーニング
- 請書
2010年05月24日(月) [長年日記]
■ [math] 漸化式の一般項
で表せる数列の一般項を求めたかった。数列って高校で習ったけど何も覚えていない。
検索すると、一般に
という数列の一般項は
になるとのこと。なるほど確かに
となるはずだ。なので、始めに示した数列の一般項は
となる。シグマの計算もあまり覚えていないなあ。
■ [link][math][web] MimeTexの書き方
上の数式は
- MimeTeXの命令一覧 (MimeTeXを学習しよう!)
を見ながら書いた。tDiaryでMimeTexを使うにはmimetex.rbを使う。
ああ、でもイマドキはGoogleを使うのがいいみたい。
- Google Chart API で tDiary に数式を埋めこむプラグインを作ったよ (Hacking is believing@itoshi.tv)
次からはそうしよう。
■ やること
- クリーニング
- 請書
2010年05月26日(水) [長年日記]
■ [etc][web] 著作権表示
日経産業新聞に、アークコミュニケーションズという会社のレポートにウェブサイトの著作権表示の問題が書かれているという記事が載っていた。レポートっていうのはこれかな。読むにはアンケートが必要なので読んでない。
それで、この会社のウェブサイトは正しい著作権表示をしているのだろうと思うので参考にする。英語版、中国語版、ハングル版のトップページではそれぞれ次のような表示になっていた。
©2010 Arc Communications Inc. All rights reserved.
©2010 Arc Communications Inc. 版权所有
©2010 Arc Communications Inc. 모든 권리를 보유함.
行末は各国の言語で締めている。が、日本語版は次のようで、英語版と同じフォーマットだった。
©2009 Arc Communications Inc. All rights reserved.
こうするのが正しいのかなあ。
以前のメモ
著作権表示は以前にも気になってメモしたことがある。それへのリンク。
■ やること
- クリーニング
請書
2010年05月29日(土) [長年日記]
- 急な雨で、100円のビニール傘を買った。ペタペタしないタイプ。
- チャックが外れないわけない。
- ウィルコムのプランを変更した。機種変更もするかも。ドコモに変えようと思っていたんだけど、方針変更。
- でもドコモも基本料は安いんだなあ。
■ [life] 鍵の出し入れをスムーズに
家の鍵が、スムーズに出し入れできなくなっていた。壊れてきちゃったと思っていたが、鍵穴のクスリというものを教えてもらい、使ってみたらスッと出し入れできるようになった。
仕組みが分からないんだけど、これすごい。
■ やること
- クリーニング
2010年05月30日(日) [長年日記]
■ [サッカー] 日本vsイングランド (グラーツ)
カペッロ監督率いるイングランドとの強化試合。代表の試合を観るのは久しぶり。日本の先発は
岡崎 大久保 遠藤 長谷部 本田 阿部 長友 闘莉王 中澤 今野 川島
駒野より今野を選ぶんだなあ。俊輔は怪我でベンチ。中澤のみ6年前も先発。イングランドの先発は
ルーニー ベント レノン ウォルコット ランパード ハドルストーン A.コール テリー ファーデナント G.ジョンソン ジェームズ
ジェラードは怪我の影響で後半のみの出場。
イングランドは上手いしでかいけど、プレスはそれ程でもなく日本はパスを回せる時間もあった。が、特に後半は攻められ、川島が目立つ展開に。川島は株を上げた。大久保も運動量多く頑張っていたけど、攻撃で相手の脅威にはなっていなかった。本田はいいシュートもあったが基本的には沈黙。ランパードのFKを腕で弾いたり。今野は守備頑張っていたけど攻撃もしてくれないとなあ。
韓国戦(観てないけど)で失った自信を、少し取り戻せた試合だった。
■ やること
- クリーニング