2021年5月30日日曜日

ダイソーの拡大鏡をヘッドルーペに改造#3

なかなか進まない作業。

やっとレンズを固定する治具を作ってみたけど、色々失敗。
しっかりと検討せずに、ウチにあったもを組み合わせた。
いかにもテキトーな出来栄え。
途中で失敗したと感じたが、とにかく形にしてみた。

失敗から学んで、次はもう少し良いのを作ろう。

2021年5月29日土曜日

足のかたち

15年ぐらい前から、足の裏に何かあると感じる。
見た目では何もないのに。

靴底に固くなったガムが付いているような、存在感。
毎朝、起きた瞬間は存在感がかなり弱く、痛みも極わずかだ。
しかし、仕事などで移動して、現場に到着した頃には、大きく膨れていて、存在感も痛みも強い。
足全体が腫れている時もある。変動が大きく、説明が難しい。

そういうとき横になれば楽だろうと思うのだが、仕事場で横になるわけにはいかない。
見た目では何もないので、説明も困難だ。

何度か医者に行っているが、原因不明。もちろん治らない。
厄介なのはMRIの撮影のために、横になってしばらくすると、ひいてくることだ。
痛みは残っているが、存在感はひいている。
その画像を見て何か解るのか?と疑問を感じるが、プロの医者なら解るかもしれないし、素人が意見する部分でもない。
10数年前に1回撮影し、先月末頃再度撮影した。
その時の先生は「足の専門医に見てもらうべきです。紹介状を書きます」と言って、紹介状を書いてもらった。

洗濯機の修理やその他の用事で、なかなか病院に行けず、やっと今週行ってきた(発病から15年も経ってるんで、1ヶ月なんて何でも無い)。

専門医の先生に最初に指摘されたのは、足の形だった。
私の足の人差し指は、親指より長い(中指も親指より長いかも)。親類縁者ではそんなに珍しいことではなかったし、友人(背の高いやつが多い)の中に似た足を持つものもいたので、そんなに珍しいことだとは思っていなかった。
実は国内では珍しいらしい。

それから次々に、問題点を言い当てられた。
足に靴が合わなかったとき、4Eの靴を薦められて余計ひどい目にあった事も、言い当てられた。
珍しいとはいえ国内でも一定数は存在する。海外に目を向ければ、さらにその割合は増えるだろう。
国内9割だけの対処法だけではとどまらない。さすがは専門医。

先生はさらに、驚くべきことを言い当てた。
関節や皮膚が柔らかいだろうと言い出したのだ。
手や足がよく曲がるし、膝の関節がずれたようになる(少しずれているのに、癖になっていて痛いけど全範囲で動く)こともある。注射や採血の後、脱脂綿を医療用の絆創膏で止めるが、その絆創膏で皮膚が剥がれたときがある。
どこもかしこもフニャフニャで、自分は何か努力が足りなかったのかと、子供の頃から思っていたのだ。
しかし、それらのフニャフニャは、この足を持つヒトの遺伝的特徴らしい。

私は病的なレベルではないので、気にする必要はないそうだが、この特徴がさらに病的にまでなると、通称「ゴム人間」と呼ばれる人になるそうだ。

足の形だけで、そんなことまで解るのか。
専門医って、すごい。

2021年5月24日月曜日

コンゴの噴火

コンゴの噴火のニュースで、現地の人々が騒いでいる映像が映っていた。
地元の言葉で喋っているのだろうけど、「フンカ」「フンカ」と話しているように聞こえた。
「噴火(ふんか)」も「津波」同様国際語?
それとも、空耳だろうか?
2021/05/25 追記:
以下の動画の、1:30ごろからと、6:22ごろからの言葉の中に「噴火」と聞こえる部分がある。


また、以下のBBCのニュース映像の0:45からのインタビューのシーンで「噴火」と聞こえる部分がある。

多くのニュース映像では、ナレーションが入っており、現地の人の言葉が聞こえにくい。
最初の動画のように、素人撮影の動画の多くは音声をいじっていないので、現地の人の声がよく聞こえる。

この「噴火」と聞こえる部分は、空耳だろうか?

2021年5月22日土曜日

本気の斜めドラム

2014年に、斜めドラムの洗濯機を買った。
購入直後に、排水ホースの向きが気になって直してもらった時、洗濯機の中に青い粉のようなものがあるのが見えたのを憶えている。
使用し始めると、1996年ごろに購入してずっと使ってた縦型の全自動洗濯機と同じかそれ以上に騒音がひどかった。
(購入時からこの記事の動画で聞こえている「タンタンタンタン…タタタタ…ダーーーー」という音がしていた)
その数年前、別のメーカのドラム式洗濯機のCMで、松たか子が静かさをアピールしていた。そのCMを見て最近のドラム式は静かなんだなと思っていた。
しかしウチの洗濯機はかなりうるさかった。斜めドラムなので横型よりもうるさいのだろうと、納得していた。

それから6年以上経った。
脱水がエラー終了するようになった。
洗濯物を増やしたり減らしたりしても、さらには空でもほぼ変わらず、運が良ければ脱水工程が終わるという感じだった。
メーカに修理の依頼をした。

先週、修理工が来て調べてくれた。
ダンパーが悪くなっているので騒音がひどく、脱水でエラーになりやすくなり、さらに軸受にダメージがおよび、ドラムの回転が重くなっているそうだ。
手で回すと、すこしコグがあった。
5万円ぐらいかかりますが修理しますか?と言われた。

最初から騒音がすごかった事と、最初から青い粉が落ちていた事を考えると、この洗濯機は最初から調子が悪かったのかもしれない。
私は勝手に納得し、修理もせずに、何年も放置していたのだ。
技術者なのに、異常に気が付かなかった。
洗濯機に悪いことをしていた。そう感じて「修理してください」とお願いした。

今週、修理してもらった。
二人の修理工が来た。
洗濯機は前後と天井が外され、心臓部であるドラムも外され、交換された。
全行程で2時間程度。
試運転してみると、モーターのブーンという音が聞こえる。
以前は「タンタン」音でかき消されていて聞こえなかった音だ。

洗濯機は風呂場の前の脱衣所にあるのだが、脱衣所の扉を閉めていると、ほとんど音が聞こえない。
修理前は脱水を何度もやり直していたため、洗濯時間は予定時間の2倍以上かかっていた。
それが嘘みたいに短時間で終わる(っていうか予定通りの時間で終わる)。

これが本気の斜めドラムの実力だったのだ。

2021年5月21日金曜日

南に行くって?

2月頃から、Billy Joelの2枚組ベスト盤CD「ビリー・ザ・ベスト」"Greatest hits Volume I & II"を久しぶりに出して聴いている。

CDは、歌詞カードや解説が付いていて、YouTube等にはない面白みがある。
改めてStrangerを歌詞を読んでいて、ふと思った事があった。
Don’t be afraid to try again
Everyone goes south every now and then
邦訳の歌詞では、
怖がらずに もう一度やってごらん
次から次へと
人々は南へ向かっている

私は文書の読解能力が低いようで、学生の頃も国語や英語の成績は決して良くは無かった。
だからなのか、上記歌詞の内容がどうもよくわからない。
歌詞全体を読んでみても、突然"Everyone goes south every now and then"=「次から次へと 人は南へ向かう」というセリフが出てくる。
(歌詞全体は、いろいろな権利があるだろうから、各自で調べてみて)

わからないのは、何故「南へ」なのか?

90年代初頭、ツアー旅行で米国へ行った。
その時の添乗員が以下のような注意を我々にした。
  • 危険な所に近づくな
  • ロサンゼルスの南側はダウンタウンで治安が悪い
  • ロスに限らず、アメリカの大都市は、何故か南側がダウンタウンになっている事が多い
  • NYでは、ブルックリンがダウンタウンだ
  • 何故なのかはわからない
90年代初頭の話なので、今では変わっているかもしれない。
今では、ブルックリンは人気の街だ。

「南に行く」というのは、ダウンタウンへ向かうという意味なのかもしれない。

夢を追いかけて大都会に出てきたが、現実は厳しい。競争だらけで、気が休まらない。
挑戦することにも疲れ果てて、ダウンタウンへ向かう。

そういう意味と考えると、「怖がらずに、もう一度やってごらん」という話とつながってくる。
みんな傷ついているよ。疲れているよ。みんな同じだよ。

でも、なぜ「南」なのか?
なぜアメリカでは、ダウンタウンが南にある(ことが多い)のか?

改めて調べてみると、地図の書き方に原因があるらしい。
日本でも欧米でも、地図は北を上に書く。

南に向かうというのは、地図上では下へ向かう事になる。
アメリカの多くの都市は、計画都市であり、計画的に作られてきた。
地図を見ながら計画的に。

そのため、なんとなく南を「下」と感じるのかもしれない。
何の証拠もないのだけど。

日本では、疲れ果てた人は演歌の世界へ、日本海や北の大地を目指す感じがする。
逆に南に行くと言うと、成功者がトロピカルな世界へ豪遊に行くような印象がある。

言葉や音楽が文化に強く依存していると改めて感じる。

2021年5月16日日曜日

本店タカハシ

田島通り近くの衣料品店「本店タカハシ」に時々行く。
安くていいのだが、私は体の大きさが標準的ではないので、半袖、半ズボン、帽子、サンダルぐらいしか買わない。

しかしながら、時々「なんで、ここで?」と思うようなモノが驚きの値段で売られていたりする。
そのため、こまめにチェックしておくべきお店だ。

2階のセリアに用があって足を運んだついでに、のぞいてみたら、放射赤外方式の体温計と、パルスオキシメータが安い値段で売られていた。
定価8,690円の体温計が1,280円、定価3,900円のパルスオキシメータが1,980円(全部税抜き価格)。
安すぎて何か心配になるが、ダメ元で買ってきた。

電池は付属していないので、単4電池をそれぞれ2本ずつ用意する必要がある。
試しに使ってみたが、動作していた。

人々の移動やつながりはますます増えるだろう。
新型コロナが落ち着いても、別のパンデミックがまた生じる。
安くなった時に買っておくのも良いかもね。

2021年5月15日土曜日

ダイソーの拡大鏡をヘッドルーペに改造#2

ヘッドルーペのレンズは、さっと動かなければならない。
前回、ダンボールで作ったのは、寸法を調べる目的だったので、動く部分はいい加減だった(爪楊枝や、円柱状に加工したダンボールを使っていた)。
爪楊枝で止めているところは重力で落ちてきてしまうし、ダンボールの円柱は動きが悪い。

動かしたい時には簡単に動いて、止まっていたい時は止まっていてほしい。
この2つの相反する要求を満たさなければならない。

いろいろ考えて、大きなスナップボタンを使うことを思いついた。
結合時、バネ式にホールドされており、簡単に動くし、適切な摩擦で位置が維持される。
レンズなどの可動部分にこれを使おう。

つる接続部分はレンズの面から垂直に出ているわけではない。
左が加工後、右が未加工。
斜めの部分にスナップボタンを付けると、斜めに回ってしまう。
さらに外側は丸くなっており、何かをしっかり固定するのには向かない。
ヤスリ等でまっすぐ垂直となるように削る。
そこに、大きなスナップボタンのオス側をM3皿ネジとナットで固定する。
このスナップボタンは、セリア(だったかな?)で買ったものだ。いくつか余っていたのでそれを使った。

部品の結合をスナップボタンにしておけば、試作で部品を作り直したときに、交換を容易に行えるという利点もある。

以上までの写真では、片側しか映していない。
実は、もう片側を加工しようとしたら、うっかり折ってしまったのだ。
加工のためには、まず固定することが重要だ。しかし、レンズの形は曲面で構成されており、しっかりと固定することが難しい。
色々やっているうちに、うっかりやってしまった。
壊れた拡大鏡はまだあるので材料には困らないのだが、失敗を繰り返していたら、永遠に完成しない。

固定用の治具を作るところから始めよう。

2021年5月9日日曜日

ダイソーの拡大鏡をヘッドルーペに改造#1

すっかり近くが見えなくなって、工作&改造&DIYの時には拡大鏡が必要だ。
ハズキルーペといきたい所だが、高すぎる。
というわけで、ダイソーの老眼鏡や拡大鏡を愛用している。

どの眼鏡でもそうだと思うが、取ったり付けたりするのが面倒だ。
鼻の先にちょこんと引っ掛けていると、下に置いたものが老眼鏡のせいで見えなかったり、下を向いた途端に落ちたり。
使わない時に頭に上げておくのも、きちんとかけ直すのが手間だったりする。
(子供の頃からメガネを必要としていた人達は、なんと辛抱強いのだろうと改めて感心する)

付けたり外したりしていれば良いのだろうが、問題がある。
ダイソーの拡大鏡は、つるのヒンジ部分が弱いのだ。がさつな大男が慌てて付けたり外したりしていると、すぐに折れてしまう。
安いので予備も買ってあり、壊れたときには新しいのを出してくる。

しかしながら、使い捨てとはSDGsの考えにそぐわない。
何とかならないだろうか?

付けたり外したりがスムーズにできればいい。
ヒンジが折れてしまっていてもレンズとしては使える。これをヘッドルーペに改造してみよう。
サンバイザー的なもののツバの部分にルーペが付いているやつだ。
使う時にレンズを下ろして、使わない時に上げておく。
頭に固定されているので落ちることもない。

改造すると言っても、取り付けるのは自分の頭なので、採寸も難しい。
チラシやダンボールを切り貼りしながら、試作して調整しながら寸法を決めていくことにした。

試作1号が下の写真。
マンション広告パンフレットの丈夫な紙を何回か折って、帯の部分を作った。
ダンボールで、レンズを固定する台を作った。

一応、レンズを上げることもできる。

顔との距離を微調整できるように、レンズは2箇所で動くようにするつもりだ。
しかし、ダンボールで作っただけなので弱く、レンズもブラブラするので、このままでは使い物にならない。

丈夫な材料で作れば良いのだが、頭に付けるものなので、重い材料は使えない。
もう少し検討が必要だ。

2021年5月8日土曜日

Ubuntu 18.04 で nbdkit

「いまさら18.04かよ!」って、思う人も多いだろう。
OSの入れ替えはなるべくやりたくないので、ギリギリまで使い続ける。

zestiyでもdiscoでも nbdkitはオフィシャルのパッケージがあるのに、bionicだけは無いのだ。
そのため、nbdkitを手っ取り早く、簡単に使いたいなら、今ならbionic(18.04)ではなく、focal(20.04)を使うのが良い

私は、12.04のサポート終了後、1年ぐらい16.04を使ったが、すぐに18.04に移った。
Precise(12.04)のころも nbdkitのオフィシャルパッケージが無く、ソースを入手して、ビルドして使っていた。 そのためnbdkitは自分でビルドすると、私は自然に考えていたので、18.04に移行した後もすぐに自分でビルドした。
(うっかりこのBudgieでも、最初は自分でビルドしてしまっていた)

もう一度いうが、nbdkitを簡単に使いたいなら、自分でbionic(18.04)でビルドせずに、focal(20.04)に移行するのがいい。
focalもだいぶ安定してきているだろうから。

bionicを使い続けなければならない人もいるだろうし、私のような馬鹿野郎も少なからずいるだろう。
今年の3月に、M.2 SSDに移行&インストールし直したこのPC用にもビルドし直したので、ついでにメモを書いておく。

最後にビルドしたのはもう1ヶ月以上前なので細かいことは忘れている。
何か足りないものもあるかもしれない。面倒なことになるかもしれない。それが嫌ならfocalに移行せよ。

まずは、ビルドに必要なものをインストールする。
gitやbuild-essential等の最低限のツール類は入っているものとする。

いきなりビルドに必要なものと言われても、さっぱりわからない。
後でgit cloneするが、その中のreadmeを読んでも必要なものの雰囲気ぐらいしか解らない。
そもそもnbdはどっちかっていうとRedHat系が中心で、Debian系ではない。そのためDebian系のパッケージで何を用意すれば良いのかがよくわからないのだ。
しかし、今ならお手本がある。focalのBuild-Dependsを見れば良いのだ。
ソースパッケージの一部である.dscファイルを入手して、その中の "Build-Depends:"にかかれているパッケージをinstallすればいい。
実際には、bionicには存在しないものなども含まれていたりして調整も必要だが、大変参考になる。
まずは、.dscファイルをダウンロードしておこう。
wget http://archive.ubuntu.com/ubuntu/pool/universe/n/nbdkit/nbdkit_1.16.2-1ubuntu3.dsc
以下のようにすると、Build-Dependsのパッケージがわかる。
$ cat nbdkit_1.16.2-1ubuntu3.dsc | grep '^Build-Depends:' | sed -e 's/^Build-Depends: \+//g' | sed -e 's/, \+/\n/g'
debhelper (>= 12)
dh-python
perl
pkg-config
bash-completion
genisoimage
comerr-dev
libcurl4-gnutls-dev | libcurl-dev
libext2fs-dev
libgnutls28-dev (>= 3.3)
gnutls-bin
libguestfs-dev (>= 1:1.36.11-3)
liblzma-dev
liblua5.3-dev
libperl-dev
python3-dev
ruby
ruby-dev
tcl-dev
libselinux1-dev
libssh-dev
libvirt-dev
zlib1g-dev
busybox <!nocheck>
iproute2 <!nocheck>
jq <!nocheck>
socat <!nocheck>
libguestfs-tools <!nocheck>
libnbd-dev
python3-libnbd <!nocheck>
このうち、<!nocheck> はテストで必要としているものだ。
テストは重要ではあるが、解決が難しくなるかもしれないので、とりあえず除去しておく(「まずはビルド」を優先する)。
また、バージョン番号も邪魔だし、libcurlは2つ(libcurl4-gnutls-dev か libcurl-dev)のうちどちらかが入っていればいい。
さらに、libnbd-devはbionicには存在しないので、除外する。

これらを整理するには、以下のようにする。
$ cat nbdkit_1.16.2-1ubuntu3.dsc | grep '^Build-Depends:' | sed -e 's/^Build-Depends: \+//g' | sed -e 's/, \+/\n/g' | grep -v -e '<!nocheck>' -e 'libcurl-dev' | sed -e 's/ \+([^)].\+) *$//g'
debhelper
dh-python
perl
pkg-config
bash-completion
genisoimage
comerr-dev
libext2fs-dev
libgnutls28-dev
gnutls-bin
libguestfs-dev
liblzma-dev
liblua5.3-dev
libperl-dev
python3-dev
ruby
ruby-dev
tcl-dev
libselinux1-dev
libssh-dev
libvirt-dev
zlib1g-dev
libnbd-dev
これらのうちまだinstallされていないものをinstallする。
以下のようにして、installされていないパッケージ(すでにインストールされているパッケージ)を確認する。
$ dpkg -l $(cat nbdkit_1.16.2-1ubuntu3.dsc | grep '^Build-Depends:' | sed -e 's/^Build-Depends: \+//g' | sed -e 's/, \+/\n/g' | grep -v -e '<!nocheck>' -e 'libcurl-dev' -e 'libnbd-dev'| sed -e 's/ \+([^)].\+) *$//g')
18.04を今まで使い続けていたのなら、すでにいろいろなパッケージが入っているだろう。
何が足りないかは人それぞれだ。
表示された内容のうち足りないものを、"sudo apt-get install"の後ろにコピペしてinstallしよう。

次にソースを入手する。
以前はtar.gzを使っていたが、gitで入手すれば更新も簡単なのでgitで入手しよう。
リポジトリはhttps://github.com/libguestfs/nbdkit にある。
git clone https://github.com/libguestfs/nbdkit
cloneしたら、nbdkitに移動して作業する。

gitで入手した場合、最初に"autoreconf -i"を行わなければならない。
$ cd nbdkit
$ autoreconf -i
(なんか色々表示される)
次に"./configure"を実行するのだが、なんかオプションを付けた記憶がある。
config.logを見直してみたら、ウチの場合は以下のようになっていた。
$ ./configure --no-create --no-recursion
"git pull"で更新して、改めて上記configure後にmakeを実行してみるとエラーになった。
make[3]: ディレクトリ '/home/shin/dvlp/nbdkit/nbdkit/plugins/ssh' に入ります
/bin/bash ../../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I../..  -I../../include -I../../common/include -I../../common/utils      -g -O2 -MT nbdkit_ssh_plugin_la-ssh.lo -MD -MP -MF .deps/nbdkit_ssh_plugin_la-ssh.Tpo -c -o nbdkit_ssh_plugin_la-ssh.lo `test -f 'ssh.c' || echo './'`ssh.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../../common/include -I../../common/utils -g -O2 -MT nbdkit_ssh_plugin_la-ssh.lo -MD -MP -MF .deps/nbdkit_ssh_plugin_la-ssh.Tpo -c ssh.c  -fPIC -DPIC -o .libs/nbdkit_ssh_plugin_la-ssh.o
ssh.c: In function ‘do_verify_remote_host’:
ssh.c:220:26: error: storage size of ‘state’ isn’t known
   enum ssh_known_hosts_e state;
                          ^~~~~
ssh.c:240:11: warning: implicit declaration of function ‘ssh_session_is_known_server’ [-Wimplicit-function-declaration]
   state = ssh_session_is_known_server (h->session);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~
ssh.c:242:8: error: SSH_KNOWN_HOSTS_OK’ undeclared (first use in this function); did you mean ‘SSH_OPTIONS_HOSTKEYS’?
   case SSH_KNOWN_HOSTS_OK:
        ^~~~~~~~~~~~~~~~~~
        SSH_OPTIONS_HOSTKEYS
ssh.c:242:8: note: each undeclared identifier is reported only once for each function it appears in
ssh.c:246:8: error: SSH_KNOWN_HOSTS_CHANGED’ undeclared (first use in this function); did you mean ‘SSH_KNOWN_HOSTS_OK’?
   case SSH_KNOWN_HOSTS_CHANGED:
        ^~~~~~~~~~~~~~~~~~~~~~~
        SSH_KNOWN_HOSTS_OK
ssh.c:251:8: error: SSH_KNOWN_HOSTS_OTHER’ undeclared (first use in this function); did you mean ‘SSH_KNOWN_HOSTS_OK’?
   case SSH_KNOWN_HOSTS_OTHER:
        ^~~~~~~~~~~~~~~~~~~~~
        SSH_KNOWN_HOSTS_OK
ssh.c:257:8: error: SSH_KNOWN_HOSTS_NOT_FOUND’ undeclared (first use in this function); did you mean ‘SSH_KNOWN_HOSTS_OTHER’?
   case SSH_KNOWN_HOSTS_NOT_FOUND:
        ^~~~~~~~~~~~~~~~~~~~~~~~~
        SSH_KNOWN_HOSTS_OTHER
ssh.c:265:8: error: SSH_KNOWN_HOSTS_UNKNOWN’ undeclared (first use in this function); did you mean ‘SSH_KNOWN_HOSTS_CHANGED’?
   case SSH_KNOWN_HOSTS_UNKNOWN:
        ^~~~~~~~~~~~~~~~~~~~~~~
        SSH_KNOWN_HOSTS_CHANGED
ssh.c:271:8: error: SSH_KNOWN_HOSTS_ERROR’ undeclared (first use in this function); did you mean ‘SSH_KNOWN_HOSTS_OTHER’?
   case SSH_KNOWN_HOSTS_ERROR:
        ^~~~~~~~~~~~~~~~~~~~~
        SSH_KNOWN_HOSTS_OTHER
ssh.c: In function ‘ssh_open’:
ssh.c:388:32: error: SSH_OPTIONS_NODELAY’ undeclared (first use in this function); did you mean ‘SSH_OPTIONS_HOSTKEYS’?
   ssh_options_set (h->session, SSH_OPTIONS_NODELAY, &set);
                                ^~~~~~~~~~~~~~~~~~~
                                SSH_OPTIONS_HOSTKEYS
Makefile:639: recipe for target 'nbdkit_ssh_plugin_la-ssh.lo' failed
make[3]: *** [nbdkit_ssh_plugin_la-ssh.lo] Error 1
make[3]: ディレクトリ '/home/shin/dvlp/nbdkit/nbdkit/plugins/ssh' から出ます
Makefile:520: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: ディレクトリ '/home/shin/dvlp/nbdkit/nbdkit/plugins' から出ます
Makefile:708: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: ディレクトリ '/home/shin/dvlp/nbdkit/nbdkit' から出ます
Makefile:578: recipe for target 'all' failed
make: *** [all] Error 2
sshプラグインのビルド時にエラーになっているようだ。
nbdkitが新しくなりすぎたな?
私は、xzイメージのマウントがしたいだけなので、sshプラグインは必要ない。
使わないものは除外してしまおう。"./configure --help"で除外方法が解る。

結果的にconfigureの方法は、以下のようになった。
$ ./configure --no-create --no-recursion --without-ssh 
 : (色々表示される)
$ make
 : (色々表示される)
ビルドできたら、インストールする。
$ sudo make install
 : (色々表示される)
新しくなって(少なくともVersion 1.15.1では)、使い方も少し変わってしまった。
xz圧縮されたイメージをnbdで提供するには、元々はこんな感じだった。
sudo nbdkit -n -e <export_name> -u <user> -g <group> -i <ipaddr> xz file=<xz-filename>
新しいものでは、たとえば、以下のようになる。
sudo nbdkit -n -e <export_name> -u <user> -g <group> -i <ipaddr> --filter=xz file <xz-filename>

ビルドを通すためにsshプラグインを除外してしまったが、前のバージョンや別のブランチをcheckoutして試すのも良いかもしれない。
(私は使わないので、そこまではやらない)

git pullで更新も比較的簡単にできる。
しかし、上記のように時々ビルドできなくなることもある。
自分でソースコードを入手してビルドする行為は、自由がある反面、荒野を彷徨うようなものだ。

その覚悟が無いなら、やはりfocalに移行してnbdkitを使うのが良いだろう。

関連記事:
圧縮イメージをマウントする
Lubuntu 16.04でxz圧縮イメージをマウントする

2021年5月3日月曜日

リトラクタ修理#2

数年前に修理したリトラクタが再度壊れた。
さすがに新しいものを買っても良いのだが、コロナ禍でウチにいるなら修理してみよう。

前回はワイヤーが切れたが、今回はワイヤーが戻らなくなった。
早速分解すると、ゼンマイが2箇所で折れていた。
折れたのは比較的端っこだ。
多少短くなるが、先端部分を曲げて、緑色の部品(以降「ゼンマイ箱」と呼ぶ)に引っかかるようにすれば、機能的には回復するだろう。
ラジオペンチで曲げてみた。
最初の写真を見れば解るが、ゼンマイの外側の方は逆向きに巻いている。
外向きに巻いたら、逆になるので注意だ。

ゼンマイ箱に曲げた部分を引っ掛けて、内側にぐるぐる巻いていく。
一応、シリコングリスをたっぷりと塗った。
ケースに接着剤(今回はセメダインGクリア)を塗って貼り合わせる。
ゼンマイ箱が接着されないように注意して作業する。
ゼンマイ箱をセットする時、ゼンマイは2回ぐらい余計に巻いたほうが良い。

その後、Cクランプで固定して、接着剤が固まるまでしばらく放置。
(固まると言っても、GクリアはG17のようなゴム状になる。透明だけど。)

接着剤が固まった後、補強のため2ホゴでぐるぐる巻にする。
必要ないかもしれないけど、水中で壊れるのは嫌だよね。

ワイヤがかなり錆びていた。
今回は交換しなかったけど、次に壊れた時はワイヤも交換しよう。

2021年5月2日日曜日

GIMPでお絵かき

たとえば、この記事のイラストは、Ubuntu + GIMPで書いた。
いや、正確には、コピー用紙にボールペンで書いた絵(線画)を、スキャナで取り込んで、GIMPで色を付けた。
その方法が、解りにくかったので、メモを書いておく。

取り込んだ線画に、Windowsで言うところのペイントのようなアプリで、色をつけようと描き込むと、線まで上書きされて消えてしまう
これを回避するには、レイヤを使えばいい
線画を一番上のレイヤにして、下のレイヤに色を塗るのだ。そうすれば線は消えない。

フォトレタッチアプリの多くがそうであるように、GIMPもレイヤを使うことができる
レイヤが使えるなら簡単だと思うだろうが、そうは問屋が卸さない

取り込んだ線画をレイヤにすると、黒い線だけではなく白い部分まで不透明で描画される。
これでは、下のレイヤに色を塗っても、不透明な白が邪魔をして、塗った色は現れない
線画の白い部分が透明になっているレイヤを作る必要があるのだ。
それを作る手順を示す。

まずは、線画を用意する。
去年買ったEPSON EW-M752Tは、スキャナ機能もある。
Ubuntuでは、Image scan アプリで、EW-M752Tを扱う。
私は、イメージタイプを「モノクロ」で取り込んでいる。
白黒を明確にすることで、透明部分を完全に透明にするためだ。
鉛筆で書いたものはコントラストが低く、線がかすれてしまうことも多い(そのためボールペンで描いている)。
「エンハンスメント」ボタンを押すと、取り込みのしきい値を調整できる。
数字を大きくすると、黒が濃くなる。なんか逆な感じもするが、「白とみなす明るさのしきい値を上げる」という考えだろう。
「スキャン」ボタンを押すと、取り込みが始まり、ファイル保存ダイアログが開く。適当な名前でスキャンした画像を保存する。
(Linuxも使いやすくなったものだ)


GIMPでモノクロ画像を読み込み、白い部分が透明になっているレイヤを作る。
GIMPを起動して、スキャナで取り込んだモノクロ画像ファイルをドラッグ&ドロップする。
取り込んだ画像がGIMPに表示されるだろう。
このとき、「レイヤー」のダイアログに、取り込んだ画像ファイルのファイル名が表示されている。
「レイヤー」ダイアログは、ドック「レイヤー、チャンネル、パス、履歴-プラシ、パターン、グラデーション」に含まれている。
閉じてしまっている場合、メニューから「ウインドウ」「最近閉じたドック」内にあるだろう。

この「レイヤー」ダイアログで、しばらく操作をする。
まずはレイヤをコピーする。
上記での「新型ころにゃんウイルス2.png」となっているレイヤにマウスカーソルを合わせ、右クリックを行いポップアップメニューを表示させる。
ポップアップメニュー内の「レイヤーの複製」をクリックして、レイヤをコピーする。
名前「新型コロニャンウイルス2.png コピー」のレイヤができる。
わかりやすい名前「線画」としよう。
名前の部分をダブルクリックすると、編集できる。

この「線画」レイヤの白い部分を、マスクを使い透明にする。
右クリックしてポップアップメニューを開いて、「レイヤーマスクの追加」をクリックする。
「レイヤーマスクを追加」ダイアログが表示される。
ここで、「レイヤーのグレイスケールのコピー」ラジオボタンを選択、「マスク反転」チェックボックをチェックして、「追加」ボタンをクリックする。
このままでも良いのだが、マスクが独立している必要はないので、「レイヤーマスクの適用」をして、マスクを消す。
これで「線画」レイヤの白い部分は透明になる。

色を付けるには、もう一つ重要な操作が必要だ。
モノクロ画像を扱っていたため、このままでは色が使えない。
メインウインドウのメニューの「画像」「モード」「RGB」をクリックして、RGBモードにする。

これで準備は整った。
「線画」レイヤの下に、新たに透明なレイヤを追加して、そのレイヤに色を付けてみよう。
またレイヤのポップアップメニューを表示して「新しいレイヤーの追加」をクリックする。
「新しいレイヤー」ダイアログが表示されるので、「透明」ラジオボタンを選択して、「OK」ボタンをクリックする。
この新しい「レイヤー」を、「線画」レイヤの下に移動する。
レイヤをクリックして、ドラッグすると移動できる。

このレイヤをクリックしている状態で、ブラシで色を適当に選択して、あえて線画に重なるように色塗りをしてみよう。
線画が消えずに色が塗れたらOKだ。
部分毎、色毎など、目的に合わせてレイヤを追加して、色を塗ろう。

ここまでは、一気に作業をすすめたが、色塗りはしんどい作業だ。
失敗しても良いように、こまめに保存しよう。
また、線画を変更したい場合、元の白黒画像を書き換えて、再度「線画」のレイヤを作り直せばいい。

「線画のレイヤを作ればいい」ぐらいは誰でも解るだろう。
でも、具体的な方法が解らなかった。
試行錯誤の末、何とかなったが、最近はすっかり忘れっぽくなった。
おそらく、1ヶ月もすれば、具体的な方法を忘れてしまうだろう。
ということで、このメモを書いた。

さらに、私はまだまだGIMPに不慣れだ。もっといい方法があるかもしれない。