<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Memos - lmlab.net</title>
    <link>https://lmlab.net/memos.html</link>
    <description>Memo posts from lmlab.net</description>
    <language>ja</language>
    <atom:link href="https://lmlab.net/memos.xml" rel="self" type="application/rss+xml" />
    

    <item>
      <title>Mermaidを試してみた</title>
      <link>https://lmlab.net/posts/2026/2026-06-08-try-mermaid.html</link>
      <guid>https://lmlab.net/posts/2026/2026-06-08-try-mermaid.html</guid>
      <pubDate>Mon, 08 Jun 2026 00:00:00 +0900</pubDate>
      <description><![CDATA[Mermaid (https://mermaid.js.org/) はテキストでフロー図やシーケンス図を書けるライブラリです。Markdown のコードブロックに ` ``mermaid と書くと、ソースと描画結果を並べて表示します。
フローチャート
処理の流れを表現します。 、LR は左から右、TD にすると上から下になります。

flowchart LR
    A[スタート] --&gt; B{条件分岐}
    B -- Yes --&gt; C[処理A]
    B -- No --&]]></description>
      
      <category>javascript</category>
      
      <category>html</category>
      
      
    </item>

    <item>
      <title>Phusion PassengerのリポジトリGPGキーを更新する</title>
      <link>https://lmlab.net/posts/2026/2026-06-06-update-phusionpassenger-key.html</link>
      <guid>https://lmlab.net/posts/2026/2026-06-06-update-phusionpassenger-key.html</guid>
      <pubDate>Sat, 06 Jun 2026 00:00:00 +0900</pubDate>
      <description><![CDATA[To get the update from phusionpassenger.com, you may need to update the key.

curl https://oss-binaries.phusionpassenger.com/auto-software-signing-gpg-key-2025.txt | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/phusion.gpg &gt;/dev/null

2024年に更新さ]]></description>
      
      
    </item>

    <item>
      <title>Raspberry PiでAmazon Musicを再生できない</title>
      <link>https://lmlab.net/posts/2026/2026-06-01-amazon-music-not-work-on-raspberry-pi.html</link>
      <guid>https://lmlab.net/posts/2026/2026-06-01-amazon-music-not-work-on-raspberry-pi.html</guid>
      <pubDate>Mon, 01 Jun 2026 00:00:00 +0900</pubDate>
      <description><![CDATA[YouTube Music(Premium)からAmazon Music Unlimitedに乗り換えたら、Raspberry Piで音楽を再生できなくなってしまいました。
32bit版のChromiumを入れることで回避できるようです（iPhoneを使うことにしたので、実際には試してません）。
https://yokahiyori.com/raspberry-pi-os64bitvideo_music/#amazon-prime-video%E5%86%8D%E7%94%9F%E3%81%AB]]></description>
      
      <category>linux</category>
      
      
    </item>

    <item>
      <title>Bootstrap template</title>
      <link>https://lmlab.net/posts/2026/2026-05-26-bootstrap-template.html</link>
      <guid>https://lmlab.net/posts/2026/2026-05-26-bootstrap-template.html</guid>
      <pubDate>Tue, 26 May 2026 00:00:00 +0900</pubDate>
      <description><![CDATA[Bootstrapのサンプルではscriptタグをbodyタグの末尾に書くようになっていることが多いのですが、ここがrailsのturboと相性が悪く、ドロップダウンメニューの動作不良などの原因となっていました。headに移動してdefer属性をつけてあげるのが、どうやら良さそうです。

&lt;!doctype html&gt;
&lt;html lang=&quot;ja&quot;&gt;
  &lt;head&gt;
    &lt;meta charset=&quot;utf-8&qu]]></description>
      
      <category>rails</category>
      
      <category>html</category>
      
      
    </item>

    <item>
      <title>噂を作る方法</title>
      <link>https://lmlab.net/posts/2026/2026-05-22-making-romors.html</link>
      <guid>https://lmlab.net/posts/2026/2026-05-22-making-romors.html</guid>
      <pubDate>Fri, 22 May 2026 00:00:00 +0900</pubDate>
      <description><![CDATA[Geminiにまとめてもらいました。本来は「そういう声もある or あることにしたい」程度の情報のはずなのですが、ニュースなどを聞くときに意識しておかないと、いつの間にか思考が誘導されてしまうことがあります。
政治・官房系の王道（永田町・霞が関スタイル）
「政府や役所のかなり上層部から聞いた」というニュアンスを出す時の表現です。
政府高官： 基本的に官房長官や官房副長官クラスを指すことが多い。
政府関係者 / 官邸関係者： 非常に範囲が広く、秘書官から事務方まで誰にでも使える万能ワード。
与党幹]]></description>
      
      
    </item>

    <item>
      <title>Raspberry PiをWi-Fiのアクセスポイントとして使う</title>
      <link>https://lmlab.net/posts/2026/2026-05-19-use-raspberrypi-as-hotspot.html</link>
      <guid>https://lmlab.net/posts/2026/2026-05-19-use-raspberrypi-as-hotspot.html</guid>
      <pubDate>Tue, 19 May 2026 00:00:00 +0900</pubDate>
      <description><![CDATA[一昨年の時点 (/posts/2024/2024-01-12-raspi-as-an-access-point.html)では結構あちこち書き換えて実現していたRappberry PiのHotspot化ですが、現在(Trixieで動作確認しましたが、Bookwormもいけるのかも)はGUIのネットワーク設定画面から「Create Wi-Fi Hotspot...」と進むだけで簡単に設定ができてしまうようです。
GUIでは細かい設定は隠されてしまっている場合が多いので、例えばWi-Fi側のネットワ]]></description>
      
      <category>raspi</category>
      
      <category>linux</category>
      
      
    </item>

    <item>
      <title>帯域を節約する</title>
      <link>https://lmlab.net/posts/2026/2026-05-15-mod-deflate.html</link>
      <guid>https://lmlab.net/posts/2026/2026-05-15-mod-deflate.html</guid>
      <pubDate>Fri, 15 May 2026 00:00:00 +0900</pubDate>
      <description><![CDATA[マシンパワーが余ってるけど、回線速度がボトルネックになる場合、リソースをgzip圧縮して送るようにするためのapache設定例。httpd.confなどに追記します。

&lt;IfModule mod_deflate.c&gt;
  AddOutputFilterByType DEFLATE application/octet-stream
  # The following was not required.
  # &lt;FilesMatch &quot;\.bin$&quot;&gt;]]></description>
      
      <category>linux</category>
      
      
    </item>

    <item>
      <title>さくらのドメインでグルーレコードを登録する</title>
      <link>https://lmlab.net/posts/2026/2026-04-27-add-glue-records-on-sakura-domain.html</link>
      <guid>https://lmlab.net/posts/2026/2026-04-27-add-glue-records-on-sakura-domain.html</guid>
      <pubDate>Mon, 27 Apr 2026 00:00:00 +0900</pubDate>
      <description><![CDATA[恥ずかしながら、長年サーバの運用をやっていてDNSの「グルーレコード」という存在を知りませんでした。
（言い訳ですけど）レジストラの提供するUIで事足りていたり、ネームサーバを登録したドメインと別のドメインで運用していたりしていて、自分自身で完結させる運用をしたことが無かったためです。
ドメインの運用を開始する場合、ネームサーバがどこにあるかを教えてあげる必要があるのですが、DNSのNSレコードはネームサーバを名前（ホスト名）でしか指定できません。そのため、ネームサーバのホスト名が自分自身のドメ]]></description>
      
      <category>bind</category>
      
      <category>linux</category>
      
      
    </item>

    <item>
      <title>Claudeに文章を校正してもらう</title>
      <link>https://lmlab.net/posts/2026/2026-04-26-proofread-by-ai.html</link>
      <guid>https://lmlab.net/posts/2026/2026-04-26-proofread-by-ai.html</guid>
      <pubDate>Sun, 26 Apr 2026 00:00:00 +0900</pubDate>
      <description><![CDATA[このブログは自作の CMS で管理しており、notes.rb という Ruby スクリプトが記事の作成やビルドなどをまとめて担っています。そこにサブコマンドを追加して、notes.rb proofread を実行すると Claude が誤字・脱字・表記ゆれ・文法の不自然さをチェックしてくれる仕組みを作りました。
Claude の Pro プランには加入していますが、API は別料金です。そのため Anthropic API を直接叩くのではなく、Claude Code の CLI（claude ]]></description>
      
      <category>ai</category>
      
      <category>ruby</category>
      
      
    </item>

    <item>
      <title>エスケープシーケンスでプロンプトの色を変える</title>
      <link>https://lmlab.net/posts/2026/2026-04-12-change-prompt-color.html</link>
      <guid>https://lmlab.net/posts/2026/2026-04-12-change-prompt-color.html</guid>
      <pubDate>Sun, 12 Apr 2026 00:00:00 +0900</pubDate>
      <description><![CDATA[人生で何回か同じのを書いてる気がしますが、エスケープシーケンスを使ってターミナルの文字色を変えるサンプルを出力するスクリプトです。.bashrcの中でプロンプト(PS1)に色を定義している箇所もこのコードが使われていますので、これで、プロンプトの色分け（テスト機=green、運用機=yellowなど）が出来ます。
```bash
!/usr/bin/env bash
echo &quot;&quot;
echo &quot;=== ANSI Color Preview ===&quot;
ech]]></description>
      
      
    </item>

    <item>
      <title>スマートカードのUIDをRubyで読み取る</title>
      <link>https://lmlab.net/posts/2026/2026-03-31-smartcard.html</link>
      <guid>https://lmlab.net/posts/2026/2026-03-31-smartcard.html</guid>
      <pubDate>Tue, 31 Mar 2026 00:00:00 +0900</pubDate>
      <description><![CDATA[pcsc_scanでカードを認識 (/posts/2026/2026-03-29-nfc.html)できる状態までライブラリのインストールが済んでいる状態を想定しています。まずはgemを追加します。

gem install smartcard

以下のコードを実行すると、カードがリーダーにかざされたときにUIDを読み取って表示するします。
```ruby
require &#39;smartcard&#39;
PC/SCコンテキストの作成
context = Smartcard::PCSC::]]></description>
      
      <category>linux</category>
      
      <category>ruby</category>
      
      
      <enclosure url="https://lmlab.net/posts/2026/2026-03-31-pasori-rc-s300.jpg" type="image/jpeg" length="0"/>
      
    </item>

    <item>
      <title>文字化けしたフォルダを削除する</title>
      <link>https://lmlab.net/posts/2026/2026-03-30-remove-untachable-folder.html</link>
      <guid>https://lmlab.net/posts/2026/2026-03-30-remove-untachable-folder.html</guid>
      <pubDate>Mon, 30 Mar 2026 00:00:00 +0900</pubDate>
      <description><![CDATA[不用意にzipファイルを展開するなどして、文字化けしたフォルダができてしまった場合の対処法です。変な記号が混ざっているため、コマンドの引数に指定しようとしてもエラーになる場合、まずはそのフォルダのiノード番号を確認します。

ls -li

取得したiノード番号を使って、以下のコマンドでフォルダの名前を変更します。

find . -inum NUMBER -exec mv {} new_name \;

]]></description>
      
      <category>linux</category>
      
      
    </item>

    <item>
      <title>RaspberryPiで非接触型ICカードリーダ(PaSoRi RC-S300)を使う</title>
      <link>https://lmlab.net/posts/2026/2026-03-29-nfc.html</link>
      <guid>https://lmlab.net/posts/2026/2026-03-29-nfc.html</guid>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0900</pubDate>
      <description><![CDATA[前回、接触型ICカードリーダ (/posts/2026/2026-03-05-pcsc_scan.html)を買ってしまったので、今度は非接触型(PaSoRi RC-S300)を購入しました。
RaspberryPiに繋ぐと、以下のように認識されます。

$ lsusb 
Bus 001 Device 006: ID 054c:0dc9 Sony Corp. FeliCa Port/PaSoRi 4.0

ところが、前回用意しておいた、nfc-listコマンドでは認識されません。
代わりに、以前]]></description>
      
      <category>raspi</category>
      
      <category>電子工作</category>
      
      
    </item>

    <item>
      <title>PicoRubyを試してみた</title>
      <link>https://lmlab.net/posts/2026/2026-03-22-trying-picoruby.html</link>
      <guid>https://lmlab.net/posts/2026/2026-03-22-trying-picoruby.html</guid>
      <pubDate>Sun, 22 Mar 2026 00:00:00 +0900</pubDate>
      <description><![CDATA[どうも相性が悪く諦めかけていた picoruby (https://picoruby.org/) でしたが、flash_nuke.uf2 (https://www.raspberrypi.com/documentation/microcontrollers/pico-series.html#reset-flash-memory)というユーティリティの存在を教えてもらい、メモリのリセットを行うことで無事にインストールすることができました！screenコマンドでシリアルコンソールに接続、irbを起動]]></description>
      
      <category>raspi-pico</category>
      
      <category>ruby</category>
      
      
    </item>

    <item>
      <title>Detect encoding</title>
      <link>https://lmlab.net/posts/2026/2026-03-10-detect-encoding.html</link>
      <guid>https://lmlab.net/posts/2026/2026-03-10-detect-encoding.html</guid>
      <pubDate>Tue, 10 Mar 2026 00:00:00 +0900</pubDate>
      <description><![CDATA[Here&#39;s a sample code to detect encoding of a CSV file in Ruby. It tries several encodings and checks if it can read the file without errors. If it finds a valid encoding, it prints it out; otherwise, it reports an error.
```
encodings = [&#39;Win]]></description>
      
      <category>ruby</category>
      
      
    </item>

    <item>
      <title>ICカードリーダーを使う</title>
      <link>https://lmlab.net/posts/2026/2026-03-05-pcsc_scan.html</link>
      <guid>https://lmlab.net/posts/2026/2026-03-05-pcsc_scan.html</guid>
      <pubDate>Thu, 05 Mar 2026 00:00:00 +0900</pubDate>
      <description><![CDATA[NFC（非接触型IC）を試すつもりで、間違って（接触型の）ICカードリーダーを買ってしまいました。。

$ lsusb
:
Bus 001 Device 002: ID 058f:9540 Alcor Micro Corp. AU9540 Smartcard Reader
:

せっかくなので、LinuxでICカードリーダーを使う方法のメモです。これはこれで使える場面がある…のかな？（今のところ思いつきませんが）

sudo apt install pcscd pcsc-tools libpcs]]></description>
      
      <category>linux</category>
      
      
    </item>

    <item>
      <title>Pokemonをゲットするスクリプト(PokeAPI使用)</title>
      <link>https://lmlab.net/posts/2026/2026-02-26-pokemon-getter.html</link>
      <guid>https://lmlab.net/posts/2026/2026-02-26-pokemon-getter.html</guid>
      <pubDate>Thu, 26 Feb 2026 00:00:00 +0900</pubDate>
      <description><![CDATA[とある投稿 (https://x.com/sozoraemon/status/1875847808651350218?s=20)で、PokeAPI (https://pokeapi.co/docs/v2)というサービスを知りました。ライブラリも色々出てはいるようなのですが、シンプルなAPIなので、Rubyの標準ライブラリだけでランダムなポケモンの情報を取得してみました。日本語名を得るためのJSONの掘り下げは複雑ですが、こういうのはAI(今回はGemini使用)が得意ですね。
実行すると、ランダ]]></description>
      
      <category>ruby</category>
      
      
      <enclosure url="https://lmlab.net/posts/2026/2026-02-26-pokemon.png" type="image/jpeg" length="0"/>
      
    </item>

    <item>
      <title>PDF問題</title>
      <link>https://lmlab.net/posts/2026/2026-02-16-pdf-reader-problem.html</link>
      <guid>https://lmlab.net/posts/2026/2026-02-16-pdf-reader-problem.html</guid>
      <pubDate>Mon, 16 Feb 2026 00:00:00 +0900</pubDate>
      <description><![CDATA[画像は確定申告の手続きを進めていて、出会った注意書きです。つい「お前もか！」と思ってしまったので、記録のためこちらに残しています。うちに届くPDF関連のトラブルのほぼ100%はAdobeのAcrobat Readerを使ってる方からです（参考:Prawnで生成したPDFをAcrobatReaderで読めない問題 (https://lmlab.net/posts/2025/2025-09-30-embedding-font-with-prawn.html)）。
ブラウザやOSが提供する機能で、ほと]]></description>
      
      
      <enclosure url="https://lmlab.net/posts/2026/2026-02-16-do-not-use-acrobat-reader.png" type="image/jpeg" length="0"/>
      
    </item>

    <item>
      <title>Suppress locale warnings when ssh from Mac to Linux</title>
      <link>https://lmlab.net/posts/2026/2026-01-10-suppress-locale-warnings.html</link>
      <guid>https://lmlab.net/posts/2026/2026-01-10-suppress-locale-warnings.html</guid>
      <pubDate>Sat, 10 Jan 2026 00:00:00 +0900</pubDate>
      <description><![CDATA[今更感に溢れたエントリーですが、MacからsshでLinuxサーバーに接続した際に出るロケール警告を抑制する方法のメモです。

-bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or ]]></description>
      
      <category>linux</category>
      
      <category>mac</category>
      
      
    </item>

    <item>
      <title>minitest エラー？</title>
      <link>https://lmlab.net/posts/2026/2026-01-09-minitest-errors.html</link>
      <guid>https://lmlab.net/posts/2026/2026-01-09-minitest-errors.html</guid>
      <pubDate>Fri, 09 Jan 2026 00:00:00 +0900</pubDate>
      <description><![CDATA[先日から、複数のプロジェクトで突然、rails test が動かなくなったり、起動前にエラー(下記)が出るようになりました。
参考: https://www.techtips.page/ja/topics/883
```
/Users/username/.rbenv/versions/3.4.7/lib/ruby/gems/3.4.0/gems/railties-8.0.4/lib/rails/testunit/linefiltering.rb:7:in &#39;run&#39;: wrong]]></description>
      
      <category>rails</category>
      
      <category>ruby</category>
      
      
    </item>

  </channel>
</rss>
