Sunday 31 December 2023

大晦日

日曜日と重なっているので、飲み屋さんで開いてるところも少なく

家飲みですね

今年は、良く飲んだかな

まわりには、飲みすぎで fade out した人もいるので、気をつけよう

Saturday 30 December 2023

カレンダー


よりどりみどり。

年賀状とおなじですたれいく習慣とは思うんですけど、

  家や職場、研究室に、文化的なものが置いてある

ってのはよいと思う。街にも、ingressのportalになるような、意味不明のものをたくさん置いてほしい

カレンダーは寄付とかできるみたいな話も聞いたな。

Friday 29 December 2023

Dune

なんか学生達の何人かが最近の映画のを観たらしく。まぁ、

なんの知識もなくあれを観てわかるのかと言われると... でも、

  なんかすごい

とは思うらしく。自分も二部は楽しみなんですけどね

もちろん、日本語と英語と、あと making book と、Dune Encyclopedia までもってるわけですが

拡大再生産で残念になったところもあるけど、救世主、子供たちまでは読むものかな

神皇帝の完結感がいまいちなのが残念

とか考えると第一部だけでいいのか。それでも充分量多いからな

Thursday 28 December 2023

Marantz NR1200


まぁ、レシーバだが、居間で使う汎用だからしかたないか

なんだけど、かな設置してくれたんだが、

  レコードの方が、まだ調子悪い

ネットのはわりとちゃんとしてる。ってことは、Accuphaseのアンプのせいではなかったのか

なんか、特定のところでビビッたりするんだよな。たぶん、

  レコードプレイヤーが鳴ってるのでは?

おそらくは、なんか低周波とかそんなの。あるいは配線不良。Techniqs 1200欲しいような気もするしな

設置方法良くないしな。

というわけで、いろいろやる楽しみがあるようです

Wednesday 27 December 2023

Okitの人と meeting

いや、向こうはぼくのこと良く知ってるらしいんだけど。ぜんぜん思い出せないです。

基本ネットの人だからな。イベントかあるいは、オンラインだけのつながりか。

Facebook ではつながってるんですけどね。

でも、いきなり

  Abaddon って話が。まさかの ingress つながり?

また、なんか那覇で ingress のeventあるらしい。そういえばサーバとめてしまったのだった。

なにか連携できればよいんですけどね。

とりあえず、これらしい。

https://ricc.itrc.net

Monday 25 December 2023

まだまだ続くかけ算の話

なんと算数の教科書では

「1あたりの数」×「いくつ分」=「全体の数」

で「定義」されているらしく、累加じゃないらしい。いや、これでは計算できないと思うんだが、

アレイ図と分配法則と九九で、無理やり筆算。なるほど。

確かに、これではかけ算の定義を答えられない人は多いかも。複雑すぎる。なので「計算すれば分かる量」
くらいの認識なんだな。

「日本では、遠山啓の数教協の影響で、伝統的な、同数累加の定義が批判され、教科書でも1980年代に、同数累加の定義が駆逐され、同数グループがメインになりました」

おぉ、そこかぁ。僕はかなり古いので、累加で習ったかも。

この時期、割と集合論が流行ってて、代数系の先生が累加でなくてもいけるってのを流行らせて、それが教科書になったらしい。

なので、かけ算の定義を「足し算の繰り返し」と言えなくなったというわけね。

まぁ、おまけ的には書いてあるらしく、自力で発見するとは思うんですけどね。

でも、その定義でも対称ではないので、かけ算の式の順序を問う問題は可能。それがまだ議論を呼ぶってわけ。

単位のサンドイッチ、左分配則右分配則にも同じ問題があるらしく... 対称じゃないからな。

プログラミングあるいは直観主義論理からの算数教育の見直しはあるんじゃないですかね。

Sunday 24 December 2023

かけ算の順序 禁則事項編

その後、「かけ算には順序はない」派の人たちと話てて、驚きの事実が。

かけ算から順序を落とすには、一度、累加でかけ算を定義した後、定義を忘れて
一階述語論理的な二項関数として扱うってのがあるんですが、それを実行している人がいる
いや、僕も信じられないんですが... つまり、反順序には禁則事項がある。

いや、むりむり。こんなの守って算数/数学なんてできないです

# 禁止事項1 かけ算の定義

つまりかけ算の計算を諦める。これでも半環の性質は使えるので、ある程度はいけます
15x3=20 に反論してって言ってもできない。(ほんと、聞いたけど答えられない

# 禁止事項2

かけ算の性質を持つ対象のグループ分けに注目する

これは「かけ算の順序を問う問題」には正誤はないことの要請に対応してる。「どっちでもいい」ね

これで累加が禁止されて禁止事項1が出てくる

# 禁止事項3(2の別形式)

累加の定義は順序があり、回数をどちらにするかでLR二種類ある。累加だと違いがある

その二つは違いがあるとすることは禁止事項

# 禁止事項4(2の別形式)

この時にL⋁Rを使ってLやRを直接は使わないという逃げ道がある。あるいは「いったん」使って良いとすると少し強くなるが累加よりは弱い

なるべく半環として扱うみたいな感じ

# 禁止事項5

単位があるかけ算は単位のある定数に無次元数をかける形式に変形できる(単位のサンドイッチ)

変形までは許される。それを足し算の繰り返しと見るのが禁止

これは単位のサンドイッチに関する問題に正誤はないことからの要請

さらに、分配則に制限があって、

# 禁止事項6

右分配則や左分配則からは、累加の定義が出てくるので使用禁止

つまり、スローガンのできがわるいわけね

Saturday 23 December 2023

OSの教科書の問題

いつものSilberschatzなんですが、去年と違って Kindle もある。なんだが、

  Kindle 版の方が若干削られてる

そういうのどうなのよ。どうも、Windows 7 関係の問題が削られているらしい。

いや、あの問題、ちょっと問題有だったからなぁ。

  Windowsの defered procecure call

いや、そんなのどうでもいいよ感。まぁ、本文には書いてあるので、読めば解けるんだが...

ChatGPT で fork / posix_spwan の例題とか瞬時に書いてくれて、一発で動く

自分のOSの課題を解かせても、そこそこいく。学生の学習も捗ることだろう〜

自分の解答をChatGPTで採点してから出せという感じにしました。

  ChatGPTの解答をChatGTPに採点させて、その採点が妥当かどうか判断しろ

的な話だな

  

Friday 22 December 2023

年末プログラミング、なにしようかな〜

別名、年越しプログラミングですけどね

去年は、Zornの補題の証明が12/18までかかって、そこそこ面白かった

いや、そんな悠長なこといってないで、いろいろやることはあるんですけど

ってなことを書いてるってことは、ちょっとやる気に欠けるか

Thursday 21 December 2023

忘年会 at Son of Sun

学生たちと。時間すぎてるのに、二人しか来てないぞ

ここは、最近、気にいって使ってます

https://www.instagram.com/son_of_the_sun_kitchen

Tuesday 19 December 2023

農林中金前のバス停の表示


なんか、新しいのが登場してました

いや、結局、古いバスロケのが一番使いやすいんだけど

これがいろんなバス停にあるなら、ともかく、ここだけってのがなぁ

自動運転バスとか出て欲しい

Monday 18 December 2023

沖縄 Avac






ってわけで、見てきたわけですが、Aura がかっこい。25万円。リモコンなし。飾るためのものだな。

Marantz 悪くない感じ。

Avacの親父も、Acuphase修理できるみたいなことは言ってました。

Sunday 17 December 2023

Audio Amp

Accuphase のがどうもだめで、どうしようか考え中

なおすってのもなくはないらしい

何か買ってもいいかな。マランツの何か。PM7000Nか、PM6007 か...

Saturday 16 December 2023

サクラの聖夜

沖縄事務所の開設ですか。行ってきました。

学生その他4人と一緒。学内のアナウンスには流したが、

  最近の学生は反応悪い...

お前ら、就活しろよってところですけどね。

AWSやGCPは学校の都合とか聞いてくれないので、国内クラウドは使いやすいところはあるかな

農林中金のバス停のまん前だ

Friday 15 December 2023

read / copy / update

OSの授業で、Linux kernel 読んでたんですが、最近は syscall dispatch 部分は C なので。

いや、あれは C っていうのかは微妙ではあるか。

Fedoraのdebug build な kernel な VMと、gdb で読む環境が singularity で用意してあるのでばっちりです。

で、fd_get から読んでくわけですが、記憶とかなり違う。いや、昔は syscall table は C のマクロとかじゃなかった。

で、

 635 * read-side critical sections may be preempted and they may also block, but
 636 * only when acquiring spinlocks that are subject to priority inheritance.
 637 */
 638 static __always_inline void rcu_read_lock(void)
 639 {
 640 __rcu_read_lock();
 641 __acquire(RCU);
 642 rcu_lock_acquire(&rcu_lock_map);
 643 RCU_LOCKDEP_WARN(!rcu_is_watching(),
 644 "rcu_read_lock() used illegally while idle");
  what is rcu?

 ChatGPT
 RCU, which stands for "Read-Copy-Update," is a synchronization mechanism used in computer programming, particularly in operating

あぁ、copy on write みたいなのが file write にもあって、それを rcu って呼んでるのか。

意外だけど、教科書にはないな。

Thursday 14 December 2023

年末進行

なんか、飲み会の予定を増やしてるだけなような...

来週は学生と忘年会の予定です

かけ算に順序がないって言う主張は無理があるし、かけ算の理解を妨害する雑な議論だから、やめとけ

足し算の繰り返しとしてのかけ算の 定義を理解していることを確認する

かけ算の問いに関して「何を何回足したのかを確認する」。問題の意図と、そこでの規則を確認する。回数を右に書くと決めてるなら、それも良い

かけ算の順序はそのまま積分や群の作用につながる

かけ算の対称的な定義は存在しない。なので無理に「かけ算には順序はない」と主張すると、累加の定義を拒否することになる。それではかけ算を理解することはできない

普通に累加でかけ算を定義して交換法則があると考える方が正統だし柔軟。面積などの積で表される物理量をそれで理解できる

* 右かけ算と左かけ算

回数を右に取るか左に取るかで、右かけ算と左かけ算を回数で交換則と同時に帰納法的に定義していく方法でかけ算を対称的に定義したい

しかし、それは右かけ算と左かけ算が同じであることを意味しない。それを無理に同じとすると矛盾が生じる

右かけ算とかは右作用とかに対応するから無意味とまでは言わないが、交換則があるなら二つ使うのは無駄ではある。片方で良い

右かけ算と左かけ算は以下のように定義できる

lmul : ℕ → ℕ → ℕ
lmul zero x = zero
lmul (suc x) y = lmul x y + y

rmul : ℕ → ℕ → ℕ
rmul x zero = zero
rmul x (suc y) = rmul x y + y

ね。rmul x y ≡ lmul y x でも良い(この方が簡単)

rmul x y ≡ lmul x y が交換則

* 関数外延性

rmul x y ≡ lmul x y から
rmul ≡ lmul を導くのが関数外延性

関数外延性を仮定すると、実装の違う関数を定義することが禁止されてしまう。それは制約が大きい。それを無視すると矛盾する

世の中に乗算器は一つの回路しかないみたいな感じ。詳細に立ち入れない。同じだから

rmul x y ≡ lmul x y

rmul ≡ lmul
を区別するのは高階直観論理でも一階述語論理でもそう

LISPで関数同士をeqで比較するような話ね。あるいはCの関数のアドレスの比較

* 面積を使う

面積で縦横変えて自明に交換則が成立すると主張したい

その形が違う点の集合は違うものなので単純に同じとは言えない

まず、それが個数として同じことを確認する。そして、それが足し算の繰り返しになってることを確認する

回転は実数が必要なので大変。止めないけど

Wednesday 13 December 2023

Sonoma + iOS 17

やっと、両方あげたんですが、なんか差は良くわからず。(uim+anthyはくらったが...)

iPhoneのappのタイトル表示消してたんだけど、また出るようになってがっかり。なおせないです。

Journal は、もしかしてネット対応ではないのか? なんでいまさらそんなものを...

どっちかっていうと、Evernoteをなんとかして欲しいんですけど。何回か課金したが、今は無料ユーザ。

Notes はどうなのっていう説もあるが...

あとは、パスキーか。

Tuesday 12 December 2023

イヤホンなくした日

なんか、寝室で使ってた 2011 な MacMini の電源が入らなくなってました。いや、治すようなものでもないしなぁ。

さらに、上着のポケットに入れておいたイヤホンが紛失。まあ、前にもなくしてるしなぁ。

で、イヤホン発掘の旅に。最初に見つけたのはなんか延長ケーブル付きのソニーの。これが音がだめだめ。

あんまりなので、もう一回発掘。なんと、なくした奴と同じものを発掘。いや、別物なはずです。

なんで、二つもあるんだ? そもそも何についてきたんだろ? いや、iPhone付属のスイッチ付きイヤホンも、まだたくさん。

Monday 11 December 2023

uim-xim + anthy 解決編

anthy は無罪なので、uim-xim を debug することに。engin=anthy-utf8 ってのあがるのを発見したんですが、

configure.ac が対応してない。誰も使ってないな。でも、それを乗り込えてもだめ。

で、debug build することに。これが、また、難航。

 brew install -d --build-from-source --git --debug-symbols --keep-tmp uim

という感じにして、uim.rb の途中に

  system "false"

と挟むと、そこで止まるので、そこでいろいろできる。で、install しないと動かない。

OnTheSpot の幅がゼロなのを発見して、

   (lldb) x/20x str
   0x600001720070: 0x0000b3a4
   368 convstr = uim_iconv->convert(iconv_cd_e2u, str);
   -> 369 utf8_ = MAKE_STR(convstr);
   (lldb) x/20x convstr
   0x600001724140: 0x00000000

これが原因。やっぱりiconv。なんで EUC-JP が来てるかというと、

   scm/japanese.scm
((("k" "a"). ())("か" "カ" "カ"))

これが EUC-JP だから。uimは sigscheme で書かれてるんだけど、schemeでローマ字変換してる。

で、anthy-utf8.scm で、

   ac (anthy-utf8-lib-eucjp-to-utf8 (anthy-utf8-make-whole-string ac #t (anthy-utf8-context-kana-mode ac))))))

とhard codedされてる。なので、ローマ字表を UTF8 になおして、そこをなおして終了。

  uim-xim --engine=anthy-utf8

これでばっちりでした。お疲れ様でした。

https://github.com/shinji-kono/uim/tree/develop

Sunday 10 December 2023

まだまだ、uim-xim + anthy

iconv のbugだろ思ってるんですけどね。uim-xim のiconv は macOSのなので、OSをsonomaに上げて死ぬのはそれっぽい。

最初は anthy を疑ってたんですが、今時は最初からutf8なのね。anthy-agent でローマ字変換までは見れたのでこっちではないらしい。

で、uim-xim なんだが、こっちは割とbuildできる。schmeme付きなのに! そう、uim ってのは scheme で書いてある。

まぁ、でも scheme 部分ではないだろってことで、uim を debug build なんだが、これが

  autoconf を script で wrap

なわけで、ぜんぜん動かない。uim-xim --engine=anthy-utf8 にすればiconvは通らないと思ったんだが、確かに通らないんだが動かず。

で、もう brew の uim.rb を書き直して debug build 。こいつ、xtermないでないうごかないくせに、変なところで止めると xterm 全部が止まる。

ちょっと楽しすぎるんですが。結局原因は不明。uim-xim が文字を受け取ってるのはわかったが、xtermに表示されないし、

anthy_set_string にも空文字が渡ってる。見かけは scheme 側の問題に見えるが...

Saturday 9 December 2023

uim + anthyの続き

どうせなら fcitx + mozc にしようかと思ったんですが、mozc ってくそPython なのな。なんか、python を決め打ちで
呼び出してたりして、pythonが 3.9から 3.12まであったり。で、dmzって呼び出してもなんか、コンパネにでない。

なので、Mozc は諦め。

で、anthy-agent を調べたんですが、こいつ、

  agent といいつつ、daemon じゃない

なにそれ。要するに command として呼び出すものなのね。で、割と動いているっぽい。ってことは、

  だめなのは、uim-xim

か。一応、xim protocol は見てるから、anthy を呼び出している scheme か。なんか、load が動かないぞ...

というわけで、まだ、格闘中です。いや、X11 やめろよ。

Friday 8 December 2023

macOS sonoma と X11

いや、ばっちり、

  uim-xim が動かない

ってのをくらって困ってます。xterm も接続にいってて、uim-xim も受け取ってる。

<-: XIM_SYNC_REPLY.
<-: XIM_FORWARD_EVENT.
->: XIM_SYNC_REPLY.
<-: XIM_GET_IC_VALUES.
->: XIM_GET_IC_VALUES_REPLY.

でも、xterm には表示がない。xterm に値が戻ってない感じだな。

もうやめても良いはずなんだけどさ。

Wednesday 6 December 2023

白金カイロ


カイロってのは懐炉か。沖縄最近寒いからな。そう、

  いつぞやのブラウン管の学生です

ホカロンが禁止な学校とか、そんな話をしました

Tuesday 5 December 2023

hgweb and podman play kube

なんか動かなくなってて。まあ、放っておいんたんですが...

どうも、なんか、hgwebの分割を割と力技でやっていやらしく。でも、hgweb が動かないのは

  podman play kube --network web-ip pods/ie-web.yml

は、Dockerfile の [CMD] を無視して、yml に書いてあるものを実行するからだった。

いや、それはわからんだろ。まさかとは思うけど、podman exec で後から実行してたりとか...

分割の方法は良くわからず。まぁ、directory 指定すれば良いだけだから。

podman は Docker にも k8s にもへつらってるからそうなる。

  docker-compose と podman-compose
  pod による実行と、systemd の生成
  play-kube

といろいろあって、まぁ、残念。k8s に絞った方が良い気もするが、yml があまりにひどくて...

いや、ちょっと前なら perl で yml 生成するのを書いてただろうな。

とりあえず動いたからよしとする。

Monday 4 December 2023

OS9 trace

LISP09 なんか色々動かなくて、で、OS9の debug 法を思い出すはめに。Emulator に step trace とか
break point を仕込んでるわけなんだが、

OS9の sbc09 emulator を立ち上げてから、そのemulatorの中でLISP09を load してから止める必要がある。
os9 のshellが上がってから、

DA69: 10 3F 2C OS9 F$APROC

まず。ここで止める。すると、sbc09 の起動直前に止められる。そこから、OS9 kernelからUser taskに戻る rti
で捕まえる。

とかやってた。OS9のdebugつかっても良いんだが、ちょっとうまく動く自信がないし遅いだろうし。

なんだが、もしかして、Emulatorのstep traceを呼び出す命令を用意すれば良いんじゃないかと。で、ばっちりだった。

なんで、こういうのさっさと思いつかないのかな。そういえば、IOもEmulatorからメモリアドレス監視とかやってるんだが、

IOを triggerする命令を用意すれば良いのか。そういえば、Cellには sync みたいなのあったな。

qemu に 6809 + MMU を仕込むってのもやってみたいと思ってるんですけどね。もうあるかもな。

Sunday 3 December 2023

LISP09

なんか動いたっぽい。

OS9 の上の SBC09 emulator を使って実行してます。つまり、56Kbyteなメモリエリアに SRECORD から loadして実行。これだと絶対アドレスで実行できる。 Relocatableな OS9 module にするには少し工夫がいるみたい。
といっても、メモリマップを工夫してATOM領域をコピーするくらいでできるが。

GAME09もそうなんだけど、Uを User stack に使ってる。それは良くある間違いなんだよな。
レジスタが減るだけ。なおしたい気もするけど、考古学的なプロジェクトだからな。


% make lv2
src/v09c -rom os9/os9v2.rom -v os9/level2 -0 os9/OS9.dsk -1 os9/WORK.dsk
NitrOS-9/6809 Level 2 V1.0.1
Unknown Machine
(C) 2014 The NitrOS-9 Project

http://www.nitros9.org


Shell

OS9:sbc09 lisp09/lisp09.s

---------------------------------------------
LISP-09 Interpreter version 2.08 1983.10.07
Copyright (C) 1982 by Kogakuin University
---------------------------------------------
# of free cells : 7424
atom area, used : 1907
User stack area : 6285
System stack area: 3492

:(SETQ X '( 1 2 3))
(1 2 3)
:X
(1 2 3)
:(CAR X)
1
:(CDR X)
(2 3)
:

Saturday 2 December 2023

ゲゲゲの鬼太郎誕生編

学生と一緒に見てきました。沖縄ではテレビ放送がないので、猫娘が見れないのは残念だったが、
映画でもチョイ役

鬼太郎のオヤジの活躍の話ですが、そこそこ強い。奥さんが美人設定に。

閉鎖された田舎の村の殺人事件みたいな感じでもあるけど、最初のゆっくりとした展開と

後半の怒涛のリズムは割と良い。そこで「待たせたな」は違うだろと思うし、最後どうなったかも割と分からない。

まぁ、色々問題はあるんだが...

でも、漫画の方の誕生編とつながるわけね。それは割と良いかな。でも、学生達にはあまりわからなかったかも。

https://www.kitaro-tanjo.com