2025/12/19(金)SQLite integration

長らく放置させていたSQLiteで動かしているWordpressサイトがあった。バージョン6.4までは、
Kojima Toshiyasu版(原作?) SQLite integration
で動作するが、Wordpressを6.5以降にするとDBエラーで全く動かせなくなるので、よくわからないのでずっと放置していた。
それで、この度見つけたのが上述のものを基にした改良版の
wp-sqlite-db
だ。結果これのおかげで最新版のWordpressまで更新が可能となった。
というのもの、一旦このバージョンのSQLite integrationのdb.phpで更新して、その状態からWordpressを6.5以降にアップデート。
こうして一旦経由することでDBエラーがなく6.4と6.5のDB更新を乗り越えることで旧来のSQLiteDBたる.ht.sqliteが引っ越しできた。
そして、次に
SQLiteでWordPressを動かす(その1)
を参考にして、
SQLite database integration のセットアップ方法
も読みつつ、プラグインを手動でpluginsディレクトリにアップロードしインストールしてdb.phpをwp-contentにコピー(上書き)して最新の本家SQLite Database Integrationに移行させた。

これで、ずっと古いままだったWordpressを最新へと更新移行することができた。

2025/08/22(金)中華USBISP改造版のUSBasp

AVR用のISP書き込み機の話題、UPDI方式が浸透している今では古い話になります。

USBasp_china.jpg


aliexpressや、amazonなのでUSBメモリサイズのコンパクトなAVRライタのUSBISPが売られています。これ、USBaspに似ていますが全くの別物で中華独自のようです。そのままでは使いづらさがあるので、ネット情報にあるUSBasp化改造というものがあります。
参考になるのは、
で、このデバイスに書き込むカスタムUSBaspのリポジトリが
となっています。一応これらを参考に真似すればちゃんとArduino IDEの「USBasp」として「書き込み装置を使って書き込み」で使えるのですがどうも不安定です。素のATMEGA328Pにブートローダを書き込むときにエラーになったり、正式なUSBaspには起こらない、微妙に使えない場面に出くわします。この現象にずっとなんだろな、という曖昧な感覚で納めていたのですが、今回ちゃんと調べたところカスタム版のFWに問題があることがわかりました。

カスタム版のFWは、本家とのピン配置の違いなどを変更して修正したFWになりますがそのほかに一転重要なところを「良い感じに改造したぜ?」(意訳)というコメントともに改造されています。
それは、デフォルト時のSCKクロックスピードで、本家の375kHzから750kHzに変更されていた点です。ArduinoIDEから書き込む場合このSCKクロックを明示的に変更することはできませんので、必然的に750kHzクロックでの書き込みとなります("-B 10" などのオプションを通せない)。新品のATMEGA328Pは内蔵クロック1MHzで動作していますから、間に合わないわけです。
原因を突き止めたので、ソースコード変更してデフォルトクロックを93.75kまでさげてビルドしたものを書き込みました。本家よりも下げた理由は、互換機なんだから低速でもちゃんと書き込める装置としてあるべき、と考えたからです。

長年使ってきたレガシーなAVRの心残りがなくなった気がしました。

続きを読む

2025/04/03(木)Windowsのスクリーンショットファイル名をリネーム

Windowsでスクリーンショットを撮ると"2024-08-26.png"のような日付で保存されますが、同日に複数枚とると
2024-08-26.png
2024-08-26 (1).png
2024-08-26 (2).png
...
という、どうしようもないファイル名になってくれます。いろいろ面倒なのでファイル更新日時をつかってファイル名をリネームするバッチファイルを作成。
完全なリネームは怖いのでファイルコピー生成して問題なさそうであれば元のファイルは手動で削除する方法とした。

続きを読む

2024/07/04(木)GP2Y0A21YKのArduino用軽量ライブラリ

GP2Y0A21YKを簡単な計算式で使う で書いた大げさな計算じゃない軽量なライブラリをArduino IDEのライブラリマネージャーでインストールできるライブラリとして登録申請しました。"GP2Y"で検索すれば出てきます。
GP2Y0A21YK_scr.png

申請に際して
Arduino IDEのライブラリ一覧に自作ライブラリを登録する
を参考にしました。

公開ライブラリのGithubリポジトリは、GP2Y0A21YK_libです。
公式サイトにもGP2Y0A21YK_libから辿れるようになっています。
これが非常に嬉しいですね。

2024/06/23(日)ffmpegでアニメーションgifの容量をできるだけ小さくする

今時は、mp4やmovなどの動画ファイルを気軽にアップロードできますが、プログラムライブラリに動画を同梱する場合は
  • なるべく容量を抑えたい
  • 画質は問わない
  • そのため動作内容がわかればよい
  • 汎用性の高いファイル形式にしておきたい
という要件があると思います。じゃあffmpegで良い感じにできないかといろいろ調べた結果以下のコマンド
./ffmpeg.exe -i "C:\soft\ffmpeg\input.mp4" -vf "fps=1, setpts=PTS/1.5, scale=600:-1, split[a][b]; [a]palettegen=max_colors=8[c]; [b][c]paletteuse;" -ss 3 -loop 0 output.gif
  • 1fps
  • 8色
  • そこそこサイズの幅600
※-ss 3 は元ソース3秒目から変換、パスなどは適宜読み替え。

で600KB程度の数十秒間の動画の作成ができました。