2020/02/13 日記
HHKB Professional HYBRID Type-S のファームウェアをアップデートした
macOS 専用のファームアップツール がリリースされていたのでアップデートした。
ファームウェアをアップデートするときは Bluetooth 接続ではなく、有線接続が必要だった。
Mac に付属の Type-C 充電ケーブルで Mac と HHKB を接続後、Fn + Control + 0
で有線接続に切り替えた。
ファームウェアが 2 種類同梱されていて、英語配列だったので HHKB800_FW_A041.hfb
を指定した。
ファームウェアのアップデートに 4 分程度かかり、有線接続でも、Bluetooth 接続でも問題なく使えている。
Windows でも問題なく使えるかはまだ未検証。
なお、macOS 専用のキーリマップツールは 2020 年 5 月頃に公開予定とのこと。
2020/01/11 日記
HHKB Professional HYBRID Type-S 省電力を無効にしてみた
HHKB を Bluetooth 接続で1ヶ月弱使った。
仕事で平日1日8時間、私用で毎日1時間程度使ってきたが、電池1の残量2は 100 % のままだ。
HHKB のデフォルト設定だと、Bluetooth 接続でキー操作が30分間ない場合、自動的に HHKB の電源が切れてしまう。 電池の消耗を抑えるための、いわゆる省電力モードだ。
電池の消耗を抑えてくれるのはいいのだが、その状態から復帰するには HHKB のキー操作をしても復帰しない。 復帰するには、HHKB の電源ボタンを 1 秒以上長押しして、再度電源をオンにしないといけない。
これを回避するには、HHKB の6番目の DIP スイッチを ON にすれば良い。 どの程度、電池の消耗が激しくなるのかは未知数だが、エネループを使う想定なのでコスト面は問題ない。
この設定でしばらく様子を見てみよう。
マニュアル HHKB Professional HYBRID Type-S / HYBRID(英語配列 / 無刻印)
Perculia
Mac で Bluetooth 接続している機器の電池残量を見れるアプリのはずだが、見れなかった・・。 Windows では見れるからよしとしよう。
https://apps.apple.com/jp/app/perculia/id1462633284?mt=12
esa.io の markdown ライクな入力を実現する Chrome 拡張
esa.io の中の人が作成した Chrome 拡張。昔から使ってて、私用の Mac にはインストールしていなかったのでインストールした。
ブラウザで markdown 書くのが捗る。
ブラウザで開いているページを markdown のリンク形式でクリップボードにコピーしてくれる Chrome 拡張
これも esa.io の中の人が作成した Chrome 拡張。同じく、私用の Mac にはインストールしていなかったのでインストールした。 単機能なのがお気に入り。
・・が、更新が 2015 年 1 月で止まってるせいなのか、クリップボードにコピーされないなぁ。
2020/01/10 日記
NEC Wi-Fi 6 対応ルータ
ついに発表された。 物欲をそそられるが、対応している手持ちのクライアントが iPhone 11 しかないのが難点だ。
https://pc.watch.impress.co.jp/docs/news/1227872.html
はてなブログで今日の日記を書くブックマークレット
3 回同じことをやったら自動化するって偉い人が言ってたので Chrome で動作するブックマークレットを作った。
特定の URL に遷移後、何か処理を実行することができなかったので、2つに分けた。
javascript: location.href = 'https://blog.hatena.ne.jp/tikkss/tikkss.hatenablog.jp/edit';
javascript: (() => { const yyyymmdd = new Date().toLocaleString('ja-JP', { year: 'numeric', month: '2-digit', day: '2-digit' }).split(' ')[0]; document.querySelector('#title').value = `${yyyymmdd} 日記`; })()
JavaScript には Ruby でいう #strftime
のような日時をフォーマットする関数がない。
ググると #getFullYear
などで、整形するサンプルが沢山ひっかかるが煩雑である・・。
代替として #toLocaleString
を使って実装した。
実装されているブラウザは限られるが、ブックマークレット用途で使うブラウザは Chrome なので問題なし。
#toLocaleString
の options は下記を参照した。
http://www.htmq.com/js/date_toLocaleString.shtml
@t_wada さんの講演資料を読んだ
長かったが全部読み切った。
3種の神器のメタファ良いなぁ。 導入したときにすごい効果がありそう感が伝わってくる。
2020/01/09 日記
コミットメッセージ
いつからだろうか・・、VCS に記述するコミットメッセージが段々と長くなってきた。 変更の経緯などを細かく記述するようになったためだ。
コメントの話になると @t_wada さんのツイートを思い出す。
コードには How
— Takuto Wada (@t_wada) 2017年9月5日
テストコードには What
コミットログには Why
コードコメントには Why not
を書こうという話をした
最近だと @sinsoku_listy さんのブログエントリが最高だった。
Git のコミットメッセージを自動改行してくれるやつ
Vim では出来た。 ・・が、日本語だと自動改行してくれない。惜しいなぁ。
https://stackoverflow.com/questions/11023194/automatically-wrap-long-git-commit-messages-in-vim
Add this to your .vimrc: au FileType gitcommit setlocal tw=72
RubyMine では不明。 IntelliJ IDEA には7年前に実装されているっぽいが・・。 RubyMine で同様な設定が見つからない。
https://youtrack.jetbrains.com/issue/IDEA-53615
They can be configured in Settings | Version Control [x] Commit message right margin (columns): 72 [ ] Wrap when typing reaches right margin
shebang
シバン って読むのかー。 シェバンッ って読んでた。
https://fjord.jp/kuroigamen/8.html
それにしてもフィヨルドさんの説明は分かりやすいなぁ。
2020/01/07 日記
PostgreSQL
PostgreSQL default 0 な boolean カラムを追加したときに、既存のデータにおける追加した boolean カラムの値はどうなるんだっけ?
データマイグレーションタスクを作る必要が 0 であれば、ない。 NULL であれば、ある。
0 だった。当然といえば当然か。
HHKB Professional HYBRID Type-S
私用と仕事用のパソコンが違う。
それぞれ Bluetooth 接続しており、私用は数字キー 1 に、仕事用は数字キー 2 に割り当てていた。 しかし、逐一使用する機器を切り替えるのが面倒である。 1
私用と仕事用のパソコンは物理的に離れた場所にあり、同時に使うことはない。 そこで、どちらも数字キー 1 に割り当てて、逐一使用する機器を切り替えなくても使えないか?と考えた。
手順はこうだ。
- HHKB から、仕事用のパソコンのペアリング情報を削除
- 仕事用のパソコンから、デバイスを削除
- HHKB から、仕事用のパソコンを数字キー 1 にペアリング
この状態で、私用のパソコンにしれっと数字キー 1 で接続できれば目論見通りだったが・・世の中そううまくはいかないものだ。 私用のパソコンから接続できず、仕方なく私用のパソコンから HHKB のデバイスを削除し、再度数字キー 1 にペアリングすることでことなきを得た。
Bluetooth の機器登録は HHKB 側で保持しているようだ。 当たり前といえば当たり前か・・。
IntelliJ Platform 2020年ロードマップ | JetBrains ブログ
DHHのRails 5: The Tourをやってみた
Rails5をいじるにあたって何かよいコンテンツはないかと思っていたら、タイミングよくRailsの作者であるDHHがYoutubeに動画をupしていたのでやってみた。
以下、気付いた点など
rake -> railsに変わってる
rake db:migrate -> rails db:migrateなど railsの方に統一されて、どっちだったっけ?っていうのがなくなって地味に良い(rakeでも動く)
ただ、rakeの方だとspringが効いて速いが、railsの方だとspringが聞かなくて若干遅いのはそういうものなんだろうか。 (rails db:migrateだと効かないが、rails consoleだと効いた。)
typo時にサジェストしてくれる
これはRubyの方だが、did_you_meanのgemが標準添付されたことで、NameErrorやNoMethodErrorが発生した際にこれが正解なんじゃない?という候補を表示してくれるようになった。これまた地味に良い。
Action Cable
WebSocketがお手軽に組み込めるという代物。どうやら標準のWebサーバがWebrick->Pumaになったのはこいつが関係している模様
generatorが提供されているので、雛形は簡単に生成できる(app以下にchannelsディレクトリが出来、channel用のファイルができる)
確かに簡単に双方向通信を実現できたが、どうやってスケーラビリティを確保するのかが疑問。
雑感
generatorでapp以下にカジュアルにディレクトリが掘られていくのが新鮮だった。