bouzuya.hatenablog.com

ぼうずやのにっき

2018-W05 ふりかえり

2018-W05 をふりかえる。

2018-W05 の目標 とその記事

目標。

  • ☑ 朝の時間を確保する
  • ☐ bouzuya/node-backlog-api 2.x をつくる
  • ☑ 『計算論 計算可能性とラムダ計算』を読み進める
  • Nyquist をキーカスタマイズする
  • ☑ craven をためす

記事。

目標は半分程度。順に見ていく。

早起き。わりとできている。良い。ただ、その時間での進捗はあまり良くない。眠くって……。でも、まずは時間を確保していこう。

プログラミング枠。 node-backlog-api は fgb がきちんと動いてしまっているので、やる理由に乏しい。後述の node-irkit など、すぐ新しいものに着手してしまう。

読書枠。『計算論 計算可能性とラムダ計算』を進めてはいるけれど、読むのがつらいな。これが終わると『プログラミング言語の基礎概念』の 2 回目のつもりなのだけど、どうかな。

キーボード枠。Nyquist の設定。使わないからな。使うとしてもどうせキーを減らして Let's Split と同じキー数で使うのだからあの形状にまったく意味がない。

こちらもキーボード枠。 Craven は一応のところ決着した。書いているうちにぼくもオリジナルのキーボードをつくりたくなってきた。良い傾向だ。

今週の割り込みは NATURE REMO と IRKit 。 IFTTT や Google Assistant を使って、家電の制御を進めている。今日も bouzuya/node-irkit をつくっていた。まだもっといろいろできそうなので、時間をとられそうだ。 IRKit 自体もがんばればつくれそうなので、こういうものを考えるのも良いかもしれない。

その他の割り込み。 Google Search Console の件。寝耳に水だ。そんなに検索するわけじゃないけど、せっかく公開しているのに検索しても見つからないのはもったいない。

つくったもの

2018-01-29/2018-02-04

blog.bouzuya.net と kraken は前述の Google Search Console の件で sitemap.xml を修正したことにともなうもの。

node-irkit は IRKit の API wrapper 。こんなのばかりをつくっている。「生成しろよ」って言われそうだ。

よんだもの

なし。『計算論 計算可能性とラムダ計算』を進めている。

みたもの

なし。まだ『孤独のグルメ』を観ている。

その他

腰の痛みがひかない。あわててストレッチをしている。もっと予防的に運動したい。

2018-W06 の目標

  • bouzuya/node-irkit のことを書く
  • bouzuya/beater の helper をつくる
  • リモコンの信号について調べる
  • 『計算論 計算可能性とラムダ計算』を読み終える
  • Nyquist をキーカスタマイズする

Craven (Keyboard) の感想

2018-01-23 から放置していた Craven の感想をそろそろ書く。 Craven は MiniDox のおまけとして @kmtoki がつけてくれたキーボードだ。

作者による説明を引用する。

ブログ記事にはしていなかったがCravenというキーボードをオリジナルで作っていたのでそれをおまけとした。 CravenはKailhのロープロスイッチ専用でAdafruitのFeatherというBluetoothに対応したマイコンとProMicroの2つに対応している、薄型、一体分離型、40%キーボードだ。 一応、無線化に成功したがマイコン側のピンアサインを理解してなくて、ジャンパが必要になってしまったり、自分でファームウェアを書く羽目になったりで面倒だった。 ProMicroは問題なく動いた動作しQMKにも対応した。 基板が薄いのでボディがよじれていて、がたつきがあるので実用に耐えなかったが、基板を二枚の間にスペーサーを大量に噛ませ、サンドイッチプレートとした。 なんとかそれで収まった気がするが、はやりよじれが残っているので、力任せにボディを捻って歪みを調整する必要がある。

2018年1月まとめ - kumatoki's blog

いろいろ試しているのだなあという感じ (雑) 。

(ぼくから見た) 特徴。

  • 一体分離型
  • キー数 50 (6x4 + 1 が左右に)
  • 薄型 Kailh Low Profile
  • それぞれの手は格子型で、全体としては扇状

結論から書くと「なんとなくしっくりこない」という印象。ただ、ぼくの理想との中間点のように思うので、とても今後の参考になる。

まず比較対象を挙げる。ぼくは Let's Split と Macbook Air の付属キーボードを使っている。基本的にはそれらとの比較になる。ちなみに過去のキーボード歴としては↓のような流れ。 Macbook Air などノートパソコン向けのキーボードは並行して使っている。

  1. Realforce (Full)
  2. Realforce (TKL)
  3. ErgoDox EZ
  4. Let's Split
  5. MiniDox
  6. Let's Split

厚みは Let's Split の半分くらい。うちの Let's Split がクッションゴムから DSA Family のキーキャップの先端までで 35mm くらい。 Craven は 23mm 。たかが 12mm だけど、 Let's Split はリストレストがあってもいいかなって気持ちになるし、 Craven はなしで良いと即断できるくらいの差はある。

キースイッチ。 Let's Split は Gateron Red (45g Linear) で、 Craven は Kailh Low Profile White (50g Clicky) だと思う (追記あり、クリックをなくした特殊なものらしい) 。重さの差はそんなにないはずなんだけど、体感的ではわりと重く感じる。 Low Profile かの差もあるのかな。 Macbook Air はポコッポコッって感じで、 Craven のほうがすっと入る感じ。

キーピッチ。全長は一体型で中央に余白のある Craven がもちろん大きいのだけど、キー部分だけだとすこし異なる。 Craven は 7 列あるのだけど 6 列で比較する。 Let's Split で 114mm , Craven で 108mm 。 1 列につき 1mm ずつ狭いのかな。気持ち、せまく感じるのはそのせいかもしれない。ちなみに Macbook Air だと 111mm 。慣れれば問題ないくらいの差だと思う。

左右の間隔。 Macbook Air はなし。 Let's Split は自由。 Craven は固定。肩幅よりせまい。 Craven は Macbook よりやや大きいくらい。せまく感じる要因はここにもあるのかも……。

角度。これがちょっと気になる。 Macbook Air はまっすぐ。 Let's Split はそれぞれの手はまっすぐで、左右は分離しているので自由。 Craven はそれぞれの片手はまっすぐで、全体としては扇型で固定。この角度を固定されている点があまりしっくりこない原因だと思う。 Macbook Air のものよりは人間にやさしい角度なはず。だけど、実運用としては Macbook Air でもトラックパッドの都合もあって手首を寄せずに入力しているんだよね……。自分好みの角度に開いていて、キーの不自然な位置は慣れで解消しているのだと思う。ぼくの場合は右手側をちょっと開く感じかな。 ,./ のキーがあるあたりは頻度がすこし減るし、記号類が右に多いからもともと右手は落ち着かないのだろうね。

キー数。 Let's Split では 36 キーで使っている (5 * 3 + 3) * 2 。親指以外の指で 5 列を使っている。 Craven はそこに 6 列ある。小指が十分に届く位置なので、これは良いかも。 - などを配置すれば普通のキーボードの使用感にかなり近づけられると思う。 4 行目の小指側から 4 キーはあまり使わなさそう。

ぼくの理想との差。

薄型は疲れが心配だけど、それを抜きにすれば良さそう。底を打っている感じは長時間の入力だと疲れそう。リストレストを不要だと確信できるくらいの厚みは良い。キーボードは身軽なほうがいいんだ。 Pro Micro の位置やクッションゴムをあらかじめ考慮すればもっと薄くできそう。強度 (ねじれ ? ) の問題があるらしいし、想像通りにはいかないんだろうな。あと、もうちょっとだけ軽いスイッチはないのかな。返りが悪くなるのかな。

一体型。ぼくは一体分離より完全分離のほうが好み。 Let's Split をもっと広い幅で使っているので。さきに書いたような角度の問題もある。どうも kmtoki さんは一体分離が来ると踏んでるようなので、展開に期待したい (一体分離型だと Kinesis の製品と戦うことになりそうだけど……) 。

4 行 7 列 (親指以外で 6 列) は良いかも。いまの 36 キーに左右 3 キーずつで 42 キー。 5 行は触ってみた感じ、厳しそう。どうしてもホームポジションが崩される。 Nyquist でも感じたのだけど、平面で 5 行はちょっと遠そう。 Nyquist はキーキャップが悪いせいもあるかな。お椀型のように形状を変えれば可能性はあると思う。

ああ、最後に、すごく大切なことを忘れていた。 kmtoki アイコンが基板についているのだけど、これがすごく良い。なんならこれだけど bouzuya アイコンをつけたキーボードをつくりたい。

追記: そもそもオリジナルのキーボードをつくれるってこと自体が良いよね。アイコンはさらにそのオリジナル感を強める意味で良いな、って。

追記: http://kumatoki.hatenablog.com/entry/2018/02/05/220000 にこの感想への反応あり。特に訂正が必要なのはスイッチの件。「スイッチはロープロの白軸でクリックなんだけど、クリック機能を取っ払った特殊スイッチ」とのこと。


2018-01-29 に書いた IRKit の件、やはり NATURE REMO と現状やっていたことと同じことができた。どうしていままで仕舞われていたのだろう。また何かできたら書く。


『計算論 計算可能性とラムダ計算』は順調に読み進めている。 I S K (あと Y) が出てきた。いつもの感がある。

雑記

朝から HUNTERxHUNTER 35 を読む。単行本で読んでいるのだけど、なぜ連載再開タイミングで単行本を出すのか……。たまった時点で出してほしい。

夜は『計算論 計算可能性とラムダ計算』を 60 ページまで読んだ。

2018-02-01Google Search Console の件は 1123 / 2200 まで回復していた。よし。

TMK を読んでいる。 QMK に含まれている tmk_core/ を。

Google Search Console を見たらインデックスから外れていた

Google Search Console から新しい UI の案内がきたのでログインして確認した。新しい UI は以前よりきれいなのだけど、そこはわりとどうでもよい。どうでもよくなった。

どうでもよくないのは blog.bouzuya.net のほとんどのページがインデックスの登録から外れてしまっている。丸 6 年以上も毎日書いた 2199 ページのうち 9 しかインデックスに登録されていない。そんなまさか……。「インデックス ステータス」で見ると 2017-03-26 には 1281 がインデックスに登録されていた。そこから減り続けて 2018-01-28 には 40 、新しい UI ではたったの 9 だ。

新しい UI の「インデックス登録の対象範囲」から「除外」されたものを見る。「検出 - インデックス未登録」と「送信された URL が canonical として選択されていません」がほとんどだ。 URL を見ると http://blog.bouzuya.net になっている。もしかすると http:// は https:// にリダイレクトされているのでダメなのかもしれない……。 sitemap.xmlatom.xml は http:// になっている。

bouzuya/kraken を 3.7.4 に bouzuya/blog.bouzuya.net を 4.5.2 にして、再送信した。これで以前の状態に戻ってくれると良いが……。


キーマップの話を書く。2018-01-31 に Let's Split のキーマップを更新した。ひさしぶりの更新だ。

今日も手直しして v14 になった。特徴としては親指で mod key を押していたのをやめた。親指でレイヤーを切り替えて人差し指〜小指で mod key を押す。左右それぞれが必要なので 2 レイヤーも増えた。

慣れていないのもあるが、 mod key が押しっぱなしになる。たいへんまずい。改めて押せば直るのだけど、それは許容できない。予想では key up が送られる前に、レイヤーを変えてしまうと適切な key up が送られず key down のままになっているような気がする。そんなことがあるのか分からないけれど。

QMK を読むのは 2018-02 の目標にも含めているので、読んで、直そう。


朝は読書。昼は寝ていた。夜は Google Search Console を。終日、腰が痛い。あまりに痛くて体を曲げられない。

2018-01 ふりかえり

2018-01 をふりかえる。

2018-01 の目標

  • ☑ 『アジャイルコーチング』を読む
  • ☑ 『新しいシェルプログラミングの教科書』を読む
  • ☑ Puppeteer & Resemble.js で何かつくる

達成した。ただ Puppeteer & Resemble.js からは随分と脱線している。

週別のふりかえり

つくったもの

2018-01-01/2018-01-31

node-compare-images からはじまって screenshot-testing-js をつくり、 bbn-screenshot-testing で試している。

ほかは軽微な修正。

よんだもの

ゲーデルエッシャー、バッハ――あるいは不思議の環』を途中で投げてしまった。

みたもの

映画 (動画) 。

その他

ゲーム・おでかけ・勉強会はなし。

良くもないが悪くもない。ある程度の成果は残しつつも、そこまでパッとしない。「プログラミング・読書をバランスよく、こつこつと」という気持ちで進めた。途中からキーボードの割合が高まっている。続けていけるなら良い。

プログラミング。 Puppeteer & Resemble.js の件は screenshot-testing-js と node-compare-images になった。その検証で止まったまま、 fgb コマンドに入った。 fgb コマンドのための node-backlog-api バージョンアップでさらに止まっている。詰まりを解消したい。あと、ぼくは Haskell や Rust をやろうとしていたはずだ。 2018-02 は無理でも 2018-03 にはそちらへ切り替えたい。

読書。計画的に毎日すこしずつでも読んでいる。ただ、ふりかえってみるとそんなに読んでいない。量ではないと思うけれど、じゃあ質が良いかと言われるとそうでもない。習慣づけて読むことを良いと信じてやっていく。次は『計算論 計算可能性とラムダ計算』を読もうとしている。難しいので雰囲気だけでも……という気でいる。

キーボード。 MiniDox を買った。 Let's Split のときの kmtoki からだ。おまけにキーボードをもらった。また Nyquist をつくった。これで 1Q の目標にある「キーボードを自作する」を達成できた。ものとして使うかはともかく良い経験になった。ひさしぶりに Let's Split のキーマップを変更している。 2018-02 は慣らす期間になりそう。

散財がすごい。上記のキーボード作成のための工具や部品のほか、ふとん用の掃除機もそうだ。ものが増えると収納も、と無印で箱も買った。

Amazon Prime ビデオを観すぎている。上記の映画のほか、『孤独のグルメ』 (2018-01-28) も観ている。時間を浪費しないよう注意したい。

のどが痛いからはじまった 2018-01 の終わりに、腰が痛い。この間のはんだづけの後くらいから痛い。柔軟や腹筋をサボっているからだろう。腕立て伏せはしているのだけど、こちらもバランスが大切なのだろう。

2018-02 は短いけれど、息切れしないようにがんばりたい。

2018-02 の目標

  • node-backlog-api v2 をつくる
  • fgb コマンドをつくりなおす
  • 『計算論 計算可能性とラムダ計算』を読む
  • プログラミング言語の基礎概念』を読む
  • Nyquist の 2 台目をつくる
  • QMK Firmware を読む

Kensington SlimBlade Trackball をためした

2018-W04 の金曜日 (2018-01-26) に Kensington SlimBlade Trackball をためしたので、そのことを書く。

ぼくは普段 M570t という親指トラックボールを使っているのだけど、気まぐれに中指 (?) トラックボールを使ってみたくなった。たぶん何かの机の画像を見た影響だ。 Let's Split の s と S の間に置きたい。置くにあたって左右対称のトラックボールにしてみたくなった。

結論から言うと、ぼくには合わなかった。

ボールの大きさは良い。ボタンの大きさもまあ良い。気になるのはボールを囲んで配置された 4 つのボタンの位置だ。

仮に右手で持つとする。左下のボタンは良い、これはきっと基本のボタンだ。親指で押す。人差し指と中指でころころしながら、親指で左クリック。これは良い。

左上。これはどうやって押せばいいんだ。左右対称だから押しにくいボタンがあるのは気にしないのが正解なのか。ぼくにはボールを挟んで手と反対側にあるものを押せる気がしない。反対の手で押すのか。めったに使わない機能を置いておくのか。分からない。

次は右上・右下なのだけど、これがちょっと驚きだった。右下が押しづらい。正確には、右上を使うようにすると、右下が押しづらい。右下を使うようにすると右上が押しづらい。人差し指と中指をボールに使うと、あとは薬指小指。右上はまあ押せる、右下はどの指で押せばいいんだ。 2018-01-24 での MiniDox の感想でも似たようなことを書いたのだけど、これがどう使われる想定なのか分からない。

ホイールの挙動。水平に転がすと良い。カリカリという感触は気持ち良いのだけど、使いやすいのか、これ。以前 OrbitTrackball with Scroll Ring を試したことがあるんだけど、あれで良くないか。あちらのほうがホイールの存在に迷う心配はない。見たまま、直感的だ。いかにも回したくなる機構だ。ボールを水平に転がす操作はパッと見で分からない。ボタンの割り当てを変えて、ボタンを押してボールを転がす操作をスクロールに割り当てるほうが使いやすいと感じる。

根本的な話なのだけど、このトラックボールの構造は指をうまく使えない気がしている。その理由がボールの位置だ。これは金曜日にしたツイートでだいたいまとまっている。

親指以外の指は左右に動かすと手首を軸に手のひら全体を動かすことになる。

何が言いたいかというと、親指以外にボールを配置すると、ボールを動かしたときに指がボタンの上から離れてしまう。ボタンが指にくっついて一緒に動くなら話は別だが、そうでなければ中指にボールがあると、ボールを動かしたあと毎回ボタンの上に手を戻す必要がある。

ボタンの位置に困るのもこの根本的な問題から起きているように思う。どこに手が置かれるか分からないし、仮に場所を決めても、ボールを動かすたびに自然と手の位置が本来の位置から外れる。どうしようもない。

いっそ親指トラックボールを左右対称にしてはどうか。ボールを左右につけるとか、ボタンを左右につけるとかすれば良いかもしれない。ただ、たいていの人はどちらか片方の手しか使わないので、どちらか片方で十分だ。そして、いまの形に落ち着く。


朝はきちんと起きた。『計算論』を読みはじめた。 2 週間くらいをかけて読むつもりだ。

NATURE REMO をためした

朝はきちんと起きた。その割には Twitter ばかりで bouzuya/node-backlog-api が数コミットだけしか進まなかった。昼もほとんど進まず。

夜は NATURE REMO を試す。会社でたまたま貸してもらえたので、数日ためしてみる。

REMO はスマートリモコン。さまざまなリモコンの信号 (?) を読み取り、それと同じものを送れるようになっている。部屋に設置しておいて、スマホアプリから操作すれば、リモコンをスマホひとつにまとめられる。

REMO のいまの売りは IFTTT 経由で Google HomeAmazon Echo などのスマートスピーカーと連携して、声で家電を操作することだろう。ただ、ぼくの家にはスマートスピーカーはない。「電気つけて!」みたいのやってみたかったのだけど……。

とりあえず設定してみる。スマホアプリをインストール。スマホアプリでユーザー登録する。次は REMO に USB を挿し、給電する。 REMO の Wi-Fi に接続し、パスワードを入力する。何かしらの情報を読み取っているのかな。我が家の Wi-Fi ルーターのログインパスワードを REMO に設定する。さすがにちょっと不安のある操作だ。ここの操作がやけに不安定で、全然認識してくれなかったので諦めようかと思った。 10 分ほど試して、なぜかうまくいった。

リモコンを登録していく。「スマートエアコン」として売っているようなので、とりあえずエアコンを試す。ダメ。電源の ON/OFF がきれいに対応しない。入るけど落ちない。家のエアコンが古いせいかもしれない。 National の 95 年製だからな…… (Panasonic として認識される、間違ってはいないけど……) 。関係ないけど、今年の夏までにはエアコンを変えようと思っている。きっと省電力・高機能なものがあるだろうから。

脱線した。エアコンはダメだったが、蛍光灯・テレビは大丈夫だった。スマホで操作できた。「よし」という感じ。テレビはボタンが多かったので電源と音量など一部だけ。

で、次は IFTTT か API かと思ったのだけど、公式 FAQ によると API はまだ公開されていないみたい だ。 IFTTT 。実のところ、ぼくはあまり使っていない。また明日にでも試そうかな。

ところで、この REMO 。たぶん IRKit の類似商品というか後継のようなものだと思う。2014-09-09 に試しているし、ぼくは確か IRKit を持っているはず。……なのだけど、いまは使っていない。どこにしまっているのだろう、なぜ使うのをやめたのだろう。そちらでも似たようなことはできた気がするのだけど……。なんなら API も公開されていたような。 REMO はレンタルのはずだし、 IRKit で同じようなことができないか試してみようかな。