Audibleはじめました他

最近良きにつけ悪きにつけ、オーディブルについての話題を目にするようになった気がする。かくいう僕も、12月にAmazonからAudible商品を買ってみたのだ。Audibleは一月あたり1500円の支払いが必要なサービスではあるが、毎月コインと呼ばれる購入権を与えられ、好きな商品をダウンロードできる。要するに毎月一冊、1500円で購入することになる。はじめてダウンロードしたのは「サピエンス全史(上巻)」で、1月のコインでは下巻を買った。
さて、それ出来になるのは耳で聴く本が果たしてどうかという点だろう。よく、日本でAudibleが流行らないのは日本語が聴くよりも目で見るのに適した言語であるからという説を聞く。自分も漠然とそう思っていたが、実際に聞き始めてみると案外集中して聴けることに気づいた。通常の読書の方が定着率はまだ良さそうだが、メリットがその不都合を上回るくらいのところにはある感じ。何が良いかというと、単純に目を使わないで本を読める点。自分は目が疲れやすいのでこれは非常に助かる。電気を消した寝室で聴ける、揺れる電車で本を凝視しないで済む、洗い物や掃除をしながら読書ができる。これはなかなか斬新で気に入っている。

サピエンス全史は、下巻から急激に面白くなった。最近読んだ面白い本は他には、吉田洋一「零の発見」がある。位取り記法がいかに革命的であり、算盤の改良によりその発明に迫りながら長い時間を必要とした不連続な改良であったかということは現代の我々には感じづらい。同じような題材を扱っている「小数と対数の発見」も読み進めているが、やはり非常に興味深い。10進小数の発見に至るまでに、主に貨幣や度量衡の分野において合理的でない多くの進数表記が登場し蔓延った。ヨーロッパ世界に10進小数が伝わったのは12世紀のことであったが(一つの伝達経路はかのフィボナッチだった)、ラヴォアジエの近代化学の夜明け時代に至ってももなお浸透してはいなかった。ラヴォアジエは10進小数表記がいかに化学研究を容易にするか書き残しているが、それがようやく実現されたのは皮肉にも彼が処刑され、メートル法が導入されてからだったらしい。山本氏の科学史に関する著書は多く読んでいるが、一次的、二次的にかかわらない圧倒的な調査量に圧倒される。自分の科学史観が山本氏のものに寄ってきているのを実感する。

小数と対数の発見

小数と対数の発見

高橋秀俊の物理学講義を職場で昼休みに毎週輪読している。輪読を続けていて気づいたことがある。
この本は文庫だが、難しい。難しさにもいろいろあるが、この本の場合要求される基礎知識の多さ、計算の行間のまあまあの広さ(式変形は頭の中ではできないくらい。たまに数学的にちょっとした道具を使う必要がある場合もある。)だろう。それから、「さらっと書いてあるが、実は深い物理が含まれている」という箇所もあり、本全体を通した素っ気無い文体がかえって難しさの一因になっていると思う。
しかし読めば発見のある本である。当然ながらこれが書かれた時点から今までの間に物理研究に進展があったので、今あらためて読んでいると面白い課題が見つかりそうな気がしてくる。

TeXworksテーマ設定

家でTeXShopを使っているが、配色変更は環境設定から簡単にできる。
職場ではWindows状でTeXworksを使っているのだが、こちらはTeXShopと違い配色設定がパッと見できない。しかし調べてみると方法はあるようなので、備忘録的に記録しておこうと思う。

基本背景色と平文の配色

まず、基本背景色と平文の配色を設定する。これはTeXworksの実行ファイルと同じディレクトリに、色を設定したCSSファイルを設置することで行う。たとえば"user.css"などと名前のファイルを作り、内容を

QTextEdit {
background-color: #41465A;
color: #F5F5F5;
}

などとする。色の指定にはhex colorコードが使える。TeX worksの起動時にこのcssファイルを読み込ませなくてはならない。一つの方法は、コマンドプロンプトで"TeXworks -stylesheet=[user.cssのパス]"と指定することだ。バッチファイルを作っても良いが、もう少し楽なのはTeXworkのショートカットを開いた時の挙動として設定してしまう方法だ。TeXworksのショートカットを作成し右クリックでプロパティを編集する。リンク先に上記のオプション付きリンクを設定すればよく、これでショートカット経由の起動時にはスタイルシートが適用される。.texファイルをダブルクリックで開くと、設定した配色が設定されないので気に留めておく必要がある。

シンタックスハイライト配色

次に文法のマークアップ配色を設定する。こちらは設定ファイルが用意されているのでそれを編集すればOK。設定するべきファイルは"syntax-pattern.txt"という名称だが、ディスクのどこに置かれているかは環境に依存すると思われる。自分の場合はC:\user\ユーザー名以下に見つけることができた。
ファイルをメモ帳で開くとデフォルトの配色が記録されているので、あとは好きな色に変えれば良い。ファイルのヘッダ部に編集規則が書かれているのでよく読む。こちらもhex color指定ができるが、行頭に#をおくとコメントアウトされてしまうため、hex codeで指定する場合には行頭に半角スペースが一ついる。

Macbook Proで外付けHD使用時に発生していた無線LAN接続障害が解決した

問題の概要

MacBookProにBUFFALO製の外付けHDD

を取り付けたところ、wifi接続が切れてしまった。HDを接続した瞬間に通信が停止してしまう。
症状からHDDの動作ノイズがwifiと干渉を起こしているのではないかと思われた。解決策としてwifiの利用帯域を2.4 GHz帯から5 GHz帯へ切り替えることが考えられるが、使用していたLogitecのwifiルータにはそのような機能がなかった。

解決法

wifiルータを買い換えた。
www.aterm.jp
結果として非常に快適になった。不思議なことに、このルータを使用するとIEEE802.11g(2.4 GHz)でもHDDとwifiが両立した。電波強度的なあれだろうか。不思議ですね。

AtCoder AGC 34A

atcoder.jp

ハマったのでメモ。
ハマりの理由はlower_boundの戻り値に関する誤解だった。

cpprefjp.github.io

lower_boundは指定した値「以上」の値を表す最初のイテレータを返す。「以上」でなく「より大きい」だと思っていたためハマった。
色々試しているうちに思いがけずテストケースが不十分ではないだろうか?と思い始めた。"Yes"を出力しなくてはならないケースにおいて"No"を出力する「ニセ解法」プログラムにも関わらず、ACが出てしまう場合がある気がする。例えば "AC##BD"のようにA-CとB-Dが厚い壁で分離されている場合、"##"がA-D間にあるか否かで遷移の可否を判断すると誤った解答を出力してしまうが、上のジャッジではそのようなケースがないらしくACが出る。もうすでに指摘済みなんだろうか。

Codeforces Round #576 div 2

Cでハマった。

Problem - C - Codeforces

問題を誤読したこともあり、以下のようにたくさんミスをした。

1. 問題を誤読。1音あたり、連続する8 * I / nに収まる強度領域(intensity)を答えるものと思ってしまった。v[r] - v[l]を使って尺取り法をしてしまった。
2. また誤読し、連続しない強度を全て含めてしまった。つまりv[n]に頻度を収納してsortしてしまっていた。
3. 正しくr-lを使って尺取り法をした。しかし自前で定義した指数関数でオーバーフロー。
4. 1 << 8 * I / nとするもオーバーフロー。1llとしてようやく回避。

こういうの慣れるとマシになるんだろうか。