nDiki : howm

2014年2月8日 (土)

今日のさえずり: あれ? オリンピック開会式もしかして見逃した?

2014年02月08日

naney:12383289464

[ 2月8日全て ]

2014年3月8日 (土)

今日のさえずり: 見本以外の商品も入っています

2014年03月08日

naney:13003769753

[ 3月8日全て ]

2014年3月17日 (月)

howm + Markdown + Plack

Emacshowm 上で書いたノートなどをさくっと共有したい時に、わざわざ Wiki 上や IRC 上や Google ドライブ上に転記したり更新したりするのが面倒なので、そのまま見られるようにしたいなと。

この間 howm で書く時のフォーマットを Markdown にしたので、howm-directory をそのまま Plack::App::Directory::Markdown で見られるように設定してみた。

howmMarkdown を使う設定

完全じゃないけれど今のところこんな感じ。

 (setq howm-file-name-format "%Y/%m/%Y-%m-%d-%H%M%S.md")

 (setq howm-view-title-header "#")
 (setq howm-view-title-regexp (format "^\\(%s|=\\)\\( +\\(.*\\)\\|\\)$"
                                     (regexp-quote howm-view-title-header)))
 (setq howm-view-title-regexp-pos 3)
 (setq howm-view-title-regexp-grep (format "^(%s|=) +"
                                      (regexp-quote howm-view-title-header)))

非公開用 howm-directory と公開用 howm-directory は

の通り下記のように設定。

 (defun my-howm-set-directory (dir &optional keyfile)
   `(lambda ()
      (interactive)
      ;; kill current keyword buffer first to avoid the error
      ;; "howm-get-buffer-for-file: Buffer name ` *howm-keys:*' is in use"
      (kill-buffer (howm-keyword-buffer))
      (setq howm-directory ,dir)
      (when ,keyfile
        (setq howm-keyword-file ,keyfile))
      (setq howm-menu-next-expiry-time (current-time))
      (message "%s" ,dir)))

 (defun my-howm-switch-directory (dir &optional keyfile)
   (funcall (my-howm-set-directory dir keyfile))
   (howm-menu))

 (global-set-key "\C-c,1" (my-howm-set-directory "~/var/howm/" "~/.howm1-keys"))
 (global-set-key "\C-c,2" (my-howm-set-directory "~/srv/howm/" "~/.howm2-keys"))

Plack::App::Directory::Markdown

cpanm でインストール。簡単に起動するなら付属の pad-markdown.pl で。

 #!/bin/sh
 PAD_MARKDOWN=$HOME/local/perl5/perlbrew/perls/perl-5.18.2/bin/pad-markdown.pl
 ROOT=$HOME/srv/howm
 PORT=9119

 $PAD_MARKDOWN --root=$ROOT --encoding=utf8 --title='howm' --port=$PORT &

これで後は C-c,2 C-c,c で howm ノートを作って保存すれば http://HOST_NAME:9119/2014/03/2014-03-17-231015.md ですぐ見られるようになる。あるいは ~/srv/howm/ 以下に適当に .md ファイルを作ってもよい。適当に楽ちん。

欲を言うと検索できるようにしたりページ間リンクを簡単に張れるようにしたりとかしたいなあと思うのだけれど、そのまま進むと(フォーマットこそ違えど)この nDikiDiKicker と同じ機能になってくるので、今はそこまでしなくてもいいかな。その時に他人にシェアしたいのはピンポイントで1ページだけがほとんどだし、自分自身は howm 上で検索できるし。

こう考えてみると「Emacsプレーンテキスト」で「書いて保存すれば(あるいはそしてリモートに同期すれば) 明示的な変換作業しないで勝手に公開」されて、書く場所は「年月別ディレクトリ」とか「デイリーなノートとは別のページが作れる」とか「検索grep レベルできる」とか、まあ結局自分が欲しいものは昔から変わらないなあ。

[ 3月17日全て ]

2014年3月23日 (日)

Day One日記を書いてmixi日記に投稿する

ここ最近プライベート日記はスマートフォンアプリを使っていて、今は Day One を使っている。一方公開日記Web 日記としてこの nDiki をつけている。前者は完全非公開、後者は全体公開。

たまに特定グループ向けに公開したいなと思ったりするのだけれど、身近に使えるのはやはり自分の場合mixi日記かな。ただ日記メディアとして便利なんだけれど、自分はローカルホスト上で grep できるように手元にも記事ファイルを置いておきたい(Emacs + howm検索したい)。

ということでグループ公開したい日記Day One で書いて、mixi日記に上げるようにしてみようかなと。これならスマートフォンでも草稿かけるしアプリ上でプライベート日記と同じタイムラインに並べて見られるし、 DropboxXML エントリファイルが作られるので Linux 上で grep がかけられるし。

で一度手順を流してみた。iOS デバイス上で完結させるとどれぐらいの手順になるかどうか、 Publish 公開も含めてやったのが以下。

日時を統一したり permalink を取得して書き込み直したりしているので手順がちょっと多いけれど、実際にはグループ公開の場合は Publish しないのでもっと少ない手順になる(写真を載せると逆にもうちょっと手間がかかる)。あと PC 使っている普段の状況なら Emacs + Google Chrome でさっとやってしまうのでもっと楽。やれば自動化もできるとは思うけれどもそこまではいっかな。

[ 3月23日全て ]

2014年3月25日 (火)

EmacsOrg Capture でぼっちつぶやき

あとで整理してまとめたりできるように、ふと思ったことを非公開で1人 Twitter タイムライン的にログっておくのに PC 上でなかなかいいのないんだよねとずっと思っていたんだけれど Emacs の Org mode にある Org Capture 試してみたらいい感じだった。

普段 Org mode 使っていないので Org Capture で必要なところだけ設定してみた。

 (require 'org)

 (setq org-capture-templates
       '(
         ("t" "Timeline (local)"
          plain
          (file (concat "~/var/timeline/timeline-" (format-time-string "%Y-%m-%d") ".md"))
          "- [%(format-time-string \"%Y-%m-%d %H:%M:%S\")] %?\n")
         ("n" "Note (local)"
          plain
          (file (concat "~/var/note/" (format-time-string "%Y-%m-%d-%H%M%S") ".md"))
          "# %?\n[%(format-time-string \"%Y-%m-%d %H:%M:%S\")]\n")
         ("T" "Timeline"
          plain
          (file (concat "/naney@example.com:/home/naney/var/timeline/timeline-" (format-time-string "%Y-%m-%d") ".md"))
         "- [%(format-time-string \"%Y-%m-%d %H:%M:%S\")] %?\n")
        ("N" "Note"
         plain
         (file (concat "/naney@example.com:/home/naney/var/note/" (format-time-string "%Y-%m-%d-%H%M%S") ".md"))
         "# %?\n[%(format-time-string \"%Y-%m-%d %H:%M:%S\")]\n")))

 (global-set-key (kbd "\C-cc") 'org-capture)

'C-c c t' すると

 - [2014-03-25 23:24:25]

が書かれたバッファが開くので適当に何か書いて C-c C-c する。と、~/var/timeline-2014-03-25.md にその内容が追記される。

TRAMP でリモートホスト上のファイルを開く時のファイル名を指定してみたらうまくいったので、さくっとリモートファイルにも追記できてすごく嬉しい。ので 'C-c c T' で書き込めるように設定してみた。これで Dropboxrsync / Unison などで同期する必要がなくていろいろ良い。

あとは追記型ではなくて都度新しくノートファイルを起こすタイプの設定も追加しておいた('C-c c n' と 'C-c c N' で呼び出し)。howm で 'C-c , c' するのと同じ感覚で作れる。こちらもリモートホスト上にファイル名で悩む必要なくさくっとノートを書いておくことができて良い(そのかわり howm みたいに grep できないけれど)。

2014年3月27日追記

リモートホスト上のファイルへの保存の方を良く使うので、'C-c c' の後のキーは小文字の方をリモートに、大文字の方をローカルに変更。

[ 3月25日全て ]

2014年4月6日 (日)

Twitter を使い始めて7年

2007年4月6日に Twitter のアカウントを作ったので今日で丸7年。ちなみに mixi2004年11月19日に登録したので、9年5カ月弱ぐらい。Facebook2008年5月24日の登録なので、5年11カ月弱ぐらい。

なんだかんだいってもライフログ的に書き込んでおくには Twitter が一番便利。アーカイブしやすいし。フィードバックをもらえるという点では mixiFacebook の方が自分の場合上。

現時点では Twitter クライアントは

を使っている。去年言っていたプライベート的なログは今は Day One。結構気に入っているのでこれのために Linux から OS X に変えたいなあと思うぐらい。

ぼっちつぶやきとしては Emacs + Org Capture (記事) はまだ howm の C-c , c ほど手に馴染んでいないのでなんともいえないけれども慣れたら結構いけるんじゃないかな。ただこちらは永続的に残しておくというよりは後で記事にまとめるためのキャプチャ用という感じ。

[ 4月6日全て ]

2014年5月21日 (水)

Emacs Dired の dired-dwim-target を t にした

Emacs 上の howm で複数の howm-directory を切り替えて使っていて、ディレクトリ間の移動が面倒くさいなと思って調べたら

 (setq dired-dwim-target t)

するといいらしいので設定した。最初 dwim を dwin と typo してて動かなくてプチはまりした。

2つ Dired を開いている状態で、一方の Dired でコピー/移動をすると、他方の Dired で開いているディレクトリがデフォルトで提示されるようになるという設定。

ちょっと便利になった。

ファイル名はそのままで移動したいので、ファイル名までデフォルトで入ってくれるといいんだけれどそういう設定あるのかな。

[ 5月21日全て ]

2014年5月22日 (木)

EmacsOrg Capture から howm に書き込むようにした

ぼっちつぶやき用に Org Capture を3月に設定したのだけれど、2カ月使ってみて howm からもアクセスできた方が便利だなと感じたので設定を変更した。

 (require 'org)

 (setq org-capture-templates
       '(
         ("h" "howm"
          plain
          (file (concat "~/var/howm/notebook/" (format-time-string "%Y/%m/%Y-%m-%d-000000") ".md"))
          "- [%(format-time-string \"%Y-%m-%d %H:%M:%S\")] %?\n"
          :unnarrowed t)))

 (global-set-key (kbd "\C-cc") 'org-capture)

書き込み先を howm と同じディレクトリ・ファイル名に。あとデフォルトで、書き込み時に追加部分だけのバッファが開くようになっていたのだけれど :unnarrowed を t にして、その日の前の書き込みを見ながら(あるいはあわせて編集して)書けるようにした。

今日のさえずり: 初任給は勤め先のレストランにごちそうした。高1の時。

2014年05月22日

[ 5月22日全て ]

2014年6月27日 (金)

思い浮かんだことを LinuxAndroidiOS から同じテキストファイルにさっと書けるようにする組み合わせ

「PC を使っている時に思い浮かんだこと」の capture には EmacsOrg Capture を使っている。これで随時追記して howm を使って閲覧・整理するようにしている(記事)。PC 上では Emacs からテキストファイルに書き込むのがなんだかんだいって一番ストレスが無い。 ただこれだと Android デバイスや iOS デバイスから気軽に追記できないのが不便だった。

もともとそのテキストファイル自体は Dropbox 上に置いてあるので、モバイルデバイスから読み書きするのに以下の条件で各 OS 用のアプリを選んでみた。

  • Dropbox 上のテキストファイルを直接読み込んで、編集・保存できる。
  • アプリを起動したら前回のファイルを開いた状態になっていてすぐに追記できる。
  • Dropbox 上のファイルが更新されているのをアプリ側で検知して読み込みなおせる。
  • 可能であれば日時を 「- [%Y-%m-%d %H:%M:%S] 」なテンプレートとして挿入できる。

で今まで使っているアプリの中から以下をチョイス。 この組み合わせで思い浮かんだネタなんかをどこでも1箇所にまとめて書き込んでおけるようになったので便利。

Jota+ と Jota+ Dropbox Connector (Android)

rimage:http://www.naney.org/nDiki/2014/06/27/jota.png

高機能エディタAndroid デバイスでプログラムを書いたり長文編集したりしないのでそれほど活用できていなかった。なので capture 専用にしようかなと。設定で

  • 起動時の動作で「前回開いたファイルを開く」に。
  • 自動保存をオン。
  • ファイルの変更確認をオン。

にしておく。朝に一度今日のファイルを開いておけば、その後はアプリを開いてすぐ今日のファイルに書き込めるようになる。定形文機能で Org Capture の設定と同じように日時も挿入できる。

PlainText 2 (iOS)

rimage:http://www.naney.org/nDiki/2014/06/27/mzl.azxwzzus.175x175-75.jpg

日時のテンプレート挿入はできない以外は条件を満たしている。iOS デバイス (iPod touch 5th) はサブ機なので許容。

シンプルなので、ちょっとしたノートとしてはストレス無く読み書きできる。


[ Android アプリレビュー ]

[ 6月27日全て ]

2014年6月30日 (月)

Markdown ファイルで HTML meta 要素が効いて笑った

Emacs howm 上で Markdown 形式でノートをとって、 Plack::App::Directory::Markdown ベースのビューアーで参照しているんだけれど、あるページがいきなり別の URL に飛ばされて何だろうと思ったら文中にあった

 <meta http-equiv="refresh" content="...">

の記述が効いてしまった模様。< と & のエスケープつい忘れるので注意。

[ 6月30日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.060612s / load averages: 0.41, 0.44, 0.53
nDiki by WATANABE Yoshimasa (Naney)
Powered by DiKicker