| @雑談

風呂 Kindle

Kindleまた水没した - hitode909の日記

風呂 Kindle 、たまにやるけど水没させたことない。前はジップロックに入れてたけど最近は入れなくなった。ジップロック、繰り返し使ってると角から破れて水が入ってることあるし、脱衣所に置いておくといつの間にかなくなってる。風呂 Kindle で水没を防ぐためには風呂蓋が肝要な気がする。蓋があればそこに手を置いて使えるので、手が疲れたり眠くなったりして湯船に落とすの避けられる。蓋の上にはバスタオルを敷いて、 Kindle 使うときは必ず手を拭いてから使うとより良い。ちなみに僕は4年前に 7800 円で買った初代ペーパーホワイトをまだ使っています。最近のは高すぎて水没させても買い換えられないので緊張感が生まれているのだと思う。

風呂蓋が分厚すぎて手を乗せると腕が肩の位置より少し高くなり結構疲れるのが最近の悩みです。

| @技術/プログラミング

糸島の海

自作の Lokka プラグインに Amazon の Product Advertising API に問い合わせてアフィリエイトリンク付きの商品画像を返すやつがある。 Amazon 上の商品管理番号を <!-- ASIN=XXXXXXXX --> みたいな感じで本文中に書いとくと良い感じに小銭を稼げるかたちのリンクにして画像を表示してくれるという便利なやつ。

Amazon の規約上、 Amazon Product Advertising API に対しては一秒間に一リクエストしか送ってはいけないことになってるので、データを取得する度に 1 秒 sleep するようにしていたけど、一ページ内で複数のリンクがあるときにキャッシュがエクスパイアして Amazon の API を叩くとめっちゃレスポンス遅くなってださかったので非同期で取るようにした。ページコンテンツ本体はサクッと返して、商品情報などの取得はページがレンダリングされたあとに JavaScript で行う。 Amazon から JSON を取ってくる処理自体は Ruby にやらせる。

+----------+            +----------------+             +--------------------------------+
|          | +--------> |                | +---------> |                                |
|  client  |            |  Ruby (Lokka)  |             | Amazon Product Advertising API |
|          | <--------+ |                | <---------+ |                                |
+----------+            +----------------+             +--------------------------------+

最初は雑に body の innerHTML を正規表現で replace したりしてたんだけど、そうすると Twitter のウィジェットなど本文内に埋め込んである script タグが動かなくなる問題に気がついた。 HTML 5 の仕様で、 innerHTML = で挿入されたコンテンツの script タグは無視されるらしい。なるほど〜。

ということでもうちょい調べたら DOM には Node.nodeType というプロパティがあって、COMMENT_NODE など type を持っているらしい。

<!-- ASIN=XXXXXXXX -->COMMENT_NODE として扱われるので、こいつの後ろに document.createElementして JavaScript で動的に生成された要素を突っ込むようにした。 Promise を使ってナウでヤングな感じに書いた。

let promise = new Promise(function(resolve, reject) {
  request.open('GET', url);
  request.onreadystatechange = function() {
    if (request.readyState != 4) {
      // リクエスト中
    } else if (request.status != 200) {
      // 失敗
      reject(request.response);
    } else {
      // 取得成功
      let formatter = new Formatter(request.response);
      let result = formatter.formatItem();
      resolve(result);
    }
  };
  request.send();
});
promise.then(function(result) {
  let previous = node.previousSibling;
  let parent = node.parentNode;
  let d = document.createElement('div');
  d.className = 'amazon';
  d.innerHTML = result;
  parent.insertBefore(d, previous.nextSibling);
}).catch(function(error) {
  console.log(error);
});
return promise;

意地でも jQuery 使うまいと思ってやってみたけど意外と大丈夫だった。楽をせずに素の JavaScript を書いていると精神が浄化されるような感覚があってよい。写経に通じるものがある。写経やったことないけど。

| @散財

先日買った Weber コンパクトケトル の感想。

ワンタッチケトルと勘違いしてコンパクトグリルの方を購入してしまっていた。

簡単なバーベキューをする分には問題ないが、グリルの深さが浅いため空気の量が不足し、温度はあまり上がらないみたい。ステーキ肉を焼いてみた限りだと火力に不足はなかったが、コストコで売ってるような巨大な塊肉をローストするのには向かないっぽい。

見た目に関しても、リンゴのような丸みのワンタッチケトルの方がエレガントに見える。近所のバーベキュー屋や金持ちの家にあるのはそれで、買ったけど何かださいなぁ、思ってたのと違うなぁと感じてたけど、似た別の製品を買っていたということだった。

加えてなによりも大きいのが灰を掻き出すシステムの違いだ。こちらは排出フィンの取っ手が本体下部に付いているため、開け閉め時に耐熱手袋をつけなければならない(初めて使ったとき勝手がわからず手を火傷してしまった)。ワンタッチケトルの方は長さのあるレバーが付いていて素手でもフィンの切り替えができる。便利極まりなさそう。

さらにフィンの形状がコンパクトケトルに比べてより積極的に灰を掻き出すような構造になっており、ただ穴が開いたり閉じたりするだけのコンパクトケトルとは構造が異なる。穴が空いているだけだと底に溜まった灰を掻き出すことが難しい。掻き出し機構とセットになっているフィンは相当便利だと思う。

コンパクトグリルは名称にコンパクトと付いているが結構大きく保存場所はとるし、組み立ててしまった後では解体は難しくキャンプに持ち出せるようなメリットもない。値段もほとんど差がないのでどうせ買うならワンタッチケトルの方がよいと思う。自分はヨドバシでワンタッチケトルより少し安く売られているためコンパクトケトルを買ってしまったけど、 Amazon だったらワンタッチケトルでも同じくらいの値段で買える。

| @Mac/iPhone

アウトライン・プロセッシング入門を読んだ

『アウトライン・プロセッシング入門』という本を読んでみたら意外とよかったのでアウトラインとアウトライナーについて思っていることを書きます。

読んだきっかけ

WorkFlowy というアウトライナーについて調べてたらよく紹介されていたので読んでみた。 WorkFlowy というのはウェブベースのアウトライナー。 Google で「 WorkFlowy 」で検索すると Evernote でライフハックしまくりお父さんみたいな人たちが群生してる様子が観察できる。犬のえさやりタスクや子どもを公園で遊ばせる予定などをどうやってクラウドで管理するかみたいなことをアツく語っている。

良かったところ

アウトライナーの使い方を見直した。最近の自分のアウトライナーの使い方は間違っていた。

アウトライナーとは

文章の概要・目次を書くために使うものというのが一般的な理解。文章を箇条書きにして書くことができる。箇条書きにした内容を入れ子にしたり、順番を並べ替えたりできる。しかし概要や目次の作成だけにアウトライナーを使うのはもったいない、というのが本書の趣旨。

自分のアウトライナーの使い方

以前はよくアウトライナーを利用していたが、最近はあまり使わなくなってしまった。暇だったためブログの記事を書くのに時間を割くことができたので、アウトライナーで入念に内容を練ってから書くようなことをしていた。ブログに投稿する直前までアウトライナーで書いていたので、書きながらつながりのおかしいところがあると文章を入れ替えたり見出しを付け替えたりが楽だった。

最近

職業プログラマーになって Vim を使うようになり、 Vim で書くのが一番速く書けるようになった。何でも Vim で書くようになり、アウトライナーは最初のアウトラインを考えるときだけ使うようになった。このようなスタイルではアウトラインが最初に固定されてしまい、つながりが不自然なところがあってもそのまま突き進むしかなく、文章を書いていて何とも言い表しようのない息苦しさがあった。1

アウトラインはどんどん変わっていくべき

アウトラインは決して不変なものではなく、文章を書いていてアウトラインが修正されていくのはよいことだといえる。アウトラインを修正しながら本文を書いて行くことができるのがアウトライナーのメリット。雑に書き出された断片的な内容を「シェイク」という過程で並び替え、論旨を整えていくプロセスが良い文章を書く上で重要。最初のアウトラインの作成にだけアウトライナーを使うのはアウトライナーのメリットを享受できずもったいない。アウトラインを先に作ってからの文章作成はウォータフォール型の開発に似ていると思う。アウトライナーで最初から最後まで書くのはアジャイル型の開発に似ている。小さく区切って作業を進め、こまめに振り返り、変化に対応することで良い成果物=読みやすい文章ができあがる。

アウトライナーで最初から最後まで書くことの問題点

アウトライナーで書けば万事オッケーかと言われるとそうとも限らない。書き終わった文書の管理が問題となる。

いま

memolist.vim で書いて Day One.app に保存している。 Terminal で grep するか Day One の検索窓で検索すると必ず目的のものにたどり着ける。

アウトライナーで文書作成

個々のファイルに内容が分断してしまう。こうなると検索しづらく、参照性が低い(「ファイルの壁」問題)。ただ一部のアウトライナーはこの問題に対応している(後述)。

アウトライナーで書いて Vim で Markdown 形式に整えて清書、 Day One に保存すれば検索できそうだが若干面倒くさい。しばらく頑張ってみる。

Mac で使えるアウトライナーいろいろ

Tree 2

個人的に一番よく使ってる。安くて機能シンプル。 iOS 版がないのがちょっと残念。

OmniOutliner

昔は OS にバンドルされてて、 .plist の拡張子のファイルを開こうとして勝手に立ち上がったりしてうざかった。最近の OmniOutliner は横にカラムを追加して Excel みたいな使い方できる。一見、地獄っぽい。Excel 方眼おじさんに OmniOutliner を与えると泣いて喜ぶかもしれない。

TaskPaper

実は TaskPaper はアウトライナーそのもの。タスクを書き出すという行為、アウトラインで考えを整理する行為に似てる。したがってよいタスク管理ソフトはアウトライナー的な側面を持つ。実際アウトライナーでタスク管理する人は多い。

MindNode

実はマインドマップも OPML (アウトラインプロセッサーの共通フォーマット)で書き出せるためアウトライナーとして使える。ミーティングなど大人数でブレインストーミングしながらアウトラインを作成するときは MindNode のようなマインドマップの方がよい。

WorkFlowy

WorkFlowy なら先述の「ファイルの壁」問題を解決してくれる。従来なら個々のファイルに分かれていたアウトラインを一つに統合し、個々の Node として扱う。ファイルは一つしかないので分断が起こらない。一つのアウトラインの中に自分のすべての思っていること・考えていることが保存される。

WorkFlowy は「ファイルの壁」を突破した使い方が出来るが、 SaaS なのでオンラインでないと使えない。飛行機の中などインターネットにつながらない場所でアウトライン書けない。完全ローカルで使える買い切り型の WorkFlowy があったら最高2。オフラインでも使えるインストール型のアプリの方が動作が速くて快適なのは自明だ。アウトラインが増えてくると結構高い Pro プランにしないといけないのもつらい(月額 $4.99)。

なお以下のリンクから登録してもらえると僕とあなたの無料で使える WorkFlowy のアウトライン数上限が 250 個増えるので登録してやってもよいという方は是非よろしくお願いします 🙇🏻

まとめ

自分の文章の書き方、アウトライナーの使い方を見直した。文章作成の大半の部分をアウトライナーで行い、 Vim を使うのは文章の最終仕上げ段階だけにとどめたい。そうすることでつながりのおかしい文章や読みにくい文章を避けることができる。

『アウトライン・プロセッシング入門』は Kindle オーナーライブラリにあって無料で読めるので Amazon プライム会員の人は読んでみるといいかも。よい内容は最初の方に集約されています。

おまけ

このブログの記事でアウトライナーで割と最後まで書いてた文章の例。

  • 家を買ったので得られた知見を共有します
    • 最初は普通に書いていたが文章が冗長で読みにくさを感じたので文章のダイエット目的で箇条書きにしてアウトライナーで書き直した。
    • はてブで 2000 ブックマークくらい付いた。
    • 箇条書きのつながりが良く読みやすかったのかもしれない。
  • 糖質制限で脱デブ成功しました
    • ほとんど最後までアウトライナーで書いたが「シェイク」不足。
    • 文章が読みにくく、ほとんどブックマークされなかった。

  1. 天性の Vimmer は「シェイク」(後述)も Vim で出来るかもしれない。 

  2. Google Chrome 限定だけどオフラインで使える Chrome アプリもあるっぽい。WorkFlowy - Chrome ウェブストア 

| @散財

森井ゴンザレスさん(@morygonza1ez)が投稿した写真 -

家から近い海沿いの金持ちの家やバーベキュー屋に置いてある黒色で円形のバーベキューグリルが突如として欲しくなってしまい、勢いで買ってしまった。コストコで激安販売されているというネット上の情報を目撃して行ってみたけど今は売っていないみたいで買えず、コストコの店内からヨドバシのオンラインショップで購入。翌日届いた。あいにくの雨でまだ火入れできていない。一緒にスターター(チムニーというやたら可愛い商品名)も買った。なんか火起こしが劇的に楽になるやつらしい。コストコで豆炭も大量購入しておいたのでバーベキューやるのが楽しみ。ただグリルを買うので散財してしまったのでバーベキューやるにしてもしばらくは肉なしかな…。

| @料理/食事

ローストビーフ

最近ほとんど毎週ローストビーフ作って食べてる。近所に激安スーパーのルミエールという店があって、オーストラリア産の牛もも肉が150円/100gくらいで売ってる。めっちゃ安い。

オーストラリア産の牛肉は脂身が少なくてさしとか皆無なので普通に焼いて食べるには固すぎるけど、ローストビーフのような真ん中はレアの状態で、かつうすーくスライスして食べるのにはちょうどよい。

前もローストビーフについての記事書いてるけど(ローストビーフうまい)、最近知見がたまって味が安定してきたので改めて書いておく。

材料

  • 牛もも肉ブロック
  • こしょう
  • にんにく
  • 国産牛の牛脂(あれば)
  • 赤ワイン(あれば)

道具

大体以下がそろってるとよい。

  • パン切り包丁
  • 鉄のフライパン
  • 250℃で焼けるオーブン

手順

  1. 肉を買ってきて塩とこしょうをすり込み、スライスしたにんにくをはっつけてラップでくるんで冷蔵庫で1時間くらい寝かせる
    • 塩はちょっと引くくらい振った方がよい
  2. 冷蔵庫から取り出して鉄のフライパンを熱し、白い煙が出てくるくらいまで温まったら油をひいて一気に焼く
    • テフロンでこれやると多分すぐフライパンがダメになる
  3. 表面すべてに焼き色がついたら赤ワインかける
    • 赤ワインなければ省略してもよい
  4. ワインの水気がなくなったら火から離す
  5. オーブンに入れて 250 ℃で 16 分くらい焼く
  6. オーブンから取り出してすぐには切らずに 10 分から 20 分くらいアルミホイルにくるんで休ませる
    • すぐに切ると肉汁が出できてダメ

これで大体完成。ソースとかは作ってもよいけど、わさび醤油とかで十分うまい。テキトーな焼肉のタレでもよい。

CHANGES

前書いたやり方では下準備のときにニンニクをすりおろして肉に揉み込んでたけど、ニンニクは焦げつくのでフライパンで焼くときによくないことが判明してすり込むのやめた。スライスしてはっつけるくらいでよい。

ハーブ類もなくても良いことに気がついてやめた。畢竟するに我々は日本人なのだから、肉はわさび醤油で食べるのが一番うまい。わさび醤油で食べるときにハーブの香りは邪魔なのである。なくてよい。

また以前はオーブンを使ってなかったけど、オーブンを使わずに表面を焼くだけの作り方では中の方までなかなか火が通らず牛たたきみたいになってしまうのでオーブンを使うようになった。文明の利器は使うべきである。

番外編

バーベキューのときにローストビーフするのも良い。炭火で焼くと中の方までじんわり火が通って最高。↑の手順1のあと、バーベキューの網の上に載せて焼く。網焼きの場合は表面がちょっと焦げ気味になるくらいまで焼くとちょうど良い。いい焼き色になったらアルミホイルで包んで10分から20分くらい休ませる。赤ワインとかぶっかけなくても十分うまい。

薄切りしなければ顎が崩壊

切り分けるときにはパン切り包丁が最高。普通の包丁ではうすーく切ることが出来ない。ローストビーフのうまさは肉の薄さで構成される部分が 5 割くらいあると思う。特にオーストラリア産牛のもも肉のような赤身の中の赤身といえるような脂がほとんどない硬い肉は、薄くないと顎が疲れるだけで食べられたものではない。ローストビーフ用専用包丁もあるっぽいけど高いのでうちはイオンで買った1500円くらいのパン切り包丁使ってる。パンも切れて便利。

焼肉に行くと安いところでも一人3000円くらいは絶対かかるし、お酒飲んだら5000円とか軽く飛んでいくと思う。しかも出てくる肉は合成肉みたいなやつ。それだったら安い肉買ってきて自分で焼くのが良いと思う。とても満足感がある。

追記

記事を書いたあとに調べてみたら、肉に塩を振ってから時間をおくのはダメっぽい。肉は焼く直前に塩を振らないと水分が抜けて固くなってしまうそう。加えて焼く少し前に冷蔵庫から取り出して室温に戻さないとダメっぽい。なのでにんにくのスライスをはっつけつつ室温に戻して、塩とこしょうは焼く直前に振るのが正解だった。

| @WWW

The Old Reader

Google Reader 死んだ後、 The Old Reader 使ってる。 Feedly は高すぎてとてもじゃないけど使えなかった。無料で使うという手もあるけど、自分にとってフィードリーダーは気になるブログを放り込んどいて斜め読みし、後からおぼろげな記憶を頼りにキーワード検索して情報にアクセスする場所なので、全文検索できなかったら意味なかった。なので当然有料プランを利用することになる。

The Old Reader のプレミアムアカウントは安くて、初年度は年間 10 ドルで使える。見た目もスッキリしていてその名の通り古き良き Google Reader を彷彿とさせる。前 Feedly をちょっと試したときは UI がリッチすぎて重く使いたいという気にさせられなかった。このくらいシンプルな方がフィードのコンテンツを読むという用途には向いてると思う。購読対象のブログの UI がリッチすぎるので中身だけ手っ取り早く読みたくてフィードリーダーを使っているのだから、フィードリーダー自体の UI がリッチになっていったら本末転倒感ある。少なくとも自分にとっては。

The Old Reader はフィードの更新間隔がクソで、プレミアムアカウントのユーザーが登録しているフィードは 30 分おきにフィードをフェッチするとあるんだけど、全然そんなことなくて、平気で 4 時間遅れたりする。偏りがあって、頻繁に更新されるブログのフィードは頻繁にチェックされるけど、頻繁に更新されないブログのフィードはあまりチェックされないみたい。クローラーのつくりとしては正しいのかもだけど、利用者としては不満が残るなぁ。