/ 最近 .rdf 追記 設定 本棚

脳log[2013-02-01~]



2013年02月01日 (金) パラメータの数が可変(※省略が可能という意味)の時のプリペアードステイトメント。SQLiteだと渡さなかったパラメータに対応する(名前付き)プレースホルダは NULLになる(※ライブラリの計らいかもしれない)。省略可能なパラメータが絞り込み条件(WHERE clause)のひとつであるとして、NULLとの比較が常に失敗するのに任せる場合もあれば、反対に NULLにワイルドカードとして振る舞ってもらう場合もある。後者はこんな感じ。「SELECT * FROM Book WHERE (:publisher ISNULL OR Publisher LIKE :publisher) AND (:label ISNULL OR Label LIKE :label) AND (:binding ISNULL OR Binding LIKE :binding) AND (:ccode ISNULL OR CCode LIKE :ccode) AND (:publicationdate ISNULL OR PublicationDate LIKE :publicationdate;」こういうの(LIKEの乱用)を指して Poorman's Search Engineと言ってるんじゃないかな>『SQLアンチパターン(www.oreilly.co.jp)』さっき挙げた SQL(の一部)はこういう使われ方をしています>「http://vvvvvv.sakura.ne.jp/ds14050/buch/browse/CCode/C3___


2013年01月31日 (木) 勝手に流れてきてしょっちゅう聞かされる曲。誰が歌ってるのか知らないけど西野カナだと思ってる(真偽は不明)。これが一本調子でつまらない。デビューしたての aiko(の歌)も好きじゃなかったんだけど、同様に聞きたくない、のに逃れられない。年末の特番で聞いたのは悪くないなと思った(何度も書くが別人だった可能性もある)ので、珍しく録音の方がひどい。ああ、これが音に聞く音圧競争ってやつなのかなと思い当たった次第。つまらんうえに耳に負荷のかかるもんを無理矢理聞かせんじゃねーよ。


2013年01月30日 (水) ハンバーガー(マクドナルド)。好き。ケチャップの甘さとマスタードの辛さとピクルスの酸っぱさの対比がいい。完成されたメニューだと思う。だけどボリュームが足りない。これを目的に買いには行かない。■てりやきバーガー(マクドナルド)。好き。ソースがすべて。十分食べて味が想像できるのでこれを買いには行かない。飽きたってことなのかな。食べて後悔はしないんだけど。■フィレオフィッシュ(マクドナルド)。好き。タルタルがすべて。マクドナルドに行けば必ずこれを買う。以前はこれと BLTバーガーを目当てにしてマクドナルドに行っていたが、BLT亡き後はグラコロを買いに行った一度を除いて行っていない。フィレオフィッシュだけでは足りないからね。■冬にやってたシナモンと砂糖がたっぷりかかったようなの(マクドナルド)。これも好きだった。もうないのかな。■エッグマックマフィン(マクドナルド)。朝マックはソーセージとベーコンがよろしくない(一度で懲りた)ので必然的にこれになる。時間帯が合えば必ず注文してた。シロップがかかったマックグリドルも良かった。ソーセージとベーコンがはさまってなければもっと。■モスバーガー(モス)。あふれるタマネギソースとトマト。初めてモスに入ったのが19才の時。モス自身の名を冠したハンバーガーにハズレはないだろうという理由で選んでからほぼ毎回買ってる。■フレッシュバーガー・サウザン野菜バーガー・モス野菜バーガー(モス)。トマトとレタスと酸味のきいたソース。これもほぼ毎回買ってる。一度に買うのはハンバーガー2個だけなのでモスで買うのはほぼこれら。■フィッシュバーガー(モス)。タルタルじゃなくてマヨネーズがかかってるらしい。油っぽいなと思って一度しか食べてない。■ロースカツバーガー(モス)。ソースが辛いなと思って一度しか食べてない。■ライスバーガーのどれか(モス)。ハンバーガーと同じつもりで食べたらおなかにもたれたので一度しか食べてない。ごはんがなくならない。■マクドナルドにはさらにグラコロと月見もあるわけで、マクドナルドに行かない理由がわからない。というのは嘘で、フィレオフィッシュと一緒に頼むもうひとつがなくなったのがすべて。反対に、モスには2つのハンバーガーとその時々の限定しか選ぶものがないのだけど、それがある、それで十分であるがゆえに足を運んでる(頻度はかなり減ってるが)。サブウェイの評価はモスに勝るとも劣らないのだけど、店がない。■マクドナルドであと気に入らないといえば、誰も彼もがクーポンで注文することと、(こぼしそうでテイクアウトに適さない)飲み物が付かないセットメニューが存在しないこと。セットメニューってクーポン価格でも一個一個の値段(想定マクドナルド希望価格)を加算しただけでこれっぽっちも安くないのだからセットで頼みたくもないけど。■「誰も彼もがクーポンで」⇨マクドナルドはケータイクーポンを提示して買う店であると認識した。自分はそんなものを受信するつもりはない。■似たようなものにプライベートブランドで埋め尽くされたスーパーがある。そこは PB商品を売り買いする場所であると認識したら、仮面をかぶった商品が二の次である自分にとって用無しだとわかる。行かないこともないけど。セブンイレブンには、ニーズを正しくくみ取って実際に商品を企画して自社ブランドで発売してるのかなと思わされるけど。


2013年01月29日 (火) BITMAP関連の構造体で見たなあ(何が?)。「BITMAPINFOHEADER 構造体」■RECT*を引数にとって操作する関数に、RECT構造体のアドレスでなく RECT*型のローカル変数(どこも指してない)を渡す話とかを聞くに、扱いが難しすぎるよね>可変長の構造体メンバ。


2013年01月28日 (月) リーダブルコード。同名の書籍はまだ読んでないので直接の関連はない。どこまで本気かはともかく、まずは日本語でコードを書きたい。英文を読み付けない人間はコードを読まずに日本語で書かれたコメントだけを読もうとしたり、そのつもりがなくても流し読みで目に入るのが日本語部分だけだったりしがち。だからコメントがコードの焼き直し(ただの翻訳。役に立たないコメントの典型)だったりするんじゃないの?洋書や英語論文を抵抗なく読める人間だけでソースを書くか、日本語でソースを書くか。日本語の方が簡単だと思うなあ。アウトソースや協働はできないけど。論理的な文章(ソースコード)を書くことにまずハードルがあり、それを英語(ほとんどのプログラミング言語)で表現することにさらに高いハードルがある。


2013年01月27日 (日) 今季の注目アニメは「ささみさん@がんばらない」「ヤマノススメ」「問題児たちが異世界から来るそうですよ」。継続して期待してるのは「新世界より」「ちはやふる」「宇宙兄弟」「みなみけ ただいま」「僕は友達が少ない NEXT」。評判を聞いて見てみたいのは「琴浦さん」「ラブライブ」。豊作だあ。でもささみさん1話しかまだ見てない。■ささみさんが面白いのはわかってるんだけど、そつがなさすぎてつまらないという贅沢な理由で原作は2巻までしか読んでなかったり。問題児たち~はきっかけがなくて読めてない。


2013年01月26日 (土) [COSMOS] Vistaのメモリ診断ツールを実行してみたら開始早々、進捗1%でハードウェアのエラーを検出した。BIOSで 1Tとなってるところを 2Tにしてみたり、空きスロットに差し直したりしてみたがやはりエラーを検出する。メモリがあかんのかもね。この1年ケースを開けた記憶がないほど安定してたのに。動作クロックを下げて最後の足掻きをしてから新しいのを買う。■■■@2012-01-24 同じものを買った。新しいのは標準電圧(1.50V)で DDR3-1600(800MHz)動作すると書き込んであった(古いのは 1.65V)。BIOSでNBとの比率を設定してわずかにスピードアップ。■■■やっぱり強制終了する。こんどは診断ツールでエラーを発生させることもできない。1.ゲームをするまでは何の問題もなかった。2.強制終了して再起動後は問題ない。3.ゲーム中に起こることがほとんど(そこから悪化した)。考えたシナリオは、1.ビデオカードがアクセス違反をおかしてる(OSのキャッシュと衝突?)。2.(グラフィック)共有システムメモリの使用でメインメモリが音を上げた(メモリに直接あたるファンが存在していない)。物理メモリが壊れてるのか冷却に穴があるのか Vistaのメモリ管理が悪いのか AMDのグラフィックドライバが悪いのか。■■■GPUを差し直してみた。場所も5段下にしてメモリから遠ざけた。現在様子見中。

最終更新: 2015-02-09T01:58+0900

[SonyReader] PRS-650 tools.

PCとリーダーのディレクトリ構成が決め打ちなので、きったねえなー、という感想を漏らすぐらいしか使い道がないでしょうが。

  1. $0-RunOnReaderConnected.bat
  2. $1-Update_Collecctions.rb19
  3. $2-Make_CacheXML_And_Sync.rb19
  4. $3-touch_last3_opened_books.rb
  5. $4-cacheExt_tweak.rb19

 1. $0-RunOnReaderConnected.bat

Sony Readerを繋いだら実行する。$1-$4のスクリプトを引数付きで順番に実行するためのもの。前提条件

  • メモリーカードスロットは E:と F:。
  • すべてのバッチとスクリプトファイルが同じフォルダにあり、作業フォルダもこれと一致する。
  • READER MS (E:)と READER SD (F:)という名前のサブフォルダがあり、この中には Readerにコピーする PDFファイルと $Collections.txtというファイルが(フラットに)入っている。

 2. $1-Update_Collecctions.rb19

カレントディレクトリをスキャンして $で始まるファイルと隠しファイルを除いたファイルのリストを $Collections.txtというファイルに保存する。カレントディレクトリはバッチファイルによって READER MS (E:)か READER SD (F:)になっている。以降のスクリプトのカレントディレクトリも同様。

 $Collections.txt

内容はこんな感じ。

____1 [カイ サワベ] ヘンな感じの日本人.pdf
__1__ [森博嗣] 四季.pdf
__1__ [須賀しのぶ] 芙蓉千里.pdf

-__1__ [沢村凜] 瞳の中の大河.pdf
-__1__ [範乃秋晴] 特異領域の特異点.pdf

-1____ $コレクション名 マンガ
-_1___ $コレクション名 実用的なマンガ
-__1__ $コレクション名 小説
-___1_ $コレクション名 実用的な小説
-____1 $コレクション名 実用書

行頭のマイナスは $Collections.txtに記載されていたファイルが現在は見えなくなってることを示す。アンダースコアはコレクションに属していないことを、1はコレクションに属していることを示す。$コレクション名(スペース)で始まるファイル名は特殊で、コレクション名を定義するための行。行頭にマイナスが付いてるのは「$コレクション名 マンガ」という名前のファイルが存在しないから。自分で付ける必要はないが $1スクリプトの実行で付加される。行の並びは自由。ただし見えないファイルと新しく出現したファイルは末尾に集められる。コレクションを追加するときは全ての行の頭にアンダースコアを追加する。コレクション名のデフォルトはコレクションN(※Nは連番)。

例えば、[森博嗣] 四季.pdfと [須賀しのぶ] 芙蓉千里.pdfは同じコレクションに属していて、そのコレクションの名前は小説。[沢村凜] 瞳の中の大河.pdfというファイルは以前存在していたが今は見えない。ファイルが削除されていて見えないのであれば $2のスクリプトがミラーリングを行ったときに Sony Readerからも削除される(はず)。隠しファイルになっていて見えないのであれば Readerから削除はされない(これは robocopyのミラーリングの仕様による)。

 3. $2-Make_CacheXML_And_Sync.rb19

READERDRIVE:/Sony Reader/database/cache.xmlに ./$Collections.txtの内容を反映させ、READERDRIVE:/自炊.pdf/とカレントディレクトリをミラーリングする。

READERDRIVEはバッチファイルから与えられた引数。

 @2014-01-22 修正。

cache.xmlの text要素の開きタグにマッチする正規表現において、閉じタグを省略するスラッシュにマッチする部分をオプションに変更( />\z → /?>\z )。珍しいけど bookmarkDate要素が子になることがある。

when %r{\A<text (?:\s*id="(\d+)"|\s*path="(?:[^"/]*/)*([^"/]+)"|\s*sourceid="(\d+)"|\s*\w+="[^"]*")*\s*/?>\z}i
when %r{\A<text (?:\s*id="(\d+)"|\s*path="(?:[^"/]*/)*([^"/]+)"|\s*sourceid="(\d+)"|\s*\w+="[^"]*")*\s*/?>\z}i

 4. $3-touch_last3_opened_books.rb

E:/Sony Reader/database/cacheExt.xmlと F:/Sony Reader/database/cacheExt.xmlを読んでメモリーカード内のすべてのファイルの最後に開いた日時を取得し、これをもとに最後に開いた3冊に最も新しい更新日時を設定する。すると Readerは最後に開いた3冊を最新の3冊としてホーム画面に表示する。

--resetオプションが与えられるとファイル本来の更新日時を復元する。オプションなしで実行されると復元と設定を行う。

対象ファイルの最終アクセス日時情報は失われる。最終アクセス日時がファイルシステムや他のプログラムによって変更されると更新日時の復元に失敗する。

 5. $4-cacheExt_tweak.rb19

READERDRIVE:/Sony Reader/database/cacheExt.xmlを操作する。1.すべての<history>要素を削除する。2.ファイルの更新日時を比較し Readerの方が古ければ opened="true"属性を削除する。比較対象は cacheExt.xmlに記載されているすべてのファイルと、カレントディレクトリ直下の同名のファイル。

追記@2014-03-10 ホーム画面上部の「続きから読む」欄の一冊は絶対に未読状態にならない。PCとの接続を絶つとすぐに opened属性が Readerによって再設定されるみたい。


こんな苦労が必要なのは、最後にコピーしたファイルのうち3冊だけがホーム画面という特等席に表示されても嬉しくないのと、本を読み続けると蓄積するページ履歴(history要素。ほとんどが連続するページの履歴)が Readerの動作を遅らせ不安定にするのと、合計48GBのメモリーカードに1000冊以上の PDFを入れてるとコレクションへの登録やファイルの削除の途中で必ず Readerがフリーズするのだが eBook Transfer for Readerはメモリーカードの読み込みに5時間を費やしそうな勢いで助けにならないからと、管理対象の数を減らすためにシリーズを一つの PDFに結合していて新刊が出るたびに末尾にくっつけているために既読フラグのクリアが定期的に必要だからだ。結局俺は PRS-650を自分のものにはしていないのだ。そう勘違いさせてくれるだけの選択の自由を Sonyは提供していないし、お仕着せで満足できるほどの完成度も Sonyは提供していない。

 @2015-01-31 lib/prs-650.rb (2.8KiB, 2015-02-09 変数名のミス修正)

  • prs-650が書き出す XML(cache.xmlと cacheExt.xml)に特化したずぼらライブラリ
  • $2-Make_CacheXML_And_Sync.rb19 と $4-cacheExt_tweak.rb19 に共通するコードを抜き出しただけ
  • ファイルをスキャンしながら情報を抜き出したり、ちょっとだけ書き換えたり

2013年01月25日 (金) W53Sのカレンダーは2000年1月から2019年12月までしか表示できない。2007年10月に購入して、300件がいっぱいになるたびに古いものから削除しながら 5年間使用してきて、あと 1年で折り返し地点をむかえる。スマホしか選択肢がなかったら本当に困る。


2013年01月24日 (木) HDDが 14℃と22℃。スピンアップに失敗しやしないだろうか。プレヒートが必要じゃないかね。■電源を入れたら初めて聞く異音がしたんだよ。モーターを手で回して発電してるんじゃないかっていうような音が。あるいは油の切れた扇風機。


2013年01月23日 (水) 家の Windows PCのパスワードリマインダを紹介。「黄色いあれ」記憶を失わない限り俺にはわかる(それってほとんど、(一日一回以上入力する)パスワードを忘れるようなことがない限りわかるって言ってるのと変わらない)。リマインダ関係なしに周辺情報を集めた方が当たりやすかったり。■定型の質問文と組み合わせて強制的に2つ目のパスワードを作らせようとするのってなんなんでしょうね(Windowsのことではないよ。ないけど……Windowsの場合パスワードリマインダを機能させるためには意味のある、辞書に載ってそうなパスワードを設定することが求められてるな)。弱い方から破られるだろうに。質問に対するよくある答えを用意して、多数の IDに対して無差別にログインを試行すればけっこう当たるでしょう。


2013年01月22日 (火) 2013年01月16日 18時51分 もいすん■こ、れ、は! Rubyの%rリテラルにマッチする正規表現を発展させているのだけど……解読を諦めるレベル。


2013年01月21日 (月) 電子書籍に対して勘違い(過度な期待)をしていたのをどこかのブログで気付かされた。あれは文庫版が出るのを待望して喜ぶように、電書版まで出たのを祝福すべきことだったのだと。だから最新刊が手に入らなかったりシリーズの途中までしか揃ってなかったりしてもがっかりしてはいけない。そのうち別ルートから電書版が手に入る可能性がなきにしもあらずだ。何年でも待っていよう(それでいいその程度のものと判断したなら)。■単行本を買うということ。価格の高さ、かさばることに負けないメリットを見出した結果。著者の最新作を(雑誌連載には遅れるけど)すぐに読みたい、読み終わったら本棚に並べて保存したい、あたりの理由だろうか。奇特だね。それにすぐに読みたいというのを一応理由に挙げたが、著者のブログを読むのとアマゾンで著者名をクリックするのだけが俺が単行本の発売を知る手段だ。文庫には太洋社とまんが王倶楽部のリストがあるが単行本にはない。講談社と丸善&ジュンク堂ネットストアのメールマガジンが希少な例外手段。■文庫を買うということ。単行本に価値を見いだせなかったり文庫版にそれに優る別の価値を見つけた結果。安い。軽い。場所をとらない。自炊しやすい。文庫版あとがきや解説があったりする。■古本を買うということ。圧倒的に価格。時間の経過につれて価格が下がる。単行本発売から半年から数年遅れて文庫が出るころには単行本が古本で251円で手に入る。文庫本だって単行本よりスタートが遅れるものの発売から中古価格が下がっていく。同じ古本でも文庫か単行本か。落ちてきた文庫の最新刊には最初から鮮度なんてないし、中古価格が下落するまで余分に待つことは苦ではない。読むものは他にいくらだってあるし、自炊すれば紙の劣化や汚れも問題ではなくなる。底値をつけるのは単行本の方が早いけど自分は文庫の古本により高い価値を見出してる。■電子書籍を買うということ。なんだろうね? 文庫より場所をとらない。文庫より安い。手元にすぐ届く。自炊の手間が不要(スキャン、最適化、転送、バックアップ)。自炊より高品質(傾きなし、高コントラスト、高解像度、文字データ付きで検索が可能)。考えられるメリットはいっぱいあるけど両立しないものもあるし、現状ではひとつでも成立していれば御の字である(という使い方から御の字が妥協することだという誤解が生じるのだな。(反語)みたいに(皮肉)(諦念)とか書かないかんのか?)。■ハードカバー、文庫というフォーマットが大まかな価格を決めるように電書には電書の価格があって、それは150円から300円くらいだと思ってる。これは、安く早くいつでもどこでも気軽に大量に購入できて(質は)まずくない、という価格。安さと品揃えの良さと露出の多さとアクセスの良さが勝負の決め手。高品質の電子書籍はプレミア価格の単行本の付録としてか自炊でしか手に入らないかもね。■例外。オライリーとか達人出版会。まだ自分で評価を決めかねてる。文庫や古本の競合としての電書とは位置づけが違うので。■電書の市場がどういうものになるのかわからないけど、現状では文庫を自炊するのが質(カバー、カバー裏、表紙、カラーページ、挿絵の省略がないこと。解像度の高さ)、価格(中古の売買も当然考慮のうち)、発売の確実さ、発売時期(単行本より遅いがその他より遅くはない)、発見・購入の容易さ、データの扱いやすさ(他端末へのコピー、端末ごとの最適化、メタデータの整理統一)で有利。泣き所は(単行本に比べた)発売の遅さ、文字データがなく単語・人名の以前の登場位置にジャンプできないこと、輸送にかかる時間、スキャンの手間、紙ゴミ。どう考えても些細なことでは有無をいわせない低価格にしか電書の価値が見つからない(自炊と同等以上のデータは用意できないでしょう?それも300円までで。できそうなのは青空文庫だけだ)。どうやら Sony Readerと ScanSnapを手にした俺は文庫の自炊で満足してる(読書端末が液晶タブレットしかなかったら、ScanSnapがなかったら、電書への要求やその水準は違っていたろう)。電書がはやって中古市場が縮小しないことを望む。■■■翌日。こうまで電書を否定してしまうと試してみたくなるのが人情というもの。Reader Storeをのぞいてみたら以前はクレジットカードだけだったはずの決済方法に NET CASHが加わっている。他には、My Sony Clubの My Sony IDというのを取得しなければいけないのがものすごく面倒だけど、これは買い物をする以上しかたない。なんだかんだで現役のソニー製品を数えてみたら6つもあることでもあるし、GPS付きのデジカメとかネックバンド型の MP3プレイヤーとかヘッドマウントディスプレイとか、目を付けてるソニー製品にも事欠かない。会員IDをメモる手間くらいかけようじゃないか。■メールメンバーとして登録したら Reader Store優待プログラム:ランクRegularだってさ。楽天とか DHCと同じことしてんのな。客の足下を見てこっそり価格の付け替えをするより公正だとは思うけど反吐が出る。ポイント集めゲームを楽しめる人間はつまらない人生の楽しみ方を知ってると本当に思う。■ガガガ文庫の315円という値付けが絶妙。あとノベルズの充実っぷりが目立つ。だけど Sony Readerでギリギリ読めないものが2段組のノベルズだったり。余白はもちろんノンブルと章タイトルまで削っても字が小さすぎて読む気が起こらない。電書として販売されてるものがどういう組み方をされてるのかはわからんけど確かめようもなし。いやいやサンプルダウンロードボタンがあった。Readerに転送しないと読めないんだけど。■書籍のデータが全然足りない。データサイズ、(あるなら)ピクセルサイズ、文庫換算であるいはPRS-650で表示したときに何ページあるのか、とか。■書籍管理ソフト(eBook Transfer for Reader)を起動するとそれ以外にランチャーとバックグラウンドサービスが起動して起動しっぱなしになるというのがすごく嫌で、サンプルや購入した書籍をとりあえずダウンロードだけして保存しがち。■Reader Storeには美少女文庫が足りない!ソフガレとパラダイムも!■■■「このジュブナイルポルノがすごいかもしれない 2012 - SNOW ILLUSION blog


2013年01月20日 (日) 電子ペーパーは十分よみやすいけれど、Paperwhite で読書してると、紙にくらべてなぁんか、微妙に読みにくいのよね・・と感じます。 でも、コントラストは、まぁ雑誌的なレベルでは十分ですし、解像度もなかなかのはず。なんでそう感じるんでしょ?、、と思ってたのですが、あぁ、そっか、表面の透明なプラスチック層のせいだ、と気がつきました。 あそこにホコリが乗ったり、反射があったりすると、微妙に文字の位置と焦点面がちがっていて、それで疲れるのかも。3D映画をみててつかれるのと似たような原理というか。」■再三(20120214, 20121027)懸念を表明してきてることなので鬼の首を取ったように喜びはしないが(探せばそういう意見が見つかるのは当然)、大いに参考にします(嬉しそう)。