長年 HHKB 欲しいけどトラックポイント無いしな……と見送ってきた Thinkpad ユーザーですが、 HHKB Studio の登場でその制約も無くなり、my Thinkpad のキーが幾つか死んでる状況でもあり、とうとう手に入れました。一生使う所存。 打鍵感は実をいうとそこまで感動しなかった。残念 (Thinkpad いいよね)。 Thinkpad 未経験の息子たちは感動してた。次男には iPad+logitechの K480 を使わせてたけど、もう HHKB でしか入力したくない様子。まぁ K480 打ちづらいしカシャカシャうるさいもんね……軽くて手頃で子ども向けに良いと思ったんだけど、iPad スタンドとして余生を過ごしてもらうことになりそう。 そしてマウスキーのカシャンッっていう打鍵感 & 音がやや気になる。 他のキーのスコスコ音は静かとまでは言えなくとも気になるほどではない (Thinkpad いいよね)。 キーマップは色々な人のおすすめを見比べつつこのように設定しました (US配列): スペースキーの左右を Fn-Alt-Space-Alt-Win に 左 Fn+hjkl のカーソル移動をしたいから Alt は多用するので使い慣れた位置がいい Windows キーは使用頻度低いので押しにくい位置で構わない 半角/全角切替は IME の設定で「Shift 単独押し」 Alt+` と併用 Fn+hjkl でカーソル移動、その周辺に Page Down/Up、Home、End 初期設定だと、手がそこまで大きくないのでホームポジションから遠い 元々の設定値は右側へ移動 "Fn+<" が空いたので Delete を割り当て(押しにくい Fn+`と併用) これでほぼホームポジションを保てるようになりました。 範囲選択 Shift+矢印、Ctrl+Shift+矢印も、Fn・Shift・Ctrl を必要に応じて小指で同時押しすればいける。コンテキストメニューも Shift+Fn+0 で出せる。 しばらくこれで使ってみます。記号の日本語配列 → US 配列の違いは慣れるしかないですね……
家の本棚を整理したく、また某図書室の整理ボランティアも買って出た関係で、本の分類番号を取得したくなった(背ラベルの消えた本多数)。 蔵書録をつくるプログラムは前にも Excel VBA + Amazon API で作ったけど、Amazon APIから日本十進分類法(NDC)の番号はもらえない。まあ当然。 今回は、国立国会図書館のAPIとGoogle Apps Script (Google Spreadsheetにバインドしたプロジェクト) で作ることにした。 仕組みはこんな感じ: UrlFetchApp.fetch で下記URLにqueryの値を追加してリクエスト https://iss.ndl.go.jp/api/sru?operation=searchRetrieve&recordPacking=xml&recordSchema=dcndl_simple&onlyBib=true&maximumRecords=20&query= query の中身はたとえば isbn="1234567890" とか title="あいう" AND creator="かきく" とか。それを encodeURIComponent でエンコードしたもの。 NDLへのリクエストは5秒に1回という制限があるので、Utilities.sleep で適宜待つ。 fetchした結果を XmlService.parse して内容を取り出す。namespaceの指定が全部必要。無印タグにも必要(はまった)。XMLの常識?もう何もかも忘れてる。 検索結果が1件なら、そのままSpreadsheetに書き出して、次の本を再帰的に検索。 複数あれば ui.showModalDialog でダイアログを表示して選択させる。ダイアログから google.script.run() で書き出す関数を実行。successHandlerで次の検索を再帰的に呼び出し。 ダイアログはいつ閉じれば?と迷ったけど、単純に上の実行の次行に google.host.close() でできた。 検索キーはisbnまたはtitle。titleが短いばあいは完全一致指定 (title exact &qu