動かざることバグの如し

近づきたいよ 君の理想に

肉じゃがの作り方

材料

  • じゃがいも(男爵) 3つ
  • にんじん1本
  • 玉ねぎ1個
  • バラ豚肉200g

手順

  • 玉ねぎは7mm程度、にんじん乱切り、じゃがいもは8等分
  • 圧力鍋に全部ぶち込む
  • 各調味料をいれる
    • 酒 大さじ3
    • ほんだし 小さじ2
    • 砂糖 大さじ2
    • みりん 大さじ2
    • 醤油 大さじ3
    • 水 250cc
  • 蓋をしてメニューから「肉じゃが」を選択
  • デフォルト設定のままスタート

ペペロンチーノの作り方

準備するもの

手順

  • にんにくみじん切りにする
  • 小フライパンににんにくとオリーブオイル大さじ1を入れる
  • 中火でフライパンを傾けてにんにくがオリーブオイルに浸るようにする
    • にんにくが焦げるのを防ぐ&にんにくの風味を油に移すのが目的
  • にんにくが狐色になったら一味唐辛子を6振り
  • 30秒たったら水350cc、コンソメ小さじ1、塩1つまみ
  • 強火にして沸騰させる
  • 沸騰したらゆっくり麺をいれる
  • 麺の湯で時間通り(ディチェコ 1.6mmなら9分)まで加熱
    • 水は蒸発させる 乳化するのでトロみが出ればOK
  • 茹で時間になったら再度オリーブオイル大さじ1

乳化について

水と油のような本来混ざり合わない物質が均一に混ざり合う現象

乳化の目的

  • 口当たりの改善:油っぽさや水っぽさを軽減し、なめらかな食感を実現
  • ソースの絡みやすさ向上:とろみが出ることでパスタに均一に味が付く
  • ソースの安定性向上:油と水が分離せず均一な状態を保つ

乳化のメカニズム

  • 水分(パスタの茹で汁)と油分(オリーブオイルやバター)は通常混ざり合わない
  • パスタの茹で汁に含まれるデンプンが乳化剤として機能
  • デンプン分子が界面活性剤として作用
  • デンプンが油の粒子の間に入り込み、それらが再結合するのを防ぐ

picture 0

エアコンのポタポタ音と水漏れを考える

夏に、エアコンからポタポタ音がして水漏れすることが起こった。

調べてみると別にエアコンの故障ではないらしい。

jpn.faq.panasonic.com

エアコンからポコポコ音がする主な理由

室内と屋外の気圧バランスが崩れ、ドレンホースに外気が逆流することが原因

具体的な発生メカニズム

  • 室外の気圧が室内の気圧より高くなる
  • 気圧差により外気がドレンホースから流入する
  • 流入した外気がドレンパン内の結露水に当たることでポコポコ音が発生する

picture 0

起こりやすい条件

  • 気密性の高い室内で換気設備を使用している時
  • 屋外で強風が吹いている時

我が家はまさに条件を満たしていた。

対策

空気を吸う側:

  • お風呂の24時間換気扇
  • キッチンの換気扇

空気を吐く側:

  • エアコン
  • 天井換気口

だが 吸う>>>吐く のため正常に水を排出できていない。

要は 吸う=吐く にしたいので

  • 窓を開ける
  • 天井換気口はマックスにする
  • 換気扇を冬季モードにして弱める

が考えられる。

無能投票のルール説明

ChatGPTに推論するときに楽しいのでルールをまとめてみた。

# 無能投票のルール説明

## 概要

- 100名の参加者の中から、不要と思われる人物97名を多数決で排除し、最終的に残った3名を合格とするゲーム。
- 選考期間は4泊5日。
- 最終日までに4名以上の受験者が残っていた場合、全員不合格となる。

## 詳しいルール

### 投票方法
- 参加者には電子端末が配布される。
- 端末内の投票アプリを使用して、不要と思う人物に投票する。
- 自分への投票も可能。

### 投票集計
- 1日目から4日目までは、午前と午後の2回、投票集計が行われる。
- 投票率が25%以上の場合、投票数の多かった上位3名が排除される。
- 投票率が25%未満の場合、投票は無効となる。
- 5日目は、9時から17時まで1時間ごとに投票集計が行われ、上位1名のみが排除される。

### コミュニケーション
- 端末には選考専用のチャットアプリがあり、匿名で書き込み可能。
- チャット内容は全参加者に共有される。

### その他
- 投票者の名前は公開されない。
- 選考期間中はホテルが貸し切られ、個室と食事が提供される。
- 端末には、ルール説明や投票時刻、アプリの機能説明が記載されたテキストが保存されている。
- 最初の投票集計は12時から。

### 補足
- 投票率は参加者数に対する投票数の割合。例えば、100名中25名が投票した場合、投票率は25%となる。
- 投票率が25%未満の場合でも、上位3名は排除されません。投票が無効になるだけで、排除は発生しません。
- 5日目は1時間ごとの投票集計で、上位1名のみが排除されるため、投票のタイミングが重要となる。
- チャット機能は、参加者間のコミュニケーションを円滑にするためのツール。戦略を立てたり、情報を共有したりするために活用できる。

uvで.venvを作らずにシステムのパッケージとしてインストールする方法

例えば以下のような開発用のDockerfileがあったとする。

FROM python:3.12

ENV UV_PROJECT_ENVIRONMENT="/usr/local/"

WORKDIR /app

ADD pyproject.toml ./
ADD uv.lock ./
RUN pip install uv
RUN uv sync --frozen --no-cache

その場合開発時はリアルタイムにファイル内容を更新したいので、ホストのカレントディレクトリと/appをマウントしてコンテナを起動したい。

そうするとDockerfileでビルドした.venvが消えてしまう。

uvはデフォルトでは、プロジェクトごとに隔離された環境、すなわち仮想環境(.venv)を生成する。 これは、Pythonの依存関係をプロジェクトごとに分離し、異なるプロジェクト間でのパッケージの競合を避けるためだ。 uv sync コマンドは、この分離された環境に依存パッケージをインストールする。これにより、システムのPython環境を汚染することなく、プロジェクト固有の依存関係を管理できる。

調べると UV_SYSTEM_PYTHON=true をつけると.venvを作らずにシステムのパッケージとしてインストールされるらしい。

ENV UV_SYSTEM_PYTHON=true

しかし

だが、試してみても依然として.venvはつくられたままだった。調べると uv sync には効かないらしい。

ENV UV_SYSTEM_PYTHON=1 still creates .venv and dependencies aren't able to be found · Issue #9067 · astral-sh/uv

対策

結果的には UV_PROJECT_ENVIRONMENT="/usr/local/" を付与することでシステムのパッケージとしてインストールできた。

FROM python:3.12

ENV UV_PROJECT_ENVIRONMENT="/usr/local/"

WORKDIR /app

ADD pyproject.toml ./
ADD uv.lock ./
RUN pip install uv
RUN uv sync --frozen --no-cache

UV_PROJECT_ENVIRONMENT は、uvが依存パッケージをインストールするベースディレクトリを定義する環境変数だ。 デフォルトでは、プロジェクトディレクトリ内に .venv ディレクトリが作成され、そこにパッケージがインストールされる。 しかし、この環境変数/usr/local/ に設定すると、uvはシステムのパッケージディレクトリ(/usr/local/lib/python3.x/site-packages/)に直接パッケージをインストールするようになる。 これは、実質的に仮想環境を使わずに、システム全体にパッケージをインストールすることと同じだ。 /usr/local/ を指定する理由は、このディレクトリが一般的にシステム管理者がパッケージをインストールする場所として使用され、システムの他のPython環境と競合しにくいためだ。 Docker環境においては、このディレクトリは通常コンテナイメージのレイヤーの一部となり、コンテナ内の全てのプロセスで共有されることになる。