ブログ記事から改行を消した

はてなブログで記事を書くとき、書きやすさや原稿の読みやすさのために 適当な位置で改行を入れると思うのですが、 それらが残ったまま出力されることに気付きました。

HTML中の改行やタブの並びは基本的には半角スペース1個に変換されて表示されます。 そのため、改行の位置によっては変に間延びした文章が見られることがあると思います。 このようなことが問題となるよくある例としては、次のようなHTMLを記述して微妙なデザイン崩れを引き起こす、といったものが挙げられます。

<ul>
  <li>HTML中のインデントや改行が</li>
  <li>このリストの表示を微妙にずらしてしまう</li>
  <li>問題がよく見られます</li>
</ul>

そこで、場当たり的ですが、はてなブログ[ 設定 ] -> [ 詳細設定 ]からheadタグ中に 次のJavaScriptが展開されるようにして、ブログ中の改行を取り除くようにしました。

処理効率(中身を見ないでreplace)とか色々怪しいところが満載なので、 こうした方がいいよ、という意見がありましたらコメント等で教えていただけると幸いです。

<script>
(function(){
  document.addEventListener("DOMContentLoaded", function(){
    // 記事中に残る不要な改行を取り除く
    var target_p_tags = document.querySelectorAll(".entry-content p");

    for (var i = 0; i < target_p_tags.length; ++i) {
      var target_p = target_p_tags[i];
      var children = target_p.childNodes;

      for (var j = 0; j < children.length; ++j) {
        var child = children[j];

        // 子要素となるDOMは対象外とする
        if (child.nodeName === "#text") {
          var original_text = child.textContent;
          child.textContent = original_text.replace(/\r?\n/g, '');
        }
      }
    }
  });
})();
</script>

Kindle Fire(第5世代)を買っちゃった&色々設定した

先月すべりこみでAmazon Studentの無料体験に登録したのですが、体験を含む会員向けの4,000円引きクーポンに釣られてKindle Fire(第5世代、以下Kindleと表記)を買っちまいました。

Fire タブレット 8GB、ブラック

Fire タブレット 8GB、ブラック

色々使ってみて、よそでも言われているようにこの価格でこの性能は非常に素晴らしいです。

さて、買ったあと色々と設定したので、メモ代わりに残しておきます。

Google Playを突っ込む

KindleのベースOSがAndroidで、Google Playと関連アプリを入れれば色々Android向けアプリが使えることは有名な話です。そこで、やり方をググってみると、どっかの怪しいサードパーティ製のツール使ってadb経由で入れる方法とか手元のAndroid端末からapkを抽出してインストールするなどの方法が出てきました。

手元の端末から抽出

そこで、まずは手元の端末からapkを抽出してインストール……、しようとしましたが失敗しました。 原因として思いつくのはAndroidのバージョンです。手元の端末が4.1.2に対してKindleは5.1です。 参考文献では4.2のものから成功したようですが、状況が変わったのですかね?

Factory Imageから抽出

そこで、別の方法を探してみたところ、Nexus系等を工場出荷時に戻したり無理やりバージョンアップさせたりするための Factory Imageからapkを抽出して適用するという方法が見つかりました。 これを適用したところ、無事に導入できました。

Factory Imageのダウンロード

公式のページから対応しそうなやつを見繕ってダウンロードします。

developers.google.com

今回は端末のサイズや通信方法などが近いもの(razor-LMY48T)をダウンロードしました。 めっちゃ重い(492MB)ので気長に待ちます。

Image Fileの変換

ダウンロードしたファイルを解凍すると、工場出荷時に戻すためのバッチファイルとイメージファイルのzipが得られるので、さらに解凍します。 すると、いくつかのImage Fileが得られるのですが、このうちのsystem.imgの中にapkが入っています。

さっそく開こうと思ったのですが、開けず。それは自明なことで、Androidファイルシステム向けのイメージになっています。 そこで、ext4のイメージファイルへと変換させます。

github.com

使い方はReadMeにある通りです。じっくり待つと変換されたimgファイルが生成されます。

最後はこのimgファイルをマウントして、目的のapkを取得し、以下の順にインストールすれば完了です。

  1. Googleアカウントマネージャー(/priv-app/GoogleLoginService/GoogleLoginService.apk)
  2. Google Play開発者サービス(/priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk)
  3. Googleサービスフレームワーク(/priv-app/GoogleServicesFramework/GoogleServicesFramework.apk)
  4. Google Playストア(/priv-app/Phonesky/Phonesky.apk)

無料の電子書籍を突っ込む

KindleをPCと繋いで、/Books/に電子書籍を置くと認識されるとヘルプにありました。

Amazon.co.jp ヘルプ: コンピュータからKindle Fireへコンテンツを転送する

そこで、以下で紹介されている無料電子書籍のいくつかをkindle向けのmobi形式でダウンロードしてみたのですが、どうにもライブラリ上に表示されません。

qiita.com

調べてみると、mobi形式でも特定のタグ情報が追加されてないといけない? とのことでした。 そこで、Calibreという電子書籍自炊勢にはお馴染みのソフトを使って変換したものを配置してみることにしたところ、 無事、ライブラリに表示されるようになりました。

なお、Send to Kindle for PCというものをインストールしてみたのですが、なぜかログインできなかったため こちらは使えませんでした。ただ、こちらは一度Amazonのサーバに電子書籍を送信するので、今回採用した方法よりもはるかに時間がかかることが想定されます。

参考文献

TAPL勉強会 1回目

友人宅で行われた、友人主催のTAPL(Types and Programming Language)の勉強会に行ってきました。

Types and Programming Languages

Types and Programming Languages

日本語訳は
型システム入門 −プログラミング言語と型の理論−

型システム入門 −プログラミング言語と型の理論−

  • 作者: Benjamin C. Pierce,住井英二郎,遠藤侑介,酒井政裕,今井敬吾,黒木裕介,今井宜洋,才川隆文,今井健男
  • 出版社/メーカー: オーム社
  • 発売日: 2013/03/26
  • メディア: 単行本(ソフトカバー)
  • クリック: 68回
  • この商品を含むブログ (11件) を見る

今日は1章から3章までの範囲で型云々はまだ出てきませんが、 早くもその内容の難しさをヒシヒシと感じました。 ゼミや講義で多少関数型言語の勉強をしていたので、 今回の内容についてはある程度太刀打ちできましたが、 今後の内容を理解できるかが若干不安です。

印刷物で失敗した話

先日、Adobe Acrobat Reader DCからPDFファイルを印刷して提出したら、 「印刷物が薄くて読みにくい」とお叱りを受けた。

確認や配慮が足りなかったと反省しつつ問題を確認してたら、こんなところにチェックがついていたことを見落としてた。

f:id:e8l:20160205215420p:plain

チェックを外したところ、見違えるくらい濃くなった。 ずっとこのチェックがついていたらしく、お叱りを受けた印刷結果が通常だと思い込んでいたけど、世界が変わった。 感じとしては、6ウェイトぐらいあるフォントを使ってたときに、LightからMediumに変更した感じで濃くなった。 あるいは、#666くらいの文字色が#111くらいになった感じで濃くなった。

以後、気をつけます。

あけましておめでとうございます

年が明けましたね。

これから対外発表とか修論提出とかが待ち構えていますし、 4月からは社会人になるので、 今年は色んな意味で「生き残っていきたい」と思います。

本年もよろしくお願いします。

ラズパイでELECOM WDC-150SU2MをAPにはできなかった

買ったもののほこりかぶって使ってなかったラズパイを活用しようと思い、 無線LAN中継器的なものを作ろうとしたのですが、 安さに惹かれて適当に買ってきた無線LAN子機との相性が悪くて苦労しました。

買ったのはタイトルにある通り、ELECOMのWDC-150SU2M。

www.amazon.co.jp

で、ネットを調べると多々ある通り、ラズパイとは相性が悪く使うの面倒だった上、 本来の目的であるAPとしての利用ができなかったので悲しみに包まれました。

そこで、仕方なく従来使ってた無線LANコンバータ (旧型のラズパイ*1を使っているため、LANポートを有効活用させている)の方をAP化することで なんとかできました。 AP機能つけてくれれてありがとう、無線LANコンバータ。

最後に、備忘録をつけて終わります。

rpi-update

ラズパイの標準?OSのRaspbianとかファームウェアとかを更新してくれるコマンドらしいのだけど、 ラズパイ2から付属するようになったのかな? という感じで旧型のラズパイにはなかった。 けれどもapt-getでふつーにインストールできてふつーにアップデートできました。

$ sudo apt-get update
$ sudo apt-get install rpi-update
$ sudo rpi-update

WDC-150SU2Mのドライバについて

これを拾ってくるのが大変だった。

参考にしたのは以下の記事。

qiita.com

ラズパイ2とありますが旧型のラズパイでも使えます。 上の記事にもある通り、検索すると先に引っかかる方のやり方では 認識しない……、というか僕の環境ではカーネルパニックかなにかを起こして再起動を余儀なくされました。

ただ、こっちもちょっとした罠があって苦労しました……。

有志の方が2013年に最初に公開してから執筆現在に至るまで、 日々Raspbianのバージョンに合わせたドライバをせっせと作って公開してくださっていて 非常にありがたいのですが、ときどきファイル名が間違っていることがあるようで……。

僕の環境(uname -aの結果)は「4.1.15+ #830」なので、 「8188eu-20151215.tar.gz」をダウンロードしてくれとのことだったのですが、 実際には「8188eu-20151216.tar.gz」じゃないとファイルが存在しないためダウンロードできず……。

もしかしたら、他にもある可能性があるので、チェックするといいかも知れません。

hostapd.confのdriver設定について

まあ、APとして使えないので意味のない情報なんですけど、 上記ドライバを入れたときは、

driver=nl80211

で使えます。 サードパーティ製のhostapdを使ってdriver=rtl871xdrvを有効にしたときと比べても、 ちゃんと動いている印象です。

*1:Model B

緑内障の検査が怖いという話

視野検査は怖くないです。 光っているのが見えたらボタンポチポチするだけなんで。

だけど、網膜や視神経の異常とか眼圧測定とかがめっちゃ怖いです。

単純に目医者が苦手というか 目の周りをいじられるのが苦手という話なんですけど、 めっちゃ怖いです

そもそも、コンタクトレンズはおろか、目に入ったまつ毛を取れないくらいなので厳しいです。

眼圧検査は2種類あるんですけど、風の方はまだいいです。 だけど、注射器みたいな水鉄砲で空気を出すくらいの強さの風をプッと目に当てられるのでめっちゃビビります。 直接測定は地獄です。 目薬さされるので、痛みとかまつ毛が入ったときのように痛いとかそういうのは抑えられてるのですが、 迫り来る装置が目を押すというだけで恐怖ビンビンです。

網膜とかも、一般的な光当てられて覗かれるのはいいです。 1回だけ、コンタクトレンズのようにレンズを目に当てられて網膜を見るというのをされたときは 非常に厳しかったです。

緑内障が見つかった話

まだ24なんですけど、緑内障と診断されました。

なんか急に右目がチカチカして、 太陽光などの強い光を見たときに感じるボヤーッってしたものがずっと取れないので目医者いったところ、 色々と検査をした結果緑内障があることが分かりました。

なんか当初の診察の目的だった症状はドライアイとか疲れ目とかで、だんだん治ってきたんですけど、 右目だけじゃなくて左目ともに同じように緑内障があるらしいです。 あと眼圧は正常値らしいです。

右目はなんとなく視野がかけてる感じが分かる (どっか1点を片目でボーっと見てると、あるはずのものが見えないというか強くボケてるというか)のですが、 両目とも、しかも同じパターンでなってるとは思いもよりませんでした。

近日中に近場の目医者さんで治療を開始(症状が重くならないように眼圧を下げる目薬を死ぬまで? 点眼し続ける)の予定です。

PCというものに初めて触れてから、目を酷使する生活を続けて10年は経っていますが、いやはや。 なんというか、僕らみたいな起床時間の大半を画面覗いてる人種は、気をつけてた方がいいですね。