DeepLのPDF改行問題は「読みながら翻訳」で解決できた
DeepLのPDF改行問題
PDF上の英文をコピーしてCtrl+C+Cを押すと、DeepLアプリにテキストが送られて翻訳が実行される。その際に、無駄な改行記号がテキスト中に混入してしまい、元の英文が分断されて翻訳がおかしくなるという問題がある。
例えば、下図のようにPDF文書の一部を選択してCtrl+Cでコピーすると

下図のようにPDFの見た目の行末に改行記号が勝手に入ってしまう。これはPDFの仕様か、PDFリーダの仕様なのかは分からないが、大変迷惑な挙動である。

Ctrl+C+CでこのテキストがDeepLアプリに送られると、変なところで改行された妙な英文として下図のような翻訳結果となる。

無理やり意味を通そうとして、訳文は重複した部分が多数出てくる。
「読みながら翻訳」機能で解決
しかし、PDFで文章を選択した後にCtrl+F9の「読みながら翻訳」を実行すると以下のように自然な訳文となる。

おそらく、無駄な改行記号が除去された上で翻訳が実行されている。
なぜか、この素晴らしい「読みながら翻訳」機能はデフォルトでは有効化されていないので、DeepLアプリで設定変更が必要である。

上図の通りCtrl+F9のショートカットを有効化すると、PDF上での翻訳が格段に楽になる。
Ctrl+F9を別の機能にすでに割り当てている場合は、Ctrl+win+F9などにも変更できる。
改行記号を除去するwebサイトを介してDeepLを利用している方はこの機能を試してみる価値はある。
サンプル文書の原著
本記事の翻訳文書の例で挙げた文は、以下の本の冒頭部分にある。
数式なしで大変読みやすい本であり、原子力発電所の動作原理から事故対応まで広い範囲の話題が要領よくまとまっている。
Amazonのレビューで秀逸なものがあったので以下に貼り付けておく。

BeagleV-Fire に USB-Serial 変換器をつなごうとして少し困った
BeagleV-Fire に USB-Serial 変換器が必要な場合
正常動作中の BeagleV-Fire を使うだけなら、外付けの USB-Serial 変換器は必要ない。 しかし、ブートプロセスを確認したり、新しいOSイメージをフラッシュするには外付けの USB-Serial 変換器をつなぐ必要がある。
BeagleV-Fire につなぐ USB-Serial 変換器の選定
BeagleV-Fireのシリアルポート端子は、信号入出力電圧が 3.3V なので、これがUSB-Serial 変換器を選定する制約条件になる。 さらに、個人的な好みで、USB側の端子はUSB-Cであることをもう一つの制約条件とした。microB端子はもげやすいし、ケーブルもUSB-Cに統一したいのがその理由である。
条件に見合う製品たち
FTDI USBシリアル変換アダプター Type-C版 (3.3/2.5/1.8V対応)www.switch-science.com
Switch SCIENCE の製品で、ジャンパ設定によって信号入出力電圧を1.8V, 2.5V, 3.3Vの三種類から選べる。5Vに対応しなくなったのは、マイコンの低電圧化の流れを考慮した結果だろう。機能的に優れているが価格がちょっと高い。
SparkFunの製品で、デフォルトで3.3Vロジック、ジャンパ設定で5Vにも対応できる。ジャンパ設定はパターンの切断とハンダによるブリッジが必要なのでちょっと面倒である。3.3Vで使う分には問題ない。そこそこ安いのでこちらを選定した。
そのままでは刺さらなかった
SparkFun Serial Basic Breakout - CH340C and USB-C を入手して BeagleV-Fire に刺そうとしたら、Cape Expansion Header と Breakoutのボード面が干渉して刺さらなかった。逆向きにすれば刺さるには刺さるが、信号線が対応しないので無意味である。
なお、SWITCH SCIENCE の製品の方も同様の構成なので直接は刺さらないと考えられる。
仕方なく、ジャンパー線を購入することにした。
入手したジャンパー線
たぶんこのリンクはすぐ機能しなくなるだろうから、画像を以下に示す。

こういう、リボン状にまとまったジャンパー線が便利である。
結線
BeagleV-Fire (シリアル端子) ↔ ジャンパー線 ↔ SparkFun Serial Basic Breakout ↔ USBケーブル ↔ WindowsPC
の順でつないだ。ジャンパー線は6本分を切り離して使ったが、ちょうどワイヤーの色が黒から緑の配列になっており、Breakoutボードのシルク印刷のBLKとGRNに対応していた。
この接続では、USBC ケーブルに力がかかっても、ジャンパー線がその力をいなしてボードに力が掛からなくできるという利点がある。
デバイスマネージャーで見ると以下のように表示された。

windows10では、このボードのドライバは自動的に適用された。
リブートプロセスが見えた
こんな感じで見えるようになった。
ブートが80%で止まる
リブートするとほぼ毎回、ブートプロセスが80%で止まってしまう。
どうもこれは既知の問題のようである。
正常にブートできるときのパターンは以下の通りである。
まとめ
- BeagleV-Fire を使い倒すためには、外付けの USB-Serial 変換器が必要である。
- 変換器によっては、そのままでは刺さらないものもある。その場合はジャンパー線で中継すれば良い。
- ジャンパー線で中継すると、USBケーブルの動きによる力が BeagleV-Fire に直接かからなくなる利点がある。
BeagleV-FireにWindowsからログインできた(Virtualboxは不要でSerialとSSHの両方成功)
前回からの更新点
前回はWindows上のVirtualboxの中のLinuxとBeagleV-Fireをつなぐという、やや面倒な方法を取っていたが、色々試してVirtualboxが不要な接続方法が以下の2つ見つかったのでメモとして残す。
- シリアルポートで接続する方法
- USB NETWORK DRIVER をインストールする方法
シリアルポートで接続する方法
簡単なのでおすすめの方法だが、ファイル転送がデフォルトではできないという欠点がある。
Windowsのデバイスマネージャーを表示させてからBeagleV-FireをUSBケーブルで接続して少し待つと、COMポートが現れるのがわかる。

USBシリアルデバイスと表示されているものがBeagleV-Fireのものである。もう一つのほうはマザーボードのシリアルポートであり今回は無関係である。
前回まではこれが現れることに全く気づかずに色々やってしまったが、実はこんなに簡単に接続ポートが用意される。これさえ分かればあとは簡単で、MobaXtermを立ち上げ、シリアルポートへ接続すればつながる。
Session→Serialを選択し、以下のようにポートと速度を選ぶ。

OKを押すとあっけなくつながる。


USB-serial変換器を用意する必要はなく簡単につながる。これをBeagleV-FireのQuick Startに書いておいた方が良いと思うのだが・・・。
USB NETWORK DRIVER をインストールする方法
ちょっとだけ面倒な作業が生じるが、SSHで接続できるようになってファイル転送もできるようになるのでこちらもおすすめの方法と言える。
Windowsのデバイスマネージャーを表示させてからBeagleV-FireをUSBケーブルで接続して少し待つと、他のデバイスの下にCDC NCMデバイスが現れるのがわかる。

CDC NCMはCommunication Device Class / Network Control Model protocolの略だそうである。
色々調べて試したところ、Windowsが持っているドライバを当てればこのデバイスを有効化できることがわかった。
デバイスマネージャーのCDC NCMを右クリックして「ドライバーの更新」をクリックする。

「コンピューターを参照してドライバーを検索」をクリックする。

「コンピューター上の利用可能なドライバーの一覧から選択します」をクリックする。

「すべてのデバイスを表示」をダブルクリックして少し待つ。

- 製造元:Microsoft
- モデル:UsbNcm Host Device
を選択して「次へ」をクリックする。

警告ウィンドウが出るが知るかボケと言いながら「はい」を押す。

ドライバーが正常に更新された。

デバイスマネージャーのネットワークアダプター内にUsbNcm Host Deviceが現れた。

コントロール パネル→ネットワークとインターネット→ネットワークと共有センター→アダプターの設定の変更でBeagleV-Fireを確認できる。

残念ながらIPアドレスまでは自動設定されないので以下の手順で固定IPアドレスを割り当てる。
上図のBeagleV-Fireのネットワークアダプターを右クリックしてプロパティをクリックし、インターネットプロトコルバージョン4をダブルクリックする。

以下のように
を指定する。

MobaXtermを開き、Session→SSHから192.168.7.2を指定して接続する。

SSHで接続完了。

左のディレクトリペインでファイルの入出力もできる。
これもBeagleV-FireのQuick Startに書いておいた方が良いと思うのだが・・・。
BeagleV-Fire にwindowsからやっとログインできた(ただしVirtualboxが必要)
本記事よりも良い接続方法がわかったので以下の記事にまとめた。
BeagleV-Fireとは
一言でいうと、RISC-VのCPUとFPGAが載った素敵シングルボードコンピュータ。未来しか感じない。
クイックスタートを見てみる
これまでのBeagleboneシリーズと同様に、PCとUSBで接続するだけでOKなように見える。が、実はそれはウソだ。
WindowsにBeagleV-FireをUSBで接続してみる
まず、十分な電力を供給できるUSBポートに、BeagleV-FIreを接続すると、Windowsの設定→デバイス→その他のデバイスにBeagleV-Fireが現れる。

しかし、「ドライバーは使用できません」と出ている。 BeagleV-Fireのサイトを探してみたが、これ用のUSBドライバは今のところ見つからない。 これまでのBeagleboneシリーズだと、USBドライバが当たるとネットワークデバイスがwindows上に生成されるのが普通だったが、BeagleV-Fireはドライバがないためネットワークデバイスは生成されない。 ここで一旦あきらめて1ヶ月ほど放置した。
webサーチ
webサーチをしたところ、windows上でvirtualbox内にlinuxホストを動作させてBeagleV-Fireと通信できたという書き込みを見つけた。メモってなかったのでリンクは貼れない。無念。
VirtualboxのUbuntuにBeagleV-Fireをつないでみる
WindowsPCにBeagleV-Fireをつなぎ、その他のデバイスのBeagleV-Fireが出ている状態でVirtualboxのUbuntuを立ち上げ、USB接続の選択肢の中からBeagleboneを選ぶ。

[0404]のがそれ。
USB接続を tail -f /var/log/syslog で見てみる
Virtualbox内のLinuxでsyslogをtailしながら上記のUSB接続を行った結果が以下。
ちょっとこのコードブロックの貼り付けかたには改善が必要だ。
なんかよくわからんがUSB接続のネットワークデバイスが生成されたように見える。
ip a でVirtualboxのLinuxホストのネットワークデバイスを見てみる
無事に192.168.7.1のネットワークデバイスが生成された。これでBeagleV-Fireの192.168.7.2にsshでログインできる。
VirtualboxのLinuxホストからBeagleV-Fireにsshでログイン
$ ssh 192.168.7.2 -l beagle Ubuntu 23.04 BeagleBoard.org Ubuntu 23.04 Console Image 2023-10-16 Support: https://bbb.io/debian default username:password is [beagle:temppwd] beagle@192.168.7.2's password: Last login: Thu Oct 26 02:58:41 2023 from 192.168.7.1 beagle@BeagleV:~$
ようやく入れた!見ての通り、ユーザ名はbeagleでパスワードはtemppwdである。Ubuntu Linux 23.04が動いとる。RISC-Vで普通にUbuntuが動くなんて素敵すぎる。
BeagleV-Fireのネットワークデバイスを見てみる
beagle@BeagleV:~$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000 link/ether 00:04:a3:e5:99:37 brd ff:ff:ff:ff:ff:ff 3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 00:04:a3:e5:99:36 brd ff:ff:ff:ff:ff:ff altname end0 4: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN group default qlen 1000 link/tunnel6 :: brd :: permaddr 6ed6:9f50:72e2:: 5: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:04:a3:e5:99:3a brd ff:ff:ff:ff:ff:ff inet 192.168.7.2/24 brd 192.168.7.255 scope global usb0 valid_lft forever preferred_lft forever inet6 fe80::204:a3ff:fee5:993a/64 scope link valid_lft forever preferred_lft forever 6: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default link/ether 02:42:1e:54:73:cc brd ff:ff:ff:ff:ff:ff inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0 valid_lft forever preferred_lft forever
なんじゃこりゃー。なんかdockerが蠢いてるようだ。usb0が、今回のssh通信で使われているネットワークデバイスである。
しかし購入してからログインするまで1ヶ月かかるとはさすが俺としか言いようがない。
あのsyslogを丹念に見れば、windowsに当てるべきusb driverがわかるかもしれない。
夜も更けてきたのでここまでにしよう。
本記事よりも良い接続方法がわかったので以下の記事にまとめた。
Epiphone les paul modern の abr-1 ブリッジを nashvilleタイプ (GOTOH GE103B-T Nickel) に無加工で換装できた
Epiphone les paul modern の唯一の不満点がabr-1タイプのブリッジ
Epiphone の les paul modern は les paul を現代的なテクノロジーで刷新したらどうなるかを具現化したもので、演奏性が向上し、 出音のバリエーションが増えているなど素晴らしいギターである。 が、不満点が一つだけあり、古い設計のabr-1タイプのブリッジが搭載されている。
les paul タイプのギターには、abr-1タイプという古いタイプのブリッジと、nashvilleタイプという新しいタイプのブリッジの二種類のうちどちらかが搭載されている。 abr-1は古いブリッジで、サドルの可動範囲が狭いという欠点があり、特にG弦でサドルが十分にブリッジ側に移動できないという問題がある。 abr-1のG弦サドルの向きを逆にすることでこの問題を解決できるが、あくまでもwork around的な方法である。 また、abr-1にはサドルの脱落を防ぐためのワイヤーがあり、これが無駄な共振を生むことがあるというのも問題点として挙げられる。 これらのabr-1の問題点を解決したのが nashville ブリッジで、サドルの可動範囲の拡大と、サドル固定ワイヤーの除去が主な改善点である。
Epiphone の les paul modern に搭載されているabr-1タイプのブリッジを、nashvilleタイプに換装すれば唯一の欠点が解消される。なお、gibsonのles paul modernでは当然のことながらnashvilleタイプのブリッジが搭載されている。
どのnashville ブリッジが Epiphone les paul modern に合うのか?
信頼と実績のあるGOTOHのブリッジの中から換装候補を選定した。 まず、les paul に合うタイプ(TOMタイプ)でGOTOH製のnashvilleタイプのブリッジはスタッドの構造の違いで二種類ある。
- GE-103B スタッドを直接ボディにねじ込むタイプ
- GE-103B-T アンカーをボディに打ち込んで、そこにスタッドをねじ込むタイプ
Epiphoneのles paul modernは、アンカーがボディに打ち込んであるタイプなので、適合するのはGE-103B-Tの方である。
また、GE103B-Tは表面のメッキ塗装の違いでさらに5種類のタイプがある。
Epiphoneのles paul modernは、ハードウェア塗装がニッケルなので、最終的に選定されたのは
GE103B-T Nickel
であった。間違ってChromeを選んでしまうと、ブリッジ部分だけ白っぽい色味になってしまうので注意が必要である。
換装作業
- 弦を緩める
- テイルピースのねじを緩めて除去する
- ブリッジを抜き取る
- スタッドボルト2本を緩めて抜き取る
- 新しいスタッドボルト2本をねじ込む
- 新しいブリッジをはめ込む
- テイルピースを取り付ける
- 弦をチューニングする
換装前と換装後の写真は以下の通り。
換装前 Epiphone LockTone™ Tune-O-Matic™
オクターブチューニングを済ませた後。1~3弦のサドルの向きを反対にしてある。3弦と6弦のサドルの位置がかなりギリギリ。

換装後 GOTOH GE103B-T Nickel
オクターブチューニングを済ませた後。全サドルの位置にまだまだ余裕がある。

なお、テイルピース部分にガウスぼかしをかけているのは、俺のイケメンフェイスが映り込んでいるから。
10分もかからず無加工で換装は完了した。古い弦を外して捨ててしまう場合はテイルピースの除去と取り付け作業は省略可能。また、スタッドボルトも換装せずそのまま流用できるが、ねじ径とピッチがピッタリ合ったので新しいほうを使うことにした。
サドル調整ネジの方向は、abr-1がネック側、nashvilleがブリッジ側を向くのが正しいようなのでそれに従った。この方向の違いによるオクターブ調整のやりやすさの違いについては、nashvilleのほうが優れている。
換装結果
オクターブチューニングのサドル位置に余裕があり、様々な弦に対応できるようになった。また、サドル固定ワイヤーが無くなったので、無駄な共振の可能性も除去できた。オクターブチューニングもやりやすくなって、換装は成功と判断できる。総合的な機能性を求める場合はnashville一択と言って良いだろう。
一点だけ考慮点があり、ブリッジのガタツキの有無は、換装前のEpiphone のabr-1のほうが優れていた。Epiphoneのabr-1はガタツキ防止のためのバネ機構が内蔵されていて、ブリッジのバネがスタッドを噛み込むような構造になっていたため、ガタツキが全くなかった。が、GOTOHのGE103B-Tにはそのような機構がないので、スタッドとブリッジ穴の間に若干の余裕があって、弦を張らない状態でのガタツキはあり、簡単に抜け落ちる。この点だけは換装後に機能低下したと言える。とはいえ、これが演奏時や弦交換時に問題になるかと言えば全くそんなことはない。なお、このガタツキの程度は換装前のスタッドをそのまま使った時と、GE-103B-Tに同梱の新しいスタッドを使った時で差はなかった。
本記事の執筆時のweb上の情報では、nashvilleタイプをabr-1タイプに換装するというものしか見つからず、 逆の換装に関する情報が見つからなかったので、この記事がweb上の情報空間の拡張に少しは寄与すると思われる。
Epiphone へのお願い
LockToneと同様のスタッドロック機構を持ったnashvilleタイプのブリッジを作って下さい。
GOTOHへのお願い
スタッドを噛み込んで固定するバネ機構をGE103B-Tに追加してください。
Amazonを騙るスパムメールがひどすぎるのでthunderbirdのカスタムフィルタで即spamフォルダ行きにする
ここ数日ひどすぎる
【重要なお知らせ】Amazonから情報を確認をお願いします
という件名のスパムメールが数日前から一日に10通以上届くようになって不愉快極まりない。 これらクソメールのヘッダを確認してみると
Received: by VM-0-7-centos.localdomain (Postfix, from userid 0)
とか
Received: by VM-4-14-centos.localdomain (Postfix, from userid 0)
とかいう感じで、同パターンの仮想っぽいホストから来ているのがわかる。
"-centos.localdomain" が共通しているので、これらクソスパム用クソ仮想クソホスト群からのクソメール群はクソ問答無用でクソ迷惑メールクソフォルダ行きにするクソ。
thunderbirdのフィルタ設定
thunderbirdのハンバーガーメニューから、ツール→メッセージフィルターを選択する。


新規をクリックする。

フィルター名に適切な名称を入れて、件名タブからカスタムヘッダーを選択する。

Receivedを入力して追加をクリックする。

「に次を含む」、の右に -centos.localdomain を入力する。メッセージを移動する、に適切なフォルダを選択する。

こんな感じになってればOK。

これで、クソスパムメールを見ずに済む。
きっと、そのうち別のホストから同じようなクソスパムメールが届くようになるだろうけど、同様にReceivedに共通パターンがあるだろうから対処できよう。