Flat-pack washing machine spins a fairer future

2025/12/14 7:38

Flat-pack washing machine spins a fairer future

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

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

本文

ダイソン元社員が、貧困地域の家庭仕事を一変させる革新を発表しました。
彼はオフグリッド・折りたたみ可能な洗濯機「Divya」を開発し、今では13カ国(メキシコ、ガーナ、イラク、米国など)へ約500台を届けています。


背景

遠隔地や途上国の約50億人がまだ手洗いで衣類を洗っています。
女性と少女は週に最大20時間もの時間を費やすこともあります。


「Divya」洗濯機とは

外側ドラムと内側ドラム(回転式)が組み合わさった構造で、30分の洗浄サイクルを実現。
5 kgの荷物に対しては、数分間手で回すだけで完了します。

操作方法

  1. 洗濯物+洗剤・水を入れ、10–15 分待つ。
  2. 蓋を閉めてハンドルを2分間回す。
  3. さらに10分休止し、もう一度2分間回す(これを2セット)。
  4. 前面の蛇口で排水。

この手順により、従来の方法と比べて最大75 %の時間短縮と、水使用量が半減します。
サウハニー氏は「エネルギーを要する作業を簡素化し、管理しやすく、時間を節約できる」と語ります。


開発プロセス

開発は完成で終わりではありません。
ラウラ・タック(R&Dリード)は、「設計対象者の声に耳を傾け、生活環境を深掘りした結果、全てが変わった」と述べています。

重要なポイント

  • 適応性:ウガンダでは湖ビクトリア島へ漁船で届けたため、メンテナンスが難しい。
    そのため、元の複雑なギア構造を簡素化し、現地で修理できる設計に改良しました。
  • 実践的改善:ユーザーからのワークショップ・フォーカスグループのフィードバックを反映し、金属フレームの強化、作業フローの簡素化、シールとタップの性能向上を行いました。

現状と展望

  • すでに約5万名に影響を与えています。
  • 2030年までに100万人への普及を目指していますが、NGO・国連機関・地方自治体などと協力する必要があります。
  • 2026年初頭からはインドで「新世代」洗濯機のローカル製造を開始予定です。
  • 「ハブ」を設置し、組み立て・配布に加えてトレーニングやワークショップも実施。これにより、Divyaによる時間短縮効果がさらに広がります。

政策提言

水・衛生・H&E・ジェンダー平等と連携した総合的なアプローチを推進し、洗濯機へのアクセス拡大を図ります。


ご協力ください

Positive News はクリックや広告収入に頼らず、皆さまの支援で社会貢献できる報道を目指します。

  • 1ポンド£1から寄付いただけます。
  • さらに、月額平均3 ポンド以上の寄付者(1,700人以上)がいます。

一緒に、解決策と進歩・ポジティブな変化を提示するメディアを作りましょう。

Positive News を支援してください

同じ日のほかのニュース

一覧に戻る →

2025/12/14 7:58

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 9:34

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 8:39

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 下でも安全に機能し、グローバル変数を使わずにウィンドウごとのデータを付与する低レベルの手段を示しています。