Gemma 4 12B: encoder不要の統合マルチモーダルモデルをGoogleが公開
Gemma 4 12B: A unified, encoder-free multimodal model
Google が Gemma 4 12B をリリースした。従来のマルチモーダルモデルが画像や音声用に別々の encoder を必要としたのに対し、Gemma 4 は encoder を使わない統合アーキテクチャを採用している。12B パラメータという比較的小さなサイズで、テキスト・画像・動画を単一モデルで処理でき、ローカル環境やエッジデバイスでの実行も視野に入る。開発者向けにオープンウェイトで提供され、Hugging Face や Kaggle から利用可能。
スピーカーを経由してPCをハッキング: Creative Sound Blaster Katana V2X の脆弱性
Pwnd Blaster: Hacking your PC using your speaker without ever touching it
Creative Sound Blaster Katana V2X のファームウェアをリバースエンジニアリングした結果、Bluetooth 経由で約15m以内から攻撃可能な脆弱性が発見された。USB接続のサウンドバーでありながら、Bluetooth 経由でファームウェアを書き換え、BadUSB デバイスとして動作させることが可能。認証なしで CTP プロトコルにアクセスでき、スピーカーを盗聴デバイスや Rubber Ducky に変えられる深刻な問題が明らかになった。
Elixir v1.20 リリース: 漸進的型付け言語への進化
Elixir v1.20: Now a gradually typed language
Elixir v1.20 がリリースされ、集合論的型システムによる漸進的型チェックが全プログラムに適用されるようになった。型注釈を追加することなく型推論を行い、実行時に確実に失敗するコードを検出する。dynamic() 型により動的型付けとの互換性を維持しつつ、偽陽性を極めて低く抑えている。'If T: Benchmark for Type Narrowing' では13カテゴリ中12をパスし、高精度な型推論能力を実証した。CNRS と Remote の協力で開発された。
Let's Encrypt がポスト量子暗号の未来を発表: Merkle Tree Certificates の採用へ
A Post-Quantum Future for Let's Encrypt
Let's Encrypt がポスト量子安全な Web PKI の実現に向け、Merkle Tree Certificates(MTC)の採用計画を発表した。従来のポスト量子署名アルゴリズムは証明書サイズが数KB〜数十KBに膨れ上がり TLS ハンドシェイクの遅延を招くが、MTC は木構造の短い証明で認証を行うため、速度と信頼性を犠牲にしない。NSA の CNSA 2.0 が2030年までにRSA-2048とP-256の非推奨を指示する中、Web 全体の認証基盤を守る重要な一歩となる。
Uber が AI ツールの月額利用上限を1,500ドルに設定: AI コスト管理の現実
Uber's $1,500/month AI limit is a useful signal for AI tool pricing
Uber が Cursor や Claude Code などの AI コーディングツールに対し、従業員1人あたり月額1,500ドルの利用上限を設定した。2026年の AI 予算を4ヶ月で使い切ったことへの対策で、ツールごとに独立した上限が適用される。Simon Willison の分析によると、ツール2つで年間36,000ドル/人の上限はエンジニアの年間報酬パッケージ(中央値33万ドル)の約11%に相当し、企業における AI ツールの実質的な価値を示す指標になるとしている。
すべてのバイトに意味がある: キャッシュラインとメモリレイアウトの最適化
Every Byte Matters
Java での長いキャリアを経て、メモリレイアウトの重要性に気付いた著者が、CPU キャッシュラインの仕組みと最適化手法を解説している。64バイトのキャッシュラインサイズを意識したデータ配置がパフォーマンスに劇的な影響を与えることを、L1/L2/L3 キャッシュの階層構造とともに説明。同じ O(N) のアルゴリズムでも、メモリアクセスパターンの違いで実行時間が大きく変わることを具体的なベンチマークで示している。
Doom Emacs で iOS アプリを開発する
Building iOS Apps with Doom Emacs
Xcode を一切使わず Doom Emacs だけで iOS アプリ SPEEM を開発・リリースした記録。Apple が提供する xcodebuild、xcrun simctl、sourcekit-lsp などのコマンドラインツールを約1,000行の Emacs Lisp で統合し、SPC i b でビルド、SPC i s でシミュレータ起動、SPC i l でログストリーミングなどの操作を実現。Xcode は結局コマンドラインツールのラッパーに過ぎないことを実証した。
Edsger: reMarkable 2 で手書き入力する Clojure REPL
Show HN: Edsger – A handwritten Clojure REPL for the reMarkable 2
reMarkable 2 タブレット上で手書きの Clojure コードを認識し、評価結果を表示する REPL 環境。ペンで書いた式がリアルタイムで Clojure コードとして解釈・実行される。手書き認識と REPL の即時フィードバックを組み合わせた独創的なプロジェクトで、HN で233ポイントを獲得。プログラミングとアナログな手書き体験を融合させた実験的な取り組み。
Declarative Partial Updates をストリーミング SSR に活用する
Declarative Partial UpdatesをストリーミングSSRに使う
Google が提案中の Web 標準候補「Declarative Partial Updates(宣言的部分更新)」を React のストリーミング SSR に応用する手法を解説。HTML のストリーミング送信時に、既に送信済みの DOM の一部を宣言的に更新できる仕組みで、Suspense の fallback 置換や段階的なページ構築に活用できる。JavaScript を使わずにサーバーからの HTML ストリームだけで部分更新を実現する点が革新的。
Claude Code 向け「臭うコード検出器」を構文木解析で開発し Hooks に設定した話
Claude Codeのために「臭うコード検出器」を開発し、Hooksに設定してみた話
コーディングエージェントが生成したコードの品質問題を、構文木解析で自動検出する仕組みを開発した事例。CI で落とせるほど明確ではないが、人間のレビューで問題視されるパターンを AST 解析で検出し、Claude Code の Hooks に組み込むことで、コード生成時点でフィードバックを返す。既存のレビュー指摘を構文木レベルで拾える範囲を拡大するアプローチ。
Zenn の AI 記事を AI の力で非表示にする Chrome 拡張を作った
Zennの記事一覧からAI関連の記事をAIの力によって滅ぼし、そして私も消えよう
Zenn のフィードに溢れる AI 関連記事をフィルタリングする Chrome 拡張機能を、Chrome 138 以降で利用可能な Built-in AI API を使って開発した。皮肉にも AI 記事を排除するために AI を活用するという自己矛盾的なアプローチ。Zenn に標準のフィルター機能がないため、ブラウザ拡張で記事のタイトルと概要を AI に分類させ、非表示にする仕組みを実装した。
AI にコーディングをさせなくなった理由 (2026年5月版)
僕が AI にコーディングをさせなくなった理由(2026 年 5月版)
Claude Code Max 20x を契約している Web エンジニアが、業務での AI コーディングを中止した理由を整理した記事。AI を完全に捨てたわけではないが、自身の成長速度の鈍化を実感したことが主因。AI にコードを書かせていた時期は知識を吸収できている感覚があったものの、実際には理解の深さが浅くなっていたと分析している。AI の活用範囲を再定義した実践的な振り返り。
誰も教えてくれないテスト自動化が普及しない理由
誰も教えてくれないテスト自動化が普及しない理由
バーでの対話形式という独特な文体で、テスト自動化が組織に定着しない構造的な問題を掘り下げている。技術的な難しさだけでなく、組織の意思決定プロセス、ROI の説明困難さ、テストコード自体のメンテナンスコストなど、現場のエンジニアが直面する複合的な課題を率直に語る。テスト自動化ツールの選定以前に必要な組織的な土壌作りについて考察している。
データサイエンティストのための AGENTS.md と Skills 設計ガイド
データサイエンティストのためのAGENTS.mdとSkills
GitHub Copilot や Claude Code などの AI コーディングツールの能力を最大限引き出すために、データサイエンティストの分析業務に特化した AGENTS.md と Skills の設計方法を紹介。普段の分析業務で実際に記述している内容をベースに、AI に適切な前提知識を伝えるためのドキュメント構成を具体的に解説している。
tmux を AI エージェント時代に導入すべき理由
使い方は覚えなくていいから tmux を入れろ
Claude Code や Codex を使う際に発生する2つの問題 ── バックグラウンドタスク実行時のエージェント間の挙動差異と、対話型コマンドの実行不可 ── を tmux で解決する方法を解説。tmux の複雑な操作を覚える必要はなく、AI エージェントの実行環境として最低限の使い方だけで十分という実用的なアプローチを提案している。
webMCP: AI エージェントが Web サイトを操作する新しい仕組み
Is This How We'll Build Websites Soon? (webMCP Live Demo)
Google が Chrome で実験中の webMCP サポートについて、実際のデモを交えて解説。現在 AI エージェントが Web サイトを操作するには、ページの解析・クリック・結果確認を繰り返す非効率な方法しかないが、webMCP により Web サイトが構造化された情報を AI エージェントに直接公開できるようになる。モバイル対応、アクセシビリティに続く、Web の第3の適応フェーズになる可能性を議論している。
Strands Agents で学ぶ5つのマルチエージェントパターン
5 Multi-Agent Patterns in Strands Agents: Which One and When
AWS の Strands Agents フレームワークで実装可能な5つのマルチエージェント協調パターンを、企業旅行エージェントの具体例で解説。Agents as Tools、Swarm、Pipeline、Parallel Fan-out、Graph パターンそれぞれの実装コードと、実行順序の決定権が誰にあるか(モデル、エージェント、コード)という観点での比較表を提示。用途に応じたパターン選択の判断基準を示している。
Neuron AI v3: 複数の LLM プロバイダーを透過的に切り替える統合メッセージングレイヤー
Mixing LLM Providers Inside a Neuron AI Agent
PHP 製 AI エージェントフレームワーク Neuron AI v3 で、複数の LLM プロバイダー(OpenAI、Anthropic、Gemini、Ollama)を単一のエージェントから透過的に利用できる RouterProvider を実装した経緯。各プロバイダーのメッセージ形式の違いを吸収する Unified Messaging Layer を設計した結果、当初意図していなかったプロバイダー間ルーティング機能が自然に実現できた。
Next.js 16 のキャッシュバグを7回踏んで構築したキャッシュ管理システム
After 7 Next.js 16 Caching Bugs, I Stopped Guessing and Built a System
Next.js 16 のキャッシュ機構で7回のプロダクションバグを経験した著者が、再発防止のために構築した体系的なキャッシュ管理手法を解説。最も多い原因は、異なるファイルで cacheTag と revalidateTag に微妙に異なる文字列を指定してしまうこと。TypeScript による型安全なタグ定数の管理、タグの一元管理モジュール、CI での不整合検出など、実践的な対策を具体的なコード例とともに示している。
250MB の分類器はいらない: ブラウザで動く軽量 AI の実装
I Was Asked to Add a Simple Classifier to a Website. Then I Saw the 250 MB Download.
Web サイトに簡単なテキスト分類機能を追加する依頼を受けたが、一般的な ML ソリューションではランタイムとモデルで約250MBのダウンロードが必要になる問題に直面。LLM もフル推論エンジンも不要なユースケースに対し、ブラウザ内で動作する軽量な分類処理を Rust + WebAssembly で実装するアプローチを提案。すべての AI タスクに大規模モデルが必要なわけではないという視点を実例で示している。