SNS・ブログ・ホームページ

SNSとブログとホームページの棲み分け、というか自分的整理。
同じようなことをここに何度も書いてきてるんだけど、その都度その都度で環境も変わってるんでエントリとして残す意味は少しはあるかと。
先月、個人ホームページを改めてというか、ふたたびみたび、また作った。
これが面白い(今のところ)ので、棲み分けを意識しないとわやくちゃになりそうだ、ということでメモ。
・SNS
言葉を投げるもの。リアルタイムで言葉のキャッチボール
・ブログ
言葉を定着させるもの。言葉を蓄積されている場所。
・ホームページ
ページをひとつずつ「作って」いくもの。言葉だけじゃ足りない。
てな色分けでいいような気がする。
いま、このエントリも、思いついてなんとなくSNSに投げたものが最初。特にリアクションなど期待はしてなくて、思いついた言葉をそのまま投げただけ
それが自分的に発火点となって、いま、こうやってブログのエントリを書いてる。記録しておこうという動機がそこにできたわけで、投げっぱなしのSNSに意味はあった。
で、ホームページ。
たぶん、この手のことをこのブログ(ひまつぶし雑記帖)にだらだら書き殴ってると思うんで、そのうちまとめてページに起こそうと思う。ページを「作る」感覚ということになるかな。
SNSとブログ、ホームページの仕組みとも密着していて。
SNSは自作実装のActivityPubサーバー。
びっくりしたのが、何をするにしてもリクエストを飛ばすし、リクエストが飛んでくる。その回数が予想を遥かに超えていた。
言葉を投げる、言葉のキャッチボールというのはまさにこのことだなあ、と実感。
ブログは自作のブログっぽいCGI
ブログって何が必要なんだろうと既存のブログサービスを眺めて実装したんだけど。
言葉、データの蓄積がその本体。蓄積されたデータからどうやって引っ張り出すか表示させるかどんなふうに見せるか、というのが基本の仕組み。タグ付けなんかはまさにそれ。
ホームページは手作業作成
それこそ1ページずつコンセプト、テーマがあって、それに沿って「ページを作る」
SNSやブログとはレイヤーが違うシロモノ。1ページで完結させるし、1ページごとに動線を作って誘導する必要がある。
てな感じで棲み分けていこうと思う。
ホームページは「ページを作る」という意識が、SNSやブログと比べるとちょっとハードルが高いなあ、とも。
ちなみに各URL
・SNS「ため池::ところてん」https://tokoroten.doncha.net/t2aki
・ブログ「ひまつぶし雑記帖」https://t2aki.doncha.net
・ホームページ「On Golden Pond」https://www.doncha.net

ネットは言葉で溢れかえってるなあというのを埴輪集団の画像で。
戸籍証明書等の広域交付

年金受給手続きに必要な書類、証明書があるのでメモ
・戸籍謄本
戸籍証明書等の広域交付
https://www.moj.go.jp/MINJI/minji04_00082.html
マイナンバーがあるのになんで謄本が必要なの?と思うんだけど、一応準備をしておいた方がいいみたい。
わたしの場合「なんとなく」本籍地は動かしちゃいけないもの、という意識がどこかにあって、住所が変わってもずっと同じところ。なもんで、戸籍謄本なんかが必要になったら、その都度本籍地の市役所に返信用封筒をつけて、郵送で送ってもらってた。
また面倒くさいなあ、と思って調べてみたら、今年3月から地元の役所で遠方にある本籍の戸籍謄本などを発行(?)してもらえる。らしい。
お役所なので、週末祝日は休み。平日のどこかで聞きに行く。
・被雇用者番号
ハローワークでわかる。
いま契約している会社に連絡してPDFはもらっておいた。ただ、もしかすると「紙」が必要だったら困るな。
で、この被雇用者番号って、一度割り振られた番号をずっと使い続ける。これはもはやマイナンバーと何が違うの?という感じだなあ。
とりあえずこのふたつを用意すれば大丈夫っぽい。
まだまだ余裕があるけど、検索してみると謄本の広域交付はシステムが安定しないみたいで、交付まで10日ぐらいかかるところもあるらしい。その日その場でもらえない。
早めに確認しておくのが吉、っぽいな。

トーハク常設展の遮光土偶
特別支給老齢年金のお知らせ

来年で64歳になる。
ということで「特別支給老齢年金」の請求書が郵送されてきた。
いよいよ年金受給者となるんだけど、まあ、年金だけじゃ食っていけない。学生のアルバイトにも届かない金額。
その程度とはいえ、一定の金額が安定的に入ってくる状態、というのはありがたいのも確か。
年金プラスなにかアルバイトなどの別収入を、と考えられるので少し気楽、かな。
還暦過ぎて働かなきゃ食っていけないのはなかなか鬱陶しい話で。
以前は、ライスワークとして割り切って、とか思ってたけど、歳を食うにしたがって当然ながら残り時間が少なくなってくる。
残り時間が少ないとなると、興味もないくだらないライスワークに貴重な時間を使いたくない。
現状2本立てでやってる。
現場に行って時間で身柄拘束される仕事と在宅で成果物を制作納品する仕事。
在宅の制作仕事は電子書籍の制作。
これはライフワーク。本が好きで新卒で底辺エロ出版社に入社して退社後もずっと本、出版にこだわってきた。電子書籍の制作はやっていて楽しい。
身柄拘束仕事が、本当にライスワーク。
会社ごっこにはストレスしかないけど、ライスワークとして割り切ってきた。
収入、ギャラでいうと、時給換算すると10倍ほど違う(改めて自分でも吃驚)
もちろん制作仕事の方が桁違いに高い。ただ、安定しない。多い時と少ない時の差が大きくて、これだけだと不安っちゃ不安。
しかたなくライスワークで老人の貴重な時間を切り売りするしかなかった。
このライスワーク部分。年金で補填、なんてのはさすがに無理だけど、年金と制作仕事で食っていけないこともない。
安定収入ってありがたいよなあ(今さら)
これでやっとライスワークに時間を使う必要がなくなった。
特別支給老齢年金というのは。
昭和60年(1985年)の法改正により、「老齢厚生年金」の受給開始年齢が60歳から65歳に段階的に引き上げられることになりました。このとき、現役世代への影響を軽減するため、引き上げ完了までの「つなぎ」として新設されたのが「特別支給の老齢厚生年金」です。
ということで昭和36年4月1日以前に生まれた人間が対象。
そう、ぎりぎり滑り込みセーフだ。

東京国立博物館は各館の常設展も充実してる。
特別展だけでお腹いっぱいで帰ってきてたんだけど、先日は昼食休憩を挟んでいろいろ観てきた。ほんと飽きない。マジおすすめ。
LWPでtimeout指定が効かない

自作実装のActivityPubサーバーから、フォロワーさんの所属しているリモートサーバーに投稿を送信する時に、お相手のリモートサーバーがなんらかの事情で落ちてるケースがある。
レスポンスは500番代のエラーとなる。
perlで定番のLWP UserAgentを使ってリクエストを投げてるんだけど。
400番代のエラーと違って、サーバーに問題が発生している500番のエラーの場合、返事が戻ってくるのに時間がかかる、待たされる。投稿するためのPOSTもアカウント情報取得のためのGETもなかなか戻ってこない。
デフォルトだと、リクエストを投げてお相手の反応が返ってくるまで180秒(3分)待つことになっている。
LWP::UserAgent - Web ユーザエージェントクラス
https://perldoc.jp/docs/modules/libwww-perl-6.04/LWP/UserAgent.pod
timeout( $secs )
秒単位のタイムアウト値を取得または設定します。 デフォルトのtimeout()の値は180秒、つまり3分です。
サーバへの接続においてtimeout秒反応がないと、リクエストは中断します。 つまり、トランザクションが完了してrequest()メソッドが実際に返るまでの 時間を意味します。
ということなのでtimeoutに10秒とか設定してみてたんだけど、どうもそれが効いてない。
検索したら、やっぱりtimeoutの指定は効かないことがあるらしい。
LWP::UserAgentのタイムアウトがうまく効かなかった事象の調査 (序章)
https://papix.hatenablog.com/entry/2020/12/25/180640
もう少し粘って検索してみると
lWP::UserAgentの「:content_cb」(コールバック)のサブルーチンでSIGNALを設定してalarmで対応できるという記事を発見。
LWP::UserAgent get callback with timeout
https://stackoverflow.com/questions/29071348/lwpuseragent-get-callback-with-timeout
リクエストをサブルーチンで処理することになるのが、素人のわたし的に難しそう…影響範囲がわからない。
思いつきでデフォルトを180秒にしたわけじゃあるまいし、なにか理由がありそう。それをここで指定しちゃうと、全部に影響するわけだしなあ、と。
てことで、それならリモートに投稿を送信するリクエストのサブルーチン限定にしてしまえば大丈夫っぽいんじゃないかと。
サブルーチン丸ごとSIGNALのALRMを設定してevalで捕まえることにした。
結果オーライとか、やっつけ仕事だけは昔から得意だし。
my $res;
eval{
local $SIG{ALRM} = sub{die "timeout";};
alarm $self->{timeout};
$res = $us->request($req);
alarm 0;
};
alarm 0;
if( $@ ){
printf qq{ERROR deliver %s ::: %s}, $u, $@;
}
[2025/12/20 08:41:35] 追記
evalの外側に「alarm 0」=alarm のリセットが必要なのは。
evalの中で、timeout秒以前に500を捕捉したらそこでevalを抜けてしまうので、evalの外側でもalarmをリセットしないとスクリプトはSIGNALを待ち続けてしまうから。
「タイムアウト処理」
https://www.futomi.com/lecture/signal/alrm.html
↑こちらの記事に詳細があって助かりました
ちゃんとしたActivityPubサーバーのMastodonなんかだと、リクエストの送受信は裏側でやってるんで、アクセスしてるユーザーが待たされることはないはず。
わたしの自作ActivityPubサーバーは最低限で、いろいろ手抜きしていて表示するだけのために3分以上待たされるんだよなあ。自業自得というか。

サーバーのお守り代わりの画像
(松戸市立博物館)
perlの再帰でlocalの使い途

perlでディレクトリを辿ってファイルをリストする。
というのは File::Find というモジュールがあるのでそれを使えば一発で解決するんだけど。自分のモジュールに組み込む方法がよくわからず。
File::Find - ディレクトリツリーを辿る
https://perldoc.jp/docs/modules/File-Find-1.19/File/Find.pod
読んでもなんか使い勝手が違う、というかナニソレwanted?
てことで自分のモジュールで使えるものを自作。
「static」というディレクトリ以下にある、ホームページ用のhtmlファイルをリストアップする。というもの。以前から同じことをやってるスクリプトからの使い回しのサブルーチンの再帰。
use vars qw( $HTML );
〜〜〜〜〜
〜〜〜〜〜
sub parse_static{
my $self = shift;
my $args = shift;
my @dirs = ();
my $d = ($args->;{dir} || ’static’);
opendir(DIR, $d ) || die;
@dirs = grep(!/^\.\.?/, readdir(DIR));
closedir(DIR);
foreach my $f (sort @dirs){
if(-d $d . ’/’ . $f ){
$self->;parse_static({dir=>; sprintf(qq{%s/%s}, $d ,$f) });
}
else{
push(@{$HTML}, $d . ’/’ . $f) if $f =~ m!\.x?html!;
}
}
return $HTML;
}
1)ディレクトリ一覧を取得して
2)ファイルなら配列に放り込んで
3)ディレクトリなら(1)に戻る
というありがちなスクリプト。
…なんだけど、放り込む配列は use vars を使ってのグローバル変数。そうグローバル変数!なのが前から気に入らなかった。
もっと「かっこいい書き方」があるんじゃないかと。わたしのような野良、素人にとって「かっこいい」かどうかがポイント。
検索してみた。やっぱりこれも以前からちょっと気になってた my と local の違いがきっと魔法の種だと思ったらビンゴだった。
Perl で再帰呼出し時のスタック間データ共有
https://amachang.hatenablog.com/entry/20061010/1160506848
知りたかったのが、まさにこれ。かっちょええよなあ。
ダイナミックスコープとかレキシカルスコープとか意味は分からない、グローバル変数を局所化するとかも分からない。
けど、匂いでわかるかっこよさ。さっそくこのままいただいた(多謝!
sub parse_static{
my $self = shift;
my $args = shift;
my @dirs = ();
my $d = ($args->;{dir} || ’static’);
local $ongoldenpond::html = $ongoldenpond::html;
opendir(DIR, $d ) || die;
@dirs = grep(!/^\.\.?/, readdir(DIR));
closedir(DIR);
foreach my $f (sort @dirs){
if(-d $d . ’/’ . $f ){
$self->;parse_static({dir=>; sprintf(qq{%s/%s}, $d ,$f) });
}
else{
push(@{$ongoldenpond::html}, $d . ’/’ . $f) if $f =~ m!\.x?html!;
}
}
return $ongoldenpond::html;
}
おかげで、このサブルーチンの中だけで記述が完結することができた。
パッケージ名ongoldenpondというのは、わたしがここんとこどっぷりハマってる個人ホームページ(On Golden Pond)用のオレオレMovableTypeのスクリプトだから。
このブログ『ひまつぶし雑記帖』にはperlの小ネタもあるから、その手のも集めて、改めて個人ホームページに掲載するかなあ。
前にも書いたように、ここは日常雑記のために記法というか、書き込んだものを変換するけど、perlやhtmlのコードをそのまま掲載しても見づらいだけになってしまう。今さら変換規則を変えると過去25年以上の分全部に影響するんで、HTMLやperlのコードをそのまま掲載できる個人ホームページの方が見やすくなる。
ちょっと整理してみるか。

「よんでますよアザゼルさん」
アザゼル篤史とベルゼブブ優一
たぶん、今、こんなものTV放映したら大騒ぎだろう(最上の褒め言葉

