Emacs の設定ファイルを分割していたのをやめて、init.el のみにすべてを集約した。

新しい設定を追加しようと思うたびに「これどのファイルにいれるかなぁ?」みたいな、あまり意味のないことを考える必要がちょいちょいあったのだけど、この記事を読んで Helm から Vertico + Consult にシュッといってみよかな、と思ったときに、既存ファイルにいい場所がない、新しいファイル作るとしてファイル名は???というので悩んでしまったところで限界に達した。

そもそもなんでファイル分割してたのかも思い出せなかったくらいだし、分割の粒度やファイル名もいまいちだったのかもしれないけど、use-package が imenu サポートしてるということに気づいたのでガガガッとやった。

(eval-when-compile
  (setq use-package-enable-imenu-support t)
  (require 'use-package))
(require 'bind-key)

移行自体は、もともと use-pacakge を大体のところで使っていたので、分割して読み込んでいた↓ のようなところを、順次コピペ・削除して移動自体はシュッと完了。

(add-to-list 'load-path "~/.emacs.d/init")
(load "init-appearance")
(load "init-modeline")
(load "init-scratch")
(load "init-dired")
(load "init-general")
(load "init-yasnippet")
(load "init-company")
(load "init-completion")
(load "init-helm")
  :
  :

ついでに use-package 使ってなかったところもぼちぼち use-package に移行して imenu で移動・検索しやすくした。

ファイル分割時代とくらべると、

  • git grep(helm-git-grep) で検索・移動から、imenu で検索・移動になったのが圧倒的に楽
  • あたらしい設定追加時も「どのファイルにするか」というのを考えなくてよくなった

という点がとにかく快適でよい。

悪くなった点はいまのところ何もないのでもっと早くやっとけばよかったなという感じ。

https://github.com/ziguzagu/dotfiles/.emacs.d/init.el

2月中旬、ドライブ中の会話。

  • 僕:いろいろあったので今年はなんか趣味を作りたい。なんかアイデアないですか?
  • 妻:うーん。料理は?申し訳ないけど、毎日作ってるでしょ。もういっそ趣味って言ったら?
  • 僕:あれは家事です。暇だから料理しよう、とはならない。せっかく作るならと思ってたまに手の込んだもの作ったり、新しいレシピ探したりするけど、基本的に使命感でやっております。
  • 妻:・・・。
  • 僕:なんか作るなら1日とか短い時間で1回が終わらないやつ。長く続けないと完成しないやつがいい。
  • 妻:・・・・・・。
  • 僕:この前久しぶりにプラモデル作ったけど、飾って楽しむとかポーズをとらせて楽しむとかそういうのが全くないことがわかった。作ってる最中は楽しいんだけど完成が見え始めるとやる気もなくなって、実際微妙に完成しないまま1ヶ月放置してたし。なんとか作り終わったけど、とっておく場所もないし1ヶ月くらいで捨ててしまった。
  • 妻:めんどくさいな・・・・・・。
  • 僕:・・・・・・。
  • 妻:あ。大学は?
  • 僕:!?
  • 妻:言ってたじゃん。後悔があるって。
  • 僕:!!!!!
  • 妻:新しい趣味探すのもいいけど、そういう過去やりたかったけど出来なかったことやったほうが確実でお得じゃない?
  • 僕:すぐに損得勘定したり元を取ろうという発想になるのはいかがなものかと思うけど、そういえば、すっかりわすれてた。大学。
  • 妻:ひとこといらない。

という会話をきっかけに、いろいろ考えた結果、タイトルのとおり(社会人)大学生になった。

10年くらい前までは「いつか大学に」というのはずっと考えてはいたけれど、子供が生まれて自分の時間が徐々になくなり始め、2人目も生まれてさらにへり、仕事で忙しくしたあげく2年前に一瞬体も壊して精神も削ってしまい、とかとかで、もう完全に記憶の彼方にいっていたやつが急に呼び起こされた。

帰ってからすぐに調べたら「工学学士がとれて通信制」という2条件で選択肢が(いまだに)1つというのに若干がっかりもしたけど、大学選びで迷う必要はなくなり、このタイミングでいくのか行かんのか、ということだけになった。3月からフリーランスという新しい働き方始めるのもあり、仕事も体調もどうなるかわからないので願書の準備はしつつも提出はギリギリまでねばり、3月後半に「なんかしんどいんだけどタイミングはいましかないかなぁ」という気になった結果提出して、先週無事入学通知がとどいた。

高卒なので1年から。観測範囲での社会人大学生はほとんど大卒で2年・3年次入学が多い気がするのとか、仕事はもちろん継続だし、下の子が小学生になるまでの後4年間は引き続きひたすら時間がないはずだし、仕事も別に余裕があるわけではないし、また単に自分を追い込むだけの無理ゲーを始めようとしているのでは?とも思う瞬間もあるけど。

趣味で、好き好んでいくわけだし、なんかこういきりたって「仕事に役立てるのである」とかそういうのもあまりなく、ただ単に勉強したいだけといえばだけなので気楽にやりたい。何か新しい発見があることも期待して。

卒業は良くて6年、普通にやって7年、バッファ持って8年という感じだろうと思うので、たぶん50歳くらい。なかなか字面的に迫力のある年齢になってきた感。

Netlify にこのブログを移すタイミングで、ドメインレジストラを Google に移行して、DNS は Apex 使っている関係もあって Netlify の DNS を使っていたけど、両方とも Cloudflare に移行した。

以前使っていたドメインがもうすぐ更新で、なんとなく Google ではないどこかないかなぁ、Netlify がAレコード直指定サポートしてくれてるとはいえあんまりやりたくないしなぁ(実際この期間にアドレス一度変わってる)、とか思いながらぼんやり Netlify のドキュメントを眺めていたら、Cloudflare の DNS で CNAME Flattening というのがサポートされていて、CNAME に Apex ドメインが設定できるというのを知り、レジストラもやってて値段はドメイン原価のみというのもあってシュッと移行した。

使い勝手としては通常のドメインレジストラとはちょっと違って、Cloudflare にサイト(ドメイン)を登録して NS レコードを Cloudflare に向けるところまでやって「Cloudflare をエッジとして使う準備ができたドメイン」についてのみ移管できる、という感じの流れになってた。ドメインの価格を原価のみに設定するというのは、つまりはそういうことだろうなとは思ってはいたし、Netlify の CDN が日本に Edge がなくてさして速くはないというのもあってうっかり速くできたら儲けもんくらいのノリもあったので、これは支障にならなかった。

実際移行して Cloudflare の無料機能も使ってみるといろいろ面白い。キャッシュヒット数が可視化されてるのはもちろんのこと、帯域幅やDNS のレスポンスタイムの可視化、HTTP/TLS バージョン別のトラフィック統計とかとか、エッジ周りのいろんなイベントが可視化されて見える。Netlify でもできる JavaScript/CSS の Minify に加え、Brotli 化するのもできて、Cloudflare でどれだけ帯域節約・速度向上させたかの可視化なんていうのもある。

レイテンシーについては Netlify CDN と比較するとそこまで改善していなさそうな気配。Netlify はエッジが日本になく Cloudflare は東京と大阪にあるようなのでちょっと期待してたけど、無料プランだしそもそもたかが知れたアクセス数というのもあってかキャッシュミスヒットも多くて、でも DSA 的な部分でちょっと速いくらいの感じ。

とはいえ、Apex 使うために DNS 的制約があった部分が払拭できたのに加え、エッジのもろもろな機能をおまけで使えるのは大変良いので、しばらくこれで安泰。

【2021-04-14 追記】 どうも Cloudflare の Proxy (CDN) を有効にしてしまうと Netlify 側が正常動作しないっぽく警告が消えないのと証明書の更新ができならしい。フォーラムでも警告されてたりした。残念ながら DNS のみ使うことに。まぁ、料金は安くなったからいいか…。

3月からフリーランスとして仕事を始めて1ヶ月がたった。

いまのところ週4日勤務で、1社は火〜木曜の3日、もう1社が金曜という感じで始めてみている。

メインにしてる週3勤務の方は Rails 中心のサービス開発で、開発が始まって数年のサービスだけどコードベースでは過去経験した中ではすでに一番大きい規模感。関わってるエンジニアの人数も多いし、社全体のエンジニア人数も多くて、いろいろ目新しいものや仕組みがいっぱいな感じで、その辺りは望んでいた通りで大変良い。

勤務としては中4日間隔があくせいか、少しのブランクのせいか、衰え(?)のせいか、コードベースや業務知識について理解を深めるスピードがとても遅く感じていた。もちろん参加した時にはすでに一人で全部理解するのは難しいサイズになってるし、そもそも結構複雑なことをやっているサービスでもあるので、単純にキャッチアップが難しいのかもしれないけど、毎日書くコード量があまり増えていかないし精神的にはちょっときつかった。

ただそれは、頼まれてもないのに基準を厳しく設定していて自分を追い詰めていただけのようで、3月最終日に簡単なフィードバックをもらい「いい動きしている」「安定感があって安心」といった風に言ってもらえて、ほっとしたというか、あぁまたやってしまう寸前だったかぁ、と思った。性格なのだろうけど。

もう1社は、契約前の面談では、技術的に大きな課題感があるものの週1日なので技術全体のディレクションとかを中心に、みたいな希望を聞いていた。ただ、それだけで1日使うかなぁ?というのと、どうであれやれることはいっぱいありそうなのでとりあえず入ってからタスク決めましょという形で始めさせてもらった。

初日に最新の内情を聞きつつも、ちょうどひとりイキのいいエンジニアが入って現状の運用とか開発体制改善みたいなのは着手し始めてる、という感じだったので、当初話にあったような業務はその方にお任せしつつ見守りつつとして、自分のタスクは、重要度・難易度は高いけど緊急ではない(あるいは時すでに遅しなのでとにかく終わらせることの方が大事な)技術的な業務に集中させてもらうことにした。

こちらも Rails でサービス開発していて、Ruby と Rails どちらもバージョンアップが必要な状況の中、まずは Ruby のバージョンアップを優先してやることに。ドメイン知識の獲得がそれほど必要なく、前職での経験もあって調査もコミットもどんどんできるし、Ruby と Rails について掘り下げる機会にもなって大変ありがたい。

あとは組織課題に関しての相談なんかも。昨日のミーティングの最後に「体調のいい時の酒井さんやっぱピカイチだわ」と、本当に褒められてるのかよくわからない言葉ももらったけど、他人からそう見えてるのであれば体調はやはりよくなっているのかもしれない(前日にメインのところのフィードバックもらって精神的に少し楽にはなっていたのもある)。

なんとか大丈夫っぽいので今後はもう少しリラックスして挑みたい。

人生初のモニターを買った。買ったのはタイトルの通り Dell の P2219H という21.5インチのもの。

条件として、

  • 設置する机のサイズは幅100cm、奥行き55cm
  • 見た目のインパクトを小さくしたい(机が寝室内でベッドのすぐ横なので)
  • なるだけ薄い方がいい(机の奥行きがない)

というのがあり21.5インチか24インチかというところで探した。ただ、でかくて失敗するとどうしようもないので24インチは候補としてはすぐに脱落。21.5インチものでしばらく物色してたところ、ちょうどセールで値下げ中、かつさらにいまなら20%オフみたいな状況でトータル6,000円引き、仕事再開する前のこのタイミングで少し慣れたい、だめだったら奥さんが使うというバックアッププランも含めて、えいやと買った。

あわせて、MacBook にケーブル2本も刺さってるのは抜き差し面倒だしなんか美しくないので、Power Delivery 対応してるUSBハブを、ということで Anker PowerExpand+ 7-in-1 USB-C PD イーサネットハブ(長い)というのも買った。それら設置して2週間ほど使ってみた感想。

P2219H on the desk

奥行き的にはこれ以上大きいと画面端をみるのに首をふる勢いになりそうなので事前に計測していたとおりちょうどよかった。もう少し壁にくっつけれると良いのだけど、モニターアームでもモニターに取り付ける部分は8cmくらいあるやつが多いっぽいのでこれが限界かもしれない。

画質はどうやったって Retina な MacBook に比べるとしょぼいのは当たり前で、かつ FHD どうしで比較するようなものも持ってないのけど特に困っていない。とはいえ、広い画面はやはり正義であり1画面で表示できる行数も増えるし、tmux や Emacs の window 横2分割したまま使ってても狭さを感じないので快適。

問題は MacBook 含めた位置関係で、今は写真のとおり前後配置でおいて重ならないように両方みる感じでおき、用途はモニターのほうがターミナル、それ以外は MacBook の画面という形で使い分け。ただ、この配置だとモニターをみるときには少し顔をあげている感じになる。そのせいか、それとも20年近くノートPCばかり使っていて下を覗き込むような姿勢で体が最適化されてしまっているせいかはわからないけどどうにも首が疲れる。それに釣られて肩もこりがち。

ちょっとこのまま1日8時間勤務はじまるときついかなぁという状況なのだけど、モニターの高さを下げることになるとすると、画面が重なるので MacBook を手前に置くわけにはいかず、モニターの横に並べるか、クラムシェルモードで使うかに。どちらにせよキーボード買わないといけないが、横に並べるスペースはちょっと厳しそう。となるとクラムシェルモードだけど、そうなるとスタンド的なものとビデオ会議用にカメラがないと、机はガチャガチャするし会議のたびに環境変更とか面倒くさくて嫌。Touch ID 使えないのもちょっと。とかなどでぐるぐるしている。

いずれにしてもこれはきっと沼の入り口に立っているのは間違いないかなという感じ。

お金で健康を買うのは大事なのだけど、そのお金がちょっと寂しい状況なので、しばらく様子をみてから改善策を考える。