標高+1m

Don't be rational.

テレパシー

テレパシーはあるし、誰でも使っている。気づいているかそうでないかだけであって、気付いたら磨ける。

蟻は一匹一匹で思考するのではなく、巣が思考するというのは有名な話。夕方にカラスの大群が空でカーカー鳴きながらぐるぐる飛び回る時、彼らは群としてなんらかの思考を形成しているはず。

(ゲーデル、エッシャー、バッハ―あるいは不思議の環 20周年記念版 | ダグラス・R. ホフスタッター, Hofstadter,Douglas R., 昭弘, 野崎, 尚紀, 柳瀬, はじめ, はやし |本 | 通販 | Amazon)

現代の文明社会における人類は、個体の自我というものが肥大するようになっていて、コミュニケーションも五感に限定されると考えるようにできている。

しかし一匹の蟻に、他の蟻たちと交信する能力があるならば、人体にそれがあってもおかしくない。 つまり、神経の塊である脳による思考ではなく、外在化した思念や、場を通じた暗黙のコミュニケーションが存在する。

科学的な視点から見ると、蟻は体液などを利用した化学的な方法を用いているとか、鳥や魚の群れの動きはboidsのような個体が従う単純なルールから創発するということになるが、ここで問題にしているのは、創発した結果が何らかの思考に類する現象ではないかということ。

心臓の拍動は息を吸う時に早く、吐く時に遅くなる。心臓に意識を向けてゆっくり呼吸をすると心拍の変動が一定になり、安定した周期で拍動する様になる。ジョー・ディスペンザ著『超自然になる』によると、この時、脳の各部位での脳波の位相が揃う(コヒーレンス)という測定可能な現象が起きる。さらに、このコヒーレントな心臓-脳の動きは、心臓が作り出す電磁場を通じて周囲の人に伝播するという。

(超自然になる ― どうやって通常を超えた能力を目覚めさせるか ― | ジョー・ディスペンザ, 東川恭子 |本 | 通販 | Amazon)

体の感覚に意識を向ける。自分の脳で色々考えるのをやめてしまえば、湧き上がってくる感覚というのは全て受信したものだけになる。

自分の脳で考えていない状態というのに達するのには訓練がいる。これについては記事を分ける。

VRのリアリティー(現実性)が現実の現実性に追いつくことはないし、同じ理由でAIが人間と同等の能力を持つこともない。感覚が五感に限定された世界は模倣されうるし、限定された思考能力はコンピュータに凌駕されうる。その領域に留まるならば、生身の人間である意味はなくなっていく。

感覚に意識を向けていくと、身体の7つのチャクラのどこかにエネルギーが鬱積しやすいことに気づくかもしれない。私の場合それは第一チャクラで、性エネルギーであった。これについても詳しくは別の機会に書く。

電磁波過敏症がつらくなってきたので一旦ここまで。

考え事

至らないところは沢山あって、それについて考えると気持ちは沈んでしまうけれど、実際すごいところまで来ているし、放っておいてもどんどん研ぎ澄まされていく方向に向かっているのだから、小さなことで力を失うんじゃないかと心配するよりも、どんどん意識を今に更新して行こう。

WSL2でsketchを使う手順

Windows11のWSL2でsketchを動かすまでの手順をメモ

Sketch is a Common Lisp environment for the creation of electronic art, visual design, game prototyping, game making, computer graphics, exploration of human-computer interaction and more. It is inspired by Processing Language and shares some of the API.

github.com

Power Shell on Windows 11

wsl --update #もしくは wsl --install
wsl --set-default-version 2
#wsl -l -oで選択できるディストリビューションを表示
wsl --install -d Ubuntu-22.04
wls -l -v #VERSIONが2になっていることを確認

Ubuntu

sudo apt update
sudo apt upgrade

#WSLgの動作チェック
sudo apt install x11-apps
xeyes &

#SBCLとQuickLispのインストール
sudo apt install curl sbcl
# Quicklispをインストール: 参照 [https://www.quicklisp.org/beta/]

#Sketchの依存ライブラリのインストール
#quickloadしてみて、エラーが出るたびに順に解決して行っても良い
sudo apt install libgl1 libsdl2-2.0-0 libsdl2-image-2.0-0 libffi-dev build-essential libsdl2-ttf-2.0-0 mesa-utils
glxgears #Open GLの動作確認

sbcl --load "quicklisp/setup.lisp"

SBCL

(ql:quickload :sketch)
(ql:quickload :sketch-examples)
(in-package :sketch-examples)
(make-instance 'hello-world)

おそらくここで、Could not create GL contextとか言われる。

(kit.sdl2:init)
(make-instance 'hello-world)

これでOperation not supported.とか言われたら、

~/quicklisp/dists/quicklisp/software/sketch-(version)-git/src/environment.lispを編集

(defun initialize-gl (w)
  (with-slots ((env %env) width height) w
    ;;(sdl2:gl-set-swap-interval 1)  ;;この行をコメントアウト
    (setf (kit.sdl2:idle-render w) t)
    (gl:viewport 0 0 width height)
    (gl:enable :blend :line-smooth :polygon-smooth)
    ... ))

リトライ

(kit.sdl2:init)
(make-instance 'hello-world)

これでうまくいくんじゃないかな?

プチ発明 Lispマクロ with-many

Lispマクロの話です。Lispという言語は、プログラム自体がリストで記述されているので、そのリストを操作することで構文を自由*1に作ることができるのです。

LispでCGを描きたいぞと思って、これまで色々と試してきたが、どうも人の作った環境は複雑で、エラーが起きた時にどこを直せばいいのかわからなかったりすると思った。
これはどうも自分で何もないところから始めて、必要になったら機能毎に取り込んでいった方が自由に描けそうだと思って、Common LispのCL-SDL2から始めることにした。

Lispgames製のCL-SDL2は、基本的にはFFIでSDL2を呼び出すだけの薄いラッパーみたいなのだけど、SDL2はCなのでメモリー管理を自分でする必要があって、そこの面倒くささを和らげるために with-* 系のマクロがいくつも用意されている。これを使えばunwind-protectで自動的に破棄してくれる仕組み。

例えば、

;; excerpt from cl-sdl2/src/video.lisp
(defmacro with-window ((win
                        &key (title "SDL2 Window") (x :centered) (y :centered) (w 800) (h 600) flags)
                       &body body)
  `(let ((,win (create-window :title ,title :x ,x :y ,y :w ,w :h ,h :flags ,flags)))
     (unwind-protect (progn ,@body)
       (destroy-window ,win))))

しかしこれを使うと、

(sdl2:with-init (:everything)
  (sdl2:with-window (win :w 800 :h 600 :title "")
    (sdl2:with-renderer (renderer win)
      "do something")))

と、どんどんネストが深くなっていってしまう。そこでこんなマクロを書いた。

(defmacro with-many (w-clauses &body body)
  (if (null w-clauses)
      `(progn ,@body)
      (append (car w-clauses)
          `((with-many ,(cdr w-clauses) ,@body)))))

簡単に言うと、
(with-many ((a ... ) (b ... ) (c ... )) ... ) -> (a ... (b ... (c ... ...)))
こんな感じ。

これを使うと、

(defun main ()
  (with-many
      ((sdl2:with-init (:everything))
       (sdl2:with-window (win :flags '(:shown)
                  :w 1800 :h 600 :title ""))
       (sdl2:with-renderer (renderer win :flags '(:ACCELERATED)))
       (let1 texs (collect-textures renderer
                    "resources/images/")))
    "do something"))

こんな風に複数の with-*letwhen などをフラットに書けるのであーる。

let*に似ている。

簡単なExampleをgistに置いた。ディレクトリ構造を適当に作って画像を置けば動かせるはず。

Load and draw image with CL-SDL2 · GitHub

CL-SDL2 running under WSLg
CL-SDL2 running under WSLg

参考: SDL2の使い方 - mirichiの日記

ではまた。

P.S. そういえば、今回はWindows 11でWSL2を初めて使ってみたが、素晴らしい。Windows 11はLinuxランチャーだ。

*1:制約がないという意味ではない

厚労省の犯罪

厚労省が嘘ばっかりついているので絶対に新型コロナウイルスワクチンは打たないで下さい。

【検証】厚労省データ 心筋炎リスク情報も不適格~新型コロナワクチン未接種扱い問題だけじゃない!2つの不適格データ問題を独自検証~ | サンテレビニュース

ケータイ引越し infobar c01 → G'z One type-XX

9 year old infobar c01
9年間使い続けた infobar c01

2012年に日本で初めて買ったケータイを9年以上使い続けてきた。ネットは海外留学中に切ったまま、電話とSMS専用としていた。 契約月でないと高額な違約金が発生するというやつでいつもタイミングを逃していた結果なのだけど。

しかし一昨年の契約月(7月)は川に落として電池が使えなくなって、流石に変えようか悩んだ。しかし本体が壊れているわけじゃないし、まだいけると思って、電池を注文して交換して使っていた。

ところがここにきて3Gが停波するということで、auから案内が来て、乗り換えに割引も効くということだったから、やっと人生初の機種変更ができた。

infobar xvも気になったけど、どうも最近身の回りにCasio G-SHOCKとかPentax OptioとかLenovo Thinkpadとかの強靭性が売りのモノが集まって来ているので、ケータイもその路線でG'z One Type-XXというのにした。色は黒。

infobar本体に保存した連絡先を移さないといけない。連絡先アプリにエクスポート機能があるかと思ったらなくて、メールに添付、Bluetooth/FeliCa/赤外線で送信とかの方法しかなさそうだった。ところがいつの間にかinfobarWiFiBluetoothが故障してONにできなくなっていて、いづれの方法も使へず、困った。

MTPやらadbやらMedia Scannerやら色々試して、root化とか調べだしたところで、待てよ、こんなに難しいはずはないぞ。と思って、[infobar c01 連絡先 エクスポート]とGoogle検索したら、SDカードにデータをバックアップするやり方というのが出て来た。

https://sharpmobile.zendesk.com/hc/ja/articles/115005813148--INFOBAR-C01-microSD%E3%83%A1%E3%83%A2%E3%83%AA%E3%82%AB%E3%83%BC%E3%83%89%E3%81%AB%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%AF-

これであっさり解決。はーーよかったーー。

それから、今まではUSB接続の時カードリーダーモードというので、Macから普通にSDカードがマウントできていたのが、G'z1にはそのモードがないから、MacからはAndroid File Transferというソフトウェアを使う必要があることに注意。

G'z1は大きさがinfobar2つ分弱くらいあって、かさばることを除けば、今のところとても気に入っている。 とはいえ今まで下手したらケータイとWiFi通信用のスマホとカメラを背負って行くこともあったのが大抵の時は一つにまとまるとしたら随分良いかな。

とにかくinfobar今までありがとう。ご苦労様でした。

f:id:ympbyc:20220122091924j:plain
今日の午前中過ごした鎮守の森

Sigmarion 3をRasPiの端末にする

Sigmarion III acting as a terminal for raspberry pi
Sigmarion III acting as a terminal for raspberry pi

これは今年4月に成功した試みの話。父のお下がりのsigmarion 3を実家から掘り出してきた。

sig3はWindows CE時代のハンドヘルドPC(H/PC)と呼ばれるカテゴリーの端末で、2003年の発売。

私は本当は白黒(グレイスケール)液晶のH/PCが電池が長持ちで目も疲れなくて大好きなんだけど、それは無くしてしまった。

sig3はSD (not SDHC) が入って、USBの親にも子にもなれるという、今も生き残っている規格が使える点は便利。

H/PCの時代は、コンパクトフラッシュスロットに入るAir H''カードとか、LANケーブルアダプタとか、Wifiカードとかを使ってネットを使っていたのだけれど、WifiカードがWEPにしか対応していなかったりして、今ネットに繋ぐのはひと工夫必要。

そこで、sig3をRasPiの端末にて、テキストオンリーのネット端末にすることにした。

まずは普通のlinux機との繋ぎ方。

thinkpad and sigmarion 3 connected via usb
thinkpad and sigmarion 3 connected via usb

sig3とlinux機をusb mini Bケーブルで繋ぐ。mini Bが刺さる方がペリフェラル

sig3に24termをインストールする。SDカードで運ぶのが簡単。24termはぞろよしさんの銀のペルソナのページからダウンロードできる。 Silver CE Persona

linux機でUSBポートにttyを待機させる。

sudo getty -L ttyUSB0 9600 vt102

24termでUSBポートに繋ぐ。

RasPiの場合
sudo systemctl enable serial-getty@ttyUSB0.service
reboot

とすると、USBポートでのttyログインが有効になる。あとは同じ。

日本語を使う場合は、raspi-configのlocaleからEUC-JPをデフォルトロケールに設定すると、普通にsig3の[全角/半角]で打てる。便利!

接続が切れた時のために、RasPiにリセットスイッチを付けておくと便利。やり方は自分で調べて。ちなみに、RasPiのmicroSDがしょっちゅう壊れて困ってる人は瞬断対応の産業用microSDを試して見ると良い。

遊び方

f:id:ympbyc:20210416011334j:plain
Viewing online diary on sig3

などなど。

あなたもミニマリスティックなコンピュテーション環境を愉しみませんか?

新しめのグレイスケール液晶のH/PCの寄付を受付中です。