俺の文具:ES DIARY 2017 ウィークリーノート

昨年末、実に十数年ぶりに紙の手帳を購入した。「ES DIARY 2017 ウィークリーノート」という手帳だ。

僕が中学生の時に「パソコンサンデー」というテレビ番組で小倉なんとかというキャスターがその当時はまだ珍しかったシステム手帳を紹介していて、6穴リフィルのシステム手帳がどうしても欲しくなり、お小遣いを貯めて買ったのが初めての手帳だ。本革のような高価なものではなく、人工の革だった気がするが、大人の仲間入りをしたように思えて嬉しかったのを覚えている。しかし、中学生の少年に手帳に書き込む予定がそんなにあるはずもなく、その手帳はだんだん使わなくなった。

その後、社会人になって書き込む予定ができた頃には、Palm PilotやCLIEといったPDAが登場し、スケジュール管理はコンピュータに任せるようになった。最近ではクラウドとモバイルネットワークの発達によって、Google Calendarに登録しておけば、PCやスマホでいつでもどこでも予定を確認できる。また、リマインダを設定しておけば、優秀な個人秘書のごとく時間になったことを教えてくれる。そんな状態に慣れてしまった今では、「ポケットひとつの原則」が自分のモットーになり、すべてのデバイスが自動で同期している状態でないと安心できなくなってしまった。

コンピュータと紙の手帳を同時に使うと、どうしてもデータを二重に管理することになり、一方に記入したものが一方には反映されていないといった問題が生じる。スマホ全盛の現代において、もう紙の手帳の出番はないように思える。しかしながら、毎年年末に近所の書店や渋谷ロフトに行くと大量の手帳が売られている。昨今の手帳人気の草分けとでもいうべき「ほぼ日手帳」は、発売16年目の今年、販売部数が61万部を超えたそうだ。またビジネス系の雑誌でも定期的に手帳の特集が組まれている。紙の手帳が売れていることは間違いないようだが、「今年は頑張るぞ!」と新年に意気込んで、最初だけでどうせすぐに使われなくなっているんだろうというのが僕の考えだ。ちょうどブームのダイエット器具を買ってはみたものの、目的を達成されないまま粗大ゴミ行きとなるように。


そんな僕が再び紙の手帳を使うなんて一生無いだろうと思っていたのだけれど、「ES DIARY 2017 ウィークリーノート」に出会ったことで考え方が変わった。他の手帳との違いは、ページを一目見てもらえばわかると思う。手帳なのにスケジュールを記入する欄がほとんどない。

特徴を簡単にまとめると以下のようになる。

  • 週間見開きレイアウト
  • スケジュール欄は最小限
  • ページの大部分が方眼メモスペース
  • ToDoリストを記入するスペース
  • B6かA5かA6と持ち運びやすいサイズ

このウィークリーノート形式は2017年から追加になったもので、予定を記入する欄が極端に少なくて、ページの7割以上が方眼ノートになっている。また右端にはToDoリストのためのエリアが用意されている。このレイアウトがコンピュータで予定とToDoリストを管理している自分にはとても都合が良い。僕の使い方はこんな感じだ。

  • カレンダー欄には、大切な締め切りのみ記入。会議やルーチン的な予定は記入しない。
  • 週の初めに今週やるべき重要タスクを棚卸し、ToDoリスト欄に記入。
  • 方眼メモスペースは、普通のノートのように自由に使う。タスクをこなしていく上での気づきやアイデア、読んだ本や記事で印象に残った文章をメモする等。

要するに、紙の手帳を一般的なスケジュール管理の用途ではなく、「緊急であり重要」および「緊急ではないが重要」な事項にフォーカスし、考えをクリアにするための補助ツールとして使っているということだ。

実は、今までも方眼ノートで同じような使い方をしていたのだけれど、このES DIARYにしたことで、ページが明確に週単位で分かれているので後から振り返りやすくなった。また、方眼ノートだとどうしても使い捨てのメモ的になってしまうところ、後から参照することを考慮して少し丁寧に書くようになった。


(商品包装に記載されていた使用例)

というわけで、このウィークリーノート形式がもっと流行って欲しいので、この記事を書いた。僕が使っているネイビーのB6サイズはAmazonでは既に売り切れのようだが、楽天ブックスではまだ売っているようなので、欲しいと思った人は早めに購入したほうがいいかもしれない。


2017/02/06追記:
購入する際に最後まで迷ったのがこちらの「こと録手帖」。レイアウトはES DIARYとほぼ同じで使い勝手はよさそう。ただし、実際に店頭で手に取ってみたところ、値段がほぼ一緒なのに表紙の質感がビニールっぽくて残念だったので、ES DIARYにした。

関連リンク:
俺の文具:ロットリング・トリオペンとJETSTREAM 4C

ErgoDoxキーボードを買って、親指シフトに入門した話

もう半年くらい前のことになるが、nippondanjiさんymotongpooさんのブログ記事をきっかけにエンジニア界隈で話題になった「ErgoDox EZ」というキーボードを購入した。このErgoDoxというのは、写真のように本体を左右に分離できて、キー配列を自由にカスタマイズすることができるキーボードである。キー配列のカスタマイズが便利なのは分かるとして、左右に分離できるとなぜ嬉しいかというと、左右の位置を自分の肩幅に合わせることで自然な姿勢で作業することが出来るようになるのだ。このキーボードを使い始めてから、実際に肩こりが減ったし、考えてみると今まで使っていた普通のキーボードでは無理な姿勢になってしまっていたんだなと思う。

レイアウトのカスタマイズ

ErgoDoxを手にして最初に誰もが驚くと思うのだが、標準のキー配列はとても使いにくい。これに慣れようとするのは時間の無駄なので、ErgoDoxが届いたらすぐにカスタマイズすることをお薦めする。私もブラウザ上からGUIでカスタムファームウェアを生成できるツール「ErgoDox EZ Configurator」を使ってすぐに変更した。しかし、すぐにもっと細かいカスタマイズがしたくなり、GitHubで公開されているqmk_firmwareで自分専用のレイアウトを作成し、ビルドして使うようになった。いろいろと試行錯誤した結果、最終的に設定しているキー配列は以下のような感じになった。

MacBook Pro本体のキーボードを使うときに違和感がないように、基本的にUS配列のキーボードから大きく外れないようなレイアウトにしている。ErgoDoxの素晴らしいところは、キー配列を単純に入れ替えるだけでなく、1つのキーに複数のキーの組み合わせを登録したり、キー単押しと他のキーと同時に押す時でキーを変えたりできる点だ。例えば、左側下段の「F1 / Alt」キーは、単押しでF1(iTerm2のショートカットキーに割り当てている)になり、他のキーと同時に押すことでOptionキーになる。
また、マクロを定義することでさらに柔軟な設定が可能になる。左下に「Paste/Copy/Cut」というのがあるが、これは単押しでペースト、少し長押しでコピー、長押しでカットという意味である。このマクロを定義している部分のソースコードは以下で、キーを150ms以上押すとCmd+C、400ms以上でCmd+Xが実行されるようにしている。

const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
    switch(id) {
        case 1:
            if (record->event.pressed) {
                key_timer = timer_read();
            }
            else {
                if (timer_elapsed(key_timer) < 150) {
                    return MACRO( D(LGUI), T(V), U(LGUI), END  );
                }
                else if (timer_elapsed(key_timer) > 400) {
                    return MACRO( D(LGUI), T(X), U(LGUI), END  );
                }
                else {
                    return MACRO( D(LGUI), T(C), U(LGUI), END  );
                }
            }
            break;
    }
    return MACRO_NONE;
};

赤い色で示されているのは、Karabinerというソフトを使ってカスタマイズしているキーである。Karabinerを使って左Cmdを「英数」、右Cmdを「かな」キーにするのはMacBookで英語キーボードを使っている人なら定番のカスタマイズだと思う。キーボードをErgoDoxにしたのを機に親指シフトという日本語入力方式に入門したのだが、これもこのソフトで実現している(後で説明する)。

他にはCapsLockキーが押されたら赤いLEDが点灯するようにしている。標準だと選択されているレイヤーによって対応するLEDが点灯するのだが、私が使っているレイヤーは3つなのでLEDは2つで足りてしまう。なので一番左のLEDをCapsLock用にした。以下がそのソースコードなんだけど、こんなカスタマイズも簡単にできる。

void matrix_scan_user(void) {
    uint8_t layer = biton32(layer_state);

    ergodox_board_led_off();
    ergodox_right_led_1_off();
    ergodox_right_led_2_off();
    ergodox_right_led_3_off();

    switch (layer) {
        case 1:
            ergodox_right_led_2_on();
            break;
        case 2:
            ergodox_right_led_3_on();
            break;
        default:
            break;
    }

    // Turn the caps lock led on
    if (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) {
        ergodox_right_led_1_on();
    }
};

親指シフトに入門

実は思うところがあって、数ヶ月前から日本語入力をローマ字入力からかな入力に移行しようと練習していた。当然、ErgoDoxでもかな入力にしようとしたのだけれど、キーの数が少ないため、なかなか快適なレイアウトを見つけることができなかった。そこで、以前から気になっていた親指シフトを試してみたら、これがとても相性がよさそうではないか。いい機会なので親指シフトに入門してみることにした。

親指シフトを身につけるにあたって、私がした練習方法がこちら。

  1. WikipediaのNICOLA配列図を印刷してモニタの下など見やすい場所に貼る。
  2. NICOLA派宣言のSection 3を最初は配列図を見ながら、最終的に手元を見ないで打てるようになるまで練習する。
  3. 同様にSection 4から8までを順に練習する。入力スピードは問題ではないので、とにかく遅くても配列を覚えたら次に進む。
  4. 最後にSection 9をスムーズに打てるようになるまで、ひたすら練習する。
親指シフト - Wikipedia

このNICOLA派宣言の例文テキストがよくできていて、だいたい1週間くらいで遅いながらも配列は覚えることができた。40代のおじさんで1週間なので、若い人だったらもっと早く覚えられるんじゃないだろうか。最初は自分のできなさに発狂しそうになるが、Section 9の練習まで到達できれば、後はどんどん上達していくので楽しくなってくる。大切なのは30分でも15分でもいいから毎日練習することと、ある程度打てるようになった時点でなるべく早く実戦投入することだと思う。

結果的に、かな入力を捨てて親指シフトに挑戦してみてよかったと思う。かな入力と比べて、使用するキーが少なく、無理に上段を使う必要はないし、文字の配置もはるかに楽だ。また、親指シフトキーを最適な場所に設定できるErgoDoxとも非常に相性がいい。僕はPCでの日本語入力が日本人の生産性が低い理由の一つだと考えていて、親指シフトを標準の日本語入力方式にするべきだと思っている。

ErgoDoxの購入方法について

さて、親指シフト派や一日中PCで作業をして肩こりに困っている人に特にオススメのErgoDoxキーボードだが、日本国内のお店から直接購入できないため、入手する方法が少々面倒くさい。海外から完成品を個人輸入するか、部品だけ購入して自分で組み立てる必要がある。

しかし、先人が沢山いて、

に購入方法が纏まっているのでこれを参照すれば難しくはない。迷うのは、Cherry MX互換スイッチをどの軸にするかだと思う。こればかりは個人差があるので、他の人のレビューを参考にして自分で決めるしかない。私はErgoDox EZとFalbaTech製のErgoDoxを持っているが、ErgoDox EZがワンストップで購入できてクオリティ的にも間違いないのではないかと思う。

こんな感じで、出張にも持って出かけている。

SoftBankのiPhone 6sを無料でSIMロック解除した

先日、SIMフリーのiPhone 7を注文した。予約当日に申し込んだにもかかわらず、色をジェットブラックにしてしまったために発売から2週間近く経っても全く発送される気配がない。近々、海外に行く予定があって、その前には届くだろうと楽観的に考えていたのだが、このままだとどうやら間に合いそうにない。使っているのはSoftBank回線なので、アメリカであればそのまま無料で使えるので何も気にしないのだけれど、残念ながら今回の行き先はアメリカではない。

仕方がないので、今使っているiPhone 6sに現地でプリペイドSIMを購入して使うために、SoftBankショップで数千円程度のお金を払ってSIMロックを解除してもらおうかと調べてみた。すると、今はMy Softbankからオンラインで手続きをすれば、手数料は無料でショップにも行く必要がないらしい。数年前にお金を払って解除してもらったこともあるが、とても便利になったものだ。

というわけで、早速試してみることにした。

1. 事前に用意するもの

  • SoftBank以外のSIMカード

今回は毎月500MBまで無料の0 SIM by So-netのSIMが手元にあったので、これを利用した。アクティベーションの際に必要なだけなので、知り合いに一時的に借りたものでもOK。

2. My SoftBankにアクセス

「契約確認」のアイコンをタップする。

「SIMロック解除対象機種の手続き」をタップする。

3. IMEI番号の入力

iPhoneの製造番号(IMEI番号)を入力する画面が表示される。

これは設定画面からコピーすると簡単。

[設定] - [一般] - [情報]からIMEI番号を探して、番号を長押しするとコピーできる。
入力したら「解除手続きをする」をタップする。

4. SIMを差し替えてアクティベーション

SIMカードを差し替えて再起動すると以下の画面が表示されるので、Apple IDとパスワードでサインインする。

しばらく待って、docomo(自分が挿したSIMカードのキャリア)の電波を認識すれば完了。

 

当然ながら、元のSoftBankのSIMカードに戻しても問題なく使える。対応しているのは2015年5月以降に発売された機種で購入後180日経過している必要があるものの、無料で出来て手間もかからないので、海外でSIMカードを差し替える予定のある人は時間のある時に解除しておくといいかもしれない。

sshrcで環境を汚さずにサーバ上の .bashrc .vimrc 等をカスタマイズ

複数人で管理している本番サーバの環境をオレオレカスタマイズしてる人はいないと思うが、デフォルトのままだと使いにくいので、ぎりぎり許せる最大公約数的な設定をしているという管理者は多いのではないだろうか。
それでも、tmux や screen のプリフィックスは人によって通常使っているキーが違ったりして、これが異なるだけで非常に使いにくかったりする。自分はログインする度に以下のようなコマンドを打ちこんでいた。実に面倒くさい。

$ tmux set-option -g prefix C-t

この件についてtwitterで聞いてみたところ、皆さんサーバ上に個人用の設定ファイルを用意して、ログイン時にそれを読み込んだりしているようだった。

複数人で管理してるサーバの tmux.conf / .screenrc を個人用にカスタマイズすべきじゃないと思うんだけど、デフォルトのままだと使いにくい。みんなどうしてるんだろう?

で、これを何とかしようと思って少し調べてみた結果、以下の sshrc を使うのが便利という結論に至った。

https://github.com/Russell91/sshrc

特徴としては、

  • sshログイン時に毎回流し込むので環境を汚さない
  • いちいちサーバに設定ファイルをコピーする必要がないので、管理するサーバの台数が多くても安心
  • ローカルの設定ファイルだけメンテナンスしておけば、常に同じ環境で作業ができる
  • サーバ上の .bashrc も今まで通り読み込まれる

 

Macの場合は、Homebrewからインストールできる。

$ brew install sshrc

次に設定ファイルを用意する。

~/.sshrc
tmux() {
  local TMUXDIR=/tmp/.yamashita-tmux
  if ! [ -d $TMUXDIR ]; then
    rm -rf $TMUXDIR
    mkdir -p $TMUXDIR
  fi
  rm -rf $TMUXDIR/.sshrc.d
  cp -r $SSHHOME/.sshrc $SSHHOME/bashsshrc $SSHHOME/sshrc $SSHHOME/.sshrc.d $TMUXDIR
  SSHHOME=$TMUXDIR SHELL=$TMUXDIR/bashsshrc `which tmux` -f $SSHHOME/.sshrc.d/.tmux.conf -S $TMUXDIR/tmuxserver $@
}

export VIMINIT="let \$MYVIMRC='$SSHHOME/.sshrc.d/.vimrc' | source \$MYVIMRC"
export SHELL=`which bash`

# alias etc... as you like
alias ll='ls -l'
alias la='ls -A'

tmux関数は re-attach するためのおまじないで、これを利用することで他の人とセッションを共有しなくなる。

次に ~/.sshrc.d/ というディレクトリを作って、.tmux.conf や .vimrc を置けば設定は完了。また、ローカルでzshを使っている人は「compdef sshrc=ssh」を追加しておくと補完が効いて幸せになれる。

.sshrc
.sshrc.d/
 ├── .tmux.conf
 └── .vimrc

それでは、早速サーバに接続してみよう。普段使っている ssh コマンドの代わりに sshrc コマンドを使う。中身はシェルスクリプトで書かれたsshのラッパーなので、オプション等はそのまま利用できる。

$ sshrc username@servername
$ la
.bash_history  .bash_logout  .bash_profile  .bashrc  .ssh
$ tmux

自分の .tmux.conf が反映され、使い慣れた環境が再現されているはず。うん便利。

次に通常のsshでログインしてみると、

$ ssh username@servername
$ la
-bash: la: コマンドが見つかりません
$ ls -A
.bash_history  .bash_logout  .bash_profile  .bashrc  .ssh

当然 alias は設定されておらず、余計なファイルも全く作られていない。

ひとつ注意点としては、バリバリにカスタマイズせずに最低限にしておいたほうがよいということ。特にtmux-powerlineなどで魔改造しているような人は、サーバ管理用の専用設定を用意したほうがよい。ログイン時にファイルを転送する必要があるので、作者の方も64KB以下を推奨している。