右ひざ痛

昨年11月末頃から右膝の内側がモヤモヤ痛むようになりました。体が温まっている間は痛みは無く、そのうち治ると思って筋トレを強化したところ、逆に悪化し、年末には就寝中の寝返りで目が覚めてしまう痛さになっていました。若かりし頃、テニスで痛めた膝を筋力強化で回復させた経験があり、同じことをしたのですが、過去の成功体験にしがみついて失敗する典型的なパターンとなってしまいました。

今年1月の緊急事態宣言に合わせて定期的な運動はペースダウン、2月は完全オフにしたものの、良くも悪くもならなず、3月はロキソニンゲルを塗らないと寝られない状態にまで悪化。4月に入り、クリニックで受けた注射と、ダメ元でやってみた水泳の思わぬ効果で、ロキソニンゲルから解放され、ようやく回復に向かいました。

膝に良さそうなことはいろいろ試しています。今後のため、以下に列挙しておきます。【】は効果度合い5段階自己評価です。 

緩めのカーフタイツ
【+4】
エコノミー症候群サポータの代わりです。
周囲の血行促進のため、ほぼ常用しています。
ストレッチローラー
【+4】
筋膜リリース/血行促進です。やりすぎないように注意しています。

足に腹筋EMS
【−1】

膝専用のEMSは高評価ですが、高額です。そこで、手持ちの腹筋EMSでやってみました。気持ちいいのですが、悪化の懸念があり、怖くて今は使っていません。
ロキソニンゲル
【無評価】
効きますが、劇薬です。私は薬嫌いなので、頭痛がひとくても薬は定量の半分、もしくは葛根湯です。自分では買わない薬ですが、嫁さんが持っていたので、使ってしまいました。一度使うと、止められなくなります。
サントリー・ロコモア
【+2】
口から膝に届く成分はいったいどんなけなのか、甚だ疑問です。効果を期待するなら、せめてファスティングに近いことを何かしないと・・・
クリニックのとある注射
【+4】
3月下旬、これを打つことになった経緯は後日まとめておきたいと思います。甘く見た私の不注意です。但し、その後は調子良くなってきています。
グルテンフリー
【+5】
上記クリニックの待合室で、ふと手に取ったのが、テニス界のサイボーグ・ジョコビッチ推奨のグルテンフリーの本でした。完全グルテンフリーは難しいので、「朝食パン」「週末ごほうびパン」を止めるところから始めました。すると、2周間で体重1.5kg減。膝への負担が減った他、肌の調子/髪のはり/お通じが良いようです。お酒は元々飲みませんが、グルテンフリー・ビールというのもあるようです。ハンバーグや大豆フレークに含まれるレベルの小麦や麦茶は許容していますが、トンカツの衣は剥がします。(サラダ油/ショートニングは5年前から極力避けてます。)
要は、和食中心です。
水泳+強力ジェットバス
【+4.5】
リハビリとしては一番効果を実感できる方法となっています。どっちが効いているのかは不明です。
全身粗塩マッサージ
【メンタル+5】
膝が痛いと悲しくなってきます。そこで、マイナス思考にとりつかれないよう、儀式的に行っています。膝には塩多めで念入りに粗揉みしています。なお、とある塩4kgのAmazonレビューを見ると、その多くがマッサージや塩風呂としてのレビューでした( ゚Д゚)!
歩行時は腹筋〜趾(あしゆび)を意識
【+4.5】
意識付けがなかなか定着しないのですが、非常に効果があります。
ヨガ・太極拳
【+5】
ヨガと太極拳は、共通項が多いです。回復度合いのバロメーターにもなります。太極拳は、YouTube先生が以前より増えていました。GWは否応なしに暇なので、14式を練習します。
その他 冷水シャワー、あしゆび体操、人目につかない所での貧乏揺すりも、効果がありました。

 

現状:
ほぼ11月下旬の状態まで回復しました。

回復目標/エアロ復帰の目安:
体が暖かい状態で、高さ40cm程度の標準的な椅子に座り、腕を組み、左足を水平に保ちながら、右足でゆっくり立ち上がろうとする動きの中で、右ひざに違和感を感じないこと。 

屋根裏の小悪魔ちゃん

屋根裏で毎晩軽快なステップを踏み、私を不眠症に陥れた犯人は、ねずみちゃんではなく、、、

f:id:t0a9n9a4k:20210425091338j:plain

かわいい小悪魔ちゃんでした (゚д゚)!。5年前、私を左肩関節脱臼に追い込んだ犯人のご家族でしょう。

ねずみちゃんなら定めにより水没であの世に行っていただくところでしたが、この子は行き先が違います。丁重に、、、というよりは強烈な屁をくらわないよう慎重に、人里離れたKやまへお運びし、リリースしました。どうかお元気で。。。

bashrcでechoしてはいけない

知らなかった... _| ̄|◯ 

         ↑ 久々の左右反転orz

https://www.google.com/search?q=bashrc+echo+scp

Linuxは、触れていればいつも何かしら新しい発見があるのでワクワクしますが、この件は、ちょっと足元がおろそかだったかもしれません。

本Blog内での該当部は、「bashrc」で検索してヒットするページはメンテしておきました。

 

なお、TeraTerm D&D操作やWinSCPのscp(sftpはNG)などでは、標準出力があってもファイル転送できるケースはあるようです。とはいえ、普通は処置すべきでしょう。

git diffを美しく

新幹線でぼーっとしている時間を有効活用すべく、新幹線Wifiを駆使して調べました。

目的
  • 的確に差分を表示できるようにgit commitしたい。
  • 文字コード、改行コード、行末スペースの差分でリポジトリをよごしたくない。
処置案1

コミット前にスクリプトで処置します。コミットする人が私一人ならこれでいいです。

# 1. テキストファイルをリストアップし、UTF-8/LF改行に変換して上書き
find . -type f -not -path "*/.git/*" | perl -nle 'print if -f && -T' | xargs nkf -w -Lu --overwrite

# 2a. 行末に空白のあるテキストファイルをリストアップし、処置して上書き
find . -type f -not -path "*/.git/*" | perl -nle 'print if -f && -T' | xargs grep -lzP "\ \n" | xargs sed -i 's/\ *$//'

# 2b. 末尾Tabもあわせて削除(sedで、SpaceとTabは'\s'で表現できる)
find . -type f -not -path "*/.git/*" | perl -nle 'print if -f && -T' | xargs grep -lzP "\t\n|\ \n" | xargs sed -i 's/\s*$//'

# 2c. README.mdなどのMarkdownは末尾空白2個で改行なので除外する場合
find . -type f -not -path "*/.git/*" -not -name '*.md' | perl -nle 'print if -f && -T' | xargs grep -lzP "\t\n|\ \n" | xargs sed -i 's/\s*$//'

[3/25] grep -lzP "\t\n|\ \n"に修正しました。

処置案2

pre-commit hookを使うと、コミット前に処置できるようです。複数の人がコミットするなら、ここで処置すべきです。余力があれば帰りの新幹線で。。。寝てました (-_-;)

処置案3

既に行末スペース等でよごれてしまったリポジトリは、表示の際のオプション設定できれいにdiff表示できます。

git diff -w

GitHubWebブラウザでdiff表示している時も、URL末尾に「?w=1」を付ければ機能します。
備考:GitHubの秘密


次の新幹線テーマ
  • 1行スクリプト・・・つまり「ワンライナー」を目指したいのですが、意外と難しいのです。
  • Subversionの#Date, #Revisionのように、gitでもテキストファイルに日付とリビジョンを埋め込みたいです。post-checkoutとpre-commitで対応でしょうか?

Ubuntu Studio 20.10でもXFCE4+Screenlets

Ubuntu Sduioのデフォルトのデスクトップは、20.10以降、XFCE4と袂を分かち、KDE Plasmaに変更されました。しばらくそのままおつきあいしていたのですが、やっぱりXFCE4がいいので、XFCE4環境をインストールして標準デスクトップにしました。どうしても、XFCE4 + Screenletsから離れられません。

Screenlets起動には、Ubuntu 20.04で動作している状態に対して下記2つのパッケージ追加が必要でした。

wget http://security.ubuntu.com/ubuntu/pool/universe/p/pyxdg/python-xdg_0.26-1ubuntu1_all.deb
wget http://security.ubuntu.com/ubuntu/pool/universe/d/dbus-python/python-dbus_1.2.16-1build1_amd64.deb
sudo dpkg -i *.deb

 

また、起動画面(gdm)からはPlasmaを選択できないようにしておきました。
cd /usr/share/xsession
mkdir keep
mv plasma.desktop ubuntu*.desktop keep/

 

XFCE4は、なんといっても、必要最低限までのデコレーション機能と、それゆえの超軽快動作で、品質の悪いネット越しのリモートデスクトップでも快適です。メンテ切れのScreenletsは、頑張ればPython2ではなくPython3の実装に合わせられると思うので、暇になったら頑張ってみようと思います。

・・・こうなると、私の今の使い方では、Ubuntu Studioである必要も無さそうです。Ubuntu Studioが気に入ってたのは、下記の点です。
XFCE4がデフォルト
② リアルタイムカーネルがデフォルト
③ 映像・音楽系のプロ仕様アプリがデフォルトで入っている

しかし時代も変わり、①が無くなり、②はネット主体かつ複数コア(SMP)安定動作の昨今ではほぼ意味なく、③のプロ仕様アプリは過去はちょっと業務開発がらみもあったけど今は使いこなせていないので、もう、Ubuntu Studioからおさらばするかもしれません。 

[備考] Conkyではガジェットの雰囲気を出すのが難しく、それが理由で私はScreenletsを使い続けています。ConkyにせよScreenletsにせよ、セキュリティ観点から、一般的には非推奨です。

PCIのマジックライト

PCIのBARレジスタに隠されている、メモリ空間サイズを得るための手順です。枯れた技術ですが、組込エンジニアにとっては少しやっかいです。忘れてしまうので、最も端的で分かりやすい解説リンクを置いておきます。ごく稀に、話題になります。

stackoverflow.com

 

備考:
The Linux Kernel: PCI 「デバイスが必要とするPCI I/OとPCIメモリ空間の容量を調べる」

 

ホームネットワーク(VDSL)

とある家庭(親類)のネットワークをコンサルしたときに作成/提供したポンチ絵を以下に示します。電話線とLANケーブルを区別するのも難しい人向けに作ったつもりですが、このコンサルは私の本職ではなく、間違いはあるかもしれません。ご了承ください。

f:id:t0a9n9a4k:20201004233210p:plain

VDSLは、LANケーブル敷設の無いマンションでの有線インターネット方式です。ひかり電話フレッツ光など、「光」と記載されたサービスでも、VDSLの場合は光ケーブルは電話局からマンションのMDF室(≒管理室)までです。MDF室から各戸には、既設のアナログ電話線にデジタル信号を乗せて配信しますが、電話線の場合、長さや状態によって信号が激しく劣化するので、今ならそうしたマンションではWiMAXサービス(≒スマホテザリング)を使う方が良いかもしれません。その方が、電源ケーブル周りもスッキリします。しかし、このお宅では、プロバイダを変えたくない、FAXを使う等の事情がありました。また、Youtubeもスムーズに見れていたので、電話線での劣化は許容範囲でした。

セキュリティ設定をどこまで実施するかは悩みどころでしたが、このお宅のユーザ様はとにかくネットにつながるところを選択してしまうご様子だったので、MACアドレスフィルタ[備考4]等で厳しく制限すると逆効果かもしれず、そうした設定はあえて行いませんでした。但し、ユーザビリティに影響の無い対策は実施しました。また、このお宅の方にはネットワークの暗部の話を紹介し、見えているWiFiスポットに安直に接続しないよう釘はさしておきました。ノートPCは持ち運ぶ様子が無かったことから、機内モードWiFi無効にして有線LAN接続としました。  

FAXは、もうなくなると言われて20年・・・無くなりません。ひかり電話の通信方式はIP電話と同じデジタルですが、ネット上ではプレミア級の最優先独自ルート/遅延レスなので、FAXができてしまいます。


備考1:FAX通信方式(T.30)ではネット遅延は想定されておらず、050系やフリーのIP電話では安定しないこともあるようです。 
備考2:WiMAXでの通信品質は電波環境次第です。過度な期待は禁物ですが、WiMAXルータ端末を自由に移動できる点は強みです。また、自作アンテナでも速度アップできるようです。なお、私ならNEC製の端末を選びます。
備考3:ひかり電話の無い別の親類宅(有識者在住)では、以下のようになっています。

f:id:t0a9n9a4k:20201010082944p:plain

 備考4:最近、iPhoneAndroidMACアドレス適用が乱数化されましたので、MACアドレスフィルタをかけている環境ではスマホの設定変更が必要です。MACアドレスフィルタは意味が無いという見方がありますが、これは、ケースバイケースです。