hogashi.*

日記から何から

 AndroidGoogle 製時計アプリ、 "Bedtime" タブが増えていて、睡眠を基準とした?アラーム設定ができるようになっていた。寝ると決めた時間からアラームまで何時間なのかが表示されたり、その時間中は画面をグレースケールにしたり、アラームの前に画面を明るくして自然に起きられるよう取り計らったり、ということができる。僕はまだ使ってないけど、入眠するための音楽を聞いたり、起きたときに Google Assistant で何かしたりもできそう。ちなみに下のスクリーンショットはグレースケールの状態で撮ったけど色がついて保存されている、朝の時間の方は文字が黄色になっていて細かい。

f:id:hogashi:20200607233634j:plain

f:id:hogashi:20200607233638j:plainf:id:hogashi:20200607233643j:plain
開くとこう

 アプリとはこれ:

play.google.com

ScrapboxでVimのinsertモードっぽくカーソルを出し消しする

 Scrapbox でマウスでカーソルをエディタ内に置いたり、エディタ外をクリックしてカーソルを消したりするけど、リンクがあったり画像があったりすると思うようにカーソルが置けなかったり、逆にカーソルがあるとリンクが押せなかったりすることがある。 Vim の insert/normal モードの切り替えっぽくカーソルを出したり消したりすると解決しないかと思って試してみている。

document.addEventListener('keydown', e => {
  const textarea = document.getElementById('text-input');
  switch (e.key) {
    case 'i':
      if (document.activeElement !== textarea) {
        textarea.focus();
        e.preventDefault(); // イベント中断しないと `i` が入力されてしまう
      }
      break;
    case 'Escape':
      if (document.activeElement === textarea) {
        textarea.blur();
      }
      break;
  }
});

crontabのシンタックスハイライトするVSCode拡張機能つくった

 crontab ファイルのシンタックスハイライトをする VSCode 拡張機能をつくった。

marketplace.visualstudio.com

 VSCodeTextMate というエディタの文法を司る部分のエンジン*1を同じように利用していて、 tmLanguage ファイルがあればそのまま拡張機能にしてシンタックスハイライトできる (XML でも JSON でも読み込める)。特に GitHub などにファイルがある場合、それを Yeoman に指定するだけで完成する。した。

CONVERTING AN EXISTING TEXTMATE GRAMMAR

yo code can also help convert an existing TextMate grammar to a VS Code extension. Again, start by running yo code and selecting Language extension. When asked for an existing grammar file, give it the full path to either a .tmLanguage or .json TextMate grammar file:
https://code.visualstudio.com/assets/api/language-extensions/syntax-highlighting/yo-convert.png

Syntax Highlight Guide | Visual Studio Code Extension API

 すべておまかせという感じで、人間が書くのは README くらいだった。今回は事前に cron とかで検索してまだ VSCode の marketplace に存在しないのを確認したけど、気をつけないと拡張機能が乱立していって大変なことになるという気持ちもわかる。

ghq listをpecoしてpushdするbash function

 こういう感じで .bashrc とかで定義しておくと、 ghq list を peco で選んでそのディレクトリへ移動 (v0 の ghq look みたいな) できる(好みで pushd にしてる)。こういうものみんな各々好みがあって各々やっている気がする……。ちなみに↓では glk と打つと出せて、 glk hoge と打つと hoge が入力されて検索された状態から peco を始められる。

function glk() {
  ARG_STR="$1"
  PECO_RESULT=$(ghq list | peco --query "$ARG_STR")

  PECO_RESULT=$(echo -n "$PECO_RESULT" | tr -d '\n' | perl -pe 's/(^ | $)//g')
  if [ ! -n "$PECO_RESULT" ]; then
    return 1
  fi

  pushd "${GHQ_ROOT}/${PECO_RESULT}"
}

 ghq, peco とは↓です。

github.com

github.com

Google EarthとDiscordで色々見て歩く会やった

 この記事を見た友人とやってみるかという話になって、 Discord で画面共有しつつ Google Earth で見たいところを見て歩く会をやった。

chizuchizuko.hatenablog.com

 フィンランドに行きたい気持ちが高まっていて、ヘルシンキに空港があるはずだけど……とか言いながらふらふら見てたら全然違うところに空港があって驚いたり、日本に戻ってお互いのよく知っている土地を話したりしつつ地図をぐりぐり動かしていた。 3D に切り替えると(荒いものの)建物が立体になるので、普段に近い感覚で歩けたり、山みたいになっているとか海岸とかもわかったりして面白かった。

f:id:hogashi:20200505174929p:plain
3Dビューでぐしゃぐしゃになった利根川

 Google Earth 自体めちゃめちゃ久しぶりに見た、というか昔々に見た頃はまだ一般には使えなかった気がする(小学生とかだったと思うので定かではない)。最初に地球自体よりもその背景に星が見えることにちょっと感動し、雲があることに確かにね……となり、普段使っている地図には登場しない(というか必要ないので意図的に登場させていないのだけど)ものが実際にはあるのだなという気分にもなった。時代は進んで Discord で画面共有をしながら通話でき、地図というよりは写真帖みたいな感覚で、風景を眺めながら話をする、紙の地図とはまた違う独特の楽しみ方ができた。

f:id:hogashi:20200506000915p:plain
地球の後ろに星が見える様子

www.google.comdiscord.com

お題「#おうち時間

(追記) フィンランドの様子

 日本ではお互い出生の秘密(秘密ではない)を語り合ったので、フィンランドを見て歩いたときの様子だけ簡単にご紹介:

f:id:hogashi:20200506001145p:plainf:id:hogashi:20200506001203p:plainf:id:hogashi:20200506001219p:plain
ヘルシンキは下の方か〜とズームして空港を見逃した様子

f:id:hogashi:20200506001410p:plainf:id:hogashi:20200506001446p:plain
f:id:hogashi:20200506001428p:plain
空港のそばにはシルボラ貯水池(川のような形の道もあるような?) / ヴァンター川の水ではなく 120km も離れたパイヤンネ湖の水……!(wikipedia参照)

fi.wikipedia.org

f:id:hogashi:20200506001830p:plainf:id:hogashi:20200506001857p:plain
ところで最初に目についたスオメンリンナの要塞も見た様子(教会がある……) / 潜水艦も博物館として遺されている

 CDを数枚取り込み、使えるかと思って部屋に留め置いていたゴミを捨て、あとはサーモンラン(スプラトゥーン2)ばかりやっていた日だった。近年稀に見る何も達成しようとしない姿勢で、なんとも気の長い生活をしている。こういう雰囲気の気の長さが長期的かつ常時もっとある生活を求めている。

今日の落書き

 今日の落書きは、ソースコードの単語を列挙するシェルスクリプト。作ってる拡張機能ソースコードでやってみたので JavaScript 、つまりキャメルケースと全部大文字な定数がある。罠としては HTMLElement みたいな大文字が続くキャメルケースもある。

 こういう感じになる: 単語のリストも一緒に入れたらめっちゃ長い、ブログの URL をコメント文に入れたりしているので hogashi とか hatenablog とかも入っていて面白い。
gist.github.com