人生シーケンスブレイク

シーケンスブレイク(Sequence breaking、シークエンスブレイクとも)とは、テレビゲームにおいて開発が想定している攻略ルートを逸脱し、ショートカットする行為のことである。

Linux Mint で デスクトップアプリの Todoist にログインする

環境

症状

OSをアップグレードしたら再ログインを求められたが、ブラウザでのログイン後のxdg-openからのリダイレクトが上手く行われず認証が完了しない。

20.2 の時は

shnsprk.com

で対応したけれども今回はこの方法ではダメだった。

やり方

まずアプリを立ち上げて、ブラウザでのログインを試みる。

f:id:ShineSpark:20220406043903p:plain

ブラウザが立ち上がったら、Dev tools も起動する。

f:id:ShineSpark:20220406044040p:plain

Dev tools を起動したままログインを行うと、consoleに Launched external handler for 'com.todoist:/oauth2redirect/todoist?... のログが流れるので com.todoist:/... 以降のURLをコピーする。

f:id:ShineSpark:20220406044215p:plain

Todoistアプリに戻り、こちらでも Ctrl + Shift + i で Dev tools を立ち上げる。

f:id:ShineSpark:20220406045016p:plain

ElectronっぽいのでDev toolsが普通に立ち上がる。

立ち上がったら、Consoleからlocation.hrefを変更し先程コピーしたURLに移動させる。

location.href='/oauth2redirect/todoist?code=...'

f:id:ShineSpark:20220406045104p:plain

するとログイン完了したことになる。

f:id:ShineSpark:20220406045146p:plain

以降はアプリを再起動してもログイン状態が保持される。

関連記事

shnsprk.com

Ricty に Nerd Font を合成する

あらすじ

Starship: Cross-Shell PromptNerd Fontが必要なので、RictyNerd Fontを合成する。

Before

Rictyをつくる

折角なので最新フォントを集めてRitcyを作り直す。

プログラミング用フォント Ricty生成方法 の通り、FontForgeをインストールし、

  • Inconsolata
  • Migu 1M
  • ricty_generator.sh

を集める。

それぞれのフォントのRegular, Boldフォントを同じディレクトリに突っ込んだら、

chmod +x ./ricty_generator.sh
./ricty_generator.sh auto

Ricty生成。

いいですね。

RictyNerd Font を合成する

https://github.com/ryanoasis/nerd-fonts#option-8-patch-your-own-font

を参考に、自分でフォントを指定してパッチを適用する。

まずリポジトリをclone

git clone --depth=1 https://github.com/ryanoasis/nerd-fonts.git

font-patcher を実行する。 M1 Max MBPでは python に path が通ってなくてエラーになったので python3 を付けて実行した。

python3 ./font-patcher -c ~/tmp/Ricty-Regular.ttf

いいですね。
Node.jsのアイコンを合成するために-c オプションを付けた。

面倒なのでまとめて生成する。

ls ~/tmp/Ricty* | xargs -n 1 python3 ./font-patcher -c

OK.

適用してみる

iTerm2に早速適用してみた。

無事にNode.jsのフォントも表示されるようになった。

zsh-autosuggestions でサジェストされるコマンドの色設定が適用されない

f:id:ShineSpark:20220324235112p:plain

症状

zsh のコマンド補完に zsh-autosuggestions を使っていたが、zsh周りを再構築したらサジェストされた文字の色が白になり、設定しているはずのグレー系の配色にならなくなった。

As is

f:id:ShineSpark:20220324234442p:plain

To be

f:id:ShineSpark:20220324234414p:plain

環境

  • zsh 5.8.1
  • zsh-autosuggestions@a411ef3
  • zsh-syntax-highlighting@c5ce001

解決方法

zsh-syntax-highlightingの不具合のようなので、暫定的に zsh-syntax-highlighting.zsh の以下箇所を書き換える。

diff --git a/zsh-syntax-highlighting.zsh b/zsh-syntax-highlighting.zsh
index 2b42910..2502df0 100644
--- a/zsh-syntax-highlighting.zsh
+++ b/zsh-syntax-highlighting.zsh
@@ -166 +166 @@ _zsh_highlight()
-        if is-at-least 5.8.0.3 $ZSH_VERSION.0.0; then
+        if is-at-least 5.9.0.0 $ZSH_VERSION.0.0; then
@@ -418 +418 @@ _zsh_highlight_call_widget()
-if is-at-least 5.8.0.2 $ZSH_VERSION.0.0 && _zsh_highlight__function_callable_p add-zle-hook-widget
+if is-at-least 5.9.0.0 $ZSH_VERSION.0.0 && _zsh_highlight__function_callable_p add-zle-hook-widget

Highlighting bug after updating to zsh 5.8.1 · Issue #857 · zsh-users/zsh-syntax-highlighting で対応中なので多分その内直るかも。

参考

Linux MintのBluetooth A2DP Sink接続で音が出ない問題を解消する。

f:id:ShineSpark:20220228182232p:plain

環境

症状

骨伝導イヤホンをA2DP接続すると音が出なくなった。 HSP/HFP接続であればかろうじて音が出るものの、A2DP接続に比べて音質が悪いので直したい。

f:id:ShineSpark:20220228180405p:plain

アップデートか何かの拍子に音が出なくなった。

模索

Ubuntu bluetooth A2DP 辺りでググって同事象の解決方法を探す。

GDM 利用時に PulseAudio で A2DP が動作しないケースがあるとのことだが、LinuxMint では LightDM を利用しており、該当しない。

$ systemctl status display-manager.service
● lightdm.service - Light Display Manager
     Loaded: loaded (/lib/systemd/system/lightdm.service; indirect; vendor preset: enabled)
     Active: active (running) since Mon 2022-02-28 14:05:28 JST; 3h 56min ago
       Docs: man:lightdm(1)
    Process: 1191 ExecStartPre=/bin/sh -c [ "$(basename $(cat /etc/X11/default-display-manager 2>/dev/null))" = "lightdm" ] (code=exited, status=0/SUCCESS)
   Main PID: 1196 (lightdm)
      Tasks: 5 (limit: 77008)
     Memory: 262.3M
     CGroup: /system.slice/lightdm.service
             ├─1196 /usr/sbin/lightdm
             └─1307 /usr/lib/xorg/Xorg -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch

 2月 28 14:05:27 Linux-Mint systemd[1]: Starting Light Display Manager...
 2月 28 14:05:28 Linux-Mint lightdm[1196]: Seat type 'xlocal' is deprecated, use 'type=local' instead
 2月 28 14:05:28 Linux-Mint systemd[1]: Started Light Display Manager.
 2月 28 14:05:30 Linux-Mint lightdm[1343]: pam_unix(lightdm-autologin:session): session opened for user shinespark by (uid=0)

試しに PulseAudio の設定ファイルを sudo vi /etc/pulse/default.pa

### Automatically load driver modules for Bluetooth hardware
.ifexists module-bluetooth-policy.so
-load-module module-bluetooth-policy
+load-module module-bluetooth-policy
.endif

.ifexists module-bluetooth-discover.so
-load-module module-bluetooth-discover
+unload-module module-bluetooth-discover
.endif

としたがこちらも解消には至らなかった。

基本的な PulseAudio 再起動、Bluetooth再起動、OS再起動も効果なし。

~/.config/pulse 配下のファイルも確認したが、バイナリデータが主で何が原因でこうなっているのか分からない状態。

解決方法

~/.config/pulse 自体を削除したら解消した。

rm -rf ~/.config/pulse

して

f:id:ShineSpark:20220228180405p:plain

A2DPを選択するだけで普通に音が出るようになった。

骨伝導イヤホンは本当に便利。

もう一つ買い増した。

参考

Linux MintでもAppImageをアプリケーションメニューに追加する

Ubuntu のアプリケーションメニューに追加するのは

shnsprk.com

でやったけれども、Linux mint には Menu Editor がなかったので自前でやる。

やり方

1. 適当なディレクトリにAppImageを置く。

自分は ~/Applications/ に配置。

2. ~/.local/share/applications に .desktop ファイルをつくる。

$ pwd
~/.local/share/applications

$ cat Todoist.desktop
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Todoist
Comment=Todoist
Exec=/home/shinespark/Applications/Todoist-1.0.5.AppImage
Terminal=false
StartupNotify=true
MimeType=x-scheme-handler/todoist;x-scheme-handler/com.todoist;

以上。

大反省会2021

2021年も終わりなので、今年一年できたことを振り返ってみる。

なお、今年は1年を通してTodoistを使っていたのでそちらの完了タスクからカテゴリごとに振り返ってみる。

f:id:ShineSpark:20220119145558p:plain

Todoist, 今年は1年通して使い倒せたのでいつ何をやったのかがバッチリ記録できている。

開発

  • iOSアプリリリース
  • Vue + Firebase Hosting + GitHub Actions で Jamstackなサイトリリース

今年は個人開発で目に見える結果になったのはこの2つ位だった。

zenn.dev

春頃には結構時間があったのでガッツリできたけれども、夏以降は家庭のこととか細々したタスクとかゲームとかで殆どなんもできなかった。

基本的に子供が小学生になるまでは、朝4時頃に早起きしてから子供が起きてくる7時位までの数時間しか完全な自由時間はないのでその時間を何に使うかの戦いなのだが最近はPCゲームが勝利する。

とはいえ、iOSアプリをリリースできたのは良かった。今でも週に15〜20ぐらいのペースでダウンロードされている。

来年はもう1つくらいアプリを完成させたい。

資産形成

今年は途中までは良かったのだが10月頃ぐらいから下がり始め、12月後半には年始ぐらいの相場感で落ち着いた。

  • 国内個別株
    • NISA枠で短期売買するのを辞めた
  • iDeCo
    • そのまま
  • ETF
    • 定期買付で直接購入するようになった
  • 外国株
    • New!
  • ジュニアNISA
    • New!

国内個別株は、株取引を始めた当初(数年前)は数万円増えただけでも利確していたけれどもそれを繰り返すだけでNISA枠を食いつぶしてしまうのが本当にもったいないと気付いたので今年は一切売却していない。 そのお陰で何度か高値で売り切れるタイミングを逃したのだけれども、数年ホールドしてみた結果どうなるかをみてみたいので、当面はこのスタイルを貫く予定。

ETFは、元々なんも分からん状態で数年前からWealthNavi for 住信SBIネット銀行で「長期・積立・分散」をはじめていたのだが、「WealthNavi for 〇〇銀行」だと、長期割という手数料の割引プログラムがなかったので、2年前の年末に一度解約し、昨年からはWealthNaviを利用していた。

が、それでも手数料が結構高く(分配金と相殺されるレベル)、開設済みのSBI証券でWealthNaviの銘柄を定期買付で毎月購入できることを知ったので、今年は直接購入に切り替えた。

WealthNavi自体も、WealthNaviのリバランスなどのタイミングをもう少し勉強したくて積立額を月1万円に落としてそのまま続けている。

f:id:ShineSpark:20211231065326j:plain

それから外国株を始めた。

所謂GAFAMを始めとしたIT市場は右肩上がりが大きく国内株に比べてイージーモードと思いきや、ここ最近の株安をもろに食らい難しさを感じている。

最後にジュニアNISAを申し込んだ。 実際の開設・取引は来年からなのだが、今までのご祝儀・お年玉などは現金でなくVTIとVEAにしてしまう予定。
家庭内元本保証ということで、元本割れしたら私が補填するということにしている。

f:id:ShineSpark:20211231065552p:plain

15年以上預けることになるので期待している。

今年買ったもの

shnsprk.com

秋頃ぐらいまでは資産運用の調子が良かったので浮かれて買い過ぎてしまった。

ゲーム

Todoistしてからかなりのハイペースでやれた。

積みゲーをプレイする・完クリする を分類していないが、以下のゲームをプレイできた。

不思議のダンジョンシリーズはアプリのデータ検証も兼ねて実機を引っ張り出してプレイした。

本当はゲームをクリアするためにアプリが欲しくて作り始めたのだが、アプリ検証中に各作品のもっと不思議のダンジョンをクリアしてしまい、アプリの開発中にモチベーションがガクッと落ちてしまった。

買って未開封Xbox Series Sも鎮座しているのだけれども、来年に持ち越し。

映像作品

エヴァはなんだかんだTV版を最終話まで未視聴だったので、通しで観てそのまま劇場版も観て不完全燃焼したので、気分を新たにAmazon Prime Videoで新劇場版をQまで観て気分が高まった所で映画館でシン・エヴァンゲリオンを観たので回収ポイントがよく分かり一層楽しめた。 当時視聴してたら拗らせたんだと思うと今年一気に視聴したこの方法もなかなか良かったと思う。

ウルトラマンは子供が観るようになって自分もストーリーを追いたくなってニュージェネレーションと呼ばれるウルトラマン作品の中から気になったものをガッツリ観た。 去年ZとR/Bも観たので来年はギンガを観る。

ダンガンロンパはゲームをちゃんとプレイしないままで、今年プレイしたのでその勢いでアニメも観た。ゲームとアニメ両方観てやっとシリーズの結末まで観終えたので安心してV3に進められる。

ウルトラマンの合間に気になった映画も観た。 子供の◯◯観たいに応える形でAmazon Prime VideoとNETFLIXとHuluを契約中なのでわりと何でも観られる。来年は少し絞る予定。

書籍

Todoistで管理していなかったので、全然読めてない。

今年(2021年)はゲームや映画などを大量に消費できた。

Todoistに積んでおくと、次にスーパーに行った時のための「わさびを買う」のような小さめのタスクから、大きいタスクまで並んでいて一日に数回は眺めることになり、少しの合間でも「やるか〜」とその気になる習慣づくりができたのが大きい。

来年(2022年)は、積読本をTodoistに纏めたら300冊程あったので、2022年は読書を中心に据える。

ではまた来年。