動かざることバグの如し

近づきたいよ 君の理想に

PulseAudioを使って別のLinuxサーバーのスピーカーから音を再生したい

環境 Ubuntu 22.04 やりたいこと サーバーAとBがある。サーバーAにはtest.wavがあり、サーバーBにスピーカーがある。 サーバーAから aplay test.wavを実行し、サーバーBのスピーカーから音を鳴らしたい。 今回はPulseAudioを使って実現してみる。 サーバーB:…

JavaScriptでパスワード生成するときはMath.random()を使うな

パスワード生成するメソッド 指定した桁数のパスワードを生成するメソッドをTypeScriptで実装した。 別にjsでも動くと思う export const generatePassword = (length: number): string => { const characters = 'abcdefghijklmnopqrstuvwxyz0123456789'; let…

Dockerで標準出力にログ吐くsquid

環境 Ubuntu 24.04 Squid 6.x やりたいこと かつてDockerでsquid実装した記事書いた dockerでsquidプロキシサーバーを構築する - 動かざることバグの如し あれから5年色々変わって動かなくなってたので再実装 FROM ubuntu:24.04 ENV TZ=Asia/Tokyo ENV DEBI…

ネクタイの結び方

ワイシャツの襟を上に上げておく 小剣が左、大剣が右で小剣が乳首とへその真ん中くらいからスタート だいけんが上になるように左へクロス

Nextjsで複数台にデプロイするとJSが404エラーになる問題

環境 Nextjs 14 Nextjs複数台に同時にデプロイできない問題 Nextjsを使用している際に、複数のサーバーに同時にデプロイしようとすると問題が発生することがある。 具体的には、ビルドIDが各サーバーで異なるため、JSのURLが変わってしまう。よってブラウザ…

赤本名言

赤本名言 2017年の赤本が名言だったのでメモ はしがき 大学入試の季節が近づいてきた。寒い雪の日の朝、電車の中で受験生と思しき若者が単語帳を開いているのを見るにつけ、もうかれこれ数十年前になるが、かって自分自身が受験生だった時の姿を重ねてしまう…

あすけんの女の存在しない記憶を生成AIでつくる

ai

存在しないあすけんの女の記憶を作りたい あすけんの女とは 健康管理アプリ「あすけん」に登場するマスコットキャラクター。AI栄養士さんらしい。アプリトップページに登場し、色々アドバイスくれる。 余談だが「未来(みき)」さんってちゃんと名前あるらし…

apt updateするとGLib-Errorエラーになる問題

環境 Ubuntu 20.04 症状 apt updateしようとすると「Sub-process returned an error code」エラーになってしまう # apt update ヒット:2 http://security.ubuntu.com/ubuntu bionic-security InRelease ヒット:3 http://jp.archive.ubuntu.com/ubuntu bionic…

MermaidでER図を書くテンプレート

MermaidでER図を書くテンプレート erDiagram T1 ||--|{ T2: "1 対 多(1以上)" T1 ||--o{ T3: "1 対 多(0以上)" T1 ||--|| T4: "1 対 1" T1 ||--o| T5: "1 対 0か1" T1 { id BIGINT PK "ID" title VARCHAR(255) "タイトル" } 公式サイトが1番わかりやすいっ…

Dockerでapt-update含むビルドエラーになってしまった謎

環境 Docker 26.0.0 症状 Dockerでビルドに失敗する。よく見ると apt update に失敗する。そんなことある????? Reading package lists... E: Problem executing scripts APT::Update::Post-Invoke 'rm -f /var/cache/apt/archives/*.deb /var/cache/apt…

空売りとは

空売りとは 空売りとは、株価が下がると予想される時に、証券会社から株を借りて売り、その後株価が下がったら安く買い戻して返すことで、差額の利益を得る取引方法です。 高校生のみなさんにもわかりやすく説明するために、例えを使ってみましょう。 例えば…

共働きのすごい対話術

ポイント①「あなた」ではなく「わたし」を主語にして伝える ×「あなたもちょっとは手伝いなさいよ!」 ○「少し手伝ってくれると私は嬉しいな」 自分を主語にした「Iメッセージ」に言い換えてみましょう ポイント②「疑問形」は非難に聞こえるので要注意 ×「ど…

Github Actionsで配列に含まれているかで分岐させる方法

Github Actionsで配列を条件式渡して評価したい thr3a/docker-build-stationで毎日Dockerイメージをビルドしているが、 if: matrix.target == 'cuda11.8-torch' || matrix.target == 'cuda12.1-torch' || matrix.target == 'alma-7b-server' || matrix.targe…

Rspecでバリデーションエラーのテスト書く時は細かく書け

今まで以下のように書いてたんだけど、これだと必ずしも想定していたバリデーションエラーによってテストが成功していたとは言えなかった。 expect(post).not_to be_valid バリデーションエラーをRspecで完全一致でテストする場合は以下 expect(post.errors.…

MacOSでNTPサーバーと同期できない問題

症状 MacOSの日付がズレすぎていてNTPサーバーと同期できない。 手動で正しい日付を設定するも、NTPを有効にするとまた古い日付に戻ってしまう。。。。 解決策 ❯ sntp ntp.nict.jp +0.045303 +/- 0.009303 ntp.nict.jp 133.243.238.164 ❯ sudo rm /var/db/ti…

Rails独自の型をActiveModel::Type::Valueを継承して作成する

環境 Rails 7.1 やりたいこと Railsの ActiveModel::Attributesは本当に便利で ActiveRecordでもDBに紐づかないモデルのActiveModelでも重宝している ActiveModel::Attributes が最高すぎるんだよな。 #Rails - Qiita ただ標準で用意されている型の種類が少…

curlでレスポンスヘッダーだけ表示させたい

環境 curl 8.4.0 コマンド curl -D - -s -o /dev/null https://turai.work/ HTTP/2 200 server: GitHub.com content-type: text/html; charset=utf-8 last-modified: Sat, 10 Feb 2024 03:16:49 GMT access-control-allow-origin: * etag: "65c6eaa1-2a4" ex…

MacOSでmozcをビルドしてインストール

環境 M1 macbook MacOS Sonoma 手順 基本的には 公式README の通りに行えばOK ビルドするために必要なものをインストール pip install requests brew install bazel ダウンロード git clone --depth 1 https://github.com/google/mozc.git cd mozc/src pytho…

kubeadmで構築したおうちKubernetesアップグレードメモ

やったこと v1.26からv.29にアップデート 確認 ubuntu04,05がコントロールプレーンでubuntu01,02がワーカーノード ❯ kubectl get node -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME ubuntu01 …

新 どんなデータもぶっこ抜くWIFIアクセスポイントを作る

環境 Ubuntu22.04 手順 hostapdのインストール apt install hostapd create_apのインストール メンテナンス終了してしまっているがまだ使える git clone https://github.com/oblique/create_ap cd create_ap make install 作成 --daemon をつけるとバックグ…

自作コマンドを自動起動させるためにsystemdのサービス化する設定テンプレ

[Unit] Description=Create AP Service Wants=network-online.target After=network-online.target [Service] Type=simple ExecStart= Restart=on-failure [Install] WantedBy=multi-user.target

whisper.cppのCore ML版をM1 MacBookにインストール

mac

環境 Macbook M1 air Xcode 15 Python 3.10 XcodeのCommand Line ToolsだけではダメでXcode本体をインストールしておく必要がある あと事前に sudo xcodebuild -license を実行してagreeしておくこと .venv ❯ xcode-select -p /Applications/Xcode.app/Conte…

ChatGPTにDanbooruタグを生成してもらうプロンプト

llm

### Task You are a prompt generator for Text-to-image AI. Please generate a prompt that satisfies all of the following rules from the input theme. ### Prompt Rule - All prompts are in English and consist only of combinations of fewer than …

USB CABLE CHECKER2で破棄すべき危険なUSBケーブルをあぶり出す

USB CABLE CHECKER2とは 「USB CABLE CHECKER 2」は、USBケーブルや変換アダプタの性能を確認できるデバイスだ。 microBやTypeC規格のUSBケーブルの抵抗値や対応規格など、普段確認できない情報を検証できる。具体的には、USB 2.0から3.2まで、Mini-BからTyp…

Macbookのファン回転数をコマンドから変更する

mac

環境 Macbook pro 2015 やりたいこと コマンドラインからサクッとファンの回転数を変えたい 方法 smcFanControlに依存しているのでbrewでインストール $ brew install smcfancontrol --cask ezfインストール $ npm install -g ezf 全てのファンの回転速度を…

docker compose downをすぐに終了させる方法

結論 docker compose down で速攻で終了させたいなら version: "3" services: app: image: ubuntu stop_grace_period: 0s そもそもdocker compose downはなにしているのか docker-compose.ymlのstop_grace_periodとはdocker-composeは、複数のコンテナを定義…

ssh越しにsudoでGUIアプリ起動する方法

環境 Ubuntu 発端 MacOSからubuntuにsshしてsshのX11 Forwardingを利用してGUIアプリをMacOS側に表示させていた XQuartzを使っている GSmartControl を使おうと思って sudo gsmartcontrol してみたがエラーになった $ sudo gsmartcontrol X11 connection rej…

Linuxでミスってchmod -Rしたパーミッションを一発で修正する方法

環境 Linux 背景 linuxでファイルやディレクトリのパーミッションを変更するときに、chmodコマンドを使うことが多いと思います。 しかし、時々ミスってしまって、例えば/path/to/dirというディレクトリ以下のすべてのファイルやサブディレクトリに対して、 c…

MySQLのレプリケーションでLast_SQL_Errno: 1594

MySQLでレプリケーションを構築している際、スレーブノードのリレーログ解析中にエラー番号1594が発生し、レプリケーションプロセスが中断される問題について、対処策を提案します。 このエラーの発生は、マスターサーバのバイナリログが破損、スレーブサー…

ターミナルからDockerイメージのタグを検索するシェルスクリプト作った

やりたいこと 公式のDocker Hubで指定したタグを検索するのがダルい UIがクソ そもそもターミナルで完結したい タグ一覧を取得するAPIがあるからそれを使ってシェルスクリプトを作成したい 成果物 ChatGPT様々 function search_docker_image_tag() { if [ -z…