PNG連番画像からGIFパラパラアニメをつくる

PNG連番画像からGIFパラパラアニメをつくるのはたまにやるのだが、Mac だと ffmpeg を使うのが便利。
だが、引数の指定方法はけっこう忘れてしまい、その度にググったりするので、忘備録的にメモ。

まず、ffmpeg だが、作業する Mac マシンにインストールされてない場合は、例えば homebrew を使って

brew install ffmpeg

でインストール。

000.png, 001.png, 002png ・・・・ と連番が3桁の場合には、

ffmpeg -i %3d.png -vf palettegen palette.png

として、まず palette.png を生成させる。
連番が4桁のときは、%4d で指定。ここらへんの引数の渡し方は C 系っぽい(単なる感想)。

次に

ffmpeg -f image2 -r 20 -i %3d.png -i palette.png -filter_complex paletteuse robo-umamusume.gif

として、GIFパラパラアニメを作る。

また -r は FPS(Frames Per Second) を指定しているので、例えば、r = 1 とすると1秒毎に画像が切り替わるGIFアニメが得られる。上の場合は 20fps になる。

 

air-h-128k-il

【魔改造】Surface Pro 7 (+)【SSD 128G→1T】

これまで windows マシンは、Dell XPS 13HP Spectre x360 と乗り換えてきた。ややスペックが見劣りするようになってきたが、通常使用では問題はない。
ただ、Spectre はサイズ的にやや大きく出先に持っていくのに若干躊躇する。

そこで、ネットや量販店などで物色。

最近では(機種にもよるが)、MS (MicroSoft) 謹製の surface シリーズもお値打ち感が出てきた。

外に持ち出せて、そこそこパワフルなスペック、というと surface pro シリーズが良さそう。

⭐️ 無印 Pro 7 と Pro 7 + の違い

この度 Surface Pro 7 で良い出物があったので導入した。

ただし、Surface Pro 7 + という法人・教育機関向けのもの。

無印と + の機能面での違いは CPU の世代と SSD の形態。
CPU は、無印が Intel core i シリーズ 10 世代、+ は 11 世代。
SSD は、無印が(おそらく基盤にベタ付けで)換装はほぼ不可能、+ は最初から交換することを前提に設計されているので当然可能。

在庫の関係で CPU i5 SSD 128G にしたのだが、これではストレージが物足りない。2021 春現在で 12万弱程度で購入できるのでコスパはいいんですが。

そこで、早速、SSD の交換を試みた。

⭐️ エントリーマシンを大容量 SSD に換装

まず、MS 公式が YouTube 上で SSD の取り外し方をご丁寧に解説してくれているので、これをチェック。

はっきりとは言及されてないが、自分で SSD を交換した場合は改造にあたり保証などは受けられなくなりそう。

まあ、ここから先は自己責任ですね。

さっそく、Surface のキックスタンドを開けて該当部位を探る。

 

SIM トレイを外すときに使うピンをポチ穴に押し込むと外蓋は簡単に外れる。
128G と書かれた黒いプチモノリス?が 元々の SSD です。

T3トルクレンチで黒いネジを外すと着脱できるようになります。

黒い筐体に囲まれているので一見わかりにくいが、この SSD の仕様は

NVME m.2 2230

という規格です。

だから、この規格の大容量の SSD が入手できれば、(システムの問題はさておき)SSD の換装はできるわけです。

検索かけるなどして調べてもらえればわかると思いますが、この規格で 1T くらいだと現在(2021 春)2 万円くらいです。

まだ、そんなにタマが出回ってませんが、ちょいちょい探していると見つかると思います。

入手できれば、挿入は簡単。

SSD 端子が、Surface の受け口に差し込まれると反対側がちょっと浮いた感じになるので、ここがコツと言えばコツでしょうか。浮いてない場合は変なところに入ってます。修正しましょう。

あとは再度ネジを止めるだけ。

これで、物理的な SSD の交換は終了。

簡単といえば簡単。

ただ、これだけでは、システムが入っていないので、このままでは起動はできません。

正常動作させるためにはシステムを入れ込む必要がある。

⭐️ システム・データの入れ替え

windows マシンの SSD 換装のとき、換装した SSD にシステムを入れ込むには大雑把に次の二つの方法がある。

・SSD 換装前に回復ディスクを作り、換装後に回復ディスクから起動してシステムを復旧させる
(この場合、ユーザーデータなどは当然移せない)

・SSD 換装前に元 SSD を換装用の SSD にシステムごとコピー(クローン)
(この場合は、換装後ユーザーデータ・アプリケーションなどもそのまま使える)

今回は、導入直後だったため前者を選択。
後者のときは easeUS などで SSD を丸ごとコピーしてください(解説記事はググればたくさん出てくると思います)。

回復ディスクは 32G 以上の USB メモリ推奨です。あらかじめ作成しておいてください。

私はこれを使いました。

Lexar、 私、よく使うんですが、あまり有名じゃないですね。ですが、使っていて不良品つかまされたことはないので、けっこうオススメです。
なにしろアマゾンでけっこう安い(1000円程度)。残っているかどうかわかりませんが、アマゾン該当ページはこちら

⭐️ 復旧

ここまで済んだら、回復ディスク(というか USB)を Surface に刺して電源投入。
そのままでも復旧できると思いますが、できない場合は電源投入直後に

F8キーを連打して USB から起動

できるようにしてください。

起動できれば、あとは復旧プロセスが始まります。

⭐️ 読み書き速度

そのうち示しますが、純正品より速くなってます。

 

以上、無事、SSD の換装ができました。

⭐️ その他、あった方がいい小物類

surface の電源供給は以前の Mac の MagSafe っぽい独自仕様。
これは良い仕様なんですが、Mac や android スマフォなどは PD の USB-C が一般的。
なので、スマフォと surface を持って外出、なんてときには、電源アダプタも二つ必要になってくる。
これは避けたい。

有難いことに USB-C → surface PD の変換アダプタはサードパーティでけっこうある。
今回はこれをアマゾンで購入(画像クリックでアマゾン商品ページに飛びます)。

実際に使うとこんな感じです。けっこうスッキリしてますね。

安くて若干不安だったんですが、機能的には問題なく充電できてました。

 

Mac ノートはマウスなしでも作業できると思いますが、Windows マシンの場合、マウスは必須でしょう。
今回はケースカバーの色(ポピーレッド。なんかお菓子っぽい)に合わせて MS 純正のやつにしました(アイキャッチ参照)。
他にも純正ありますが、お好みで。
ちなみに言うと、こちらのホイール付きの方が安いです。

なお、マウスの乾電池(単4二本使用)は購入時に入ってます。別途購入する必要なし。
何でも通常使用なら1年は持つとか。
ここらへんは地味ながら便利になりましたね。

 

air-h-128k-il

 

保健医療科学院 小林慎治が国家公務員法違反疑いで厳重注意を受けた件について

こういうのをタナボタというのだろうか、かねてから小林慎治(当時、京都大所属)という人から 「OpenOcean は GPL に違反している」という根も葉もない批難を受けていたのだが、別系統でこの件に関して彼の現所属組織(保健医療科学院)から謝罪のメールをいただいた。

単なる彼の事実誤認だと思っていたのとネット上での彼に関するあまり良くない噂(ただし、これ患者さんが一方的にー京都大学ではなくー愛媛大第一内科の小林慎治という名の医師を罵っているだけなので、この情報を頭から信用している訳ではないです)から個人的に関わりたくないと思い放置していたのだが、OpenOcean とは別件のオープンソースのプロジェクトで何かトラブルを起こしたらしく、当方にも現所属先の保健医療科学院の幹部の方から事実確認などの照会を受けた。

なるべく主観的な感情などを入れず、事実と明らかに異なる点に関していくつか返答させてもらった。

そのうちのいくつかを書いておくと

・彼は www.moss.gr.jp というサイトで
「OpenOcean は dolphin-dev の Fork の Fork の Fork」
と紹介していたのだが、これは完全に誤り。
dolphin-dev/opendolphin → Hiroaki-Inomata/OpenDolphin-2.7mOpenOcean
の順で Fork しているので明らかに一つ多い。正確には Fork の Fork。

・「(皆川和史という人の)著作権表示を隠蔽しているから GPL 違反」という主張をしているのだが、おそらくこれはスプラッシュ画面で (C) air-h-128k-il という表示をしたことに起因していると思う。が、これに関しては当時の LSC に確認を取ったところ「配布元がわかりにくくなるので、むしろスプラッシュ画面の(C) 表示は変えてくれ」という返答をもらっていた。その旨の回答をさせてもらった。
また、ついでで言っておくと LSC からは「皆川は現在では会社にも出勤しておらず、OpenDolphin の担当ではないから、気にしなくてもいい」という回答ももらっている。

・上に関することでもあるが、GitHub 上で「一般公開」していたソースコード上では、author 表示の類は一切変えていない。

・GitHub 上で OpenOcean のメンテナをしていた際、小林慎治がプルリクエストを送ってきたのだが、一方的に「マージせよ」と言い張るのみで迷惑したこと。(一般的にオープンソースのプロジェクトでは、メンテナがレビューしたのち、メンテナの責任においてマージする)

と言ったところだろうか。
他にも細かい点も指摘したのだが、主な点はそんなところだろうか。

保健医療科学院の担当の方はかなり丁寧に調べてくれたようで、他のプロジェクトの関係者にも調査をしてくれたようだ。
もちろん、他のプロジェクトの調査内容の詳細は私はわからないのだが、なかには、法律違反を煽る内容もあったとか。
何が決定打になったかわからないが、結果としては「国家公務員法違反(守秘義務違反、信用失墜行為の禁止、政治的行為の制限に関する違反)の疑いがあるので厳重注意をした」という処分になったということだ。

なお、担当者からのメールには「不快な思いをさせて申し訳ありません」という謝罪の言葉も添えられていた。
この言葉には、いくらか救われた。有り難かったですね。

 

air-h-128k-il

(参考1)これは特に誰というわけではないですが、けっこう SNS のアイコンなどに無頓着な人がいるようなので、一般的なお願いということで挙げておきます。

著作権法違反が疑われるコメントの掲載はできかねます

(参考2)ちょっとマニアックですが GitHub も SNS 的要素はあります。プルリクエストを送る場合やイシューを立てる場合、内容もさることながら、アイコンなどにもやはり気を使いましょう。

オープンソースの世界 〜残酷な自由さ〜

 

 

お知らせです -2021/02/07-

別サイトにも寄稿したので、お知らせ。

OpenDolphin 関連

マニュアル本『無料電子カルテ OpenDolphin パーフェクトガイド』の幻のレビュー
関係者一同、「そういえば、あった、あった、これ」と懐かしんでくれたブツが見つかったので、記事にまとめた。
そこでは書かなかったが、LSC 系統の OpenDolphin の取り扱いは関係者で協議中。

iOS/iPadOS/watchOS 関連

最近の iPhone/iPad の「プライベートアドレス」がわかりにくい件
apple の言うところの「プライベートアドレス」が、最初、何を言っているかわからず、右往左往したので、まとめてみた。
これに言及した情報はネット上には確かに見つかるのだが、具体的な解決方法がバシッと書かれていないので苦労した。

iPhone と SIM と楽天モバイル

SIM なしでも iPhone 自体はアクチベートできるし、eSIM のみでも回線は開通できる -楽天モバイルを例に-
数年ぶりに iPhone を持つことにしたのだが、メインはしばらく android にするつもりなので回線はコスパ重視で楽天モバイルにした。
設定はそれほど苦労なくできたのだが、若干不安になったのはネット上に「iPhone を楽天モバイル eSIM 単独で使う場合」の情報がほとんどなかった点。
いや、普通にできます。

* * * * *

従来のブログの手入れや新規ブログのお試し利用など。

air-h-128k-il@hatena

そういえば hatena にもブログがあったのだが、全くと言っていいほど使ってなかった。
「geek な日々」から air-h-128k-il@hatena に名前を変更して若干手入れしてきた。

air-h-128k-il@tumbler

よく「SNS的ブログ」と言われる tumbler 、気になっていたので一応は開設してきたが、今後、メイン(に近い形)で使うかというと・・???
ハイソでお洒落で、意識高い系の人にはいいかもしれない。

air-h-128k-il@goo

なんとなく開設。

air-h-128k-il@jugem

これも何となく開設。

 

air-h-128k-il

MacOS に elmo + やねうら王 + 将棋ぶらうざQ を「clang」で導入

ひさしぶりの将棋ネタ。
Mac を触る時間が長くなってきたので、将棋 AI も刷新したくなったから(過去に「技巧」を入れてます)。

導入方法の基本的な流れ自体は、
Mac にコンピュータ将棋ソフト「elmo」を導入した
MacOS に elmo + やねうら王 + 将棋ぶらうざQ をインストールする
あたりをご参考に。

ただ、やねさんの Makefile を見たら、

# clangでコンパイルしたほうがgccより数%速いっぽい。
#COMPILER = g++
COMPILER = clang++

 

とデフォルト設定で clang になっている。
何もわざわざ gcc に変えなくても良いのでは?
(ただし、llvm は諸々の事情で ver10 を使ってますが、デフォの llvm でも実行ファイルはできてました。gcc とか llvm とかよくわからんという人はこちらなども参照ください)

あとは、標準ライブラリを stdlibc++ ではなく libc++ に変えただけ。

こんだけで、一応、ビルドできましたが。

 

なお、アイキャッチは、藤井(聡太)-渡辺(明)棋聖戦第二局で藤井七段(当時)が△三1銀打と金取りを受けたところ。

 

解析させると AI 的にもここから流れが変わったのがわかりますね。

 

 

air-h-128k-il

 

北極圏コード貯蔵庫コントリビューター -Arctic Code Vault Contributor-

GitHub が北極圏にデータセンターみたいなのをつくって、そこに GitHub 上にあるほぼ全てのリボジトリのスナップショットを収蔵したらしい。
【参考】『Arctic Code Vault が実施段階へ突入』(GitHub ブログ)

MS すげーな。

また、このとき収められたリポジトリのオーナーやそれらプロジェクトにソースコードを(正式な形で)提供した者には、

Arctic Code Vault Contributor

の肩書きが与えられたようだ。「北極圏コード貯蔵庫コントリビューター」とでも訳せばいいだろうか。

私も OsiriX や Horos にはソースコードを提供したことがあるので、認定されたようだ。
大したものではないが、ちょっとは誇らしい気持ちになれる。

最近(2021 上半期)だと専用ロゴ?もついた。

air-h-128k-il

 

さらば XPS13 ! でも、SSD は救うよ(2)

Dell XPS 13 から取り出した SSD はこれ。

Samsung の NVMe 256G であることがわかる。
要は、これを USB などを介して別のパソにつなぐ。

USB 変換アダプタ付きの SSD ケースは、家電量販店やネットショップで多数販売されているので、適当にチョイスすればいい。

今回はこれにした。

選んだ理由は、スケルトンのケースが珍しかったから。単純に見た目。

ケースへの SSD の装着は、取り出しができる人ならば、たぶん、簡単にできる。スライドを滑らせてカバーをカパッと外し、SSD をソケットに挿入。付属のスペーサー兼固定具をネジで締め付ける(工具も同包されてます)。で、カバーを戻せば完了。

USB-C ⇄ USB-C と USB-C ⇄ USB-A のケーブル両方ついているのも嬉しい。

とりあえず Mac に繋いでみる。

しっかり認識してくれました。

あと、アルミの放熱板はけっこう効いてますね。

なかなかバランスの良いアイテムでした。

 

air-h-128k-il

 

 

さらば XPS13 ! でも、SSD は救うよ(1)

以前から何度か書いているが、windows 系のノートパソは、一時期は Dell の XPS13 を愛用していた。

バッテリーパックが膨れ上がる、筐体に歪みが出る、といったよくある症状の他に本格的に電源が入りにくくなってきたため、廃棄処分することにした。

とは言っても大事なデータはまだパソ上に残っている。

ここが Dell パソのいいところだと思うのだが、最初から分解・廃棄しやすいつくりになっている。今回の場合であれば、データが蓄積されている SSD を外部に取り出して何らかの形で使えるようにすればいいわけだが、筐体の分解の仕方が公開されているし、これから書くように SSD の取り出しはかなり楽だ。

本体をひっくり返す。

隅などに配置しているネジをはずす。ロゴヒンジの中にもネジ止めされているので、これも忘れず取り外す。
私の場合は、既にバッテリーは取り外してあったので、裏蓋をガバッと取り外すと、すぐにファンなどの各種パーツが露出する。

赤枠に囲った部分が SSD 。意外に小さいでしょ?

この取り外しがこれまた楽なんだな。

コネクタの逆側についているネジをはずすと SSD が浮き上がる。あとは本体をコネクタから抜けばいい。

これだけ。

基盤にベタ付けされていたら、こんなに簡単にはいかない。

 

このSSDを再利用するのが次の目標。

 

air-h-128k-il

続くよ

 

OpenBSD で GCC が廃止・Clang/LLVM に移行

タイトルの通り、とうとう OpenBSD 6.6 で、GCC が廃止・LLVM/Clang に移行になったようです。

OpenBSD 6.6登場、GCCの廃止とLLVM Clangへの移行進む

はっきりいって地味なネタ。実際、普通にパソコン使っている限りにおいては、何の影響もでないでしょう。

ちょっと関係するとすれば、Mac ユーザー(の中でも開発よりの人)。

ご存知のように OS X (MacOS)は、BSD(というUnix OS)の上に Cocoa というレイヤーを被せたかっこうになっている。
もともとアップルは Clang/LLVM 推しで、Objective-C(++) においては、.m と .mm (++ では拡張子はこちら) コードを Clang →LLVM という流れでビルドする。
なお、Objective-C(++) は C(++) の上位互換とされており、通常の C(++) の文法でコードを書いてもコンパイルはできる。
だから、実務的には、ソースが C(++) だったとしても拡張子を m や mm にしておいた方がいい

Clang がフロントエンドでソースコードの解析を担当し、LLVM(元は Low Level Virtual Machine の略。今は何の略でもないとされていいる)がバックエンドとなり、最終的な機械語コードを吐き出す。
また、LLVM は Virtual Machine から連想されるように Java と同様、特定のマシンから独立した中間コードをまず生成し、次にそれを各々のマシン向けの機械語に変換するという仕組みになっている。

話が逸れた。

世界が Mac だけで完結しているのなら Clnag/LLVM でもいいのだが、デスクトップPCのシェアは MS Windows の方が上で、Windows 向けに書かれた C++プログラムを Mac 上で動かしたいということはよくある。そのような場合、困ったことがおこることがある。
GCC や Windows C コンパイラにはある機能が、実際には Clang/LLVM にないことが度々あるからだ。
そのような場合は、GNU の GCC の使用を余儀なくされるわけだが、今後はその点でさらに使いにくくなるかもってことです。

【参考】Mac で技巧2を使う

air-h-128k-il

手帳型スマフォケース・スマフォケース付手帳

なぜかギャラクシーシリーズ第三弾。

結局、ギャラクシーは透明なケース・透明なフィルムで保護、というシンプルな構成におちついたわけだが、手帳型スマフォケースも便利かな?と思ったこともある。ちょっとしたメモか何かしたいときは、そちらの方がいい。ただ、鞄の中に入れておくならいいが、手ぶらで外出したいときなどにこれだとカサんでしまう。
先日、書店に立ち寄ったとき、ここら辺の問題を解決してくれるのでは?と思えるグッズに出会った。
私は、手帳は聖書サイズのシステム手帳を使っているが↓、

これ用の透明ポケットリーフが存在した。

そのままギャラクシーを放り込んでみる。


ぴったりというわけではないが、オサまりはいい。
以降、長期出張で半日くらいスマフォに触らなくていいときは、この状態で運搬している。
けっこう便利。