workflowではてな記法リンクを貼る

Workflow: Powerful Automation Made Simple

Workflow: Powerful Automation Made Simple

  • DeskConnect, Inc.
  • 仕事効率化
  • ¥360

workflowは、iPhoneのiOS8からのアプリとの連携を手助けするアプリ。このアプリはコマンドラインのパイプでつなぐときのような役割をし、様々な動作を定義し実現できる。

iPhoneで、ブログの記事を編集するときに役立つだろう(作業自動化アプリ「Workflow」をモブログに活用!ブログカードやShareHTMLのリンクを取得する方法 - AIUEO Lab2)。もちろん、この用途においては、先代からのブックマークレットがあり、課金してアプリを使うかどうかは判断に任されるところではあるが、この他、用途は多様にあり拡張性に期待する意味でも投資の対象としては十分当てははまると考えられる。

複式簿記で家計簿をつけるようになるまで

もともと、このアプリでざっくりと支出だけは把握するようにしていた。

支出管理

支出管理

これだけで、月別の支出をグラフで表示したりすることができ便利に使っていたのだが、お金に対する意識がなさ過ぎたせいか、ただの支出の記録になってしまっていて、見直すということが足りていなかった。
結果、貯蓄がいっさいできておらず、支出の管理まではできていなかった。その後、貯蓄をする必要性に迫られ、固定費支出や日々出ていくお金を見直していくにあたり、もう少し体系的にお金の流れを管理したいと思っていた。

ことの始まり

ledger で帳簿をつけるようになった - ardggy's blog を読んで、ん? ledger とはどういう意味だ?総勘定元帳?どうやら簿記の世界の言葉のようだ。簿記であれば、お金の流れを把握できるのではないかという漠然とした期待があった。それから、複式簿記について調べていくなかで、家計簿を複式簿記でつけたらよいのではないだろうかという思いに至った。

iPhoneアプリ複式簿記をつけ、hledgerでB/SやP/Lを作成する。

もともと、研究室時代にLINUX(といっても、UBUNTUだが)を使っていたこともあり、コマンドラインのツールは馴染みやすかった。これに加工したCSVを食わせれば、貸借対照表(B/S)や損益計算書(P/L)をコマンドライン上で出力できそうだ。最初はledgerを使おうかと思っていたが、導入が面倒だったので、hledgerの方を使っている。

勘定科目については、家計簿であるため、ある程度自由につけてもよいかと思うが、生活費の費目以外は実際の会計で使われそうなもを使っている。iPhoneアプリは何個か試してみたが、以下のものが入力の手間がなく、すばやく行うことができる。

このアプリで家計簿をつけ始めてから、4ヶ月目になるが、おおむね便利に使わせていただいている。日々の財布から出す現金はその都度つけることにしているが、それ以外は 月初に前月分の仕訳をまとめて行う に倣って月末にまとめて銀行通帳から転記するようにしている(クレジットの引き落としはその明細ごとに)。あとはCSVで吐かせて、少し加工してコマンドライン上でB/Sを出力する。

凡そ、次のように。

airbk% hledger -f taxnote.csv bs
using conversion rules file ~/Documents/bookkeeping/taxnote.csv.rules
Balance Sheet

Assets:
              347681  Assets
              112200    Cash
                2509    CashShortage
              232972    Savings Account(MUFG)
--------------------
              347681

Liabilities:
            -3596728  Liabilities:Scholarship
--------------------
            -3596728

Total:
--------------------
            -3249047

とんでもない負債をかかえていることが分かる。(hledgerでは、純資産項目は計算されないようだ)

また、次のようにP/Lを見ることで、支出の割合を把握する。

airbk% hledger -f taxnote.csv is
using conversion rules file ~/Documents/bookkeeping/taxnote.csv.rules
Income Statement

Revenues:
            -1314334  Income
             -121280    Miscellaneous Income
            -1193054    Salary
--------------------
            -1314334

Expenses:
             1203174  Expenses
               43792    Clothing
               71261    Communications
               16189    Educational
              255658    Entertainment
              198041    Food
              149718    Housing
               11600    Insurance/Tax
               24018    Medical/Daily Necessities
               67195    Other
               70000    Salaries
               90000    Savings
              168220    Transportation
               37482    Utilities
--------------------
             1203174

Total:
--------------------
             -111160

私の家計簿は、13費目からなっている。ただし、貯金額を費用として勘定することには何かと不便を感じているため、費目から外すことを検討している。

今日の調べ物の副産物

Tumblrのポストが埋め込みできるようになった [2016-02-18 Thu 00:49]

さきほどブログを更新しているときに気付いたが、tumblrのポストをブログに埋め込むことができるようになっていた。(cf. Embedding Tumblr Posts: Tumblr offers embed codes...: Unwrapping Tumblr)

ブログカードやEmbedlyを用いるのも良いかと思っていたが、自分が参照として残したものが横断して一覧できるという意味では、tumblrを一度経由してブログに参照を載せることは有用かもしれない。

見た目のテストをついでにしておく。

続きを読む

今日の調べもの(GTDとOrg-mode)

GTDをやるとしたら

http://krrn.tumblr.com/post/139484281335/再掲gtd歴6年目の私がこれ以上ないくらい丁寧に解説します-browndots

GTDの概要を理解する

以下のサイトを参考に

GTDEmacsのOrg-modeで

GTDのINBOXの洗い出しには、ブレインストーミングのアイデア出しのような感覚にも似ているものを感じるので、日記の記事のネタ出しにも応用できるかもしれない。ところでemacsでorg-modeを利用しているのなら、How I use Emacs and Org-mode to implement GTD を参考にファイル構成を考えてみるのも興味深い。Charles Cave によれば、次のようにファイルを分割している。

newgtd.org
The main file containing TODO items, Projects, appointments and reminders
newgtd.org_archive
The archive file for the newgtd.org file. This is the history of all completed work.
someday.org
The Someday/Maybe file. The contents are reviewed each week. This file contains lists of things I would like to do, learn, books to read, places to go, and ideas for new projects.
journal.org
This is my electronic notebook where I record everthing that I don't write by hand - notes, web site addresses, diary notes, films seen, books read, conversations I have had, and things I have done. This file is updated with Remember mode.
birthday.org
Birthday and Anniversary information. This file is one of my agenda files.

この中で、 birthday.org はカレンダー用なので無視してよいが、 journal.org の方は、いわゆる日記であり、twitterであると捉えてよい。このつぶやきの中から、やりたいことやTODOが発生すれば、org-refileしてカレンダーや次にやることリストに追加していくのも良いのではないか。(org-refileは、いろいろやりようがありそうで、「タスク」から「予定」を分離してカレンダー表示,Org-mode仕立てで - Qiita のように予定を管理しやすくするために活用することも考えられる)
また、

http://krrn.tumblr.com/post/139485478205/タスクにメモを付加させたいわけじゃなくメモの中にタスクを列挙したい

に個人的にはすごく共感するものがあって、タスクを消化していくなかで当然その工程を管理・記録していくことも必要だと思っているので、メモの中にタスクが存在しているべきであると考えていた。その点から、メモをorg-modeでとりその中でTODOを記述し、org-agendaで一覧することはINBOXを動的に作成することとなる。ただし、すべてTODOとして書き残していくと、いつかやること、プロジェクトにするべきタスクや次にやるべきことが混在していくことになるので、上記のorg-refileでカレンダーに登録していくように、TODOを整理する時間を設けなくてはならないだろう。しかしこれはまさに、INBOXからタスクを振り分けていくGTDの流れそのもののようにも感じる。

INBOXにTODOを追加することはorg-captureととても親和性が高く、ここにもorg-modeでGTDをすることは有用であると考える。(org-captureについては、 色々 Org Capture する | Amrtaorg-capture を使ってみる - 水鏡日記 などを手始めに様々な拡張が可能である)

Org-modeで使う機能

つまり、GTDをもしorg-modeでやろうとするのあれば、次の機能を使うことでGTDの枠組みを実現できるのではないかと思っている。

  • org-capture : journalに書き込んだり、その中でINBOXにタスクを貯めていく役割
  • org-agenda : INBOXに入れたものを一覧し、振り分けていく。またTODOに〆切やスケジュールが登録されているのであればその日の予定表を動的に作成可能
  • org-refile : INBOXに入れたタスクを実際に振り分ける役割

Org-modeのその他の機能

もうGTDというよりは、org-modeの個人的まとめのようにもなっているのでついでに便利だと感じている機能について触れておくと(というかそもそもGTDはかじった程度にしか知らないのであるが)、

C-c l (org-store-link)

M-x org-store-linkで元の記事へのリンクを保存できるため、キュレーション記事みたいなものを自分のorg-modeでとったメモに対して作成することができる。(貼り付けは C-cC-l とする)
org-modeで覚えておきたいリンクの設定 - うめすこんぶ

C-cC-a a (org-attach-attach)

記事に添付ファイルを付けることができる、単なるリンクでなく、実体を編集しているorgファイルのある場所にディレクトリを作成してコピーするので、後にファイルを参照したいときに困らない。

などがある。最終的には、org-babelを用いれば.emacsをorg-modeで書くということもできるらしい(平衡点(2011-12-13))ので、試してみる価値はあると思っている。

はてなブログはじめる

ことはじめ

ブックマークレットを実行して、ブログカード的なものを紹介するまで - NonoSama is here. でさきほど、はてなダイアリーに久々に投稿したばかりであるが、

はてなダイアリーからはてなブログに移行してきた。 サムネのリンクを貼ろうと思ったらjavascriptが動かなかったり、ブログのフォントサイズも調整したいと思っていたので、ついでに乗り換える。

デザインの選定

デザインは、「Material Design」で書き始める。

レスポンシブデザイン対応ということでその設定をしておく。(設定方法は上記のサイト参照)

きもち本文の横幅が大きい気がするが、そのときは

<div id="content" class="hfeed">

の width を調整すればよさそう。とりあえずは初期設定のままにしておく。

さきほどの再現

Markdown のテキストリンク

乳と卵(らん) (文春文庫) | 川上 未映子 | 本 | Amazon.co.jp

ブログカード

http://www.amazon.co.jp/乳と卵-らん-文春文庫-川上-未映子/dp/4167791013

amazon

乳と卵(らん) (文春文庫)

乳と卵(らん) (文春文庫)

Embedly

乳と卵(らん) (文春文庫) | 川上 未映子 | 本 | Amazon.co.jp

あれ、Embedlyの画像はわたくし率イン歯ーが表示されてるや。

ブックマークレットを実行して、ブログカード的なものを紹介するまで

vimperatorでbookmarkletを実行する

vimperatorでブックマークを開くには通常 :bmarks を実行する。このあとに ;o とすることでヒントモードに移行してブックマークを選ぶこともできる。ただいかんせん、ブックマークに辿りつくまでが長いので、次の方法では :open からブックマークを開くことができる。(ただし、これはある程度決め打ちとなるので数多くは覚えておけないだろう)

履歴とブックマークの管理から、ブックマークを選び任意のブックマークに対してキーワード(例えば、expなど)を設定しておく。
そのあとに、 :open exp とすれば、該当のブックマークを開くことが可能。

リンクを挿入

はてなブログカードというものがある。

(これははてなダイアリーでは扱えない)

これを amazon のリンクとして貼ると以下のようになる。

乳と卵(らん) (文春文庫)

乳と卵(らん) (文春文庫)

しかし、最近は Embedly のようなサービスもあるようだ。

(と思ってここに貼ろうとしたが、どうやらはてなダイアリーでは javascript を使うことはできない様子)


あれ、はてなダイアリーでサムネイル付きのリンクを貼る方法はないのか・・・。

org-modeで書いてはてなダイアリーに投稿

org-modeで書きたい

emacsから直接はてなダイアリーに投稿する、 hatena-diary.el を用いて前回投稿した。

普段は、org-modeでメモを取っているので、org-modeの記法に慣れており、org-modeで書いてはてなに投稿できる術はないかと探していたところ、既に試みている人がいた。

org-hatena-diary.el のテスト

どうやら、 hatena-diary.el と ox-hatena.el をラッパーしている様子。(ox-hatena.elについて)

よって、今まで に書いていた hatena-diary.el 設定をコメントアウトし、新たに org-hatena-diary.el 用に設定を記述する。

(require 'org-hatena-diary)
(setq org-hatena-diary-password "APIキー")

(global-set-key (kbd "") 'org-hatena-diary-list)

以下、試し書き。

表(項目名なし)

はてな記法

1000000 12-23-1000 新宿区
1200021 12-32-0010 豊島区

org-mode

| 1000000 | 12-23-1000 | 新宿区 |
| 1200021 | 12-32-0010 | 豊島区 |

表(項目名あり)

はてな記法

お客さまID お客さま番号 住所
1000000 12-23-1000 新宿区
1200021 12-32-0010 豊島区

org-mode

| お客さまID | お客さま番号 | 住所   |
|--------------+--------------+--------|
|      1000000 |   12-23-1000 | 新宿区 |
|      1200021 |   12-32-0010 | 豊島区 |

引用

はてな記法

引用文

org-mode

#+BEGIN_QUOTE
   引用文
#+END_QUOTE

スーパーpre記法

org-modeの単一の引用はスーパーpre記法として解釈されるらしい。

はてな記法:行

整形済みテキスト

org-mode

: 整形済みテキスト

はてな記法:ブロック

整形済みテキスト

org-mode

"#+BEGIN_EXAMPLE"
整形済みテキスト
"#+END_EXAMPLE"

あたりまえだが

初めて投稿する際には、org-modeで記述することができる。そして、はてなダイアリーに投稿する際にox-hatena.elによってはてな記法に変換しhatena-diary.elの機能を使って投稿している。

これは逆変換はされないので、再度、日記一覧より記事を開くとはてな記法となっている。そして、再度投稿すると、またorg-modeからはてな記法に変換しようとするので、何やら妙なことになる。

何度も編集するようなことがあれば、org-modeで直書きするよりは、下書きはorg-modeでローカルに記事を書いておき、それをox-hatena.elではてな記法に変換して投稿する運用の方があっているのかもしれない。

iHarenaSyncから投稿テスト

情報へのアクセスのコストが低いことはアクセスの頻度が大きくなることにつながると思い、いろいろな手段で日記を投稿できるようにする。
アクセスは他方からでも、情報ははてな上で下書き等を含め一元管理できるので書き溜めることができる。

まったく、個人的なダイアリー

written by iHatenaSync

hatena-diary.elによる投稿テスト

emacsからはてなダイアリーに投稿する

http://d.hatena.ne.jp/tarao/20130110/1357821338

まずは、パッケージをインストールする。
=auto-install.el= を導入しているので、 =M-x install-elisp=[fn:auto-install] でURLを指定してインストールした。

以下のパッケージをインストール

http://git.chise.org/gitweb/?p=elisp/flim.git;a=blob_plain;f=sha1-el.el

  • hatena-diary-api.el
  • hatena-diary.el
  • hatena-markup-mode.el
  • multi-mode.el
  • multi-mode-util.el
  • hatena-multi-mode.el


設定ファイル( =~/.emacs.d/init.el= )に以下を記載

;; hatena-diary.el
(require 'hatena-diary)
(require 'hatena-markup-mode)
(setq hatena:d:major-mode 'hatena:markup-mode)

またはてなでの通常のログインパスワードでの認証は廃止されたため、 =hatena:password= にAPIキーを指定した。

ゆくゆくは、org-modeからはてなダイアリーに投稿できたら便利と思う。
(http://d.hatena.ne.jp/arikui1911/20150208#1423343565)

[fn:auto-install] 使い方は =http://d.hatena.ne.jp/rubikitch/20091221/autoinstall= を参照