# Technology

  • cover image
    読書記録を読書メーターからブクログに移行した。読んだ本を後で振り返れるように、2019年頃から読書メーターを使ってきた。感想も評価もつけずに読んだ本を登録するだけ、しかも思い出したときしか登録しない、というゆるーい使い方なので、大きな不満があったわけではい。コミュニティ機能が不要であればブクログのほうが使いやすい、という評価を見かけてから、ブクログも試してみたいなあと思っていた、というだけ。あと最近はブクログのほうがユーザー多めな気もするし。いざやってみようと調べると、ブクログにはインポート機能があるのに、読書メーターの方にはエクスポート機能がない。少し検索すると非公式の移行ツールやスクリプトはいくつか出てくるけれど、古かったり使いづらかったり、本はエクスポート出来るが読了日などが含まれていなかったり……などなど、まあ面倒だし移行しなくてもいいかあと諦めていた。ところが先日、思い出して読了本を登録した際に、そうだ生成AIを使えばいいのでは、と思いついた。で、やってみたら出来た。私はGeminiを使ったけれど、他のものでも似たようなことは出来ると思う。お試しあれ。移行プロセス1. 読書メーターの記録をコピーする読んだ本一覧のページに行き、表示を「画像つき」から「テキストのみ」に変更する。範囲選択してコピーする。2. 生成AIにペーストしてフォーマットを整えてもらうブクログにはインポート機能があるので、そのフォーマットに従って必要な情報を抜き出してもらう。私が実際に使った雑プロンプトはこんな感じ。ISBNは勝手に入れてくれた。もちろん一回では上手く出来ないので、ちょっとずつ調整する。いい感じになったら「このデータも追加してください」と次の読書記録をコピペする。これを繰り返すとそれっぽいCSVが出来る! うれしい! 適当な名前で保存して、気になるところがあったら自分で直して、準備完了。3. 文字コードをShift-JISに変更するブクログはShift-JISしか受け付けていないようなので、文字コードを変換必要があるする。コマンドを打つと簡単。iconv -c -f utf-8 -t shift-JIS bookmeter.csv > booklog.csv登録順にこだわりがあるなら並べ替えもしておく。sort -t, -k11 booklog.csv > booklog_
  • cover image
    warning: os-prober will not be executed to detect other bootable partitions.という GRUB が OS を認識しなくなったエラーを直したメモ。SummaryBefore$ sudo update-grub Generating grub configuration file ... Found background image: /usr/share/images/desktop-base/desktop-grub.png Found linux image: /boot/vmlinuz-6.1.0-9-amd64 Found initrd image: /boot/initrd.img-6.1.0-9-amd64 Found linux image: /boot/vmlinuz-5.10.0-21-amd64 Found initrd image: /boot/initrd.img-5.10.0-21-amd64 Warning: os-prober will not be executed to detect other bootable partitions. Systems on them will not be added to the GRUB boot configuration. Check GRUB_DISABLE_OS_PROBER documentation entry. Adding boot menu entry for UEFI Firmware Settings ... doneFix: Enable os-prober by modifying /etc/default/grub# If your computer has multiple operating systems installed, then you # probably want to run os-prober. However, if your computer is a host # for guest OSes installed via LVM or raw disk devices, running # os-prober can cause damage
  • cover image
    眠っていたかわいい電子ペーパーデバイスを活用してあげたくなったので、夫と一緒におうち掲示板を作りました。というか夫がだいたい作ったあとで私が割り込んで微調整をしました。ハードウェアに明るくない私でも開発することが出来たので、簡単に記録を残しておきます。私たちにしては珍しくノーコード開発です。What We Wanted: 欲しかったもの私たちがぼんやりと欲しがっていたものはおうち掲示板のようなもので、やることリストやおかいものリスト、カレンダーなど、家庭生活に必要な情報がまとまった物理ダッシュボードでした。目に入るところにそういった情報があると意外と便利ですが、使いやすいものを作るのは意外と難しいのです。今までは壁掛けのホワイトボードに手書きでなんとかする、という運用をしてきましたが、毎回TODOを整理して書き直すのは少し面倒なように感じていました。また、大きなタブレットを吊るすことも考えましたが、ちょうどいい位置にコンセントが無く、手書きのほうが早いようなことも意外と多いので、結局実現しませんでした。今回は M5Paper を使いたかったこともあり、ホワイトボード + やることリスト用電子ペーパー、というスタイルにしてみることに決めました。What We Implemented: 作ったものカバー画像にあるとおりの TODO リスト表示デバイスを作りました。M5Paper にはマグネットもついているので、先述のホワイトボードにくっつけて設置しています。今回使ったものは以下のとおりです。M5Paper: タッチ操作可能な電子ペーパーを搭載した M5Stack のコアデバイス。今回はタッチ操作は実装しませんでした。UIFlow / M5Flow: M5Stack シリーズ向けの開発環境。ビジュアルプログラミングと MicroPython でのプログラミングに対応していますが、今回は前者を使ってみました。Notion: Notion にカンバン形式のタスクボードを作り、その内容を M5Paper に表示することにしました。実際に組んだブロックはこんな感じになりました。写っている範囲では、右下にQRコードを出してみたり、電池残量メモリを力技で表示したりしています。カラフルでかわいいですね。ノーコードでの開発には、初心者に優しいこと以外にも、ブロック同士の依存関係が分かりや
  • cover image
    2022年4月から地味に更新し続けているこの個人ブログを Next.js + Tailwind CSS + microCMS で作り直しました。所謂 Jamstack です。元々は年末年始のお休みを使ってゆっくりやる予定でしたが、クリスマスのイブと当日のほぼ丸2日で全ページの実装と移行までを終わらせることが出来ました。個人ブログを運営する理由そもそも既存のブログプラットフォームを使わずに個人でブログを運営しているのには、いくつかの理由があります。プラットフォームに縛られたくないいくつかのプラットフォーム(アメブロ、はてなブログ、Medium、noteなど)でブログを作ったこともありますが、プラットフォームの雰囲気や機能の過不足などに違和感・不満を感じ、最終的には全部やめてしまいました。より多くの人に使われることを目的としたサービスは個人にとって完璧なものにはなりづらいので、これは仕方のないことだと思います。継続的に記事を書くためには、自分で運営するブログを終の棲家として、不満があれば自分で直す、というのが私には一番馴染むような気がしています。コンテンツを自分で管理したい何度かのブログ移行を経て、コンテンツをブログデザイン等とは別の場所で管理したいと思うようになりました。今までは Markdown でブログを書いていましたが、外部サイトの埋め込みなどを表現するのが難しかったこともあり、今回は microCMS への移行を決めました。移行の詳細元の実装では hugo を使っていました。スタイルテンプレートが豊富で、簡単に見栄えの良いWebページを作ることが出来るので、今でも結構気に入っています。ただ、デザインを変更するのが少し面倒だった、ショートカットを使いながら Markdown で記事を書くのが好みではなかった、URLの trailing slash が好きではなかった、などの理由から、今回は他のサービスに移行することになりました。また、あまり言及していませんが、ホスティングは移行前も移行後も Github Pages を使っています。今回採用したサービスはどれも公式ドキュメントが豊富だったので、以下のページに書かれていることを組み合わせると、本当に簡単にサンプルページを作ることが出来ました。Install Tailwind CSS with Next.jsmicr