アレクサンドル・ユユスキーのブログ

ふぁぼんが適当なことを言うブログ

ロシア語でもアニソンやボカロが聴きたい人のためのリンク集

全国1.3億人のロシア語オタクのみなさん、こんにちは。この記事は、ロシア語でアニソンやボカロが聴きたい人のためのリンク集です。聴きまくってリスニング力を伸ばしましょう。(伸ばせるとは言っていない)

続きを読む

「すべてがFになる」感想

実はアニメ化以前に読んだことがあるんだけど、読み直してもやっぱり最高だった。

まず、タイトルの「すべてがFになる」がすごい。Fが何を意味するのかは最後の解説パートで明かされるんだけど、タイトル回収が鮮やかすぎて心臓が撃たれたような心地になった。あれは初回限定だし、ネタバレなしで読んで良かったと思う。ちなみに、数学や情報(プログラミング)の知識があると、解説される50ページ前で気付けるようになってる。もっとも、知識も興味もない人が説明を読んだところで「ふーん」の一言で済んでしまうかもしれないが。

あと、天才設定の真賀田四季が良かった。天才なんだからあれくらいぶっ飛んでくれないと楽しくない。ぶっ飛んでるし共感はできないけど、納得はできた。犀川先生は一般人だけど、人によってはぶっ飛んでるように見えるかも。そういう人は萌絵が一番共感できるんじゃないか。

ちなみに副題は"THE PERFECT INSIDER"で、シリーズ最終作「有限と微小のパン」の副題は"THE PERFECT OUTSIDER"と対になっている。

とにかく、最高なのでみんな読もう。

以下、犯人等のネタバレを含む。未読の人はネタバレされる前に読もう。

続きを読む

hontoで電子書籍レビューしてみた話

hontoで電子書籍デビューしてみた。買ったのはこの本。本自体の感想はまた別の記事で。

あの、一緒に戦争しませんか? (電撃文庫)

あの、一緒に戦争しませんか? (電撃文庫)

hontoの良いところ

クーポンのおかげで安い

今回のこの本、本来なら680円。それが、honto電子書籍ストアのお試しクーポンで500円引き。さらに、ポイント大量キャンペーンのおかげで26ポイントも付いて、実質154円。マネケンのワッフル1つと同じくらい。これはヤバイ。お試しクーポンは今後来ないだろうけど、20%オフとかコンスタントにクーポンが来るので多分安く本が買える。

hontoの残念なところ

読書に専用アプリが必要

おいお前ら! ストアごとにアプリを入れる、そんなのが電子書籍の未来だって言うんなら……その幻想をぶち殺す!

イラスト画質がちょっと良くない

参考までに、巻頭イラスト(キャラ紹介を兼ねたやつ)をちょっと拡大してみた画像を貼ってみる。

f:id:fabonya:20170809123954p:plain

文字が読めない……(いや、かろうじて読めるか)

ちなみに、他の挿絵は画質そんなに気にならなかった。文字が入ってないからだけど。

DRMがある

DRMがあると、サービスが潰れた時に別の端末で読んだりできない。お金を出して買ったのに読めなくなるなんて、ソシャゲより悪質だと思う。

とはいえ、プレイするのにいちいちネットワークが必要なソシャゲとは違う。買った本はネットに接続されていなくてもちゃんとした形で読めるのだから、サービス終了と共にサーバが消えてもまだ読めるような気はする。希望的観測だけど。

結論

電子書籍DRMなければもっと大っぴらに利用するんだけどなぁ……でも実際問題DRM廃止ってのは難しいんだろうなぁ……という気持ちです。
とりあえず、今後もメインは紙の本で。とりあえず安く手に入れて読みたいって場合は電子書籍かな。気に入ったらジュンク堂行って紙の本で買い直すと思う。

朝鮮中央通信Web版大解剖、或いは初めてRubyのgemを作った話

諸君 私は北朝鮮が好きだ
諸君 私は北朝鮮が好きだ
諸君 私は北朝鮮が大好きだ

とある少佐のスピーチより

人生で初めてRubyのgemを作りました。

github.com

北朝鮮公式のニュースサイトである朝鮮中央通信APIクライアントです。gem install kcnaとかでインストールできます。
人生初のgemがこんなアレな代物ってことに思う所が無いわけではありませんが、楽しかったから良し。

経緯

全国推定3億人の北朝鮮趣味者のみなさん、こんにちは。私は今日も首領様を讃える音楽を聴いております。北朝鮮の音楽はいいぞ。

さて、日本人なら1度くらいは誰しも北朝鮮の仰々しい日本語を真似したことがあるでしょう。「定期考査をこの学校から永遠に一掃することを誓う」とか。共産趣味者はみんな「同志スターリン」とか「万国のプロレタリアート団結せよ」とか言ってますが、それの北朝鮮版です。
しかし、私はプログラマです。自分で北朝鮮の語録を使うだけでは物足りません。もし北朝鮮の日本語のデータベースがあれば、使い古された人工無脳の要領でそれっぽい日本語を生成できるだろう。そんなことを考えた私は、北朝鮮の日本語データベースに着手しました。

まず、初めに朝鮮中央テレビの字幕を採取することを考えました。リプライに使える朝鮮中央通信画像botとかで流れてくるアレです。しかし、調べていくうちに残念なことがわかりました。あの画像群はどうやらとあるYouTubeチャンネルの中の人が付けたもののようです。

www.youtube.com

このチャンネルの動画以外に、あのような字幕付きの動画が一切見当たらなかったので、間違いなさそうです。別にこのチャンネルの字幕を文字起こししても良かったのですが、これは北朝鮮公式の字幕ではないので、目的と照らし合わせればちょっと残念です。

北朝鮮の公式の機関が書いた日本語を探すと、ありました。朝鮮中央通信Web版です。

朝鮮中央通信と検索すると、http://kcna.co.jpが出てくると思いますが、そちらではありません。http://kcna.kpです。.kpドメインのサイトは初めて見ました。あとアクセスは自己責任で。普通に閲覧するだけなら特に問題は起きないと思うけど、マルウェアが置いてあったりはします。

gigazine.net

というわけで、このサイトをスクレイピングなりなんなりしてデータを取ってこようと決意したわけです。

朝鮮中央通信大解剖

さて、このサイトの使い方を調べてみましょう。もちろん開発者ツールのネットワークタブを監視しながら。

まず、トップページから適当な記事のリンク(実はリンクじゃない。後述)を踏むと、こんな画面になります。

f:id:fabonya:20170710211242p:plain

次のリストに移る青い矢印をクリックすればXHRでデータを取ってきて遷移してくれます。つまり、APIの仕様がまるわかりです。右上の謎リボンみたいなのは記事絞り込みツールです。絞り込んだ状態で矢印をクリックすると、APIのパラメータの仕様がよくわかります。

とにかく、いろんなページを渡り歩き、いろんなボタンを押しながらネットワークアクセスを監視しました。そうすればどのURLにどんなデータを送りつけるとどんなレスポンスが帰ってくるかがだいたいわかりました。

さて、このサイト、いろいろツッコミどころが満載です。主体(チュチェ)プログラミングの成果でしょうか。拡張子がkcmsfなのもちょっと変ですけど、それだけじゃありません。

まず、中途半端にJSを使っているせいで記事のパーマリンクがないという事態に。まぁTwitterでシェアなんて概念はあっちにないだろうから仕方ないのかも。

となれば、当然JSからXHRでアクセスするためのAPIみたいなのが存在するが、GETにすべきところも全てPOST。APIだけでなく、ページ遷移も全てPOST。ハイパーリンクなんてものはない。リンクに見えるものも、実はクリックするとJSが発動してPOSTで遷移するようになってます。いやマジでなんでや。北朝鮮特有の事情による要請なんだろうか。

ところで、POSTにおけるリダイレクトはいろいろ仕様と実装が混沌としていますが、307だと大抵のブラウザでもPOSTで再送信という挙動を示しますし、仕様にもそう明記されています。だからといって、しばらく通信してないと初回は307 Temporary Redirectが飛んでくる仕様は如何なものか。しかも飛ばされた先は同じURLですよ。もう一度POSTで同じところへ送れってことなんでしょうね。これもチュチェ工学による要請なんだろう。(諦め)

さて、スクレイピングするまでもなくAPIを叩けば記事のデータが手に入ります。しかし、XHRで取ってきたHTMLの断片をinnerHTMLで突っ込む実装なので、

<nobr><strong><font style='font-size:18pt;'>金正恩</font></strong></nobr>党委員長
みたいな文字列が平気で紛れ込んでます。セキュリティも何もあったもんじゃねぇな。さすが北朝鮮
というわけで、そこらへんを適当に変換してやるとプレーンテキストが得られます。

gemの実装

まず、set-cookieをちゃんと扱えるHTTPクライアントが必要です。今回はhttpclientを使いました。

github.com

XMLのパースには標準のREXMLを使いました。これくらいのことでNokogiri導入して消耗する必要はないからね。(気になる人は「nokogiri インストール」で検索してみよう。インストールに四苦八苦する先人の姿が見えます)

他に難しいことは特にありません。コードを適当に書けばそれっぽいのができます。

最後に

なんでもチュチェチュチェ言ってれば許されると思うなよ、北朝鮮同志(エンジニア)諸君!

「科学の発見」感想

電弱統一理論ノーベル物理学賞を受賞したスティーヴン・ワインバーグ教授が書いた科学史の本。古代ギリシャからニュートンまでの科学の歩みが書かれていて面白い。

科学の発見

科学の発見

過去を現在の基準で裁定する「不遜な歴史書」とは言っているが、個人的にはそんなに問題だとは思わなかった。確かにホイッグ史観はよろしくないとは思うが、ニュートンの方がアリストテレスより世界を理解していたというのは明らかだろうし。そもそも、この本の目的は過去の偉人たちの間違いを取り上げて彼らを糾弾することではなく、現代の科学の方法論を発見するのがいかに難しかったかを過去と比較して明らかにすることであろう。

また、後ろに付いてくるテクニカルノートが素晴らしい。様々な説や発見の数学的・科学的背景について現代の視点から述べたもので、内容が非常に充実している。

ただ、本の前袖(表紙カバーの内側に折れてる部分)に「化学、生物学などは二等の科学だ」とあるのは非常にダメだと思う。本文のどこを読んでも、こんなことは主張されていない。この言葉を追加した出版社の人間はタコ殴りされても許されるのではないか。

太陽系の解明

この本の山場はいくつかあるが、その1つは太陽系が解明されるまでの一連の流れだろう。

古来から、惑うように運行する惑星の動きは難題だった。

プトレマイオス以前、宇宙の構造を説明する理論としてアリストテレスの同心天球説が存在したが、これは観測と合わない点が多かった。そこで、プトレマイオスは周転円と離心円、エカントという概念を導入した。また、モデルにパラメータを導入し、パラメータの値を観測結果に合わせて決めることで観測結果と概ね一致させることに成功した。このあたりの理屈は理解していないので詳細は省くが、この部分のテクニカルノートは相当詳しくて勉強になる。モデルのパラメータという概念は非常に現代的で、プトレマイオスはすごいと思う。

相当複雑なプトレマイオスの理論は、それでもなお観測結果に合わなかった。これは別に天動説の欠陥というわけではなく、地動説を主張したコペルニクスも同様の問題に悩んだらしい。コペルニクスは太陽を中心とすることでプトレマイオス説の不自然な仮定(ファインチューニング)を排除することには成功したが、観測結果とのズレの問題は解消されなかった。天体の軌道が円である、という前提自体が間違っていたから致し方ない。

いずれにせよ、筆者はプトレマイオスを高く評価している。別に間違っているかは論点ではなく、その研究姿勢が科学的だからだろう。

ティコ・ブラーエは「すべての惑星は太陽の周りを回っているが、その太陽は地球の周りを回っている」という説を唱えた。これは地動説を地球中心で見たのと多分変わらないと思う。彼は精密な観測記録を残した。この時代望遠鏡はなかったから、全て肉眼でということになる。恐ろしや。

ケプラーはティコ・ブラーエの観測データを元に天体の軌道が楕円であると考え、ケプラーの法則を打ち立てた。彼のモデルは非常に単純明快であった。エカントだの離心円だのを導入せずに済むからだ。また、観測データともよく合った。そりゃ正しいんだから当然なんだけど。

ガリレオは望遠鏡による観測で、地動説が有利となる証拠を提示した。最終的にニュートンが運動の法則と万有引力の法則を確立し、その結果天動説は葬られた。たくさんの人々の研究の積み重ねが科学なのだから、これは真に科学の勝利といえるだろう。(唐突)

まとめ

いい本でした。

Twitterの丸いUIを元に戻すFirefox拡張機能作った

先日、TwitterのUIが変わったのは記憶に新しいところです。Twitterはアップデートのたびに不満が噴出しまくるのが常ですが、今回の変更に関してはそんなにクソだとは思っていません。文字が太すぎる部分があるのは微妙だと思いますが、そのうち慣れると思います。というかUIどうこうする前に検索で名前にキーワードが含まれているユーザーのツイート全部引っかかるクソ仕様どうにかしろks

しかし、唯一受け入れられないのは、丸いアイコンです。これだけは、ちょっと受け入れられません。というわけで、拡張機能作りました。狐使いなのでFirefox版のみです。

addons.mozilla.org

Chromeとかの人はStylishとか使ってstyle.cssの内容をぶち込んでください。

github.com

やってることは簡単で、単にborder-radiusを以前の値に戻しているだけです。ツイートボックス周りはborder-radius以外にも多少調整していますが。今はA/Bテスト中なのか、body要素のedge-designクラスを外すと以前のデザインに戻るようになっているため、以前の値を調べるのは簡単でした。

ちなみに、このスタイルシートはTweetDeckにも適用できます。拡張機能をインストールすると自動的にTweetDeckにも適用される仕組みです。Chromeとかの人は手動でやってね。

ステラのまほう プログラミングネタまとめ(5巻まで)

最近、Twitterステラのまほうを布教されたので買ってみたのですが、最高でした。文章を書くのは結構疲れるので、感想は気が乗ったら書きます。ちなみに、キャラの中では村上椎奈が一番好きです。ネガティブなところとか最高です。

さて、ステラのまほうプログラマ向けの素晴らしいマンガです。プログラミング以外にも絵や音楽、小説などをやったことがある人ならより楽しめます。そうでない人でも楽しめますが。
作者のくろば・U先生は絵が描けてプログラミングもできるすごい人で、作品にもプログラミングの知識や小ネタが散らばっています。そんな小ネタを解説したり、プログラマ目線の感想を垂れ流したりするのがこの記事の目的です。
画像は付いていませんので、どんなシーンなのか気になった方は原作を買いましょう。この記事を読んでる人なら後悔はしないでしょう。

以下、一応ネタバレ注意。

続きを読む