Naney がよく使用しているプログラミング言語。 この nDiki を提供している DiKicker も Perl で記述されている。
ちなみに ``Perl はプログラミング言語を指し、``perl はその実装を指す(perlfaq1)。
人通り。
— Naney (@Naney) February 14, 2019
PowerShot G9 X Mark II pic.twitter.com/bYcWEuefzZ
2018年に $44.95(2年)で更新した Flickr Pro、来月の更新は $49.99(1年)かーと思っていら、一昨日に $59.99(1年)に値上げするというメールが……。
2005年2月に登録し、その年の5月には Flickr Pro にアップグレード。ここ最近はほとんどアップロードしなくなったけれど「nDiki 上の過去記事の多くで Flickr 上の写真を表示している」のと「Twitter に投稿した Flickr への URL をデッドリンクにしたくない」のとで Flickr Pro を維持してきた。
nDiki 上の記事の写真の移行が進んでいないのでもう1回更新かなあと思っていたのだけれど、さすがにこの金額はもう無理。2月4日の更新前に移行作業をやりきることにした。
Flickr にアップロードする写真自体は全部ローカルにあるので失っても問題ない。
だけれど Flickr (Pro) をやめることで写真削除となった時に、Flickr 上でのフォト ID に対応する写真がどれだったが分からなくなるのは困る。ということで Flickr からまず写真をエクスポートすることにした。
Account settings ページの「Request my Flickr data」でまずダウンロードリクエストを行う。準備ができるとダウンロード用のリンクがそこに表示される。
自分の場合は「Account data」の ZIP ファイルが1つと「Photos and videos」に ZIP ファイルが7つできた。
前者はメタデータなどが入っており、後者には写真・動画ファイル(以下写真ファイル)そのものが入っている。全部で 3,052 写真ファイルだ。
写真ファイルのファイル名に微妙にタイトルが入っていたり入っていなかったりと統一されておらず扱いづらい。幸い必ずフォトID(7桁以上の数字列)が含まれていたので、リネームスクリプトを Perl で書いて「<フォト ID>.拡張子」に変換した。
www.naney.org に転送してそのまま nDiki に貼れるように Exif Orientation をみて画像を回転させる。
jhead -autorot *.jpg
今 nDiki では画像ファイルの画像サイズは長辺 1,200px ピクセル以下にするようにしている(記事)。長辺が指定サイズより大きい画像ファイルだけをまとめてリサイズできる Th-MakerX
を利用した。
出来上がったファイルを1つのディレクトリに入れて www.naney.org にアップロード(同期)。これで Flickr 上にあった写真(を調整したもの)を www.naney.org 上に置くことができた。
nDiki の過去記事で Flickr 上の写真を表示させているものをいくつか編集して www.naney.org 上の写真を表示するようにしてみたところうまくいっている感じ。
思ったより早く移行できちゃうかも。
[ サブスクリプションサービス ]
「nDiki 上の過去記事の多くで Flickr 上の写真を表示している」のと「Twitter に投稿した Flickr への URL をデッドリンクにしたくない」のとで Flickr Pro を維持してきた(記事)のだけれど、繰り返す値上げにはついていけないのでやめることにした。
Flickr からエクスポートして www.naney.org にアップロードするところまで昨日できたので、 nDiki 記事中に表示しているところやリンクしているところを書き換えたり削除したりする。
レイアウト崩れがないか確認しつつと思って最初は画像指定を手作業で書き換えていたけれど、時間がかかりすぎそうなので Perl スクリプトを書いて一気に書き換えた。記事データがただのテキストファイルな nDiki はこういう時の処理が簡単で良い。
アルバム(フォトセット)は16個あったのだけれど、どれも残さなくてもいいかな。必要になったら Google フォト上にでもまた作ればいいかと。
いくつかのアルバムは nDiki 記事からリンクしていたので、それを削除しつつアルバムを削除。
自分の Tweet まとめ記事にある Flickr 写真へのリンクはデッドリンクになる。短縮 URL を展開すればフォト ID が割り出せると思うけれども、いったんこれは放置でもいいかな。
解決すべき Flickr 依存が無くなった。 Flickr Pro から Free に戻った時点で Free の上限 1,000 を超える写真の扱いがどうなるか良くわからないので、すぱっと全削除しておく。
Flickr の Camera Roll で最初の写真を選択後、最後の写真を shift + クリックして全選択し、削除。
最後に Account settings で Flickr Pro をキャンセル。
終わった。
Flickr 今までありがとう。
[ サブスクリプションサービス ]
Web サイトの移行の話が出た流れで、この Web 日記についてちょっと考えたりした。
Perl で書いた自作の日記システム (CGI プログラム) で問題なく動いているが、手を入れずに使い続けているので将来環境(Perl やライブラリ)のアップデート時にハマるのではというのがあると、このまま記事が増え続けた時に問題が起きるのではというのがあり、気掛かりではある。
配信環境に依存しないように静的サイトジェネレータで生成する形に変えたらいいのではと、以前から思ったりしている。
ちょっとしか使ったことがない JavaScript を学ぶ機会としても Next.js とかどうかなとちょっと調べてみた。
個別記事ページを静的ページとして生成するのはいいとして、自動リンク機能で実現しているキーワード別ページとそのページングがちょっと厄介そう。やれるとしても今の URL 体系も一部変えなければいけないな。
convmv を使うとファイル名をまとめて NFC/NFD Unicode 正規化できる。
Perl スクリプトで 内部的には Unicode::Normalize::NFC と Unicode::Normalize::NFD を使って正規化しているので UTF-8-MAC にできるわけではないようだ。
$ brew install convmv
カレントディレクトリ以下にあるファイルのファイル名を再帰的にチェックし NFC Unicode 正規化されたファイル名にリネームする。
dry-run
$ convmv -f utf8 -t utf8 --nfc -r .
で変換されるファイル名を確認。問題なければ
$ convmv -f utf8 -t utf8 --nfc -r . --notest
で実際に実行する。 NFD Unicode 正規化した場合は --nfc の代わりに --nfd を指定する。
Perl で $0 を上書きして ps の表示を変えてみたという話を聞いて、懐かしいなと思って Web 日記を確認したら自分も2004年にやってた(記事)。
Perl 面白いよね。
エスカレーターの秘密の場所を覗く#photography
— Naney (@Naney) July 28, 2022
RICOH GR III #GR #GRIII #GR3 pic.twitter.com/WOn4n0JGdg
わしゃわしゃ#photography
— Naney (@Naney) August 23, 2022
RICOH GR III #GR #GRIII #GR3 pic.twitter.com/ckZykTM0DP
2022年2月16日からさくらのレンタルサーバで新サーバの提供が始まった。「SSD化をはじめとした機材の刷新を行い、表示速度および処理能力が従来の最大5倍」になったという。
IP アドレスが変更になるので提供されている新サーバへの移行ツールは使わず、今日のメンテナンスによるサーバ移設に任せることにした。
OS アップデートを含むサーバ移設につき、ユーザー自身でビルドしたものは動かなくなる場合があるとのこと。自分でビルドした Perl 上にモジュールをインストールしその上でこの nDiki のスクリプトを動かしているので、メンテナンス明けに動かなくなっているかも。その場合は新サーバ上でビルドし直しだなと思っていたのだが、幸い問題なく動いていた。Unison もそのまま使えているし、すんなり移行できたようだ。
良かった良かった。
30#photography
— Naney (@Naney) June 11, 2023
RICOH GR IIIx #GR3x pic.twitter.com/s8sADWL5IV
Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。
※本サイトの内容は個人的見解であり所属組織とは関係ありません。