朝、ダイニングの扉を開けたら、「おはよう」ではなく「あ、見つかった!」という声に迎えられた。そう、よきゅんはパスタを作って食べていたのである、自分の分だけ(笑)。昨日の po さん作のパスタに刺激され、同じレシピで作って食べていたみたい。
仕方ないので、僕は昨日の残りご飯をチンしたものとプレーンオムレツを作って食べた。もうちょっとトロトロにしたかったのに、うまくいかなかった。テフロンなフライパンに慣れてしまうと、鉄のフライパンは難しい。
僕も今年来た年賀状は2通だった。しかも、企業からの2通のみ(笑)。それに比べておっしー宛の多いこと!。パッと見たところ女の子率も高いみたいなのもさすが!(笑)
昨日に引き続き読書day。ただ、今日は家ではなく渋谷の「羽富(はとう)」という喫茶店に出かけて読んだ。コーヒー3杯とベイクドチーズケーキで5時間ほど。ベイクドとレアで悩んだりして、「ジャンジャンブルならWチーズで頼めるのになぁ」などと思ってみたり。
東急ストアで鶏肉と牛蒡と蓮根を買い、家にあった人参と椎茸を加え、おっしーが手にいれてくれたシャトルシェフを使い、謎の煮物を大量作成。が、しかし、思っていた味にならず微妙に失敗の予感。えーっと、明日の朝になれば、きっと味が馴染むはず。。。
おっしーが21時すぎに帰還。ちょっと話してすぐ自室にヒキコモリ。
よきゅんが24時まえに帰還。ちょっと話してすぐ寝た(かなり酔ってた)。
おーさむが24時まえに帰還するかと思ったら帰ってこなかった。
引越してきて初めて自分の部屋の暖房を入れた。
Mac OS X のユーザディレクトリで CGI を起動しようと思って、/etc/httpd/httpd.conf の UserDir 部分に Options ExecCGI を追加して再起動!、、、しても、ユーザディレクトリで CGI 起動ができない。
なんでなんでなんでー?と、ひたすら悩んでいたら、ユーザ毎の設定が /etc/httpd/users/USERNAME.conf (USERNAME はログインユーザ名)として存在しているために設定が上書きされていたというオチ。こいつを変更して、Apache を再起動したら無事に認識してくれた。
「世界初の OVA」であるところのダロス全4話を一気に観た。押井守が(共同)監督と言うことで非常に期待したのだけれど、正直に言って途中で辛くなった。観るのをやめようかとも思ったけど、ここでやめたら一生観ないだろうなと思ってがんばって最後まで観た(笑)
OVA というジャンルを確立させた作品という意味での価値はあるのかも知れないけど、観たからと言って特に得るものはないので無理して観なくても良い。とは思うけど、DVD が出るようなのでチャレンジ精神旺盛な人はどうぞ。
僕なんか気がついたら2日から今日まで一歩も外に出ていなかったよ! でも、これはある意味、正しい年始の過ごし方だよね?(笑)
GTDをやり始めた当初、フローに従って、一週間以上先にやるつもりタスクを「いつかやる/多分やる」リストに、一週間以内だけどちょっと複雑なタスクは「プロジェクト」に、一週間以内にやらなければならないタスクを「次にとるべきアクション」に分類していた。
最近は、そこに「今日やること」を追加して次の4つのリストにして、check*padで管理していた。
会社から帰る前に、「次にとるべきアクション」の中から「明日はコレをやろう」と考えた項目を「今日やること」に移動。翌日は「今日やること」にあるタスクをひたすらこなし、リストを空にする。この方式のメリットは「リストを空にできた!」というヨロコビを感じる回数が増えることだ。
もっとも、実際の運用の中では、「今日やること」が終わらずに翌日に持ち越しというパターンも多かった。一日分に入れるタスクの分量に間違いが多いのかと考え、各タスクに、次のように作業想定時間を記入していた。
この時間の合計が6時間とか7時間で収まるようにすれば、1日がうまく終わるに違いないという考えだ。これを実施していたところ、結果はともかく「計画してるぜ!」って気分になれるので、なかなか良い。
で、今回、Remember The Milkに移行したのは、この辺りの考え方もシステムに取り込まれていたためだ。各タスクには「予測時間」というプロパティがあり、ここに「1h」だとか「0.5h」とか書いておくと、そのリスト内の合計予測時間を合計してくれる。たったそれだけだけど、1日分の作業量計算をする場合には非常に便利だ。
また、RTMでは、リスト名を見直して、次のようにした。
1はそのままで、2は「次にやるべきアクション」、3は「いつかやる/多分やる」をそれぞれ改名したもの。4は新設し、相手に依頼したものの返答待ちなどに使ってみている。「プロジェクト」はあまり使っていない(使えていない)ので無くしてしまった。この変更は今日実施したので、ここからしばらく運用して違和感がなければそのまま続けようと思っている。
こういった「今日のリストを作る」とか「予想時間を利用する」といった考え方は「 エンジニアのための時間管理術」からもヒントを得ている。この本は、GTDに特化している訳ではないけれど、GTD的な考えが入っており、今のオレには丁度合っていた。
GTD的なものの他には、「時間の浪費」「自動化」などの章が参考になった。あとmakeコマンドを利用したシステム管理の方法が面白かった。
O'Reillyの書籍紹介ページで、サンプルのPDFも公開されているので、興味があれば参考にどうぞ。エンジニアなら読んでみて損はないと思う。
バカバカしさを期待しつつ観た訳だが、途中で飽きた。一作目では、エイリアンとプレデターの戦いに意味があったのだけど、こちらはそういった意味は全くなし。2作目を作る為に無理矢理設定を作り上げたという感じが強い。
つまらないゾンビ映画みたいになっちゃっていて、これは劇場で観なくて正解だったなぁ。
これもバカバカしさを求めて観てたのだが、意外と(?)良く出来ていて、かなり楽しめた。あんまりヒットしていたような記憶が無いんだけど、この作品は、もうちょっと評価されても良いんじゃないかなぁ。
子供の頃にマッハ号への憧れを持っていたので、ちょっと甘口評価になっているきらいはあるけど、なかなか楽しめた作品だった。
ジョン・ウー作品なのになかなか鳩が出てこなくて「まさか出てこないのか?」と思ったけど、途中でちゃんと出てきたので安心した。
それはともかく、なかなか面白かった。まぁ、あんまり期待しないで観てたのも大きいとは思うんだけど。
近未来の設定で、コンピュータとのインタフェイスはかなり進化している描写がある一方で、主人公が使っている録画メディアが VHS テープだったりして、ちょっと萎えたりも。せめてディスクメディアにしとこうよ。
PostgreSQL の psql コマンドでは、\x を使うと、クエリ結果を1行1カラムで表示してくれる。テーブル内にカラム数が多い場合に非常に重宝する。
これと同様の表示を mysql コマンドでできないものか?と思っていたのだけれど、ほとんど MySQL を利用しないので、それほど突っ込んで調べていなかった。
で、今日、ちょっと MySQL を使うことがあって、いつものごとく mysql コマンドで1行1カラムにできんなーと悩んで、Twitter でツブやいたら「MySQL and Postgres command equivalents (mysql vs psql)」という、超絶素晴らしい記事を教えてもらった。
結果としては、
SELECT * FROM table \G
のように、クエリ末尾のセミコロン(;)の代わりに「\G」を付けてやると1行1カラム表示になった。もうオレ感涙。正直なところ、この表示ができなくて、MySQL が嫌いだったもん。
まぁ、表示方法のコントロールが SQL 文中に含まれているみたいで若干気持ちが悪いところはあるんだけど、やりたいことはこれでできた。少しだけ、MySQL と仲良くなれる気がしてきた(笑)
最近は Selenium に触れる機会が多くて、いろいろと調査したりしている。そんな中、Selenium プロジェクトがリリースしている「Bromine」も調べていた。
このツールは、複数の Selenium-RC を束ねてコントロールする Web アプリケーション。CakePHP で構築されている。
Bromine が束ねるそれぞれの Selenium-RC で、別々の OS / ブラウザを利用するように設定すれば、Bromine 上でポチっと1回実行すれば、複数の OS と複数のブラウザでのテストを自動実行してくれて、レポートとして出してくれるというモノ。
Selenium-AES の代わりになるのかな?と思って、ちょっとインストールしてみた。
インストール直後にアクセスすると、インストーラ画面が出るんだけど、ここで CakePHP でおなじみのエラーが表示された。書き込み可能にする必要があるディレクトリのパーミッションが違うってヤツ。
その後、もしかして?と思って調べてみたら、想定通り CakePHP の i18n 機能が使われていて、超簡単に日本語化もできた。まだ全部は訳してないけど。
多言語化を意識していない部分もあるので、全てがそのままで OK というワケじゃないけど、やっぱり CakePHP の i18n 機能はいいね。CakePHP 使ってアプリケーション作るなら、最初から使っておくべき。
およそ3ヶ月半ぶりの職場復帰。クリーニングに出したスーツを着て、ピシッとしたつもりなのに、出社後に左腕部分に虫食いを発見してしまって凹んだりも(笑)
今日はほぼ1日未読メール処理。33万通ほどあったけど、なんとか終わった。システムのステータス報告メールやアラートメールで20万通以上あった。日々処理している頃から「ちょっと細かくステータス流しすぎなんじゃないの?」と思ってたけど、こりゃ整理しないとなぁ。
その他のメールも、フォルダ分け設定ができていたものは、その重要度に応じてサクっと既読にしちゃったけど、inbox に入ってしまった分が1万5千通ほど。ざっくりではあるけど、目を通しつつ処理してったら、これがものすごく時間がかかってしまった。オレのいない間にスタートしたメーリングリストがあって、そのメンバーに(出社してないのに)入れられてしまっていたので、通数が増えていた感じ。
今後は、会社の現状把握をしつつ、いろいろと動いていく予定。入院前と全く同じことをするよりも、ちょっと方向性を変えてみようかとも思ってるんだけど、さて、どうなることやら。
ひさびさに CakePHP を clone したら、.editorconfig
という見慣れないファイルがあった。
ファイル内はこんな感じ。
; This file is for unifying the coding style for different editors and IDEs.
; More information at http://editorconfig.org
root = true
[*]
indent_style = tab
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
[*.bat]
end_of_line = crlf
http://editorconfig.org/ を見に行くと、EditorConfig というのは、複数のエディタや IDE 間で設定を共用しようというプロジェクトで、各エディタ用には、このドットファイルを解釈するためのプラグインが用意されているのであった。
当然、あるだろうと思って見てみると、やはり Emacs 用のプラグインも用意されていたので、早速インストールしてみた。
M-x package-install editorconfig
よっしゃ、簡単じゃん!と、プロジェクトのトップディレクトリにある index.php
を Emacs で読み込んでみたものの、インデントがスペースのまま。 .editorconfig
で定義されているタブによるインデントにならない。
あれ?なんで?と php-mode の設定とかを触っていたんだけど、実はこの辺は全く関係がなかった。よくよく調べてみると(というか、EditorConfig のページを読み込んでみると)、このプラグインを使うには外部の実行コマンド editorconfig
が必要だったのだ。
こいつは Homebrew に存在しているということだったので、そっち経由でインストール。
$ brew install editorconfig
今度こそ大丈夫だろ!と Emacs を再起動しつつ index.php
を読み込んでも変わらず。うーん、と悩みつつ、 editorconfig.el
のソースを読み始めたら、 edconf-exec-path
という設定と、それを使ったファイルの存在確認処理を発見。
あぁ、これにフルパス設定したろ、と次の記述を init.el
で読み込まれるファイルに追記した。
(setq edconf-exec-path "/usr/local/bin/editorconfig") ; Homebrew でインストールしたコマンドのパス
(後で発見した「EmacsでPATHの設定が引き継がれない問題をエレガントに解決する」を使って、シェルに設定している Homebrew 用の PATH を引き継ぐ方法の方が良さそうな気がする)
これで再び CakePHP の index.php
を読み込んでみたところ、インデントがタブに切り替わった。
いままで、Emacs の php-mode には、 php-enable-symfony2-coding-style
やら php-enable-wordpress-coding-style
のような個別プロジェクト用にコーディングスタイルの一括設定関数とかが用意されていたんだけど、プロジェクトが増えていくごとに破綻して行きそうだし、この EditorConfig プロジェクトの方がスマートだね。
本日より株式会社メルカリで働くことになりました! いろいろと考えた結果、この選択をしました。この決断がよいものになるように、楽しみながら仕事をしていきたいと思っています!
(ですます調、ここまで)
社内の Slack を眺めていたら Emacs のチャンネルがあったので、早速参加。どのチャンネルよりも早くそこで発言したら、反応を貰ったりして、もうそれだけで入社して良かったよ。オレのこれまでの人生の中で一番周囲の Emacs 率が高いんじゃなかろうか。
会社支給の Mac を設定していて、もちろん Emacs も入れようと思ったら、git HEAD + emacs-inline.patch 版でのコンパイルが通らなくなっていた。半月前くらいに新調した個人の MacBook Pro ではコンパイルできていたはずなので、この年末年始に何か変わったのかもしれない。
仕方ないので、仕事中は標準の Emacs 24.5 をインストールしておいて、家に帰ってきてからちょっと HEAD 用のパッチを調整し、Homebrew 用の Formula も修正した。
これで、下記を実行すると、git HEAD + emacs-inline.patch の環境が出来上がるはず。
% brew tap suzuki/emacs
% brew install suzuki/emacs/emacs --with-cocoa --HEAD
まだ、この日記を書くぐらいにしか利用していないので、何か問題が残っているかもだけど。ということで、Emacs の話が9割くらいになった入社報告はここまで。
ついでに、たまには(いや初めてか?) Wishlist をさらしてみるよ。
なんか届いたら嬉しいな!
▽ ウラウラ [アキラの続きが読みたいよう〜。]
▽ すずき [タイミングが合うときなら、いつでもいいよ〜]