投稿者「krote」のアーカイブ

クリスマスはケーキ三昧

今日が一応クリスマスということですが、ケーキ、食べてますか?

我が家はクリスマスイブ。つまり昨日にクリスマスケーキを食べます。
そして、今日はというと長男の誕生日であるため誕生日ケーキを食べます。。。

そんなこんななクリスマスですが、例年で言えば子どもたちのリクエストはSwitchのソフトばかりだったのですが、今年はちょっと傾向が違っていました。

長女はヘッドホン
https://amzn.to/4gR3nnW

次男はSwitchのProコン

そして長男はマウス

三男は相変わらずSwitchのゲームでしたが、ガジェット的なものが多かったです。

ちょっとずつ大きくなっていってるんだなぁと。

一応、気を使ってかものすごい高いものをおねだりはされないのですが、このあたりのプレゼントのリクエスト内容の遷移って面白いですよね。

EMConfがすでに参加できなくなっていた

少し前にfukabori.fmで紹介されていたEMConf。

122. EMConf JP 2025 w/ dora_e_m
https://fukabori.fm/episode/122


平日ということで悩ましいのですが、行ってみたいと思っていましたのですが・・・。

https://emconf2025.peatix.com/view

すでに参加チケットはすべて受付終了状態。
いつの間にか行われていた2次販売も瞬殺されたようで、もう何も残っていないようです。

そして、第3回の発売予定はなし。。ということで詰んでおります。

うーん、しょっぱい。
オンラインもないようなので完全にどうしようもないですね。

しょうがないのでForkwellで行われる見どころ紹介をハンカチ噛み締めながらキーって見てみることにします。

EMConfの見どころ – オーガナイザーが語る見所と裏側
https://forkwell.connpass.com/event/340390

見どころを教えられても見ることが出来ないので、なんとも悲しいものですな。

1on1における質問力

最近、1on1のやり方を見直し始めている。

私の立ち位置としては、多くの部下とは直接的な指導をする状態ではないし、リーダーも1on1をしているので私が全員と1on1をすることに関しては必要性を悩むところはある。

ただ、直下のリーダーが1on1をちゃんと出来ているのか?に関しては結構な疑問が残ってしまうのも正直なところ。

結局のところ、1on1という考え方や仕組みが出来たのは比較的最近で、今のリーダー層は1on1を受けてこずに今の自分を作ってしまっている。
そのため、1on1の必要性に関しては頭でわかっていても実感がない。そして、自分が受けて来なかったのでどうやればいいのかわからない。

ぶっちゃけ、正解なんてものはなくてその場その場での臨機応変さを求められる結構えげつない業務に感じる。
鍵となるのは、どんな問いかけをするかであると思っている。

HBRの11月号に「戦略的意思決定に欠かせない質問力を高める」という記事があり、質問のスタイルとして5つを上げている

  • 調査のための質問
  • 推測に基づく質問
  • 結果を出すための質問
  • 解釈のための質問
  • 主観についての質問

質問と言っても、今何を聞いているのか?を明確な意識を持って行い、次に何を問いかけるのか?に意識を集中する。

臨機応変に進めるにしても、行き当たりばったりな会話ではあまりにも生産性に欠けるし、成果に結びつかない。
仕事でのコミュニケーションは、結果として行動に結びつかなければ意味がないような話をどこかで聞いたような気がする。

日々改善していきたい

ピエタを読んだ

   大島真寿美著「ピエタ」をAudibleで読んだ

ピエタ

今回、Audibleで聞くことになったのだけど、実はハードカバーの本を10年以上前。購入して途中で読むのを断念してしまってました。
結構厚みのある本だったのですよね・・・。

Audibleで次に何を読もうかな?と見ている中で小泉今日子さんが朗読しているということ。本を読むのは難しくともAudibleであれば。。。と聞いたのでした。

Auidbleでも8時間を超える長編、聴き応えがありました。

ピエタ

ヴェネツィアにあるピエタという慈善院を舞台に、慈善院の合奏・合唱の娘たちと作曲家アントニオ・ヴィヴァルディを中心とした様々な物語が繰り広げられ、そして最後に結びつくいいお話でした。

感動して涙を流すという形ではないですが、なんというか心温まる感じなのかもしれません。
最終的にはそれで良かったのだろうか?という難しい結末を迎えます。

この舞台となっているピエタ慈善院。実際にあるんですね

Istituto Provinciale per l’Infanzia Santa Maria della Pietà di Venezia
https://www.pietavenezia.org/home

また、作中に出てくる登場人物の一人であるアンナ・マリーア(アンネッタ)も実在の人物とのこと。

ピエタ院(Wikipedia)
https://ja.wikipedia.org/wiki/%E3%83%94%E3%82%A8%E3%82%BF%E9%99%A2

こうやって見ていると、より物語の中が垣間見えるようで面白いです。

イタリア、ヴェネツィアかー。
ちょっと興味本位でカーニバルを検索してみたら、思っていた以上に派手な仮面が出てきてちょっとびっくりした。

いやはや、これは面白そうである。。。
若干石仮面みたいなのもあるな。。

インフルエンザが猛威を振るっている

一昨日から長女が。昨日から長男が高熱を出しており、病院にてインフルエンザ診断を受けてしまっています。
インフルエンザ。流行っていますね。。。

インフルエンザの発生状況が注意報レベルを超えました(千葉市)
https://www.city.chiba.jp/hokenfukushi/iryoeisei/kenkokikikanri/r6_fluwarning.html

千葉市でも基準を超えたということで、感染が本格化していることがわかります。

コロナ中は外出を控えたりほぼすべての人がマスクをすることによってインフルエンザも劇的に抑えられていたように感じていましたが、無事にコロナも5類移行が済んだことによって皆さん通常営業。
再びインフルエンザが帰ってきたということなんでしょうか。

妻も私も、ようやく症状は落ち着きつつあり、私はたんが絡んだような咳が出てしまうくらい。
ただ、この咳というのがやっかいで、むせるような咳になってしまうので周りからしたら不安を感じてしまうのですよね。
本人としては、確かに咳は辛く、夜寝るときもなかなか眠りにつくことが出来ない苦しさはあるもの、それ以外は至って普通。
ランニングも普通にこなしているような状態であります。

気がつけば今年も残り10日。
最後がこんな病気がちな終わり方をしてしまうのはなんとも悲しいので、なんとかして復活して家族一同年をこすことができればいいな、と思います。

健康って大事ですね

Software Design1月号

Software Design 1月号が届いた

ソフトウェアデザイン 2025年1月号

1月号の特集は認証技術と、Web APIテスト。

パスキーかー。
最初に話を聞いてから随分と立つ気がするけれど、いつまで立っても最前線と言われ続けているけれどどこまで実装されているんでしょう。
私がB2Bが多いのでB2Cであれば、見ている風景は随分と違うのかもしれません。

今号から新連載となるものもいくつかあってちょっと面白いなと思ったのは「一歩踏み出すための技術広報戦略の立て方」という連載でした。
著者はハイヤールーの玉田さん(https://www.wantedly.com/id/tamaclaw_hireroo)。

本連載で書かれている、会社が抱えるProblem

  • リファラルや自己応募の比率が低い
  • シニアなエンジニアにリーチできない
  • エンジニアに選ばれない

これはまさにその通り。
昨今は特に売り手市場が続いていて、中途採用が非常に厳しい感じがします。
(足元では変わりつつあるようにも感じますが)

エンジニアに選ばれるためには、当たり前ですが選ばれる会社でなければいけないし、選ばれる会社であることを紹介しないといけないんですよね。

エンジニアによる発信というのもわかるにはわかるんだけど、そのあたりのインセンティブ設計。コントロールなどなど、難しいところ。

そもそもの話として、自社にスーパーエンジニアがいるわけでもなく、すでに情報発信している会社と比較するとどうしても見劣りする技術力。
それらを考えたときに、モチベーションを保ちつつ選ばれる会社になるための発信を続けるのって現実的なんだっけ?と考えると、ぐぬぬって感じになってしまいます。

とはいえ、Problemで上げたものはまごうことなき問題であって、この連載がこの先どういうことを教えてくれるのか、非常に楽しみです。

Copilot が使えるようになっていた!

朝、メールを見ると。。。

おぉおぉ?
どゆこと?

メールにも書かれているけれど、いくつか制限があるようです

  • 2,000 code suggestions a month: Get context-aware suggestions tailored to your VS Code workspace and GitHub projects.
  • 50 Copilot Chat messages a month: Use Copilot Chat in VS Code and on GitHub to ask questions and refactor, debug, document, and explain code.
  • Choose your AI model: You can select between Anthropic’s Claude 3.5 Sonnet or OpenAI’s GPT 4o.
  • Render edits across multiple files: Use Copilot Edits to make changes to multiple files you’re working with.
  • Access the Copilot Extensions ecosystem: Use third-party agents to conduct web searches via Perplexity, access information from Stack Overflow, and more.

制限として大きいのは2000コード提案と50チャットの部分。
なんかあっという間に制限に引っかかりそうな気がしますね・・・。
それも利用仕方の問題なのかな

最近、WebでCaludeのほうを使う機会のほうが多くなっている気もしますが、まだまだ生成AIを使ったスタイルに馴染みがないので手を動かせるようにしていきたいものです。

Watch Face を作ってみたい

Garmin の Watch face はConnectIQアプリで入手することができるのですが、有料のものが多いのと、ちょっとごちゃごちゃしすぎる感じがします。

かといって、文字盤を自作することができるとして用意されているFaceItは項目数的にしょぼい。

であれば、自作することが出来ないだろうか?と思って調べてみるとVSCodeで開発環境を作ることができるということだったので、まずは開発環境を整えてみた

前提

VSCodeインストール済み
Javaインストール済み

公式の環境作成に関するページはこちら
https://developer.garmin.com/connect-iq/connect-iq-basics/getting-started/

SDKインストール

SDK取得のページからSDK Managerをダウンロード。起動する。
基本的にポチポチと進めていくことでSDKをインストールすることが出来た。
バージョンに関しては、執筆時点では 7.4.3が最新のようなのでこちらをCurrentとする

無事にインストールが済んだら、続いてVSCodeに拡張を追加していく

VCSCodeへのインストールと設定

VSCodeのExtensionとして「Monkey C」を検索、インストールする。
その後、VSCodeを再起動してコマンドパレット(Ctrl+Shift+P)から「Generating a developer Key」を選択。適当なフォルダを選択してKeyを出力する。

その後、Monkey C : New Projectを選択します

プロジェクト名を適当に入力。
WatchFaceなので安直にface1とかにしてみました

続いて、なんのプロジェクトかを選択します。
ここではWatch Faceですが、その他の選択肢が若干気になりますね。。。

テンプレートとしては、Settingもできたほうがいいと考えて「Simple with Settings」を選択します。

対応するAPIレベルを選択します。
APIレベルに関しては、どの機種がどのレベルを対応しているかの一覧が公式にあるので、必要に応じて選ぶことになります。

得に今回は複数の機種での用途を考えないので自分が持っている265が5.0.0だったのでそれを選択してみました

どの製品を対象とするのかを選択します。
このあたりはシミュレーターやストアへの公開時設定に影響を及ぼしそうです

無事、プロジェクトを作ることが出来ました。

Run and Debugをそのまま押下すると。。

無事にシミュレータも起動させることが出来ました!

ちょっと遊んでみたいと思います!

開発環境の構築は開発よりも難しい

購読しているSoftware Designの12月号

連載のLLMが前号に引き続きのHIL(Human In the Loop)をお題にしたもので、読んでいて面白そうだったので試してみることに。

リポジトリはこちらです
https://github.com/mahm/softwaredesign-llm-application/tree/main/14

やってみる

ReadMeにしたがって、ポチポチしていきます。
poetryというのは初めて使います。正直言って、業務でPythonを使っているわけじゃない身としては、試しに触るたびに新しいパッケージマネージャーを使わされている気がします。
なんでPython使いはパッケージマネージャーをどんどん作るのでしょう。
どれだけパッケージ使いづらいんでしょうかね。。。
それとも、「俺が作る最強のパッケージマネージャーを見せてやる」ってイキってる人が多いということなのかもしれません。

さて、最終的に実行を行ってみるのですが。。。

ModuleNotFoundError: No module named 'pydantic_core._pydantic_core'
Traceback:
File "C:\Dev\llm\softwaredesigne\softwaredesign-llm-application\14\.venv\Lib\site-packages\streamlit\runtime\scriptrunner\exec_code.py", line 88, in exec_func_with_error_handling
    result = func()
             ^^^^^^
File "C:\Dev\llm\softwaredesigne\softwaredesign-llm-application\14\.venv\Lib\site-packages\streamlit\runtime\scriptrunner\script_runner.py", line 590, in code_to_exec
    exec(code, module.__dict__)
File "C:\Dev\llm\softwaredesigne\softwaredesign-llm-application\14\app.py", line 5, in <module>
    from agent import HumanInTheLoopAgent
...

知ってる。チュートリアルってエラーになるんだぜ。

この “pydantic_core.pydantic_core”が見つからないってのはOpenAI関連のLambdaレイヤーを構築する際に起こるエラーとググったら出てくる。
Lambdaレイヤーなんて作っちゃいないんだけど、どうやらWindows環境では確実にこうなるようだ。
Software Designにそんな環境依存の話書いてあっただろうか?と思わずひとりごちた。
ちくしょう。

正直、なぜLambdaレイヤーと言われているのかは定かではないけれど、対応にはFastAPIの0.99.0を入れるとある

Lambda Layers で No module named ‘pydantic_core._pydantic_core’
https://qiita.com/ganessa/items/bb67517a095f2c510926

試して見る

C:\Dev\llm\softwaredesigne\softwaredesign-llm-application\14> pip install fastapi==0.99.0
...
Using cached starlette-0.27.0-py3-none-any.whl (66 kB)
Installing collected packages: pydantic, starlette, fastapi
  Attempting uninstall: pydantic
    Found existing installation: pydantic 2.9.2
    Uninstalling pydantic-2.9.2:
      Successfully uninstalled pydantic-2.9.2
  Attempting uninstall: starlette
    Found existing installation: starlette 0.41.2
    Uninstalling starlette-0.41.2:
      Successfully uninstalled starlette-0.41.2
  Attempting uninstall: fastapi
    Found existing installation: fastapi 0.115.4
    Uninstalling fastapi-0.115.4:
      Successfully uninstalled fastapi-0.115.4
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
composio-core 0.5.40 requires pydantic<3,>=2.6.4, but you have pydantic 1.10.19 which is incompatible.
Successfully installed fastapi-0.99.0 pydantic-1.10.19 starlette-0.27.0

なんかERRORは出るものの、最終的にはpydantic-1.10.19がインストールされた。
さて試してみる

変わらず・・・

試してみる(2)

問題の根本としては、Windows環境で試していることが原因っぽい。
というわけで、Dockerも検討したけれど手元にMacもあったので試してみる

あっさり動いたーーーー。

すごい釈然としない。。2024年においてもまだ環境依存は簡単にはこえられない壁として我々の前には立ち塞がっていると言うことなんだろう・・・。

そして、本当はそんなことをしたいのではなくここから仕組みの理解や改変を通した学びを得たいところだったのだけれど、すでに徒労感がある。

悲しい。

動かしてみると

そりゃ、LLMアプリを勉強するくらいであったら課金くらいしろよってのは、まぁ、そうなのかもしれないけれど、試すことすら出来ないのは悲しいところです。

ChatGPTにしろAnthropicにしろ、開発中もひたすらに料金がかかり続けるモデルだと、お勉強エンジニアには厳しいお財布事情になりそうです。

これ、複数のLLMで試したいと思ったら全部課金するって話になるんですよね。。。

リーダーシップ・シフト 全員活躍チームをつくるシェアド・リーダーシップ

堀尾志保著「リーダーシップ・シフト 全員活躍チームをつくるシェアド・リーダーシップ」を読んだ

リーダーシップ・シフト 全員活躍チームをつくるシェアド・リーダーシップ

本の内容としては、様々な活躍しているマネージャー、リーダーを調査して作られた本ということで、調査結果感がありました。

特に第1章の「シェアド・リーダーシップとは」という、この本のタイトルともなっている概念に関しての説明があるのですが、これがちょっと長い。
延々と「調査では~」みたいな形になるのでこの時点で危うく脱落仕掛けました。

というか、実際に第1章は正直後半はすっ飛ばして2章以降に行ってしまっていいと思っています。

STEP1~5まであり、それぞれに意味があるとは思いますが、やはりSTEP1のイメトレして始めるというところは、思ったよりも面白く聞くことが出来たように思えます。

この手の本は、全部が全部賛同できるわけでもないのでなにかひとつでも自分に対して行動上の変化を起こすことができれば儲けものくらいな気分で聞いていたりします。

なにか、活かせているだろうか・・・。
ビジネス書を読んで、学んだ気になって終わっていないだろうか。
最近、よく思ってしまいます。

もっとしっかり、考えないといけませんね