無理してテーブルをSRAM上に配置するよりも効果あるなら、まずはここからいじった方が良さそうだな。
OpenBSD(uaa@), Ham(JG1UAA), Ingress(Lv14, RES), Japanese(Sagamihara-city, Kanagawa)
Another side: https://social.tchncs.de/@uaa
npub1rarr265r9f9j6ewp960hcm7cvz9zskc7l2ykwul57e7xa60r8css7uf890
Messages from this Mastodon account can read via mostr.pub with npub1j3un8843rpuk4rvwnd7plaknf2lce58yl6qmpkqrwt3tr5k60vfqxmlq0w
無理してテーブルをSRAM上に配置するよりも効果あるなら、まずはここからいじった方が良さそうだな。
secp256k1のデフォルトがECMULT_GEN_PREC_BITS=4, ECMULT_WINDOW_SIZE=15なので、この状態のままRP2040に突っ込んでも問題なく動くしパフォーマンスもちょい上がるということか。
2m4.065s(QSPI FlashROM, ECMULT_WINDOW_SIZE=2)
2m3.240s(QSPI FlashROM, ECMULT_WINDOW_SIZE=15)
ECMULT_GEN_PREC_BITS=4のまま。
2m26.652s (QSPI FlashROM, ECMULT_GEN_PREC_BITS=2)
2m4.065s(QSPI FlashROM, ECMULT_GEN_PREC_BITS=4)
3m3.592s(QSPI FlashROM, ECMULT_GEN_PREC_BITS=8)
ECMULT_WINDOW_SIZEは2のまま。
secp256k1_pre_g[]は未使用、secp256k1_ecmult_gen_prec_table[]のみ使用。このテーブルをどこに置くかで速度が変わるか見てみたら…
2m26.652s(QSPI FlashROM)
2m19.443s(SRAM)
ちょい速くなったかなーという程度か。1000回分の[署名とDM用の秘密鍵]の作成を繰り返すのにかかった時間。
emacs 27→28への移行はしないままになっていて、これは28に上げないと、というのがあるか…ASIX AX99100なPCIeシリアルは壊れてしまい、PCIなUSB2.0カードを外してCH351のPCI物に入れ替えたのでcom.cとUSB関連の修正はしなくて済むようになったが…MSIを無効化するre(4)の修正は必要だから結局インストール即カーネル入れ直しは避けられない…
今月はOpenBSDのリリース月(だよね?)なので、あまり大きなことができないな… https://www.openbsd.org/faq/upgrade73.html を見るに、アップグレードする際の大きな注意事項はなさそうな気がするから、そんなに困ったことにはならないと思いたい。
現状でもまあまあの速度では動いているようだから、無理にガリガリとチューニングする必要性は無い気がする。ただ、どこまで速度が上がるのか…という興味があるので。
secp256k1のコード、cじゃなくヘッダにあれこれ書いてあるので生成されるオブジェクトファイル名の把握がちょい面倒なのと、結局こいつに手を入れないことにはRP2040向けの高速化はできないんじゃないかって気がしてきた。git submoduleで取り込んでるんだけど…その差分をpushとかそういうのはできるものなのか…?
ブートローダがsection .time_criticalなものすべてをSRAM上に展開し、そこへ飛んでくれれば事態は解決って訳か。できるのか?
こいつか。__not_in_flash_func()も結局最終的には__not_in_flash()経由でsection .time_criticalに置かれると。 https://github.com/raspberrypi/pico-sdk/blob/master/src/rp2_common/pico_platform/include/pico/platform.h#L112
How to put code and data in specific SRAM banks (2022/9/29) https://forums.raspberrypi.com/viewtopic.php?t=340742 によれば、__not_in_flash_func()なるものを使えばいいらしい。追ってみよう。
RP2040 Doom https://kilograham.github.io/rp2040-doom/speed_and_ram.html まで極端なことはしようと思っていないけど、とはいえ雑に数えても200kB程度のSRAMがあるならここでコード実行させてくれても良いはずなんだよ。
R{2040、XIP cacheを使ってQSPI FlashROMへのアクセスの遅さをカバーして、cache切ると遅くなるのは https://github.com/Sreekesh92/rp2040_xip_cache で分かったけど…内蔵RAM内にtext/data全部収まっちゃうならそこに全部突っ込んで動かすっていうのはどうなんだろう。多分どこかに実装例有りそうな気がするんだけど。
そしてこれをMastodon側でboostするとちゃんとNostr側でもrepostしたよんという通知が来る。
このアカウントは、notestockで公開設定になっていません。
このtoot、Nostr側だと「ハッシュタグのテスト @npub1v6h39d8」って見える。あと、Nostr側でrepostするとMastodon側ではboostがかかったという通知が来る。
Mostr使っててちょっと困るのがコレ(mention)。あと、Mastodon側のハッシュタグがNostr側だと化けてしまう問題があるので結構厄介。Nostr側はハッシュタグの概念がない…筈なので、そのままMastodon側へ行けるんだけど。
このアカウントは、notestockで公開設定になっていません。
クロスポストのセカンダリ以降側を人間名義ではなく同時配信botみたいな体裁にしておくことで緩和できるかもしれない
あーすみません、既にMostr bridgeによりNostr←→Mastodon相互に自分のnote/tootがですね…ごめんなさい。
これやってると、あまりFediverse側からはいい顔されないことが多いので注意ね…
Twitter に投稿したツイートを Mastodon に転送するようにした - mizdra's blog
https://www.mizdra.net/entry/2023/04/09/014905 #iwatedon
もちろん、と読んでいた絵文字、まさか(伏せる)が正式名称だなんて…ぃゃ実際そう書いてある…
普段は長いからCWにするところだけど、今回はで。
【寄付を募っていたり、自分が気に入ったり良く使っているソフトウェアやサービスには積極的にお金を落とそう🎵👍】
なんか自分が見ている範囲の世界では、物理的な形がないためか、ソフトウェアにお金を払うことに馴染みがない、タダで当然という人を割と見かけるんだわよ。
お金を積極的にドウゾ!🤲💴することで、そのソフトウェアが正しい方向に成長していけたり、開発者の人が継続的な収入を得ることができたり、寄付をすることでそのソフトウェアを無料で多くの人々に配布することを続けられたりとか色々ハッピーな事が起こることが期待できるネ。
お店でお買い物しているとき、つい安いからって要らないモノ買っちゃうときってあるじゃない? 今度からはなるべくそういうのを減らして、浮いたお金でできる範囲で良いから寄付にトライしてみよっ!
みんなで少しずつ世界をより良い場所にしようね🌐
(なんとなく思いついて書いただけの文章であり、特定の人を貶める意図はないよ。Love & Peace!)
これ何が間違ってるか全然わからなかったので補正通知(二回目)食らってから一か月以上放置してたんだけど…やっとわかったわ。
あー、変更申請がreject食らったの分かった。第一送信機の21MHz→14MHzの変更申請を出していたのだけど、局免上では第二送信機の430MHzが生きたままなので、希望する周波数帯にこの指定を残しておかないとダメって奴だ…(14MHzのみ希望する、と書いちゃったので第二送信機はどうなってんの?とツッコまれてる訳だ)
@balloon 今Misskey.ioに繋いだら13.11.0に上げたってメッセージ出てます…
もしかして、(8/16bit MCUの値段+開発コスト)と(32bit MCUの値段+開発コスト)、この2~3年くらいで後者の方がトータルで安くなってたりします?
シリコンの値段よりも、ソフトの規模とか作りやすさ・ツールやライブラリの充実度といったヒト側のお値段が下がってきたんじゃないかなーと思っていて。
リスキリングってgoogleで調べるに、re-skilling(学び直し、スキルの再獲得)って意味みたいだけど…記事によっては「(新しいスキルによって)新しい業務や職業に就くこと」という文言が続いてるんですよね。
リストラクチャ(再構築)のはずが首切りの代名詞になったリストラ、を考えるに…リスキリング/リスキルも首切りの言い換え語に今後なる可能性は低くないってことでしょう。
リストラクチャがリストラと言われてだいぶ経つけど、リスキリングもリスキルって略されるのか…
まあ引用RTするだけでブロックしちゃうような人達が居る界隈に、「マトモ」な議論ができるのか…という疑問は、持って良いよね?
なので、正直言ってTwitterのあのクラスタはあんまり近寄りたくない。DMR無線機向けのホットスポット(移動しない局)とハンディ機(移動する局)に無線局を分けていても、同じコールサイン同士の通信を認めないことを総務省がきっちり言うようになってしまった以上、当時グレーゾーンだったこの設備で運用してると呟くどころか運用していることが判明してしまったら(リフレクタサーバから情報が取れる)間違いなく攻撃対象になるだろう。
このアカウントは、notestockで公開設定になっていません。
@1f46356a832a4b2d65c12e9f7c6fd8608a285b1efa896773f4f67c6ee9e33e21
nsdemu、前半部分だけ切り出して(02)付けて処理するという謎コードを書いていたのでこれは改めております。
@1f46356a832a4b2d65c12e9f7c6fd8608a285b1efa896773f4f67c6ee9e33e21
compressed formはuncompressed formの前半部分だけ、に見えるけどprefix(02)がY側の条件によっては(03)になるので、必ずしも前半部分だけとは言い切れない。なので、uncompressed formから頭の(04)を取り払ったものをhorseは投げて、nsdはこれを(04)ついてるものと解釈して処理する…が正解。
@1f46356a832a4b2d65c12e9f7c6fd8608a285b1efa896773f4f67c6ee9e33e21
あっち(Nostr)側の話にこっち(Mastodon)側でコメント付けちゃうと、https://en.bitcoin.it/wiki/Secp256k1 のTechnical detailsにあるcompressed form(X-only)/uncompressed form(X and Y)をちゃんと理解してますか?って話だった。