私が歌川です

@utgwkk が書いている

今年見た川

これは川見てるアドベントカレンダーの記事です。

adventar.org

id:utgwkk です。今年見た川の写真を放流します。


f:id:utgwkk:20211126132942j:plainf:id:utgwkk:20211126132928j:plain
1/2 新年、貴船の川

f:id:utgwkk:20211126132920j:plain
振り返りをやりたい

f:id:utgwkk:20211126132841j:plain
2/27 流れ

f:id:utgwkk:20211126132817j:plain
3/31 桜と疎水見てる

f:id:utgwkk:20211126132810j:plain
4/2 夜桜

f:id:utgwkk:20211126132801j:plain
4/27 市街地の川

f:id:utgwkk:20211126132752j:plain
5/21 荒れてる様子

f:id:utgwkk:20211126132723j:plain
7/2 まだ荒れてる

f:id:utgwkk:20211126132708j:plain
7/18 清流になった

f:id:utgwkk:20211126133924j:plain
9/19 浸水ステージ

f:id:utgwkk:20211126132654j:plain
9/20 大歩危・小歩危だっけ

f:id:utgwkk:20211126132633j:plainf:id:utgwkk:20211126132625j:plain
9/21 ンョ゛ハー゛の近くの橋と川

f:id:utgwkk:20211126132600j:plain
9/23 門司 (川ではない)

f:id:utgwkk:20211126132525j:plain
10/30 嵐山のあたりの川

f:id:utgwkk:20211126132452j:plain
11/6 オブジェ

f:id:utgwkk:20211126132427j:plain
11/14 名古屋の川

f:id:utgwkk:20211126132507j:plain
11/23 水があります

f:id:utgwkk:20211129223301j:plain
11/28 川見てる


川見てるアドベントカレンダー、まだまだ枠が余っている (11/30 22:46現在) のでどんどん参加してください。

adventar.org

ffmpegで高速なアニメーションGIFを作る

備忘録です。最近よくLGTM画像を作っていて、その一環で動画からアニメーションGIFを生成することが多い。

gyazo.com

このアニメーションGIFを4倍速にしたい。より正確には、元動画を4倍速にしたアニメーションGIFを作ることを考える。

ffmpegにいろいろなパラメータを渡しているけど、だいたいは綺麗なアニメーションGIFを作るためのパラメータなので、そこの解説は以下の記事に譲る。

life.craftz.dog

setpts=PTS/4

ffmpegのドキュメントに setpts というフィルターがあって、これが使えそうに見える。

FFmpeg Filters Documentation

$ ffmpeg -i momoi-lgtm.mp4 -i palette.png -lavfi "setpts=PTS/4,fps=48,scale=900:-1:flags=lanczos [x]; [x][1:v] paletteuse=dither=bayer:bayer_scale=5:diff_mode=rectangle" -framerate 12 -y -plays 0 -f gif out.gif

けどこれだと綺麗なアニメーションGIFにならない。カクカクするしループの瞬間に一瞬止まったような感じになる。

gyazo.com

-itsscale 0.25

もっといい方法がないかと調べていたら以下のSuper Userの回答にたどり着いた。

superuser.com

$ ffmpeg -itsscale 0.25 -i momoi-lgtm.mp4 -i palette.png -lavfi "fps=48,scale=900:-1:flags=lanczos [x]; [x][1:v] paletteuse=dither=bayer:bayer_scale=5:diff_mode=rectangle" -framerate 12 -y -plays 0 -f gif out.gif

これなら滑らかかつ高速でよさそう。

gyazo.com

便利

なめらかに動くアニメーションGIFを作れると嬉しくなる。

gyazo.com

www.youtube.com

「レガシーソフトウェア改善ガイド」を読んだ

レガシーソフトウェアに手を入れるにあたってまずは計測・可視化をしましょう、というのがいい話だった。ここでも「推測するな、計測せよ」の原理が効いてくる。闇雲にリファクタリングするのではなく、本当に肝心なところを見極めてリファクタリングしましょう、ということを忘れないようにしたい。

リファクタリングを進めるためにチーム・ビジネスを巻き込みましょう、そのためにどういう利益があるのかを示せるようにしましょう、ということを念頭に置いている。とはいえサッと終わるリファクタリングなら勝手にやるほうが早いというのもあり、要はバランス。

全てを書き直すのは最終手段にするのをおすすめします、ということを強調されていた。この言葉は重たい。とはいえ最終手段としてどのように取り組めばよいのかも教えてくれるので勇気づけられる。

結局、最初は「醜悪な実装」に見えたコードが、実は「複雑な仕様」だった、という場合が多く、それについては、大きな改善が望めない。

IntelliJ IDEAには引数が多すぎるコンストラクタをBuilderパターンに修正する機能があるらしくて便利そうだった。こういうツールを作って生産性を上げることができれば何よりの喜びだと思う。

自尊心のあるプログラマなら、そんなのはIDEに任せて、もっと大事な仕事をしよう。

それ以外の具体的なツールの使い方は流し読みした。2016年に初版が出ていて、現代ならDockerを使うでしょう、みたいな記述もある。linterの使い方について書いてあるところは実感が持てる内容だった。linterに振り回されるのではなく、生産性を上げるためにlinterを使う、そのためにはノイズを抑制する、というのはちょっと前に書いていた。

blog.utgw.net

そういえばレガシーソフトウェアの改善ではないけど、ちょっと前にいいことを書いていたのを思い出した。今でもPRが大きくなりすぎないように・ついでにいろいろ解決しまくらないように心がけている。

blog.utgw.net

blog.utgw.net

本に書いてある内容と自分の経験や勘に似通ったところがあると、単なる野生の勘ではなく既に誰かが言語化してくれていたのだ、と安心する。

Twitterの通知が木片になる夢

Twitterの通知を掲示する用の掲示板ができて、誰々さんがあなたをフォローしました、みたいな通知が木片に書き込まれてどんどん掲示される。木片に白いペンキを塗るのを手伝うとサンキューって言ってもらえる。通知を確認したら木片を取り除く。積み上がっていた木片を崩してしまったのですいませんすいませんって言いながらみんなで片付ける。

オープンインターネットで音声雑談できるかどうか

近年、Twitterスペースでみんな雑談している様子が見える。

help.twitter.com

オープンインターネットで音声を使ったコミュニケーションをするのにどうしても抵抗があって、Twitterスペースが開催されているのを眺めることしかできない。知り合いと話すならSlackやDiscordでええやんみたいな気持ちになってしまう。

ラジオやYouTube Liveとの違いについて考えると、Twitterスペースでは強いインタラクションが発生するということがある?

知らない人と話す、という観点だとカンファレンスの懇親会でも同じ状況にはなるのではないか。Discordを使って話題ごとに分かれて雑談しまくるみたいなのは良かった。

みなさまは、オープンインターネットで音声雑談をやっていますか?