← ホームに戻る26 件のニュース
Linux Sandboxes and Fil-C

Linux Sandboxes and Fil-C

## Japanese Translation: メモリ安全性とサンドボックスはプログラムの異なる部分を保護するため、両方が強力なセキュリティに必要です。純粋な Java プログラムはメモリ安全であってもファイルシステムの syscalls を通じて任意のファイルを書き込むことができるし、逆にすべての能力を取り消したアセンブリプログラムでもメモリバグがある場合がありますが、カーネルが特権 syscalls を殺すためサンドボックスから逃げられません。サンドボックスは意図的に許容範囲を広く設計しているため、攻撃者は残されたメモリ安全性のバグを利用してブローカー・プロセスへ到達することができるので、両方の防御を組み合わせるとより強固な保護が得られます。 本書では、C/C++ 用に設計され、システムコールまで安全性を保証し、init や udevd などの低レベルコンポーネントで使用できるメモリ安全ランタイム「Fil‑C」への OpenSSH の seccomp ベース Linux サンドボックス移植方法について説明します。OpenSSH は既に chroot を採用し、`sshd` ユーザー/グループとして特権なしで実行し、`setrlimit` を使用し、非許可 syscalls を `SECCOMP_RET_KILL_PROCESS` で殺す seccomp‑BPF フィルタを適用しています。Fil‑C はその runtime 内で自動的にこれらの syscalls を許可することで簡素化します。背景スレッドは存続させつつスレッド生成を防ぐため、Fil‑C は API `void zlock_runtime_threads(void)` を追加し、必要なスレッドを事前確保してシャットダウンを無効にします。 OpenSSH の seccomp フィルタは強化されています。失敗時の挙動が `SECCOMP_RET_KILL` から `SECCOMP_RET_KILL_PROCESS` に変更され、mmap 許可リストに新たに `MAP_NORESERVE` フラグが追加され、`sched_yield` が許可されています。サンドボックスは二つの `prctl` コール(`PR_SET_NO_NEW_PRIVS` と `PR_SET_SECCOMP`)で構築され、エラー検出も行われます。Fil‑C のランタイムは `filc_runtime_threads_handshake` で全スレッドとハンドシェイクし、各スレッドが no_new_privs ビットと seccomp フィルタを持つことを保証します。複数のユーザー スレッドが検出された場合、安全エラーが発生します。 メモリ安全性とサンドボックスを組み合わせることで、OpenSSH はより厳格な隔離を実現し、メモリバグによる権限昇格リスクを低減します。このアプローチは他のセキュリティクリティカルプロジェクトにも採用を促す可能性があります。

2025/12/14 7:58
An Implementation of J

An Implementation of J

## Japanese Translation: ## 改訂版要約 本書は、技術仕様の構造化された目次であり、以下のように整理されています。 1. **第0章 – はじめに** 2. **第1章 – 文を解釈する** - 1.1 単語生成 - 1.2 構文解析 - 1.3 トレイン(列車) - 1.4 名前解決 3. **第2章 – 名詞** - 2.1 配列 - 2.2 型 - 2.3 メモリ管理 - 2.4 グローバル変数 4. **第3章 – 動詞** - 3.1 動詞の構造 - 3.2 ランク - 3.3 原子(スカラー)動詞 - 3.4 オブヴァース、同一性、および変種 - 3.5 エラー処理 5. **第4章 – 副詞と接続詞** 6. **第5章 – 表現** - 5.1 原子表現 - 5.2 ボックス化された表現 - 5.3 木構造表現 - 5.4 線形表現 7. **第6章 – ディスプレイ** - 6.1 数値表示 - 6.2 ボックス化表示 - 6.3 フォーマット済み表示 主要セクションの後に、付録A〜F(インキュナブルム、スペシャルコード、テストスクリプト、プログラムファイル、外国接続詞、およびシステム概要)が補足資料として提供されます。書末には参考文献・用語集・索引が付されています。 この構成(目次 → 詳細セクション → 付録 → 参照資料)は、読者に全体枠組みを最初に把握させたうえで、必要に応じて詳細へ掘り下げたり補足資料を参照したりできる明確かつ階層的な道筋を提供します。

2025/12/14 9:34
Closures as Win32 Window Procedures

Closures as Win32 Window Procedures

## Japanese Translation: **改訂版要約:** この記事では、Win32 のウィンドウプロシージャに追加のコンテキストポインタを渡す方法を示しています。これは、WndProc が通常 4 つしか引数を取らないため、ネイティブ API には備わっていない機能です。著者は x64 アセンブラで小さなトランスペイル(trampoline)を作成し、実行時に JIT コンパイルして 5 番目の引数スロットを挿入し、呼び出し前に必要なコンテキストを格納します。これにより、各ウィンドウがグローバル変数や `GWLP_USERDATA` を使わずに独自の状態を保持できるようになります。トランスペイルは GNU アセンブラで書かれ、`.exebuf` セクション(`bwx` フラグ付き)から 2 MiB の実行可能バッファが確保されます。C ヘルパー関数 `make_wndproc(Arena *, Wndproc5, void *arg)` は 2 つのバイトオフセットプレースホルダーを修正してトランスペイルを生成します。作成後は `set_wndproc_arg(WNDPROC p, void *arg)` を使ってコンテキストを変更できます。アロケータ例では、異なる状態オブジェクト用に複数のトランスペイルを生成したり、動的に切り替えたりする方法を示しています。この手法は、トランスペイルがアンウインドテーブルを持たないため Windows Control Flow Guard 下でも安全に機能し、グローバル変数を使わずにウィンドウごとのデータを付与する低レベルの手段を示しています。

2025/12/14 8:39
Recovering Anthony Bourdain's (really) lost Li.st's

Recovering Anthony Bourdain's (really) lost Li.st's

## Japanese Translation: **概要:** 著者は、Greg TeChnoLogY の Anthony Bourdain リストから欠落した項目を復元するために、Common Crawl インデックスを照会する Python 3.14.2 スクリプト *commoncrawl_search.py* を作成しました。サイト全体をダウンロードする代わりに、スクリプトは検索語句と一致する URL プレフィックスのみを返す単一のインデックスリクエストを送信し、帯域幅を大幅に削減しクエリ速度を向上させます。この手法は標準的なオープンソース慣行に従っており、アーカイブ済みデータセットから失われた Web コンテンツを復旧する以前の試みを継承しています。今後はより複雑な検索に対応できるようツールを拡張し、リスト項目のさらなる自動復元を実現する可能性があります。成功すれば、研究者やファンがアクセスできるようになり、大規模公開アーカイブからデータを抽出する実用的な方法を示し、将来の Web 保存プロジェクトに情報を提供できるでしょう。

2025/12/14 6:18
I tried Gleam for Advent of Code

I tried Gleam for Advent of Code

## Japanese Translation: **改訂サマリー:** 著者は、7 年連続で Advent of Code のすべてのチャレンジを解決した経験を語り、2025 年に Gleam を選んだ理由を説明しています。彼らは 2025 年が 12 日(24 部)に短縮されたことにも触れています。Gleam のクリーンな構文、便利なコンパイラ診断、`echo` や `dict.get` などの組み込みヘルパー、関数型スタイル、スムーズな言語サーバーが効率的で楽しい体験に貢献しました。しかし、標準ライブラリにはファイル I/O と正規表現がなく、外部依存 (`simplifile`、`gleam_regexp`) が必要です。また、パターンマッチは中間要素と末尾要素を同時に持つリストを分解できず、一部の解析戦略に制限がありました。著者はまた、すべてのターゲットで統一された大整数処理を望んでいます。これらの長所と短所を強調することで、他の Advent of Code 参加者や開発者に Gleam を試し、その成長するエコシステムに貢献してもらうことを期待しています。

2025/12/14 2:00
I fed 24 years of my blog posts to a Markov model

I fed 24 years of my blog posts to a Markov model

## Japanese Translation: この記事では、GitHub(github.com/susam/mvs)にホストされている「Mark V. Shaney Junior」という30行程度の小さなPythonプログラムを紹介しています。これはシンプルさを優先した軽量マルコフテキストジェネレータで、速度や精度よりも簡潔さを重視しています。コードはデフォルトで三項モデル(順序 2)を使用しますが、コマンドラインオプションで順序を変更できるようになっており、順序が高くなるほど出力は少しずつ一貫性が増します。一方、順序 5になると著者自身のブログ投稿を逐語的に引用する傾向があり、結果として乾燥した文章になります。 学習データは作者の24年間分のブログ記事(約20万語)で構成されており、意図的に500件のコメント(約4万語)は除外されています。READMEに掲載されている例出力は、コーパスの200語サブセットと全24年分を用いて生成したものです。ジェネレータは初期プロンプトを受け取ることができ、例えば `./mvs 2 100 'Finally we' < susam.txt` のように実行すると100語程度のサンプルが作られます。 著者はマルコフ連鎖は現代の大規模言語モデル(LLM)と比べて長距離の文脈を持たないことを指摘しています。このプロジェクトは同名の1980年代プログラムに触発され、作者が探索的スクリプトをディスク上に保持し、それらをGitHubとCodebergの両方でリポジトリとして公開する習慣を反映しています。各リポジトリには README.md と CHANGES.md が付属しています。生成されるゴブストは作者自身の投稿から抜粋されたフラグメント(例: 「Lisp source file」や「self‑esteem」)を含むことが多いです。その制約にもかかわらず、最小限の実装であるため、重いリソースを必要とせずに言語モデリングを試したいホビイストや教育者にとってアクセスしやすい入門点となります。

2025/12/14 5:19
Using E-Ink tablet as monitor for Linux

Using E-Ink tablet as monitor for Linux

## Japanese Translation: **記事では、Androidのe‑inkタブレット(Onyx BOOX Air 2)を低消費電力のセカンドモニターに変える方法を紹介しています。作者はまずDeskreenを試しましたが、古いデバイスでの高遅延とストリーミング品質の悪さから使えないと判断し、VNCへ切り替えました。TigerVNC(`sudo pacman -Sy tigervnc`)をインストール後、`vncpasswd` で VNC パスワードを作成し、`$XDG_CONFIG_HOME/tigervnc/passwd`(権限 0600)に保存します。そして `/etc/tigervnc/vncserver.users` にユーザーマッピングを設定。最小構成ファイル `$XDG_CONFIG_HOME/tigervnc/config` では `session=i3`、`geometry=1400x1050+0+0`、`FrameRate=30`、`localhost`、`alwaysshared` を指定しています。VNC サーバは次のオプションで `x0vncserver` を起動します ``` -PasswordFile … -Geometry 1400x1050+0+0 -FrameRate 30 -AlwaysShared \ - SendCutText=false -SendPrimary=false -AcceptCutText=false ``` ポート 5900 で実行。シェルスクリプトは `xrandr` を使って e‑ink ディスプレイを追加出力に設定し、VNC セッションを開始します。このスクリプトは rofi ランチャーから素早く起動できます。また、作者は高コントラストの Neovim テーマ(例: “shine” や `background=light`)が e‑ink 画面でうまく機能することを指摘しています。この構成により、安価な e‑ink タブレットを低消費電力のセカンドディスプレイとして再利用でき、軽量 VNC が非従来型 Linux 周辺機器にも使えることが示されています。

2025/12/09 23:10
Cat Gap

Cat Gap

## 日本語訳: (欠落しているポイントを組み込む) この記事では、北米が約1,000万年前の「猫ギャップ」(≈ 25–18.5 Ma)を経験したと説明しています。この期間は、化石記録に真のネコ科動物(フェリド)や猫型捕食者がほとんど現れなかった時期です。ニムラビダ(偽サーベルタイガー)は約26 Maまで支配し、その後消滅したため、空白を犬形目が埋めました。気候の冷却と森林からサバンナへの変化、27 Ma前のフィッシュキャニオン事件などの火山噴火が、この絶滅波の主因として挙げられています。グリーンランド–スコットランドリッジの沈下により北大西洋へ寒冷な極水が流入し、これらの気候変動を増幅しました。このギャップの間、小型のハイパーキャルニバーロウ(例:パレンヒドロシオン、エンヒドロシオン、メソサイオン)が進化しましたが、フェリドが到着した後は存続しませんでした。フェリドは約18.5 Maにベーリング陸橋を通じて入ってきたペスダイルルス系統から来ており、現代のすべてのネコ科はその系統に由来します。後期新世氷期(≈ 33.9 Ma開始)はさらに捕食者コミュニティを再編成し、犬形目にはより適した環境を、猫形目には不利な環境を作りました。化石データは28–20 Maの間に高い絶滅率が見られ、約18 Maで起源率が急上昇しています。これらのパターンは、大規模な気候または火山ショックが捕食者グループ間の優位性を変動させる可能性を示唆しており、こうした古代イベントを研究することで現代の捕食者が急速な環境変化にどう反応するかを予測しやすくなると述べています。

2025/12/10 13:09
VPN location claims don't match real traffic exits

VPN location claims don't match real traffic exits

## Japanese Translation: IPinfo の大規模テスト(20 つの人気 VPN サービス)で、広範な問題が判明しました。ほとんどのプロバイダーは実際にサポートしている国よりも多くの出口国をリストアップし、ユーザーにトラフィックが表示される場所について誤解を与えていました。この調査では、137 か国可能性にわたる 150,000 以上の出口 IP アドレスを検証し、ProbeNet の 1,200 以上のグローバルポイントからのアクティブラウンドトリップタイム測定を用いて各 VPN の実際の出口国を決定しました。結果は、20 サービス中 17 件が広告されている国と異なる国からトラフィックをルーティングしていたこと、また複数プロバイダーで報告された 38 の「仮想のみ」ロケーションは実際には出口を生成しなかったことを示しています。Mullvad、IVPN、Windscribe のみが主張したすべての場所と一致しました。バハマでは 5 つの VPN がバハマ出入口をリストアップしていたものの、すべて米国へルーティングされました;ソマリアでは 2 つのプロバイダーが同じ主張をしたにもかかわらず、実際にはフランスまたは英国から出口しました。736 の IP を対象に ProbeNet が測定した国と従来データセットとの不一致は 83 % に上り、平均誤差は約 3,100 km、8,000 km 超の不一致が 12 % でした。著者らは「100+ 国」主張は検証されない限りマーケティングとみなすべきであり、VPN は実際のルーティング経路を開示し、地理的到達範囲の証拠を提供するよう促しています。これにより将来の評価は自己申告データではなくアクティブ測定に依存できるようになります。

2025/12/14 4:46
The Rise of Computer Games, Part I: Adventure

The Rise of Computer Games, Part I: Adventure

## Japanese Translation: 初期のパーソナルコンピュータゲームは、友人同士で共有される趣味プロジェクトとして始まり、次第に技術と文化を形作る成長する商業セクターへと発展しました。1970年代半ばにはハビオリストが紙やカセットテープで簡単なプログラムを交換していましたが、1980年になるとApple IIのカタログに265タイトルが掲載され、その約2/3(≈176)がゲームでした。配布は非公式で、人々は自分でファイルをコピーし、BASICコードを雑誌に掲載したり、タイプインリストを郵送したりしていました。これらのタイプインは数百行程度に限られ、主にデモや学習ツールとして機能しました。 重要なマイルストーンには、1975年にPDP‑10上で公開された*Adventure*(後にARPANET経由で配布)や、1979年にTRS‑80用にリリースされたScott Adamsの*A​dventureland*があり、郵便注文で2,495円($24.95)で数千本販売されました。Infocomの1977–78年のZorkシリーズはインタラクティブ・フィクションの業界標準を確立し、最終的に15万部以上を売り上げました。Sierra On‑Lineの1980年リリース*Mystery House*は初のグラフィカルアドベンチャーで、会社設立に寄与する程度の売上を記録しました。さらに、1984年にはKing’s Questシリーズが50万本以上を販売し、プレイヤーの約35–40%が女性でした。 これらの初期実践―ピア共有・タイプインコード・郵便注文販売―は、現代のゲーム配信エコシステムの基盤となりました。商業リリースはゲームが収益性を持つことを証明し、大手企業が投資する動機を高めました。また、女性ゲーマーの増加はより包括的な産業へと先行き示し、今日のビデオゲーム市場形成に寄与しました。

2025/12/14 5:19
Why Twilio Segment moved from microservices back to a monolith

Why Twilio Segment moved from microservices back to a monolith

## Japanese Translation: ## Summary Twilio Segment のマイクロサービス戦略は速度を重視して始まりましたが、最終的には複雑さに絡み合いチームの作業を遅らせる結果となりました。 Segment は毎秒数十万件のイベントを取り込み、Google Analytics や Optimizely、カスタム Webhook など 100 件以上のサーバー側宛先へ転送します。最初の設計では、新しいイベントメッセージと再試行の両方が混在する単一共有キューを使用しており、1 つの失敗がパイプライン全体を停止させ、下流処理を止めてしまいました。 この問題に対処すべく、チームは宛先ロジックを別々のリポジトリへ分割しモジュール性を高める実験を行いましたが、脆弱なテストが全ての宛先で失敗を引き起こしたため、再び単一リポジトリ構成に戻すことになりました。さらに 50 件以上の新しい宛先を追加すると問題は悪化しました。 現在の計画では、各宛先を独自のサービスと専用キューで分離し、ボトルネックを一つ除去して耐障害性を向上させます。期待される成果はスループットの向上、下流遅延の低減、および Segment 顧客に対するイベント処理体験の信頼性向上です。

2025/12/14 5:30
llamafile: Distribute and Run LLMs with a Single File

llamafile: Distribute and Run LLMs with a Single File

## Japanese Translation: **概要:** Mozilla.ai は **llamafile** をリリースしました。これは、開発者が何もインストールせずにオープンソースの大規模言語モデルをローカルで実行できる単一ファイルの実行可能ファイルです。 **llama.cpp** とクロスプラットフォームの Cosmopolitan Libc を組み合わせて、 llamafile は簡単に実行できるバイナリを生成し、自動的にブラウザを起動します。また、 `curl | chmod +x` のようなシンプルなコマンドで起動できます。クイックスタート例では、LLaVA 1.5 7B モデルのダウンロード方法、実行可能ファイルへの変換、および(Windows では) `.exe` にリネームする手順を示しています。プロジェクトのドキュメントは `docs/` フォルダーまたは mozilla‑ai.github.io/llamafile で入手でき、クイックスタート、サポート対象システム、例となる llamafiles、 llamafile の作成方法、ソースインストール、技術的詳細、セキュリティ、およびトラブルシューティングを網羅しています。 llamafile は Apache 2.0 ライセンスで提供され、 llama.cpp への変更は上流との互換性維持のため MIT ライセンスのままです。プロジェクトのロゴは DALL·E 3 によって生成されています。今後のリリースではさらに多くのモデル例が追加されるとともに、プラットフォームサポートが拡大し、単一ファイル・ノーインストールという哲学を維持する予定です。このシンプルなデプロイメントは開発者とエンドユーザーのハードルを下げ、エッジや制約付きデバイスでの高速実験と軽量推論を可能にし、企業が本番環境で LLM を展開する方法に影響を与える可能性があります。

2025/12/14 4:22
Useful patterns for building HTML tools

Useful patterns for building HTML tools

## Japanese Translation: 改善された要約 著者は、HTML、JavaScript、および CSS をすべて 1 ファイルにまとめた 150 件以上のシングルファイル HTML ツールを作成しています。コードは主に大規模言語モデルによって生成され、その後 Playwright でテストし、GitHub Pages に公開してビルドステップやフレームワークなしでブラウザ上で完全に動作させています。典型的なパターンとしては、CDN(CDNjs、jsDelivr)からライブラリを取得し、URL や localStorage に状態を保存し、JavaScript で「ダウンロード」ボタンを提供する方法があります。人気の例には **svg‑render**、**pypi‑changelog**、**bluesky‑thread**、**paste‑rich‑text**、**alt‑text‑extractor**、**clipboard‑viewer**、**cors‑fetch**、**icon‑editor**、**word‑counter**、**render‑markdown**、**haiku** などがあります。より複雑なプロジェクトでは、著者は Claude Code や Codex CLI のようなコーディングエージェントを使用し、Playwright テストを実行して GitHub にプルリクエストで変更をプッシュします。LLM API(OpenAI、Anthropic、Gemini)はツールから直接呼び出すことができ、API キーは localStorage に保存されているためページソースに露出しません。ツールはまた、<input type="file">、PDF.js、Tesseract.js、および Pyodide、Squoosh、sloccount などの WebAssembly モジュールを使用してサーバーなしでファイル入力を処理し、OCR、画像圧縮、ブラウザ内で Python や C コードを実行します。一部のツールはリッチクリップボード API を利用した「コピー」ボタンを公開し、モバイルでもうまく機能します。これらすべてが軽量でコピー&ペースト準備済みのワークフローを示しており、開発者が重いツールなしで迅速にプロトタイピングできることを実証し、ブラウザのみで動作する Web アプリの構築と共有方法を示しています

2025/12/11 6:08
Awesome-Jj: Jujutsu Things

Awesome-Jj: Jujutsu Things

## Japanese Translation: ## Summary このページは、Git と互換性のあるバージョン管理システム **Jujutsu (jj)** のすべての必須学習資料・ツール・コミュニティリンクを集約した集中ハブです。 公式チュートリアルや、Steve Klabnik の *“Jujutsu For Busy Devs”*、「Jujutsu for everyone」、および「Jujutsu VCS Introduction and Patterns」などのサードパーティガイドが掲載されています。「why i think jj‑vcs is worth your time」「I see a future in jj」「jj init」といったブログ記事や、 *JJ Con 2025* プレイリスト・GitButler の *“Jujutsu Megamerges & Git History Preview”* などの動画資料も含まれます。 ページではツール統合も紹介しています:GUI の `gg`、TUI ツールの `jjui` と `lazyjj`、VS Code 用拡張機能 `Jujutsu Kaizen`、JetBrains IDE 用プラグイン `Selvejj` などです。コミュニティリンクは Libera Chat の IRC チャンネル #jujutsu および Discord サーバーを指しています。 貢献は歓迎されます。ユーザーは issue や pull request を開いて新しいリソースを追加し、エコシステムの成長に合わせてリストを最新状態に保つことができます。 これらのリソースを一箇所に集めることで、学習曲線を低減し、Git に固執している開発者にも jj の採用を促進します。コミュニティが拡大するにつれて、より多くのチュートリアルや更新されたツール統合、ベストプラクティスを共有するユーザー間のネットワークが強化されると期待できます。

2025/12/14 10:10
Cryptids

Cryptids

## Japanese Translation: 記事では **Cryptids** と呼ばれる新しいチューリング機械のファミリーを紹介しています。これらは *最小*(BB(n,m) クラス内で既知のより小さいマシンが存在しない)で、空白テープ上で単純なコラッツ類似ルールに従い、停止問題が数学的に難しいという特徴があります。 2023年10月にショーン・リゴクキーによって「Big Foot」として初めて発表され、その後、Hydra、Antihydra、Lucy’s Moonlight など複数の最小 Cryptid が BB(n,m) 表記で登録されています。多くは **“Probviously halting”** または **“Probviously non‑halting”** とラベル付けされており、これはコミュニティによるヒューリスティック評価です。 いくつかの Cryptid は主要な公設命題を符号化するように *構築* されています: | 構築された Cryptid | BB コード | 符号化されている命題 | |--------------------|-----------|----------------------| | ZF (BB 432) | `…` | ゼルメロ–フラネッカー集合論(不整合) | | RH (Riemann H.) | **‑** | リーマン予想 – 予想が偽であれば停止 | | Goldbach (Goldb.) | **‑** | ゴールドバッチの予想 – 予想が偽なら停止 | | Erdős (Erd. 5,4 / 15) | **‑** | エルデシュ「n>8 のとき、2ⁿ の3進表記に 2 が現れる」 | | Weak Collatz (BB 124/43 – 4) | **‑** | 弱コラッツ予想 | コミュニティは体系的探索や意図的設計を通じてさらに多くの Cryptid を発見することを期待しており、これにより計算難易度と未解決数学問題との結びつきが強化されます。 これらのマシンは理論とシミュレーションツールに対する挑戦的なテストケースを提供します。

2025/12/06 20:48
Go Proposal: Secret Mode

Go Proposal: Secret Mode

## Japanese Translation: Go 1.26 では、関数が終了した際に自動的にメモリを消去し、暗号学的シークレットが RAM に残るのを防ぐ実験的ランタイムパッケージ **`secret`** を導入しました。 `secret.Do` でコードをラップすると、その関数がパニックしたり `runtime.Goexit` で終了しても、CPU レジスタ、スタックフレーム、ヒープ割り当てをクリアします。この機能は AMD64 と ARM64 アーキテクチャの Linux のみで利用可能で、ビルドフラグ **`GOEXPERIMENT=runtimesecret`** を有効にする必要があります。 `secret.Do` は通常終了でもパニックしても関数から戻る前にレジスタとスタックを消去しますが、ヒープ割り当てはガベージコレクタが参照を削除し実際に走った後でのみクリアされるため、タイミングは非決定的です。ラップされた関数によって書き込まれたグローバル変数は保護されず、`f` 内でゴルーチンを起動するとパニックします。 この実験的パッケージは、暗号ライブラリがフォワードシークレシーを自動化し、メモリダンプによるキー漏洩を減らす手段を提供しますが、プラットフォームサポートの限定性と GC の帳簿情報漏れの可能性により、万能な解決策ではありません。将来の Go リリースでプラットフォーム対応や消去タイミングの調整が拡張される可能性があります

2025/12/10 6:10
Free Software Awards Winners Announced: Andy Wingo, Alx Sa, Govdirectory

Free Software Awards Winners Announced: Andy Wingo, Alx Sa, Govdirectory

## Japanese Translation: **要約:** 2025年12月9日、フリーソフトウェア財団(FSF)は2024年度のフリーソフトウェア賞を発表しました。3名が受賞しました。 - **Andy Wingo** – フリーソフトウェア推進賞。GNU Guile と GNU Linux カーネルのネットワーキングスタック(GNU Guix のコア)に関する業績で認められました。 - **Alx Sa** – 新進気鋭フリーソフトウェア寄稿者賞。GNU Image Manipulation Program (GIMP) への貢献が評価されました。 - **Govdirectory** – 社会的利益プロジェクト賞。政府連絡先情報を協力して検証し、オープンソースライセンスの下で自由に利用できるリストを提供し、四つの自由を推進し誤情報と闘うことが評価されました。 1985年設立でマサチューセッツ州から遠隔運営されているFSFは、主サイト fsf.org と donate.fsf.org を運営しています。来年初めに受賞者を紹介する追加イベントを計画しています。メディア連絡先:Greg Farough(キャンペーンマネージャー)電話 +1 (617) 542‑5942、メール campaigns@fsf.org。 これらのプロジェクトを公に称えることで、FSF は可視性を高め、フリーソフトウェアの普及を促進し、オープンソース原則の擁護者としての役割を強化することを目指しています。

2025/12/14 10:19
Some surprising things about DuckDuckGo

Some surprising things about DuckDuckGo

## Japanese Translation: DuckDuckGo(2008年設立)は、独自の検索インフラを構築しプライバシーを強調することでニッチブランドから認知度の高い名前へ成長しました。会社は現在までに594個以上のイースターエッグロゴ(既に504個が確認済み)を運営しており、Search Assistや新興サービスDuck.aiを支えるナレッジグラフを含む複数の独自インデックスを保有しています。2018年にはiOSとAndroid向けモバイルブラウザを、2022–23年にMac/Windows用デスクトップブラウザをリリースしました。市場シェアは依然として小規模ですが増加傾向にあり(iOSで約3%、macOSで4%、Androidで3%)、duck.comドメインの所有によりGoogleから独立していることが示されています。このサービスは2014年以降中国でブロックされており、インドネシアとインドでは断続的に検閲されています。拡大するウェブインデックスは将来的にAI駆動の検索機能を導入する可能性を示唆しています。ユーザーにとってはプライバシー重視のブラウジングが提供され、競合他社には同様のプライバシーオプションを追加させる圧力となり得ます。その結果、DuckDuckGoは広範な検索エンジンエコシステムに影響を与える代替プラットフォームとして位置付けられるでしょう。

2025/12/14 6:57
From Azure Functions to FreeBSD

From Azure Functions to FreeBSD

## Japanese Translation: 著者は、Rust ベースの Web サービス(EndBASIC、EndTRACKER、および今後リリース予定の ZFS‑auto‑unlock サービス)を Azure Functions から自己ホスト型 FreeBSD 14.x サーバへ移行した理由を説明しています。 Azure の Flex Consumption プランは 2028 年 9 月 30 日に終了し、3 つすべてのアプリで使用されていたフリーティアも廃止予定です。また、カスタム Rust ハンドラをサポートしていませんでした。著者は GitHub Actions CI/CD を利用してサービスを Rust バイナリとして実行していました。 感謝祭の日に発生した Azure Functions ランタイムの障害と、Microsoft SQL Server サーバーレスで TLS がサポートされていない(`sqlx` コネクタがアップストリームでパッチできなかった)問題により PostgreSQL への切替えを余儀なくされました。PostgreSQL に移行する際、著者は「開発専用」の $600 超のオプションではなく、月額 $15 のインスタンスを選択しました。 新しいデプロイメントは、著者のガレージにある 2×36 コア Xeon E5‑2697 FreeBSD サーバ(64 GB RAM、2 TB NVMe + 4×4 TB HDD)で稼働しています。Rust バイナリは `daemon(8)` を使って PID ファイルを管理し、ログローテーション(`-H` フラグ)、非特権実行、および `/usr/local/etc/endbasic.conf` での設定を行います。ログローテーションは FreeBSD の `newsyslog(8)` を利用しており、ログをリネームした後に SIGHUP が必要です。 TLS 終端は Cloudflare Tunnels により処理され、CORS ヘッダーはサーバ側ではなく Cloudflare 上で AI 生成の変換ルールを使って設定します。 移行後、著者はパフォーマンスが向上し Azure の課金が発生せず(電気代のみ)、ただし HA、スロットデプロイメント、およびプッシュデプロイ自動化を Azure が提供していたものと同等に再実装する必要があります。 ユーザー側ではサービスの信頼性とコスト削減が期待でき、企業側では自己ホスティングで費用を抑えられることは示されますが、HA、バックアップ、およびデプロイメントツールの管理を自前で行う必要があります。

2025/12/08 17:02
Flat-pack washing machine spins a fairer future

Flat-pack washing machine spins a fairer future

## Japanese Translation: Navjot Sawhney の洗濯機プロジェクト(TWMP)は、手動クランク式洗濯機を提供し、遠隔地や資源が限られた地域で洗濯時間を最大75%短縮し、水使用量を半減します。改良された Divya 機は、外側ドラムに手動クランクを設置し、内側ドラムを回転させることで30分サイクルを実現しています。この機種は13か国へ約500台が出荷され、約5万人の人々に恩恵をもたらしています。ユーザーからのフィードバックを受けて、金属フレームを強化し、ワークフローを簡素化し、シール性能を向上させることで、機械の現地修理が容易になりました。TWMP は女性の手洗い負担を観察したことから始まり、その後ウガンダ・ビクトリア湖にある島など、アクセスが困難な場所へも適応されました。NGO、国連機関、地域コミュニティ、および Whirlpool Foundation とのパートナーシップで、流通、トレーニング、教育を支援しています。新しい製造ラインは2026年初頭にインドで開始され、ユーザーに近い場所での生産が可能になります。このプロジェクトは、低技術ソリューションの組立・配布・訓練・教育を行う「ハブ」を通じて、2030 年までに 100 万人の利用者に到達することを目指しています。洗濯アクセスを WASH(水・衛生・清潔)およびジェンダー平等プログラムと統合することで、TWMP は NGO、国連機関、および家電業界が未開発市場で同様の持続可能な技術を採用するよう促し、最終的には家庭を支援しコミュニティインフラを強化することを期待しています。

2025/12/14 7:38
Dhtml Lemmings (2004)

Dhtml Lemmings (2004)

## Japanese Translation: **改善された要約** メッセージは、現在使用しているブラウザがフレームをサポートしていないことを示しています。フレームが非対応のため、それに依存するサイトは正しく表示されません。そのようなサイトを閲覧したい場合は、モダンブラウザへ切り替えるか、別の方法でコンテンツにアクセスしてください。

2025/12/08 23:50
What is the nicest thing a stranger has ever done for you?

What is the nicest thing a stranger has ever done for you?

## Japanese Translation: (すべての検証済み事実をまとめる)** 筆者は、9月に長く直線的な道路を走行中に約25年前に起きた激しい自転車事故を思い出します。スプリント中にチェーンが外れ、ハンドルを越えて飛び、舗装路へ強く着地しました。意識は一瞬失われ、肩に深刻な痛みと広範囲の道路擦傷を負い、後に鎖骨を裂きました。 近くの救急室医師が落ち着いて911に電話し、医療バッグから創傷を清潔に処置。筆者の自宅電話番号を尋ねて妻へ連絡できるようにし、パラメディックが到着するまでそばに居続けました。医師の説明を受けた後、EMT が介護を引き継ぎ、ディラウジド(Dilaudid)、テガダーム包帯、そして鎖骨破裂を示すX線検査を行いました。 この事故は筆者が経験した多くの自転車事故の中で最悪でした。筆者は、この親切な行為と、見知らぬ人や家族から受けた他の小さなジェスチャーが今も彼の視点を形成していると振り返ります。娘は看護師で頻繁に立ち寄って助ける(「私はYMCA会員だ」と冗談を言う)ことを述べ、2,186マイルのハネムーンハイキングで雨を越えて新しいジャージーへヒッチホッキングし、見知らぬ人に助けられたエピソードを思い出します。 コネチカットでは、男性が彼らに1,000円(米国ドル100ドル)紙幣を渡し、マウント・グレイロックのレストランで夕食を招待しました。バージニア州ではハイキング中に蛾が妻の耳に着いた;数マイル後、30 マイル離れた救急外来へ搬送されました。 記事は感謝のハッシュタグとメンタルヘルス意識を強調し、筆者が日常生活での「心‑立ち上げ」(エンパシー)に対して好ましいことを示すつもりです。

2025/12/12 4:28
Using Python for Scripting

Using Python for Scripting

## Japanese Translation: ## 要約 この記事では、`readlink`、`find`、`xargs`、`date`、`sed` などの GNU 固有ツールに依存するシェルスクリプトが、BSD バリアントでオプションが欠落または変更されているため macOS 上でしばしば動作しなくなる理由を説明しています。例として Bash スクリプトを挙げ、macOS で実行すると典型的なビルドヘルパーが失敗する様子を示し、著者はクロスプラットフォームの信頼性を確保するために Python への移行を推奨しています。 Python 3 はほぼすべての現代マシンに標準で搭載されており、CPython の標準ライブラリ(JSON、XML、HTTP クライアント、時間型、データ構造、sqlite3 など)がビルド自動化タスクに必要な機能をすべて備えています。記事では PEP 387 が五年間の後方互換性を保証していると指摘し、今日書かれたコードは将来もそのまま実行できることを示しています。また `warnings.simplefilter("default", DeprecationWarning)` を使って `datetime.utcnow()` から `datetime.now(timezone.utc)` への置き換えなどの非推奨警告を表示する方法も紹介しています。 投稿は、配列構文(`@`)の欠如、誤った引用符、`${s^^}` のようなケース変換といった Bash 特有のクォリティをハイライトし、Python の読みやすいメソッド(例:`s.upper()`、リスト内包表記)がこれらの落とし穴を回避できることを説明しています。10〜20 行程度の小さなスクリプトは Bash で残せますが、大規模または理解しにくいスクリプトは Python に変換すると、チーム全体で一貫したプラットフォーム非依存コードになり、ビルドパイプライン上のバグを減らすことができます。 この記事はノルウェー語で書かれ、Kodemaker のブログに掲載されました。

2025/12/08 17:52
Photographer built a medium-format rangefinder

Photographer built a medium-format rangefinder

## Japanese Translation: ## Summary アルバート・コーネリッセンは、自身のオープンソース中判レンズファインダーカメラ「MRF2」の製造を完了し、在庫が売り切れました。価格は1,156ドルで、完全に組み立てられたユニットはもう入手できませんが、設計図・ファームウェア・組立説明書・3Dプリント部品はすべてGitHubに無料公開されており、誰でも自作できます。カメラはマミヤ・プレスレンズマウントを採用し、LiDAR搭載のオートフォーカス、独自設計のPCB、二重OLEDディスプレイ、および露出・バッテリーレベル・フォーマット情報を表示する外部ディスプレイを備えています。内蔵ライトメーターと水平指示器も装備しています。サポートされるフィルムサイズは35 mmパノラマに加えて、6×4.5、6×6、6×7、および6×9です。コーネリッセンの作品は、マリオ氏のSPRKPLGやオスカー・オウエソン氏のPanomicronといった以前のメーカープロジェクトを踏襲しており、彼はポラロイド・パトフインダーカメラ用に3Dプリント部品も制作しています。組み立てはプラグアンドプレイで最小限のハンダ付けのみで済むよう設計されていますが、電子機器部分が主な課題です。ビルダーは彼のYouTubeチュートリアルを参照し、Instagramまたはウェブサイト経由でサポートを受けられます。需要が増えればさらにユニットが入手可能になると示唆しています。設計をオープンに公開することで、コーネリッセンはホビイストや小規模メーカーに中判写真への低コストパスを提供しています。

2025/12/07 7:29
First all-optical XPU processing system

First all-optical XPU processing system

## Japanese Translation: アケトニクスは、世界初の全光学XPUを開発しています。これはデータを計算中も光形式で保持し、極低消費電力と高性能なAI・コンピューティングを実現するクロスドメインプロセッサです。独自のフォトニック設計ツールと完全に光学的制御フローを用いることで、チップ内部で光子が電子へ変換されることはなく、テラヘルツ級の高速切替、ほぼ無損失な波導伝送、低レイテンシーを可能にします。XPUは完全に欧州調達チェーンで製造され、オプティカルデジタル・アナログ・量子機能を一つの基板上に統合しています。コード用の専用リードオンリー光学非揮発メモリ、大規模データセット用のグローバル光学メモリ、そして揮発性データ用の**光学ローカルスタックメモリ**を備えています。RFU(特化型光学アクセラレータ)はXPU制御下で動的に組み合わせることができ、メモリ・ネットワーク・処理ユニット間の情報フローを管理します。光マルチプレクシングにより、1本のファイバーあたりペタビットレベルまで帯域幅を拡張可能です。この結果、AI、ネットワーキング、高性能コンピューティングにおいて低消費電力・高速化・強固なセキュリティが実現し、産業界に光学プロセッサの新しいパラダイムを提供します。

2025/12/14 7:44