2025年4月25日金曜日

windows環境では、bunでplaywrightは動かない

まぁそんな気はしていた。

bunがOSレベルのアクセスはポリシーの範囲外だからな・・・


ちなみにlinuxベースなら動くっぽ

2025年4月24日木曜日

n8nにて、再実行の履歴管理が甘い

例えば普段成功しているが、失敗したフローがあるとする。
再実行できるが、最新版のワークフローは使えるが、失敗ノードからしか実行できない。

なので、無理やり頭出しするには、
・トリガーノードの次にfunctionを用意し変数を与える
・その次にswtichノードを用意
・トリガーノードと並列のテストデータを用意&変数を与える
・swtichで変数を見て、どのデータを使うか切り替える




だがこれで行ったとしても、結局どのフローが何回目で成功したのかがわからん。

ガチャガチャしてると、失敗したノードが最終的に成功しているのか、失敗したままか、そもそもリトライしていないのかが、まったくわからん(番号追いつつければ一応わかるが)


zaierやmakeは、その辺はちゃんとしてる。




プログラマならpython制のフローフレームワークperfectを使った方が、幾分かましな気がする・・・

2025年4月17日木曜日

n8nのセルフホストで苦労した話

専用に建てればよかったのに、どっかのサーバの片隅でやろうとした。

Oauth2用のリバースプロキシ設定し忘れて、異常に四苦八苦した・・・

しかもCaddy使ってた。いつもならtraefikかnginxなのに・・・

ケチらず有料のクラウド版か、専用のサーバを建てましょう。



OAuthで最後のコールバックの処理が504で終わってしまう、詳しくログを追うとわかった・・・
というか想像しトケよ!俺





雑書き

cat /home/n8n/docker-compose.yml 
version: '3.8'
services:
  n8n:
    image: n8nio/n8n
    environment:
      - N8N_HOST=n8n.souzoku-tsumugi.net
      - N8N_PROTOCOL=https
      - WEBHOOK_URL=https://n8n.souzoku-tsumugi.net/
    ports:
      - "5678:5678"





grep "server_name" /etc/nginx/sites-available/default 
        server_name localhost;






cat /etc/nginx/sites-available/n8n.conf 
server {
    listen 80;
    server_name n8n.souzoku-tsumugi.net;

    location /.well-known/acme-challenge/ {
        root /var/www/certbot;
    }

    location / {
        return 301 https://$host$request_uri;
    }
}

server {
    listen 443 ssl;
    server_name n8n.souzoku-tsumugi.net;

    ssl_certificate /etc/letsencrypt/live/n8n.souzoku-tsumugi.net/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/n8n.souzoku-tsumugi.net/privkey.pem;

    location / {
        proxy_pass http://localhost:5678;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }

    client_max_body_size 100M;
}






2025年4月16日水曜日

ゴリラの神から加護された令嬢は王立騎士団で可愛がられる ジェネレーター

ジェネレーター作りたくなるアニメ。

アプリ名:ゴリラの神から加護された令嬢は王立騎士団で可愛がられる

「ゴリラの神から加護された令嬢は王立騎士団で可愛がられる」の名詞や動詞などをすべてランダムで生成する。


ゴリ神ジェネレータ

完璧聖女ジェネレータ








2025年4月13日日曜日

耐量子暗号をgptに聞く

NSAも関与するNISTの耐量子暗号標準化プロジェクトで最終候補に採択され、標準化されました(2022年)

通常版

🔐 Kyber の数学的な基礎

Kyberは「格子ベース暗号」の一種で、特に「Module Learning With Errors(Module-LWE)問題」に基づいています。


📌 概念:格子(Lattice)とは?

簡単にいうと、整数の線形結合によって作られる多次元のグリッド構造のこと。

格子暗号は、**「格子に関する困難な問題」**を暗号強度の根拠にしている。


🧮 Kyber の構成要素(数式レベル)

Kyberは、以下のような整数環と多項式環を使います。

📘 使用される数論構造

  • qq:素数のモジュロ(Kyber-1024では q=3329q = 3329

  • nn:多項式の次数(Kyberでは n=256n = 256

  • Zq\mathbb{Z}_q:mod qq 上の整数環

  • Rq=Zq[X]/(Xn+1)R_q = \mathbb{Z}_q[X] / (X^n + 1):次数 nn の多項式環(Kyberが定義される主な空間)


📦 Kyber の主要な操作とパラメータ(Kyber-1024)

項目内容
kkセキュリティパラメータ。Kyber-1024では k=4k = 4
ARqk×kA \in R_q^{k \times k}公開のランダム行列
s,eRqks, e \in R_q^k小さなランダムな「秘密ベクトル」
t=As+eRqkt = A \cdot s + e \in R_q^k公開鍵の一部(ノイズ付き線形写像)

🔐 鍵生成(KeyGen)

  1. ランダムな行列 ARqk×kA \in R_q^{k \times k} を生成

  2. 小さい多項式ベクトル s,eRqks, e \in R_q^k を生成(ノイズ含む)

  3. t=As+et = A \cdot s + e を計算

  4. 公開鍵: pk=(A,t)pk = (A, t)

  5. 秘密鍵: sk=ssk = s


🔐 鍵カプセル化(Encapsulation)

  1. 新しい小さいベクトル r,e1,e2Rqkr, e_1, e_2 \in R_q^k をランダムに生成

  2. 暗号文:

    • u=ATr+e1Rqku = A^T \cdot r + e_1 \in R_q^k

    • v=tTr+e2+mRqv = t^T \cdot r + e_2 + m \in R_q

    • ct=(u,v)ct = (u, v)

  3. 共有鍵 kk をハッシュで導出(SHA3-256(ct || m)など)


🔐 鍵復元(Decapsulation)

  1. (u,v)(u, v) を受け取る

  2. m=vuTsm' = v - u^T \cdot s

  3. k=Hash(ctm)k = \text{Hash}(ct || m') で同じ共有鍵を再構築


🤯 なぜ安全なの?

暗号強度は以下のような「難問」に依存:

🧩 Module-LWE 問題:

与えられた AA, t=As+et = A \cdot s + e において、 ノイズ ee がある状態で秘密 ss を求めるのは困難。

これが、量子コンピュータでも解くのが困難だと考えられています。


📉 ノイズ(エラー項)の役割

  • Kyberでは eee1,e2e_1, e_2 のようなノイズ多項式を各演算に混ぜています。

  • これにより、観測される ttvv から逆算して ss を復元することが不可能になります。


✅ まとめ:Kyberの数学的本質

概念内容
暗号基盤Module-LWE問題(格子ベース)
数学的構造多項式環 Zq[X]/(Xn+1)\mathbb{Z}_q[X]/(X^n + 1)
安全性の鍵ノイズによる逆算困難性
特徴高速、コンパクト、量子耐性あり

📘 補足資料
















幼稚園児


了解〜!じゃあ、Kyber-1024幼稚園児にもわかるように、超やさしく説明してみるね🍭


🎁 Kyberは「秘密のプレゼント交換ゲーム」だよ!

👧🏻 ある日、アリスちゃんとボブくんは

他の誰にも知られないように、おそろいの秘密のパスワードを作りたいな〜」って思ったんだ。

でもね…

😱 おしゃべりすると、悪い子(ハッカーくん)が聞いちゃうかもしれない!


🎩 そこで使うのが「Kyber」っていう魔法の箱

この箱はこういうことができるよ:

🧙‍♂️ 魔法1:「秘密のかけら」を入れると

  • 誰にもわからないようにぐるぐるまわして

  • 秘密パスワードのカプセル」を作ってくれる!

🧙‍♀️ 魔法2:そのカプセルをアリスちゃんが受け取ると

  • アリスちゃんだけ

  • ボブくんと同じパスワードを取り出せるの!


🛡️ なんでハッカーくんにはバレないの?

  • このカプセルの中には、**ちょっとだけわざと入れた"まちがい(ノイズ)"**があるんだ!

  • ハッカーくんはこのノイズのせいで、中身を見てもわけがわからなくなっちゃう!


🤖 そして!未来のこわい「量子コンピューターくん」が来ても…

  • Kyberくんの魔法はとってもむずかしいパズルになってるから、

  • どんなに頭がよくても **ぜんぜん解けない!**🧩


🎉 だから Kyber は…

  • かしこい大人たちが作った、

  • とーっても強い鍵交換の魔法道具なんだよ✨


まとめ☝️

誰?何した?
アリス秘密のパスワードをボブと共有したい
ボブ魔法のカプセルを送った
Kyberカプセルを作って、中身はノイズ入りで守った
ハッカーノイズでわけわかんない!😭




あれ?VZ editorがオープンソースになっている・・・

嬉しいので記す。

さすがc.mos氏
オープンソースにしてくれるとは!
https://github.com/vcraftjp/VZEditor

昔はこれでFC, SFC, WSのゲームを作ってたよな~、なんならPS1, Saturnもか。

ちょうどターミナル上のエディタを何か仕込もうかと思ってたんだよ・・・
neovimじゃない何かで。
しかし昨今のlinux OSじゃ動かんだろ・・・
PC/AT互換機版でも、ツールチェーン合わないよな。
これこそarm系に乗せたいが、変換が難しそうだ。


cursorでvzのasmをrustにしろ!といったらvi作ってきたwww

vzはファンクションキーを多用するから、昨今の環境(vscode、ブラウザ)と相性悪い。
がちターミナル用だな。

しかもUS60キーだと更にキツい・・・


完全に移植を失敗した糞エディタをあえてwarpで表示してみた(昔なので80x30表示がズレてる)













ついでに、edlineがいつから無くなったのか調べてみた。

❓ Edline はいつ無くなったの?

残念ながら公式な記録や大々的なアナウンスは残っていませんが、調べた限りでは:

  • 2010年代前半〜中盤くらいまで存在

  • GitHubなどでも2020年以降は更新されておらずほぼ自然消滅に近い形

  • 公式サイトやドメインは現在アクセス不可(と思われます)

たぶん、2016年〜2018年頃にひっそり姿を消した感じですね。





✅ まとめ

システムエディタ名最終搭載バージョン備考
MS-DOSEDLINMS-DOS 5.0MS-DOS 6.0で削除
UNIXed現在も搭載POSIX標準、現行UNIX系OSでも利用可能






njjalaの親戚


https://customer.prq.se/index.php?/products/

bitcoinで払えるけど、ETH無理っぽい。
なぜかraspiのVPSがある。
家に40個以上あまってるからいらんけど・・・



https://flokinet.is/


あいうえお