Posts for: #Hugo

86―エイティシックス―

2時に寝て7時に起きる。昨日 86―エイティシックス― の第2クールの初回をみた。起きてから第1クールの後半の内容を見返したりしてた。内容がすごくおもしろいというわけではないんだけど、作品の世界観と音楽がよい。というか、澤野弘之 氏のファンなので彼が音楽を手がける作品はみてしまう。第1クールの音楽も素晴らしかった。音楽がよいと映画やアニメのシーンが盛り上がるし、音楽だけを聞いているときにもそのシーンのイメージが想起されて音楽そのものにも深みが出るような気がする。

Terminal のカスタマイズ

月別一覧のページを作成した。Hugo には Taxonomies という仕組みがあって、任意のラベルでカテゴライズできる。デフォルトでは categoriestags が提供されている。設定ファイルに dates というカスタム Taxonomies を定義する。

[taxonomies]
  date = "dates"
  tag = "tags"

コンテンツのメタデータには次のように年月のラベルを付与する。

dates: [2021/10]

これは hugo new したときに自動生成されるので自分で明示的に設定する必要はない。

dates: [{{ dateFormat "2006/01" .Date }}]

ラベル名に / を含めると自動的に月ごとのサブディレクトリになってくれるので月別のアーカイブを生成するのに都合がよい。

$ tree -L 3 public/dates/
public/dates/
├── 2021
│   ├── 09
│   │   ├── index.html
│   │   ├── index.xml
│   │   └── page
│   └── 10
│       ├── index.html
│       ├── index.xml
│       └── page

タグ一覧とは異なり、年単位・月単位にまとめて一覧表示するためにテンプレートをカスタマイズする。Taxonomy Templatesterms.html によって提供されている。Terminal が提供しているこのテンプレートをカスタマイズすることで月別一覧を次のような表示になるようカスタマイズした。

実際の修正内容は次になる。

職質された

0時に寝て6時に起きる。昨日も田んぼ仕事の疲れが残っていたのでよく眠れた。1週間で6時頃に起きる癖がついたのですぐに起きれた。

Terminal のカスタマイズ

昨日からいくつか修正をしていた。

  • 画像のパス問題の修正
  • favicon の追加
  • タグ一覧リンクの追加
  • atom フィードに icon 要素の追加 (feedly では読み取れない)

atom フィードに favicon を指す要素を埋め込んでみたんだけど、feedly ではダメっぽい。たまたまヒットした GitHub issue でもそういったコメントをみかけた。

ストレッチ

毎週土曜日はストレッチの日。田んぼ仕事のおかげで全身軽い筋肉痛になっている。ストレッチを受けると、いつものときとの違いから、股関節から右ももと腕の筋肉がすごく張っているのに気付く。田んぼのような突発的に体を動かして疲労が溜まったときにもストレッチでほぐせるのがよい。今日の開脚幅は開始前169cmで、ストレッチ後170cmかな。前より少し落ちたのは田んぼ仕事に疲れて平日にあまりストレッチが出来なかったのと筋肉痛のせいかもしれない。

Joel on Software

本当は実家に帰っているときに書き上げようと考えていたものの、田んぼ作業での疲れと実家のパソコンを使って作業する環境の悪さから書くことに集中できなくなって断念していた。集中できる環境なら3時間ほどで書けた。動機づけよりも価値観、価値観がブレないならその次は集中できる環境作りにこだわっていきたい。

職務質問

買いものして帰ろうとしてたら警察官に止められて職務質問をうけた。自転車の盗難が多いので防犯登録を調べたいとのこと。はいはいって感じで免許証を提示する。自転車は東京で購入したもので10年以上乗っている。防犯登録は警視庁になっているらしく、兵庫県警の警察官では調べられないみたい。次に車体番号も読み取って調べていたけど、よくわからなかったみたい。結局、私が本物の持ち主とその場で調べることができなくて、警察官もたぶん本物だと思いますみたいな歯切れの悪い結果で職務質問を終えた。仮にその自転車が盗難にあってもその防犯登録から私を辿ることはできないので近所の自転車屋さんで防犯登録入り直してくださいと言われた。あー、またこの件か。都道府県の防犯登録のシステムが全国で統合されていればいい話しなのに、なんで引っ越したら防犯登録をやり直さないとあかんねんと。現場の警察官に言っても仕方ないので何も言わないことにした。

プロコン

たまたまタイムラインでみかけてちょっと眺めてた。動画で同じ内容をみて、ハラスメントを問題視する人と、プロダクトの新規性について言及する人がいて、感じ方は人それぞれだなぁと思いながら ハッシュタグ を眺めてた。

テーマスタイルのカスタマイズ

昨日の夜は早めに仕事を終えて 第一回関数型プログラミング(仮)の会 の、やましたさんとみずしまさんの発表の2つだけ聞いて、疲れてそのまま帰ってゆっくりしてた。ドラクエタクトの新しいイベントやってたかな。あと今秋初めて買った梨を食べてた。たぶん0時ぐらいには寝て8時ぐらいに起きた。

あさパラS は総裁選の振り返りや役員人事の解説やっててほむほむと見てた。河野さんが官僚に嫌われる要因の1つとしてちょっと前にパワハラ音声が流出してたけど、言葉遣いがきついのに加え、正論をきつく言うから官僚の逃げ道をなくして追い詰めてしまうといったことが話されてた。心理的安全性の文脈で、お互いに信頼関係が築けた上で厳しいことを指摘するのは構わない (言い方は配慮すべき) が、そうじゃないと相手を追い詰めてしまう。過去に私も不誠実な相手に対して正論を言って追い詰めがちだったのでいまは反省している。目的は課題を解決することであって、相手を追い詰めても目的を果たせないということがようやく経験から理解できるようになってきた。

ストレッチ

毎週土曜日は Dr.stretch さんでストレッチしてる。開脚の幅が目標 (メトリクス) になっていて毎週測っている。目標は自分の身長と同じぐらいということで178cm。ストレッチの開始前に測って、ストレッチを受けてから再計測する。今日は開始前169cm、ストレッチ後171cmと初めて170cmの大台に到達した。このままうまくいけば、あと3-6ヶ月ぐらいあれば目標の身長と同じぐらいの開脚幅になるかもしれない。家でも毎日ではないけど、2日に1回ぐらいのペースでストレッチをするのが習慣になりつつある。いまジョギングをすると腰に負担がくるんやけど、トレーナーさんが言うには、開脚幅が広がると股関節の可動域があがって腰の負担も減るという。本来、腰の筋肉は動かない方の筋肉だが、股関節の可動域が小さいとそれを補うために腰の筋肉が動いてしまい、その結果として腰に負担がかかる。なので、股関節が本来の意図した動きをしていれば、自然に腰の負担も下がるという理屈らしい。

価値観を育てる

あんちぽさんのスライドを眺めて共感してた。日記を書き始めたのも あんちぽさんの日記 を読んでて、毎日やっていることを「書くこと」は何かしら意味や意義があるんじゃないかと思うようになったから。

歳を経て難しく感じるようになったことの1つに 動機づけ (モチベーションコントロール) がある。

私は基本的に忙しいという言葉を使わない。やらないといけないことの何かが進捗していないとき、それは「やる気がない」と受け止めている。もちろん相手がいるときにやる気がないとそのまま表現すると横柄だったり失礼だったりすることもあるので余裕がないと答える場合もある。しかし、本質的にはやる気がないが正しい。もう少し補足すると、いまやっていることの方が自分にとって優先度が高く (やる気があり)、それ以外の別のことを先送りしているだけだと捉えている。もし別のことにやる気があるならば、いまやっていることを後回しにすればいいだけだからだ。

ここで、何をやってもいいとしたら、何をやりたいかという課題が出てくる。適当にあれこれやってみても、実際にやってみるとうまくいかなくて、やる気が持続しなかったりすることがある。多くのケースで、若い頃ほどなにかに夢中になってやっていた経験が誰しもあると思うが、あのときはなぜそんなに夢中になってできたのか。いま思い返しながら、自分にとっての動機づけの源泉を探るようなことをしていかないとわからないのだ。まったく自分のことなのに。2021年に入ってからそういったことを考え続けていたところ、このスライドを眺めてたら動機よりも価値観なんだよと書いてあって、私がこの9ヶ月間、掘り返し続けてた動機づけの源泉=価値観という考え方はしっくりきて、価値観がブレると動機づけもうまくいかないなと思えた。

Hugo/Terminalのカスタマイズ

Speaker Deck のスライドの埋め込みができなくて調べた。HUGOで埋め込みができない時の対処法 によると、config.toml に次の設定を追加すると表示された。

[markup]
  [markup.goldmark]
    [markup.goldmark.renderer]
      unsafe = true

Terminal のテーマだと本文と引用の違いわかりにくかったのでスタイルを変えてみた。

blockquote {
  background: #eafff4;
  color: #2d3330;
  font-style: italic;
}
  • 変更前

  • 変更後

日付の表記を少し大きくして目立つようにした。

.post-date {
  font-weight: bold;
  font-size: 1.3rem;
}

インボイス制度への準備

夜はドラクエタクトやってて2時過ぎに寝て7時に起きた。気のせいか、日記を書くようになってから早く寝付けるようになった。まつのさんが twitter で久しぶりに Python 書いたとツィートしていて、何気なくふと Implement experimental asyncio support #101 #340 をみて、そのツールの関係者でもないのに勝手にクソリプ的なレビューコメントをした。気付いてしまったらみなかった振りするのも気持ち悪いので。

インボイス制度の準備

2023年10月1日から 消費税の軽減税率制度・適格請求書等保存方式(いわゆるインボイス制度) が開始される。開始される前に適格請求書発行事業者に登録しておく必要があり、その登録受付が今日から開始された。前に知人が教えてもらった解説動画を見返した。

ちなみにうちの会社は今期から課税事業者になるのでインボイス制度開始による益税の影響は受けない。前期の決算で消費税を算出したとき、本則課税と簡易課税なら後者の方が46%の納税金額が少なくなることがわかった。IT 業界は経費に占める人件費の割合が大きい (人件費は消費税がかからない) ので簡易課税の方が節税になるのではないかという気がする。そのため、簡易課税で申請している。一度、申請すると2年間適用され、不適用届出を出さない限りはずっと簡易課税で継続される。

国税庁の 申請手続 をみながらe-Tax (WEB 版) で申請した。

個人で副業を受けることを想定すると、個人でも適格請求書発行事業者に登録した方がよいのだけど、私の場合、自分の会社なので法人で仕事を受けるのと個人で仕事を受けることの違いって何だろう?とわからなくなった。法人税と個人の所得税の税率の違いの話しは一旦置いておいて、最も大きな違いは会社で仕事を受けても(直近の)給与は増えないのでその報酬を自由には使えない。個人で仕事を受けたらその報酬を自由に使えるぐらいかな?もうちょっとその違いを調べ直してから考えよう。先の youtube 動画の中で税理士さんが「免税事業者という制度をやめたらいいのに。。。」と言ってたけど、個人はどうしよう?と悩んでしまう本質は免税事業者という概念があるからというのは正しいと思う。

Terminal のカスタマイズ

hugo の Shortcodes で class で任意の CSS クラスを指定できる。

{{< youtube id="E0lOsLfj1T0" class="video-container" >}}

static/style.css をカスタムの CSS として読み込んでくれる。youtube のビデオサイズをよしなに調整するために次のスタイルを定義した。なかなか難しい。

.video-container iframe {
    border:0;
    max-width: 600px;
    max-height: 338px;
    width: 100%;
    height: 50vh;
}

Joel on Software

読み終えた。ソフトウェアの本で test of time (時の試練?) に耐えるのは相当に難しい。本書だとマネジメントや教育、ビジネスや経営に関する内容はいまでも有効でおもしろかった。また後日ブログに書評を書く。いまとなっては手放しでお勧めできる本ではないため、どういう切り口で書くかが難しい。自分にとって学びとして身につけたいと思った本はなるべく書評を書いて自分の言葉で説明できるようになっていきたい。

カジュアル面談

プロジェクトマネージャーを募集している会社の CTO と面談。先方の時間が15分しかないという話しだったので事前に質問は連絡しつつ、バックエンドは Go 言語を使っているという話しだったので私が過去に書いたブログ記事やちょっと前に作った go-sql-executor を連絡して、技術選考の参考にしてほしいと伝えた。募集要項からスクラムを採用するように読めたのでその背景を聞いたところ、外部の技術顧問が推奨しただけでとくにこだわりはないという。いまもメンバーは8人いて1週間のスプリントでスクラムっぽい運用はしているとのこと。私の言う、課題管理とイテレーション開発の概要を軽く説明しつつ、それを実践するためにプロジェクトマネージャーをやりたくて、その実践の場を探しているといった話しをした。外部の技術顧問が欠席したせいか、Go 言語の開発に関する質問はとくになかった。メンバーはすべて業務委託という話しなので寄せ集めグループのドタバタプロジェクトなんだろうなという印象を受けた。心理的安全性や一体化マネジメント法とか勉強したんで グループ じゃなくて チーム 開発できるマネジメントがやりたいなぁ。

副反応はいずこ?

副反応はいずこ?

2時過ぎぐらいに寝て5時前ぐらいに起きる。やや熱っぽいかなぁぐらいの印象でもう一度寝る。8時前に起きるともう平気になってた。昨日、書籍や macbook を持って帰ってきて引きこもり対策してたけど、体調が悪くないのでオフィスへ行くことにした。お昼から1時間おきに熱を測ってみたら37℃前後なので少し熱は出ていたみたい。とくにしんどくなかったので普通にお仕事してた。

水分補給

副反応対策として、ポカリスエットイオンウォーターの粉末をウォーターサーバーの水に混ぜて飲んでみる。イオンウォーターと普通の ポカリスエットとの違いは何ですか? によると、基本的な成分は同じで低カロリーという違いがあるらしい。

日記サイト構築

diary リポジトリに push すると GitHub Actions で静的サイトをビルドして GitHub Pages で扱うための gh-pages ブランチに push される。GitHub Actions による GitHub Pages への自動デプロイ を参考にした。gh-pages ブランチにあるものが次の URL で参照される。リポジトリ名の diary がパスになるらしい。

まだ設定は不完全だけど、運用しながらおいおい設定を詰めていく。Hugo は会社のホームページにも使っているので慣れているのと、使い心地も気に入っているのでこのまま使い続ける。会社のサイトはたまにしか更新しないので日記を書く方が更新頻度があがって Hugo を触るインセンティブになるかもしれない。

ジャーナリングとは

読みかけで放置していた 「手で書くこと」が知性を引き出す 心を整え、思考を解き放つ新習慣「ジャーナリング」入門 を読み終えた。この日記も簡易的なジャーナリングになればよいと願っていたりする。「書くこと」への期待値を高くもって読み進めたせいか、内容が薄かったように思えた。ジャーナリングを行うテーマのワークシートが24個ついていて、ページ数を稼いでいるように感じた。日常生活であまり書いていない人には関心をそそるかもしれないけど、プログラマーは日常生活で平均以上の文字数を書いていると推測する。私にとってはあまり目新しいことはなかった。

マインドフルネス (気づき) を得るための方法論の1つとして書く瞑想=ジャーナリングを推奨している。手書きとキーボードのタイピングでは効果が異なるという研究成果はおもしろかった。手書きの方が記憶力や理解力を高める、脳波はアルファ波が出るといった研究があるという。従って、より創造的な仕事に向くかもしれない。ジャーナリングの研究によって、わかってきたことの1つは、自己や他者、社会への適応力を高めると示唆されている。ここでいう「適応力が高まる」というのは、課題や問題をどうとらえ、これからどう行動すればよいかのヒントにつながる可能性があるという意図らしい。ジャーナリングは心身の健全性にもプラスの影響をもたらされる可能性が高いといった研究も紹介されている。私の感覚的にも、書くことで課題や問題を明確化することはストレスを軽減して健康になるような気がする。

ジャーナリングをする際に大事なことは「考えない」 ということです。

書く瞑想とも言われる所以にも思える。そのままの状態を観察して気づきとするような、そういう姿勢を説いている。この内容は業務の取り組みへの応用からは離れてしまう。

前に メタ認知で〈学ぶ力〉を高める:認知心理学が解き明かす効果的学習法 の著者が タイピング思考法の開発とその有効性の検討 という研究発表をしていた。この研究は、思考過程を推測する手法として、発話思考法における問題を解決するタイピング思考法を提案し、既知の問題を解決しつつ、発想の促進効果もみられてそこそこよい結果が出たというものであった。思考過程を発話とタイピングの2つで比較している。比較項目に手書きがあると少し結果に差異が出たりしたのかなぁとか思った。

Atlassian Community Online MeetUp の参加

課題管理システムとチャットツールを連携する Halp というツールがあるらしい。うちは課題管理システムにクラウド jira を使っていて、Atlassian 社から届くメールで本イベントのことを知った。Atlassian Community Event の頭文字をとって ACE と呼ぶらしい。

初めて ACE イベントに参加した。コミュニティ (ユーザー) 主体のイベントになるらしい。運営メンバーの中に前職での jira チームのリーダーが出ていてちょっとびっくりした。何度かやり取りしてお世話になった方だったのでこういうところでも活動しているんだと思ってさらに尊敬の念が深くなった。halp については、想像通り、非開発者向けに slack の操作だけで jira の課題管理システムと連携するためのサービスとしてよさそうだった。slack (halp) と jira は双方向にデータの同期ができる。いまのところ、halp の無料プランがないので試せてないけど、なにかの機会で一通り触ってみたいと思うサービスだった。

コロナワクチン2回目

土曜日は昼寝してたくさん寝たせいか、昨日はうまく寝れなかった。4時頃に 「手で書くこと」が知性を引き出す 心を整え、思考を解き放つ新習慣「ジャーナリング」入門 の序章と1章を読んだ。手で書くのとキーボードをタイピングするのでは前者の方が脳が活性化されるらしい。指先の細かい制御が脳に効果的なようだ。5時ぐらいから寝て8時前に起きる。

Horizon Workrooms

Oculus Quest 2 を使って顧問の知人と workrooms を使って仕事の打ち合わせをやってみた。

9時から1時間強ほど打ち合わせ。

macbook を Oculus リモートデスクトップで接続して、ホワイトボード (スクリーン) で共有しながらの会話をやってみた。所感としてはこんなところ。

  • リモートデスクトップと画面共有
    • 目の前の画面を大きくできるのでホワイトボード (スクリーン) よりみやすい
    • 眼の前の画面をみて説明すると、相手の顔が見えないので vr のメリットが半減する
    • 半仮想モードで話しながらメモをとるのは可能ではあるが、現実でやるよりも難しいので効率が悪化する
    • パソコンの操作が現実よりも難しいので、操作しないインセンティブになりがち
    • リモートデスクトップで画面共有をしていたせいか、
      フル充電した状態から1.5 時間ぐらいでバッテリーが少ない警告が出た
  • ヘッドセットの位置調整がうまくいかないと画面の文字がぼやけたりする
  • ヘッドセットの固定がうまくいかないと、会議に集中できず、ストレスになる
  • 1時間程度の会議であれば、とくに vr による疲れなどは気にならない

打ち合わせ終わってから NeosVR をするために Linux マシンと Oculus Quest 2 を接続する方法を検討。

Oculus Link アプリを PC にインストールする必要があるが、Windows 向けにしか提供されていない。wine で動かない、一通りツール類をインストールして試してみたつもりだけど、このエラーを解決できなかった。諦める。

$ wine --version
wine-5.0 (Ubuntu 5.0-3ubuntu1)

$ wine ~/Downloads/OculusSetup.exe
002a:err:mscoree:CLRRuntimeInfo_GetRuntimeHost Wine Mono is not installed

Windows マシンを買うにしても PCVR をするにはそこそこのスペックが必要になり、ざっと調べると10-20万円ぐらい。ノートPCでも15-16インチぐらいのを購入すればスペック的には大丈夫そうといった記事がいくつかみつかった。

このために Windows マシンを買ってまでやるほどのことでもないので PCVR は断念して普通に Linux マシンで NeosVR に挑戦することに決めた。

お昼

14時前ぐらいにお昼ご飯に出かけた。近所の居酒屋さんが緊急事態宣言の期間だけお弁当を販売している。いつもは13時頃には売り切れているのに、今日はたまたま14時なのに3個も残ってた。500円でおかずがいろいろ入っててコスパがいい。そのままお弁当を買ってオフィスで食べることにした。

日記を書く環境を決める

この後、コロナワクチン2回目摂取があるので、副反応の発熱でいつ作業が中断してもよいように日記を書くための環境を構築することにした。

ざっくり条件はこんな感じ。

  • 目的は「書くこと」そのもの
  • シンプルに自分が読むためだけの文章を書ければよい
  • エディターやビューアをロックインされたくない
  • コンテンツをテキスト (markdown) で扱いたい
  • コンテンツをサービスにロックインされたくない

それぞれのツールを検討してたときのメモ。

  • ブログプラットフォームは使いたくない
    • hatena, medium, note はすでに使っているので除外
    • 広告やガジェットや管理ツールとかいらない
    • シンプルさがなくなってしまう
  • メモツールに書く
    • obsidianhackmd など
    • メモツールなので日記を書く用途とはちょっとズレる
    • シンプルさがなくなってしまう
  • wiki に書く
    • notiongrowi など
    • シンプルさがなくなってしまう
  • ジャーナルアプリに書く
    • まさに日記そのものだけど、有償のプロダクトが多い
    • エディターは専用アプリになりそう
  • 自分で日記ツールを作る
    • headless CMS とフロントエンドを実装する
    • いま日記を書き始めたいのにいつ書き始められるかわからない

最終的に残ったのは GitHub Pages だった。

  • 静的サイトジェネレーターに Hugo を使う
  • Hugo のテーマをカスタマイズすればシンプルにできそう?
  • 自分の好きなエディターで書ける
  • 自分の好きなビューア (ブラウザ) で読める
  • Git リポジトリなのでサービスにロックインされない

コロナワクチン2回目摂取

1回目の後、最速の日程から1週間ほど遅れてネット予約が取れた。摂取会場のクリニックでは、午前中は1回目、午後は診療やって、夕方に2回目摂取の時間帯になっているみたい。したがって17時という遅い時間帯に摂取した。私を含め、6人しか患者がいなかったので混雑も待ち時間もなくすぐに摂取して、15分ほど様子をみて帰ることができた。

ワクチン打った後、facebook にコメントを残したり、家族へ LINE でメッセージを送った。

それで何が変わるかわかってないけど、一人暮らしなので万が一、体調が悪くなって誰も気づかないままそのまま死んだとしても、ワクチンで運が悪くてしんだんやなと周りの人が気付けるようにという意図がある。一体、誰に気を使っているのか、自分でもよくわからないけど、自分が不慮の事故で死んでしまったとして、身近な人には多少なりとも背景が伝わることでお別れの挨拶変わりにはなるかな?という、変な気遣いをしている。

Terminal のカスタマイズ

副反応の発熱でいつ作業が中断してもよいように日記を書くための Hugo の Terminal というテーマの設定を始めた。

18時から20時ぐらいまでオフィスで作業して、買い物して帰ってきて晩ご飯食べて、その後も環境構築の作業をした。翌2時の時点で全くしんどくない。config.toml の設定項目に対するドキュメントがないけど、直接 grep で html のソースをみた方が早いことに気づいた。

とりあえずコンテンツを書いてみて、そこそこの見た目で表示できるようになった。まだ完全ではないので随時、後日、ソースを読みながら設定していく。