@ikeji うん、それはそう。なんだけど原理としてリーク自体は、という話をしたかった。
もしWeakRefを使って原理的に効果があるなら、それをやる時に同時に対処できることは他にもあると思う。
けどその場合、意味論の何がどう変わるんだろう、どこまで許されるんだろう、とかはちゃんと調べて・考えてない。
isConnectedじゃないもの全部をuse-after-freeみたいに扱っていいかというと、きっと違いそうだよね。
@ikeji うん、それはそう。なんだけど原理としてリーク自体は、という話をしたかった。
もしWeakRefを使って原理的に効果があるなら、それをやる時に同時に対処できることは他にもあると思う。
けどその場合、意味論の何がどう変わるんだろう、どこまで許されるんだろう、とかはちゃんと調べて・考えてない。
isConnectedじゃないもの全部をuse-after-freeみたいに扱っていいかというと、きっと違いそうだよね。
@ikeji 前話してたメモリリークとDOMのイベントやつなんだけどさ、
WeakRefとか` if (!n.isConnected) return;`とか、その辺を静的変換で自動挿入できたり、あるいは「ノードは全部WeakRefだからな!」っていうモードを作っちゃえば、リークそのものは解決する、のかな?
(と、ふとこれを見て思った https://zenn.dev/jotaifriends/articles/0c1f4c3a6ed7e5 )
本質的には、部分的に書き換わり続けるグローバル変数(window.document)に自分自身の参照を追加できる(属性に登録するイベントリスナ関数を呼ぶ時はtargetを渡す)、っていう循環構造があるから、どうにも逃れられない辛さは残るんだろうな、という気はする。
@ikeji デバッグ一択……!(いや無理せず)
@ikeji そう、自分はギリ現役で触ったことなかったからしらなかった。SCSIさん、物理的なコネクタもいくつも種類あるんだね。内部も外部も。
CD読み込ませる時、ターミネータ必要なのはしってたけど、はまるのを探すだけで右往左往してた。
@ikeji ふーむふむ、解説ありがと。
べ、べるく……と調べたら、四ピンの電源のやつか。そのページでいうと、5の写真の黄色い奴、のすぐ右にある、青くて小さい二ピン二つ、だよね?
たしかに電源足りないときはそれは合った方がよさそうだけど、素人的にはどう見ても、上の幅広の黒い方じゃね?って思う。けど、分からん……。
番号で言うと6番、次のアイテムの50ピンの方。
@ikeji なんかページを開いたら、筑波大の森の中にいそうな虫みたいな……いや違った失礼。
うーん。ともかくまず、どれが欲しいものか・望ましいものかが分からなさすぎるよねぇ。買うにしても、部分的に作るにしても。
せっかくそういうコミュニティとか成果があるなら、新しめのがいいかなーとは思うし。けどそれとは別に、入手容易性とか、Sunとの相性問題(動作実績)もあるし。
それで、いろいろあるけどまず先に。「あの黒いリボンケーブル」は、内部でSCSIとしてつなぐやつ? じゃなくて、Blueとラズパイ(GPIO?)をつなぐ、とかいうやつかな?
もし前者なら、新品を普通に安く売ってるのは確認してる。
@ikeji 本格的すぎるw 申し訳ないくらいで、ほんとありがとう。
Zuluさんはここに購入場所がまとまってて https://zuluscsi.com/wheretobuy/
自分はうさぎさんちから買おうと思っていた。
https://store.rabbitholecomputing.com
@ikeji でも、Reが動作報告があって、それのforkだからPiは動きそう、というのは有力情報だな。
Zuluは動いてそうな人と
https://kb.pocnet.net/wiki/SunOS_4.0.3c_SPARC
うまく行かないと言ってる人(けどキットで組み立てたからなのかなー)と
https://www.djerickson.com/sun/
Blueはだめぽって人と
https://github.com/erichelgeson/BlueSCSI/discussions/50
だいたい動いたって人と。
https://github.com/erichelgeson/BlueSCSI/discussions/193
正直、ここまで選択肢がたくさんあるものとは思ってなかったのでした。
@ikeji うーんなるほど。でもうん、急いで向こうで買うのがどうしてもじゃなさそうだし、バージョンもブランドも内蔵外付けも、ともかくパラメーター多過ぎて、後回しにすることになりそう。すまぬー
@ikeji なるほどー。でも数千円のポケットマネーで一つ手に入るなら、ぜんぜん十分だよ。
あとZuluだと内蔵タイプだったからそればっかりイメージしてたけど、こっちは外付けタイプのみなのかな?
どっちがいいかもまだ考えてなかった。
@ikeji ごめん、今見た。全部でか、すごい……予備考えて二つ手元において、残りの三つは誰か(だれ?)に譲ってもいいなを
ちゃんと資料読めてなくてごめん、なんだけど、ラズパイはどのモデルなら組み合わせられるんだろ?いくつか死蔵してはいる……一つは残しときたいくらいかな。
@ikeji ごめん、見落としてた。展開が速すぎて振り切られてしまう!
えっと、50とか100とかいうのは最小の五枚の「全部で」、てこと??だとしたら想定より安過ぎ、すごい。一枚ならまだ考える。
あとはまじめに、今のSunの空きスロットとか、どれならはずしてもいいかとか、を所有者(指導教員)に聞く必要があって、というのがクリティカルパスかな。結構、拡張とかもしてたっぽい。
それとまじめに系譜をたどって、PiSCSIよりよさげな・新しげなのがないかも調べたい。
けどその二つくらいか。
@ikeji なるほどー、まだ全容は分かってないけど、世界が広いことだけは分かった。dotで系譜の有向グラフを描きたい気持ちしかない。
ただ工場に製造依頼、とか自分には無理だな。それもあって「売ってる完成品がほしい、できれば安く」というのが前提なのでした。
そもそも「製造ファイル」が分からないし、「1つだか2つください」は高く付きそう。
@ikeji 互換性リストwww すごい。みてみる
@ikeji たしかにそれだった!最下部のバナーのクラスタには致命傷を受けたww さらにはigaliaの人だし、ネタと情報量が多すぎわろた。
ただ、今はそっち方面、あまり急がない状況になっちゃったんだよね(と、伝えてなくてごめん)。アダプタ標準添付だった初代HHKBと、転がってたクロスケーブルが発掘されて。
でもあったら嬉しいのは確かで、というところです。
次はまず(これは書いたっけ?)ZuluSCSIというのが欲しくて、販売店の一つに「おたくさ、Fedexの番号あれば日本にも2ドルで送るって言ってるけどさ、正気?」と問い合わせた後、「ところで九月上旬にシアトルに届いたりしない?」と聞く予定です。
https://store.rabbitholecomputing.com/ProductDetails.asp?ProductCode=ZuluSCSI%2DCompact%2DRP2040
(あと焦ってた納入期限は、実は特には無さそう……先生の人徳故かもしれない)
@ikeji おおお???助かる、見てみます
@ikeji 最後の話の関連で聞きたいこととして、「アメリカの陸送の郵便って、誤差5日以内とか頼めるほど信頼できる?」っていうのがあるな。
これの一番上が使えたら、送料的には最高なんだけど。
@ikeji うーんなるほど。その場合はメモリリーク(ヒープ領域が単調増加)以外にもいろいろ関連リソースがありそう。
それはタイムアウトじゃ安易すぎるのかな?行方不明者みたいに、あるアプリサーバIDがしばらく見に来なかったら死亡の扱いにする。あるいは「私は3人目なの」って言われたら2人目以前の分はいいよね、とか。
と書くと、n人目案は分散システムだととても厳しそうかな。n-1人目を看取ってn人目が生まれたのを監視する何かは生き続けて、両者の継続性(屋号とか王位継承みたいな??)の判定ができないといけない。
@ikeji なるほどいけじ違い!失礼しました。
イベントハンドラでDOMを持ったままだと、書き換えで無効になったオブジェクトまで参照し続けるから、かな。うーんそっか、なるほど。コンソールでconsole.logしたら残っちゃうよ、っていうのも前見た気がする。
RPC越しは想像できてなかった。処理系一つで考えたらもちろん無理だろうし、複数でうまくやろうとしたって通信の信頼性考えたらなおさら厳しそう。
今年だか去年だか、東大の先生が言語間・FFI越しのメモリ管理ですごいとこに論文通してたけど、ネットワーク透過のRPCはさらに大変そうだね。(そしてほぼ読んでなくてごめんなさい)
@ikeji それはそうと、メモリリークって言葉、周りではどう使ってたり聞いたりする?
たとえば、Rubyのクラス変数が配列で、そこに延々pushし続けたらメモリは減り続けるじゃん。それを「メモリリーク」って言うのかな?つまりは、言語の設計・実装ではどうにもできない範囲。
この辺も前からの疑問で分かってなくて、Facebookのツールがそう呼んでて余計に分からなくなったのであった。
076萌SNS is a social network, courtesy of 076. It runs on GNU social, version 2.0.2-beta0, available under the GNU Affero General Public License.
All 076萌SNS content and data are available under the Creative Commons Attribution 3.0 license.