Spinach Forest

October, 2018

/ 関心過剰   / MacBook Air - Apple   / ステロイド   / コーディング面接   / Being Shippable   / 人事考課の季節   / 何を仕事に数えるか   / HV: Kick The Hello Tires   / Pick Your Battles   / Finally Dead   / 卵と壁と窓   / Interview with the Google Pixel 3 Camera team - YouTube   / Link: Ask HN: Ex-FAANG developers, where are you now and why? | Hacker News   / Gastritis   / 出荷を見届ける   / 長続きするコツ   / NVML / NVIDIA SMI   / Unlearning The Dream Job   / 割れ窓理論再考   / Bugs are Eating (My) World   / Gmail   / ... 

関心過剰

|

Rebuild.fm に呼んでもらったのでカメラの話でもすっか・・・としたわけだが(他に話すことが何もない)、エゴサーチしていると思ったより話題になっているようでやや焦る。根本的に話してまずいことは話してないはずだが、広報のひととかギョッとした可能性あるな。ごめんね・・・。基本的にはこういうところで細かいことを言わないのがあの会社の良いところだけれども、電話機日本再上陸はおもったよりだいぶ注目されていたのだった。

US だともう三代目なので特に novelty はなく、はい発表会、ハンズオン、レビュー、みたいなメディアの空気を感じるし、自分もそう思っていた。日本の注目度が高いのはきっと良いことなのだろうけれども、今更ベンチマークで iPhone と比べていたりして、おまえら Snapdragon を何だと思ってるんだ・・・と思ってしまう。いやいいんだけど。

ブラウザ仕事の頃は、コードもオープンソースだったし、他に日本で同じ仕事をしてる人もたくさんいたし、ウェブ開発者が顧客みたいなプロジェクトだったし、対して注目されるような仕事でもなかった。しかしスマホはコンシューマ製品で、カメラは推し機能。そして日本語圏でその機能にいちばん精通しているであろう人間がたまたま自分(周辺チームに日本語圏のプログラマがいないから)という組み合わせによって予期せぬ関心を招いてしまった。

まあ自分も心の何処かで人の関心を引きたい気持ちがあり(メディアで話すというのは本質的にそういうもんである)調子に乗りすぎたのだろうね。しかも自分が根本的な部分でカメラの専門家でないせいで、話す内容がどうしても素人向けというか表面的でネタっぽいものになってしまった面もある。

やりすぎたのは今回は仕方ないとして、その関心を自分の風評の水増しに使わないよう気をつけないとなあ。まあ話を聞いて自分がカメラテクノロジの専門家だと誤解するような非素人はいないと思うので、そんなに心配してないけど。

MacBook Air - Apple

|

via MacBook Air - Apple

こういう Macbook が欲しかった!これだよこれ!というかんじですが・・・(高いのはさておき)。

しょうじき XPS13 2015 特に困ってない(Linux laptop の根本的なダメさを受け入れるなら)ので衝動買いを正当化はできないなあ。いまや家でぜんぜん PC さわってないし、3 年では償却できん。来年くらいかね。ていうか家計簿つけだすとこういうのを衝動買いできなくなるのであることよ。

しかし欲しいなー。今年でた様々なデバイスのなかでこれが一番ほしいな。なんでこんなにほしいのかと考えるに、XPS13 の前に使っていて水没のため亡くなってしまった前代の Air を気に入っていたからだろうな。Apple も most beloved mac と言ってるけれども、ほんとにそう。XPS13 は別に気に入ってはいないからねえ。自分が所有し使っている計算機が好きになれない現状は情報産業従事者としても物欲者としても若干悲しい。


どうも遅いっぽいなあ。じっさい CPU のクロックとか XPS 13 2015 と大差ない。重さも似たようなもんだし・・・。まあ XPS / Ubuntu の問題は CPU の性能ではなく細々としたできの悪さなので性能を比較しても仕方ないのだが、三年前のハードウェアを買い替えて性能に差がないというのはさすがに寂しいのではないか。

XPS13 に Windows 10 を入れれば一定程度 Linux のダメさが改善される見込みはあるが、一方でももう Windows とか使いたくないのだよ・・・適応しなおすガッツないでござるよ・・・。

Macbook Pro を買えという話なんだろうけれども、あんまし好きじゃないのだよなあ Pro. TouchBar とかここのそこからどうでもいいものに F keys を奪われてしまうのいやじゃよ。

我ながら無駄に picky で呆れる面はある。Evernote を受け入れ Macbook Pro を受け入れれば人生ラクになる(部分的に)のだろうけどなー。このガジェットについて考える時間の無駄さといったら。

 

ステロイド

|

子供の肌荒れが治らないのでゆこっぷ(おくさん)がステロイド系の薬を買ってきて使いはじめる。その後小児科にかかって正しい処方の仕方を教わったものの、カジュアルにステロイド系の薬を使うことにショックを受け「ちょっとオンラインで副作用とかについて読んでちょ」と釘を刺したところ、be on the same page の方がよいと思うので読むべきリンクをよこせという。そりゃそうだ、といくつか探してみたところ・・・むしろ自分が神経質すぎてよくなかったことが判明し、反省した。要するに、副作用はあるが使わずに悪化するとより辛いのでさっさときっちり使って直し、治ったら使うのをやめなさいねという話であった。

ステロイド系薬に自分が感じていた不信感は、20世紀末にあった過大報道(内服と塗薬の混同など)と、そこから始まった民間療法ビジネスの影響だったらしい。自分は弟にアレルギー性皮膚炎があり、自分の両親は当時のそうした報道などにひきずられて反ステロイドに振れていたのだろう。そこまで極端に拒否していた記憶もないが、なにしろ自分のことではないのでよく覚えていない。ただ時代の不安な空気だけが記憶に残っていた。ゆこっぷファミリーは健康体でアレルギーとかはなかったらしく、おかげでそうした不安に囚われずに済んだのかもしれない。健康が一番であることよ・・・。

オンラインの医療情報は破滅していることが多いが、アレルギー性皮膚炎(「アトピー」)についても同じことがおきており、かつそうした過去の空気および民間療法ビジネスの隆盛にともないだいぶひどいかんじになっている。最近の自分はすっかり Mayo Clinic だのみ、たまに WebMD も見るくらいで、今回のように日本語で調べたい時は go.jp に絞って検索するようになった。政府の陰謀論的なものがゼロと断言する気はないが、相対ではだいぶマシに見える。日本語圏にも Mayo Clinic 相当がほしい・・・。

しかし go.jp のサイトは PDF ばっかりな上に、そこからリンクされている厚生省のワーキングンググループの調査の成果(を参加した大学教授がまとめたもの)、みたいのが .org にホストされていたりしてまじゲンナリ。百歩譲って ac.jp にしてくれよー。


ちなみに Mayo Clinic を見ると塗るのはともかく内服はやべえぞ、という書きぶり。内服とかあるんか・・・とみると喘息の吸引薬とかがそうらしい。あれはたしかに効きすぎてやばい。知ってる。あとはスポーツのドーピング。まあこれは他人事なんでいいかな・・・。

コーディング面接

|

熱心にコーディングインタビューの勉強をしている人をみると肩身が狭く辛い気持ちになる。

自分が転職したときは、面接の数週間前にリクルータに top coder やっとくといいよ、といわれたがリアルタイムで戦うのは大変そうなので過去問をいくつか解いてみて、なるほど案外難しいな、と更に何問かとく、ということを 2-3 週くらいやった記憶がある。面接でのコーディング自体も特別スムーズに答えられたわけではなかったが、なんとなく採用された。運のよさはあった。

今でもコーディングクイズ類はまったく得意ではなく、転職するなら練習しないといけないのだろうとは思うも、しょうじき大企業の面接を突破できるところまで自分を訓練できる気はしない。一度やめたらそれまでだろう。なので気分転換に会社やめてみっかとはなかなか思えない。息苦しさはある。周りを見ても、東京時代はさておきここ数年の同僚たちを見る限りクイズ面接突破の再現性があると思えるのは半数以下ではなかろうか。東京は妙に競技家率が高かったな。


競技的コーディング力に対する自分の態度は煮え切らない。

競技力は、面接はさしおいてもあるに越したことはないと思っている。「競技的コーディング面接は無駄」と主張する一団とは距離を置きたい感じ。一方で自分はそうした能力がないので、ほら競技力あればこんな風にいいでしょ、と実演できるわけでもない。ズバっとかけたらカッコイイのになあと思いつつ、もっさりとコードを書いて暮らしている。

ここでも理想と現実が乖離している。つまり、競技的なコーディング力に価値はあると信じたい。しかし自分はその理念を体現していない。コーディング面接トレーニング勢から目をそらしたくなるのは、その距離を思い出させられるから。もっと言えば、自分はゆとり入社組みたいなもんなのではという後ろめたさ。

一方でテック大企業の年収高騰に伴い面接対策としてのコーディングクイズがジャンルとして確立した結果、技能として意味のある範囲を超え悪い意味で受験勉強化してしまっており、面接の効能を損ねているのではという残念な気分もある。これはクイズ的コーディング技能にも意味があると考えたい上の気分と矛盾しているけれども、現状の行き過ぎを懸念しているという話。

受験勉強としてのコーディングについて軽く調べると、MIT は 2009 年にもう対策クラスやってた。 vs. Stanford at 2017. 東海岸やるな...

現実問題としてコーディングクイズはほんとに決定打なのだろうか。特に数値に基づかない自分の印象としては、コーディングクイズは fizzbuzz をちょっと高級にした一種の screening というだけで、その他の様々な non-coding な話題も割と重みを持っている。さらに言えば運や相性も大きい。じっさい運とか相性とか、そういう一見あまり客観的じゃない要素もあった方がよいとおもうんだよね。運がわるかったと move on できる方が精神衛生にいいし、システムの欠陥も乱数の力で多少緩和できるだろうし。

世の中には妙に知識だけあってコードがまったく書けない人というのが存在し、そういう口だけな人をうっかり採用しないための仕組みがコーディングクイズなのだ・・・と思うんだけれど。なんでちょっと練習するくらいでいいんじゃないの?だめ?世の中的には駄目って風潮なのできっと駄目なのだろうなあ・・・。自分は妙に知識だけある側に近いので、それもまた居心地の悪さにつながっている。

Being Shippable

チャットにて。

TPM 「みてくれこの cherrypick の数を hahaha」 (リリースツールのスクリーンショットを貼りながら) 隣のプログラマ「もっと頻繁に ship できるとよいねー」 TPM 「本気かい」 自分「頻繁に ship してれば cherrypick のうち新機能の分はいらなくなるから頻繁に ship するほうがよいのでは」 TPM 「自分もやりたくてやってんじゃねーんだよ!」 PM「TPM 氏はやや無理のある今回のリリースを引き取ってくれたんだよ」 自分「いやいや TPM 氏には感謝していて、我々のコードがもうちょっと often shippable だったらよいのにねえ、という話ですよ。」(おっとっと) 一同「そうだねえ・・・」

最近やってきた隣のプログラマは often shippable な mature product 出身。力を合わせて shippability を上げていきたいところである。10 年前か、みたいな話ではあるが仕事というのはそういうものです。

人事考課の季節

|

あいつらはやくエラくなってくれないかなーと思っていた人々がちゃんと出世していた。めでたい。自分より ladder が下の人々が自分より活躍している状態のは精神衛生によくないため、それが adjust されていくのはよい。主観的に二段階くらいズレてる人がいたからね。あなたたちもう一段いけるよ。早くエラくなってわたくしめを下僕として使っておくれエリートな若者たちよ。

ある時期までは他人の出世を羨む気持ちが少しはあったはずだが、今やゼロ。手放しで喜んでる。

追記

自分の rating も回復した!大幅減俸回避(たぶん)!!いやー精神的にマジしんどい半年だったわ・・・。残業なしでも真面目に働けば最低限のラインには到達できることがわかってよかった。ダメだったら定時外をつっこまざるを得ないと考えておりました。まあ少々のダウンは予期している。やむなし。

真面目に働いた結果として仕事から遊びの要素が完全に失われてしまったが仕方ない。あと 1-2 年は引き続き真面目に働き、遊べる余地を作らないとなあ。今のチームはスパルタすぎる。

・・・とかいってうっかりまたチームを移ったりするとリセットされてしまう悩ましさもある。Chrome をやめた時は今後は三年ごとにチームを移ろうと思っていた。しかし今回のストレスを鑑みるにチーム固有の技能をためてマージンを作り、そのマージンで色々遊ぶ期間があった方が良い気もする。ほんとはそういうのも含めて 3 年くらいでローテーションできるといいけれど、現状の実力を鑑みるにもうちょっと必要そう。なので長居しても辛くないようチームの code health をなんとかせねばならん的な気持ちになります。

何を仕事に数えるか

|

仕事、というとなんとなく会社に行って働く・・・でなくてもいいけど直接の対価のためになんかやることを指すように思えるが、趣味でコードを書くのもプログラミングの本なりネットの記事なりを読むのもブログを書くのも仕事だよなと思う。仕事というと若干ニュアンスが違うかもしれない。 Work といえばいいだろうか。Work Life Balance の Work.

仕事とか Work という言葉にアレルギーがあるなら career progression でも良い。

「仕事」と「勉強」を区別するのはナンセンスである。仕事と仕事以外の境目だってそれほどはっきりしていない。会社での仕事はふつう収入に直結している。投機性がない。いわゆる「勉強」には将来役に立つかもという期待があり投機的である。ここでいう期待は動機のことではなく、期待値とかいうときの期待ね。

会社の仕事にしろ、チームや組織の思惑と自分の思惑が 100% align しているのなければそこには常にトレードオフがある。つまりチームのために完全に献身するとは限らず自分のやりたいことをやることはある。たとえばバグのトリアージ遅れやテストインフラを改善した方がチームの生産性あがるだろうなーでもそんなもん自分じゃやりたくねーわ、とプロダクションのコードを書くとか。逆に新機能遅れてるけどあんま興味ないんでスルーしてツールでも作るか、とか。

自分の正しいと思っていることと TL やマネージャの正しいと思っていることがズレることもよくある。こういうとき、自分の正しいことをやるのは「趣味」で、上から降ってくる意向に従うのは「仕事」なのか?「仕事」した方が給料はあがるかもだが。

ていうか、そもそも勤務時間中だって別にずっと目の前の仕事だけしてるわけじゃないでしょ。しててもいいけど、それって割と選択の余地あるじゃん。カリカリ働けば成果を出せるし、チンタラしてると進まない。そしてチンタラ働いている人はそれなりにいる。そこに consequence はあるが、一方で給与と成果の関係は特に linear というわけではない。人によって適切なチンタラ度というものがある。チンタラとまではいかないにせよ、残業してバグを直すか諦めて五時で帰るかとかも、選べるといえば選べる。

もっといえば、丁稚奉公なり石の上にも三年みたいな働き方は将来の見返りを求めており、投機性が高い。投機性が高ければ趣味というわけではない。

「勉強」にしたって、たとえば仕事で使っているライブラリやツールについて調べるのはまったく投機的でない。このツール/テクニックは仕事で使えそうだな、と調べるなら少し投機的である。転職に向けた準備で何らかの調査や訓練をするのは更に投機的だが、一方で転職って仕事そのものじゃん。

いや勉強じゃなくて趣味ですよ、というのだって、そこで得るものが仕事に役立つ期待(将来の確率)があるなら、それは仕事である。趣味と仕事が排他である必要はない。期待値の高低はある。だから個々のアクションの仕事としての濃度には差がある。ウェブプログラマで食ってく予定の人が FPGA やるとか、マネージャになる気がないのに経営の本よむとか、期待値低め。

目先の仕事にしろ趣味のコードにしろ、その経済効果、必ずしも financial なものである必要はないがなんらかの objective function, との相関ははっきりしていない。人は portfolio について考える必要がある。


子供の相手をするとか、配偶者と話をするとか、家族でどこかにでかけるとか、掃除洗濯炊事とか。これらのアクティビティが仕事の役に立つ可能性は限りなく低いので、これらは仕事ではないと言って良いだろう。Work Life Balance でいうところの Life に相当する。マンガや小説を読むとかの非プログラミング余暇活動も、多くの人にとっては Life にカウントしてよかろう。

Jeff Bezos の Work Life Harmony 理論によればこうして家庭で refresh するのは翌日の仕事の糧になるでしょ、という話になるわけだが、そういうマクロで不透明な話はおいておく。

仕事に人生のどれだけをどんな形でつっこむかは、つっこむ資源(時間)の話と時間のポートフォリオ、経済的合理性とそのほかの principles のバランスなどによって決まる話。資源がいっぱいあると余裕をもって振る舞えるし資源がなければ妥協や工夫を求められる。ポートフォリオの攻め度合いには性格もあらわれる。Financial freedom 以外の principles は単なる性格を超えた人となりを物語っている。

資源を沢山もっているリスク選好の高いの人々がそれを活かして楽しく Work しているのをみると資源も度量もない自分は羨ましすぎて悲しくなるが、持てるものの違う他人と自分を比べても仕方ない。

そうした制限と意思決定の連続が職業人生だとおもう。

だから他人の人生のパラメタを知らずにプログラマはこうあるべきと叫ぶ人々をみるとうんざりする。あえて細部を無視し声を上げる政治活動に意味がないとは思わないけれど、政治活動にしちゃメッセージの届け方が無神経だよ。


追記 (2019/10)

オンラインの声の多くは既に価値観を共有する相手を探すための sonar であり、反りの合わない意見が目につくのは文字通り noise に過ぎないという社会分断主義を受け入れた結果、主張の雑さはバグではなく仕様だと思うようになった。自分は自分のやり方で仲間を探していきます。

HV: Kick The Hello Tires

|

コード書き、やはり仕事にある程度近い部分に stick しておきたい。そしてそのジャンルでかいプロジェクトをやる準備は自分には整っていない。まず画像/カメラ関係のアルゴリズムやら API やらをさっと試せる下地が必要に思える。というわけでしばらく hello project をやりたい。Hello Vision 略して HV.

なにをやりたいか。ざっと braindump:

  • カメラ Preview Only ライブラリが理想だが、まずはアプリの雛形で。
    • GL View.
    • Full-size JPEG 保存
    • Intent Share
  • Android C++ Recommended Way
  • Android Java Blaze
  • Android C++ Blaze
  • Android GL w/ C++
  • Android OpenCV
  • Android MLKit
  • Android MLKit + Camera
  • Android Halide
  • Linux Halide
  • Android GL + Camera + C++
  • Android Camera + Halide
  • Python OpenCV
  • TF Review
  • Android TF(Lite) + Python TF E2E
  • カメラ画像 -> TF Training -> TFLite Infer E2E
  • PyTorch Vision
  • Android Caffe2Go

全部行ける気はまったくしないが、手を動かすうちに実際に欲しいものいらないものもクリアになってくることでしょう。

今日は寝る。

Pick Your Battles

|

バグの相手が辛い問題への対症療法的なアプローチとして、午前中はバグの相手をしないことにしてみた。明らかに自分が悪くてさっさと直すような奴は別として、バグはほっといてコードを書く。そこそこ精神衛生が回復。

若干良心が痛むが、バグの相手はメールみたいなもの、と考えれば妥当に思える。じっさい時間と精神力を drain される点がメールとよく似ている。自分はメールをスルーする力はかなり鍛えてきたけれども、バグも似たような感じで程々にスルーしていったほうが良かろう。マネージャとか TL とか大変だけれども、まあ応援してるからがんばって。応援してない風だけど心の中では応援してますから。

バグが painpoint だからといってバグ処理スループットの改善に邁進するというのは、メールが painpoint だからといってメール読み最適化のためのツールを開発するようなものに思える。場合によっては worth かもしらんけど、自分の戦場ではなかろう。こういうのって頑張れば頑張るほど寄ってくるからね。Pick your battles ということで。


誰が pick すべき battle なのか。もし自分がマネージャでバグの相手が主戦場なのだとしたら、何かを頑張る価値はあるんだろう。もしバグレポートを NLP で解析する仕事がフルタイムであるならやって良いとも思う。一方でバグを直す当事者以外ががんばっても良いものはできない気もする。スーパーハカーの参入が待たれる。

 

Finally Dead

むかしもらった初代 Chromebook Pixel が、ついに update を受け取らなくなった。Chrome 68 で終了。お世話になりました。当時のレビューを読んで懐かしむなど。こんなものを I/O で配ってたんだからずいぶん景気いいよなあ。

無駄に高機能なハードウェア・・・と当時は思っていたものだけれども、今見るとメモリ 4GB か。ハイエンド Chromebook にしてはやや少ないな。動作も今やだいぶもっさりしているが、それは CPU やメモリのせいよりは自分が一度も reimage していないせいな気もする。セキュリティの都合で会社でやってもらう必要があり、かったるくてほっといたのだった。

会社電話機の dogfooding を初めて以来仕事のメールが読み書きできなくなる心配もなくなったし、お勤め終了だな。会社に持っていって窓口に返そう。

5 年というのは、ラップトップの寿命としてみると案外短く感じる。この Pixel の寿命がことさら短く感じるのは、ハードウェアが現行の Chromebook たちと比べて特別見劣りするわけでもないからだろうね。

卵と壁と窓

|

Always on the side of the egg - Israeli Culture - Haaretz

当時すなわち 2009 年にこの話を読んだ自分は、村上春樹と違ってじぶんは "The System" を支持すると思ったのをよく覚えている。

去年から今年にかけて、世の中や自分の勤務先をめぐる軋みのようなものに圧倒される、というと大げさだけれども失望する、というのもちょっとちがうが、なんというか、ある種の納得のようなものがあり、最近ふとこの話を思い出し、なんとなく読み返してみた。

これを最初に読んだとき、自分は The System を政府や企業のようなものだと考えていた気がする。それは近似としてはあっているが、The System だと世間から思われている企業の下僕として何年も働いたあとに振り返ると、いやそうじゃないんだ、といいたくなる。これは概ね言い訳でしかなく、何かを正当化したいわけではないけれども、ここでいう The System というのは政府や企業やメディアを動かすインセンティブのフレームワークみたいなもので、あいつらがしょうもないのはなんというか、フレームワークの帰結なのではないか。

とはいえ自分という個人もやはり一つの egg なのだ、と主張する気もなく、今や wall の構成分子になってしまった自覚はある。なので卵をぶつけられても仕方ないなと思う(やだけど。)皮肉なことだが、The System の正しさを信じていた 2009 の自分は今思えば egg だったね。The System いいじゃん、みたいな judgement ができるというのは個人というものであることよ。今はもう The System には良いも悪いもない所与の事実みたいなものという感覚が強い。それはたぶん間違っているが、では wall のない世界なんてありうるのか。腐った卵のスクランブルエッグになるだけじゃないの。


ところでこの講演は egg と wall ばかりが引用されるけれども、小説家としての世界に対する態度、 lie と story の力、というところも割と読みどころだと思う。プログラマというか自分も、もうちょっとこう、世界に対して個人的な態度がとれればいいのにね。

この話を思い出すきっかけになったのは割れ窓理論との再会だった。割れ窓理論で世界をクリーンに保とうとする post agile で automation everywhere なプログラマの世界観って、どう見ても The System だよね。アジャイル原理主義者だった 2009 年の自分が The System に肯定的なのは自然なことに思える。そして The System の駒として組織に埋め込まれたプログラマたる自分がとれる小さな個人的態度が @SuppressWarnings なのではないか。いやでまかせです。すみません。

Interview with the Google Pixel 3 Camera team - YouTube

|

via Interview with the Google Pixel 3 Camera team - YouTube

お、PM と Marc Levoy がインタビューに答えている!Marc Levoy, 退屈そうでいい味だしてるなー。そして後半で depth が learning based になったとかいってるな。そうなの?

Link: Ask HN: Ex-FAANG developers, where are you now and why? | Hacker News

|

via Ask HN: Ex-FAANG developers, where are you now and why? | Hacker News

若者は気軽に会社やめられていいなあ・・・。まあ自分も散々やめてきたので文句をいう筋合いもないのだが。

Top-comment は退職エントリーで有名な人らしい。大企業をやめた俺かっこいい、というアイデンティティーで生きていくのは大変そうである。

SRE のコメント率が多い気がするのは興味深い。偶然なのか、SRE はよくやめるのか。

Gastritis

仕事中、突然の激しい腹痛。そして下痢。あ、これ知ってる・・・急性胃炎/胃潰瘍だ・・・。

自分は過去に何度か胃潰瘍になっていて、前回は四年前。結婚した直後、引っ越しの直前だった。その時に胃カメラを飲んだら現行の胃潰瘍以外に潰瘍の痕跡が三つ見つかり、過去にも胃潰瘍だったことが判明した。2-3 年に一回、何かを頑張ってる時ほどすごい腹痛で悶絶することがあり、ああストレスに弱いな自分はと思ったものだが、胃潰瘍だったと知った時はちょっと笑ってしまった。結婚の前後もだいぶストレス高まってたからね。

前回の胃潰瘍にあわせ検査をしたらピロリ菌が見つかったので対処し、じっさい数ヶ月前にいまの主治医が何かのタイミングで検査してくれたらピロリ菌は消えていた。もう胃潰瘍の心配はないなめでたしめでたしと思っていたらこの有様。やれやれ・・・。

ストレス源は明らかだが割とどうしょうもないかんじなので、鈍感さと図太さをなんとか引き上げつつだましだましやっていくしかない。あとなんか超どうでもいい娯楽がもっとほしいかも知らん。いまは一部の podcast くらいしかない。マンガでも読もうかな・・・。あとは Shingles のせいでとまっている通勤ランを早いとこ再開したい。明らかに脳内麻薬切れてる。

とりあえず胃酸抑制剤を飲む。医者にいってもどうせこの薬を処方してくれるだけだと思われるので今日はパス。よくなる様子がなかったら考えます。あと食事も会社ではしばらくシリアルを食べよう。

出荷を見届ける

|

朝早く会社に来て、ほかの早起きな同僚たち数名と新製品発表会のライブを観る。いまのチームに入ってちょうど一年、ようやく仕事でやっていた製品が出ていくのを見届けた。年に一度のハードウェア発表に向けてがんばって働くこのソフトウェア開発モデルには懐疑的な自分だけれども、やや感慨はある。

今のチームは、自分が全く活躍できていない点を除けば割と良い。カメラはスマホの重要機能とみなされていて、しかもまだ良くなる余地がある。スマホ自体も競合に対しキャッチアップする側におり、それでありながら敗戦処理モードでなくやることがある。こういう伸びしろのあるチームで働く方が、会社員としての精神衛生を保ちやすい。

コードも、まあまあ良い。良くないところも多いが問題の多くは認識されており、人々に直す気もある。なのでコードを良くする仕事をしやすい。若干官僚的なところは気に入らないが、適当にしらばっくれている。それで角が立つほど厳しくもない。以前のようにコードを読んでいてひどさに発狂したくなることはなくなった。

チームの人々は、前のチームと比べると大企業的というか、ふつうにスマートかつ温厚。前のチームは買収で入ってきた人が多くて平均年齢も高く、そのせいか個性的で主張の強い人が多かった。それはそれで楽しかったし好きだったけれども、仕事に限って言うと淡々とできる方がラクではある。まあ職場というのはひどい jerk さえいなければどのみち楽しくやってけるもんです。


カメラアプリの差別化要素は HDR+ にしろ合成ボケにしろ夜モードにしろリサーチ部門の成果である。自分たちアプリ部門はその成果を製品としてパッケージするのが仕事。リサーチ部門といっても普通にばんばんコードを書く人たちなので、アプリとして出荷されるアルゴリズムのコードも彼らが実装し、ふつうにデバイスでデバッグしたりなんだりしている。

同じ製品のために働いているとはいえ、リサーチ部門は別の組織である。だからいまのチームでがんばったところでそういうかっこいいアルゴリズムの中に近づけるわけではない。少し寂しい。

前にやっていたウェブブラウザの仕事では、すごいエースプログラマみたいのが組織の中のどこかにいて、そのすごいプログラマと自分は間に距離こそあれ地続きな感じがした。もっといえば、自分の report line の先には Darin Fisher や Ben Goodger といった Chrome の founding member がいて、仕事のキャリアと自分の憧れは足並みを揃えていた。

Pixel のカメラというのは、自分の中では Marc Levoy の野望を叶える vehicle である。Light Field からはじまった Computational Photography を、Frankencamera, Halide, Pixel Visual Core, HDR+... といったテクノロジースタックとして結実し、計算機の力でそこらへんのカメラをやっつける。このストーリーには圧倒的なかっこよさがある。Mark Levoy はかっこいい。その野望の実現のためなら下働きも厭わない、というと言い過ぎだけれども、自分の今の仕事のやる気を支えているのが Marc Levoy の存在なのは間違いない。なので Marc Levoy がファイルしてきた UI のバグとかを直せるとちょっと嬉しい。我ながらファンボーイというかファン中年すぎる。

が、そんなスターは自分と地続きではなく、どこか遠くのリサーチ部門にいるのだった。

リサーチ部門とアプリ部門が分かれている事実を大企業のせいにする気にもならない。ブラウザ仕事時代のエースのひとり Adam Barth のやっている仕事、書いているコードを、自分は少なくとも理解はできた。でも HDR+ のエース Sam Hasinoff の仕事、すなわち論文だとかそれにもとづくコードというのは、自分にはわからない。組織上の壁は能力の壁を反映している。もちろんアプリチームの中にも HDR+ だとか computational photography をちゃんと理解している人はいると思うけれども。

この寂しさは仕事が悪いというより自分のボンクラさのあらわれなので、特に文句をいう気もない。彼らの書いた論文を眺めて成果を表面的にでも appreciate できたら、少しは報われる。

学生だった自分にとって、かっこいい成果をばんばん SIGGRAPH に通す Marc Levoy は憧れとか目標とかそういうレベルを遥かに超えたスターだった。自分はアカデミックに何かを頑張ったことは一切ないので目標もなにもない。それでも巡り合わせで近くから彼らの成果を伺うことができるのは、期待値にはあっている。でももうちょっと頑張れなかったのかね自分・・・という悲哀が消え去ることもない。

長続きするコツ

|

Under The Radar Podcast のバックナンバーを聞いていたら、100 回目のエピソードで長続きするプロジェクトのコツ、のような話をしていた。奇遇にも、最新回の Linear Digressions は 4 周年記念のエピソードだった。

Under the radar では、とにかくはじめるのが一番難しく、そのできの悪さに挫けず試行錯誤して良くしていこうな、物欲とかで procrastinate しないほうがいいよ、というような話だった。Linear Digressions は、なにをきっかけに podcast をはじめ、今でも続けているのはなぜかを話していた。

Under The Radar の二人はフリーランスのアプリ開発者で、番組の動機も割とはっきりしている。すなわちある種の self branding と、あとは sponsorship の収入である。同じ relayfm の仲間で ATPAnalogue podcast に出ている Casey に至っては、Podcast の収入を足がかりに会社員をやめてフリーランスになった。この人達は言ってみれば職業 IT 芸人であって、その事実を隠してもいない。(最近の Analogue はそんな話ばっかし。) ついでに Soft Skills の人もこの枠にいる。

自分は昔は IT 芸人的なものをバカにしていたし、もともと IT 芸人を自称した人々にも自虐のニュアンスは若干あったと思う。嫌儲サブカルチャーの空気を孕んだこういう蔑視の気持ちはしかし、自分の中では姿を消した。これはこれで entrepreneurship だと思うし、会社勤めをせず one's own boss でありたい気持ちも以前よりはわかる。会社員しんどいとか、家族と一緒にいたいとか、あるよねという。

とはいえ、自分がより共感できるのは Linear Digressions の二人だな、とも思う。彼らは sponsor もとっていないし、co-host のうち data scientist で話をリードする Katie はともかく software engineer で聞き役を担う Ben に至っては特に self branding できてる感じもない。Ben は動機をこう説明する: Podcast は普段の仕事と全然違って気分転換できるホビーになってるし、 data science のように縁遠い世界とわずかながら接点を持てるのも良い。

まあこの二人は若くて羽振りのいいテック会社員なので謎の entrepreneurship を発揮する必要がないという面はあるのだろうけれども、意識高い感じがときどきしんどい Under The Radar と比べ力が抜けていて良い。完全にステレオタイプ発言だけど Millennial 的とでもいおうか。

自分にとって Podcast の継続というのは完全に他の家庭及び仕事の事情とのトレードオフで、うまくならないから辞めたいとか飽きて辞めたいとかは、今のところ特にない。一方でそのトレードオフは tight なので、たとえば人事考課のスコアが下がったままだったらこのまま podcast とかやってる場合じゃないなとも思う。

それでも Ben の話を聞いていて、自分の podcast はキャリアには全然寄与しないけれど論文なり何なりを読んで話をするのが楽しい趣味で気分転換にもなるのは確かだな、とは思った。頻度や質に妥協することで仕事の厳しさが続いても細々と続けていけたら良いなあ。Blog にしろ Podcast にしろ、時間のかかる趣味であることよ。

ただまあ生活かかってる手前、仕事を優先しないといけないのは避けられないね。人生いっぱいいっぱいなのは困ったことだけれども, that's life.

NVML / NVIDIA SMI

NVIDIA の GPU は NVML というコマンドや  nvidia-smi というコマンドで色々状態がとれるらしい。Qualcomm もこれ必要じゃないんですか・・・。

Unlearning The Dream Job

|

滞っているコードレビューやメールの返事を nudge するのが妙に苦手だ。これは言語バリアのせいであったり我が身を振り返ったときのバツの悪さのせいもあるけれど、それ以外に WebKit 仕事をやっていたときに染み付いた感覚が抜けてないせいもある気がする。

WebKit のコードレビューツールにはレビュアを指名する仕組みもないし、従って各人の pending review list のようなものもなかった(当時; 今はしらない。)そして開発者には contributor, committer, reviewer という階級があり、コードを approve できるのは reviewer だけである。そして WebKit は Apple が own するプロジェクトであり、しかも自分の勤務先、特に自分がやっていたプロジェクトとは割と意向が一致しなかったりした。

この舞台設定は会社員がやる普通のソフトウェア開発とはだいぶ違う。たとえば自分の勤務先だとコードレビューはレビュアを指定する。レビュアはダッシュボードで pending review のリストを見て、対応が必要なものをこなしていく。プログラマの間に階層はない、というと厳密には語弊があるが、まあチームの人は基本的にみなコードレビューを approve できる。

コードの owner すなわちチームの意向に反するコードをなんとかして突っ込む、みたいな場面もない。もちろん時折何らかの controversial な変更はあるが、そういうのは事前に適当にドキュメント書いたり話をつけたりするものである。仕事でプロジェクトの意向にあわないコードを書くとかわけがわからない。

WebKit の仕事をしていたとき、コードレビューが一週間放置されるとかは普通のことだった。レビューで仕事がブロックするとやることがなくなるので、仕方なく本題でないコードを書いたりする。重要なものから余興までいくつも並列にレビューをだし、返事が来たものを対応する。レイテンシを並列性で隠してスループットを稼ぐ働き方をしていた。コンテクストスイッチしまくり。

ふつうの会社員プログラミングでレビューが滞ったらどうするか。まあレビュアに催促するよね。相手が忙しそうなら別のレビュアに頼む。タイムゾーンの問題がないならレビューは遅くとも一日以内に帰ってきてほしい。レビューを催促するのも、催促されたらさっさと応じるのも、仕事のうちと言える。

翻って WebKit のときのことを考えるに、自分はしばしば Apple のひとにレビューをしてほしかったわけだが、まずシステムとしてレビューをたのむことはできなかった。だからレビューが単に気づいているのか、忙しいのか、気に入らないから無視されているのか、判断できない。メールなどで頼むことも理論上はできるが、そもそも Apple のひとには自分のコードをレビューする義務はない。オープンソース・プロジェクトのボランティアとして付き合っているに過ぎない。一方で自分はフルタイムで働いており、それなりにコードを書く。ボランティアのスループットで足りるはずがない。

しかも自分たちのやっていたプロジェクトは、あからさまに Apple から嫌がられていた。プロジェクト・オーナーの権力をもって提案段階でその仕事を却下することもできたはずだが、そのへんはオープンソース・プロジェクトとしての体面や倫理や義理のようなもので黙認していた。しかしその後には passive aggression が続いた。これは自分たちにとっては不都合だったけど、今思うと当たり前の対応だよな、というか、むしろ断らなかっただけえらいとすら言える。


放置がデフォルトのコードレビューでプロジェクト・オーナーの嫌がる仕事を 3 年も続けると、生産性は完全に破壊される。

・・・というと WebKit あるいは Chrome が悪いみたいだけれど、別にそういう話ではないのだよね。強いて言えば関係が良くなかっただけで、特定の誰かが悪いという話ではない。問題は自分がプロジェクトの歪みを常態として absorb してしまったことだと思う。

思い返せば、自分にとって Chrome のために WebKit のコードを書くのは Dream Job であった。時は 2010 年、その勢いが頂点に届こうとする米国資本のハイテク企業に入って、給料をいっぱいもらい三食タダ飯食いつつウェブブラウザのような人々が毎日使うプロジェクトのためにオープンソースでコードを書く。いいじゃん!

・・・と思うがゆえに自分はそのプロジェクトのあり方を無批判に受け入れ、働き方や価値観をその異常な世界に最適化してしまった。

隣接する Chrome のエンジニアリングが極めてまともだったのも目くらましになった。そうしたまともな組織の umbrella に入っていると、自分のやっている仕事もまともな気がしてしまう。しかし自分の仕事環境はそうしたまともなエンジニアリングの世界の中でプロダクトの ambition と世間 (よそのオープンソースプロジェクト, ウェブ標準) の摩擦が集中する特異点のようなもので、そのしわ寄せが突出した仕事の進まなさだった。

自分は Web Components の ambition は価値のあるものだと思っていたし、その大変さはいつか pay off すると信じていたし、今でも信じている。ただその大変さ、すなわち当たり前のように仕事が進まないという事実、がプログラマとしての自分にもたらす影響、すなわち仕事の進まなさへの適応、に自覚的であるべきだったのだろうなあ。

摩擦の帰結として Blink がフォークしたあと、多くの同僚たちは水を得た魚のようにコードを書き出したが、自分はダメだった。別のプロジェクトに移ってみたけれどそこでもレビューを催促できずに滞りまくり、仕事の進まなさへの適応を強めてしまった。

Chrome をやめて小さめの Android のアプリ仕事にいってからは、ふつうにさくさくとレビューしてくれるチームメイトに恵まれてそういう問題はなくなったが、それでもマネージャに flag flip を頼むのが遅れてしまったり、そうでなくともこう、ゴールに向けてガシガシとコードを書く働き方ができず、あれこれ散漫に手を出して中途半端な成果しか出なかった。そしてまたチームをうつったはて評価減に至った。


どうも人に何かを頼むのが苦手だなとは感じていたし、どうしても集中して仕事を前に進めることができないなと思っていたけれど、その理由についてはいまいち思い至っていなかった。でもよく考えると、それは歪んだ働き方への適応の成れの果てだった・・・というと人のせいみたいだけれども、要するにサボりが板についてしまった。

いま我に返って自身を鑑みると、自分はこの会社のなかでどうやって効率よく仕事を進めればいいのか全然わからない。そして以前の職場で効率よ・・・かったかはさておきそれなりにガツガツと仕事を進めていた頃の感覚もすっかり忘れてしまった。

一方で、自分の本業の傍ら関係あるようなないようなコードを細々書いたり読んだりする楽しみや、そうした余興やボランティアが生み出す(かもしれない)発見や発明の価値については、驚くほど深く理解している気がしているし、その良さを信じてもいる。

でもこの価値観は、自分の非生産的態度の隠れ蓑になってしまったようにも思える。本業をきちんとこなた上の余興ではなく、進まない本業からの逃避としての余興にすっかり適応してしまった。

今のチームは締め切りとかがそれなりにタイトで、脇道症候群になった自分にとっては息苦しい部分もあった。悪い仕事ではないが Dream Job という感じでもない。でも結果として自分が Dream Job を通じて抱えてしまった歪みを照らしだしてくれた。

プロジェクトの余裕や柔軟さ、チームの実験精神やボトムアップな取り組みからうまれる諸々の良さについては今でも信じている。でもそれを無批判に受け入れるのではなく、一旦捨た上でよく調べて拾い直す必要があるのだろう。

でも一旦捨ててしまうと自分の手元には何も残らず、どうしていいかわからない。なんていうか途方にくれる。うっすらと見に覚えのある感覚

まあ、ぼちぼちやっていきます。

割れ窓理論再考

|

崩壊するアメリカの公教育という本を読む。ゆこっぷ(奥さん)が買っていた。アメリカ公立学校やばいよ、という話。自分は(仮に子が進学するまでこのへんに住んでいることができたら)公立はないな私立だな、と思っていたので特に actionable な要素はなかったが、文中で Zero Tolerance Policy が批判されていたのは興味深かった。

Zero Tolerance Policy はプログラマが大好きな「割れ窓理論」などを論拠とした施策で、すごく雑にいうと「悪いことをしたら一発で退場な」という方針のこと。学校だと、たとえば暴力をふるったら即座に休学/退学になる。これは自分のようないじめられっ子からすると歓迎な方針である一方、ガラの悪い環境で育ったせいで気が短くカッとして人を殴ったりしがちな子供の教育機会を奪ってしまう問題がある。そういう恵まれない環境に生まれた子供こそ教育が必要といわれればまあまあ説得力はあるし、そうでなくてもマイノリティはストレスが高いのでカッとしがち、みたいな面もある。白人メインの地域で黒人やってるとか。

結局のところ Zero Torelance Policy みたいのは弱者を守る体面でシステムを守っている。社会はその不気味さと向き合う必要がある。

振り返ってソフトウェア開発の世界では CI とか presubmit check, それらに組み込まれた各種動的および静的チェックの類が Zero Tolerance Policy を構成しているわけだが、こいつらはそうした批判を免れるのだろうか。

義務であり権利でもある公教育とある程度好きなものを選べる仕事とでは人に何かを強いる際の責任はだいぶ違う。ろくでもないが人権を脅かすほどでもない仕事というのは沢山ある、そしてソフトエア開発、特にでかいやつは、じっさいにシステムをつくる仕事である。なのでプロセスが(弱者ではなく)システムを守ることに特に欺瞞はない。

そうはいってもガチガチの presubmit check  にはしばしばムカつくことがある。このムカつきの理由には、本来 CI はプログラマを守ってくれる善きものだったはずなのになんで俺のジャマをするんだという裏切りへの怒りが含まれているのだろうな。でも(ある規模から先の) Zero Tolerance は(お前ではなく)システムを守っているのだ、そしてお前の給料はそのシステムから支払われているのだ、という風に考えるといちいち不毛な static analysis のチェックにムカつくこともなくなり、システムに感謝しつつ静かな心で SuppressWarnings できるかもしれない。

Bugs are Eating (My) World

|

手元ではまったく再現しないバグを bugreport だけを頼りに直す、という作業を延々としており、辛い。

まず直らない。なにしろ再現しない。しかし症状は(発生した場合)そこそこ深刻である。ログ(adb logcat のダンプ)には証拠がある場合もあるしない場合もあるが、いずれにせよひと目で分かるようなものではない。じっと睨む。しかしわからない、を繰り返す。一日が終わる。

結局「すみませんがよくわからないですね・・・」と close することもしばしばある。あるいは、すみませんが自分にはよくわかんないので見てもらえませんかね、と他人にたらい回す。どちらもストレスがたまるし、報告されたバグを無碍にされたユーザ(多くは dogfooder)も、わけわからんバグを押し付けられたりした同僚も不愉快。押し付けた自分の株は下がる。だからなるべくやりたくないし、できるものなら自分で解決したい。結果としてひとつの bugreport のログを睨むのに丸一日あるいはそれ以上を費やしたりする。

現実に、それはアプリでは直せないバグのこともある。

(大局的にみると)幸いなケースとしては、報告してきた人は古いバージョンの {アプリ, OS, ハードウェア} を使っていて、問題は修正済みである場合。これはまあ、自分の時間が無駄になる以外の問題はないのでマシといえばマシである。

(局所的に見て)幸いなケースとしては、症状がおきた瞬間のログが ring buffer の彼方に消えてしまっているとき。これはどうしようもないことが客観的に明らかなので「情報不足で直せません。ごめんね。」と言って終わり。自分が無駄にする時間は少ない。問題が治ってないのはダメだが。

高負荷時におかしな挙動をするというバグ。これは platform の問題であるケースも多い。そして人間のストレスも高い。Platform の人にたらい回したい誘惑に駆られるが、レイヤが下のひとは自分のようなアプリの人から次々にバグを押し付けられて既に疲弊しきっていることが知られている。そういう人に何かを頼むのは emotional な地雷度が高いし、濡れ衣だった場合は自分の株を下げる。バグ修正以外の仕事でも付き合う相手なので関係を悪くしたくない。だから確実性が高いときだけたらい回すことにしているが、確実性を高くできりゃ苦労しねーんだよ。

ログに捉えられたおかしな挙動をみつけた。そのおかしな挙動が自分の守備範囲を超えているなら、他のチームメイトにたらい回す。他人にバグをたらい回すのは自分の株を下げるし相手のストレスを高めるのでほんとは直してあげたい。ただ状況証拠がある場合は相手もなんとかできる可能性があるのでマシといえばマシである。

ログでみつけた怪しい挙動が自分の守備範囲である。その場合はコードを睨む。でも正直、その怪しい挙動から問題をつきとめて直せた記憶がない。はーわからん・・・となる。

ログに怪しい挙動が見られない、あるいは怪しい挙動の原因を突き止められない。問題が深刻かつ頻繁であるなら、自分よりシニアなチームメイトにたらい回す。シニアなチームメイトが必ずしも問題を解決できるわけではないが、自分よりは判断がマシである。しかしそうしたシニアピープルは自分以上にたらい回されたバグが溢れているものなので、これ以上相手の心労を増やしてもなあと気が引ける。頻度や深刻さがそこまで高くない場合は、なんとなく放置して風化するのを待つ。しかしそれはそれで TPM や上司につつかれたりする。

というような負け戦ワークフローを、やってきたバグごとに繰り返している。ひたすら時間が溶けていく。ここ数ヶ月くらい、仕事の時間の半分かそれ以上を治ることのないバグを睨んで暮らしている。辛い。たまに直せるバグがあるとそれだけで嬉しい、みたいな期待値のどん底に到達している。

こうした作業を bug triage と呼んでいるが、bug triage 自体は税金みたいなもので仕事の成果として評価されづらい。製品を前に進めていないから妥当ではあるが、仕事の成果がでないのは事実。税金の支払いで財布がカラになる気分。これで人事考課とか下げられた日にはもうどうしょうもない。リアルに財布がカラになってしまうよ(誇張あり。)


どうしたもんかね。と考えるに 3 つの軸がありうる。

1 つ目は、ダメな会社員としての軸。すなわちバグは放置するなりすかさず他人にたらい回すなりして労をかけずに自分の手から離す。こういうと倫理的に NG ぽいが、一面では真理をついている。つまり、直せないことが明らかだったり他人の守備範囲であることがはっきりしているならさっさと手放すべきである。

自分は自らコードを書いてバグを直したい強いバイアスがあり、そのバイアスにある種の自負すらあるけれど、自分の未熟さやシステムの複雑さ、組織の構造や文化や締切といった現実と戦えてない。別の言い方をすると今は bug fix でなく bug triage に重点を置くべきで、質と速度を高めた方が良い。これは結局のところ、バグをすばやく閉じるなり他人にたらい回せ(ただし説得力のある形で)と言っているのに近い。これは、自分の価値観としては引き続き NG だけど、人としてダメというほどではなく思える。個人の価値観は現実の厳しさに負けました、ということで。

そんな流れから、残り 2 つの軸は triage をどうするかという話。

2 つ目の軸。bugreport のログの読み方を改善できないか。社内にはログのテキストをインタラクティブに正規表現でフィルタできるビューアがあるのだけれど、それだけだと不十分。もうちょっと色々支援して欲しい。支援の方向性としては人間の診断を手伝う(たとえばより良いビューアを作る)路線もあるし、ツールに診断させる路線もありうる。それ以前に、ログを読むプロセスを構造化する、たとえばチェックリストを作るとか、も必要に思える。ビューア強化はがんばってコードを書かないといかんので、まずチェックリスト的なプロセスの明文化と、それを支援する診断スクリプト書くあたりからスタートかなあ。我ながら引き続きクソみたいなこと言ってると思うけれど、ボンクラたるものしばしばクソさを受け入れざるを得ない。仕方ない。コードで色々な問題を解決するのはできるプログラマの特権です。

3 つめの軸。アプリの出力するログをマシにする。現状のログは android.util.Log の流儀でクラス単位でタグづけしてアドホックにエラーとかを出してるけれど、これはダメだね。もうちょっとアプリケーションのフローがぱっとみてわかる感じにしないと。adb logcat のバッファというのは根本的に unreliable でよくドロップされたりするし構造もないしで、なるべく依存したくないと目をそらしてきた。しかしバグとして自分の目の前にやってくるのはこのログなので、unreliable だろうと unstructured とか文句いってないで使ったほうが良い。自分の価値観に反するが以下略ということで。あと Platform より下のログは直せないが、それは仕方ない。

2 と 3 は数ヶ月前にやっているべき話な気がしてきたけど、バグがやってきてログを見ているとゾンビみたいに意識レベルがさがって問題解決マインドになれなかったのだよね・・・。

Elephant in the room として、アプリがなぜこんなに不安定なのか、安定性を高めるべきでないかという話はある。この問題にも対処したいと思っているが、そうした仕事をするためにはとりあえず目の前にやってきて時間を奪っていくバグを捌く即効性のある処方が必要なのだよ。汚職の片棒を担いでる下端官僚みたいな言い訳ではある。なお汚職はしてない。残業もしてない。

自分の理想が厳しい現実にやられていくのは若干 soul crashing だけれども、そういえば昔は仕事ってこういう感じだったなあと思い出す。理想のためにがんばる力が自分にないところが昔と違い、それは悲しい。しかしそれは自分の問題なので愚痴はともかく文句をいう筋合いはない。

Gmail

Inbox が終わってしまうというので Gmail に戻ってきているが、おもったより厳しいなあ・・・。仕事ではずっと Gmail だったので問題ないと思ったけれど、個人のメールは Inbox に適応していたな、と思う。

Inbox には「メールは基本的に読まないもの」という思想を感じる。そして、自分にとってそれは正しい。Gmail はそこまでアグレッシブではないため色々と既読にするのがかったるい。

郷に入りては、ということで設定をいじったりショートカットを確認したりしている。デスクトップなら本文を開かずに選択してアーカイブ (x e) できればまあこれでよい、かもな。