**Undroidwish** – 複数プラットフォーム向けにバッテリー込みのシングルファイルTcl/Tk実行ファイル

2026/03/29 1:49

**Undroidwish** – 複数プラットフォーム向けにバッテリー込みのシングルファイルTcl/Tk実行ファイル

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

要約

日本語訳:

undroidwish は、Windows、Linux、macOS、Haiku、Android(Termux)およびさまざまな Unix ライクシステム全体で最大限のポータビリティを実現する単一ファイルの Tcl/Tk バイナリです。

  • Windows
    undroidwish.exe
    はレジストリに触れない携帯可能アプリで、潜在的なリスクについてユーザーへ警告します。
  • ビルドとプラットフォーム:32 ビットおよび 64 ビット Windows、Intel Linux 用のバイナリが提供されており、Debian ARM(Raspberry Pi、Beaglebone)で構築可能です。プロジェクトには Wayland 用ビルドスクリプトも含まれており、Fedora 26–29、Debian 9「Stretch」、CentOS 7.5 で KMSDRM SDL2 ドライバを用いてディスプレイマネージャなしのコンソール操作がテストされています。FreeBSD‑11(x86)、OpenBSD‑6.2(amd64)、OpenIndiana Hipster、macOS El Capitan 10.11 および High Sierra 10.13、SDL2 ビデオドライバを使用した実験的 Haiku への部分サポートもあります。
  • Android:Termux は非 root 環境で undroidwish を実行できるようにし、Raspberry Pi では RPI SDL2 ドライバを用いてフレームバッファモードで動作します。
  • Web 出力:jsmpeg SDL ビデオドライバにより、「Eppur si muove」以降のリリースから Firefox、Safari、Chrome のウェブブラウザへ出力できます。
  • 同梱拡張機能とスクリプト:実行ファイルには tkpath、tktreectrl、tkimg、Canvas3D、tcllib、tksqlite、bwidgets などの多数の Batteries‑Included Tcl/Tk 拡張機能がバンドルされており、
    builtin:<path>
    構文でアクセスできるデモスクリプトコレクションも含まれています。例としてはウィジェットデモ、tksqlite フロントエンド、tkpath tiger デモ、Canvas3D デモなどがあり、完全なスクリプトカタログにリストされています。
  • 将来の計画:次期リリースでは特に Wayland でのプラットフォームサポートを拡大し、ビルドスクリプトを改良し、組み込みスクリプトを追加または更新して、デスクトップ、組み込みデバイス、およびモバイル環境全体で完全なポータビリティを維持することを目指します。

この概要はすべての主要ポイントを網羅し、根拠のない推測を避けつつ読者に明確かつ簡潔な概観を提供しています。

本文

実験版
これは Windows(32 bit、64 bit オプション)と Linux 用の単一ファイル Tcl/Tk バイナリであり、AndroWish ソースツリーから ZIP 仮想ファイルシステムや SDL/AGG/freetype ベースの X11 エミュレーション(描画用)を取り込んだものです。現在は概念実証段階ですが、将来的には「フルーティ」スマートフォンプラットフォームでも動作できるよう拡張できます。

Windows・Linux など各環境向けのシェルスクリプトを実行してビルドします。32 bit と 64 bit Windows、および Intel Linux の既製バイナリはダウンロードページに掲載されています。また、Debian 系 ARM プラットフォーム(Raspberry Pi、Beaglebone 等)でも構築可能です。

警告

undroidwish.exe
はレジストリを書き込んだりシステムを変更したりしない Windows 32‑bit バイナリですが、実行は自己責任でお願いします。これは「計画外の余暇用クリック&ラン・エグゼクティブル」(CAREFUL) アプリです。Tk の X11 サーバーに見えますが、AGG/SDL2/freetype によるアンチエイリアス描画(線・円・フォント)が利用できます。ルートウィンドウはマウスホイール+Ctrl で滑らかにズームできます。


プラットフォーム対応

プラットフォーム備考
WaylandSDL2 Wayland ビデオドライバをサポート。Fedora 26‑29、Debian 9 “Stretch”、CentOS 7.5 でテスト済み。2018‑02‑16 バリアントはコンソール専用 KMSDRM ドライバ使用。
FreeBSD / OpenBSDLinux と同様。FreeBSD‑11(x86)と OpenBSD‑6.2(amd64)を部分的にテスト済み。
OpenIndiana Hipsterillumos/SunOS 5.11 ベース。FreeBSD 同様で、32‑bit 環境で部分的にテスト。
macOS2017‑09‑01 以降のアルファ版が利用可能。macOS 10.11(El Capitan)と 10.13(High Sierra)で部分的にテスト済み。
HaikuSDL2 ビデオドライバによる実験的サポート。
TermuxAndroid ターミナルエミュレータで X11 サーバーを提供し、スマホやタブレット上で Tcl と undroidwish を root なしで動作させます。
Raspberry PiSDL2 の RPI ドライバをフレームバッファモードで使用。最近の Debian 9(Raspbian)でビルド時にデフォルト有効化。
jsmpeg Video Driverundroidwish の表示を Web ページ(Firefox、Safari、Chrome)へ送る。2019‑06‑22 発表の “Eppur si muove” リリースからほぼ全 Linux・Windows・macOS バリアントで利用可能。

すべてのバリアントに、Batteries Included の高度な Tcl/Tk 拡張(

tkpath
tktreectrl
tkimg
、Canvas3D(OpenGL 2.x ドライバ必須))が含まれます。また、Tcl‑only 拡張として
tcllib
tksqlite
bwidgets
も同梱です。

SDL コマンドラインオプション(Beyond AndroWish で説明)は Tk ルートウィンドウのサイズやリサイズ可否を制御します。ランタイムコントロールは

sdltk
コマンドで行います。


ビルトインスクリプトの実行

ビルトインスクリプトは ZIP ファイルシステムに格納されています。コマンドラインでスクリプトパスを指定します:

undroidwish.exe builtin:sdl2tk8.6/demos/widget
undroidwish.exe builtin:tksqlite0.5.13/tksqlite.tcl
undroidwish.exe builtin:tkpath0.3.3/demos/tiger.tcl
undroidwish.exe builtin:Canvas3d1.2.4/demo/threads.tcl
undroidwish.exe builtin:Canvas3d1.2.4/demo/vr_chick.tcl

ショートカットが用意されています(下表参照)。POSIX 系では

builtin:
部分を名前にしたシンボリックリンクを作り、
/
-
に置き換えることで単一のシェルコマンドとして短縮できます。例:
ln -s … vanillawish
builtin:TDK/xref
が実行可能です。


ビルトインスクリプト表

スクリプト URL説明
builtin:widget
ウィジェットデモ
builtin:tksqlite
SQLite データベースのグラフィカルフロントエンド
builtin:imgdemo
サポートされる画像フォーマット
builtin:tkpdemo
TkPath デモ
builtin:3ddemo
Canvas3D デモ
builtin:tkcon
Tk コンソール
builtin:treectrl
ツリーヘッダーウィジェットデモ
builtin:tktable
テーブルウィジェットデモ
builtin:bugz
Tk_Bugz(Tcl'ers Wiki)をゲームパッドで操作可
builtin:tkchat
TkChat インスタントメッセージングアプリ
builtin:zint
ZINT バーコードジェネレータデモ
builtin:sdx
SDX ユーティリティ
builtin:dungfork
tcl‑augeas を用いた
/etc
ブラウザ(読み取り専用)
builtin:vncviewer
tkvnc を使ったシンプル VNC ビューア
builtin:notebook
Will Duquette の Notebook アプリ
builtin:tkmc
Tcl'ers Wiki からの Midnight Commander クローン
builtin:zinc-widget
Tkzinc デモ
builtin:tkinspect
他の実行中 Tk アプリを検査するツール
builtin:stardom
小規模 XML ブラウザ/エディタ
builtin:helpviewer
tkhtml ベースのヘルプファイルビューア
builtin:mpksc
mpexpr に基づく電卓
builtin:tixtour
tix ウィジェットデモ
builtin:tixwidgets
別の tix ウィジェットデモ
builtin:TDK/checker
vanillawish 専用:Tcl Dev Kit チェッカー
builtin:TDK/compiler
vanillawish 専用:Tcl Dev Kit コンパイラ
builtin:TDK/debugger
vanillawish 専用:Tcl Dev Kit デバッガ
builtin:TDK/inspector
vanillawish 専用:Tcl Dev Kit インスペクタ
builtin:TDK/tape
vanillawish 専用:Tcl Dev Kit テープ
builtin:TDK/tclapp
vanillawish 専用:Tcl Dev Kit tclapp
builtin:TDK/tclsvc
vanillawish 専用:Tcl Dev Kit tclsvc
builtin:TDK/vfse
vanillawish 専用:Tcl Dev Kit vfse
builtin:TDK/xref
vanillawish 専用:Tcl Dev Kit xref
builtin:tclline
vanillawish 専用(純 Tcl readline)
builtin:ased
vanillawish 専用(Linux/Windows):ASED Tcl/Tk IDE
builtin:vtcl
vanillawish 専用(Linux/Windows):Visual Tcl
builtin:cwsh
vanillatclsh 専用:Curses‑like Tk wish
builtin:mktclsh
vanillawish 専用(Windows):vanillatclsh の抽出
builtin:critcl
vanillawish (Linux):クリトクの簡易版
builtin:ckua
vanillatclsh 専用:テキストモード OPC/UA サーバ/ブラウザ
builtin:tdbcsh
vanillatclsh 専用:テキストモード TDBC フロントエンド
builtin:LUCK
vanillawish:LUCK ビルドシステム
builtin:lucktui
vanillatclsh 専用:テキストモード LUCK ビルドシステム/フロントエンド
builtin:tcled
vanillatclsh 専用:テキストモードエディタ
builtin:TSB
vanillawish:Taygete Scrap Book(Tcl'ers Wiki 参照)
builtin:fuse
バイナリの ZIP 内容を FUSE マウントでエクスポート
builtin:nagelfar
vanillawish 専用:静的構文チェッカー
builtin:dtplite
vanillatclsh 専用:ドキュメントプロセッサ
builtin:odbcsh
vanillatclsh 専用:tclodbc を使用した tdbcsh 類似
builtin:calc
Andy Goth の電卓
builtin:sockspy
vanillawish 専用:ソケットスパイ
builtin:TclDebugger
vanillawish 専用:TclPro からのデバッガコンポーネント
builtin:sqawk
vanillawish 専用:SQLite を使った D. Bohdan の awk 類似プログラム
builtin:scotty
vanillawish (Linux):SNMP サポート付きネットワーク管理
builtin:tkined
vanillawish (Linux):Scotty の Tk フロントエンド
builtin:dbg
vanillawish (Linux):GDB フロントエンド
builtin:tkpsql
PostgreSQL フロントエンド

同じ日のほかのニュース

一覧に戻る →

2026/03/29 2:39

GitLab の創業者は、会社を立ち上げることでがんと闘う

## Japanese Translation: **概要** 著者は、上部脊柱のT5椎骨に位置する腫瘍性骨肉腫との個人的な闘いを語ります。標準治療オプションを試みたものの適切な臨床試験が見つからない中で、著者は自身の状態に合わせた新しい診断手法と並行治療プロトコルを開発しました。また、「癌ジャーニーデッキ」と埋め込み型OpenAIフォーラムプレゼンテーションを作成し、この経験を記録しています。著者のアプローチはevenone.venturesに掲載されている企業によって支援され、さらにエリオット・ハーシュバーグによる著者の旅路についての包括的な記事や、ルクサンドラ氏が執筆した「The bureaucracy blocking the chance(機会を阻む官僚主義)」という患者優先医療実践を批判する作品も広い文脈に含まれます。治療データと詳細なタイムラインは、https://osteosarc.com/ で公開されており、データ概要ドキュメントや25 TBの読み取り可能なGoogle Cloudバケットが含まれています。著者は読者にメールリストへの登録を促し、更新情報を受け取れるよう案内しています。また、`cancer@sytse.com` で連絡を取ることもできます。

2026/03/29 5:39

CSSは終焉を迎える運命にあります。

## Japanese Translation: この記事は、CSSのみでレンダリングを行い、ロジックには最小限のJavaScriptしか使用しない完全にプレイ可能なDOOM風ゲームをウェブブラウザ上で動かす方法を紹介しています。壁・床・天井・スプライト・弾道などを表現するために数千もの `<div>` 要素が生成され、各要素はカスタムプロパティとして生のDoom座標を保持し、CSS が `hypot()`(距離)や `atan2()`(角度)といった関数で幾何学を計算します。ワールドはプレイヤーの動きに逆行するように `translate3d` と `rotateY` で移動されますが、CSS にはカメラオブジェクトがないためです。 床は `rotateX(90deg)` で回転し、`clip-path`(または新しい `shape()` 関数)を使って任意の多角形や穴に切り取られます。テクスチャタイルはセクター全体にわたって背景位置をワールド座標に合わせて (`background-position: calc(var(--min-x)*-1px) …`) 配置されます。ドア、リフト、その他の動的要素はカスタムプロパティ上で CSS トランジションによってアニメーションし、JavaScript が状態属性を更新します。スプライトは `rotateY` でカメラに向き、`scaleX` で鏡像化したビルボードです。スプライトのアニメーションは CSS の `steps()` キーフレームで行い、攻撃・死亡フレーム用のデータ状態は JavaScript が供給します。弾道は CSS アニメーションで移動し、衝突検出はまだ JavaScript で処理されます。 照明はセクターごとに `filter: brightness(var(--light))` を使って全体的に適用され、ちらつくライトは `@property --light` を通じてアニメーションします。プロジェクトではアンカー位置決め、`@property`、および「ハッキー」な CSS‑のみのカリング手法(オフスクリーン要素を隠すために負の遅延でアニメーションを一時停止)といった実験的機能が採用されています。 数千もの 3D 転送された要素によるパフォーマンスは課題となり、著者は JavaScript で手動フラスタムカリングを実装し、条件付き `if()` のサポートが登場すれば将来的に純粋 CSS ソリューションへ移行する計画です。記事では Safari のビュー遷移による 3D フラット化、background‑image 再ラスター化の問題、コンポジタ不安定性などブラウザバグも文書化し、インラインスタイルやバグ報告といった回避策を紹介しています。 著者はより多くのロジックを純粋 CSS に移すことで JavaScript を完全に排除できる可能性があり、パフォーマンスをさらに向上させることを想定しています。成功すれば、このアプローチは軽量なブラウザベースゲームを刺激し、高度な CSS グラフィックス機能のサポートを促進し、重いエンジンを必要としない効率的なレンダリングが求められる開発者に利益をもたらすでしょう。

2026/03/27 23:39

オープンブースト・オン・モトローラ 88000プロセッサー

## Japanese Translation: (欠落している詳細を補完しつつ明瞭さを保つ)** ``` モトローラ 68000 ファミリーは、1990年代中頃のワークステーション(Apple、Amiga、Atari ST、Sun、HP、NeXT)や多くの産業用ボードで普及していました。 その RISC 後継機種である 88000(m88k)は、68k と PowerPC の間に導入されましたが、約 1994 年頃に期待された性能を提供できず廃止されました。m88k は二世代存在しました: • 88100 – 第1世代 CPU で、オプションの外部 88200 CMMU チップを搭載し、MVME180(20 MHz、2 本の CMMU)と MVME181 に使用されました。 • 88110 – 第2世代 CPU で、統合キャッシュ/MMU を備え、50 MHz を想定していましたが実際には約 40 MHz で販売されました。MVME187(25 MHz、デュアル CMMU、最大 64 MB)、MVME188(SMP、最大 4 CPU と 8 CMMU)、および MVME197 系列(セカンダリキャッシュ)に搭載されました。 VME バスは 32‑bit アドレス/データラインを備えたパッシブバックプレーンであり、複数ボードサポート、割り込みベクタ、オプションのスレーブマッピング、および終端要件があります。 OpenBSD のポートは 1995 年に MVME187 上で開始されました。Nivas Madhur、Steve Murphree、Marc Espie らの貢献は CVS マージ競合、アカウント停止(Theo de Raadt の関与)、GCC‑2.95 互換性問題、カーネルパニック(「align & align‑1」アサーション)および MVME188 上の不完全な SMP サポートに直面しました。ポートは 3.1‑beta スナップショットまで達成しましたが、ハードウェアエラー(VME バスロックアップ、DCAM2 コンフリクト、I²C フェイル)が未解決のまま残っています。 m88k アーキテクチャに関するドキュメントは、モトローラ AT&T System III/V、Data General DG/UX、Omron UniOS などのプロプライエタリ Unix バリアントと無料 CMU Mach コードから取得されました。メンテナー間の個人メール交換は協力、衝突解決、およびニッチなポートの保守課題を示しています。 MVME VME ボードおよび他の m88k システムのユーザーは、この OpenBSD ポートに安全性と安定性を依存しています。継続的なサポートがない場合、利用可能な OS を失うリスクがあり、新しいアーキテクチャへの移行が必要になるかもしれません。 ``` *改善された要約はすべての主要ポイントを反映し、不適切な推測を回避し、主旨を明確に提示し、曖昧または混乱を招く表現を排除しています。

**Undroidwish** – 複数プラットフォーム向けにバッテリー込みのシングルファイルTcl/Tk実行ファイル | そっか~ニュース