@kyanny's blog

My thoughts, my life. Views/opinions are my own.

Simplenote 使い始めた

Evernote より断然好みだ。これなら気分よくメモれそう。

とはいえ Emacs から書きたいのでそのようにした。主に ブブゼラを聞きながらEmacsでSimplenoteを操作してみました « サーバーワークス エンジニアブログ 参照。

https://github.com/kyanny/emacs-config/blob/master/dot.emacs.d/inits/88_simplenote.el

以下カスタマイズした箇所

  • pit.el 入れるの面倒だったので無理やりワンライナーで書いた
    • これ書くより Ruby環境変数 (RVM...) などの調整に時間がかかった(しかもちゃんとできてないままヘンに動いてる)
  • *Simplenote* に hook しても意味ないのでメモのバッファをひらく simplenote-open-note に advice で after-save-hook をひっかけた

以下どうにかしたい箇所

  • メモのバッファを保存するたびに simplenote-sync-notes が走るのだけどこれが url-retrieve-synchronously を使ってるので保存するとしばらく操作がブロックされるのをどうにかしたい
    • url-retrieve を使うように書き換えればいいんだろうけどかなり大きい関数だし(コードはわかりやすかったけど) url-retrieve を使いこなせるほど elisp 書けないので保留
    • むしろ deferred.el とかで 88_simplenote.el の after-save-hook にひっかけてる lambda を非同期に呼ぶ?よくわからない

Simplenote はウェブ版もシンプルで使いやすいし、メモの公開も簡単なので、ブログじゃない場所に書いておきたいようなテキストはこっちに書いておくのがいいのかもしれない。 permalink という意味ではやや不安だけど(意味のない URL なので)でも Wiki から共同編集を取り除いた「マークアップしなくてもそれなりに見られる感じに表示できるテキストを公開する」っていうのは需要あるんだよなー自分には。それこそ Github Pages にでもドメインふっておいてリンク集的に使えば充分なのではないか。

Scope Guard

唐突に Scope Guard を理解した。

  • スコープを抜けたとき呼ばれるコールバック関数を(後処理などのために)登録しておくためのものだった
  • AnyEvent とかと一緒に紹介されてたことが多かった(気がする)ので「なんか難しそう」と敬遠したままだった
  • 短いものでも自分でコードを書いて動かしながら試すと理解しやすかった
  • Perl は my 宣言した変数のスコープがブロック単位だけど Ruby はそうではないので Ruby で簡単に同じことをするのは難しいらしい

Scope::Guard を使ったほう

Guard を使ったほう

はてなブログはなぜはてなスターが記事タイトルの横ではなく記事の下にあるのか

「読み終わる前にスターつけるのはヘンだから」なんだなと、勝手に理解した。はてなダイアリーでは記事タイトルのすぐ横にあるデザインがふつうだったのにあえて変えてきたのには意図があるはずで、これ以外には考えられない。つぶやきではなくてまとまった量のちゃんとした文章を書く場所であり、読む場所でもある、だからスクロールせず一画面に収まらないのがふつうだし、ならば読み終わったとき上に戻らずスターをつけられるほうが自然だろう。そこまで考えてデザインしてあるのだ、かっこいい、と勝手に思うことにする。

という一文は一画面に収まっちゃってるんだけどね。