標高+1m

Don't be rational

ソバの脱穀

9月頭に蒔いたソバに無事実が付き、刈り取って干していた。 昨日きれいに晴れたので庭で脱穀をした。

最近電子工作クラブの中学生たちと遊んでいるminetest(マイクラクローン)の農業Modで、スノコ的なものに叩きつけて脱穀することを学んだので、笊に叩きつけてみることにした。

うまく取れたけど葉や茎が混ざったので、今度風で飛ばす。

1年目なので無理せず庭で育てたら、羽釜一杯分しか取れなかった。蒔いた分より増えたからよし。来年は山の畑で1年分作るぞ。

f:id:ympbyc:20181229024534j:plainf:id:ympbyc:20181229024543j:plainf:id:ympbyc:20181229024526j:plainf:id:ympbyc:20181229024551j:plain

今年は庭でいつでも焚火ができるようにしたのが嬉しい。燃料は前の川で流木を拾える。

LispマシンMirai

mirai screenshot

この記事は lisp Advent Calendar 2018 の25日目に書かれました。

メリークリスマス!

一月ほど前に、ワイヤードを漂っていたMiraiのバイナリをうっかり手に入れてしまったので、 環境を作って少し遊んでみました。*1

CG制作統合開発環境Miraiのコードベースは、1980年代のSymbolicsで作られたS-Graphicsに端を発します。S-Graphicsは92年にニチメングラフィックス(旧:日本シンボリクス,現:NGC)に売却され、IRIXとWindows NTに移植されてN-Worldになり、これを下敷きにしてMiraiが作られました。現在はIzWareが権利を保有しています。Miraiのリリースが1999年なので、20年前のソフトウェアということになります。

symbolics
嗚呼憧れのSymbolics

ここら辺の事情は、Practical Scheme WiLikiのLisp:Geometryの項目を参照してください。

簡単に機能の一部を紹介すると、

  • Geometry: Winged Edgeポリゴンモデラ
  • Painting: テクスチャエディタ
  • Animation: アニメーションエディタ(スケルタル、ディスプレイスメント、スクリプトなど色々使える)
  • UV Editing: UVマップエディタ
  • 3D Painting: モデルに直接色が塗れる

ソリッドボディやゼリー状の物体の物理シミュレーションなども行えるようです。

Miraiと言えば映画Lord of the Ringsのゴラムのモデリングに使われたエピソードが有名ですが、この記事ではモデラとしての側面ではなく、Symbolicsから連綿と受け継がれてきたLispマシンのバイブスに注目します。モデラに興味がある方は、Wings 3Dを使ってみるとよいかと思います。

MiraiはAllegro Common Lisp 5.0のACL Runtimeの上で動いています。面白いのが、裏にLispのリスナがいて、タスクトレイのアイコンのコンテキストメニューからInterrupt Lispを選ぶだけで、簡単にアクセスできてしまうことです。

他にもなにかしらエラーが発生したときに出るダイアログのDebugボタンなどから、すんなりとLispリスナに落としてくれます。

mirai error dialog
エラーダイアログ. CLのリスタート機能が生かされていて、よくあるOKしかないダイアログよりずっと柔軟.

common lisp listener for Mirai
リスナ

REPLが繋がっているというのは、そんなに珍しくはなくて、例えばBlederではPythonコンソールが使えたりしますが、Miraiのリスナのすごいのは、これがMiraiのプロセスそのものだというところです。

単純にスクリプティング用にAPIが提供されているというのではなく、動いているプロセスの実装そのものであるところの生きたオブジェクトがウヨウヨいる海を自由に泳ぎ回ることができます。CLOSのMOP等も使って、アプリケーションを実行中に内側から好きなように改変できてしまうという魅力が、上記WiLikiのLisp:Geometryにて存分に語られています。

さてこのリスナ、そのままだと使いづらいのですが、ACLEmacs連携機能を使って、Emacsに繋いで使うことができます。Miraiに付いてきたelispはEmacs20用のものでしたが、数か所書き換えたらすんなり動きました。ネットワーク越しに繋ぐので、ローカルでもリモートでもいけます。

Mirai on winxp talking to NT Emacs on win10
ホストOS(win10)上のNT EmacsとゲストOS上のMiraiを繋いだところ

こうなるともういつものLispハッキングと変わりません。ACL Runtimeは、dumplispやdisassembleが無いのと、ドキュメンテーション文字列が皆無でdescribeも大して役に立たないことを除けば、普通のAllegro CLです。*2

準備が整ったら、どんどん式を評価していきましょう。

aproposでどんな手続きが定義されているかは探れるのですが、describeがまるで役に立たないので困ります。

usless describe
役立たずのdescribe

N-Worldのオンラインドキュメンテーションを公開してくれている方がいるので、それとにらめっこすることになります。以下のリンク先のWide Open World Programmer's GuideにLispの情報が載っています。N-Worldのものですが、Miraiと高い互換性があります。 N-World 3.0 Online Documentation

全然大したことはしていませんが、動画を撮りました。のんびりご覧ください。ほんとはかっこよくboidsでも飛ばしたかったんですが、Lispエイリアンのモデリングで力尽きてそこまでいけませんでした。

www.youtube.com

Lisp界隈だとライブオブジェクトプログラミングという言い方はあまり聞きませんが、開発と実行が分かれていない環境はやはり楽しいし、オブジェクトの数が多ければ多いほど、ソフトウェアが複雑であるほど面白いように思います。こんなソフトウェアが増えればいいなあ。

Lisperならこんなに面白いおもちゃもなかなかないんじゃないでしょうか?うっかり手に入れちゃった人は遊んでみましょう。

just ask

*1:ほんとはN-Worldが欲しかったのですが、NGCも持っていないそうなのでMiraiで我慢します。N-World持っている方ぜひ譲ってください。

*2:実はdisassembleしたくてFranzにACL 5を安く売ってくれないか掛け合ってみましたが、ライセンスの発行にエンジニアを動かす必要があるとのことで、だめでした。ACL 10 Professionalの値段を出せば買えるようです。

関西Lispユーザー会でしゃべってきました

13日に神戸大学で開催された関西Lispユーザー会に初参加して、発表してきました。

スライドです。 docs.google.com

瀧先生のLispマシン TAKITAC 7 f:id:ympbyc:20181013171702j:plain f:id:ympbyc:20181013170255j:plain

懇親会でも憧れの人たちと濃い話ができて面白かったです。

当日お会いした方々、運営の皆様お世話になりました。今後とも一つよろしくお願いします。

Lisp最高!

id:t-sin さんが詳細なレポートを書かれています。 octahedron.hatenablog.jp

自然保存プロジェクト Nature Conservation Project

キーボードを筆、Lispを絵の具、GPUをキャンバスにして絵を描いている。

Lately I've been painting pictures, with Lisp as brushes and GPU as canvases.

Inspiration:

f:id:ympbyc:20180805192511j:plain

Development:

f:id:ympbyc:20180914121152p:plain

Snapshot:

f:id:ympbyc:20180914121231p:plain

次の宇宙の子孫たちのために、現象のダイナミクスアーカイブしておきたい。

I feel the need to archive the dynamics' of natural phenomena for my descendants in the next universe.

夏の過ごし方 -- 外気からエネルギーを得て生きる

f:id:ympbyc:20180726120528j:plain

あまりエアコンが好きではない。

どこもかしこも冷やしすぎだ。冬より寒いわ。 キンキンに冷えた室内で寒い寒いと思って、外にでて暖まっていると、他の人が出てきて、「暑っ!」とか言っている。アホかこれが普通じゃ、と思う。

毎年夏は夏バテ気味で乗り切ってきて、夏はバテるもんだと思ってきたけど、今年はバテていない。

飯を最小限しか食わなければ全然暑くないという事に気付いた。

夏は皮膚から熱エネルギーを得れるから炭水化物はあまり必要ないんじゃないか。

キュウリに塩塗ってかじったり、スイカ食べて体温下げたり、川で泳いだりして、余裕しゃくしゃくである。

人間、冬は太り、夏は痩せるものさ。

熱量(カロリー)を摂って燃焼させておいて、暑い暑いといってエアコンで地球を暖めるのは止めて、外部エネルギーを取り込もう。火力発電から太陽光発電に切り替えるようなものだ。

地球から生まれた人間が、地球で生きられないはずはないじゃないか。環境は敵対ではなく適応するものである。

理論編

生命活動維持に外気のエネルギーを利用できることが信じられない人のために。

ヒトの体温調節より、人体が一定の温度に保たれるとき、以下の等式が成り立つ。

M = E ± R± C ± S

  • M:代謝による熱産生量
  • E:蒸発
  • R:輻射
  • C:伝導,対流
  • S:蓄熱量

身長172cmウエスト70cmの人体を37°Cで保温(S=0)することを考える。

放射率表より皮膚の放射率は0.99、服は0.95
2-14. 種々の物質の熱伝導率より綿の熱伝導率は0.03、綿布は0.08(W/m K)
蒸発はとりあえず0とする。

これを ★ 熱の計算: 放熱に入力して計算する。

冬 (外気0° 3cm厚の綿):

f:id:ympbyc:20180726151538p:plain M = 0 + 36×1.72 + 41×1.72 + 0 = 132W = 113kcal/hr

夏(外気37° 綿シャツ一枚): f:id:ympbyc:20180726151841p:plain

M = 0 + 0 + 0 + 0 = 0W = 0kcal/hr

めっちゃ大雑把だけど、言いたいことは、冬は体温を維持するためだけでかなりの熱量を産生する必要があるが、夏の暑い時間は外気温だけで保温できるので、熱を産生する必要がない。ということ。

発汗によって失われる水分やミネラルは補給する必要があるが、糖はいらない。

バリの家と祭り

f:id:ympbyc:20180609114541j:plain

先週の火曜日まで、家族でバリに行っていた。山の方のウブドっていうとこ。

バリの街は、縦横にジャラン(jalan,通り)が走り、それぞれのジャランから無数のルマー(rumah,家)や寺院がビッシリと密接して生えている。

f:id:ympbyc:20180618025259p:plain
ジャラン(道)

ルマーは家と訳されるが、実はひとつのルマーの中には複数の家族(親戚)がそれぞれ一軒屋を建てて生活している。今回はルマーの一つにホームステイした。

f:id:ympbyc:20180618025318p:plain
ルマー(家)

ルマーは結構広くて、ちょっとした分譲地くらいの面積がある。ジャランと直交してルマーの中にも小径(こみち)があり、一軒屋は小径の両側に並んでいる。

f:id:ympbyc:20180609093256j:plain
ルマー内部の小径

核家族が住む一軒屋はこの小径に面して建てられていて、背面を除く三方に窓がある。ルマーはジャランに通じる小さな門を除いて塀で囲まれている。 塀の中で、内側を向いて生活をするので、空間的に閉じていて、隣を意識することがなかった。

構造だけで言うと、大門が一個だけあって、周りをお濠で囲った昔の吉原を縮小したものに一つの大きい家族が住んでて、それがズラーっと並んでるような具合。

f:id:ympbyc:20180609184756j:plain
ジャランに面したルマーの門

日本では、と一般化はできないが、僕の近所は、四方に窓がある家が、裸でポコンポコンと建っていて、家同士の距離はそこまで詰まっていないものの、見通しが良いので、まあなんというか心理的に相互監視的な気持ちになりやすく、プライバシーの確保できるバリの家の造りが羨ましかった。家族内で腫れ物にされたらつらいだろうけど、ジャランに一歩出れば外の世界なので、よし。

祭り

タイの田舎では、人は1日2時間を2ヶ月しか働かないらしい。米の植付けの一月と、収穫の一月。後は家庭菜園の面倒を1日15分も見てやれば、食うには困らない。暇だから、タイでは祭りがしょっちゅうあるんだそうだ。自給自足がいいかはともかく、自由時間が多いのはいいよね。

youtu.be
Life is Easy (日本語字幕アリ)

バリも祭りが多い島だ。ヒンヅー教と土着信仰が融合したバリヒンズー教徒は、島内の人口の90%以上を占める。この動画はちょうど泊まっている間にあったクニンガンという祭りで、日本のお盆に相当する行事を、上の写真の門から撮影したもの。

youtu.be
クニンガン

獅子舞が神輿のように練り歩けば、だいたい同じだ。こんなのや、もっと全然すごいのが年に5回くらいあるらしい。加えて、各コミュニティーには必ず4つの寺院(プサ:ヴィシュヌ, デサ:ブラーマン, ダラム:シヴァ, 墓地:ドゥルガ)があって、それぞれでケチャをやったりガムランをやったりするもんだから、それはもうしょっちゅうお祭り事をやっている。

親戚が集まって暮らしているので、仕事の役割分担ができて、みんな時間があるようだ。

youtu.be
ケチャ

この動画は、クニンガンの動画にも映り込んでいる寺院の庭で、毎週2回披露されるケチャダンスの冒頭部分。


日本にもそこら中で祭をやってた時代があったのに、いつの間にかスカスカになってしまった。若者はみんな経済の歯車にされに都会へ出てしまって、祭りは爺ちゃん婆ちゃんが準備したところに行くものになってしまった。

僕が今住んでいる在所では行事といえば川掃除とお宮掃除と新年会くらいしか残っていない。

冒頭のタイの話のように、日本にも農閑期という、仕事をしない期間があって、農閑期の遊びというのがあった。神社の境内の野舞台で演る素人歌舞伎とか浄瑠璃とか襖カラクリとか、準備は忙しいけど、それが楽しいからやるんじゃという本気の遊びを村人みんなでやっていたんだ。

もっと日本中盛り上がってパーッと晴れやかなお祭り国家にならんかな!ちょっとジメッとしすぎじゃないですか今。 祭りって何箇所か残っているというのでなくて、国中上から下までどこもかしこもやって、きちんと鎮めるのが本来だと思う。

終わり。