| @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 ウェブストア 

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

京都国際会館

京都であった RubyKaigi 2016 を観覧してきた。 RubyKaigi 、つくばであった 2010 がこれまでの人生での唯一の RubyKaigi で、人生二度目の観覧だった。

RubyKaigi 2010 の思い出

一度目のときは少し前に増田に上がってた勉強会ゴロ状態(受付の人と技術書を買ったジュンク堂の人と以外誰とも会話をせずに帰宅)だった。

ちなみにこのとき ESM の企業発表を見に行って、 ESM に転職したばかりの hsbt さんの姿を初めて目にした。なんか入社したばかりなのに社内ブログで暴れてて愉快、みたいな紹介のされ方だった。その後同じ会社で働くことになるとは思いもしなかった。

ESM の発表はとにかく鮮烈に印象に残ってて、ペアプロのライブコーディングだった。 ursm さんが CRM か何かの開発を実演してた。まず最初に落ちるテストコードを書いて、その後にパスするプロダクトコードを書く、というやつを初めて目にして、田舎で HTML コーダーをしつつちょっとしたプログラムを書いてた自分は衝撃を受けた。黒い画面の Vim で高速にコードを書いていく様がとにかくかっこよかった。はやくこういう感じでコード書けるようになりたい、と思ったものだった。

クックパッドの企業発表みたいのも聞きにいって、このときクックパッドもまだそんなにエンジニアの数多くなかったはずで、同じくはてなから転職してきたばかりのセコンさんが話してるのを聞いてトートバッグもらって帰った。

YAPC::Asia Tokyo 2015 の思い出

去年の夏、 YAPC で東京に行って、このときはペ社時代の知ってる人としゃべったりして無言の帰宅は避けられた。

YAPC 2015 は気がついたときには懇親会の申し込み締め切られててどこにも行けず、一人浜松町の宿泊先の近くの「とにかく安くて量が多い」と食べログにレビューが書いてある寿司屋に入って一人で寿司を食べたら寿司がねちゃっとしてて具合が悪くなったりしてた。

RubyKaigi 2016

今年も発表する側にまわったわけではないので一般ピープルである点は同じだったが、これまで話したことなかった人と話せたのがよかった。

取り分けよかったのが Fjord 社の komagata さんと話せたことだった。今後の Lokka の方針をどうするか開発者会議的なものを開催してババっと方針を決めましょう、という話をした。 Lokka 、思い入れがあるので積極的にメンテナンスに関わって今後も長く使い続けていきたい。

一日目

一日目は Kaizen Chat についてのブログ記事を公開するというタスクがあって、 Matz のキーノートとかはあまりじっくり聞けなかった。記事公開後に会社のブースで自分のシールを配布したりして公私混同してた。

今年の RubyKaigi は懇親会の枠が大きかったおかげで申し込みそびれるということにならなくてよかった。

オフィシャル懇親会で Fusic 社の k1low さんと初めてゆっくり話をした。Fukuoka.rb で顔を合わせることあっても一緒に酒飲んだりする機会なかったので RubyKaigi に来て初めてじっくり話すという感じだった。

ヒトデさんとその愉快な仲間たちの皆さんとも話して、 shikakun はオリジン弁当ばかり食べてるくせにやたら調理器具を持っていて不可解だとか、風呂蓋付きの浴室がある部屋にすんでいていけすかないという話をした。

Twitter で 8 年くらい前にハゲクラスタとしてわいわいやってた send_ さんとも再会できて、お互い帽子をかぶった状態でいまの仕事の話をしたりした。

オフィシャル懇親会のあとは、ヒトデさんオーガナイズの二次会に参加させてもらった。デンエンという物価が崩壊してる飲み屋に行ってタワーから注いで飲むビール飲みまくった。クックパッド社の著名エンジニアの皆さんと対面に座ったけど人に自慢できるような OSS とかなくて雑魚いので自己紹介に困ったが、とりあえずこういうアイコンのものですと言ってシールを見せたら「あ、なんか見たことある」という感じになったのでシール便利だった。

二日目

朝一番の Justin Searls さんのリファクタリングについての発表がとにかく面白かった。

去年 YAPC で GitHub の人が話してた sicientist と似てるけど、リファクタリング前後のコードで A/B テストをする gem の紹介。新しい方のメソッドが例外投げたら rescue して古い方のメソッドを実行するというのが面白かった。本番にも安心して投入できるとのこと。

三日目

午前二番目に tkawa さんの HTTP クライアントについての発表聞いた。 HTTP クライアント乱立しててひどい、 API をラップしてリモートサーバー側のクラスを再現するような異常なクライアント多くて、 REST API とは一体何なのか状態だ、みたいな話だった。言われてみれば確かにそうかもしれない。独自の API クライアント作ることなく、 Rack が Rack Middleware を use して拡張していくみたいに、 HTTP クライアントの側でも Middleware を use していくのがよい、そこで Faraday ですよ、という話で、あ、 Faraday ってそういうことを目的にしてたんだと膝を打った。

午前中最後の Chris Arcand 氏の発表が面白かった。

Ruby のコードを解析して呼ばれてないメソッドを調べる、という発表だった。実際に Rails プロジェクトとかで使うのは大変そうに見えたけどいまから君のプロジェクトに投入できるよ、 Rails もダイジョブみたいなことを言ってた気がするのでスライド見直したい。

最後のセッションの前、一日目のデンエン会で知古を得た pastak さん見かけたので uiureo さんを紹介してもらって話をした。 uiureo さん、初対面だけど話しやすくて好青年な感じだった。 r7kamura さんとも少ししゃべらせてもらってよかった。

飛行機の時間の都合があったのでクロージングまでは残らず、最後のキーノートの途中で離席して帰途についた。ホールを出ようとしたところで滑り込みで会場にやってきた元同僚の hisaichi551 さんと邂逅して自分のシールを何枚か雑に渡した。ゆっくり話がしたかった。

京都での開催について

京都での開催良かった。個人的には福岡からだと東京に行くよりも京都の方が近いので移動が楽で良い。首都圏からの大多数の参加者も京都に宿泊して参加するので夜通しどこかで RubyKaigi 関連の飲み会が開かれてる感じで祝祭感あった。夕方から観光したりできて海外からの参加者も満足度高いのではないかと思う。京都国際会館のインフラも素晴らしかった(施設、庭園、食事内容)。スポンサーの提供で振る舞われたお弁当おいしかった。

総合的な感想

RubyKaigi 、海外からのスピーカーの発表はどうやってよいコードを書くかとかリファクタリングとかの話が多い。日本人の発表者の人は Ruby を開発する方の話が多い。( Ruby コミッターのほとんどが日本人だから)。なので Ruby 本体の開発に興味ない人( Ruby 開発者ではなく Ruby ユーザーなプログラマー)はぽかんとすることが多いかもしれない。自分は結構ぽかんとしてた。

あと今回多いと感じたのが Concurrency についての話だった。どうやって Ruby で並行性を上げるかという話。 Thread は難しいので素人は手を出すな、ということはわかったけど Ruby 3 の Guild というので素人でも Concurrent なプログラムが書けるようになるかどうかは今ひとつわからなかったので資料を読み直したい( reuibld.fm の Episode 158 を聞くと良い復習になりそう)。 Ruby 3 に並行処理の使い勝手が向上する前に、他の言語で並行処理について学んで準備をしといた方が良さそうだと感じた。

2010年の勉強会ゴロ状態のときに比べれば、何人かの人と話したりシールを配ったりすることができて、有意義な時間を過ごすことができたと思う。ただアイコンの気持ち悪さで認知されるよりも書いたソフトウェアの知名度で認知される方がよいので、カンファレンスに行って自己紹介するときに「○×というソフトを作ってます」と言えるようになりたい。仕事だけじゃなく、オープンソース活動もやっていけるように頑張りたいな、と気持ちをあらたにした会でした。

| @ブログ

乗るしかない、このビッグウェーブに、という感じで Let's Encrypt を使って無料の証明書をゲットし、ブログを https で公開するようにした。

証明書の設定とか難しそうで敬遠してたのだけど、実際やってみると思ったより簡単だったが、いくつかはまりポイントあったので書いておきます。

自サイト内の 'http://' を 'https://' に書き換える

CSS やテンプレート内で http://hogehoge.com となっているところを //hogehoge.com に変える。本文中の画像の URL も 'https://' に書き換える。ちまちました作業。 Amazon の画像の URL も https に対応したドメインに変えないといけない。

S3 に独自ドメイン当てて使っている場合、ここも証明書がいる

画像は S3 から配信していて、独自ドメイン( resources.portalshit.net )を当てて使ってたんだけど、ブログ本体を SSL にしたのに画像配信サーバーとの通信が非 SSL なので mixed content といって怒られる。

S3 単体で独自ドメインを使って SSL 通信することはできないので、 CloudFront を経由して CloudFront に Let's Encrypt で作った証明書を登録して使う。この S3/CloudFront 用の証明書の発行・登録のプロセスが若干面倒くさい。更新のときに手順忘れてそうで心配。 Let's Encrypt プラグインを使うようにした方がよさそう。

他、 Route53 で CNAME 当てて S3 に向けていたのを CloudFront を向くように変える必要もあり。

個人ブログごときで CloudFront を使うことになるとは思わなかった。

Lokka の管理画面が SSL 通信に対応してない

やっと mixed content の警告消えて記事を書こうとしたら、なんと管理画面が SSL 非対応でブログにログインできない。 Padrino の url メソッドが protocol の指定を出来ないようだった。オーバーライドとか試してみたけどうまくいかなくて困ってたところ、 rack-ssl-enforcer という gem を発見した。こいつを RACK_ENV=production のときだけ use するようにして乗り切った。 'http://' となってるのを Rack 層でえいやっと 'https://' に書き換えてくれる。

感想

Let's Encrypt 、本当に簡単で最高便利だと思った。オレオレ証明書発行するより楽っぽい。いい世の中になったと思う。ただ有効期限が短いので更新を忘れないようにしないといけない。更新の自動化までやってしまいたい。

ウェブサーバーを Nginx から H2O に変えるのとかまでは手が回ってないので自動更新と一緒にやりたい。

| @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 時間遅れたりする。偏りがあって、頻繁に更新されるブログのフィードは頻繁にチェックされるけど、頻繁に更新されないブログのフィードはあまりチェックされないみたい。クローラーのつくりとしては正しいのかもだけど、利用者としては不満が残るなぁ。

| @料理/食事

Low Carbohydonate.jpg

糖質制限したら早死にするとかいろいろ情報ある1けど、個人的には肥満脱して体調良くなってきたので得られた知見を共有します。

きっかけ

年末から年始にかけてしてたら、めっちゃのど渇いておしっこ行きたくなる症状出るようになった。

  • これはひょっとしてと思ってググったら糖尿病の症状とあった。
    • 空腹時血糖値、 Hb1Ac の値は正常範囲。
    • 尿糖検査紙買って食後の尿糖計ってみたけどセーフ。
  • しかし34歳で糖尿病になったら洒落ならないと思って、年明けから糖質制限っぽいことをやりはじめた。
    • 糖質さえ摂らなければ血糖値は上がらず膵臓は疲弊しない。

食事

炭水化物

基本的に食べない。

  • 米食べない
  • パン食べない
  • 麺食べない
  • 芋食べない
  • 果物は少し食べる
    • ただしバナナはデンプン質が多いので食べない

野菜

  • ローストビーフ
  • 唐揚げ
    • 衣は糖質だけど唐揚げの衣程度の糖質は気にしなくてよいそう
    • ただし食い過ぎはダメっぽい
    • 天ぷらの衣は NG

大豆

  • 豆腐
  • 厚揚げ
    • 糖質制限は脂肪は気にしなくてよいので厚揚げ食べまくった。豆腐に比べてボリューム感があり満足感得られる
  • 納豆
    • 一日二パックくらい食べてる
    • 九州の納豆はタレが甘いのでタレの糖質に注意がいる

  • ビールは少し飲む
    • ビールの糖質は 2.8g/100ml でそんなに多くない
  • 糖質のない酒は普通に飲む
    • 糖質ゼロの第三のビール
    • ウィスキー
    • 焼酎

その他

  • 牛乳とヨーグルトは糖質(乳糖)そこそこ入ってるので気をつけて摂取する
  • チーズとバターは OK 牧場
  • 最近は朝食代わりにシリコンバレー汁飲んでる。2
  • 小腹が空いたらミックスナッツを食べる。

炭水化物を避けて腹いっぱいになるまで食べても、食い過ぎて苦しいという感じにならない。食べ過ぎたと感じても割にすぐお腹の張りがなくなる。

体の変化

体重減ったこと以外にもいろいろ体に変化が起こって興味深かった。

体重減った

  • -6kg くらい
  • BMI が 25 未満になって肥満から普通体重になった

脂っぽさなくなった

  • 毎日夕方頃になると顔が脂でべろべろになって自分の脂の臭いが気になってたのがあまり気にならなくなった
  • 自分の洗濯物、洗っても脂っぽい臭い残ってたのが臭いしなくなった

食欲減った

  • 昼前とか夕方頃にあった強い空腹感なくなった
    • 時間になったので食べるかという感じ
  • 空腹の状態が続いてもつらくなくて、軽度の空腹状態を心地よいと感じるようになった
  • 沢山食べなくても満腹感得られるようになった

眠り

  • 初めてすぐの頃
    • 夜 12 時くらいに寝て朝 5 時半頃目が覚めて睡眠時間短くなった
    • ただ朝起きるのはつらくない
    • もっと寝たいという感じがなくなった
  • 最近(糖質制限8週間くらい)
    • よく眠れるようになった
    • 睡眠時間は 6 ~ 7 時間くらい
  • 昼食後に眠くならなくなった
    • 糖質とらないせいで血糖値の乱高下がなくなったせい
    • 全般的にいつも頭がすっきりしてる感じがする

うんこ

  • 便秘傾向
    • 回数・量減った
    • 固くなった
    • 糖質制限始めて最初の頃、切れなくて長いの何度か出てビビった。多分宿便
    • お腹弱くて結構簡単に下痢してたのが全く下痢しなくなった
  • おならがよく出るようになった
    • 肉ばっかり食ってるとおならがくさくなると言われるけど前と変わらない感じがある

味覚

  • 主食を摂らずおかずばかり食べる生活なので、塩味が濃い物をキツいと感じるようになった
  • 味覚が鋭くなって、食材のおいしさみたいなのをびんびん感じるようになった。
    • 以前うまいと思わなかったスーパードライをうまいと感じるようになった。

高脂血症治った

  • 肉とか脂もの食べまくってるのに血液中の中性脂肪が多い高脂血症が治った
    • 当分糖質減らしたせい
    • 中性脂肪は血糖値が上がった後に出るインスリンによって糖分から脂肪に変えられる。(人間の体が使わなかった糖分を体に蓄えるメカニズム)

脂肪肝治った

  • 肝機能改善しまくりwww
  • 酒に強くなった(多分肝機能改善してるおかげ)

金と時間

雑に食事済ませられなくなって、食事の準備に時間がかかるようになり食費も増えた。

金かかる

  • 炭水化物安い。肉も魚も野菜も高い
  • スーパーの総菜量り売りとかだと糖質避けて食べられるけど高い
  • 糖質制限してる人の間食としてミックスナッツやチーズがあるけどどれも高い
    • いまはほとんど主食代わりにミックスナッツ食べてて、外食してないのに昼食の食費が 1000 円とかしてしまう

手軽に食事できない

  • 朝からトーストやコーンフレークを食べられない
  • コンビニでおにぎりや総菜パンを買って食べることができない

骨休め

糖質制限ばかりしてたら気が狂いそうになるので、たまにはルールを緩めてやってる。

  • 昼に人と外で食事するときは妥協して糖質とってる
  • 一週間に一回、日曜日だけ糖質食べて良いことにしてて、その時の多幸感ハンパない

まとめ

Pros

  • 糖尿病の予防になる
  • 痩せられる
  • 眠気や体臭減少など体質変わる(花粉症の症状軽くなる人もいるっぽい3

Cons

  • 金かかる
  • 時間かかる
  • みんなと仲良く和気藹々と外食できなくなる

おすすめの情報源

なお江部氏の本、いっぱい出てるけど一番安い以下を一冊読めばそれで十分だと思う。糖質制限で痩せる仕組みや血糖値と糖尿病についてなど一通り学べる。


  1. ちなみにこれはガセ情報多いっぽい(ドクター江部の糖尿病徒然日記  朝日新聞記事、「糖質制限ダイエット、長期は危険?」に反論) 

  2. なお例の本は個人の体験を一般化してて科学的でないと思うので信じてはいけないと思う。個人の日記レベル。つまりこのブログと同じ。(http://koujiebe.blog95.fc2.com/blog-entry-3550.html#comment31238) 

  3. 「花粉症の人の60%は糖質制限で軽症化する」というデータ 

| @Mac/iPhone

MindNode

↑に書いてあるような開発の進め方を前職でもやっていて、チームで集まって見積もりをするとき、最初はホワイトボードにタスクを書き出してプランニングポーカーしてたんだけど、だんだんマンネリ化してきたし老化によりホワイトボードに書くのがつらくなってきていたので、ディスプレイのある会議室で Mac をディスプレイにつなぎマインドマップアプリケーションを使ってタスクを洗い出す、というような見積もりの仕方をしてた。そこで大活躍したのが MindNode Pro という Mac のソフトだった。

C というタスクは最初 A という大タスクのサブタスクかと思われたが、話し合いを進めていくうちに実は B というタスクのサブタスクだった、というようなことが起こりうる。そういうときにぐいっとノードを A から B に移すということができる。 C にサブタスクがあったとしてもそれごと移動できて便利。

1026-mindnode-pro-1.gif (789×551)

マインドマップを書くのに熱中していると、マインドマップのレイアウトがぐちゃぐちゃになることがよくある。これではせっかく出したアイディアを整理することができない。この 1 時間は何だったのか、ということになる。しかし MindNode Pro ならこういうときに ⌘ + ⌥ + R を押すとツリーが整理整頓されて見やすくなる。便利。

1026-mindnode-pro-2.gif (789×551)

マインドマップは視覚的にタスクのつながりを把握できるので、非開発メンバーからの受けも良く、見積もりをするときは MindNode がないと困るという感じだった。スプリントを終えて振り返るときにも MindNode を使って KPT を出していた。みんなが同じ画面を見て思っていることをアウトプットできるのがよい。

実際に先日の minne の技術戦略カンファレンスで、元同僚のイケメンスーパー貴公子プラチナハッカー @monochromegane さんが、 minne のプラットフォームチームではマインドマップでタスクの見積もりをしてるとスライドに書いてた。タスクの見積もりやるときに MindNode を使うようにし始めたの自分で、 @monochromegane さんがドヤ顔で話してるのは多少いけすかない感じはしたけども、自分なんかよりもスーパー Go lang 貴公子プラチナハッカーの @monochromegane さんに宣伝してもらった方が MindNode の開発元としてもうれしいだろうからよかったと思う。

仕事以外でも、金がなくて金策をしないといけないときなどにマインドマップを作成してライフハッカーを気取ったりしてた。最近バージョンが 2 になって、書いたマップの内容を Markdown として出力できるようになった。こんな感じ。

CQQKNWwVAAA9zgO.png:large (1024×640)

MindNode で書いてる各ノードが見出しになって、各ノードのメモが本文として書き出される。ノードのネストが深くなるほど見出しのレベルが下がっていく。バージョン 1 の頃からブログのアウトラインのようなものを MindNode で書いて、それをテキストファイルとして書き出してから Markdown として体裁を整える、という使い方をしていたので、この機能は便利だった。

しかも Markdown として書き出せるだけでなく Markdown 文書ビューワーの Marked 2 と連携していて、書いている途中のマインドマップの内容をリアルタイムに Marked 2 で Markdown 文書としてプレビューする機能が付いている。「ファイル」 -> 「詳細」 -> 「マークの付いた項目で開く」(おそらく "Open with Marked" の誤訳)で Marked 2 でプレビューできる。

MindNode -> Marked 2

マインドマップを書いているだけでブログエントリが完成して時間が有効活用できてよい。マインドマップで草稿を書いた上に清書するなどしていたらいつまでたってもブログ記事を公開できない。アウトプット業でプライベートが犠牲になる時間も短くなり、家庭円満である。お試しください。


この記事はできる Mac OS X Advent Calendar 2015 一日目の記事でした。明日は @turusuke さんです。

毎年参加するだけだったアドベントカレンダーだけど、今年は作ってみた。できる Mac OS X Advent Calendar 2015 という。なぜこのようなアドベントカレンダーをやろうと思ったのかというと、iPhone や MacBook Air 出てからだいぶ Mac ユーザーが増えたなと感じるけど、一昔前に比べて、あまり Mac の凝った使い方をしている情報が入ってこなくなった気がする。 iPhone も iPad もなかった頃の方が Mac の便利 Tip を載っけてるブログとかいっぱいあって、毎日いろんなブログを読んで回るのが楽しかった。使いこなすのに知恵がいるけど慣れたら便利な QuickSilver とか、 $50 くらいして少し値は張るのだけど思いついたことを何でもメモしておける Yojimbo とか( Evernote なんてまだなかった)。ブログで紹介されているソフトのライセンスキーを kagi みたいな怪しいサイトで購入してわくわくする、そんな経験をするのがとても楽しかった。いまはブログ書く人減ってるし、主戦場がモバイルに移ってしまって Mac の情報を見かけることがなくなった気がする。 10 年前のあの頃のように、 Mac の話題で盛り上がれたら良いなと思って作ってみた。まだ結構空いてるので、書いてみたい人いたらよろしくお願いします。

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

昨日飲みに行って今朝起きてからふとコード書きたくなって、アドベントカレンダーもあることだし(去年の Adventar で自分のブログだけ og:image がなくて画像が出てなくて残念だった)、このブログを Open Graph protocol に対応させることにした。

Twitter Card の Lokka Plugin を前作ってたのでそれを改造した。

Ruby 2.1.0 以降で使える Module#refine 使いまくったけど安全にモンキーパッチできて便利。

module AddImagesToEntry
  refine Entry do
    def images
      self.body.scan(/https?:\/\/[\w\/:%#\$&\?\(\)~\.=\+\-]+?\.(?:png|jpe?g|gif)/)
    end
  end
end

refine するときのモジュール名、 ActiveRecord のマイグレーションのクラス名みたいで面白い。