2026年9月6日日曜日

CSVという「仕様」を、味わう。

味わう仕様書

CSVという「仕様」を、味わう。

カンマと改行だけでは決まらない。 RFC 4180、CRLF、引用符、header、text/csv、Excel。 あまりに身近で、じつは一枚岩ではないCSVを、仕様と実装の間から読んでいきます。

味わう仕様書 CSV

カンマで区切れば、CSV?

CSVは、見ればだいたい分かるほど単純です。 けれど改行を含む値はどうするのか。引用符そのものはどう書くのか。 末尾の改行は必要なのか。1行目はheaderなのか。 RFC 4180を開くと、日常的に使っているCSVの「暗黙の約束」が少しずつ見えてきます。

01 / RECORDS

改行は、ただの改行ではない

RFC 4180が示すCRLF、レコード境界、最終レコードの扱いから、CSVの行構造を見ます。

02 / QUOTES

カンマも改行も、値の中に入る

フィールドを二重引用符で囲む意味と、カンマや改行をデータとして保持する仕組みを追います。

03 / ESCAPE

" は "" になる

引用符を含むフィールドをどう表現するか。短い規則が、パーサの挙動を大きく左右します。

04 / DIALECTS

同じCSVなのに、同じではない

RFC 4180、Excel、各種ライブラリ。現実のCSVが複数の慣行を抱えている理由を見ていきます。

この本で見るもの

RFC 4180
text/csv
record / field
CRLF
header parameter
quoted field
double-quote escaping
ABNF
Excel CSV
CSV dialects

主なテーマ

CSVはいつからCSVなのか
RFC 4180は何を決めたのか
カンマ、改行、引用符
headerとレコードの境界
text/csvというMIMEタイプ
ExcelとCSVの距離
「CSV方言」が生まれるところ

単純な形式ほど、境界がおもしろい。

CSVを書くコードなら、数行で済みます。 でも「何をCSVと呼んでいるのか」を確かめようとすると、 RFC、OSの改行、表計算ソフト、文字コード、ライブラリの実装へ話が広がっていきます。 この本では、その境界を仕様書と実物を往復しながら確かめます。

味わう仕様書 CSV

CSVという「仕様」を、味わう。

2026年8月24日月曜日

WebAssemblyという仕様を、味わう。

味わう仕様書

WebAssemblyという仕様を、味わう。

使い方の説明だけでは見えない、WASMのメモリ、Module、import / export、Emscripten、WASI。 実装と仕様書の間をうろうろしながら読んでいきます。

味わう仕様書 WASM

使い方ではなく、仕様を読む。

WebAssemblyは「CやRustをブラウザで動かすもの」と説明すれば、ひとまず使えます。 けれど、実際に何がModuleになり、何がimportされ、何がexportされ、 JavaScriptとWASMの境界で何が起きているのかを見ると、仕様そのものの輪郭が立ち上がってきます。

01 / MEMORY

勝手に外へ出られない

ambient accessを持たない設計と、線形メモリの範囲外アクセスがtrapになる仕組みを仕様から見ます。

02 / MODULE

compileの後に何がある?

Module、compile、instantiate、import、export。 似た言葉を、実際の処理の順番に置き直します。

03 / EMSCRIPTEN

生成されたJSを覗く

sql.jsを手がかりに、onRuntimeInitialized、ccall / cwrap、 WASM側で短縮されたexport名まで追います。

04 / WASI

ブラウザの外へ

Wasmtime、WASI、WIT、Component Model。 「WebのAssembly」という名前の外側で何が始まっているのかを見ます。

この本で見るもの

WebAssembly Core Specification
WebAssembly JavaScript Interface
linear memory / trap
Module / compile / instantiate
import / export
Emscripten
sql.js / sql-wasm.js
ccall / cwrap
Wasmtime / WASI
WIT / Component Model ABI

目次

WASM登場
WASMの安全性
で、具体の面(本文)
いろんなWASM
WasmtimeとWASI JS面以外のWASM
コンポーネントとWIT/ABI
WASM3など組み込み系の取り組み

仕様書を、読む対象にする。

APIの使い方を覚えるだけなら、もっと短い説明で済みます。 この本では、仕様の文言と実装の振る舞いがどこで重なり、どこでずれて見えるのかを、 実際の生成物や周辺ツールまで行き来しながら確かめます。

味わう仕様書 WASM

WebAssemblyという仕様を、味わう。

2026年8月13日木曜日

卓上ロボドッグを直接見られるリンク

 はい。まずはメーカー公式を中心に、卓上ロボドッグを直接見られるリンクを並べます。今回の調査で特に「卓上」というカテゴリ感がはっきりしているものです。

製品特徴リンク
Petoi Quaddle2026年の新型。4サーボ・ESP32/OpenCat・Pi Zero拡張・AI会話。かなり「desk robot」を前面に出しているhttps://www.petoi.com/pages/quaddle-educational-robot-kit
NavBot EG-0120×17×11cm、423g、8DOF。「Desktop Quadruped Robot Dog」と明記https://navbot.com/products/navbot-eg01-8-dof-desktop-quadruped-robot-dog
NavBot EG-01 GitHub機械設計・回路・ソフトを公開https://github.com/fuwei007/Navbot-EG01
Hiwonder MechDog手のひらサイズ、ESP32、8サーボ、逆運動学、Python/Scratch/Arduinohttps://www.hiwonder.com/products/mechdog
MechDog Documentation制御・組み立て・プログラムを見るならこちらhttps://docs.hiwonder.com/projects/MechDog/en/latest/
Petoi Bittle / Bittle XQuaddleの直接の先祖に近い存在。OpenCat系https://www.petoi.com/pages/bittle-smart-robot-dog-model-overview
Petoi OpenCat GitHubBittle / Nybble / Quaddleのソフトウェアの本体https://github.com/PetoiCamp/OpenCat
Petoi OpenCat ESP32ESP32版。BiBoardを理解するなら重要https://github.com/PetoiCamp/OpenCatEsp32
Mini PupperRaspberry Pi+ROS系の代表的な小型四足https://www.mangdang.net/
Mini Pupper GitHubROS/ROS 2側を見る入口https://github.com/mangdangroboticsclub
SunFounder PiDogRaspberry Pi、カメラ・音声・LLM連携まで寄せたAIロボ犬https://www.sunfounder.com/products/sunfounder-pidog-robot-dog-kit-for-raspberry-pi
Hiwonder PuppyPiRaspberry Pi 5+ROS1/ROS2、カメラ、AI、LiDAR拡張https://www.hiwonder.com/products/puppypi

なかでも今見るべきなのは Quaddle / MechDog / EG-01 の3つだと思います。

Petoi自身がQuaddleを “Do-It-All Desk Robot” と呼び、NavBotもEG-01を “Desktop Quadruped Robot Dog”、HiwonderもMechDogを “entry-level desktop quadruped robot dog” と呼んでいます。つまり「大型ロボット犬を小さくしたもの」というだけでなく、desktop quadruped / desk robot という商品カテゴリをメーカー自身が使い始めています。(Petoi)

特にQuaddleは面白くて、従来のBittleが9サーボなのに対して、たった4サーボで全方向歩行を実現し、$99のEarly Birdから狙っています。しかもESP32/OpenCat → Python → Raspberry Pi Zero → ROS → AI会話という階段を作っています。(Petoi)

なので、かなり大きな流れとしては、

Boston Dynamics / Unitree型
→ 大型・高価・研究/産業用

から、

Bittle / Mini Pupper
→ 小型・教育/研究用

を経て、

Quaddle / MechDog / EG-01
机の上に常駐する $100〜300級のロボドッグ

へ来ている、と捉えるとよさそうです。

。Quaddleは2026年8月Kickstarter予定なので、まさに今カテゴリが動いているところです。(Petoi)

2026年8月2日日曜日

マルダセナ論文とホログラフィー

 1997年にフアン・マルダセナが提示したAdS/CFT対応は、量子重力研究における「ホログラフィー」を、比喩から具体的な理論関係へと移した提案である。その中心には、反ド・ジッター時空の内部に存在する重力理論と、その境界上に置かれた重力を含まない量子場理論とが、同一の物理情報を異なる記述によって表すという双対性がある。高次元の空間、弦、ブラックホールとして現れる現象が、一つ低い次元では粒子や演算子の相互作用として読み替えられる。

この対応を味わうためには、境界を単なる外縁としてではなく、内部世界の全情報を保持する面として眺める必要がある。奥行きは最初から与えられた絶対的なものではなく、量子状態の関係やエネルギー尺度から立ち現れる可能性がある。遠近をもつ時空が、より平面的な情報の編成から生成されるという反転に、この理論の美しさがある。

マルダセナ論文は厳密な証明ではなく予想として提出されたが、その後、内部の場と境界の演算子を結ぶGKPW辞書が整備され、ブラックホール熱力学、量子情報、物性理論などへ応用が広がった。ホログラフィーとは、宇宙が映像であるという主張ではない。異なる次元、異なる対象、異なる計算法のあいだに、失われることのない情報の対応を見いだす試みなのである。

関連キーワード
#JuanMaldacena #AdSCFT対応 #ホログラフィー原理 #量子重力 #超弦理論 #反ドジッター時空 #共形場理論 #双対性 #GKPW辞書 #ブラックホール #創発時空 #量子情報

2026年7月24日金曜日

「不定」を仕様として明記する設計思想 ― 自由度と責任の境界

 


プログラミング言語や通信規格の仕様書に現れる「不定」「未定義」「未規定」「処理系定義」といった記述は、一見すると設計の曖昧さや未完成さを示すように見える。しかし実際には、それらは仕様設計者が意図的に残した「自由領域」であり、性能、移植性、将来拡張性を両立するための重要な設計技法である。代表例としてC言語規格の未定義動作(Undefined Behavior)が挙げられる。配列外アクセスやNULLポインタ参照などについて、規格は結果を一切保証しない。この決定により、コンパイラは「そのような状況は起こらない」という前提で大胆な最適化を行うことができ、高性能な実装が可能となった。一方で、sizeof(int) のように処理系へ選択を委ねる「処理系定義」や、評価順序のように複数の結果を許容する「未規定」は、異なる目的を持つ概念である。これらはいずれも「何も決めていない」のではなく、「何を保証し、何を保証しないか」を精密に定義している点に本質がある。この考え方は、HTTPやTCP/IPなどのRFC、JavaScript仕様、CPUアーキテクチャ、さらには独自DSLやフレームワーク設計にも広く応用できる。仕様とは、利用者へ約束する境界を定める文書であり、「不定」の明記はその境界を明確化するための積極的な設計判断なのである。自由度を残すことは曖昧さではなく、実装者と利用者の責任範囲を整理する高度な契約設計と位置付けられる。

関連キーワード:仕様設計、Undefined Behavior(未定義動作)、Unspecified Behavior(未規定)、Implementation-defined Behavior(処理系定義)、Indeterminate Value(不定値)、ISO C、ECMAScript、RFC、コンパイラ最適化、評価順序、移植性、実装自由度、契約設計、DSL設計、API仕様

ROCK 5 Model Bは、Rockchip RK3588を中核に

 ROCK 5 Model Bは、Rockchip RK3588を中核に、CPU、GPU、NPU、映像入出力、ネットワーク、ストレージ拡張を一枚の基板へ集約したシングルボードコンピュータである。Cortex-A76とCortex-A55を組み合わせた異種コア構成は、高負荷処理と省電力処理を役割分担させ、Mali-G610 GPUと機械学習推論用NPUは、画像処理やエッジAIを小型機器の内部へ持ち込む。

本機の興味深さは、完成されたパソコンでは見えにくい設計上の選択が、利用者の手元に露出している点にある。OSを書き込み、ストレージを選び、冷却機構を取り付け、電源容量を確保するという過程を通じて、計算性能が半導体だけで成立するものではなく、熱、電力、通信、ドライバ、筐体の均衡によって初めて維持されることが理解できる。

また、GPIO、UART、I²C、SPI、Ethernetなどの接続系統は、ROCK 5Bを単なる小型PCではなく、外部世界と信号を交換する組込み計算機として位置付ける。人工知能の推論結果がセンサー入力や機械動作へ接続されるとき、この基板は計算装置から制御装置へと性格を変える。その未完成さは欠点ではなく、内部構造を観察し、構成し、試行錯誤するために残された余白である。ROCK 5Bは、現代の計算機をブラックボックスとして消費せず、その層構造を部品の手触りとともに味わうための実験標本なのである。

関連キーワード:ROCK 5B、RK3588、シングルボードコンピュータ、ARM64、Cortex-A76、Cortex-A55、Mali-G610、NPU、エッジAI、組込みLinux、GPIO、UART、I²C、SPI、NVMe、熱設計、電源設計

Jetson Orin NX開発キットにみるロボットAI基盤の変化

 


Jetson Orin NX 16GB開発キットは、単なる小型Linuxコンピュータではなく、ロボットに知覚と判断を与えるためのエッジAI基盤として位置づけられる。最大157 TOPSとされる演算性能は、CPUの一般処理速度ではなく、GPUやDLAを用いた低精度ニューラルネットワーク推論能力を示す。その価値は数値そのものより、CUDA、TensorRT、cuDNN、Isaac ROSといったNVIDIAのソフトウェア体系を一体的に利用できる点にある。カメラ映像からの物体認識、姿勢推定、SLAM、音声処理、VLMによる状況理解などを、クラウドへ送らず機体上で実行できることは、通信遅延、プライバシー、自律性の面で重要である。

一方、ROCK 5Bのような汎用SBCと比較すると、消費電力、冷却、価格、環境構築の負担は大きい。したがって、単純な制御、通信、センサー収集には過剰であり、AI処理を必要とする部分だけをJetsonへ分離する構成が合理的である。ロボットの姿勢制御を直接担わせるのではなく、外界を認識し、行動候補を生成する上位計算機として用いることで、本機の特性は生かされる。これはロボットを「動く機械」から、「見て、解釈し、選択する機械」へ変える装置なのである。

関連キーワード: Jetson Orin NX、エッジAI、CUDA、TensorRT、DLA、Isaac ROS、ROS 2、VLM、SLAM、物体認識、姿勢推定、ロボティクス、組込みGPU、異種計算、自律移動