新刊については改善しつつある 問題がここ1年で飛躍的に改善したのが新刊である。新刊については、情報が出てから発売までに時間があるので、アマゾンの遅い発注判断でも、じゅうぶんな量の入手が可能になる。そのうえ、アマゾンも「新刊の追っかけ発注は入手しにくい」ということを学習したのか、発注量も多くなった。 新刊委託配本をしない出版社でも、取次とコミュニケーションを密にとれば発売即品切れを回避しやすくなった。 とはいえ、発注タイミングはやはり遅い。「発売前重版」になるような本がアマゾンで入手できず、一般書店には平積みになるようなことは多い。それは、書店としてのアマゾンの能力が低いということの証左だ。発売4週間前に発注しても入手できない個人書店の事情とは問題のレベルが違う。」(アマゾンの「バックオーダー発注」廃止は、正味戦争の宣戦布告である)■ブコメの反応はわりと辛辣だけど、俺はそれに与しない。消費者全体にくらべて本の読者は圧倒的に少ないし、目立つ声が目指すところは俺のとはたぶん違う。
最終更新: 2017-05-08T10:18+0900
void function() { var isbn = (location.href.match(/\b[0-9]{9}[0-9X]\b/)||[])[0]; if (isbn) { var url = "http://bookweb.kinokuniya.co.jp/guest/cgi-bin/ebooksea.cgi?W-ISBN="+ isbn; location.href = url; } }();
javascript:void%20function%28%29%7Bvar%20isbn%3D%28location.href.match%28%2F%5Cb%5B0-9%5D%7B9%7D%5B0-9X%5D%5Cb%2F%29%7C%7C%5B%5D%29%5B0%5D%3Bif%28isbn%29%7Bvar%20url%3D%22http%3A%2F%2Fbookweb.kinokuniya.co.jp%2Fguest%2Fcgi-bin%2Febooksea.cgi%3FW-ISBN%3D%22%2Bisbn%3Blocation.href%3Durl%3B%7D%7D%28%29%3B
「該当するデータがありません。」率が高すぎるだろうなあ。ブックマークツールバーのボタンをクリックするのがだんだん億劫になるだろうレベルで。
自動で背後で検索を実行してアマゾンの購入ボタンの下に BookWebへのリンクを挿入することも Firefoxの仕組みでできるんだろうけど、けど、リンクのプリフェッチと同じくなんとなく嫌だな。
sourceid=path=
mime=/>と<item id=""/>を管理すれば OK. idは適当な連番。sourceidはわからんから既存のと同じ数字。PCのテキストファイルで管理するこの安心感と同期の速さはすばらしい。脆弱な Readerの調子を伺いながら作成した何百冊にもなるコレクションをもう三度も Readerに破壊されてるから。次はプリセットのコレクション「未読の書籍」を使えるものにしたい。自炊した本とマンガが元の PDF 800冊超の 9割以上は既読なのに全部が未読扱いだ。これは /Sony Reader/database/cacheExt.xmlの<text>タグに opened="true"をつけるだけっぽいから一回だけ手作業でやればいいだろう(一冊一冊確認しながら「<text path="([^"]+)"(/?)>」を「<text path="$1" opened="true"$2>」に置換)。
最終更新: 2012-06-05T20:30+0900
Readerに接続したメモリーカードのルートにこのスクリプトをコピーして実行するとそのメモリーカード内で最後に開いた 3冊の本がホーム画面に並ぶという、以前書いてたあれをすることに。並べ替えが PC接続時に限られるのがいまいちでその気はなかったのだけど。
方法は、ファイルの最終更新年を未来のものに書き換えてる。本来の更新年月日を最終アクセス年月日として保存してるのでアクセス日の記録は失われる。
今使ってる版はこれ($3-touch_last3_opened_books.20120101.rb)。MemoryStickと SDカードの二枚差しになったのでメモリーカードドライブのルートで実行する代わりにドライブ文字をハードコーディングしてる。ところで、Rubyの 2038年問題って何?初耳。このスクリプトの「MAGIC_YEAR = 2035..2037」って部分と明らかに関係があるんだけど。
Bing検索でトップのスライドを読んだら Ruby 1.9.2で Timeが大幅にパワーアップしてるらしい。2038年以降だけでなく以前に書いた(組み込みの Timeが UTCと localtimeしか扱わないのがもったいない。任意のオフセットに基づいた日時を出力したいだけだから、DateTimeは牛刀な印象がある)、任意の時差も扱えそう。そもそも Timeの制約って OSの制約がそのまま見えてたってわけだったのか。
今使ってる版はこれ。
$3-touch_last3_opened_books.20120605.rb (2.1KiB)
オプションを新設。--set
オプションで最近読んだ三冊の更新日時を未来のものにセット。--reset
オプションで本来の更新日時を復元。オプションなしで従来通り reset&set。
分離できるようにした理由は、更新日時の復元と更新の間に、robocopyで Readerと自炊ファイルの同期を行いたかったから。2035(,2036,2037)年のタイムスタンプがセットされたままだと Readerにある方が新しいと誤認されて転送されなかったりする。
それと、連続して --setを行うと本来の更新日時が失われる不具合を修正。何度 --resetして --setして --setしても同じ結果になるように。
* 作業した順番が悪かったせいで『4871826090』だとか『4871826198』だとかが。
最終更新: 2012-11-03T16:19+0900
主観的な評価なのでどうでもいいと無視したもの、(PRS-650にて)未使用の機能につき評価不可能なものは含まれておりません。
関係ないけど、Calibreが取得したニュースを転送する前に「デバイスから本の情報リストを取得」するんだけど、それが完了するまでに充電が終わってしまった。約一時間。今度は忘れずに接続前にメモリーカードを抜いておこう。問題ないかな?
Calibreは空のコレクションを勝手に削除する。
最終更新: 2011-10-29T21:40+0900
何時間もかかるこれがどうやったら速くなるでしょうか?
いまは可能な組み合わせを全て試してみて、できあがった数字をカウントしてる。その後で素数を順番に辿って生成カウントが 1のものを足し合わせたものが答え。上限が 10倍になるごとにどえらく計算量が増える。かけ算ならまだしも足し算の組み合わせに有効な考え方を自分が全く持ち合わせていないことがこれまでの問題からも何となくわかってる。どうすんの?
# PE333 require 'mathn' # Primeが使いたいだけなのに。グローバルフラグは悪。 UPPERBOUND = 100_0000 EXP3_UPPERBOUND = (Math.log(UPPERBOUND)/Math.log(3)).floor+1 EXP2_UPPERBOUND = (Math.log(UPPERBOUND)/Math.log(2)).floor+1 # × 2^0 2^1 2^2 2^3 2^4 2^5 2^19 # 3^0 1 2 4 8 16 32 524288 # 3^1 3 6 12 24 48 96 # 3^2 9 18 36 72 # 3^3 27 54 # 3^4 81 # 3^5 # 3^12 531441 primes = Hash.new(0) q = [] sum_of_q = lambda{ sum = 0 last_exp3 = EXP3_UPPERBOUND q.each_with_index{|exp3,exp2| next if exp3 == last_exp3 sum += (1<<exp2) * 3**exp3 last_exp3 = exp3 } return sum } fill_q = lambda{ q.fill(q.last||EXP3_UPPERBOUND, q.length, EXP2_UPPERBOUND-q.length); } fill_q.call until q.empty? exp2, pow2 = q.length-1, 1<<(q.length-1) next q.pop if q[exp2] == 0 q[exp2], pow3 = q[exp2]-1, 3**(q[exp2]-1) sum = sum_of_q.call q[exp2], pow3, sum = q[exp2]-1, pow3/3, sum-(2*pow2*pow3/3) while 0 <= q[exp2] and UPPERBOUND <= sum next q.pop if q[exp2] < 0 primes[sum_of_q.call] += 1 fill_q.call end sum = 0 Prime.new.each{|pr| break if UPPERBOUND <= pr sum += pr if primes[pr] == 1 } p sum p Process.times #=> <struct Struct::Tms utime=25990.64, stime=150.806, cutime=0.0, cstime=0.0>