ActivityPubサーバーのバグ修正メモ

2025/3/29 [10:02:19] (土) 天気

ここんとこ時間もあるので、おひとり様サーバーの機能追加やバグ修正。

忘れないようにメモしておこう。


・仏語アクサンや独語ウムラウトまじりの投稿で文字化けを起こしてJSONのdecodeで失敗していた。


JSON.pmは文字コードというかutf8フラグの扱いにクセがあって。

decode_jsonに渡すJSONはutf8フラグがついていてはいけない/事前にutf8フラグを外す必要がある。


なので、事前にEncode::is_utf8でutf8フラグの有無を調べて、utf8フラグがついてたらEncode::encode(’utf8’,JSON)などと、utf8フラグを外して渡してた。


アクサンやウムラウトは見た目1文字

「â」「ë」

だけど、コードポイントは2バイト使う(日本語などは3バイト)ので、スクリプトではutf8フラグをつけて扱う(検索などにそのまま使えるから)

これをEncode::is_utf8でうまく検知できてなかったっぽい…「ぽい」というのは、まだしっかり特定できてないから。

evalでdecode_jsonを括って$@でエラーを捕捉してるところ、エラーが出たらもう一度同じ処理を入れることにした。原因追求をさぼって結果オーライ、というのは昔からの得意技(技?



・お相手サーバーの生存確認を追加した。


応答の確認に時間がかかるサーバーがあった。セッション切れを起こしてしまうのは致命的。


「LWPでtimeout指定が効かない」

https://t2aki.doncha.net/?id=1731205503

↑この対応で解決したはずなのに、このtimeoutの処理が効いていないサーバーがあった。

同じ500番代なのになんでだろ…。


てことで、投稿を配送する前にお相手サーバーが応答してるかどうかの確認することにした。

lwpでリクエストを投げてもたぶん同じことだろうし、Net::Pingを使うことにした。

今のところ意図通りに捕捉できてる。



・アナウンスした時にフォロワーさん以外に通知が飛ばない。


Activityの配送先は自分のフォロワーさん。なので「自分のフォロワーさんじゃないアカウント」の投稿をAnnounce(ブースト、リポスト、リノート)したら、そのアカウントにも配送する必要がある、ということをすっかり忘れてた。


AnnounceするActivityの投稿者をフォロワーリストで確認。

フォロワーリストに入ってなかったら、配送先に追加。



細々というか、2年近く使ってるというのに、いろいろ出てくるもんだ。


image

けっこうなスピードで疾走感があった。楽しそうでいいよねえ。

Ingress LV16 カンストとなった

2016/3/29 [17:51:45] (火) 天気

lv15からlv16は、ほとんどひたすらAP稼ぎだけなので、ぶっちゃけ退屈で長かった。

去年の9月18日にLv15になって、今日、3月29日にLv16だから半年ちょっとかかってる。


一昨年、2014年の9月頃から始めて、ほぼ2年。

どれだけ阿呆なことやってるかというと、ポータルを回って歩いた距離(メダルの「Trekker」Distance Walked)が3000Kmを超えたぐらい。東京大阪が高速使って500kmぐらいだから、2年かけて歩いて3往復したことになる。


ほかのエージェントプロフィールを見ると、わたしよりも後から始めて、もうとっくにlv16の上り組はいるので、2年でレベル満了は決して早い方じゃないけど、毎日朝から晩まで一日中やってるわけではない。


ちんたらプレイでも、仕事で週に何度か都心部のポータル密集地に出かけるのが有利だった。

一時間早く駅に着いてぶらぶら。仕事帰りにもやっぱり30分ぐらいぶらぶら。てな感じだ。


都心部のポータル密集地はポータルが柔らかいんで(シールドが入ってなかったり、刺さってるレゾネーターが低レベルだったり)破壊→キャプチャ→リンク構築のコストが安い。

前にも言ったけど、このゲーム、都市部と地方の格差が大きいなあ。


ゲームとしては、ハックした回数や破壊した回数など「実績」に応じた「メダル」があって、その上限はオニキスとなる。


わたしのlv16は後から追加された楽なメダルで達成してる、いわゆる「量産型」lv16なので、古参ユーザーが血の汗かいて取得した本来のlv16を目指す、実績メダルでオニキス目指すというのもありかもしれんけど、いやさすがにもういいやな。


地元行動範囲のファーム(農園=高レベルポータルの密集地)のメンテぐらいにしてIngress余生を過そう。


Ingress、ウォーキングをするようになってメタボ関係の数値がそれはもうハッキリ露骨に良くなったんで、Ingressの代わりのウォーキングをするモチベーションを探さないといかんなぁ…。


image

2015年花見その1みさと公園

2015/3/29 [10:10:49] (日) 天気

そろそろ開花宣言。とはいえ、まだ近所は蕾が目立って5分ぐらいかな。とりあえず、ちょっと足を伸ばして埼玉県のみさと公園に花見というか散歩というか徘徊しに行ってみた。

image

近所の日当たりの良いお稲荷さんの小さい桜は満開なんだけど。

image

公園の桜はまだ開ききっていなくて4〜5分咲き。

image

それでも花見の団体さん、バーベキューの団体さん、家族連れでけっこうな賑いだった。


水元小合溜を挟んで、みさと公園の向い側はすぐ東京の水元公園。対岸から眺めていて、一度来てみたかったんだけど、ここに来るには巨大な溜池を大きく迂回するしか手段がなくて、かなりの距離。昨日は最寄り駅からバス利用。

橋のひとつも架けてくれりゃいいものを。

東京と埼玉で管理が違ったり面倒くさいんだろか。


東京23区で最大級の水元公園の9分の1ほど公園だけど、バーベキュー広場やバードサンクチュアリ、蛍池、薔薇園、遊具類などバラエティ豊かな公園だった。


バスの時間も読めなかったので、帰りは徒歩。

ということで水元公園もついでにぶらぶら。

image

初めてはいった金魚展示場。黒の出目金なんて久しぶりに見たなぁ。

http://www.city.katsushika.lg.jp/2883/003149.html

image

土手沿いの桜はまだ4分というところだったのに、神社本殿の桜は満開だった。

image

やたらエラソな猫は神社仏閣につきもの。

image

ちょっと先の別の公園の桜は8分ぐらいで綺麗だった。


image

よく歩いて18000歩。

天気もよくて気持ちいい一日でありました。桜花見の本番は来週だろうな。


ヨメもLv.10になったことだし。

[更新]2026-02-01 09:35:55

うちの近所はまだ花見には早かった

2014/3/29 [21:16:22] (土) 天気

うううう。花見大好きなのに、今日はまだウチの近所の公園は蕾状態だった。

今日の収穫は、初めての「星野珈琲」で初めて食った「スフレパンケーキ」がめちゃ美味かったということ。


たぶんあちこちで言われてるので何を今さらだろうけど、スフレになってる以外は子供の頃に食った「ホットケーキ」なのだ。メープルシロップを選んで正解。バターと相まって「しょっぱ甘い」ほくほく感が味わえた。ほんとに懐かしい味。

これは真面目にオススメ。わたしは甘いものが苦手なのに、これはむさぼり食えた。

「星野珈琲」公式サイトはこちら

http://www.hoshinocoffee.com

image


以下はヨタ話なのでデータ的な根拠はない。個人出版に関する、自分が知ってることと憶測・展望。


kindleなどの電子書籍も同人誌即売会も商業誌も、個人が使う蛇口のひとつ、個人が中心になっていくという話、かな。


昨日の雑記帖でKDP以前/以降とか言っちゃったけど煽るつもりはない。

Amazonに関しては、KDP以前も以降も変わらずe託というサービスで個人が同人誌をAmazonで売っていた/いるのでKDPがどーたらなど関係のない話だ。

電子書籍の個人出版ということに関しても、KDP以前からDLSiteやDMMでダウンロード販売をして生活をしている漫画家さんを知っているのでKDPがどーたらなど関係のない話だ。

同人側から動きを見る限り「KDP?何周遅れの話をしてるわけ?プププ」という景色になる。


ただ、ブツを並べるe託はちょっとおいといて、電子書籍の個人出版に関して、KDP以前のDLSiteやDMMはぶっちゃけアンダーグラウンド=エロ漫画の話で一般的ではない(わたしが知ってる実例に関して)


なので、KDPという電子書籍の個人出版の窓口蛇口ができてそこに流し込めるのはインパクトがでかいと思っているし、その後iBookstoreやgoogle playも参入して2012年晩秋から2013年3月ぐらいにかけて電子書籍の個人出版のハードルが一気に下がった(楽天koboはKDP以前からあったようだけど、途中EPUB2にしか対応しなかったり、EPUB3に対応したのにアナウンスがあまり聞き取れなかったり。今は楽天koboも個人出版の窓口がある)

KDP公開当初から個人出版が電子書店に参入するようになり、いまやAmazon、ibookstore、google playなど個人出版物が既存の版元と同じ土俵に並んでいる。APIのデータ的にもKindleストアは既存版元も個人も同じ扱いとなっている(契約的、条件的には違って当然だけど、ストア表出レベルの扱いに「基本的には」差はない)


個人出版の本だからといって特別なものではなくなったということ。


なので電子書籍の個人出版は「KDP以前/以降」と区切ってもいいのかな、と。

…って、電子書籍の数がまだまだ足りないんだろうと思う。ジュンク堂や紀伊國屋は実店舗でたしか100万冊程度の在庫があるという話。kindleも楽天koboもタイトル数にこだわるのはそこんとこだろう。実店舗もタイトル数だとそこまでないにしても、目の前にモノとしてある実感はディスプレイの書影とは違うし、人の目に飛び込んでくる情報量はディスプレイの??ピクセルx??ピクセルなんてレベルじゃない。


KDPの個人出版に本が並び出し、その中から既存版元が取次流通に載せて売れる・商売になると判断されるものが出てくるのも当然っちゃ当然の話。これもコミケやコミティアなどの同人誌即売会に編集者が行って「これは」と思う作家、サークルに声かけ・名刺配りをするのと同じことがKDPという規模になって起こっているということ。

それによって場が活性化するのも(今までの同人誌即売会での流れをみると)確かだろうと思う。


とはいえ、「KDP」で販売されていた電子書籍が取り上げられたからといって、「KDP」をブランド化するのはちょっと違うだろう。

それこそコミケやコミティアに出ているだけで、コミケで本を出している・コミケ作家という言い方はしないし、ブランド化にも無理がある。もろもろ受け入れて試行錯誤していろんなものが出ている場がコミケである、というのとKDPも同じ。


ネットの観測範囲で、KDPだKDP作家だという言い方がされていて、なんじゃそりゃ、と思うのもそのあたり。

何かに所属・帰属することによって何かが起こるのではなくて、個人が自分の作品を流す蛇口として、コミケやコミティアの同人誌、同人誌即売会があって、KDPやiBookstoreやgoogle playなどの電子書籍ストアがあって、Amazonの物販委託であるe託もある、さらにいうと取次流通も同じ、という絵になると思う。


中心はあくまでも個人ということ。

現状ではまだ取次流通の規模は大きいんだけど、そういった蛇口に依存することなく独立して個人が蛇口を差配するようになるのが理想形。


底辺エロ出版社で部数激減でやることがなく退職することになってこれからは個人出版(同人誌も電子書籍も)だとか思ってたので頑張ってやっていきたいと思う。


過去記事 http://t2aki.doncha.net/?id=1324111242 にも同じことを書いてた。

同人誌に限った話ではなくて。デザフェスなんかを見て感じることで。
世間とか時代とかに、もし閉塞感があるとすれば、これからは組織に頼らない個人こそが勝負できるんじゃないかと思う。



[03/30 04:29] イイ歳こいてこんなこと書いてるから、意識の高いビジネス脳とは無縁なんですな


[更新]2026-02-01 12:54:19

設定って一度やったら…

2011/3/29 [23:19:16] (火) 天気

次に再び設定をいじるのにかなり間があくので、すっかり忘れていて、慌てて本棚眺める、ぐーぐる様で徘徊するハメになってしまう。

無料のレンタルDNS、MyDNSで ttp://www.holeinthewall.jp/ を登録していて、ウチのサーバーから、cronでfetchmailを走らせて、メールによるDNSのUpdate(IP通知)をしていた。ところが、ここんとこの電力事情でウチのサーバーが休止状態。zaurus B-500が、サーバー代わりにドメインを使って、apacheでメンテページを返すようにしていた…MyDNSに通知することをすっかり忘れて。


ということで、ドメイン情報が生成されなく、名前によるアクセスができなくなりました、というメールをもらう。

再度通知すればいいだけなので、慌てて。…えーっとナニをすればいいんだっけ、と。

こんなときはとりあえず perl。

Windowsでスクリプトを書いて試してみることにした。

まずは、LWPを使ってBasic認証でのアクセス通知をやってみたところ、通知できてるだかできてないんだかわからず。

次に、Net::POP3でメールによるIP通知を試してみたんだけど、これもうまくいってるんだかいってないんだか

しょうがないので、 zaurus 用にfetchmailを探してきてインストール。fetchmailrcをごそごそ書いて、アクセスしてみたんだけど、これもうまくいってるんだかいってないんだか。


もしかするとDNS情報のUpdateはある程度時間をおく必要があるのかも。zaurusにfetchmailをインストールしたことだし、こいつでUpdateできればそれに越したことはない。(そもそも、zaurus B500のperlはバージョンが5.6で、モジュールもデフォルトしか入ってない)



set daemon 86400
defaults
protocol pop3
poll MyDNS user username password pass


上記 .fetchmailrc を作り、コマンドラインで fetchmail とやると、daemonで設定した秒数間隔(この場合24時間)でメールを受信にいく=DNS情報がUpdateされる、ハズ。


明日また確認。こんなことに(一度ならずやってるハズのことに)一時間近くかかってんだから、老化現象著しい。とほほ。


[更新]2012-12-12 08:44:43

<<2026/03>>
       
1234567
891011121314
15161718192021
22232425262728
293031

【最近の10件】

日常読書映画アニメゲーム健康料理グルメカメラ写真ネタ仕事パソコンインターネットperlEPUB3電子書籍ActivityPub
検索: