意見を述べるためのコストを上げる話
- ブログ記事にコメント欄が付いていると、記事に対する批評を書きやすくて便利
- Twitter の返信ボタンのおかげで、他人の Tweet に反論をしやすくて便利
…そう考えていた時代が僕にもありました。
気軽に意見を言える仕組みを用意すると、気軽につまらない発言をされるようになって不便だと思うようになった。例えばブログ記事にコメント欄を付ける代わりに、メールアドレスを公開するのはどうだろうか。メーラーを立ち上げて反論を書いて投稿する、という一連の作業はいかにも面倒だと思う。でも、そういう面倒なことをしてでも著者に伝えたいことがあるのであれば、それは傾聴に値すると思う。
(追記) つまらない発言をされる、って表現はよくないかもしれないな。誰かの癇に障るような語彙や表現を使ってしまったときに、前後の文脈を読まないで脊髄反射的に反応されることを「つまらない発言」と書いた。 (/追記)
確かに、つまらない発言をし合うのが楽しい間柄、みたいな関係もあると思う。でも、そういうのって内輪でできればいいだけの物だから、なにがしかの閉じた SNS であったり、Skype や LINE みたいなメッセンジャサービスだったり、そういうのでできればいいのではないか。
なんてことを考えた。
Sublime Text 2 ないし MacOS におけるページ単位のカーソル移動
カーソル移動はエディタの基本機能の一つである。
Sublime Text 2 (以下、ST2) はEmacsキーバインドをサポートしているから文字単位、単語単位、行単位の移動はEmacsのようにできるけど、なぜかページ単位の 上方向への 移動ができなかった。
検索してもST2でこの機能を実現する方法は見つけられなかった。実に基本的な操作だと思うんだけど…。
MacOS側でのキーバインドの設定
ST2のキーバインドが駄目ならMacOSの側でキーバインドを設定すればいいじゃない、という発想に至った。
~/Library/KeyBindings/DefaultKeyBinding.dict
を編集すればMacOS全体で有効なキーバインドの設定ができる。このファイルが存在しない場合は手作業で追加してよい。僕は次のようにしてみた。
この設定を効かせるためには一度マシンを再起動する必要がある。再起動後、 ctrl+v
でのページダウン及び option+v
でのページアップが 全ての 環境で実行できるようになった。
めでたしめでたし。
Pootle 2.5.0 のインストール
需要は大きくないだろうけど、とりあえず書く。
まず現時点で GitHub の INSTALL ファイルに記載されている情報 は間違いである。Pootle の最新版を解凍しても PootleServer ファイルは存在しない。2.1.6 や 2.2.0 のスナップショット版にはこのファイルが存在している。プログラムのアップデートにドキュメントのアップデートがついてきていないようである。
代わりに解凍されたファイルには setup.py がついてきている。これを実行する。
$ python setup.py install
これで終わりではなく、pootle ディレクトリに移動して次の操作を行う。
$ mkdir -p pootle/assets
$ python manage.py collectstatic --noinput
$ python manage.py assets build
これらは fabfiles.py に記述されている。けど fabfiles.py がいつ走るべきかよく分からない…ので手作業で実行する。
最後に manage.py を走らせる。
$ python manage.py runserver
これで localhost の 8000 番ポートで Pootle が起動する。
Play framework で Set-Cookie するときに domain 属性を指定する方法
Google Chromeでサードパーティクッキーを無効にする手順
新規にブラウザをインストールするときにサードパーティクッキーを無効にするポリシを取っているけれど、いつもどこから設定するのか忘れてしまうのでメモを残す。今回は新規にブラウザをインストールしたわけではないけれど、Instapaperのブックマークレットがサードパーティクッキーを使うので、www.instapaper.comだけサードパーティクッキーを許可する例外ドメインとして登録した。
なお、当方の環境はMac版のGoogle Chrome(英語版)で、バージョンは"Version 23.0.1271.101"であった。
- “chrome://chrome/settings/” をブラウザのアドレスバーへ入力する
- “Show advanced settings…” をクリックする
- Privacy メニュー内の “Content settings…” ボタンをクリックする
- “Block third-party cookies and site data” のチェックを入れる
今回の僕の場合は更に:
- “Manage exceptions…” をクリックする
- “Hostname pattern” に www.instapaper.com を入力して “OK” ボタンを押す
mosh のインストール
サイドプロジェクトのためのルーチン
新年の決意として"100$/monthの副収入を達成する"を挙げてみたけれど、アクションを起こさなければ目標達成はできないので、どうアプローチするのか考えてみようと思う。
まずは制約について。僕は会社員なので日中は仕事がある。また継続的に仕事と関係ないことを勉強したいとも考えている(今はCourseraで勉強しているし、Courseraで5つのクラスでCertificateを取ることも新年の決意の一つに含まれている)。なので、サイドプロジェクトに費やす時間は一日当り二時間までにしようと思う。『小さなチーム、大きな仕事』の中にも「制約を受け入れる」という章がある。
「私には十分な時間も、お金も、人脈も、経験もない」と嘆くのはやめよう。少なければ少ないほどよい。制約は見方を変えれば武器である。資源が制限されると、それでなんとかしなければならなくなる。そこには無駄の余地はなく、創造性が求められるのだ。
囚人が石鹸やスプーンで作った武器を見たことがあるだろうか? 彼らは手に入るものだけで目的を果たす。誰かを刺すべきだなんて言っているのではないが、創造性を持つことで驚くべき結果を得られるだろう。
僕もこの考え方に倣おうと思う。
それと『小さなチーム、大きな仕事』と言えば「副産物を売る」に書かれていることも参考にしたい。
何かを作る時、実は何か別のものも生まれている。決して生まれてくるものは一つではないのだ。どんなものにでも副産物がある。すぐれた洞察力を備え、創造的なビジネス・マインドを持った人は、こうした副産物に注目し、チャンスを見出すのだ。
材木業界は、かつて捨てるだけだったおがくずや、チップ、細かな木々を売り、かなりの収益をあげている。こうした副産物は、暖炉の丸木や、コンクリート、接ぎ木、パーティクルボードや燃料など、様々なところに見られる。
僕はプログラマなので、仕事の副産物としておがくずが出ることはないけれど、大きなプログラムの副産物として小さなプログラムが出てくることはままある。また仕事の一貫として文書を作成することもあるけれど、仕事に特化していない箇所の記述を副産物として公開することができるかもしれない。副産物として世に出し得るものについて意識的になりたい。
ルーチンについて話を戻そう。まず、毎日二時間の制限の中でサイドプロジェクトを進める。僕はprivate twitterと呼んでいる自作スクリプトで自分のアイディアをメモしているので、そこに目を通す。昼間の仕事の副産物として使えそうなものもアイディアとして追加する。そのようにして作られたアイディアのリストから有望なものについてPDCAを回す。とりあえずは、こういう風にしてやってみよう。
Functional Programming Principles in Scala
ビデオ講義を全て観終わったので、これから今週分の課題に取りかかることにする。
内容とは関係ないけれど、最初は Functional Programming Principles in Scala を周りのプログラマに布教して、みんなで一緒にやろうとしたけれど、あまりノリノリになってくれる人はいなかった。 @ujm が少し興味を持ってくれているくらいかな。彼は仕事でもScalaを書いているしプログラマとして優秀だから、色々とアドバイスをくれたりもする。助かる。
B'zのライブジム in Vancouver
行ってきた。すごくよかった。まさかカナダでB’zのライブを観れるとは。嬉しいのう嬉しいのう。
前職の同僚であるところの @mechiko ともたっぷり話した。彼女は想像以上のB’z充であった。