GBLシーズン「楽しい日々」でACE到達

どうにか今日、GOバトルリーグでACEに到達。
何度も同じことを書いちゃうけども。
ACEという称号はビギナーレベル。ある程度GOバトルリーグで強いと言われるポケモンを育成して、GOバトルリーグで対人戦を続けてれば誰でも届く。
んだけど、毎シーズンごとに、これが厳しくなってる…ような気がする。
もしかするとGOバトルリーグの人気はそれほどでもなくて、新規参入=新人さんが減ってきていて、いま、GOバトルリーグをやってるようなユーザーは知識もスキルもみんなそれなりにレベルが上がってきている説。
今期もACE到達に七転八倒の右往左往だった。
ランク戦の終了時点で出た初期レートが1758と過去最低レベル。そこからレート戦が始まる。
1758のレートに見合うお相手と対戦して勝ったり負けたりを記録して、勝率が5割を超えるようになるとレートが上がってまたそのレート帯での勝ったり負けたり、となる。勝率が5割に満たなければ当然またレートが下がる。
の、繰り返し。
数をこなしていけば、それなりの「適正レート」というヤツに落ち着くのがレート戦でのマッチング。
これまでは、レートの上下でいちいち一喜一憂してたんだけど、この「適正レート」という言葉でなんかちょっと悟った、ような気がした。
いまの自分のレベルで遊ぶのにちょうど良い加減のところ、ってこと。お相手のレベルと自分のレベルが同じようなところにいて、同じもの同士でやってて楽しいからきっといいんだろうなぁ。
ポケモンGOは今年でまる9年。これだけ続けていて飽きないんだからびっくり。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
linux mintのローカル環境でApache2

Mac miniのlinux mint環境にApache2を設定したのでメモ。
2005年ぐらいに同じようなエントリを何度か書いていて、さらに最近だと2022年頃にも書いている…設定まわりはほんと覚えてないので、くどいけど書き残しておこう。
Apache2のインストールは簡単
$ sudo apt install apache2
↑これだけ。
設定がディストリビューションで微妙に違ってたり、そもそも時代も違っていて昔のうろ覚えが通用しない。毎度毎度グーグル先生。
設定ファイルは
「/etc/apache2/」以下にある。
・apache2.conf
サイトを展開するディレクトリの指定
170行目あたりに指定されているで自分のサイトを追加設定。
<Directory /home/t2akii/doncha.net/>
Options -Indexes +FollowSymLinks +ExecCGI
AddHandler cgi-script .cgi .pl
AllowOverride None
Require all granted
</Directory>
基本、どれも呪文だけど
CGIを使うので
「+ExecCGI」
「AddHandler cgi-script .cgi .pl」
を追加。
・sites-available/000-default.conf
WEBサイトの設定ファイル
ServerName doncha.net
ServerAdmin t2akii@doncha.net
DocumentRoot /home/t2akii/doncha.net
VirtualHostの受付portはデフォルトの80のまま。
・sites-available/default-ssl.conf
SSL接続のための設定ファイル
ServerName doncha.net
ServerAdmin t2akii@doncha.net
DocumentRoot /home/t2akii/doncha.net
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
VirtualHostの受付portはデフォルトの443のまま。
SSLCertificateFileとSSLCertificateKeyFileの2行はデフォルト設定されているものをコメントアウトして自分で作ったSSLの自己認証のキーの場所をここに入れる。自己認証証明書の作り方は以下。
opensslが必要なのでインストールする
$ sudo apt install openssl
秘密鍵と自己署名証明書を作成する
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048
-keyout /etc/ssl/private/apache-selfsigned.key
-out /etc/ssl/certs/apache-selfsigned.crt
コマンドを叩くと以下の質問が出てくるのでテキトーに入力する。
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:local
Locality Name (eg, city) []:Tokyo
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Free
Organizational Unit Name (eg, section) []:Free
Common Name (eg, YOUR name) []:doncha.net
Email Address []:
自分だけしか使わないので、ここは何でもOK
以下のディレクトリにキーファイルが作られる。
/etc/ssl/private/apache-selfsigned.key
→秘密鍵
/etc/ssl/certs/apache-selfsigned.crt
→証明書
*-available/にある設定を本番に反映させるために*-enable/にシンボリックリンクを作成する。
available ←用意してある設定
enable ←反映して生きてる設定
上記したサイト設定のためのふたつの設定ファイル
000-default.confとdefaut-ssl.confをリンク
SSLとCGIを使えるようにするためのモジュールを本番反映用のディレクトリにリンクする必要がある。
mods-available/にある以下のファイルをmods-enable/にリンク
cgi.load
socache_shmcb.load
ssl.conf
ssl.load
デフォルトで使うならこれでOK
わたしの場合、サイトを展開するのが自分のHOME以下なので、Apacheには閲覧したりCGIを走らせる権限がなくて403エラーとなる。
・envvars
apache2.confで使う変数を定義したファイル。
export APACHE_RUN_USER=t2akii
export APACHE_RUN_GROUP=t2akii
デフォルトではApacheは「www-data」というユーザー、グループで実行されることになってるので、ここを自分のユーザー名に変更する。
設定ファイルを編集更新して、各種設定ファイルを本番反映するためのディレクトリにリンクしたらApacheを再起動。
$ sudo systemctrl restart apache2
再起動でエラーが出たら設定ファイルの記述ミス。エラーメッセージが具体的で丁寧なので、メッセージを確認して対応。
ブラウザでlocalhostにアクセス。
平成の頃のPCゲーマー御用達、片手で操作できるトラックボール。
飲み食いしながらでもゲームができる逸品。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
10年以上前のMac miniをlinuxで復活

ずっと塩漬けになっていたMac mini Mid 2011にlinux mintをインストールしたのでメモ。
もう10年ぐらい立ち上げてなかったし、仕事のデータなんかはバックアップ済み。Macの環境を残す意味もないんで、Mac環境は削除してlinuxとして使う、という前提。
・インストール用のUSBメモリを作成
・USBメモリから起動
・インストール
・用意するもの
インストール用のUSBメモリ(テキトーに8GのUSBメモリ)
USBキーボードとマウス(念のため有線のUSBキーボードとマウス)
…久しぶりのOSのインストールだし、対象が10年以上前のIntel Macだし、インストールできず失敗して鉄の箱になってもしょうがないか、ぐらいだったのに、やってみたらびっくりするほど簡単だった。
・linuxのインストールイメージをUSBメモリに焼くためのツールをダウンロード
「balenaEtcher」
https://etcher.balena.io/
Mac版もあるけど、Mac mini Mid 2011だとOSが古くて対応していない。
ということでWINDOWS11でUSBメモリ作成
・インストールするlinuxのダウンロード
「linux mint」
https://linuxmint.com/
軽いと評判のlinux mintのXfce Edition版にした。最新バージョンの22.1をダウンロード
8GのUSBメモリをフォーマットして、Etcherを立ち上げてメニュー通りにポチっとやってインストール用USBを作成。少し時間がかかる。
・USBメモリをMacに挿して起動
1)WINDOWS用キーボードなので「ALT」を押しながら電源ボタンをポチる。
2)起動メディアを選択する画面で、EFI Boot(USBメモリ)を指定して起動。
(EFIがふたつ表示されたけど、デフォルトっぽい最初のものを選択した)
3)linuxの起動メニューが表示される
4)デフォルトっぽい一番上を選択して起動
しばらくするとlinux mintが立ち上がる。あっさりさくっと何の問題もなくあっけないぐらい。
画面左上にインストールするというアイコンがあるので、インストールを始める。
出てくる選択肢には
・日本語
・キーボードはJapanese
・マルチメディアコーデックあり
・「ディスクを削除してLinux Mintをインストール」
・地域はTokyo
・名前やユーザー名は念のため英数字
・パスワードはテキトー
※パスワードは、sudoなど認証が必要な場面でしょっちゅう聞かれて入力することになる。おもてに持ち出して使うならともかく、ウチのLANで使う程度なら短いパスワードの方がなにかとラクだと思う。
以上で進んでインストールが始まる。10分ぐらいだったと思う。
インストール終了のポップアップが出たら「再起動」する。
USBは挿したままにしておく。
インストール直後のデフォルト状態だとWiFiを認識していないのでWiFiのドライバが必要。
最初に表示されている「ようこそ画面」で「ドライバーマネージャー」を選択
BroadcomのWifiドライバを有効にして再起動するとWiFiを認識してネットワークに繋がった。
以上でインストール完了。
インストールが終わったら初期設定
「ようこそ画面」で「アップデートマネージャー」を選択して、とりあえず表示されているものはすべてアップデートしておく。
ターミナルを立ち上げてDebian linuxのお約束、aptを使ってupgrade各種とソフトのインストール
「chromeOSのlinux環境を再設定」
https://t2aki.doncha.net/?id=1711605506
細かい設定なんかまだいじってないのでこれから。
Bluetoothキーボードの接続が面倒くさい、というか、起動時のパスワード入力時点で接続されないっぽいんで、起動時だけはいちいちUSBのキーボードを使うことになる…ほんとかなあ(要調査)
[2025/06/18 07:21:38] 追記
嘘だった。起動して、Bluetoothキーボード側の電源を入れたら当たり前のように接続&認識してパスワード入力ができた。
とはいえ、一度「bluetooth接続〜ペアリング〜信頼する」で登録?しないと駄目なんだろうな。
aptでopen sshをインストールした。
普段使いのChromeOSのlinux開発環境にあるスクリプトやデータなどのファイルをrsyncでまとめてコピー。
当たり前の話、linux開発環境で使ってるものはlinux mintでそのまま動く。
もう大昔とか言われちゃうんだろうけど。
PC UNIXをFreeBSD-2〜4ぐらいまで使ってた頃、XFree86とウィンドウマネージャーやデスクトップ環境で日本語を使うのに苦労させられたし、動作も不安定だった。
それが21世紀のOSは全然問題がなくて、ただただ驚き。
これが10年以上前の古いMacで動いてるいうことにもまた驚き。
未来にきちゃったなあ。
「古い機種を活用する!! MacにLinux をインストール」
https://www.maclab.tokyo/document/linuxmint_install/5385/
↑スクリーンショットつきで丁寧な解説なのでオススメ
「SSHサーバーが動かない」
https://note.com/matsui192/n/n7fa0b841642a
↑同じ現象でハマって、この記事で助かりました
「Mac mini Mid 2011」
https://support.apple.com/ja-jp/112007
インストールしたMacの仕様詳細
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
還暦の手習いお絵かきチャレンジ

先日ウチのActivityPubサーバーに絵文字リアクションを追加した時に、やっぱり自作の絵で絵文字を作りたいよなぁと思ってお絵かきをやってみた、というのが今回のエントリ。
久しぶりにフォトショとイラレを使ったので自分メモです。
絵文字リアクションのエントリでも書いたけど
40年ぐらい前、エロ漫画の編集をやってた頃は原稿取りに行ってトーン貼りベタ塗りとか手伝ってたし、官能小説雑誌の穴埋めコラムのイラストも描いてたというのにまるで駄目だ。
手を動かす脳を動かすのはある意味筋肉と同じで使ってないとダメになるから、とマンガ家さんたちが口を揃えてたのを思い出した。
ン十年ぶりに絵らしきものを描いてみたら、本当に話にならなかった。
それは薄々わかっていた、というか痛切に思い知らされていた。
去年の2024/3/9に家人からアップルペンシルが回ってきた時に、iPadでクリスタを使って描いた時のものがこれ。
この時、さすがに絵はもう無理、と思って放置。
…だったんだけど。絵文字について調べてサーバーに実装したら、やっぱり絵をなんとかできないもんかと。
iPadにクリスタだとクリスタそのものの使い方から学習する必要がある。入口にハードルがある。
アドビのフォトショップとイラストレーターなら使い勝手もわかってる。
試しに、メモ帳にボールペンで絵を描いてスキャナーでフォトショに取り込んでみたら、ごみ取りももちろんだし、ペン線のかすれなんかも目立つ。かなり補正する必要があって、これもまたハードル。
マウスで絵を描くなんて論外だしなあ、と思ってたところ、わが家は家人がもともと絵描き。20年前のペンタブレットならあった。
WACOMの『Intuos3(インテュオス スリー)』
型番:PTZ-630
https://tablet.wacom.co.jp/what/detail/detail_press.html?nno=311
当然サポートはとっくの昔に終了していて、ドライバも提供されていない。ダメ元で、昔のドライバをそのままWINDOWS11にインストールしたら認識して動作した。
2004年9月発売のペンタブレットが2025年5月でも動くのはありがたいよなあ。
さっそくペンタブレットでミケさんを描いてみたのがこれ
これもまあなんというかひどい。便所の落書きにも使えない。
とはいえ、スキャンしたデータと違ってペンタブで描くとごみ取りやペンのかすれなどを補正修正する必要がないんで、スタート地点が少し早い。
絵がどうしようもなく下手くそなのはしょうがない。
これでもエロ漫画編集時代はコミックス、雑誌と月に8~10冊の表紙レイアウトデザインをしていた。パクったり誤魔化したりするのは得意だ(え?
みけさんの写真なら3000枚弱ある。
切り抜けそうな写真を選んでテキトーなフィルタをかけてそれっぽくしたものを下敷きにして「トレス」することにした。
輪郭を取るので気づいたんだけど、みけさんは思ってる以上に耳が大きい。今さら発見。
目については、このままトレスすると、たぶん小さく見える。デフォルメということで大きくした。
一番最初に引いた輪郭線はガタガタでどうにもならず。
1)範囲選択でペン線を選択して選択範囲を2px拡張して線を太くして保存。
2)イラストレーターで開いて、ラスター画像をベクター画像に変換(ライブトレース)
3)ベクター画像をフォトショップにコピーして配置
4)200%ほど拡大してガタガタの部分を消しゴムでちまちま消して凸凹を少しでも修正
2に戻ってペン線を何度も修正して妥協点。
(ベクター画像にすることで、アンチエイリアスも飛ぶっぽくて、消しゴムツールがわかりやすくなる、かな)
次に、ベースの色を探してスポイトツール。
おでこの明るいところをベースにした。あとはみけさんの配色をスポイトして、塗っては違う、の繰り返し。
とりあえずやっぱり妥協点だけど、完成したのがこれ。
この後さらに、色をつけたレイヤーを複製して、一枚にテクスチャ加工をして、オリジナルの色レイヤーを上にして透明度40%に…とかやった割に誤魔化せてなかったなぁ。
これをまずは自分のプロフィール画像に設定した。
640x640の画像が縮小されることで、下手くそな絵でもどうにかそれっぽく見える感じかな。
絵文字リアクションに使うには、もっとイラストというか記号っぽくしないとダメだ。
となると線からしてまともにしないといけない。
ペンタブで円をひたすら描いてみたけど、まともな円にならない。
手首だけで動かす範囲ですらいびつで円というか何かが泳いで歪んでる。
肘から動かすのはもっと論外。
絵を描けるひとはやっぱりすごいよなぁとしみじみ実感。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
【未解決】ActivityのJSON-LDに署名

今回のエントリは、100%間違いか180度見当違いでクソの役にも立たずボツにする可能性があるのでAI BOT以外のかたはスルーしてください。
自分のための覚書です。
〜〜〜〜〜
ActivityPubで飛ばしている投稿本文の改竄検知などのために、Activity本文=JSON-LDにも署名をしようね、という話になる。
…けど、いまところActiviyPubの仕様には入っていない。
・Mastodon系は本文署名に対応
mastdonやfedibird、kmyblueのほかholloなども。
・Misskey系は本文署名に未対応
misskeyやakkoma、pleromaなど
HTTP Signatureでリクエストに署名、認証に使っていて、それで足りるだろう、ということで本文署名は仕様に入ってない、のかな。
でも、わたしのような素人考えでもふたつほど思いつくことがあって
・Activityを転送する場合
→転送するのは自分ではない誰かの本文。そのリクエストには自分の署名をつけて送信する。内容をいじって送信することも可能。署名には問題がないので改竄された本文を受信することになる。リクエストの署名を確認すれば誰が改竄したのかわかるけど、大元まで辿るの?
・アカウント削除のActivityに対応できない
→Activityのリクエスト署名を確認するために、当該アカウントの公開鍵を取得する必要がある。アカウント削除のActivityの場合、公開鍵を取得しようと思ってもそのアカウントは削除されているので、公開鍵がない。てことは本当にアカウントが削除されたのか確認できないのでは?
てことで、Activityの本文署名はそのうち必要になるだろうと思う。
ところが、この本文署名が伏魔殿というか素人には難しすぎる。
(そもそものところからまったく知識もなにもない)
思いついた時に検索してみたりして見つけたサイトのリンクをこのエントリに残してみることにした。
・JSON-LD署名(本文署名)って何?
Mastodonの『Linked Data Signatures』
ActivityのJSON-LD(本文)に対して署名をする。
必要なものは
本文/creator/created(日付)の3つ、らしい。
rubyの該当するソースコード
options_hash = hash(@json['signature']
.without('type', 'id', 'signatureValue')
.merge('@context' => CONTEXT))
document_hash = hash(@json.without('signature'))
to_be_verified = options_hash + document_hash
この「本文」がわからないところ。Activityに使うJSON-LDをそのまま使うわけではない。
Linked Data Signatures with Ruby
normalizing (or sometimes called ‘canonicalizing') the document
文書を正規化(または「正規化」と呼ばれることもある)する
さらっと書かれてるけど、こいつが意味不明。なんやねん、それ。
↓こちらのサイトで実際に変換してみた
JSON-LD Playground
IN(ActivityのJSON-LD) OUT(正規化されたJSON-LD)
無理無理。なにをどうすりゃこうなるのか理解できん。
perlでブラックボックスのまま使えるモジュールがないか探したらひとつヒットした
JSONLD A toolkit for transforming JSON-LD data.
さすがperl先輩!なんでも揃ってるじゃないか!と思ってみてみると、依存関係でMOO.pmとか必要…んなもんレンサバにインストールされてないし、PurePerlじゃないので使えない。
「ふりだし」に戻る
W3C標準化活動:RDF Dataset Canonicalization
4ステップでJSON-LDファイル形式のRDFを作ってみた時の覚書
JSON-LD で RDF その1
↑こちらを手がかりにさせてもらって、そもそも正規化ってナニ!?という知識を勉強しないとダメだと思う。
最悪、受信&認証はスルーして、送信する場合に限って、必要なところだけ現物合わせのハードコーディングすればなんとかなる、ような気がしないでもないけど、今日はここまで。
本稿、いつか再開。投げっぱなしジャーマン。
[2025/06/20 07:40:00]追記
MastodonのLD署名の現在の実装は、仕様の草案段階と最終決定段階の間のJSON-LD @contextの変更により、時代遅れとなっています。MastodonはRsaSignature2017型を想定していますが、後の草案では名前空間https://w3id.org/security/v2を介してRsaSignature2018が定義されています。さらに、LD署名仕様全体は、以前のLD署名仕様と互換性のないVerifiable Credential Data Integrity 1.0仕様に置き換えられています。このため、LD署名のサポートを実装することは推奨されません。
どないせえっちゅーの
[2025/07/11 09:23:41]追記
https://qiita.com/asagohan2301/items/cef8bcb969fef9064a5c
あとは前半部分(ヘッダ+ペイロード)と後半部分(署名)を、.(ドット)でつなげます。
これでJWTの完成です!
JWTというやつの話で正規化とは関係ない、かもしれないけど、正規化表現に見られる「.」がなんだろうと思ってたのは、これのことか。
HTTP Signatureは「: 」(コロン半角空白)でキーと要素を繋いで、それら各々を「改行」で繋いだものを署名対象にする。
正規化されたJSONはそこんとこ、ドットで繋げばいいのかも…。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
ActivityPubサーバーに絵文字リアクション

自作実装のActivityPubサーバーで、フォローさんや投稿に対するリアクション「Like」(いいね)は実装済み。WEB拍手的な使い方、ちょっとした賛同をお相手に送るというリアクション。
これで十分だと思ってやってたんだけど。追悼など失意系の投稿に対して「いいね」はさすがに使えない。そんな時は、メンションを送ってお悔やみを投稿するという方法しかなくて、お相手との距離感的に言葉を選ぶのが難しいケースも多い。
Misskeyに代表されるFediverseのサーバー(インスタンス)では絵文字リアクションという方法がある。
「いいね」だけで足りないところを、絵文字で違うニュアンスのリアクションを送り合う。
言葉ではなくて、たぶんこういうふんわりしたちょっとした感情表現もコミュニケーション、SNSならでは、というやつだ。
てことで、
送信する場合限定で絵文字リアクションを実装することにした。
ちなみに、
受信する場合の絵文字リアクションは実装しない。良いリアクションも悪いリアクションも、等しくリアクションという認識なので気にしない。
ただ、
絵文字リアクション=EmojiReactはActivityPubの仕様には入ってないので、サーバーによって対応にばらつきがある。
「EmojiReact」というActivityは仕様にはないので、対応していないサーバーのことも考慮してのことだと思うけど「Like」のActivityに絵文字を仕込むことが慣例的(?)っぽい。
これだと、お悔やみ系の絵文字を送ったつもりが、絵文字に対応していないサーバーに届くと「いいね」や「ハート」になってしまう。
逆に(?)そういった事故を防ぐために「Like」ではなくて「EmojiReact」をActivityとして送れば、対応していないサーバーは「いいね」にすることもなく、Activityをスルーしてくれる。
というやりかたもあると教えていただいた。
どちらを採用するにしてもサーバーが絵文字に対応してるかどうか確認が必要となる。
サーバーが絵文字に対応してるかどうかは、たぶん「nodeinfo」に記載されているだろうから、nodeinfoを見てから送信する/しないの判定を入れるのが良いと思う。
…けど
1)nodeinfoを見てnodeinfo2.NのURIを取得する
2)nodeinfo2.Nを見てemojiの有無を確認する
という2つリクエストが必要になる、よなあ。
その都度リクエストを飛ばして、サーバーの対応状況確認については、ちょっと保留。
現状見た感じで、サーバーごとの絵文字対応状況は
絵文字非対応→「いいね」になるサーバー
→Mastodon系ほぼ全部
絵文字対応サーバー
→Misskey系(IceshrimpやFirefish)、Akkoma・Pleroma系、Fedibird、kmyblue、mitra
無駄なリクエストを飛ばさないようにリストでも作って運用かな。
実際のActivityやJSONでの絵文字の指定などは、もう少し固まったらホームページの方でページを作ろう
「おひとり様ActivityPubサーバーの自作実装」
https://www.doncha.net/activitypub.html
使う絵文字は、unicodeで既定の絵文字、カスタム絵文字(独自の絵文字)の2種類。
本当は絵文字を自作したかったんだけど…て、メモ用紙に手書きで絵を描いてスキャナーで取り込んで4時間ぐらいごちゃごちゃやってみたんだけど、話にならない。目も当てられない。便所の落書きにもならない酷いシロモノ。
40年ぐらい前、エロ漫画の編集をやってた頃は原稿取りに行ってトーン貼りベタ塗りとか手伝ってたし、官能小説雑誌の穴埋めコラムのイラストも描いてたというのにまるで駄目だ。
手を動かす脳を動かすのはある意味筋肉と同じで使ってないとダメになるから、とマンガ家さんたちが口を揃えてたのを思い出した。
https://volpeon.ink/emojis/neocat/
SNSでぼやいたらフリーで使える絵文字を教えていただいてダウンロード。280弱あって全部入れても老眼にはツライだけなので、5つぐらいに絞って登録。とりあえずこれで様子見。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」