表題の通り。。。よく忘れるのでメモ書き。このファイルのプロジェクトのフォルダに入れておけばOK。ホームディレクトリの設定ファイルに書かなくても大丈夫です。
2026-08-20
2026-08-13
tmuxでSSH切断後もプログラムを継続
リモートのサーバーに接続した後に、長時間を要するプログラムを実行する場合、SSHの接続が切れたりして、プログラムの実行が終了してしまうのは悲しいですよね?これを解決してくれるのが、tmuxです。
1. インストール**
sudo apt install tmux
2. 名前付きセッションを開始
tmux new -s experiment
3. プログラムを実行**
conda activate myenv
python main.py
SSHが切れてもプログラムは動き続けます。
5. 元の画面に戻る
tmux attach -t experiment
という流れになります。
2026-07-16
Mac: フォルダ右クリック→クイックアクションにVSCodeで開くを追加する
MacでVSCodeを開くときに、フォルダを起点にしたいときありますよね?私はフォルダからターミナル開いてVSCodeを呼び出していたんですが、クイックアクションに設定するとラクです・
手順
- Automator** を起動
- 「新規書類」→「クイックアクション」を選択
- 上部を以下のように設定
- ワークフローが受け取る現在の項目:
- フォルダ(または「ファイルまたはフォルダ」)
- 対象:Finder
- 左側から シェルスクリプトを実行」を追加
- 入力の渡し方」を 引数としてに変更
- 以下スクリプトを書く
- 「ファイル」→「保存」(保存名がメニューに出てきます)
2026-06-04
Macでバージョン1.3以上のPDFを作成する方法(裏技?)
学会発表のために、EDASからPDF原稿を提出したら、
- The PDF file uses PDF version 1.3, however, only version 1.4 and greater are allowed.
- head -n 1 xxxx.pdf
- Word→ 印刷→PDF でダメ(1.3)
- Word→ 名前をつけて保存 → PDF でダメ(1.3)
- Word→ PDF(作り方はなんでもいい)→ Edgeに読み込ませる→印刷→PDF保存→ PDFでOK(1.7)
Claude CodeとZoteroと連携させるスキル
表題の通り、Claude CodeとZoteroと連携させるスキルを書いてみた、、、いや、Opus4.6に書かせたというのが正しい表現か。。。
仕様
- ローカルのZoteroクライアントに調べさせた文献の情報を登録させる
- PDFのダウンロード作業はさせない(手動でやります)
全部自動化させたいところですが、ライセンスの関係でPDFのダウンロードができないこともあったり、無駄な作業をさせてトークンの無駄遣いを防ぐという点で、PDFダウンロードは手作業としてます。
(P.S)今後は、このブログでもコードよりも、生成AIを動かすためのスキル記述(マークダウン)を紹介することが多くなるのかも。
2026-03-08
フォント埋め込みPDFの作り方(Word for Mac編)
原稿提出の際にPDFを求められるのは当たり前の時代になりましたが、フォント埋め込みPDFファイルの提出を求められることがあります。その方法のメモ書きです。
Wordのフォント埋め込み設定をする
- 環境設定→出力および共有→保存 の画面へ移動
- その画面にある「ファイルにフォントを埋め込む」にチェックをいれる
でOKです。
PDFで保存する
- 印刷に最適を選択してから保存
が正解です。
fontが埋め込まれているか確認する
MacのPreviewだとフォント確認ができないので、確認のできるサードパーティーのソフトで確認します。例えば、Adobe Acrobatが良いでしょう。
2026-01-06
SwiftPlayground:〜から、ほかのアプリからのデータへのアクセス権を求められています。
Mac版のSwiftPlaygroundを利用すると、
〜(自分のアプリ名)から、ほかのアプリからのデータへのアクセス権を求められています。
というダイアログが何度も出てくる事象が発生中。これは、MacOSのバージョンが上がってセセキュリティが厳しくなったことにより発生している事象(バグ)のようです。
回避策は今のところなし(2026/01/06現在)。とりあえず、プレビューを停止することで発生を抑えることはできますが、プレビューで動作確認をする際には毎回出てくるので面倒です。
本件はAppleの公式フォーラムでも取り上げられています
早く対応してほしいですね。
2025-11-17
VSCodeからGoogle Colaboratoryを利用可能に
先日、表題のニュースがありました。以下、簡単な使い方メモ
1.拡張機能のインストール
- Colabという名前の拡張機能があるのでインストール(Google製であることを確認)
- ファイル作成から、JupiterNotebook形式を選ぶ
- Colabを選ぶ
- Auto Connectを選ぶとCPUだけ利用
- GPUやTPUを利用したい場合は、New Colab Serverを選ぶ
2025-10-10
WindowsPCでBIOS設定画面がでなくなってしまった場合の対処方法
表題の通りなんですが、、、、Windowsが入っているPCをUbuntuにしようとして、USB起動しようとしても認識せず、BIOS(UEFI)起動して起動ディスクを変更しようとしてもだめ。。。という初歩的なようでハマりました。
症状
- Windowsは起動する
- BIOSの画面が出ない
- 電源投入時にF2とかDelキーを連打してみると、Windowsは起動せず、画面が黒いまま停止
- HDMI、DPポート両方にディスプレイを接続するも、どちらも表示されず
- ASRockのマザーボードなので、UEFI Setup Utilityをインストールし、試すが変わらず
2025-08-25
Radis:Bad file format reading the append only file: make a backup of your AOF file, then use ./redis-check-aof --fix
表題に書いてあるように
# Bad file format reading the append only file: make a backup of your AOF file, then use ./redis-check-aof --fix <filename>
というエラーが出た場合
環境
- Mac
- Learning Locker in Docker Desktop
原因
-
appendonly.aofファイルというのが破損している。
Redis の AOF は「追記型ログ」なので、最後の部分だけ破損しやすい
-
redis-check-aof などのツールを 同じバージョン環境で実行できるようにするためにpull
- alpine コンテナを一時的に起動し、終了後は自動削除。
- Redis のデータが入っている Docker ボリュームを、このコンテナの /data にマウント。
- 今いる作業ディレクトリ(ホスト)を /backup にマウント。
- tar ファイルをホストに書き出せる。
- Alpine のシェルで /data に移動し、その中身を tar.gz に固めて /backup に保存。
- docker run : 新しいコンテナを一時的に起動する。
- --rm : コンテナ終了後に自動で削除する。ゴミが残らない。
- -it : 対話的モード(-i 標準入力を開く、-t 擬似端末を割り当てる)。
- Docker ボリューム learning-locker-docker-image-main_learninglocker-redis をコンテナ内の /data にマウントする。
- Redis のデータファイル(appendonly.aof や dump.rdb)がここに入っている。
- サーバーではなく、同じイメージに含まれるツール redis-check-aof を実行したい。そこで --entrypoint で実行プログラムを差し替えている。
2025-08-22
Python: flet+pystrayでメニューバー(タスクトレイ)常駐アプリ
表題の通りです。このサンプルは単純ですが、アイコン画像を用意して、メニューをいろいろ追加していけばいい感じになるのかなと思います。
2025-08-20
Learning Locker をDockerでインストールする
Learning Lockerのインストールをしようとして、実にくだらないミスと言うか無駄な時間を使ってしまったので備忘録。
結論
Learning Lockerを入れる場合は、下記のkromiiiさんのリポジトリを利用するのが無難です。
- https://github.com/kromiii/learning-analytics-at-home
- https://github.com/kromiii/learning-locker-docker-image
- https://github.com/adlnet/learninglocker-docker
2025-07-10
Mac: error: externally-managed-environment というエラーが出た場合
これは PEP 668 で導入された新しい Python のセキュリティ仕様によるもので、特に macOS の Homebrew でインストールされた Python でよく見られます。
Homebrew は「システム Python 環境を壊さないため」に pip を直接使うことを制限しており、パッケージインストール時にこのエラーが出ます。
解決方法
- 方法1: 仮想環境を使う(推奨)。anacondaやvenvを使うなどして、仮想環境を作成しそこでpipを行う
- 方法2: pip に --break-system-packages をつける(簡易だが慎重に使う)
- 方法3: pipx を使う。
2025-07-07
Java: VSCodeで import文にエラーが出る場合に試して欲しいこと
たまに、Javaのプログラムを書いている時に表題のようなことが起きるんですよね。。。。いちおう前提として、
- DropBoxでソースコードを共有
- 自宅と職場など異なるPCで開発をしている
- 自宅では問題ないソースコードが、職場だとimport文が真っ赤っか。。。
- パッケージルートやクラスパスに問題なし(初歩的なミスはしてません)
2025-06-17
SAM(Segment Anything Model)を試してみた
Meta(旧Facebook)によって開発された汎用セグメンテーションモデルであるSAM(Segment Anything Model)を試してみました。SAMは、特定のクラスに依存せず、任意のオブジェクトのセグメントが可能で、さらに「プロンプト(指示)」に基づいてその対象を指定することが可能で、具体的には、
- 点(例:画面中央の1点)
- ボックス(矩形領域)
- マスク(既知の一部マスク)
などがあるようです。
以下は、中心点に着目した例です。2025-06-13
PythonでIRTライブラリを試してみた
表題の通り、IRT(Item Response Theory)のライブラリを動かしてみました。Rの例は多いんですが、Pythonはまだ少ない感じ。とりあえずChatGPTに聞きながらですけど、このコードになるまで試行錯誤しました。ChatGPTの言うことがただしければ、pipでインストールされるライブラリにはバグがあるようなので、ライブラリをラップする自作クラスで再定義したという応急的処理をしてます。ミスがあればコメントください。
2025-05-09
PRISMLens:Mac対応バーチャルカメラ
今まで、OBSとかZoomとかで背景処理をするときは、XSplit VCamを使ってきましたが。。。
無料で良いのを見つけました。PRISMLens(公式サイト)というやつです。NAVER社が作ってるPRISM Live Studioのサブアプリ?みたいな位置付けらしいですが、単体でインストールできます。XSplitのは有料だったりするので、もうこっちでいいかなという印象。PRISM Live Studioってやつも、機会があれば触ってみようかと思います。
2025-04-26
Python: OpenCVを利用してネットワークカメラの映像をHTTPで取得する
表題の通り。Python+OpenCVを使えば簡単にできちゃいます。昔は、mjpegのバイナリーデータを切り出したりして対応してましたが、便利な時代になったものです。
2025-03-12
Python: xapiでステートメントを登録する(Learning Locker)
表題の通り、LRSとしてLearning Lockerを使うことになったので、まずはPythonでのデータ(ステートメント)の登録方法など。一般的には、MoodleなどのLMSからLRSに送るので、コードでガリガリということはあまりないと思いますが・・・。
留意点としては(Learning Lockerを前提にしていますが)、
- エンドポイントのportは8081
- usernameとかpasswordは、Learning Lockerにある管理画面のKey, Secretなどが該当
- headerには"X-Experience-API-Version"が必須
2025-03-10
AWS Lambda: [ERROR] ProfileNotFound: The config profile (xxxx) could not be found
Chaliceを使ってPythonコードをlamdaにデプロイしたら、Internal Errorのリターンがあり、表題のようなエラーがCloud Watchで確認できました。エラーの意味は、xxxxってプロファイルがないよってことなんですが。。。。
原因と解決策
原因は、ローカルで指定している Crediencialのプロファイルが、サーバー側にはないよってこと。
解決策は、デプロイするコードにはprofileを指定する記述をなくす。。ということにようです。sonnnet3.7の回答がそうだったので、実際そうすると動きました。でも何かスマートじゃないな。