2022-02-02

昨夜も寝るのが遅かったので、朝は子を送りだしてから二度寝。なんとか散歩には行ける時間に起きれたけど、遠くにいくほど元気はなかったので、メルカリで売れたものを出品するついでにコンビニまで。テンションを上げるためにホットコーヒーを買って帰ってきた。

仕事は、ミーティングが少ない日だったのでちょっとがっつりPHPを書いたり、昨日だしてたPRをマージしまくったりしていた。今週中に終わらせようと思っていた機能はなんとかおわりそうなので一安心。とはいえ、そろそろ中長期でやっていくことを進めないといけないので明日はそっちにも時間を使うつもり。

お昼御飯は日曜日に作った鰯の梅煮を食べきった。鰯の煮付け、子供のころは骨ばっかりで苦手だったけど、大人になると必須脂肪酸でもとるかと自分で作るようになっているので人生はわからないものだ。

仕事がおわって、ちょっとゲームでもするかとシレン5を。原始99Fまだ終ってないので何回か潜ってみたが、最初2回連続で低層でフロア移動を踏んでしまって、そんなことあるかとびっくりしてしまった。3回目はまずまずの状況で、15Fまで進んでおわり。続きは明日でも。

Wordle 228 5/6 ⬛⬛⬛🟨🟨 🟨⬛🟨🟩⬛ ⬛🟨⬛⬛🟩 ⬛🟩🟩🟩🟩 🟩🟩🟩🟩🟩

2022-02-01

今日から二月…まじか…2022年も1/12が終わってしまった。1月は3日くらい日記を書いてない日があると思うのだけど、とりあえず日付を埋めるだけ埋めておこうと、カメラロールをふりかえってページだけを作っておいた。

先月は評価期間だったりでなんか個人としてはぴりっとした成果がだせなかった気がするな。仕事のふりかえりもやっておこう。

今日から# “衝撃の50%還元”再び!習志野市でキャッシュレス生活キャンペーン おかわり♪が始まった。上限は40,000円つかって20,000ポイントバックなので、まずは20,000円ほど入金。スーパーで買うようなものを半額だと思ってばんばんコンビニで買うってのが前回の作戦だったのだけど、1ヶ月で40,000円を市内だけで使うのはなかなかハード。無駄遣いじゃない程度に使いましょう。

今日から、金のフレーズはSupplement 1のパート1重要単語へ。で、これがわからないことなんの。まじで自分の単語力は本当に無だということを思い知らされる感じで、まずは2ページ(10語くらい)をちゃんと覚えるというのをやっていこうとおもう。がんばるぞい。

今日のビックニュースはなんといってもNew Yourk TimesのWordle買収でしょう。なんかひさしぶりに、こういうぽっとでのサービスがバーンとあたるのを見て、インターネットを感じましたね。運営などがどうなるか見てないけど、これからも公開しつづけてくれるといいな。

Wordle 227 4/6 🟨⬛⬛⬛⬛ ⬛🟨⬛⬛🟨 ⬛🟨⬛⬛🟨 🟩🟩🟩🟩🟩

2022-01-28

朝の散歩はrebuild.fmを聴きながら。@Nさんの仕事の話を聞くのは新鮮な感じ。コーディング試験のスコアを明確に定めてるのとてもいいなと思った。もしやるならそういうかんじでやってみたいなぁ。

今日もミーティングの合間はずっとPHPを。テストのないところにテストを書いて、考慮漏れをみつけては直すという日々。伸び代ばかりでやりがいがある!一緒にテストを書いてくれる仲間を募集中です!また、夕方は同僚と一緒に不具合の原因調査をしていたのだけど、これだけ長くやってるサービスの不具合の原因なんてそう簡単にはわかないんですよね。なので、今あるログや情報ではここまでしかわからないので、次に起きたときに今回よりも一歩でも根本原因に近づくためにはどういうログをだせばいいかを考えてほしい旨を伝えて解散。時には推測も大事だけど、わからんことはわからんと認めることも大事なのだ。わからないということがわかったなら、それは伸び代や。「伸び代」っていう単語は本当に便利で、Keisuke Hondaとじゅんいちダビットソンには感謝してる。

そういえば、昨日は英語の進捗を書いてなかったのだけど、今日で金のフレーズの最初の400語、600点レベルのところまでを一度通しでやったことになる。ただ、正直ボロボロなので明日明後日でなんとか8、9割正解できるようになりたいな。がんばろう。

WSL2の中からWindows側のブラウザを開く

GitHub CLIやHeroku CLIなど、ブラウザを自動で開いて認証させるタイプのCLIが最近増えています。

普通に使う分には便利なのですが、WindowsのGUIアプリ+WSL2という環境では、WSL2の中からWindows側のブラウザを開くことができなくて一手間かかることがあります。

最近はWSLgを使ってすべてをWSL側で完結させるという手もあるでしょうが、今の自分の開発のスタイルでは、CLIのツールはすべてWSL2、GUIツールはWindows側に入れるようにしています。そのため、上記のような問題がおきることが度々あり困っていました。

今はこれを解決するために

xdg-openを入れる Windows側のブラウザを開くデスクトップエントリを作る xdg-openのdefault-web-browserに2で作ったデスクトップエントリを登録する

という方法を使っています。

1. xdg-openを入れる

WindowsでいうstartやMacOSでのopenのように、引数に応じていいかんじにデスクトップアプリケーションを起動するためのエントリポイントとなるツールがxdg-openです。(実際にはシェルスクリプト)

xdg-openまたはxdg-utilsというパッケージに入っていることが多いのでこれをインストールします。Gentooならemerge xdg-utilsでOKです。

2. Windows側のブラウザを開くデスクトップエントリを作る

デスクトップエントリというのは、Linuxにおけるアプリケーションやディレクトリへのショートカットのことです。

詳しくは信頼と実績のArchWiki デスクトップエントリ - ArchWiki をどうぞ。Linuxデスクトップであれば、デスクトップの画面上にならぶアプリケーションの起動ショートカットの実態がこれになります。

ユーザ単位のデスクトップエントリは ~/.local/share/applications/に置くことになっているので、ここにWindowsのEdgeを起動するデスクトップエントリを作成します。中身はこんなかんじ。

[Desktop Entry] Encoding=UTF-8 Version=1.0 Type=Application NoDisplay=true Exec=/mnt/c/Users/kenchan/AppData/Local/Microsoft/WindowsApps/MicrosoftEdge.exe Name=Edge Comment=Microsoft Edge

Execに指定するパスは、which MicrosoftEdge.exe などで調べればよいです。

さて、だったらここでstartやexplorer.exeを指定すれば、Windows側のデフォルトブラウザの変更を反映していいかんじになるんじゃないの?と思った人、鋭いですね。

ただ、以下のような理由でそれではうまくいきません。

startはアプリケーションではなくWindowsのコマンド(?)なので、WSL側から実行するにはcmd.exeを経由したりしないといけない explorer.exeはアプリケーションを開けても終了コードが0(正常)にならないため、xdg-openとの相性が悪い。

xdg-openでブラウザを判定して開く処理は scripts/xdg-open.in · master · xdg / xdg-utils · GitLab にあります、この関数の呼出元を見てもらうとわかるのですが、ざっと説明すると「ブラウザっぽいコマンドを優先順位を決めて並べて、それを順番に叩いて正常終了したらそこでおわり」という大味な実装になっています。

そのため、explorer.exeを指定したデスクトップエントリを作った場合、たしかにブラウザは開くのですが、警告のメッセージが大量にでてきたり、同じページをブラウザで何回も開かれたりということがおきます。

上記の理由から、今のところ私はデフォフトブラウザとして使っているEdgeを直接開くデスクトップエントリを使っています。

3. default-web-browserとして設定する

xdg-openにURLを渡したときに開くアプリケーションを指定する方法は2つあります。

環境変数 BROWSER にコマンドを指定する xdg-settingsでdefault-web-browserにデスクトップエントリを指定する

今回は下の方法を使います。上の方法を使うのであれば実は今書いているようなことは一切必要なく、BROWSER=MicrosoftEdge.exeで終わりです。しかし、dotfilesを他環境と統一している場合は分岐を入いれるか、/etc/environments.dをいじるかになり、ちょっと嫌だなと思って、こちらの方法にしています。

xdg-settingsで設定するには以下のようなコマンドを打てばOKです。edge.desktopの部分は、2でつくったデスクトップエントリのファイル名を指定します。

# setで設定 $ xdg-settings set default-web-browser edge.desktop # getで確認 $ xdg-settings get default-web-browser

設定ができたらxdg-open https://google.comなどでWindows側のブラウザが開くことを確認しましょう。

これで、CLIの中からいきなりブラウザが起動されることがあっても大丈夫です。よかったですね。

おまけ

こんなことをしなくても、 4U6U57/wsl-open: Open files with xdg-open on Bash for Windows in Windows applications. Read only mirror from GitLab, see link を入れればよかろうというのはそうです。はい。

2022-01-26

朝起きたら、机の上に謎のキーホルダーがおいてあった。

この投稿をInstagramで見る

髙橋 健一(@_kenchan)がシェアした投稿

さて、Habitifyというマルチプラットフォームな習慣化アプリを2年くらい使っているのだが、最近のアップデートで「チャレンジ」という複数人で目標を共有しながら習慣化をしていくという機能が追加されていたので、さっそく「日記を書く」というチャレンジを作って共有してみたのが昨日。

明日から1ヶ月間日記を書く仲間を募集しています!!! https://t.co/MIsXacRrjD

— くんさん (@kenchan) January 24, 2022

同僚が2名くらい参加してくれたのだけど、さらに新しい機能っぽい「友達」というのにならないとお互いの進捗がわからないようだ。そちらのほうがまだよくわかっていないので、とりあえず今日からStreakを途切れさせないようにやっていこうと思う。この機会に書いてみようという気になった人はぜひ一緒にやりましょう。

今日は、社内で「辻1on1」と呼ばれている普段1on1しない人とやるという取り組みで、たまたま2名と1on1する機会をもらったので嬉しかった。最近の仕事の話から、読んだ本の話とか、技術の話とか、エンタメの話とか、とても楽し時間ではあったのだけど、正直自分の話題をふるスキルとか、話を膨らませるスキルってのはかなり低いと自覚しているので、そのあたりも上手にできるようになりたいなぁ。podcastか?

英語の勉強は金のフレーズの251~300。今回の絶対覚えられない単語は以下の2つ。

confident - 確信がある hesitate - ためらう

hesitateは音としても覚えにくくて、なかなか悩ましい。がんばろう。

2022-01-25

出社の火曜日。

移動中は ep93 Web3 | mozaic.fmを聞いていたのだけど、先日聞いた#64 The Liquidity Wars on Web3 | resize.fmを補完するような内容で、とても面白くきくことができた。まだ半分くらいなのだけど、ブロックチェーンを使ったアプリケーションというものを少しだけ理解できた気がする。聞き終えたらDEV Tokenを買ってみよう。

お昼は、数年ぶりに会社のカフェのランチの権利を得ることができたので、会社の窓際でいただいた。フクラスができたときにランチもグレードアップしたようで、今日はおでん風の煮物と炊き込みごはん、サラダという3品。おいしゅうございました。

夕方から少し時間がきたのでコードを書いていたら、VSCode Vimでは期待する操作がしにくいところがあったのでVSCode Neovimに切り替えた。ついでにNeovimの環境をちょっと見直したり。Neovim単体で開発をすることはほぼないので、init.vimからプラグインや細かい設定をばっさり削除してすっきりさせた。

今日の英語は金のフレーズ201~250。claimという単語がでてきたのだが、k8sのpersistentvolumeclaimを見たときにどういう意味だろうと調べたのを思いだした。そのあと、日本語の「クレーム」はclaimじゃなくてcomplaintだよというのがでてきて、ついでに一緒に覚えられたのでよかった。