Ergodox配列不定期報告

f:id:shishi4htn:20180804155138p:plain

現在の配列はこんな感じ。

レイヤ1

親指Enterにはすっかり慣れたけど内側親指キーはやっぱり微妙に遠く、親指位置にあるDelやBackspaceは全く活用できない。

外側にCmd/Winを配置してみたが意外に便利。KeyHacと組み合わせてCmd/Win+JにIME切り替えを当ててみたが押しやすい。IME単独にキーを当てるのはなんだかもったいなかったのでちょうど良い。Cmd/WinキーはOS側からグローバルショートカットが多くあたっていることも有り、発想としても良かったのではないかと思う。

最下段のキーたちは一番親指側にあるAlt以外はほとんど使っていない。一番端のMehはかぶり防止の為にグローバルなホットキーを当てたいアプリケーションに当てていたりするのでその時のみ使う。内側から2番めにはAlt+Shiftを当ててある。この配列だとAlt+Shiftはすごく押しにくいので稀に便利。それ以外は設定以来たぶん押下したことがない。

レイヤ2

ちゃんと記号入力に活用するようになった。といっても右手ホームポジションにあるカッコ3種ぐらいが実用範囲。他は入力機会がそこまで多くないので思い出している間にレイヤ1で入力できる。ブラケットはレイヤ1での配置都合上どうしても良い場所がなかったこともあり、レイヤ2に配置してなれたことでとても入力しやすくなった。

また、メディアキーをレイヤ3からレイヤ2の空いた位置に配置した。そこまで使うものではないけどたまに便利。

レイヤ3

完全に移動用のレイヤになったので気持ち的にスッキリ。VimやEmacsのカーソル移動法から離れつつ快適にカーソル移動するのにだいぶ役立つ。一応配置してみた戻る/進むボタンは設定以来押したことなし。

その他

ずっとファームウェアコンパイルには ErgoDox EZ Configurator を使ってきたけどその他の設定値をいじりたくなり、ローカルでコンパイルするようになった。とはいえ配列を変えるのにはこちらのツールのほうが便利なので、こちらで配列変更後、配列ソースコードをダウンロードしてローカルで整形して自分の設定に合わせてコンパイルしている。とても便利。

make 方法が割と頻繁に変わっているようで、現在は

make ergodox_ez:shishi:teensy

のように

make キーボード:ディレクトリ名:コントローラー

のように書きます。

最後のコントローラを省略すると転送せずにコンパイルだけすることになります。

エンジニアリング組織論への招待を読んだ

エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング

エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング

僕は本書を読んで、題名とは違う印象を受けた。「エンジニアリング組織論への招待」というより、「エンジニアリング的思考から見る組織論への招待」という感じ。

同じ会社で共通の会社の発展という目標を持っているのになぜ人とのいさかいが起こるのかというようなテーマの話が前半に続く。

その後に経験主義や仮説思考の話が出てくるが、僕はこの思考ができる人とそうでない人に大きな仕事能力の差を感じてきた。まさにこの辺の思考が僕の仕事への取り組み方なので言語化されてみると新鮮だった。

アジャイル開発の歴史が簡単にまとまっていたりするのも面白いが、この本の一番力が入っていたところは技術的負債に関する章であると思う。

いかに技術的負債という言葉が生まれ、どのように今日のように受け入れられ、どのようにまずい点があるのか。技術的負債に関する章については、今まで考えたことがない視点の話が多くあり、僕にとっての本書の価値の多くもこの章にあったと思う。

全体的に、「エンジニアリング」とタイトルにあるだけあり、多くの人が言語化せずに理解していることを言語化して書いてくれていると思う。読んでいて確かに言語にするとこの通りになるだろうなあと思いながら読むところが何度もあった。多くの人に気づきを与える名著であると思う。

エンジニアとして小さな単位から大きな単位まで率いるリーダーはもちろん、エンジニアでない立場でもエンジニアを率いる立場の人は読んで損はない。

通信制の情報系大学院に入りたい

プログラマーはいわゆる理系に分類される職業ではあるが、文系の人も割りとたくさんいると思う。僕もその一人である。たまに文系出身者同士で話をすると、理系の専門教育を受けてないことによるコンプレックスをかかえている人たちがちらほらいる。僕もその一人である。

必要に応じて知識を得てきたし、何か大きく劣っているとは思わない。むしろ勉強してきて得た知識に自信もあるにはあるが、どこかコンプレックスがある。そのことを払拭したいがため、以前から情報系の大学院で学んでみたいと思っている。

検索してみれば同じような考えの人も見つかる。Serverspec等で有名な宮下さんも過去にそのように考えられたようだ。

mizzy.org

社会人向けに入れるところを探してみると大学では結構あるものの、大学院は少ない印象を受けた。社会人向けの大学院もあるにはあるが関東圏で夜間や土日を基本としているようで、通信制は見当たらない。

最近できたという東京通信大学というのも見たが大学のみのようで、大学院はなさそうだ。

良さそうな通信制大学院はないものか…

クルーズ&アトラスを買ってみた

プログラマーは座り仕事であるが、事務作業の方のように前傾姿勢での作業はあまりないと思う。座っている間は考え事をしている時間のほうが長いと言われていて、そのようなときには後傾姿勢のほうが向いているらしい。

たぶんプログラマーの人たちはこんな座り方をしていないだろうか。

エンジニア座り - Google 検索

上記のような理由からすればこのような姿勢になるのは自然なことのように思える。

僕もそのような姿勢で快適に作業したいとずっと思っていたが、スタンダードな既成品ではそのような姿勢での作業は快適に行えない設計になっている。かつそのような姿勢をサポートしない製品で後傾姿勢をとるとヘルニアの危険性もあるらしい。そこでこのような姿勢をとることを前提とした製品を探す必要がある。

椅子だけでいえばワーキングチェアには後傾姿勢もよくサポートしてくれているものはあるが、机はまずそのような姿勢をサポートしてくれない。

そこでこちらの製品である。

Cruise & Atlas (クルーズ&アトラス)|デスク・テーブル|株式会社オカムラ

昔ミクシィが大々的に導入して話題になってことで覚えている人もいるかも知れない。オカムラはみんなご存知バロンなどで有名な日本のオフィス家具メーカーである。

後傾姿勢をちゃんとサポートしてくれそうな製品はこのクルーズ&アトラスとエンベロップデスクに適当な椅子を組み合わせるぐらいしかないと思う。どちらもめっちゃ高い。

僕はクルーズ&アトラスのセットと付属品で23万円前後かかった。ここまでかかるともう10年は使ってやらないと気がすまない。保証は3年しかないが、そこはオカムラを信用しつつ修理しながらになるだろうなあと思う。

この机と椅子の詳しい特徴はググってもらえれば分かるとして、簡単に言うと机が上下し、角度が変わる。実際にセッティングするとこんな感じになる。

最初は机部分の端に前から持っていたエルゴトロンMXをつけていたんだけど、重さで机が安定しなくなるのと、当たり前だけどディスプレイが近すぎた。なので、おとなしく専用マウント用金具を使ってエルゴトロンLXを買って取り付けた。快適になった。専用アームでなくてもつけられることはこれから購入を検討する人には知っておいてもらえればと思う。

これで椅子を思いっきりリクライニングして、机の下に滑り込むようにすると、腕を机で支えつつ斜めになった机がフィットする。ディスプレイを高めにセッティングして下向きに傾けることで大きく後傾姿勢をとっていても快適に閲覧できるようになる。

この姿勢を取ると首、腰を椅子に預けたままなので負担が減る。また、腕を机に預けられるので長時間キーボードに手をおいたままにできる。さらに、この椅子と机はとても低く設定されているので足をベッタリと床につけることができ、体重分散にも役立つ。ほとんどの椅子や机は日本人の体型には高すぎるそうですよ。

この快適さを表せる客観的な何かがあるわけではないけども、控えめに言って快適です。Ergodox、MX Ergo等と合わせて、あれだけいつも起こっていた腱鞘炎、腕の痛みがなくなり、腰や首のコリ、痛みも控えめになってきた。もっと長い時間使っていけば、そんな体の不調もあったと忘れられる日が来るかもしれない。

ErgodoxとTobii Eye Trackingでマウスに触らなくて良くなった

Ergodoxにはマウスを操作するための機能が備わっている。

現在の僕のレイアウトで言うところのレイヤ3の左側はだいたいマウスを操作する機能になっている。

f:id:shishi4htn:20180607130052p:plain

使ってみるとあまり使い勝手が良くないということで使ってない人が多そうな機能である。実際に遠くへポインタを移動するときなど確かにめんどくさい

でもこれまた多くの人が感じているように、できるだけキーボードから手を離したくないのがプログラマである。そこでポインタ移動がなんとかならないかと思って視線追跡デバイスを買ってみた。

Tobii Eye Tracker 4C Gaming Peripheral

Tobii Eye Tracker 4C Gaming Peripheral

これを知ったのはWindows10に搭載されている視線操作機能がこのデバイスを主にサポートしていると知ったからで、実際視線追跡デバイスの雄的な会社らしい。日本法人もある。

ちなみにWindows10の視線操作機能はベータということもありまだ常用するには厳しかった。この機能が良くなるとそもそもポイント操作をキーボードでする必要さえなくなる世界になるはずなんだけどこれはまた別の話。

本題に戻って、このデバイスの付属ソフトウェアには、ポインタをワープさせる機能がある。ポインタを移動させた時に視線の先にポインタを飛ばす機能と、特定のキー入力に反応してポインタを視線の先に飛ばす機能である。

僕は両方有効にしていて、後者のキーにはF24を当ててある。レイヤー3に不自然にあるキーだ。

この機能は割と精度が良く、ほぼ正確な見ている位置にポインタが移動する。ざっとした長距離ポインタ移動がマウスを使うよりも早くなる。若干の調整が必要なことはあるので、トータルすると変わらないか少し遅いぐらいになっていると思う。

最近僕はこの機能によってほとんどマウス(トラックボール)を触らなくて良くなった。ドラッグとかはさすがにやりにくいがキーボードでもなんとかなるなという感じだ。

この視線追跡デバイス、本来の用途はゲーム用であり、FPSプレイヤーが主なターゲットのようである。他の多くのゲームにも対応しているようで、PC版のFF15にも対応しているらしい。Steamで買ってはあるので、今度試してみようと思う。

暗号技術入門 第3版を読んだ

暗号技術入門 第3版

暗号技術入門 第3版

最近は仕事の入れ替えの切れ目で時間がある&並行して本を読む癖があるのでたまに一気に複数冊読み終わるのが重なる。読んだ本を全部こうやって書いているわけではないんだけど。

暗号技術入門はもはや我々のインターネット生活には必須となっている暗号技術について、広くまとめた入門書である。著者は数学ガールでも有名な結城浩。本書は題名通り暗号技術入門として長く愛されており、版を重ねるごとに時代にあった章が追加されていっている様子。

本自体はだいぶ前から知っていたけど第3版が出た時に初めて自分で買った。Kindleに入れっぱなしになっていたのを最近やっと読むことができた感じ。

ウェブ系のプログラマーという仕事をしていて、日常的に暗号に触れていても、暗号とはどういうものかという基礎さえ知らない人は意外に多い。「SSLとはどういう理屈で安全なのか」ということの概要ぐらいは説明できてもいいと思うんだけど、鍵の存在さえ言えない人は結構いる。

また、*Nixのパッケージシステムで使われるようなPGPのことを全く知らない人も多いイメージ。コマンドで鍵を追加したことはあってもそれが何なのかは分かっていないのである。

他にもSSH接続のセットアップで公開鍵をくれといっているのに区別がつかなくて秘密鍵を渡してくる人とか…

そういう状況から脱却したいなという理解度の人にとってまさにオススメなのが本書。数学的素養の少ない僕でもだいたい分かるようにそれぞれの暗号技術の理屈が書かれている。現在使われている暗号技術を広く扱っており、浅く広く理屈を学べる。

暗号についての僕の理解度はだいたい本書ぐらいだった。学び始めた当初から本書を知って読んでいればこの1冊にまとまっていたのできっと学習時間が短く済んだことだろう。

普段暗号技術を使う際に理屈や詳細といった基礎を意識する必要がないのは技術の偉大さだけど、基礎を理解しておけば何かとつぶしが効くと思っていて、今の暗号技術の何がだめだからどう変えなければいけないとかいうときに、根拠を持ってすばやく判断できるようになるのは価値があることだと思う。基礎がなくて情報の真偽性の判断にとまどう例もたくさん見てきた。ググれば何でも情報がある時代にも、基礎は必要なんだと思う。

人月の神話を読み直した

最近自分の中では古い本ブームが起きていて、Code Completeを読んでいるのと同時にこちらも読んでいた。IT業界の古典中の古典、人月の神話である。

人月の神話【新装版】

人月の神話【新装版】

初めて読んだのはいつかわからないけどまあだいたい10年ぐらい前ではなかろうか。その頃はよく分かっていなかったが今読んでも完全に理解したとは言えない感じだった。まあ時代のバックグラウンドが違いすぎるというのも大きいと思う。何しろオリジナルは1975年。40年以上前である。オブジェクト指向という言葉が浸透していない時代。コードを印刷する時代だし、著者は真空管コンピュータに触れるような時代の方である。

ただ、その洞察は今も生きる。このへんがCode Completeと同じく古典と呼ばれながら今の時代でも話題に登り続ける理由だろう。

いちばん有名な本書の言葉といえば「銀の弾などない」である。狼男を倒す夢の道具はない→我々の業界の問題を解決する夢の道具はないという言葉であるが、銀の弾である理由、倒すのが狼男である理由もちらっとではあるが書かれていたのは知らなかった。

一番感銘を受けたのはやはり有名な言葉になっている部分。

  • 人月というのは神話である。人と月は交換できない。労力と進捗を混同していると著者が喝破してから40年後、まだ人間は労力と進捗を混同している。

  • 銀の弾丸はない。主な問題は当時からコミュニケーション問題(らの偶有的問題)であり、それは著者が予測する限り変わらないだろうと洞察して40年後、まだコミュニケーションは一番の問題である。さまざまな便利な技術は生まれたが、どれも銀の弾丸足り得なかった。

新装版ではなにかと加筆されており、18章に至っては「忙しい人のための人月の神話」ともいうべきダイジェストになっている。特段分厚い本ではないが、忙しい人はここを読めばこの本のだいたいのことは分かるようになっていた。

あまりおすすめする対象の人は思いつかない。どちらかというとプログラマでない人のほうが読むと良いことがあるかもしれない。もちろん時代の違いはいい感じに無視してもらわねばいけないが。役に立つから読むというより、IT業界一般教養の世界だと思う。