新着
Webページをダークモードに切り替えるChrome拡張機能を自作
現代社会に生きるインターネット依存症の我々は、日夜Webサイトをサーフィンすることでドーパミンを放出している。 そして、背景が白のWebページをずっと見ていると目が疲れてしまうことが多い。そんな折に重宝しているのが...
Geminiにロゴを生成してもらいたい
コーヒーのカップを作るにあたって、テクスチャが何もない状態では味気ないためロゴを生成したい。今回は Gemini を使ってロゴを生成してもらう。 参考画像として、某有名カフェチェーンのロゴを学習させ、以下のようなプ...
PythonでPDFにmp3をバインドする
PDF資料に音声データ(mp3)を添付したい。Adobe AcrobatのGUIからも行えるが( 公式ドキュメント )、今回はPythonを使う。 まず、PythonでPDFを扱うライブラリをインストールする。↓...
入力したテキストを四国めたんが読み上げるフローを完全ローカルで構築
ブラウザで入力された文章を、PC内のVOICEFOXサーバーと連携して、完全ローカルで読み上げ機能を実装する。 VOICEVOXをPCにインストールする。 方法は2つあって、公式サイトからデスクトップアプリをダウン...
ブラウザの音声入力インターフェース(VUI)を試す
ブラウザ標準の Web Speech API を使って、VUIを実装する。 単一HTMLで ↓ <!DOCTYPE html> <html lang="ja"> <...
生成AIがらみのサービスでBYOKが主流になる未来は来るのか
AIサービスをBYODスタイルで実装すればランニングコストがゼロになる。BYOD(bring your own key)は、つまりユーザーのAPIキーを使ってサービスを動かすということ。 Geminiの場合 ↓ a...
公開リポジトリの特定ファイルのみをgit-cryptで暗号化
Git Hubに配置したソースコードのうち一部のファイルやディレクトリを見られたくない時は、privateにするかgitignoreが普通である。しかし、不特定多数に対してgit cloneしてもらいたいし、バージ...
Turf.jsを使ったマップグリッド配置とセルごとのステータス管理
地図上の任意の範囲のステータスを管理するためのアプリに使うロジックを考えた。 任意の範囲を地図上にグリッドで指定 任意のイベントを起点にセルのステータスを更新 ユーザーがポリゴンからセルを生成する計算は、Turf....
Claude Sonnet 4.6 が Blender MCP でコーヒーゼリーを作る
とあるバックエンドエンジニアからblenderでコーヒーゼリーを作ってほしいとの依頼が届いた。 ちょうどいい機会なので、 前に紹介したAI駆動モデリング を試してみる。 システム起動 1. Blenderを起動する...
Chrome拡張機能を自作してローカルLLMと繋げる
PC外部への通信を一切行わずに、現在開いている Web ページの本文を抽出してローカル LLM に要約させる Chrome 拡張機能を作ってみる。 具体的な機能 拡張機能を起動するとポップアップが出現する ポップア...
blenderとLLMをMCPサーバー経由で接続して怠ける方法
めあては自然言語を通して3Dモデルを生成すること。 具体的には、Claude Desktopのプロンプトから”blenderで何か作って”と指示して、該当のLLMにMCPサーバー経由でblenderを操作させる。b...
Blenderで創造したヘンテコな生き物をサイト内で飼う最もシンプルな方法
愛着はあれど、誰かに自慢できるほどではない3Dキャラクターが増えてきたため、自分のWEBサイト内で飼うことにした。 今回はNext.jsで作ったWEBアプリにThree.jsというWeb 3Dの標準ライブラリを組み...
Node.jsの自作ライブラリをnpmレジストリに公開
マニアックな処理をnpmライブラリパッケージとしてネット上に保管しときたい衝動に駆られたのでそれをした。 まず、ブラウザから、 アカウント作成: npmjs.com にアクセスし、ユーザー名、メールアドレス、パスワ...