Sunday, 31 July 2022

macOS clang trouble

void makelonger(int gl) {
  if (pass==1) return;
  for(struct longer *p=lglist;p;p=p->next) {
    if (p->gline==gl) { // already fixed
      p->change = 1;
      return;
    }
  }
  struct longer *p = (struct longer *)calloc(sizeof(struct longer *),1);
  p->gline=gl;
  p->next = lglist;
  lglist = p;
}

これだけのコードなんだけど。SBC09 という MC6809 emulator の assembler の一部。
まぁ、あんまり現代的ではないが、そもそも考古学的プロジェクトだからな。

元々の github に update が入ってたので、それを merge しようってわけですが、動かない。
いや、x86 では動いていたんだよ?

short branchが届かない場合に long branch に変えるんだが、既に変更したかどうかを
list で覚えているだけ。変更したら、もう一度、pass を回すのだが、それが無限ループする。

lldb でおうと、gl が表示できない。こいつは呼び出し時に大域変数なので、inline 転換時に消えるのは
良くある。(最近のC compilerは勝手にinline展開する) なのだが、 p->gline が 0 のまま。

disassemble すると、store code が出てない。はぁ? で、-O2 なので、-O0 にすると、
動く。なんと、-O でも動く。つまり、

  -O2 の時だけ、inline 展開をしくじっている

らしい。さすがに、これの work around するのはあれなので、放置かな。-O には変更しました。

FedoraのLinux Kernel でも GCC のbugにぶちあたってたし。最近あれだな。


% clang --version
Apple clang version 13.1.6 (clang-1316.0.21.2.5)
Target: arm64-apple-darwin21.5.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin


https://github.com/shinji-kono/sbc09/tree/os9lv2

Friday, 29 July 2022

Micorware OS9 Disckett

1S 128Kbyte です。ま、動かなかったんだけど。2017年に Emulator でいろいろやった。

これに 2Kbyte ROM が付いていた。6850のアドレス合わせれば、そのまま動いたはずだが。

Boot の途中まで trace するとか、Floppy の解析はやったので、当時でも動かすことは可能だったはず。

Boot block をROMにやくってのを思いつかなかったのは残念だったかな。

青春といえば青春だな。動いていたら、別な方向にいってたかも。

産総研の平野さんは OS9 はまってたらしい。

Thursday, 28 July 2022

うるう秒とローカルタイム

twitter に書いたネタをこっちにも。facebook あらため Meta が

  うるう秒やめろ

と。自分も「やめろ」派です。100年で1分も狂うので

  年二回うるう秒

とかいう話。メインの理由は

  天文時と原子時が1秒ずれると壊れる機材があるから

他には特にないらしい。 実際、いろいろコンピュータのトラブルが出たらしい。

  学者の自己満足で世界が迷惑

ってやつだな。Python2/3と似てる。ちょっとの差が大迷惑。

ついでに地域時間もやめて

  全部、UTC

で良いと思うんだ。国際空港の時計は一つ。飛行機の時間は全部UTC。夏時間もない。国際便は

  現地での日の入りはUTC22で、夕食の時間はUTC21くらいです

と教えてくれる。その方が実用的。ちなみに

  日本での日付変更は朝9時

です。国際オンラインミーティングの時間指定も簡単。おそらく、

  いくつかの企業は既に UTC 標準

なのではないかな。

Wednesday, 27 July 2022

ひまわり畑

また、ひまわりの種買ってくるか? (食べるためです)

トイレのケーブルはなおしてもらえました。ありがとうございます。

Tuesday, 26 July 2022

金魚つきハンカチ

今日の土砂降りはひどかった..

Monday, 25 July 2022

ケーブル断線の原因

いや、それはちょっと、困ります。

代わりのケーブルは買ってきてもらえるらしい。

ケーブルテスターによると、切れているのは一本らしい。

直接打たないで、打ってからタイラップで結ぶ方式なら。まぁ、運が悪かっただけとも。

Sunday, 24 July 2022

Wifi を増やす

いや、トイレで入りが悪くて。Ethernet calbe 引き回して。Mesh は結局、壁を越えないからな。

というわけで、快適です。

かなの寝室の方も模様替えしたらしく、MacMini にケーブルが届かない。なので、どうせならWifi挟むか。

なんだが、ケーブルがお気に召さないらしく。まぁ、お好きなように調整してください。

Saturday, 23 July 2022

参鶏湯

を食べにいこうってな話だったんですが、コロナが増えて来てるので、三人がコロナ関連で取りやめ。

まぁ、でも、食べにいったんですが、

  「じゃぁ、そろそろ参鶏湯」「はい?」

なんと注文が通っていなかったという。じゃぁ、なんでわざわざ予約していったのか。

まぁ、前日とか当日に確認しなかったのがだめだったのだが。当日でも、少し早めにいったので...

なんか最近、こういうの多い。今日は98のバスが目の前で通過。最近は電話で文句言えないのか。

コロナが収まってから、復讐(じゃなくて、再戦か?)に行くかという感じです。

Thursday, 21 July 2022

VSCode の制限モード

なんか、そんなものが追加されたらしく、

  学生に Agda Extension 使ってもらったら動かない

この外し方が、また、良くわからない。まぁ、

  VSCode の高機能とブラウザ依存の脆弱性

を考えると、そうかなとも思うんですが、

  自分で入れた Agda Exteion を使うのに、ググって探す

ってのはどうなの? この、そびえたつくそを授業のページに書くのは残念かな。

Wednesday, 20 July 2022

学生のノートPC

まぁ、普段から

  ひのきのぼうで戦う気か

と言ってるわけなんですけどね。今のB3は

  8GB Mem, 128GB SSD, MacBook Air

な世代で、まぁ、いろいろ無理がある。OSのVMの課題とか「いろいろ消してからでないとできない」とからしい。

で、オープンキャンパスで Blender でモデリングしてた女の子が

  Surface GPU なし

いや、それは無理だろ? とはいえ、今はノートPC買うには厳しい時期だよな...

Monday, 18 July 2022

Mac Pro 復旧

おそるべきことに、Mac Pro - Early 2009 をまだ使ってるんですが...

いや、代替機はあるんですけどね。早く移せよ。

お客さんが来たのに、画面が映らない

  % system_profiler SPSoftwareDataType SPHardwareDataType
System Version: macOS 10.14.6 (18G6042)
Model Name: Mac Pro
Model Identifier: MacPro5,1
Processor Name: 6-Core Intel Xeon
Processor Speed: 2.66 GHz
Number of Processors: 2
Total Number of Cores: 12
Memory: 16 GB

GPU は K5000 かなかんかが入ってて、GPU driver が update されないので、

  Display が死ぬ

わけだな。SIPを切れば古いドライバが動くんですが、画面が見えないのでどうしようもない。

Boot 中の画面を vnc:// で取れるなら良いんだが...

裏を見ると、DVI port が二つ。なのだが、

  片方が + で、片方が -
  - の古い方が、内蔵GPUで生きてるに違いない!

いや、写真上げないとわからないが、DVIには無限の種類があるわけで...

なので、学科の MatterMost に「すみません〜 -のDVI calbeありませんか?」

と出したら、國田さんがばっちりもってました。- な DVI port を持つ display につなげて

  SIP off
  復旧。ぱちぱちぱち。

いや、もう画面なくて、困ってなかったんだよな。CUI から SIP切れれば問題なかったんだが...

Sunday, 17 July 2022

Lチカ

シス管の紹介なんですが、見せるものがあんまりない問題が。

  iDrac で、サーバーのフロントパネルのLEDを点滅させるのはどうだろう?

高価なLチカだな。なんだが、

  プロジェクターがしょぼすぎて、ランプが Zoom で見えない

いや、拡大すればいいし。とか思うけど、学生は諦める方を選択して

  サーバ室を見せる方向に

まぁ、それでもいいかな。軟弱。

Saturday, 16 July 2022

オープンキャンパス準備中

山田研とプログラミング3の方を見てます。

  まぁ、学生らしい、つたない感じのプレゼンも嫌いじゃないよ

ポスターじゃなくて、QR コードで。

  こんなQRコードのポスターじゃだめ、やりなおし

「え、いいじゃないですか」とか言わない。まわりの学生に見てもらってね。

ポスターは、フォントとか色調とかいろいろ言うわけですけどね。まさか、QRコードでダメ出しとは。

なんか学生は QR コードに色つけたがるけど、なんで? 黒の方が QRコードアピールできてよい。

まぁ、色くらいはいいかなと思うけど。

Friday, 15 July 2022

原神

最近少し疲れぎみですが、

  Jade Chamber から好きなキャラクターで飛び降りる〜

とかやると良い。高い所はいくつかあるが、お手軽なのはここ。

それほど課金しているわけでもないですが、夜蘭と万葉は来たので、ゆっくり育てます。

微妙に飛べるキャラだが、天守閣登れるのかな。

Abyss は Floor 10 まで。考えずに行ってるからな。

Thursday, 14 July 2022

一面一匹

いや、樹木はいくらでもあるんですけどね。

一面、一匹はコスパ悪いだろ

酔っ払いじじいのカウンターじゃあるまいし。

Wednesday, 13 July 2022

MBP16がUSB-Cから充電できない

昨日までできていたのに的な。まず、

  ケーブルを疑う
  ACアダプタ

のだが、iPhone は充電できる。MBAは充電になるし。

log 見れるかなと思ったんだが、

   syslog -f  /var/log/powermanagement/2022.07.*.asl| more

とかやるらしいが「ここには充電関係の情報はでない」あっそ。

なんかの reset だろと思って検索したが、

  まぁ、Safe Boot でしょ?

なんですが、M1 Mac から Safe Boot はめんどうに

  Shutdown してから 電源長押しで、メディア選択、それから Shift を押しながらクリック

まぁ、それでなおったんですが「なおるのかよ!」

  command line 経由で safe boot できるのか

と思ったらできるらしい。らしいんだが

  SIP を切らないと nvram command で書き込めない

ということなので意味ない。SIP は locate の launchctl ができないので外してはあるんですが、

  何かすると元に戻る

からな。どうも世の中には

  面倒くさくするとセキュリティが上がる教団に洗脳されている

人がいるらしい。

  Safe Boot は、Apple メニューから普通に選択できるべき

それで9割の不具合はなおるので。

Tuesday, 12 July 2022

オープンキャンパス 7/17

今年は対面らしく。ほぼ確実にもらうと思うので気が重いんですが、

  シス管とゲーム班と二つやれと

ひとづかいが荒いんだから。沖縄、三千人らしいので、直前キャンセル、オンラインもありえるな。

珍しく、3三年次なのでポスター作らせたんですが、

  自分たちがわかってないので、簡単なものですませようとする

いや、まて、

  君たちは、自分たちが、そんな扱いを受けたら、どう思う?
  知りたいのは、本当のシステム管理とか、大学の卒論とかなんじゃないのか?

いまさらポスターもな〜 オンラインになることも想定して、

  実際のシス管や卒論の Web page のQR コードを表示するのが良いんじゃないか?
  短い時間だが Hands on の雰囲気くらい

そんなんで、なんとかするか。

Monday, 11 July 2022

blog の投稿方法

へんたいです。まず、

  nmh で blogger にメール経由で書き込もうとする

昔は、ここで、API経由で mixi/facebook に書いてた。のだが、どうも個人で使うのは禁止に。

APIキー取ろうといろいろやったが挫折中。なので、

  手動でWebにコピーする方式

です。まぁ、ブラウザのくそな編集機能は使わんし、いきなり長文が消えるってこともない。

この辺、vimparator 使ってる人とかも見かけましたが、普通にEditorからコピペが良いと思われる。

nvim の mouse の扱いが変わったので、いつかコピペミスする気がする。気をつけないと。

さらに写真は

  iPhone からあとではる

Blogger の方もあとから編集。いや、あれだとは思うんだけど。添付で送れたりしますが。
少し工夫したことはあるが、まぁ、無駄だね。

そんなこんなんで facebook / blogger に二重で、さらに手元にコピーがある感じ。

Blogger には過去の mixi のも Atom 経由で上げてます。fj の黒歴史を上げてもよいが、まぁ、
根性はないです。

Sunday, 10 July 2022

neovim の set mouse=a

普通の vim でも。Terminal の中で立ち上げた neovim/vim で mouse が使える。

今までは

  mouse で  選択するとTerminal で copy されて option click で paste

だったんですが、

  mouse で  選択すると vim で selectio されて y で copy、 p で paste
  mouse で Sfift 選択すると Terminal で copy されて Shift option click で paste

んー微妙。cursol が動かずに copy できるのが良かったんだが。Shift option は手がつる。

nvim-agda は neovim の中で pop up がでるんですが、その中に mouse で入れる。

いや、pop up を移動させたり、その中へキーで入るのってどうやるんだろ?

nvim-agda は、見落としてるエラーとかもあるらしく、少し工夫が必要な感じ。

Emacs でもできたんですが、あれは、どこにいったんでしょうね。x-modeline.el とかだったかな。

neovim が search を hilight するので、:nohl を覚えました。

Saturday, 9 July 2022

Gnoti

高めのハンバーグ屋さん。4月オープンらしい。ノッティと読むそうです。

二週つづけて、ベトナムマーレー休業を食らったので、周辺を歩いていて見つけました。

Bound seesar の近くです。いや、その奥まった所だと、そこそこ宣伝しないと昼間は厳しいかも。

割と美味しかったが、なかなか重いよね。

Friday, 8 July 2022

東京 8/3-8/9

な予定です。特に法事が入らないなら、墓参りでもしてるんじゃないかな。

他に予定も入れてないので適当に呼び出してもらえれば参上します。

Thursday, 7 July 2022

課題のコードが、去年は通ってたのに -Wall で今年は通らない

ってのを書いたばっかりなんですが、

  誰だよ、gcc の discard volatile を warning から error に引き上げたのは

singularity build で xv6 の debug image を作ってたんだが、

  *.o を作るタイミングで、でたりでなかったりする

つまり、header の dependency が正確でないんだな。

+ uint *ticks1 = (uint *)&ticks;

こんな感じで落とせば良いらしい。

Wednesday, 6 July 2022

Rescue USB Memory

これ、ROMなのかなぁ。MacBook Air 付属。たしか、

  光学メディアがなくなった時に付いてきた

いまはネットから Rescue するから、そんなものはないわけで。過渡期だったかな。

Apple流の無駄なかっこよさが良い。

今、欲しいのは

  SDがささる 24pin EEPROM

かなぁ。作っている人もいるらしい。

Tuesday, 5 July 2022

Programming 3

いや、なんか、ソフトウェア開発とかいう残念な名前にされちゃって。プログラミングI,IIの続きで、IIIなんですが、

  第三段階レンズマン

みたいでかっこいいと思ってたりしたんですけどね。

まぁ、好きなプログラミングプロジェクトやって良いってものなんですが、

  見え見えの手抜きなプロジェクトにするのはやめろ

と思うんですよ。こういうのを一週間でいろいろかたづけて経験を積むっていうのはよいと思うんだけど。

そういう風にいったら、本当に「一週間一つずつゲームを作ってきた」学生がいたっけ。

まぁ、まだ、時間はあるから。

https://ie.u-ryukyu.ac.jp/programming3-hugo/public/

Monday, 4 July 2022

インターネット文化と通信屋さん

いや、院生時代に知ったわけですが

  インターネットやってる人たちと、通信やってる人たちは別もの

ってのがあった。前者は(主に)TCP/IPで、後者は電話とか回線交換とか。どこが違うかというと

  TCP/IPは best effort だが、通信は回線品質を保証する

ってのがある。ALOHA とかから始まってるのと商売で回線売ってるのとの差みたいなものね。

いまどきはどうかは知らんけど、

  文化が違う

で、回線文化の人たちが TCP/IP を良く思わないってのがあって、その結果が

  ISDN だったり、NGN だったり、LTE だったり

らしい。OSIの7層が嫌いなので、サービス毎にチャンネルを分けちゃったりする。

  NGNではパケットロス 0.00001%

とかいう。ということは、こういう違いでもある

  TCP/IP では、 セッション管理と再送は、末端のOSで行う
  NGN などでは、セッション管理と再送は、回線業者が行う

ってこと。なので、

  TCP/IPのスイッチは重いセッション管理と再送をしないので安くて高速
  電話交換機は超高い

なわけ。単なる電線だったり。だめだったら、さっさとパケットを捨てる。なので、

  輻輳した時は、送信側が自分で送信を控える

みたいなことをする。graceful degradation をみんなでやる。
なので、輻輳ぐらいで全面ダウンってことにはならない。(いや、フラッドで殺すとか得意ではあるんですが)

でも、今の携帯屋さんでも音声側は dcom が混じってて、内部でセッション管理と再送をやってる。

下手すると、DBが通信品質を当てにしてたりする。なのでトラブルと grace degradation しないで、

  輻輳で死んだり、DB不整合が起きたりする

わけね。実際、IP側は生きてたし。ま、

  そんな単純な話ではない

とは思うけど、

  頑張って品質保証すると、いざという時に折れるから、
  早めにさぼろうね

と思いました。

Saturday, 2 July 2022

neovim lua

本家 vim と、neovim の差はそれほどあるわけではないらしい。本家でも lua は動く。

わけですが、nvim-agda は動かない。librart (utf8 )の位置の問題かも。動かない理由はないかも。

今までの vim-agda よりははるかにましなんですが、JumpToError が動かない。

agda は Error の位置を byte offset で送ってくるのだが、vim の API byte2line がずれる。

どうも、line attribute の分だけずれている。それは、vim のbug で 2021/1 に修正されているが

  neovim ではなおってない

あっそ。github の log で確認しました。なので、自分で書くことに

  function byte2line1(offset)
    local i = 0
    local line = 1
    while ( i <= offset ) do
      i = i + string.len(vim.fn.getline(line))
      line = line + 1
    end
    vim.api.nvim_win_set_cursor(main_win, {line , 0})
  end

で、良さそうなんだが、まだずれる。付き合いきれないですよ。

  まぁ、近いところまではいくようになったから、いいか

ってところです。

あと、xterm では、

  set mouse=a

ってのを使えるってのをいまさら発見しました。でも、cut&paste が nvim/xterm で競合するので、Shift で切り替えるのか。

Friday, 1 July 2022

8bit なメールのその後

送信 folder が、また、q-encode になってるのに気がついて。mhbuid を追求したら (nmh なので )

    By default text content with the high bit set is encoded with an 8-bit Content-Transfer-Encoding. If the text has lines longer than the value of
    -maxunencoded (which defaults to 78) then the text is encoded using the quoted-printable encoding.

とかある。1行78文字ってのは欧米人のたわごだな。ところがさらに、

 Text converters should limit text line lengths to a maximum of 78 characters, and must limit them to a
    maximum of 998 characters, per RFC 5322 Sec. 2.1.1.

はい? まぁ、実用上は。utf-8 だと 300文字だから、MS Wordみたいにずらずら書く人はやられるかも。

  ~/.mh_profile
  mhbuild: -maxunencoded 998

で解決。

ついでに、

pick --Content-Transfer-Encoding 8bit

したんですが、けっこういますね。特に、ss-annouce がカオス。誰ですか、

  Content-Language: en-US
  Content-Transfer-Encoding: 8bit

で、Shift JIS 送ってる人は。

で、どうも、

  Outlook と ThunderBird

が 8bit で送るらしい。8bit がもはや3正解だと思うので、もっとやれってところです。