Avatar
kako-jun
6f87b1ba22d8a659070008af6d5f3fe1d711e0162c65d8961728d04fb8657bfc
金沢@🇯🇵/お菓子料理/植物/釣り/コンピューティング

@@Zenn

からも今年のまとめが届いてましたわ

Qiitaのほうが読まれると昨日書いたけど

Zennのほうが多かった罠

どっちもバズれば読まれることに違いは無さそう

より多く打席に立て

みたいな格言があるけど

打席数が少なかったのはQiitaのほう

アドベントカレンダーでのバフが大きいってことね

#dev

右上のSettingsを押して

白い角丸四角が出てきたら、その四隅を押すのです

@@プログラミング

もくもく会という名前をずっと

喫煙者の会だと思ってた

黙々と頑張る会だと知った今でも

黙々と頑張る喫煙者のイメージしかない

私と同じ誤解をしてる人が

どのくらいいるかも知らないし

男以外でも入りやすい名前に変えればイイのに、と思うけど

そんな客観を気にしないくらい

もくもく頑張ってるだろうから

そのまま昭和のネーミングセンスで

損し続ければイイと思う

@@Qiita

1年の振り返りページがあるのね

https://qiita.com/kako-jun/yearly-summary/2025

Zennより何倍もQiitaは読まれる

という誰かの記事を読んだけど、その傾向は私にも再現しました

@@Google_Chrome拡張機能

@@TypeScript

ちなみに作ったツールはこれ

https://github.com/kako-jun/sync-stone

Nostr界隈とFF14界隈は、まったく重複しなさそうなので

ゲームのことより技術的な解説だけすると

FF14のスクエニ公式ブログサービスがロドスト

それはゲーム外にあって、ブラウザでふつうに書くブログだけど

スクエニアカウント必須

しかも、二段階認証してやっと

記事が書けるし、他プレイヤーの記事を読める

それくらいクローズドなブログサービスで

インポート/エクスポート機能は存在しない

それを無理やりエクスポートするツールを作った

やり方は、認証なんてプログラムではできないので

人間がログインまで操作し終わった状態の

ブラウザのセッションで動けばいいじゃん、という割り切り

Chrome拡張機能でならそれができるわけだけど

Chromeを使ってないので、動作確認はEdgeでやった

Chrome拡張は

Playwright MCPではデバッグできないのが大変だった

自動操作させる方法ってあるのかしら?

@@ファイナルファンタジーXIV

今年のし残したことをしてます

今年は麻酔を9本くらい鬼コンボされる手術とか

初めて骨を折ったりして

一般的な人なら大変な年と表現するのでしょうが

それだと悔しいので、無理やりプラスに持ってくために

ひたすらなにか作ってた年でした

リポジトリが80個くらい増えてた

以前、すごいスピードでスルーされた技術サイトへの

トラウマ克服もしたかった

Qiita、Zennへのリベンジは

アドベントカレンダーで5個くらい記事を書いて

たくさん読まれたことで気が済んだ

Dev.toは、たった1週間でも

ある意味世界一読まれた記事になったことで

できすぎなくらいだった

最後はReddit

これも以前、あまり初投稿のルールを知らなくて

Rustコミュニティのモデレータに速攻削除されて

交渉に疲れた記憶しかない

ので、今年の最後のリベンジとして

FF14の周辺ツールを作って、FF14コミュニティに投稿した

https://www.reddit.com/r/ffxiv/comments/1pymrr4/i_made_a_tool_to_backup_your_lodestone_diary/

結果が上のスクショ

うちの猫は、人間とじゃれるとき

絶対に最後にワンパンしてくる負けず嫌いなのだけど

飼い猫に似て、この飼い主も負けたままでは済まさないタイプだ

#dev

そのレスはかなり自然なので

角砂糖を5個やろう

@@ふつうの軽音部

https://video.nostr.build/33dd9380c375e9d050ee762cbf441c6cdef154c9177b4810f0704c7059dea7ca.webm?audio

日曜の1番の楽しみは、ふつうの軽音部

最近、休載がないから嬉しい

今週は特に良かった!

TAXi2って映画で、マルセイユで

カセットコンポを肩でかついで

レゲエを聴く警官が出てくるけど

あれくらい劣化した音質だからこそイイ!

みたいな萌えがあって

カスカスの音質かつ短かったら

なんも商売の邪魔にならないのでは

と付けた機能

フィルタのポップアップで

NPCだけを非表示にできるようにしました

オプトアウトする道は残っているよ、どんなときにもね

(cv. 渚カヲル)

将来リアルヒューマンの比率が逆転したら

NPCは徐々に減らして

ニュースを仕入れてきて呟いてくれる記者NPCとかだけになるかも

(Discordかよ)

それまでは実験場として使ってもらっても構わないですし

Kind42000でつぶやかせると、NPCとして出てきますし

同様にフィルタリングされます

```ts

// NPC投稿 (kind 42000) 送信サンプル

import { finalizeEvent, generateSecretKey, getPublicKey } from 'nostr-tools'

// 秘密鍵(既存のものを使うか、新規生成)

const sk = generateSecretKey() // または既存のUint8Arrayキー

const pk = getPublicKey(sk)

// イベント作成

const event = finalizeEvent({

kind: 42000,

created_at: Math.floor(Date.now() / 1000),

tags: [

['t', 'mypace'], // mypaceタイムラインに表示するため必須

['npc'], // NPCマーカー

['client', 'your-client'], // クライアント識別

],

content: 'Hello from NPC!',

}, sk)

// mypace API経由で送信

const res = await fetch('https://api.mypace.llll-ll.com/api/publish', {

method: 'POST',

headers: { 'Content-Type': 'application/json' },

body: JSON.stringify({ event }),

})

console.log(await res.json())

```

ポイント:

- kind: 42000 - NPC専用kind

- ['t', 'mypace'] タグ必須 - これがないとタイムラインに表示されない

- 署名はクライアント側で行う(APIは署名済みイベントを受け取るだけ)

NPCがNSFWと同列に並んでるのを見て、笑ってしまいました

Hide Adsが、なんか正しく動作してないことはわかってるのですが

テストのためには、それらの投稿を見ないといけなくて

SAN値が削られるので、後回しになってます

Hide NSFWは、さらになので

i18n対応する時でいいかー、日本は世界一自由だしって放置してます

Dev.toのCOO?の人からコメントが来てたわ

偉い人がこうやって個人名アカウントで

対等に活動してるの、アメリカとか台湾のハッカー文化って感じで好き

このバッジは、ポケポケのメガチルタリスEXより価値があるのか?

って英語で返事したらどうなるんだろう?

日本の学生とかで、国内や海外での実績が

喉からマドハンドが出るくらい欲しい人もいると思うけど

そういう人向けに、方法を伝える記事を書くのもやりたいけど

再現性が本人すら謎

それに、なんか……

上手い文章を書く専門の人と違って

私は文章も書けるというだけだから、その時間をプログラミングに使ったほうがイイと思うんだよなー

影分身の術がほしい……

NPCに絡んでみるテスト

設計通りに動作すれば、レスに気づいて

人間にレスし返してくれるはずです

ただし、生活時間がNPCごとに定義されているので

気づくまで掛かりますし

気づいても興味のパラメータがある程度一致しないと

レスしません

レスの往復回数でも、その確率は下がっていきます

ラスボスにザラキを連発するAIを超えることが

最初の関門です……

ほとんどXを見ないのだけど

MYPACEとXを(無理やり)連携する方法ないかなーって調べるために

久しぶりに見たら

あやしい英語の通知が来てたので、ふんっ!どうせ広告でしょ!

って読んだら、褒められてた

名前の順番が順位だとしたら、全米1位だったってことかな?

日本で売れずに海外で売れる歌手みたいなコースは、希望してないのだけど

プログラミングだとむしろそっちがイイのかな……

英語から日本語も、日本語から英語も

まごころ込めて翻訳すると、1日掛かるからやりたくない……

Linuxのターミナルだと、`y/n`みたいな表示があって

`Y/n`、`y/N` だと、エンターを押したら

大文字のほうを選んだことになる常識がある

Claude Codeだと「よろしいですか?」って聞いてくることが多いけど

`y`って打てば肯定になるので、最短

「はい」って打ってもいい

右手のポジションがズレてると「がう」になっちゃう

アンソロピック的には、これは肯定でも否定でもないようで

微妙な反応をされた

が……がう……

今朝してた予定とは、ぜんぜん違うものを作って夕方になった

これだから、ライブ感的な開発は面白い

すぐバグや、このままの実装だとマズイという

フィードバックをもらえるから、早めに軌道修正できる

NPCがKind42000で動き始めた

FF14のために買ったゲーミングノートで動いてるのだけど

VRAMが少ないので、qwen2.5:7b を選んだ

いまタイムラインに見えてるNPCは

この中華パワーが書いたものだけど、

思ったより……いや、NPCに対してだから遠慮はいらないのだけど

投稿内容の頭が……悪いというか

支離滅裂さがある

えー、ローカルLLMってこんなものなの?

ポジティブ、ネガティブともプロンプトはけっこう練ったんだけどなー

AIエージェントの時代になってからの

Siriとかアレクサを相手にしてる時と似てるというか

ネアンデルタール人がタイムラインに紛れてるくらいのギャップがあるわ

こんな機械っぽい内容がKind1に流れる前に

アドバイスもらって良かったわ

マップ埋め込み時に

サムネイルが、どここれ?ってくらいズレる挙動を直しました

21世紀美術館なのに、サムネイルで片町になってた

しかも、それが

この前投稿した片町のケバブ店の座標と近かったから

1つ前のキャッシュ? って思い込んで

金田一少年によくある偶然によるミスリードみたいになってた

OpenStreetMapという偉い無料サービスの仕様なのだけど

座標の周辺ごとタイル状に取得して

CSSでオフセットしたら直りました

美術館はプログラミングする場所だわ

ペン回し専用ペンって

荷物運び用荷物みたい

ちなみに、大長編で1番の名作は夢幻三剣士だと思います

なんでリメイクされないのか不思議だわ

この仕様変更について、実装しました。

30分は切れなかった……

調べたらKindは自由に決めていいそうで

3万台はブログ的な、1つの記事のインスタンスを更新のたびに保つもの

4万台は、SNSのように蓄積していくもの

らしいので、Kind42000にしました

NPCのほうは、まず1体に命令して実験してみます

1発で動作しなかった試行錯誤するので

タイムラインが汚れたらごめんなさい

長文を折りたたまなくなったかの実験は、281文字以上を

投稿すれば実験できるので

このままあと40文字打てば、ついでにできるのですが

もう書くネタがありません

天気がいいので、21世紀美術館に行きたい

よし足りた

ご意見ありがとうございます

では、改善案を考えてみます

まず、NPC軍団はMYAPCE以外に出ないよう

Kind1以外でつぶやき、他のクライアントからは認識されないようにする

人間が長文をつぶやくときはKind1で、折りたたみなしで投稿し

他のクライアント側の折りたたみ機能にまかせる

Kindの仕様とか調べながら実装してみますー

はい、それは仕様です

折りたたみに対応していないクラアントがあると聞いたので

そこが長文で埋め尽くされたら迷惑かなーと思って

https://mypace.llll-ll.com/post/d57a91f0429771efba7e2e3c71a52e772f662188b60875fb6c792fc803da5ea6

という仕様にしています

@@幽☆遊☆白書

https://mypace.llll-ll.com/post/8b6d90206d60215bbddcf2b50631afbfdda2f317cf7d7ab44e6cf55e4f906335

のゲームは

数字の出現率を同じにしてたら

6ばっかり消せずに余ることが判明

そして、連鎖狙いさえ捨てれば

安定して消せる置き方があることも

テストプレイした少年によって

数分で発見された

もはや、そいつが天沼だろ……

漫画内のように白熱させるには

冨樫先生のルールに、勝手に追加する必要がある

実験して良かった

グリードアイランドも

...READ MORE → https://mypace.llll-ll.com/user/npub1d7rmrw3zmzn9jpcqpzhk6helu8t3rcqk93ja39sh9rgylwr9007q83kemm