Posts for: #Writing

休日のオフィス工事

今日の運動は腹筋ローラー,腕立てをした。統計を 運動の記録 にまとめる。

日記と筋トレ/運動についての考察

お正月にたまたまみた番組をきっかけに筋トレや運動を始めて半年ほどで 24kg ほど体重を削減できた。日記に書くことで継続を促し、継続することでこれほど成果が出るとは、書き始めたときには想定していなかった。

日記はほぼ毎日書くのでここに筋トレのやった回数を書いていくのがやらないといけない強制力が働いてよいような気がしてきた。試しに明日からやってみようと思う。

2024-01-01 すぐやる筋トレ

一方でもう十分に体脂肪コントロールができていて筋トレ/運動も習慣化できたと思う。そして、もう毎日やらなくてもよいし、意図的に週2-3日の頻度におとしていく。7月いっぱいで運動の記録を日記に書くのはやめて新しい取り組みに変えようと考えている。私の生活の中で日記を書いているリソースはもはや無視できない割合を占めている。少なくないリソースを費やしているから継続性を保証できているともみなせる。したがって、そのときに継続したい、集中したい対象を日記に書くようにして目的を果たすツールにするのがよいと思うようになってきた。

いま一番、私がどうにかしたいことは住居のリビングの部屋づくりになる。日々の生活は寝室とダイニングさえあれば事足りるからリビングが荷物置き場になってしまっている。片付けが単純に面倒くさいのと、優先度が低いから引っ越してからほとんど放置している。せっかくリビングがあるのにもったいない。リビングに人を呼べる状態にして、知人や友だちを誘って、コミュニティやコワーキングの研究、または居場所づくりのなにかにつなげたい。

line のオープンチャット 経由でバドミントンに来てくれた外部の方が2名になった。これはこれで非 IT のコミュニティをひろげていく取り組みになっている。これまで私は IT 系の勉強会やコミュニティにしか行っていなかったら話す人たちの情報が偏っている。同じ業界の人じゃない人たちの考え方や情報に疎いからバランスを取る上でもいいのかもしれないという気持ちと、単純に面倒という気持ちの両方がある。これから課題管理のプロダクト開発をしてマーケティングしていかないといけないが、当然 IT 業界のみを相手にするよりも、もっと幅広い業界を対象にした方がビジネスとして成功する確率は高くなる。そういった展望の1つにもなるかもしれない。

排煙設備工事

シェアオフィスのフロアの排煙設備がうちの会社が借りている部屋のスペース内にあった (添付画像を参照) 。この状態が消防法違反になっていたらしい。うちのオフィススペース内に排煙設備があるということは、私が不在で入口に鍵をかけていれば、有事の際に排煙設備を利用できないのだから当然と言える。そこでこの排煙設備をうちのオフィススペースから共用廊下へ出すための工事を本日行った。そのためにオフィスを開けないといけないため、私も立ち会いすることになった。とは言っても、だいたい土日もオフィスにいるので休日に排煙設備工事をすること自体はまったく構わないと管理会社へ了承していた。平日にされる方が業務に支障が出るから休日にしてくれるのはむしろありがたい。

8時半頃にオフィスへ行ったらすでに工事業者さんは来られて準備していた。それから近くで様子を伺いながら1時ぐらいまで作業をしていた。なかなか工事が終わらなくて2時間ほど家に帰ってお昼ご飯を食べてから15時前に戻ってきたら終わっていた。

予想外のコンテンツ

今日の運動は縄跳び(両足跳),散歩,ハンドグリップ,ダンベルをした。統計を 運動の記録 にまとめる。

みなとのもりの運動

昨日と同じ ように午前中へ公園へ行ってのんびり運動をした。昨日から出店していた屋台やフリーマーケットのようなテントが連日で営業していた。昨日よりは人が減ってよい場所を取れたので土の地面の上で縄跳びしていた。

note で更書き

昨日書いた note の記事 がバズって、さらにその記事中で引用していた約4年前の記事までホットエントリーになっていた。私が過去に書いた記事で1000以上のはてブがついたことはなかったように思う。過去最高を記録した。そこでブコメをみていて、約4年前の当時はわからなかったけれど、いまならわかることもいくつかあるなと思って、自社の課題管理システムを見返して、創業から4.5年ほどの間に起きた経営的な気づきや失敗などをまとめてさらに記事を書いた。

お昼から書き始めて7時ぐらいまで書いていたかな。気付いたら夜になっていて久しぶりに時間を忘れて集中して記事を書いてしまった。フロー体験と呼ぶのかな?この歳になるとそういった状況は稀になる。読んでくれる人がいると分かっているとモチベーションにつながるんやなと改めて実感した。本当は別の記事を書こうと思っていたのにこの日は全然違うことで1日が終わってしまった。

運動と書きものの一日

今日の運動は腹筋ローラー,スクワット,縄跳び(両足跳),散歩,ハンドグリップ,ダンベルをした。統計を 運動の記録 にまとめる。

みなとのもりの運動

昨日と同じ ように午前中へ公園へ行ってのんびり運動をする。今日は公園の半分近くのスペースを屋台やフリーマーケットのようなテントが占有していて、いつもより運動するためのスペースが狭かったため、運動している人たちが押し込まれて窮屈な様相になっていた。GW だから仕方ないか。当初は芝生の草が少し生い茂っているところで縄跳びを始めたものの、草に縄が引っかかって跳びにくかったのでトラックの舗装されたコンクリートの上で跳ぶようにした。土の地面の上よりもコンクリート面の上の方が反発力があってずっと跳びやすいし、体力も浪費しない。おそらく膝には負担はかかるが。

ストレッチ

午前中は公園運動をしているので夕方に行ってきた。今日はお尻の後ろの筋と横の筋、トレーナーさんは中殿筋と呼んでいた。その筋がかなり張っていて辛いを超えて痛い。自分でストレッチをしていても痛いぐらいなのでトレーナーさんからストレッチを受けているともっと痛い。トレーナーさんによると、中殿筋の筋肉は多くの動作すべてに関連するため、特定の運動や筋トレが影響しているというよりも、運動のアクティビティが多いことから酷使して筋肉痛になっているのではないかとのこと。休めば直るだろうし、使っていて痛いのはそれほど問題ではないと話されていた。今日の開脚幅は開始前151cmで、ストレッチ後156cmだった。

note での初ホットエントリー

私の記憶にある限り、note で書いた記事が初めてはてブのホットエントリーになった。2-3時間でさらっと書いた記事にも関わらず、思いの外、反響があったみたい。

コンテンツは狙ってバズらない

この言葉を、過去の日記でも2回ほど書いている。だからこそ、書き続けることが大事であり、がんばって書いた記事がほとんど読まれなかったとしてもずっと書き続けることが大事だと私は考えている。そういう積み重ねの上でたった2-3時間で書いた記事が意外にバズったりするようだ。

無駄なものはそうそうない

0時に寝て4時に起きてアニメをみて5時半に寝て9時に起きた。午前中はだらだらしていた。

旅のしおりのたたき台作り

3月に予定している 開発合宿 イベントの打ち合わせを次の木曜日に行う。そのための資料作りをした。昨年の記録があるのでその内容を見返したり、写真を貼り付けたりしながら、昨年作った資料よりも詳細な「旅のしおり」を作ることができた。

しばらくは冬の城崎温泉の開発合宿を、うちの会社の年中行事として継続していきたい。

コワーキングの価値の考察

独りで活動する個人事業主やマイクロ法人の役員にとってコワーキングがもたらす価値は大きいのではないかと私は考えている。以前 リモートワークと相談相手 という記事を書いた。そのふりかえりや考察の中から 日記を書き続ける ことに決めた。それは思考の外在化を強制的に行わないと、私はすぐに劣化するということを身をもって理解した。ひとえに人間が弱いのだと思う。思考の外在化とは次になる。

  • 書くこと
  • 話すこと

これらの活動が減ることで思考が鈍化したり脳が退化したりする。書くことは日記で補えたが、話すことは相手がいないと成り立たない。顧問のはらさんに隔週で相談しているのもそうだし、カフーツさんのオンラインイベントに参加しているのもそうだし、開発合宿に社外の人たちを呼ぶのもその一環になる。そして、このことは会社員時代にあまり感じたことはなかった。それは会社員時代にはこれらの活動を伴うイベント、つまり会議だったり、報告だったり、同僚との雑談などが自然に日々の生活の中に含まれていたからだ。

無駄じゃなかったんやと思ったら次のシーンを思い出した。

初めて、成功したよ。800年か……全く、無駄な魔法だと恨んでさえいたが。ああ、意味はあったんだな。

意味のない無駄なことだと思いながらも長く続けていたことが、その意図をもって実施したかの如何に関わらず、なにかの役に立つことはあるし、なにごとも継続するに無駄なことはないという気付きでもある。古代の中国においても 鶏鳴狗盗 という故事がある。人それぞれに長く継続できていることがあるならそのことを大事にしたらよいと私は思う。それは継続した先にしかわからないこともある。

やや非科学的な仮説ではあるが、小林正観 という人物が「ありがとう」を唱えると幸せになるという仮説を提唱している。「ありがとう」を一万回となえると幸せになり、二万五千回となえると涙があふれだし、五万回となえると奇跡がおきる、もしくは年齢×一万回となえると第一段階の奇跡が起きるという。仮にこういった現象が本当に起きるのであれば、他者への感謝を述べる言葉から脳が影響を受けて、感謝の行動や考え方が身に付いて、現実の生活にも影響が出てくるのだろうと推測する。

記事のレビューをしてもらえるサービス

疲れて18時過ぎにはお仕事を終えて、帰ってきて晩ご飯も食べずにそのまま寝てた。22時頃に起きてそれから晩ご飯を作って食べて、また夜に寝て6時に起きた。

テックブログレビュー

顧問のはらさんに昨日書いたテックブログのレビューをお願いした。一通り、調査した内容の範囲内で書いてはいるが、私はフロントエンドについて明るくないため、大きな勘違いや誤りを含んだ文章を書いてしまう可能性がある。本来テックブログは会社のブランディングにつながるものだが、誤った記事を書いてしまうと逆効果になってしまう。自社なら私の責任で済むが、他社のテックブログでブランドイメージを毀損するのは申し訳ない。

私が書いた記事をレビューしてもらえる有識者を、報酬をつけて広く募るみたいなサービスがあってもいいなと思えた。うちの会社がもう少し財務的に余裕ができたら、いくつかの分野の有識者と顧問契約して、技術に限定せず、いろんな分野で私の書いた記事のレビューをお願いできるような体制にしたい。余談だが、レビュー依頼して誰もレビューしてくれないというのも書いていて寂しい。よい開発文化をもつチームならそんなこと起きない。私を書いた記事をメンバーが率先してレビューしないという時点でまだまだうちのチームには改善の余地がある。

円形テーブル受け取り

ジモティーで「籐 ラタン 木製丸テーブル」を500円で購入した。使わないときは折り畳みできる。省スペースでよさそうにみえた。現物を受け取ってみて、使用感はあるが傷んではいない。まだ実家の離れで使うか、自分の部屋で使うかは決めていない。しばらく部屋で使ってみてその用途や感触で決めようと思う。問い合わせしてから2日後に近所のローソン前で待ち合わせをして受け取りできた。近所だと、引き取りの調整もしやすいし、軽いものだったので自転車の荷台に乗せて運んできた。これまでジモティーで6件の取引を行ったが、いまのところ、トラブルはない。

全員採用のためのテックブログ

2時に寝て6時に起きて9時前に起きた。寝るのがどんどん遅くなってきて生活のリズムが乱れてきた。

sveltekit に関するテックブログ執筆

先日の続き の続き。

調査は一区切りついたのでテックブログを執筆することにした。今日はほぼ丸一日記事を書いていた。本当はマネージャーの私が1-2週間も技術調査して、テックブログを一生懸命書くみたいなことをやるよりも、他に大事なプロジェクトの遊撃やマネジメントに時間を割くべきではある。一方でメンバーに課題に取り組むにあたり、設計をどうするのか?設計をするためには調査が必要であること、調査した内容をアウトプットする重要性などの模範を示したいという意図で書いた。そして、メンバーにも開発の隙間にテックブログを書くことを業務として指示しようと考えている。

なんのためにテックブログを書くか?という目的は、業務においては明確で採用のために書く。プログラマーが採用において協力できることは限られる。その中でもテックブログというのは費用対効果が高く、会社のブランディングにもつながり、よい開発文化を醸成することにもつながる。プログラマーの採用がとても難しくなった昨今「全員採用」というキーワードもよく聞くようになった。一見プログラマーは採用において無関係だし、実際にそういった業務をやらなくても咎められることはない。しかし、自分のできることで採用に協力したいと考えたとき、できることの1つにテックブログを書くというのは悪くない選択肢だと私は考えている。少なくともテックブログを書けない (書かない) 人たちにとやかく言われたくない。

テックブログレビュー

この前の テレ東の番組 に影響をうけて夜にファーストガンダムをみたりしていた。1時に寝て3時半に起きて何をしていたか覚えていないが、気付いたら5時半だった。その後、slack のメッセージに気付いて返信するために6時半に起きた。

テックブログ執筆

昨日の続き 。残り 1/3 の Vite についての調査内容を書いて昼過ぎにはレビュー依頼のマージリクエストを送った。といっても、お手伝い先の社内にはフロントエンドに詳しい開発者はほぼいないと推測される。はらさんにもお願いしていて、このレビューは実質的にはらさんが担当することになると想定される。はらさんの OK が出たらそのまま公開してしまおうと考えている。できれば金曜日中には公開してしまいたい。

学生の頃、物理の先生が言ったかどうか定かではないが「物体が動き出す直前が最も摩擦が大きい」という言葉を気に入っている。先週に大半を調べていた内容を、週末、月・火と4日もまたいで水曜日に記事を書き終えるというのが、私の職務レベルからすると怠慢と指摘されたら認めるしかない。金曜日の夜に能鑑賞して、土曜日はもくもく会へ行って、日曜日は深夜コワーキングをしていた。要は遊んでいた、楽しかったんだけど。加齢でモチベーションコントロールが難しいから土日の両方を遊んでしまうと、やらないといけないことがなにも進まないといった状況に陥ってしまう。そして、やらなくても誰からも怒られないというのが悲しい現実だ。

鶏もも肉 2kg まとめ買い

業務スーパーの買いもの の続き。17時にお仕事を終えて、時間があったので業務スーパーへ買いものへ行った。オフィスから近所の業務スーパーへ行くのは20分ほどかかることから、19時閉店のお店へ平日行くのはやや難しい。今日の目当ては鶏もも肉まとめ買い。2kg を買うと1,780円 (税抜き) で7つの肉片が入っていた。100g あたりに換算すると89円になる。さっそく炒めて食べてみたが、とくに調理や風味に問題はない。

(おそらく) 同じ鶏肉の肉片1枚入りに小分けした真空パックだと 100g 98円になる。通常の肉のパッキングの消費期限は2-3日といったところが、真空パックだと7日に延びる。この9円の差異を真空パック料金だと捉えることもできる。この前 KOHYO で購入した国産鶏もも肉は 100g 138円だった。格段に安い。

2kg も一度に消費できないので肉片の2つを冷蔵庫へ、5つは冷凍保存する。冷凍保存すると2-3週間はもつらしい。冷凍保存するためのラップで包んだり、解凍したりするのが面倒でもある。仮に1日で肉片1つを消費するとして7日分の食材になる。1枚入りの真空パックを3-4個買って冷蔵庫で保存して7日以内に食べるのでもよいかもしれない。

テックブログの書き始め

昨日は夜にいろいろ作業して、1時に寝て4時に起きて7時に起きた。

テックブログ執筆

先週から調査している内容 についてテックブログを書き始めた。マネジメントや実装をしていると筆が進まなくて書き始めるのが随分と遅くなってしまった。学校の試験前に、試験勉強やらずに部屋の掃除をやってしまったりするような感覚。午前中は昨日 go-ldap に送った pr がまとめてマージされた。その修正を取り込んだライブラリのバージョンで関連するところのコードをリファクタリングしていた。それでもようやく書き始めた。書き始めたら一気に 2/3 は書けた。本当は晩ご飯を食べた後にレビューできるところまで書いてしまおうと思っていたが、そこまで体力 (集中力) が続かなかった。なんとなく張り合いがなくて適当なところで妥協してしまう。

試行錯誤から学ぶ開発スタイル

たまたまみかけた記事でひどい内容の記事をみた。一読しただけでもやもやしていたのを知人と議論していて言語化できるようになったので書いてみる。

もっと前段にエンジニアが議論に参加する、なんなら議論をリードするくらいのことをしていく必要があるでしょう。

こういうこと言い出すマネージャー (PO) 多いし、意見そのものは一理あるんだけど、これをエンジニアがイニシアティブとってやっていたらマネージャーいらないでしょ?ということを自覚していない。もっと言うと、PO という責任のある立場の人が大変という理由で責任放棄しているようにみえてしまう。(翻訳) ビッグテックのプロジェクトマネジメントとスクラム不在の謎 という記事では実際にテックリードまたはエンジニアがプロジェクトのイニシアティブを取っていると書かれている。もしそうするなら、まず自身のスキル不足や未熟さを受け入れないといけない。

マネージャー (PO) にとって大きな役割は意思決定であって、仕様案や計画において技術的なところがわからないのであれば、エンジニアに委譲したり相談して事前にいくらでも調整できるはずだし、その調整作業そのものはマネージャーの仕事の1つと言える。そういった調整をマネージャーがやるからエンジニアは実開発の設計や実装に集中できる。結果的に生産性も上がる。この文章から伺えることはリファインメントや計画に臨んだときにダメ出しされてやり直すことを手戻り、大変、効率が悪いとネガティブに捉えている。逆に言えば、最初から完璧に仕様案を作れるはずだと思い込んでいるふしがある。

そして、誰もが知っていることだが、最初から完璧な仕様案や計画など作れるはずがなく、不確実性を許容しながらスクラムやアジャイル開発といった開発方法論の取り組みで調整していくというのが、モダンな開発のやり方である。その試行錯誤や手戻りは無駄なことではなく、チームやプロジェクトが学ぶべきことの1つだという考えがこの文章からは読み取れない。そして、自分が仕様案を適切に作れなかったのを自分のスキル不足だと認めず、チームのエンジニアが議論に参加していないからだと責任転嫁している。それはマネージャーが技術的に大事なことを理解できていなかったとふりかえり、計画を修正したり、次に計画するときは同じようなことが起こらないよう、努めていくというのがスクラム的なプロジェクトの進め方になるはずだ。手戻りはアンチパターンではなく、学びの過程や必要な試行錯誤であると認めて受け入れるところから始めるべき。

エッセイと世界観

0時に寝て2時半に起きて4時に起きて7時に起きた。昨日は本を読みながらいろいろ考えていた。

頁をめくる音で息をする

先日の オンラインイベント でいとうさんに教えてもらった 頁をめくる音で息をする を読んでいる。ジャンルで言えばエッセイになる。著者の日常や日々の所感などを綴っている。Paul Graham 以外であまり読んだ記憶がないぐらい、私にとってエッセイという読みものは珍しい組み合わせになる。私がいま日々書いている日記も、ちょっと技巧を凝らしたり、お洒落な文章に変えてみたらエッセイにならないだろうか?と考えてみる。

この日記は「書くこと」を目的としているものの、ここで書き溜めたものは将来の自分を助けるコンテンツになることを確信している。それは過去の私が書いたコンテンツがいまの私を助けているし、書き溜めたコンテンツを評価してくれるサイト、例えば LAPRAS スコア をみると、高い評価値になっていたりする。いまのところ、このスコアを何かに使っているわけではないが、15年以上も書いてきたコンテンツはそう簡単に真似できるものではないし、一朝一夕で身につくスキルでもない。

過去にある会社のトライアルを受けたとき、ある技術の調査結果を wiki にまとめたところ「長文がちゃんと書ける」という評価をその会社の CTO から受けたことがあった。私はきょとんとして「そんなの開発者なら誰でも書けるでしょ?」と感想を述べたところ「いや、そうでもない。」と返ってきて、それから私もちゃんと考えてみたところ、言語能力を高めやすいプログラマーであってもちゃんとした文章を書けるのは全体の半分ぐらいしかいないことに気付いた。文章を書く練習をしない生活を何年も続けていると、驚くほど文章を書くスキルを退化させてしまうことに意識的に気付いていない人も多い。「本気出せば書ける」と思っている人ほど、その自信以上に文章を書けないことに気付いていない。

閑話休題。本書を読んでいると、日々のたわいもないエッセイがまったく無駄ではないことを伺える。それは本書そのものが売りもののコンテンツとして値段がついていて、私がそれを買っていて、ふわっと読み進めながら自分なりに消化して思うことがいくつかあるからだ。いくつか思いついたことをアイディアそのままに書く。

中原中也がいい

いま 山羊の歌 をぱっと眺めるだけでもその天性を伺える。詩の冒頭を読むだけでもなにか違うと思わせる。著者は学生時代に中原中也を研究していたらしく、中也の作品には死を歌ったものが多くあるという。本書でもいくつか詩の引用がある。中也は ダダイズム と呼ばれる思想に影響を受けているらしい。

トタンがセンベイ食べて
春の日の夕暮は穏かです
幾時代かがありまして
  茶色い戦争ありました
丘々は、胸に手を当て
退けり。
私の聖母 (サンタ・マリヤ)!
  とにかく私は血を吐いた! ……
汚れつちまつた悲しみに
今日も小雪の降りかかる

よく技術書などで章節の初めに著名人の言葉を引用していたりする。日本人なら過去の文学者の詩を引用するというのもよさそうな気がした。

エッセイを配布する

一昔前は本という成果物をつくるのが大変な労力を伴うものだった。しかし、現代は文章は電子データでインターネット経由でダウンロードできる。日記を書き溜め、お気に入りの内容を脚色して、メッセージや想いをのせたものをエッセイ本としてつくってみるのもおもしろいかもしれないと、本書を読んで思うようになった。それはエッセイの中で著者の人となりや考えを知るきっかけになる。それを誰かに読んでもらうためというよりは、自分がどういった考えで日々の創作をしているかというのを歴史のように残すという意味合いが強い。例えば、年単位で整理して残しておく。おそらくはそれがまた将来の自分を助ける日がくるような気がする。もしうちの会社に関心をもつ人が出てくれば、電子データは自由にダウンロードして読めばいいし、何冊か紙の本に装丁してノベリティにしてもよい。

エッセイがその人の世界観を表す

本書を読んでいて著者の世界観が本書から伝わってくる。いや、ちょっとそれは言い過ぎでそんな大層なものでもない。著者は仕入元やお客さんとやり取りしながら本を扱うというスタイルを好んでいるようにみえる。ただ本を売り買いしてお金を稼ぐことをよしとしていない。もちろん生活費は必要だから売れてもらわないと困るという文章もちらほらあるが、それ以上に本に関わる人たちとのエピソードを紹介してこんなやり取りがあって嬉しかったということが綴られている。なんとなく私も共感することだが、大きいプロダクトの、大多数の利用者がいるプロジェクトほど、個々の利用者と接する機会や意見をやり取りする機会は少ない。多くの人に影響を与えているはずなのにその実感の乏しい労働体験になる。ただの数字でしかない。少ない関係者が関わるお仕事の方が世の中の役に立っている実感は大きい。

イスラエルとハマスの戦争 以来、ずっと考えていた (というほどでもないが) ことの1つに世界観を共有することの難しさがある。おそらく人類のうち戦争を望む人はほとんどいないはずだが、自分たちと住んでいる世界とは異なる世界の思想、価値観、秩序、経済、宗教といった世界観を共有できないばかりに争うことが絶えない。こんな大きな話しをしなくても、身近な周りの人たちとでも自分とは違う価値観をどうやって知り、どのような理解を示すことができるだろうか。エッセイは他者の世界観を表す1つの手段になりそうに思えた。

論理の通じない人たち

23時に寝て何度か起きて8時に起きた。ホテルの部屋が暗いと朝になった気がしなくて2度寝したら寝坊した。

組織の対応と sns の議論

先日の sns 騒ぎ の続き。公式からの声明も出たので軽くまとめておく。

簡潔な文章に事実の記述、責任の所在、関係者への配慮が含まれていて十分な内容にみえる。法律なども関係するため、弁護士チェックが必要なことを考慮すると、こんな短期間で組織の見解を出せたことは運営側の体制を鑑みることができる。それが適正かどうかは人によって判断は異なるかもしれないが、私はコミュニティ運営というボランティア主体の組織であれば十分なものだと思えた。その後のネット上の議論も、ちゃんと追えてはいないが、様々な見解で議論は進んでいるようにみえる。

今回みていて感じたことの1つに、コミュニケーションが成り立たない人が世の中にはたくさんいるということ。議論の前提や論理の出発点が異なる人たちは、一定の論理を含む全体や大局を理解できず、細部や詳細のところだけを拠り所に自身の論理を組み立てる。意見の差異があることはなんら問題はないが、論理が通じないのは議論の余地すらないようにみえた。そういう人たちを会話するときは前提条件を同じにしたり、思想の背景を共有したり、もっと時間をかけて丁寧にすり合わせていく作業が必要になる。そして sns のような、流れが速い不特定多数の議論はそういった丁寧な作業にまったく向いていない。だから sns で議論することは時間の無駄である。

コネクションを共有しないプール

go の非同期処理であまり使われることはないが、semaphore が準公式ライブラリとして提供されている。私はセマフォを気に入っていてたまに使う。

ldap プロトコルではコネクションの確立とログインに相当する bind の操作が分かれている。コネクションを確立したまま、ログアウトに相当する処理ができればプールを設けることでコネクションの再利用ができる。

しかし、このドキュメントの説明によると、unbind という操作は用意されているものの、ログアウトに相当する機能ではなく、クローズする前に通知するといった用途だと書いてある。unbind のリクエストをした後にはクローズするしかないといったものになる。それを踏まえて、プールはセマフォで同時接続数のみを制御するのでよいのではないかと思う。そんなワーカープールを実装してみた。

type ClientPool struct {
	config *config.LDAP
	sem    *semaphore.Weighted
}

func (p *ClientPool) Get(
	ctx context.Context,
) (*LDAPClient, error) {
	if !p.sem.TryAcquire(1) {
		return nil, fmt.Errorf("failed to acquire, wait and get later")
	}
	client := NewLDAPClient(p.config)
	if err := client.Connect(ctx); err != nil {
		p.sem.Release(1)
		return nil, fmt.Errorf("failed to connect: %w", err)
	}
	return client, nil
}

func (p *ClientPool) GetAuthenticated(
	ctx context.Context,
) (*LDAPClient, error) {
	client, err := p.Get(ctx)
	if err != nil {
		return nil, fmt.Errorf("failed to get: %w", err)
	}
	dn := p.config.BindDN
	passwd := p.config.BindPasswd.String()
	if err := client.Bind(ctx, dn, passwd); err != nil {
		p.sem.Release(1)
		return nil, fmt.Errorf("failed to bind: %w", err)
	}
	return client, nil
}

func (p *ClientPool) Close(client *LDAPClient) error {
	err := client.Close()
	p.sem.Release(1)
	return err
}

func NewClientPool(cfg *config.LDAP) *ClientPool {
	return &ClientPool{
		config: cfg,
		sem:    semaphore.NewWeighted(cfg.ClientPoolSize),
	}
}

読んだり書いたり

0時に寝て何度か起きて8時半に起きた。もう熱もおさまって平時に戻った感じ。今月の請求書を作ったり、ネットの記事を読んだり、のんびりしていた。

頁をめくる音で息をする

いとうさんに教えてもらった本 を読み始めた。「見えない手」というタイトルのエッセイで、妙見幸子さんという、生まれながら脳性マヒの障害をもっていて、四肢が不自由な方が書いた詩集にまつわるエピソードが書いてあった。

いい詩とは何かという話をお客さんと時々する。そのたびに僕は悩みながらこう答える。それは「切実さと誠実さ」なのではないかと。それを語らざるを得なかった詩人の切実さと、言葉に対する、あるいはその詩を手にする人びとへの誠実さ。

見えない手

詩集に限らず、どんな商品でも事業でも「切実さと誠実さ」を併せ持つようなモノに出会うことは滅多にない。読んでいて、そういうモノに出会えることそのものが幸せに思えた。こういう文章をさらっと書ける人の頭のよさとか、語彙の豊富さとかがうらやましい。

はてな匿名ダイアリーの書き方

はてな匿名ダイアリーの書き方 がいくつも投稿されるぐらい、ui がわかりにくい。匿名なのにログインしないといけないというアクションがそもそも相反する概念でわかりにくい。ログインすると、自分のアカウントの日記のように管理される。この時点で本当に匿名なんやろか?と不安にもなる。どうやらログインしたら自分の書いた匿名ダイアリーを管理できるようになっている。

はてな匿名ダイアリー > xxx の日記

はてな匿名ダイアリーのヘルプ もこれだけ。おそらく古いダイアリーのプロダクトだから記法に markdown も使えない。匿名ダイアリーがはてな社にとってどういったプロダクトかは知らないけど、明らかに保守されていないようなことがわかってしまうのは印象が悪いなと思えた。別に匿名ダイアリーを書く気はなかったんだけど、よい機会なので既存の記事に言及したり、自分で新規の記事を書いたりしてみた。記事を書く ui 体験はよくない。