気になった記事のブックマークなど(2024/01)

 
過去ログ
走り書き
2024/01/30 人の評価基準
人のことを言えたような立場ではないものの。
出会ったら距離を取るであろう人物の指標。
 
1. 趣味に対してどう向き合っているのか。
一般的にドン引きされるような趣味やその年齢に合いそうにもない内容であっても少なくとも本気で向き合っているのであれば良いのでは?
ただ、趣味に入れ込みすぎて他がなおざりになったり他人に迷惑がかかるようなやり方であればそれは注意。
 
2. 他人に発した小言や苦言について、鏡を見て言わせてみたら実は発言側にも当てはまらないか。
こういう人は基本ダメです。すぐに距離を取ったほうが良いでしょう。
なお、自覚している場合は別。
 
3. 第一印象ですべてを決めない。
外見や印象は他の人のアドバイスや演技をすることでいくらでも変えられる。
どうしても第一印象で決めたい場合は、その人が持っている古いものをどう扱っているかで見れば良い。
ただ、その人の持ち物や背格好にはその人なりの背景があるのだから、明らかに不格好であったとしても見た目で決めるのはもったいないと言える。
 
4. 相手に対して配慮しているか。
これはグループで動いている時より、直接的関係のない他人に対する態度、ということになる。
一番出やすいのは隘路を行き違う時。これまで避けてきたか・通させてもらってきたかという所で見られる。
自分はいつも特に避ける必要がなかった人や気にしていなかった人は要注意。また3人以上のグループでひたすら2名だけで喋り続けるというのもどちらか片方は要注意だ。
同様の内容にレストラン店員に対する態度というものもある。
 
5. 自分はもてなされる側であって、もてなす側ではないという認識を表裏問わず持っている
言い換えれば、自分は王子様・お姫様みたいな人。
これだけやってきたからこれくらいはやってもらっても良い。
勝手に期待して期待はずれだと機嫌を損ねる。自分は常に正解だと思っている。
そういう考えを持っているとしたら間違いなくハズレ。
 
6. 相手にばかり改善を要求する。
すぐに距離を取りましょう。おそらく合ってないです。
 
一応落ちを付けておくが、これはかつて、そして今もたまに発露する自分の話である。いわゆる自戒。
といいつつも一緒に仕事をしたことがあれば大体まあいいや、となる程度だけど。
 
2024/01/28 HHKB Lite2 PD-KB200W/U
ハードオフで3,300円だった。
メーカーホームページ
打ちやすい代わりにUS配列でJP106モードを使っているのでかなり使いづらい。
手を動かさないで打つことが出来る分楽といえば楽なのだが、テンキー慣れしているとキツイ部分もある。
 
pkg install ja-fcitx-mozc zh-fcitx-configtool
ja-uim-mozcを使っていた頃の設定を引きづっていたので、しばらくJP106の設定のままだったのだが、fcitxのconfigtoolを入れた。
※ja-fcitx-configtoolというのはないらしいが、日本語設定はできる。
というわけで、キーマップをJPからen-usに切り替えた。
多少打ちの部分では楽になったがControlキーはCapsLockに存在する配列なのでそれに慣れるまでが一苦労かもしれない。
これも慣れきった身体に変化を与える面では良いかもしれないとは思っているのでヨシとする。
 
こうした仕様変更が発生すると見込まれる場合、元に戻れるか、ということを考えて購入することが多い。
ただ今回の場合は完全に衝動買いに近かったのでそういう事を考えることはなかった。
とはいえ、標準的なJP106キーボードはCtrlキーがキーボードの下部の隅っこにある。HHKBに慣れたら慣れたで打ちづらくなる・・・ことはないか。
仕事用のキーボードは変える気ないし。
 
未だに打てないキーにDeleteがあるのだが、Fn+Backspaceじゃなかったらどこなんだろう。(*1)
まあでもほぼBackSpaceキーで事足りるしいいか。
 
*1:このキーボード、チルダとバッククオートが右上にある。その機能キーはBackSpace相当・・・のはずだが、これがDeleteキー相当であった。つまりFn+~でDeleteキー相当になる。
 
2024/01/28 FreeBSDとみる物・者の等しい関係
ドットコムバブル(*1)というワードを久し振りに聴いたもので。
自分の知識レベルの確認のためにあえて書いてみる。
比較FreeBSDUbuntuWindows
OSFreeBSDUbuntuWindows
KernelFreeBSDLinuxNT-Kernel
ユーザーランドFreeBSDGNU(一般的に)Microsoft(たぶん)
ライセンス2-clause BSD licenseGPLv2/GPLv3Microsoft Windowsオペレーティングシステム
運営団体FreeBSD FoundationCanonical Ltd. / UbuntuプロジェクトMicrosoft
 
OS = Kernel + Userland
例:FreeBSD = FreeBSD-Kernel + BSD-UserLand
例:Void Linux = Linux-Kernel + BSD-UserLand
例:Ubuntu = Linux-Kernel + GNU-tools
上記の例はあくまでも2024年01月期までの話でその後は変更されているかもしれないし、裏取りはできていない。
LLVM/Clangの採用があったFreeBSD 9系/10系以降(2010年ごろの話)、FreeBSDのGNU離れが進行して久しい。(ただし、i386/amd64以外ではGCCを使用していることもある)
FreeBSDとLinuxを比較するとしたら大体カーネルの話だと思えばいいんじゃないかな。
 
職業柄RHELやUbuntuを見ることはあるが、そのベースシステムを指すためにLinuxのワードを出す人間は減り続けてる。
FSFの教義に従えばGNU/Linux(GNU・Slash・Linux)(*2)なのだが、開発者以外はそんな所見てないわけで、ひどい場合RHELのGUIをだけをみてUbuntuと言う人もいる。
その頃にでてきたRedHat LinuxをもとにCentOSを生み、Fedora Coreを生み、Fedoraとなり、RedHat Enterprise Linuxが生まれ、CentOSを飲み込み、FedoraからCentOS Streamとなり、Rocky Linuxなどの派生が出てきたり・・・まあIBM傘下になるとは思っても見なかったのですが。
FreeBSDにおいても昔からシステムコールレベルの互換性確保はあったし、MacromediaFlash(その後AdobeFlash)を動かすためにFedoraCoreやFedora、CentOSのバイナリをFreeBSDで動かした記憶がある。
そういう意味では現代に至ってはLinuxカーネルがオペレーティングシステムにおけるOSI参照モデルにも似たオープンソフトウェアオペレーティングシステムの標準格を得ているし、WindowsでもWSLでLinuxカーネルを使用することが出来る。今後AI:Artificial Intelligenceエーアイ:アーティフィシャル・インテリジェンスが世の中に紛れ込んでいくにしても今後もバックボーンとしてのLinuxは無視はできない。
ということは、自分で情報を得てちゃんと自分で思考したい考えの場合、たぶんこの辺りでWindows路線から舵を切る最後のチャンスかもしれない。一昔前とは違ってPCを買えばだいたいWindowsは付いてくるものなので元の鞘に収まるのは簡単だからだ。
 
*1:インターネットの名前が世にでてきた頃のバブル崩壊の名称。インターネット・バブルとも。1999〜2000年あたりに急激に市場拡大し、2001年にバブル崩壊。なんとかドットコムとつければIT企業と見られていた。かつてアマゾンもアマゾン・ドットコムだった。
*2:なぜリナックス/リヌクス/ライナックス(読み方は色々ブレがある)ではなく、日本語読みしていないのは色々な流派があるため。またGNU/Linux(GNU・Slash・Linux)と書いているのも名称の言い方に諸説あるからだ。またGNU/Linux名称論争という言葉で検索してみよう。今となってはLinuxと呼ぶことがデファクトスタンダードになっているので、ある意味決着はついている。個人的には伝わればどうでも良い。
*3:ドットコムバブルにおけるFreeBSDやその他BSDシステムがどうだったかというと、あくまでも学術的な面が強かったイメージで、商用で表立って採用された事例としてはJuniper NetworksのJunosぐらいしか思いつかない。日本ではライブドアやLindows(その後Linspireに名称変更)などが有名な所で、Yahoo!BB(現SoftBankBB)のADSLパラソル部隊が町中でモデムを配ってたそんな時代、といえば時代背景はわかるかもしれない。
*4:どこでLinuxとBSDに差がついたかといえば、やっぱりドットコムバブルの上昇気流に合わせた資金稼ぎのやり方資格商法やセールスマンにいかにLinuxというワードを喋らせたオープンソース=Linuxという意識付けのかの違いだったんだろう、と。資金力の確保はそのまま設備や開発者などの資源確保に直結する。寄付やネームバリューではあまり集まらないがIT企業が流行りを売り込みに行くとなればその関連の公式資格を持っていますというのはちゃんと保守できますという宣伝になる。また、多少有名な資格があったりするとそういう業界があり何が出来るというのは顧客が勝手に想像する。開発ラインでは企業名を出しながら業務として開発し無償でコミットする。その繰り返しでLinuxは一般的に知られるようになった、と推測している。ただ、BSDは1990年代にAT&Tの開発した本物のUNIXとのソースコード関連の裁判沙汰や日本人の開発したNewconfigと英語ができる方が開発したNewbusとのソースコード採用事案があったのでオープンソース開発者には不安になった出来事があったのでそもそも分が悪かったとも言える。(意外と2000年代初頭あたりで話題になった食肉業界におけるBSE問題も影響しているかもしれない)
まあそもそも勘違いしがちなのは企業を運営するために必要なことは夢やロマンではなく、採用することで得られるメリット出資者や株主への根拠立てた説明材料であって、主流から外れた技術への投資はそれを覆すほどのメリットがなければ無駄な投資になりかねないということ。BSD側はそこら辺をできる人間があまりいなかった気がする(うまく活用した例はHackers and Painters:ハッカーと画家の作者)。雨水でできた水たまりに釣り糸を垂らしても魚は釣れないのと同じで、新しく業界を開拓するなら仕事を用意するか、今ある仕事の生産性を高める効果を見せる必要がある。とはいえ、今ではSONYやNetflixなどがBSD開発の成果物を使ったりコミットしてくれる世の中になったので徐々に広まっている感覚はある。
おっと、ひとセクションぐらいの分量になってしまったので以降は割愛(記事化予定なし)。
*5:OSSコミュニティの継続性(allbsd.org 2017/01/03)でいうところの私は利用者に当たるユーザーなので、FreeBSDはある程度使用させていただいているものの、特に開発者目線というのは持っていなかったりします。FreeBSDを始めとしたBSD関係をネタにしたOSSイベント関係は多くありますがあまり参加する傾向にないのはそうした目線がないことが理由です。たまに知り合いが展示しているフォーラムとかは覗きに行く程度。
 
2024/01/21 平沢進 aurora
FM群馬平沢進のテクノ実験工房EDのaurora
Live Solor Rayのaurora2
Interactive Live Show 2006 LIVE Byakkoya第1曲目のaurora3
FUJI ROCK FESTIVAL 2019でのaurora2019
そして24曼荼羅のaurora2021
どのauroraも良いが、よく聴いたのはaurora3。
いつ聴いてもいいよなあ・・・セローの鼓動とよく合うんですよ。
ツインでもトライでもクアッドでもなくシングルの。
また、白虎野や白虎野の娘も深夜から夜明けで走るタイミングでかかるとテンションが上がる・・・
馬の骨ではなく嗜む程度です。
 
2024/01/21 沼津魚かし鮨
ネタもシャリも美味しかった。
現地に用事があって思い出したときに食べるぐらいがちょうどよい、かな。
ひとりで5,000円ぐらい食べてた。
 
2024/01/21 大体の人は副業するより節約に励むほうが使えるお金が増える
場所(住居、作業場)>お金(委託費)>時間
これが確保すべき順序。
 
時々、時間>お金という人もいるが、その時そのタイミングで行われる絶対に外してはならない件がある場合だけはその順序は成り立つ。
これは就職・転職の意思決定だとか、どうしてもその日を婚姻届提出日にしたいだとか、子供の入学願書の提出だとか、出産が始まったとか、親との永遠の別れだとか、納税だとかが当てはまるが、その他の事象では基本当てはまらない。
 
本当の時給は?
一般的に時給と言うと労働時間:8[時間]x(365[日]-52[週]x2[土日])で割った値が大体の数値になる。(*1)
これを単純に計算すると年収300万円の場合、2088円程度となる。これには労働時給という言葉を使う。
が、これはあくまでも労働時間に対する賃金である。24時間365日:一年間フルタイムでの時給となるとこうなる。
本来の時給:(労働時年収[円] + 他所得[円])/(24[時間] * 365[日])。(*2)
先程の年収300万に当てはめるとは時給342円となる。一日にすると8,208円だ。これには年間時給と言う言葉を使う。
 
私は過去にこの計算をした結果、今後止める方向にした3つのことがある。
ひとつは「ATMの手数料をできるだけ支払わないようにすること」
ふたつは「外食や惣菜はできるだけ避けること」
みっつめは「50円以上のジュースはできるだけ買わないこと」
ATMは時間外取引や他行サービスを利用するだけで最低110円の手数料が発生する。
外食や惣菜は200円を下ることはかなり難しい。(*3)
さて、年間時給342円の人間がATM手数料110円を安いと思うだろうか。格安自動販売機で買う100円の水が安いと思うだろうか。
私は思わない。
 
時間を買うほどの状態とは?
簡単にまとめれば「その行為は必要だが外注してでも自分は他の事に対応した方が有利なので他の人に頼む場合」や「学習時間や作業時間が間に合わずタイミングに合わせるには他の人の力を借りなければならない場合」である。
ATMでいえば「今この時間で現金が揃わないと後戻りできなくなる」、外食で言えば「ゴハンを作る時間30分を他に稼げる仕事に当てたい」、クルマであれば「自身で車検を行うことができないから近所の自動車整備工場に任せる」とかになる。
便利な家電を買うのは一つだが、例えば15,000円するロボット掃除機を買ったとして、1年間完全に動作するとしても日額41円になる。電気代、メンテナンス代別、またロボット掃除機が駆け回れるだけ床に物を置いてはいけないという制限が付く。
クルマに至っては普通車を買うと300万円のご時世に、3年で買い換えると仮定したら車体価格だけで日額2739円になる。車検や税の納付、燃料代は別、場合によっては駐車場代もかかるだろう。週7日で少なくとも10,000円を超えるような運用が確約されなければ日単位のレンタルで十分だろう。
毎日往復20km走るとしたら、普段は自転車を使いつつ、雨や雪が降っていればタクシーで通勤したほうが安いまであるかもしれない。
ただ、これはランニングコストという言葉が示すとおり、上記に挙げた例に関わらずどれだけ長く使い続けられるかが運用上安く収めるためのファクターなので「とっかえひっかえ」というのはなかなか出来ることではない。(*4)
お金持ちが時短家電を買うのは単純にその家電の維持費を飲み込める程度の収入か効果を得ているからであり、その収入すら得ていない家庭では導入するだけムダである。
 
まとめると、時給換算の計算を間違えると100円の価値を間違えるし、たかだか年収300万円の人間が20分や30分という時間を買ってやることなど大したこと無い。(*5)
 
ああ、そうそう。
大半の人間が暇つぶしにやってるであろうスマホゲームのガチャ、10連だか100連だか知らんが、とりあえずガチャを引くために100円はかかるらしいな。10連ひいた時の演出は合計で1分か?
そしたら10連ガチャ一回あたり最低6,000円は稼いでる計算になる。
一番計算に力がかかるガチャ演出を観てとそのゲームだけで有効な効果を得るだけのために、貴重な通信費、充電の電気代、記憶領域をお手持ちのスマホで負担するのか?
労働時給2088円(年間時給342円)の人間が遊ぶには不相応だと思わないか?
しかしサ終でキレイサッパリ消え去るのに必死になってご苦労さまなことだな。
どうせ消えるならスクショ撮っときなよ。終わる頃には黒歴史かもしれないが。
 
*1:計算が面倒なので週休完全2日で計算している。国の定める祝日の考慮はもちろん、時間外や深夜労働、社内規則による休暇は変動するためここでは除いた。真面目に計算したい人は別のウェブサイトなどで確認してください。
*2:通常サラリーマンは年末調整で所得税等の計算を終えるが、自営事業者やその他に所得がある人は1〜3月にかけて確定申告を行うことになる。そのスキームを利用して正確な数値を計算できる。真面目に計算したい人はお住まいの税務署のサイトでも確認してください。
*3:昔の私であれば極端な例を持ち上げて否定に走っただろうが今となってはそれが達成できるような新世界で生活したくはない。安い分他でデメリットを負うことになる。総合的にお値段以上ということはまずありえないからだ。
*4:それでもとっかえひっかえしたい人向けにレンタルという方法がある。最近は人のもので最低限自分のレンタル中だけ無事で後の時間はどうでも良いみたいな考えの人も増えてきているのだが・・・
*5:ある程度名前の通った人物が時々副業だ自己投資だというのは、結果的に将来の収入増に結びつくからである。副業はともかく収入が少ないうちは自己投資に励むほうが良い。これは将来医療費がかかりにくくなるように運動するだとか語学(学校で習うような熟語の意味、気になる業界・世界の専門用語の咀嚼、外国語、数学に使用される用語を理解するなど)を勉強して第一人者の意見を理解できるようになるなどが挙げられる。市区町村が運営している図書館などを利用すれば自分の収めた税金を活用できるし、特にお子さんがいるような家庭であれば自分の子供が何を学んでいるかは逆に子供に教えてもらったほうがいいかもしれない。こうした考え方を得るには、現行の生活が来月までしかなくその後は着の身着のまま外に放り出された場合に、今余裕があるうちに何が役立つかを考えて実行することにある。
*6:電通という会社において「戦略十訓」という言葉がある。2024年となっては既に使われていないかもしれないが、参考になるため引用させていただく。
引用ここから>>>
01. もっと使わせろ
02. 捨てさせろ
03. 無駄使いさせろ
04. 季節を忘れさせろ
05. 贈り物をさせろ
06. 組み合わせで買わせろ
07. きっかけを投じろ
08. 流行遅れにさせろ
09. 気安く買わせろ
10. 混乱をつくり出せ
<<<引用ここまで
消費者が節約を目的とする場合において8〜9割は役に立たない。
そもそも電通は広告業最大手であり、顧客である一般企業が消費者から儲けを上げるための広告を自前のネットワーク上に打つことで一般企業からあがりを得るという収益スタイルを採っている。
広告事業を悪く言うつもりはないが、この十訓とは逆の思考を持てば勝手に節約家になっている。
*7:節約家の最終的な着地点は「規格の統一」による大規模な導入のディスカウントとマージンの確保である。これを支出に仕掛けると効率的に現金のようなものが貯まるようになる。良いところケーブルの挿し口をMicroUSB/MiniUSBからUSB Type-Cだけにしてしまうとか、用途の少ない調味料を買わないようにして多いもので賄ってしまうだとかが挙げられる。ただし規格の統一も行き過ぎると呪縛と化す。特に専門性の高い分野における規格の統一は完全な悪手。そこから次世代に移行するときにかかる労力が大きくなってしまう。気づきにくい例としては使用するパソコンからクラウドサービスまですべてMicrosoft製にまとめるという事例がある。それはそれで商売上手という見方もあるが、サービスや機器から得られる恩恵が相手のさじ加減で変わってしまうような自体は避けるべきだ。
 
2024/01/20 Buffalo WI-U3-866DS
ハードオフで買ってきた。比較的最近の部類だが、FreeBSDのドライバでは80211acは動作しない。
FreeBSD 13.2-RELEASEではif_rtwnで認識する。

疲れたので適当なメモ。
# tail -f /var/log/messages
Jan 20 20:14:24 fbsd-x86_64 kernel: ugen3.3: <Buffalo WI-U3-866D> at usbus3
Jan 20 20:14:24 fbsd-x86_64 kernel: rtwn0 on uhub4
Jan 20 20:14:24 fbsd-x86_64 kernel: rtwn0: <Buffalo WI-U3-866D, class 0/0, rev 2.00/0.00, addr 2> on usbus3
Jan 20 20:14:24 fbsd-x86_64 kernel: rtwn0: MAC/BB RTL8812AU, RF 6052 2T2R
      
usbconfigコマンド。
# # usbconfig -u 3 -a 3 dump_all_desc
ugen3.3: <Buffalo WI-U3-866D> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)

  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0200 
  bDeviceClass = 0x0000  <Probed by interface class>
  bDeviceSubClass = 0x0000 
  bDeviceProtocol = 0x0000 
  bMaxPacketSize0 = 0x0040 
  idVendor = 0x0411 
  idProduct = 0x025d 
  bcdDevice = 0x0000 
  iManufacturer = 0x0001  <Buffalo>
  iProduct = 0x0002  <WI-U3-866D>
  iSerialNumber = 0x0003  <123456>
  bNumConfigurations = 0x0001 

 Configuration index 0

    bLength = 0x0009 
    bDescriptorType = 0x0002 
    wTotalLength = 0x0035 
    bNumInterfaces = 0x0001 
    bConfigurationValue = 0x0001 
    iConfiguration = 0x0000  <no string>
    bmAttributes = 0x0080 
    bMaxPower = 0x00fa 

    Interface 0
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0000 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0005 
      bInterfaceClass = 0x00ff  <Vendor specific>
      bInterfaceSubClass = 0x00ff 
      bInterfaceProtocol = 0x00ff 
      iInterface = 0x0000  <no string>

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

     Endpoint 1
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0002  <OUT>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

     Endpoint 2
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0003  <OUT>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

     Endpoint 3
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0004  <OUT>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

     Endpoint 4
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0085  <IN>
        bmAttributes = 0x0003  <INTERRUPT>
        wMaxPacketSize = 0x0040 
        bInterval = 0x0001 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 
      
電波試験発射hostapモード。
# ifconfig wlan0 create wlandev rtwn0 wlanmode hostap country JP regdomain ETSI
# ifconfig wlan0 up
# ifconfig wlan0
wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=200001<RXCSUM,RXCSUM_IPV6>
	ether 00:00:00:00:00:00
	groups: wlan
	ssid "" channel 52 (5260 MHz 11a ht/20) bssid 00:00:00:00:00:00
	regdomain ETSI country JP authmode OPEN privacy OFF txpower 24
	mcastrate 6 mgmtrate 6 scanvalid 60 ht20 ampdulimit 64k
	ampdudensity 16 shortgi -stbc -uapsd wme dtimperiod 1 -dfs
	parent interface: rtwn0
	media: IEEE 802.11 Wireless Ethernet autoselect mode 11na <hostap>
	status: running
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
      
電波試験発射クライアントモード。
# ifconfig wlan0 create wlandev rtwn0 country JP regdomain ETSI
# ifconfig wlan0 up
# ifconfig wlan0
wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=200001<RXCSUM,RXCSUM_IPV6>
	ether 00:00:00:00:00:00
	groups: wlan
	ssid "" channel 6 (2437 MHz 11g ht/20)
	regdomain ETSI country JP authmode OPEN privacy OFF txpower 30
	bmiss 7 scanvalid 60 protmode CTS ht20 ampdulimit 8k ampdudensity 16
	shortgi -stbc -uapsd wme
	parent interface: rtwn0
	media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)
	status: no carrier
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
      
hostapモードで調整していたがうまく動いていない。
このドライバはRealTekのライセンスを有効にしないと動作しないと思われるので、その調整を改めてやってみようと思う。
 
2024/01/20 コンピュータや人間といったの生命活動は期待しとくぐらいが丁度いい。
自分の手を使うこと以外はベストエフォート品質で納品されると思っていたほうが気が楽。
最悪、やった結果が方針と合ってればOK
人に頼むとはそういうこと。
安い、早い、旨い(指示通り、期待通り)全てが揃っていることを求める事自体がおこがましい。
 
2024/01/19 インスタントコーヒー3杯分のカフェイン含有量
全日本コーヒー協会のホームページにあるコーヒーの成分(コーヒーの基礎知識)によると、インスタントコーヒー粉末2gあたり約60mgとのこと。
だいたい6g程度を600mlの水に溶かして持っていっているので約180mg相当ということか。
そりゃあエナジードリンクいらんわな。
なお、1日に摂取しても問題ない範囲と言えるのは厚生労働省・食品に含まれるカフェインの過剰摂取についてQ&A ~カフェインの過剰摂取に注意しましょう~によると健康な成人であれば約400mg、女性は約300mg。妊娠した女性であれば約200mgまでが推奨されている。
致死量は5g(5000mg)なので、インスタントコーヒー粉末で言うと約160gを超えた当たりが閾値といったところ。
余程濃い目を作らない限りは水分のとりすぎ水中毒(6000ml〜10000ml)を超えるのが先に来るだろう。
 
2024/01/19 RaspberryPi 3B+のFreeBSD 13.2-RELEASEでntpdがやたら止まるので。
2分に一度ntpdの死活監視をするようにした。
# vi /etc/crontab
*/2	*	*	*	*	root	if [ "$(service ntpd status)" = "ntpd is not running." ]; then service ntpd restart; fi
      
色々方式はあるものの、定期的に発火させられるのは計算機の時計を元に動くcronしかないのでとりあえずそういうのを入れておく。
設定はめんどくさいので/etc/rc.confにて。
 
2024/01/19 なぜ年初の市場アナリストは予想を外すのか
世の中のテクノロジー発展の程度、国家組織の政策がその時流によって変わってしまうから。
なので「このまま行くと」が枕詞にあるのが市場のアナリストの予想。
だから普通外れる。よって反対の戦略を打てば当たる、というわけではない。
しかも方向性が当たってようが外れてようが予想内容が100%的中するアナリストなど極めて稀。
その上、どのような状態でも景気が良くなると予想をするアナリストもいれば景気が悪くなると予想するアナリストもいる。
 
資本主義社会の場合、世の中の生活自勢力への投票者が今よりもより良くなるようにするのがその時の政権の役目である。
ただ、過去に事例がなかったり過去に行った施策は失敗であり新たな手を模索せざる得ない事象は必ず存在する。
直近の話をすれば、2021年12月からコロナウィルスが全世界に蔓延して外出禁止令が出さざる得ない事象を誰が予想ができただろうか。
アナリストの話に戻せば、2021年10月時点で2022年初頭から2022年10月まで下落し続け、その後は回復する予想を立て根拠建てて説明できたアナリストがいたかってことになる。
2023年の大暴落の予想が外れた、途中から持ち直したのは、2022年から2023年の間に支払われたコロナ給付金があってかつ、外出禁止令が解除され、消費者がやっとコロナ給付金を使いだし市中でお金が周りはじめたからだ。
コロナの例は極端だが、これはその国の政策や国家間貿易におけるリスク増など様々な理由が絡むこともある。
 
歴史にifはないし、当時の常識を鑑みる必要がある。
過去の言動と過去のチャートをみて「ほれみろ外れたろこいつは信用ならない」とはならない。
未来は誰にもわからないが未来からはどうでも言えるのだ。だから今の常識で考えてみてトップ銘柄500以上の詰め合わせセットS&P500指数連動型ETFやMSCI オール・カントリー・ワールド・インデックス連動型ETFを選べばあとは身を任せるだけ、とはならない。
なので、長期的に投資するのでしたら価値が落ちるのも織り込み、20年もののパーカンヤン(羊肉五目煮:羊杂:羊の内臓煮込みスープ)を作るつもりで爆発的に増やしていきましょう。
 
 
2024/01/19 株式投機の口座別まとめ
もっと支出減らさないとなあ・・・
ここ数年は収入が増えることは考えにくいし。
口座メモ
No.1 月配当型ETF、積立投資信託、既存の株式保持。
積立投資信託は10,000円を定期的に購入。
10,000円を除くその月の現金を月配当型ETFへ全て投入。
No.2 米国株、米国株ETFの投機用。
NISA(2024)口座を兼ねる。
基本新NISAでは、色々上限はあるものの配当金を受け取る場合において非課税にするには「株式数比例配分方式」を確実に選ぶ必要があるので、積立投信にしないのであればこの選択肢は必須であるといえる。
 
2024/01/19 FreeBSD ddコマンド
たまに使うコマンドなのでメモ。
# dd if=/dev/zero of=/dev/da99 conv=noerror,sync bs=4k count=1
適当に時間があったら追記予定。
コマンドメモ
dd dataset definition。(デバイス含む)ファイルからファイルへバイト単位もしくはブロック単位でコピーするコマンド。
if=/dev/zero 標準入力を使用しない場合、入力に使用するファイルパス。
of=/dev/da99 標準出力を使用しない場合、出力に使用するファイルパス。
conv=noerror,sync カンマで区切って指定する。
noerror : 読み込みエラーが発生しても継続する。
sync : 入力ブロックサイズがibs値(標準的には512 byte)に満たない時、パディングを行う。
bs=4k 入力と出力を4kずつ行う。(byte単位)
入力を変更する時は、ibsを指定する。
出力を変更する時は、obsを指定する。
count=1 入力と出力を1回行う。
 
2024/01/19 グラボの廃棄
不動であったり役目を追えたものだったりしたので。
ELSA GeForce GTX 650Ti
ELSA GeForce GT 730 2GB QD DDR5
玄人志向 AMD Radeon R5 230
ASUS GeForce 8400GS
 
2024/01/19 FreeBSDでRaspberryPiのイメージを書き込んだ後、freebsdユーザーを好きな名前に置き換えたい
いつも検索しているのでメモ。
ユーザー名: freebsd から 好きなユーザー名 へ書き換える。
01. # vi /etc/master.passwd
02. 頭がfreebsd:から始める行を探す。
03. freebsd:を好きなユーザー名に書き換える。
04. /homeディレクトリも変更する必要があれば、同じ行の:/home/freebsd:も書き換える。
05. 保存して閉じる。viなら[ESC]→:wq
06. # pwd_mkdb /etc/master.passwdを実行する。
07. # pwd_mkdb -p /etc/master.passwdを実行する。
08. グループも書き換える。# vi /etc/master.passwd
09. freebsdの文字列を好きなユーザー名に書き換える。
10. 保存して閉じる。viなら[ESC]→:wq
11. 再起動する。

忘れていたが、これをsshd上などで実行し結果間違えていると遠隔ログインできなくなるなどの事象があるため、root権限で実行できる環境下で行うほうが好ましい。
 
2024/01/19 裁縫
ウィンドブレーカーのズボンの紐を入れ替えた。
北海道渡島地方と胆振地方の境目でのある事件がきっかけで急遽地元のイエローグローブで買った防寒具。
その後あまり着る機会もなく捨ててしまおうかと考えていたが、ちょうど冬が到来し暖房も付けたくなかったので家のすぐ外のゴミ出しや家の中で使う分には雑に扱えたのでちょうどよかった。
ただ、紐が全て文字通りの紐でゴム紐ではない部分が欠点であり、ずっと放置したまま時が経過、ついに伸び伸びになってしまった。
このまま引きずると物を引っ掛けたりして危ないので100均でゴム紐を買ってきて入れ替えた。
刺さったトゲと同じで気にしなくて済むようになった。意識しないでいいので楽だ。
 
ハーフパンツ。これもある事件に関わりがある。
その事件では着替えを持っていなかったので急遽知人に送付してもらったもの。
当然自宅を開けられる人間ではなかったのでその人のお金を使用して送ってもらった。
流石に経年劣化で股裂けしていたが適当に縫直した。
しばらくは持ってくれるだろう。
 
2024/01/19 RaspberryPi Zero Wに3x USB Port+USB Ethernet(if_ure)付きケースを取り付けたが・・・
これで"外付けの3x USB Port+USB Ethernet"は別に使えるようになるかなあと思いきやそうも行かなかった。
pingはできるが、sshdをするとkernelごとcoredumpして落っこちる。
仕方がないのでvi /etc/devd/usb_ethernet.confを作る。
詳細は省くがurndisを経由してif_ueで認識するデバイスは全てbridge0に接続してしまう乱暴な措置をUSB Ethernet確認次第に行うもの。
notify 100 {
        match "system" "ETHERNET";
        match "subsystem" "ue[0-9]+";
        match "type" "IFATTACH";
        action "ifconfig bridge0 create; ifconfig bridge0 addm $subsystem; ifconfig $subsystem up";
};
      
さらにvi /etc/rc.confで、bridge0や今回固定接続になったue0の情報も書き込んでおく。
## cloned interface 
##   bridge0 - 10.0.0.0 networks
cloned_interfaces="bridge0"
ifconfig_bridge0="inet 10.100.100.100/8 up"

## if_ue0 interface
##   ue0
ifconfig_ue0="up"
      
ue0はケーブル結線次第とりあえずアクティブ(active)になってくれればそれで良いので特にIPアドレスなどの設定は行わない。
なお、これはスマホのUSBテザリング経由が想定される場合は用途を考えて記述したほうが良い。
また、他NW機器との接続の仕方によってはブロードキャストストームになりうるのでよく検討の上、イーサネットケーブルの結線をしたほうが良い。[3敗]
 
2024/01/18 早いうちから磨いておくべきことだったと思う素質
・文章を記述どおりに正しく読み取る
「1g=1円のパン」とは「1円のパン」を販売しているわけではない。
・後々まで使える力を得る方法とその実行力
お金の有効な使い方や時間を使って何をやっておくべきか。20年先まで使える技術とは何だろう?
・整理整頓清潔を維持する
別にぐちゃぐちゃでも良いのだが、結果として放置され使われない物たちにとっては不幸だ。
・速く走るより疲れない程度に長く走る
別名コツコツとやる習慣。苦しいときほどペースを守る。
 
2024/01/15 株式投"機"を始める
今後、面倒な時代になりそうだけど金融リテラシーとある程度の緊張感を保ちたいので始めることにした。
ちなみに投資は債券から株式まで別途行っている。
 
2024/01/15 最近アニメ声が聴くに堪えられない
昔はあまり気にしたことがなかった。
思えばだいたい同じような声質が揃い始めた2017年頃からアニメから遠ざかっていた。
色々な質の声色があった一昔前のアニメを思い出して見ることはあっても、好んで見ることは難しいかもしれない。
真面目な話、最近みたのガルパン。あれだけは見れた。それが最後になった。
 
2024/01/15 時計のアナログとデジタルの違い
誰かに聴かれたので。
切り分けに必要な情報としては最低限時計として動作に必要な機能じゃないかな。
デジタルは発振器(*1)から時刻表示までデジタル一本だけど、アナログは発振器はあれど少なくともその後の挙動はアナログ。
発振器の最古は振り子なので振り子であれば完全なアナログと言える。機械式(ねじ巻き式)も完全なアナログと言える。水晶(クリスタル)やルビジウムやセシウムなどの発振器は周期的な信号を出すまではアナログと言えなくもない。どんな発振器にしてもクセはあるのですべてが同一の発振をするわけではないが気にする必要はない程度だ。
砂時計にしても砂粒がほとんど同じであり、容器と容器を行き来する穴は一定の広さである。とはいえ、その時の湿度や温度によっては多少なり差は出る。
日時計に至っては、日の出と日の入の間となる日中が時を刻むが年中ひたすらずれている。
こうした時を刻むクセの傾向とその値のばらつきを離散というらしいが、周期といいつつも離散する値がでると言う時点でアナログ。
JJYの電波なりGPS/GLONASS/Galileo/北斗/QZSSなどの全地球航法衛星システム(Global Navigation Satellite System)を利用した時刻補正なりは、たとえどんなに正確であろうとも受信側時計の発振動作に対して補正するぐらいの役割しか無い。(*2)
ディジタルはアナログ上の2値で成り立つので説明の仕方でいくらでも転がったりする。
あまり深く考えないほうが良いと思う、これまで通り、文字盤の見た目で良いのではないだろうか。
 
*1:発振器はクロックという言葉で表されることもある。電気を流すと周期的に振動する原理を利用して振り子の代わりとしているのでこの挙動だけでいえばアナログといえる。
*2:これそのものも送信側の発振器が受信側の発振器より正確なだけ。
*3:周期的と定期的という言葉は両方とも同じ事象が繰り返される事を示す。厳密に言えば周期的は時間的間隔が必ず同じだが、定期的はそのタイミングで行えばある程度時間的間隔はあまり重視されない。例をあげるなら、燃えるゴミを出す日の決定規則が前回から30日後である周期的月の1日目である定期的かぐらいの差。前回から30日後だと年によっては月に2回あったり1度もなかったりする月があるが、月の1日目であれば毎月必ず1日目は燃えるゴミを出せる。なお、太陽暦における週を例にすると月のように日数が増えたり減ったりしないので例に当てはまらないことに注意(厳密には当てはまるが、変動がうるう秒だけなので極めて長い時間が経過しないとズレない)。
 
2024/01/14 本日の処分
La Fonera 2.0 未開封品。10年間放置して一度も触らなかった。
Planex社中国製WiFi b/gアンテナ。完全にコレクション状態でした。
DDR2メモリ4G 6枚、DDR2メモリ2G 6枚、DDR3メモリ4G。その他DDR1G、DDR2 512Mなど。DDR2メモリ4G以外は大した価値がないかと。
ANS-9010B。メモリコントローラが壊れてしまったのでジャンクとして。
 
2024/01/14 Buffalo WLI-UC-G301N
こいつ、動くぞ。

FreeBSD 13.2-RELEASEではif_run(freebsd.org man)として認識する。
/var/log/messagesでのメッセージ状況。
# cat /var/log/messages
Jan 14 22:40:36 fbsd-x86_64 kernel: ugen3.3: <Ralink 802.11 n WLAN> at usbus3
Jan 14 22:40:36 fbsd-x86_64 kernel: run0 on uhub4
Jan 14 22:40:36 fbsd-x86_64 kernel: run0: <1.0> on usbus3
Jan 14 22:40:36 fbsd-x86_64 kernel: run0: MAC/BBP RT3071 (rev 0x021C), RF RT3022 (MIMO 2T2R), address 00:00:00:00:00:00
Jan 14 22:40:36 fbsd-x86_64 kernel: run0: [HT] Enabling 802.11n
      
usbconfigコマンド。
# usbconfig -u 3 -a 3 dump_all_desc
ugen3.3: <Ralink 802.11 n WLAN> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (450mA)

  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0200 
  bDeviceClass = 0x0000  <Probed by interface class>
  bDeviceSubClass = 0x0000 
  bDeviceProtocol = 0x0000 
  bMaxPacketSize0 = 0x0040 
  idVendor = 0x0411 
  idProduct = 0x016f 
  bcdDevice = 0x0101 
  iManufacturer = 0x0001  <Ralink>
  iProduct = 0x0002  <802.11 n WLAN>
  iSerialNumber = 0x0003  <1.0>
  bNumConfigurations = 0x0001 

 Configuration index 0

    bLength = 0x0009 
    bDescriptorType = 0x0002 
    wTotalLength = 0x0043 
    bNumInterfaces = 0x0001 
    bConfigurationValue = 0x0001 
    iConfiguration = 0x0000  <no string>
    bmAttributes = 0x0080 
    bMaxPower = 0x00e1 

    Interface 0
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0000 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0007 
      bInterfaceClass = 0x00ff  <Vendor specific>
      bInterfaceSubClass = 0x00ff 
      bInterfaceProtocol = 0x00ff 
      iInterface = 0x0005  <1.0>

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

     Endpoint 1
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0001  <OUT>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

     Endpoint 2
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0002  <OUT>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

     Endpoint 3
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0003  <OUT>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

     Endpoint 4
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0004  <OUT>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

     Endpoint 5
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0005  <OUT>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

     Endpoint 6
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0006  <OUT>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 
      
FreeBSDでは、WiFiドライバ自体がLinuxKPIを使用する方式に移る動きにあり、新型のwifiドングルなどはwifiboxなどでAlpine Linuxを通す傾向にあるがこれらのテクノロジーについては今のところ様子見。
というのはhostap機能が使いたいのでFreeBSDネイティブで動くUSBドングルはWIFI6モデルでなかったとしても貴重。リサイクルショップなどを周る価値がある。
多少無駄になりそうでもホストAPになれるusb-wifiドングルは割と数を集めておきたい所・・・
以下は電波の試験発射。
# ifconfig wlan0 create wlandev run0 wlanmode hostap country JP regdomain ETSI
# ifconfig wlan0
wlan0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
	ether 00:00:00:00:00:00
	groups: wlan
	ssid "" channel 1 (2412 MHz 11b)
	regdomain ETSI country JP authmode OPEN privacy OFF txpower 30
	scanvalid 60 wme dtimperiod 1 -dfs bintval 0
	parent interface: run0
	media: IEEE 802.11 Wireless Ethernet autoselect <hostap> (autoselect <hostap>)
	status: no carrier
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
      
通常のクライアントモード。
wpa_supplicantコマンドとかwpa_supplicant.confで設定編集する必要がある。
# ifconfig wlan0 create wlandev run0 country JP regdomain ETSI
# ifconfig wlan0
wlan0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
	ether 00:00:00:00:00:00
	groups: wlan
	ssid "" channel 1 (2412 MHz 11b)
	regdomain ETSI country JP authmode OPEN privacy OFF txpower 30
	bmiss 7 scanvalid 60 wme bintval 0
	parent interface: run0
	media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)
	status: no carrier
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
      
どうせなら1個じゃなくて2個欲しかったなあ・・・ハードオフ巡りはこれからも続く。
Buffalo WLI-UC-G301Nのメーカーサイト。
 
2024/01/14 COREGA CG-WLUSB2GP
「ニンテンドーDS・PSPでネット対戦をしよう!!」

ハードオフで買ってきたもの。時代を感じる。
FreeBSD 13.2-RELEASEではif_rum(freebsd.org man)として認識する。
無線LANもといWiFiが家庭に入り込み始めたIEEE802.11 b/g世代なので速度は54Mbpsで頭打ち。
安定してそうな分速度は控えめ。使いどころがむずかしい。
とりあえず/var/log/messages
# cat /var/log/messages
Jan 14 23:15:10 fbsd-x86_64 kernel: ugen3.3: <vendor 0x07aa product 0x002e> at usbus3
Jan 14 23:15:10 fbsd-x86_64 kernel: rum0 on uhub4
Jan 14 23:15:10 fbsd-x86_64 kernel: rum0: <vendor 0x07aa product 0x002e, class 0/0, rev 2.00/0.01, addr 2> on usbus3
Jan 14 23:15:10 fbsd-x86_64 kernel: rum0: MAC/BBP RT2573 (rev 0x2573a), RF RT2528
      
続けてusbconfig
# usbconfig -u 3 -a 3 dump_all_desc
ugen3.3: <vendor 0x07aa product 0x002e> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (300mA)

  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0200 
  bDeviceClass = 0x0000  <Probed by interface class>
  bDeviceSubClass = 0x0000 
  bDeviceProtocol = 0x0000 
  bMaxPacketSize0 = 0x0040 
  idVendor = 0x07aa 
  idProduct = 0x002e 
  bcdDevice = 0x0001 
  iManufacturer = 0x0001  <retrieving string failed>
  iProduct = 0x0002  <retrieving string failed>
  iSerialNumber = 0x0000  <no string>
  bNumConfigurations = 0x0001 

 Configuration index 0

    bLength = 0x0009 
    bDescriptorType = 0x0002 
    wTotalLength = 0x0020 
    bNumInterfaces = 0x0001 
    bConfigurationValue = 0x0001 
    iConfiguration = 0x0000  <no string>
    bmAttributes = 0x0080 
    bMaxPower = 0x0096 

    Interface 0
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0000 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0002 
      bInterfaceClass = 0x00ff  <Vendor specific>
      bInterfaceSubClass = 0x00ff 
      bInterfaceProtocol = 0x00ff 
      iInterface = 0x0000  <no string>

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

     Endpoint 1
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0001  <OUT>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 
      
とりあえず、RaspberryPi Zero Wにでも挿しておくか。
あまりにも古すぎるためかメーカーサイトにはなかった。
 
2024/01/14 ELECOM WDC-300SU2S
昔からBroadCom系とRealTek系は鬼門。

しばらく前にハードオフで買ったものらしい。だいぶ倉庫の奥深く眠っていたもの。
RTL8192CUっぽいのでFreeBSDならrtwnで認識しそうな気配があったが使えなかった。
/var/log/messagesusbconfigを残しておく。
# cat /var/log/messages
Jan 14 23:02:33 fbsd-x86_64 kernel: ugen3.3: <ELECOM WDC-300SU2S> at usbus3
      
# usbconfig -u 3 -a 3 dump_all_desc
ugen3.3: <ELECOM WDC-300SU2S> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)

  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0200 
  bDeviceClass = 0x0000  <Probed by interface class>
  bDeviceSubClass = 0x0000 
  bDeviceProtocol = 0x0000 
  bMaxPacketSize0 = 0x0040 
  idVendor = 0x056e 
  idProduct = 0x4009 
  bcdDevice = 0x0200 
  iManufacturer = 0x0001  <ELECOM>
  iProduct = 0x0002  <WDC-300SU2S>
  iSerialNumber = 0x0003  <xxxxxxxxxxxx>
  bNumConfigurations = 0x0001 

 Configuration index 0

    bLength = 0x0009 
    bDescriptorType = 0x0002 
    wTotalLength = 0x002e 
    bNumInterfaces = 0x0001 
    bConfigurationValue = 0x0001 
    iConfiguration = 0x0000  <no string>
    bmAttributes = 0x00a0 
    bMaxPower = 0x00fa 

    Interface 0
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0000 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0004 
      bInterfaceClass = 0x00ff  <Vendor specific>
      bInterfaceSubClass = 0x00ff 
      bInterfaceProtocol = 0x00ff 
      iInterface = 0x0000  <no string>

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

     Endpoint 1
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0002  <OUT>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

     Endpoint 2
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0003  <OUT>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

     Endpoint 3
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0084  <IN>
        bmAttributes = 0x0003  <INTERRUPT>
        wMaxPacketSize = 0x0040 
        bInterval = 0x0001 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 
      
ELECOM WDC-300SU2Sのメーカーサイト。
 
2024/01/14 NEC Aterm WL54TU
ドライバはあるように見えて使用不可。

結構FreeBSDネイティブで動くUSBドングルは転がってないものだなあ、と。
usbdevsの登録はあるので何物かはVender IDやProduct IDを通してわかるがその程度。
で、なぜBuffalo WLI-UC-G301Nの箱が写っている写真なのかと言うと、元々そのつもりで買ったのだが内容物が全く異なるものだったということ。ハードオフはこれがあるから困ったものだ面白い
これはuath0 (より具体的にはAtheros AR5005UXらしい)で認識する気配はあるものの、uathloadコマンドを使用しても立ち上がらない。
# cat /var/log/messages
Jan 14 22:46:44 fbsd-x86_64 kernel: ugen3.3: <NEC AccessTechnica,Ltd. AtermWL54TU> at usbus3
	  
そもそもUSBコネクタのダメージがひどすぎる。一応usbconfig -u 3 -a 3 dump_all_descしておく。
# usbconfig -u 3 -a 3 dump_all_desc
ugen3.3: <NEC AccessTechnica,Ltd. AtermWL54TU> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)

  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0200 
  bDeviceClass = 0x00ff  <Vendor specific>
  bDeviceSubClass = 0x0000 
  bDeviceProtocol = 0x0000 
  bMaxPacketSize0 = 0x0040 
  idVendor = 0x0409 
  idProduct = 0x0159 
  bcdDevice = 0x0001 
  iManufacturer = 0x0001  <NEC AccessTechnica,Ltd.>
  iProduct = 0x0002  <AtermWL54TU>
  iSerialNumber = 0x0003  <1.0>
  bNumConfigurations = 0x0001 

 Configuration index 0

    bLength = 0x0009 
    bDescriptorType = 0x0002 
    wTotalLength = 0x002e 
    bNumInterfaces = 0x0001 
    bConfigurationValue = 0x0001 
    iConfiguration = 0x0000  <no string>
    bmAttributes = 0x0080 
    bMaxPower = 0x00fa 

    Interface 0
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0000 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0004 
      bInterfaceClass = 0x00ff  <Vendor specific>
      bInterfaceSubClass = 0x0000 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0000  <no string>

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

     Endpoint 1
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0001  <OUT>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

     Endpoint 2
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0082  <IN>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

     Endpoint 3
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0002  <OUT>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 
      
AtermWL54TUのメーカーサイト。
 
2024/01/14 Huawei製のウェブカメラと思わしきUVC
ハードオフでDDR2メモリを大量売却してきたついでにUVCが欲しかったので買ってきた。
FreeBSD 13.2-RELEASEに挿してみるとなんだかすごく怪しい挙動するのですが、使って大丈夫な代物?
ちなみにUSB給電用ACアダプターに挿してもLEDインジケーターが同様の挙動っぽく。
# cat /var/log/message
Jan 14 21:38:36 fbsd-x86_64 kernel: ugen3.3: <Huawei HiEthernet> at usbus3
Jan 14 21:38:36 fbsd-x86_64 kernel: urndis0 on uhub4
Jan 14 21:38:36 fbsd-x86_64 kernel: urndis0: <RNDIS Communications Control> on usbus3
Jan 14 21:38:36 fbsd-x86_64 kernel: ue0: <USB Ethernet> on urndis0
Jan 14 21:38:36 fbsd-x86_64 kernel: ue0: Ethernet address: 00:00:00:00:00:00
Jan 14 21:38:40 fbsd-x86_64 kernel: ugen3.3: <Huawei HiEthernet> at usbus3 (disconnected)
Jan 14 21:38:40 fbsd-x86_64 kernel: urndis0: at uhub4, port 1, addr 2 (disconnected)
Jan 14 21:38:40 fbsd-x86_64 kernel: urndis0: detached
Jan 14 21:38:41 fbsd-x86_64 kernel: ugen3.3: <Ruision UVC Camera> at usbus3
Jan 14 21:38:41 fbsd-x86_64 kernel: uaudio0 on uhub4
Jan 14 21:38:41 fbsd-x86_64 kernel: uaudio0: <AC Interface> on usbus3
Jan 14 21:38:41 fbsd-x86_64 kernel: uaudio0: No playback.
Jan 14 21:38:41 fbsd-x86_64 kernel: uaudio0: Record[0]: 16000 Hz, 1 ch, 16-bit S-LE PCM format, 2x8ms buffer.
Jan 14 21:38:41 fbsd-x86_64 kernel: uaudio0: No MIDI sequencer.
Jan 14 21:38:41 fbsd-x86_64 kernel: pcm9: <USB audio> on uaudio0
Jan 14 21:38:41 fbsd-x86_64 kernel: uaudio0: No HID volume keys found.
      
 
一応、usbconfig dump_all_descは押さえておく。
このデバイス、何のシールも貼ってないし検索しても何もでてこない・・・何物なんだ?
# usbconfig -u 3 -a 3 dump_all_desc
ugen3.3: <Huawei HiEthernet> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (2mA)

  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0210 
  bDeviceClass = 0x00ef  <Miscellaneous device>
  bDeviceSubClass = 0x0002 
  bDeviceProtocol = 0x0001 
  bMaxPacketSize0 = 0x0040 
  idVendor = 0x0525 
  idProduct = 0xa4a2 
  bcdDevice = 0x3000 
  iManufacturer = 0x0001  <Huawei>
  iProduct = 0x0002  <HiEthernet>
  iSerialNumber = 0x0003  <1234567891>
  bNumConfigurations = 0x0002 

 Configuration index 0

    bLength = 0x0009 
    bDescriptorType = 0x0002 
    wTotalLength = 0x004b 
    bNumInterfaces = 0x0002 
    bConfigurationValue = 0x0002 
    iConfiguration = 0x000a  <RNDIS>
    bmAttributes = 0x00c0 
    bMaxPower = 0x0001 

    Additional Descriptor

    bLength = 0x08
    bDescriptorType = 0x0b
    bDescriptorSubType = 0x00
     RAW dump: 
     0x00 | 0x08, 0x0b, 0x00, 0x02, 0x02, 0x06, 0x00, 0x0d


    Interface 0
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0000 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0001 
      bInterfaceClass = 0x0002  <Communication device>
      bInterfaceSubClass = 0x0002 
      bInterfaceProtocol = 0x00ff 
      iInterface = 0x000b  <RNDIS Communications Control>

      Additional Descriptor

      bLength = 0x05
      bDescriptorType = 0x24
      bDescriptorSubType = 0x00
       RAW dump: 
       0x00 | 0x05, 0x24, 0x00, 0x10, 0x01


      Additional Descriptor

      bLength = 0x05
      bDescriptorType = 0x24
      bDescriptorSubType = 0x01
       RAW dump: 
       0x00 | 0x05, 0x24, 0x01, 0x00, 0x01


      Additional Descriptor

      bLength = 0x04
      bDescriptorType = 0x24
      bDescriptorSubType = 0x02
       RAW dump: 
       0x00 | 0x04, 0x24, 0x02, 0x00


      Additional Descriptor

      bLength = 0x05
      bDescriptorType = 0x24
      bDescriptorSubType = 0x06
       RAW dump: 
       0x00 | 0x05, 0x24, 0x06, 0x00, 0x01


     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0083  <IN>
        bmAttributes = 0x0003  <INTERRUPT>
        wMaxPacketSize = 0x0008 
        bInterval = 0x0009 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 


    Interface 1
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0001 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0002 
      bInterfaceClass = 0x000a  <CDC-data>
      bInterfaceSubClass = 0x0000 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x000c  <RNDIS Ethernet Data>

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

     Endpoint 1
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0001  <OUT>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 



 Configuration index 1

    bLength = 0x0009 
    bDescriptorType = 0x0002 
    wTotalLength = 0x0058 
    bNumInterfaces = 0x0002 
    bConfigurationValue = 0x0001 
    iConfiguration = 0x0004  <CDC>
    bmAttributes = 0x00c0 
    bMaxPower = 0x0001 

    Additional Descriptor

    bLength = 0x08
    bDescriptorType = 0x0b
    bDescriptorSubType = 0x00
     RAW dump: 
     0x00 | 0x08, 0x0b, 0x00, 0x02, 0x02, 0x06, 0x00, 0x08


    Interface 0
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0000 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0001 
      bInterfaceClass = 0x0002  <Communication device>
      bInterfaceSubClass = 0x0006 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0005  <CDC Ethernet Control Model (ECM)>

      Additional Descriptor

      bLength = 0x05
      bDescriptorType = 0x24
      bDescriptorSubType = 0x00
       RAW dump: 
       0x00 | 0x05, 0x24, 0x00, 0x10, 0x01


      Additional Descriptor

      bLength = 0x05
      bDescriptorType = 0x24
      bDescriptorSubType = 0x06
       RAW dump: 
       0x00 | 0x05, 0x24, 0x06, 0x00, 0x01


      Additional Descriptor

      bLength = 0x0d
      bDescriptorType = 0x24
      bDescriptorSubType = 0x0f
       RAW dump: 
       0x00 | 0x0d, 0x24, 0x0f, 0x06, 0x00, 0x00, 0x00, 0x00, 
       0x08 | 0xea, 0x05, 0x00, 0x00, 0x00


     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0083  <IN>
        bmAttributes = 0x0003  <INTERRUPT>
        wMaxPacketSize = 0x0010 
        bInterval = 0x0009 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 


    Interface 1
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0001 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0000 
      bInterfaceClass = 0x000a  <CDC-data>
      bInterfaceSubClass = 0x0000 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0000  <no string>


    Interface 1 Alt 1
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0001 
      bAlternateSetting = 0x0001 
      bNumEndpoints = 0x0002 
      bInterfaceClass = 0x000a  <CDC-data>
      bInterfaceSubClass = 0x0000 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0007  <CDC Ethernet Data>

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

     Endpoint 1
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0001  <OUT>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 
      
 
当初、上記のものが認識されるのだが、所定の時間がすぎると以下のようにUVCになってしまう。
# usbconfig -u 3 -a 3 dump_all_desc
ugen3.3: <Ruision UVC Camera> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (2mA)

  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0210 
  bDeviceClass = 0x00ef  <Miscellaneous device>
  bDeviceSubClass = 0x0002 
  bDeviceProtocol = 0x0001 
  bMaxPacketSize0 = 0x0040 
  idVendor = 0x12d1 
  idProduct = 0x4321 
  bcdDevice = 0x0409 
  iManufacturer = 0x0001  <Ruision>
  iProduct = 0x0002  <UVC Camera>
  iSerialNumber = 0x0003  <20200416>
  bNumConfigurations = 0x0001 

 Configuration index 0

    bLength = 0x0009 
    bDescriptorType = 0x0002 
    wTotalLength = 0x02ae 
    bNumInterfaces = 0x0004 
    bConfigurationValue = 0x0001 
    iConfiguration = 0x0004  <Config 1>
    bmAttributes = 0x00c0 
    bMaxPower = 0x0001 

    Additional Descriptor

    bLength = 0x08
    bDescriptorType = 0x0b
    bDescriptorSubType = 0x00
     RAW dump: 
     0x00 | 0x08, 0x0b, 0x00, 0x02, 0x0e, 0x03, 0x00, 0x05


    Interface 0
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0000 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0001 
      bInterfaceClass = 0x000e  <Video device>
      bInterfaceSubClass = 0x0001 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0005  <UVC Camera>

      Additional Descriptor

      bLength = 0x0d
      bDescriptorType = 0x24
      bDescriptorSubType = 0x01
       RAW dump: 
       0x00 | 0x0d, 0x24, 0x01, 0x10, 0x01, 0x6a, 0x00, 0x00, 
       0x08 | 0x6c, 0xdc, 0x02, 0x01, 0x01


      Additional Descriptor

      bLength = 0x12
      bDescriptorType = 0x24
      bDescriptorSubType = 0x02
       RAW dump: 
       0x00 | 0x12, 0x24, 0x02, 0x01, 0x01, 0x02, 0x00, 0x00, 
       0x08 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 
       0x10 | 0x00, 0x00


      Additional Descriptor

      bLength = 0x0c
      bDescriptorType = 0x24
      bDescriptorSubType = 0x05
       RAW dump: 
       0x00 | 0x0c, 0x24, 0x05, 0x02, 0x01, 0x00, 0x40, 0x02, 
       0x08 | 0xdf, 0x14, 0x00, 0x09


      Additional Descriptor

      bLength = 0x1b
      bDescriptorType = 0x24
      bDescriptorSubType = 0x06
       RAW dump: 
       0x00 | 0x1b, 0x24, 0x06, 0x0a, 0x41, 0x76, 0x9e, 0xa2, 
       0x08 | 0x04, 0xde, 0xe3, 0x47, 0x8b, 0x2b, 0xf4, 0x34, 
       0x10 | 0x1a, 0xff, 0x00, 0x3b, 0x0f, 0x01, 0x02, 0x02, 
       0x18 | 0x01, 0x00, 0x00


      Additional Descriptor

      bLength = 0x1b
      bDescriptorType = 0x24
      bDescriptorSubType = 0x06
       RAW dump: 
       0x00 | 0x1b, 0x24, 0x06, 0x11, 0x91, 0x72, 0x1e, 0x9a, 
       0x08 | 0x43, 0x68, 0x83, 0x46, 0x6d, 0x92, 0x39, 0xbc, 
       0x10 | 0x79, 0x06, 0xee, 0x49, 0x0f, 0x01, 0x0a, 0x02, 
       0x18 | 0xff, 0xff, 0x00


      Additional Descriptor

      bLength = 0x09
      bDescriptorType = 0x24
      bDescriptorSubType = 0x03
       RAW dump: 
       0x00 | 0x09, 0x24, 0x03, 0x03, 0x01, 0x01, 0x00, 0x11, 
       0x08 | 0x00

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0083  <IN>
        bmAttributes = 0x0003  <INTERRUPT>
        wMaxPacketSize = 0x0010 
        bInterval = 0x0008 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

      Additional Descriptor

      bLength = 0x05
      bDescriptorType = 0x25
      bDescriptorSubType = 0x03
       RAW dump: 
       0x00 | 0x05, 0x25, 0x03, 0x10, 0x00



    Interface 1
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0001 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0000 
      bInterfaceClass = 0x000e  <Video device>
      bInterfaceSubClass = 0x0002 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0006  <Video Streaming>

      Additional Descriptor

      bLength = 0x10
      bDescriptorType = 0x24
      bDescriptorSubType = 0x01
       RAW dump: 
       0x00 | 0x10, 0x24, 0x01, 0x03, 0xa2, 0x01, 0x81, 0x00, 
       0x08 | 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00


      Additional Descriptor

      bLength = 0x0b
      bDescriptorType = 0x24
      bDescriptorSubType = 0x06
       RAW dump: 
       0x00 | 0x0b, 0x24, 0x06, 0x01, 0x04, 0x00, 0x01, 0x00, 
       0x08 | 0x00, 0x00, 0x00


      Additional Descriptor

      bLength = 0x1e
      bDescriptorType = 0x24
      bDescriptorSubType = 0x07
       RAW dump: 
       0x00 | 0x1e, 0x24, 0x07, 0x01, 0x00, 0x80, 0x07, 0x38, 
       0x08 | 0x04, 0x00, 0x00, 0x71, 0x02, 0x00, 0x00, 0x71, 
       0x10 | 0x02, 0x00, 0x48, 0x3f, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x01, 0x15, 0x16, 0x05, 0x00


      Additional Descriptor

      bLength = 0x1e
      bDescriptorType = 0x24
      bDescriptorSubType = 0x07
       RAW dump: 
       0x00 | 0x1e, 0x24, 0x07, 0x02, 0x00, 0x00, 0x05, 0xd0, 
       0x08 | 0x02, 0x00, 0x80, 0x38, 0x01, 0x00, 0x80, 0x38, 
       0x10 | 0x01, 0x00, 0x20, 0x1c, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x01, 0x15, 0x16, 0x05, 0x00


      Additional Descriptor

      bLength = 0x1e
      bDescriptorType = 0x24
      bDescriptorSubType = 0x07
       RAW dump: 
       0x00 | 0x1e, 0x24, 0x07, 0x03, 0x00, 0x80, 0x02, 0xe0, 
       0x08 | 0x01, 0x00, 0x40, 0x9c, 0x00, 0x00, 0x40, 0x9c, 
       0x10 | 0x00, 0x00, 0x60, 0x09, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x01, 0x15, 0x16, 0x05, 0x00


      Additional Descriptor

      bLength = 0x1e
      bDescriptorType = 0x24
      bDescriptorSubType = 0x07
       RAW dump: 
       0x00 | 0x1e, 0x24, 0x07, 0x04, 0x00, 0x80, 0x02, 0x68, 
       0x08 | 0x01, 0x00, 0x40, 0x9c, 0x00, 0x00, 0x40, 0x9c, 
       0x10 | 0x00, 0x00, 0x08, 0x07, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x01, 0x15, 0x16, 0x05, 0x00


      Additional Descriptor

      bLength = 0x1b
      bDescriptorType = 0x24
      bDescriptorSubType = 0x04
       RAW dump: 
       0x00 | 0x1b, 0x24, 0x04, 0x02, 0x03, 0x59, 0x55, 0x59, 
       0x08 | 0x32, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 
       0x10 | 0xaa, 0x00, 0x38, 0x9b, 0x71, 0x10, 0x01, 0x00, 
       0x18 | 0x00, 0x00, 0x00


      Additional Descriptor

      bLength = 0x1e
      bDescriptorType = 0x24
      bDescriptorSubType = 0x05
       RAW dump: 
       0x00 | 0x1e, 0x24, 0x05, 0x01, 0x00, 0x00, 0x05, 0xd0, 
       0x08 | 0x02, 0x00, 0x00, 0xc2, 0x01, 0x00, 0x00, 0xc2, 
       0x10 | 0x01, 0x00, 0x20, 0x1c, 0x00, 0x40, 0x42, 0x0f, 
       0x18 | 0x00, 0x01, 0x40, 0x42, 0x0f, 0x00


      Additional Descriptor

      bLength = 0x1e
      bDescriptorType = 0x24
      bDescriptorSubType = 0x05
       RAW dump: 
       0x00 | 0x1e, 0x24, 0x05, 0x02, 0x00, 0x80, 0x02, 0xe0, 
       0x08 | 0x01, 0x00, 0xc0, 0x4b, 0x03, 0x00, 0xc0, 0x4b, 
       0x10 | 0x03, 0x00, 0x60, 0x09, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x01, 0x15, 0x16, 0x05, 0x00


      Additional Descriptor

      bLength = 0x1e
      bDescriptorType = 0x24
      bDescriptorSubType = 0x05
       RAW dump: 
       0x00 | 0x1e, 0x24, 0x05, 0x03, 0x00, 0x80, 0x02, 0x68, 
       0x08 | 0x01, 0x00, 0xc0, 0x4b, 0x03, 0x00, 0xc0, 0x4b, 
       0x10 | 0x03, 0x00, 0x08, 0x07, 0x00, 0x15, 0x16, 0x05, 
       0x18 | 0x00, 0x01, 0x15, 0x16, 0x05, 0x00


      Additional Descriptor

      bLength = 0x1c
      bDescriptorType = 0x24
      bDescriptorSubType = 0x10
       RAW dump: 
       0x00 | 0x1c, 0x24, 0x10, 0x03, 0x04, 0x48, 0x32, 0x36, 
       0x08 | 0x34, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 
       0x10 | 0xaa, 0x00, 0x38, 0x9b, 0x71, 0x10, 0x01, 0x00, 
       0x18 | 0x00, 0x00, 0x00, 0x01


      Additional Descriptor

      bLength = 0x1e
      bDescriptorType = 0x24
      bDescriptorSubType = 0x11
       RAW dump: 
       0x00 | 0x1e, 0x24, 0x11, 0x01, 0x00, 0x80, 0x07, 0x38, 
       0x08 | 0x04, 0x00, 0x60, 0xea, 0x00, 0x00, 0x60, 0xea, 
       0x10 | 0x00, 0x15, 0x16, 0x05, 0x00, 0x01, 0x00, 0x00, 
       0x18 | 0x00, 0x00, 0x15, 0x16, 0x05, 0x00


      Additional Descriptor

      bLength = 0x1e
      bDescriptorType = 0x24
      bDescriptorSubType = 0x11
       RAW dump: 
       0x00 | 0x1e, 0x24, 0x11, 0x02, 0x00, 0x00, 0x05, 0xd0, 
       0x08 | 0x02, 0x00, 0x40, 0x9c, 0x00, 0x00, 0x40, 0x9c, 
       0x10 | 0x00, 0x15, 0x16, 0x05, 0x00, 0x01, 0x00, 0x00, 
       0x18 | 0x00, 0x00, 0x15, 0x16, 0x05, 0x00


      Additional Descriptor

      bLength = 0x1e
      bDescriptorType = 0x24
      bDescriptorSubType = 0x11
       RAW dump: 
       0x00 | 0x1e, 0x24, 0x11, 0x03, 0x00, 0x80, 0x02, 0xe0, 
       0x08 | 0x01, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00, 0x7d, 
       0x10 | 0x00, 0x15, 0x16, 0x05, 0x00, 0x01, 0x00, 0x00, 
       0x18 | 0x00, 0x00, 0x15, 0x16, 0x05, 0x00


      Additional Descriptor

      bLength = 0x1e
      bDescriptorType = 0x24
      bDescriptorSubType = 0x11
       RAW dump: 
       0x00 | 0x1e, 0x24, 0x11, 0x04, 0x00, 0x80, 0x02, 0x68, 
       0x08 | 0x01, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00, 0x7d, 
       0x10 | 0x00, 0x15, 0x16, 0x05, 0x00, 0x01, 0x00, 0x00, 
       0x18 | 0x00, 0x00, 0x15, 0x16, 0x05, 0x00


      Additional Descriptor

      bLength = 0x06
      bDescriptorType = 0x24
      bDescriptorSubType = 0x0d
       RAW dump: 
       0x00 | 0x06, 0x24, 0x0d, 0x01, 0x01, 0x04



    Interface 1 Alt 1
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0001 
      bAlternateSetting = 0x0001 
      bNumEndpoints = 0x0001 
      bInterfaceClass = 0x000e  <Video device>
      bInterfaceSubClass = 0x0002 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0006  <Video Streaming>

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
        wMaxPacketSize = 0x1400 
        bInterval = 0x0001 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

      Additional Descriptor

      bLength = 0x08
      bDescriptorType = 0x0b
      bDescriptorSubType = 0x02
       RAW dump: 
       0x00 | 0x08, 0x0b, 0x02, 0x02, 0x01, 0x00, 0x00, 0x08



    Interface 2
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0002 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0000 
      bInterfaceClass = 0x0001  <Audio device>
      bInterfaceSubClass = 0x0001 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0008  <AC Interface>

      Additional Descriptor

      bLength = 0x09
      bDescriptorType = 0x24
      bDescriptorSubType = 0x01
       RAW dump: 
       0x00 | 0x09, 0x24, 0x01, 0x00, 0x01, 0x1e, 0x00, 0x01, 
       0x08 | 0x03

      Additional Descriptor

      bLength = 0x0c
      bDescriptorType = 0x24
      bDescriptorSubType = 0x02
       RAW dump: 
       0x00 | 0x0c, 0x24, 0x02, 0x03, 0x01, 0x02, 0x00, 0x01, 
       0x08 | 0x01, 0x00, 0x0d, 0x0c


      Additional Descriptor

      bLength = 0x09
      bDescriptorType = 0x24
      bDescriptorSubType = 0x03
       RAW dump: 
       0x00 | 0x09, 0x24, 0x03, 0x04, 0x01, 0x01, 0x00, 0x03, 
       0x08 | 0x0e


    Interface 3
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0003 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0000 
      bInterfaceClass = 0x0001  <Audio device>
      bInterfaceSubClass = 0x0002 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0011  <Capture Inactive>


    Interface 3 Alt 1
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0003 
      bAlternateSetting = 0x0001 
      bNumEndpoints = 0x0001 
      bInterfaceClass = 0x0001  <Audio device>
      bInterfaceSubClass = 0x0002 
      bInterfaceProtocol = 0x0000 
      iInterface = 0x0012  <Capture Active>

      Additional Descriptor

      bLength = 0x07
      bDescriptorType = 0x24
      bDescriptorSubType = 0x01
       RAW dump: 
       0x00 | 0x07, 0x24, 0x01, 0x04, 0x01, 0x01, 0x00


      Additional Descriptor

      bLength = 0x0b
      bDescriptorType = 0x24
      bDescriptorSubType = 0x02
       RAW dump: 
       0x00 | 0x0b, 0x24, 0x02, 0x01, 0x01, 0x02, 0x10, 0x01, 
       0x08 | 0x80, 0x3e, 0x00


     Endpoint 0
        bLength = 0x0009 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0082  <IN>
        bmAttributes = 0x0005  <ASYNC-ISOCHRONOUS>
        wMaxPacketSize = 0x00c8 
        bInterval = 0x0004 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

      Additional Descriptor

      bLength = 0x07
      bDescriptorType = 0x25
      bDescriptorSubType = 0x01
       RAW dump: 
       0x00 | 0x07, 0x25, 0x01, 0x01, 0x00, 0x00, 0x00
      
 
物が差し替わってしまうというのは、かつてL-05AやL-02CUSBドングル型の3G/4Gモデムのゼロインストール機能で知っていたので驚きはしなかった。だが、最初にUSB Ethernetとして認識するのが謎である。
何かの付属品なのか、OSやデバイスドライバ有無によって挙動を変えるとかそういうものなのか。ue0認識があるにはRJ45ポート相当がありそうなものだけどUSBカメラにそんなものは無い。
dhclient ue0でホールドできるかと思ってみたが、できなかった。

ステレオマイク付きっぽく見えても/var/log/messagesを見る限りおそらくモノラル。残念だがそのうち処分するつもり。
 
2024/01/13 JR東日本特急ときわ30号
色々な方法や理由で仙台に立ち寄ることが多いのだが、仙台四郎なる実在の人物が推されていた。愛嬌があるらしく男の子(?)版座敷童子みたいなものだが、たまに面倒を起こすこともあるそういう愛されキャラらしい。

写真は駅の仙台四郎氏。
仙台四郎氏が気に入った店は繁盛したという。
 
仙台から東京方面に向かう方法として一般的なのは新幹線だろう。だが乗り飽きた。
次点としては高速バス・・・も飽きた。
じゃあ在来線だけで・・・も青春18きっぷでやりまくった。
飛行機に乗るほど時間もなく、しかたなく新幹線改札へ向かうつもりだったが、足を止める。
そう、JR特急は新幹線に限らない。在来線特急もある。
東北本線にはないが常磐線にはあるのだ。
そうと決まれば新幹線の予約を中断、特急ときわの座席指定券をえきねっとからチケットレスで発券。
特急に乗るには、切符やそれに相当する電子マネーとしての乗車券の他、自由席/指定席の種別を問わず必要な特急券、座席指定が必要なら座席指定券が必要。
えきねっとはチケットレスだと座席指定券と特急券を発券できるが、券売機とは異なり乗車券は同時に購入できない。別に調達する必要がある。
駅の改札で仙台→東京間における乗車券で最も面倒がない方法を聴いてみた所、乗車券はSuicaで乗るよりも切符で発券したほうが良い(*1)らしい。
 

仙台駅から特急ときわに乗るには在来線の6番線に行く必要がある。
新幹線とは異なり乗車券を改札機に通すだけで良い。
 

では、特急ときわ30号に乗って東京は品川駅へ出発だ。
時刻表によると18時02分に仙台駅を出る特急ときわ30号は22時52分に到着するらしい。
所要時間4時間50分?終電ギリギリじゃないか。まあいいか。
E657系は座席にコンセントがあるのが救い。なかったら睡眠時間に当てるしかないだろう。
 

・・・と、始発〜終点に乗り通したわけだけど、あくまでもこの列車の考え方は仙台〜いわきまでは快速列車的需要、いわき〜(東京)〜品川は通勤や常陸(茨城)磐城(福島浜通り)エリアへの旅行が主たる需要なので、通常乗り通しは検討の余地もない。それでも仙台〜品川3本程度の直通があるということはそれなりにメリットはあるんだろう。
 
*1:といっても駅改札での精算が省ける程度である。
*2:ちなみに、特急ひたちは品川〜いわき間の運行で、こっちのほうが本数は多い。
*3:タイパでいえば新幹線はやぶさ・こまちへどうぞ。
*4:タイパ/コスパでいえばえきねっとで早割適用の上、新幹線やまびこへどうぞ。
*5:とことんコスパを追求するなら在来線東北本線へどうぞ。(終電は15:00頃)
*6:あまり睡眠品質や時間にこだわらなければ高速バスという手もあります。(昼行は16:30ぐらいが最後)
*7:特急ときわは暇つぶしにどうぞ。
 
2024/01/13 和喫茶・半田屋

餅2つとジュース一本で350円である。
どこかの喫茶店ならコーヒー一杯ぶんにしかならない。
なお周りはガッツリメシを食べている。
 
2024/01/13 半田屋のメシ

半田屋といえば「生れた時からどんぶりめし」のキャッチフレーズである。
写真の白い器、カロリーベースで書くと右から順に次の通りである。
806kcalめし(中)
538kcalめし(小)
370kcalめし(並)
302kcalめし(ミニ)
202kcalめし(ちょい盛り)
17kcal大根おろし
 
2023年08月ごろに埼玉は川越店から出発し、3日間にかけてセローと共に札幌まで北上、全21店舗を訪問調査した結果、全種別全店舗で共通して提供しているものの、値段は各店舗によって異なっていた(最高価格は川越店)。
特に東北・北海道エリアはめしの価格が格安なので、200円持っていけばとりあえずめし(中)と味噌汁にありつけるありがたい場所。これ以上の安さを求めるなら自炊するしかないレベル。
 
2024/01/08 バイクツーリングのお土産代を削りたい
何も考えずにバイクに乗ることがひたすら楽しくてどこかへ行っては一泊してお土産を買って帰ってきた日々。
お土産代だけを見れば1回3,000円、週1回ツーリングすれば月額12,000円、毎週ツーリングすれば年額156,000円
収入は300万円。冷静になって考えると年収の5%をお土産代に突っ込めるだろうか?
 
ツーリングは止められない。だが支出は減らしたい。
ツーリングを止められなければ燃料代は難しい。
では他を削れないか。
泊まりは速攻であきらめることにして、次はできるだけお土産も減らしたい。
お土産を買って帰る満足感を持ちながら、日常的に使い、かつ役立つもの。
インターネットでカチカチして導き出した結果、湧き水だ。
湧き水であれば、程々の重量感があり、水場を継続するためのお気持代以外はほぼタダで入手できる。
 
とはいえ、湧き水は浄水が必要。入れ物はともかく、できるだけ浄水器などの追加投資はしたくない。
とすれば、湧き水を元にした水道水の調達となる。
この条件に合致するものは、東名高速道路上では駒門パーキングエリア、足柄サービスエリア(上・下)、関越自動車道谷川岳パーキングエリア(上・下)だ。

写真は東名高速道路足柄サービスエリア下り線(名古屋方向)の場所。
 
毎回20L以上を持ち帰っては日々の水分補給や調理に使っている。
こんな事をしても水道代の足しにもならないのだが。
詳しくはお住まいの市役所・町村役場ホームページなどで水道料金のことを調べよう。
美味しいか不味いかは関係ない。気持ちの問題である。
 
2024/01/08 Google Bloger HTMLタグ編集環境で更新ボタンを押してもなかなか反映されない場合
例えば画像ファイルをアップロードしてサイズ選択後、imgタグのwidth値などを変更していないだろうか?
サイズ小でアップロードした結果、思ったより見栄えが良くなくてもう少しサイズを大きくしたいときとか。
事象としてはimgタグのwidth値を操作してしまうと更新ボタンを押しても保存中のまま進行しない。
とりあえず次に進むには、width値をいじったimgタグを削除する他ない。
その次にwidth値を元に戻すか再アップロードするか。
最近Google検索してもGoogleフォトの記事にぶち当たるとかEvil化が止まらないのだが。
 
2024/01/07 安すぎる
コカ・コーラ500ml 167円
惣菜弁当 498円
菓子パン一つ 128円
合計 793円
 
乾麺パスタ 500g/298円 → 50g使用 29円
おかかふりかけ 1000g/800円 → 10g使用 8円
乾燥えび 1000g/800円 → 10g使用 8円
うどん出汁のスープ8パック 198円 → 1パック使用 24円
その他調味料 めんどくさいので30円
合計 99円
 
2024/01/07 電動キックボードを見た
筐体のみでなく人間の足腰をバネにして安定を保つ乗り物。
段差の乗り上げはダメそう。小石の乗り上げも不安なタイヤだ。
スケートボードのようにライディングテクニックとかやりだしたら交通事故発生数は鰻登りになるだろう。
欧州で乗車禁止とした頃に日本上陸を果たしたという。
そういうことである。
 
2024/01/07 gnshyという名前
この名前は2006年頃からGoogle検索で調べてみて件数0のときから使っているので結構愛着があるのだが、しばらく経ってからエゴサーチしてみるとGun shy(映画タイトルや英語)とか同名の音楽活動されている方や絵描きさんがいるらしく。
英語としてのGun shyの意味
音楽家さん→ gNShY アルバム:Amnesia / On Your Left
絵描きさん→ Instagramを検索
ちなみに2000年公開のGun shy(映画)は全く知らなかったのでこの文字列順は完全なオリジナル。素はある名前のアナグラムである。
 
2024/01/06 新東名高速道路や東北自動車道で速度規制が120km/h以上になっても渋滞が解消しない理由
人間がアクセルを踏んでいるうちは絶対に渋滞は解消しない。
トラフィックの観点からすれば、一定の間隔で同じ速度を出しながらできるだけ詰めて走ってくれるほうが車線使用効率が良い。(*1)
また、クルマはクルーズコントロール付きかどうかに関わらず、ある特定の場所、例えば上り坂で10km/hは落としてくれるため(*2)、あまり詰めすぎても事故につながる。
つまり、同じ速度を出しながら間隔をある程度開けるような挙動を全車両が取る必要がある。
よって、運転者の経験・感情・欲求などのさじ加減で速達性が左右される現行システムではなく、全車両が自動運転化でもしなければ解決できない。
 
*1: こういう時、何も問題の起きていない状態での運用を検討するのではなく、一台以上の車両が最悪のトラブルを起こすとしたときに考えうる安全の観点から見るほうが良い。車間距離はブレーキ能力とよく言われる2秒ルールを念頭に100km/hなら60m、80km/hなら50mだろう。これは前方車両が停車していることを発見した後に急ブレーキして間に合う速度と言われている。運行速度は最悪な人的被害の想定として「現行における最も安全基準が低い世代の」「軽自動車における」「トンネル入り口を相手にした」「オフセット衝突」としたときに事故車体が車両として運行できそうな速度が適正速度といえる。昨今逆走車もあるので相手は最高速度0km/hの「トンネル入り口」ではなく「大型自動車などの重量車両」かもしれない。また適正速度を探るための出発点として道路の設計速度を持ち出す論もあるが、現時点では道路としての安全運用の観点から見て、また全車両が自動運転となるまで全く考慮不要。なお、バイクは検討割愛。ぶつかったら死ぬ時は死ぬ。
*2: そうかな?と思った人は普段使う道で構わないので上り坂に入る前と上りきった後のスピードメーターを見比べてみて欲しい。通常運転者は制限速度を守る程度ぐらいしかスピードメーターを意識しないので速度低下していることに気づいていない。もし本当に分かっていたとしたら速度低下に対する措置を足か手で行っているはずだ。同様の事象はR500以下のカーブでも起こる。
 
2024/01/06 日の支出ゼロ達成
日中は部屋を掃除してるだけ。食事は全部あり物で賄った。
 
2024/01/06 2023年のベストバイ
順不同。
    工進(KOSHIN)蓄圧式噴霧器 HS-401E
    電気を必要とせず、ある程度の水流を叩きつけられる噴霧器として年末に活躍。バイクの洗車、風呂掃除など。ただし元が園芸用なので噴霧量はお察し。
    アイリスプラザ 丸めて寝袋高反発×低反発 厚4cm長180cm
    引退したキャンプマットとの組合せで快眠状態。万年床でもよいが必要な場合は丸めておけるので個人的には大満足。(メーカーサイトなし)
    DABADA コットキャンプベッド2wayワイドフォールディング耐荷重150kg
    夏のキャンプツーリングで使用。寝心地は良かった。テコの原理を使った脚のおかげで組立と撤去がそれぞれ10分程度なので昼寝にも使えるかも。
    GENTOS純正フラッシュライト SG-337R用専用ヘルメットホルダー HH-02
    筒型のカメラをバイクヘルメットに固定するために使用。本来はGENTOSのライトを固定するために使用するもの。
    AZ(エーゼット)CKM-001超極圧・水置換スプレー 420ml缶
    バイクのチェーンルブやキーキー言いがちなドアの蝶番などに使用。さっと一吹きでなめらかは伊達じゃない。チェーンルブに使用するなら粘性のあるCKM-002のほうが良いという人もいるが、保持する品物の使用点数を減らす目的からCKM-001一択にしている。同様のものとしてスズキ機工さんのベルハンマーシリーズやワコーズさんのラスペネが有名だが、世間的にはクレさんの5−56といったほうが通じは良さそう。
    バイクの燃料添加剤としてシュッで終わる程度に入れるとエンジン音が気持ち小さくなりアクセルの挙動が少し変わる(バイクの場合、エンジンオイル/ミッションオイルの添加剤として入れてはいけないので注意)
    sweetopia スクラロース 800g
    清涼飲料水の卒業のために使用。砂糖を原料としながら糖質ゼロ、甘味3倍という科学の結晶。最終購入日が2023年01月だったのでギリギリベストバイ入り。ダイエットにはかなりおすすめ。色々言われているので使用目的を達成したら控えたほうが良さそうです。
    ダイソー 蓄圧式噴霧器
    ペットボトル併用の100円もの専用ボトルの300円もの
    両方とも激泡スプレーに改造し、風呂掃除から台所掃除まで活躍。
    いずれバイク洗車にも使うことになるだろう。
 
2024/01/06 起き抜けの部屋片付け
いろいろ事情がありどうしてもとある場所で処分するわけに行かないものに手を付ける。
結構貴重な書類で放置していたら捨てられていたであろう代物だらけ。故に捨てにくいのだが。
 
片付けの最中に見つけた、2019年頃に買ったであろう飴を舐めながら書いている。
魚の缶詰は2015年で賞味期限切れだったので捨てた。10年ものは難しいね。
 
今度は発掘した炭酸水とタマノイ黒酢ダイエットで乾杯。
もちろん賞味期限内のもの。
 
2024/01/05 インスタントコーヒー
500g/900円と175g/400円どっちが安いか。
なお、前回間違えた模様。
どうにしても600ml分のブラックコーヒーが9円か11円の差でしかない。
スターバックスさんのコーヒーよりは(Short:240ml < Tall:350ml < Grande:470ml < Venti:590ml)のドリップコーヒーshort:319円よりも格安ですわな。
歌う自販機で有名なミル挽きコーヒーさんも150〜200円ぐらいから。
なお、ボトルコーヒーで有名なBlendyさんでも1000ml/98円。
そんな私でも宮越屋珈琲でティーカップ1杯600円のコーヒー飲んでたりする。思い出深いところなので。
 
2024/01/05 FreeBSD的知ってると良いサイト
FreeBSD.org Security Advisories
... 現行サポートのFreeBSDにおけるセキュリティパッチの配布情報。だいたい月イチ。英語。
FreeBSD.org Security Advisories
... 現行サポートのFreeBSDにおける組み込みプログラム等の注意情報。だいたい月イチ。英語。
freshports
... Ports Collectionの各Portsにおける更新履歴の紹介。英語。
FreeBSD.org HandBook
... FreeBSDの開発方針から組み込まれている設定などの変更方法まで。
苦労して調べて設定した内容は実はここに書いてあった的な物が多い。一読推奨。
 
2024/01/05 スーパー銭湯に行った。
サウナブームのせいでサウナと水風呂は人だらけなので、熱い風呂と休憩所を行ったり来たりした。
久し振りにそのルーティンをしていたので逆上のぼせた。その後に食べたくるみそばは美味しかった。
 
2024/01/05 Raspberry Pi 3B+にUSBカメラを付ける
以前、multimedia/ustreamerを使って玄関ドアの覗き穴からみる監視カメラを作ったのだが、ある事情から使えなくなってしまったので撤去していた。
再度練習がてら復旧を目指そう。なるべくだけどね。
やることは簡単でUSBカメラの撮影映像をLAN内に流すこと。
テスト用のカメラはLAZOS製L-WCHD-Bというもの。
秋葉原の中古PC関連ショップで入手したものなので、割と入手は簡単なはず。
USBカメラの認識状態。ここではugen1.5なので、これを覚えておく。
# usbconfig
ugen1.5: <ZB-H62-201026 Integrated Camera> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
※他は省略
#
# usbconfig dump_device_desc
ugen1.5: <ZB-H62-201026 Integrated Camera> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
bLength = 0x0012 
bDescriptorType = 0x0001 
bcdUSB = 0x0201 
bDeviceClass = 0x00ef  <Miscellaneous device>
bDeviceSubClass = 0x0002 
bDeviceProtocol = 0x0001 
bMaxPacketSize0 = 0x0040 
idVendor = 0x0c45 
idProduct = 0x64ab 
bcdDevice = 0x1026 
iManufacturer = 0x0001  <ZB-H62-201026>
iProduct = 0x0002  <Integrated Camera>
iSerialNumber = 0x0000  <no string>
bNumConfigurations = 0x0001 
オートフォーカスしないこういったしょっぱいカメラを使う人はあまりいないようで、ベンダIDとプロダクトIDで検索してもほとんど解説ブログはヒットしなかった。仕方がないね。
 
ここからはインストールと設定。
# pkg install webcamd ustreamer
必要なPorts Collectionのインストール。webcamdとustreamer。
webcamdはUVCUSB Video Classで使用する。
その昔mjpg-streamerというのが有ったが、使い比べてustreamerに落ち着いた。
Raspberry Pi 3B+でかつFreeBSD 12系のインストールから始まっているシステム限定の話だと思われるが、昨今のpkgコマンドは/tmpディレクトリの容量が50M程度では全く進行しなくなるのでtmpfsを使っている場合は100M程度まで増やしておいたほうが良い。
それができない状況の時はenv TMPDIR=/var/tmp pkg updateを行うなどして、一時的に一時フォルダを別の余裕があるパーティションで作業する形で行うほうが良い。[1敗]
 
/etc/rc.confにてwebcamdの起動設定が行われていない場合は次のように追記する。
# vi /etc/rc.conf
webcamd_enable="YES"
sysrc webcamd_enable="YES"でも良いが結果は変わらない。好みの問題。
/boot/loader.confにてcuseが追加されていない場合は次のように追記する。これがないとustreamerで使用する/dev/video0が生えてこない。
# vi /boot/loader.conf
cuse_load="YES"
 
ここまで設定したら再起動して読み込み状態を確認するほうが好ましいが、一応現在の起動状況でもcuseやwebcamdは使用可能。
# kldload cuse
# webcamd -d ugen1.5
^Z
ugen1.5で/dev/video0が生えてこない場合は、最初の方の文章をよく読み直して確認すること。
 
devdのリセット。
service devd restart
 
必要に応じてwebcamdグループに一般ユーザーを参加させる。
<username>を必要なユーザー名に置き換えて実行すること。
pw groupmod webcamd -m <username>
 
実際のustreamer起動。
# ustreamer --device /dev/video0 --host 10.0.0.1 --port 80 --desired-fps 5 --quality 20 --encoder CPU --persistent --drop-same-frames 30 --workers 3 --buffers 32 --format MJPEG
このカメラの場合、撮影状況が写ったりNo Signal画面を表示していたがformatをMJPEGに設定したら割と安定した。カメラによっては設定を変更すれば案外うまく行く感じがする。
Raspberry Piにおける公式のRaspbianであればハードウェアエンコードも期待できるのだが、これはFreeBSDなのであくまでもCPU頼りになる。
以前、buffalo製のUSBカメラで同様のことを行っていたが、取り外したあとにどこかへ行ってしまったようだ。玄関ドアの覗き穴にぴったりだったのだが・・・
 
確認方法。同一LANの端末などからustreamer実行中のFreeBSDに対してFirefox/Chrome/Chromium/Safari/Microsoft Edgeなどのウェブブラウザーで開くと表示される。

この中の/streamのリンクをクリック/タップするとカメラから見える映像が表示される。
/snapshotはリンクをクリックした時に撮影していた1コマを表示するもの。
 
で、このustreamerの使いみち。
USB-HDMIキャプチャーに使うと・・・
 
2024/01/05 freebsd-update fetch install ; portsnap fetch update && sh -c 'pkg version -o | grep "<" | cut -f1 -d" " | xargs -I% sh -c "make -C /usr/ports/% fetch"' && pkg upgrade
ただのメモ。
13系までは使えるが、14系ではportsnapコマンドが廃止されたため別のコマンドで置き換える必要がある。
上記コマンドの実行内容は、リリースパッチの適用→Ports Collectionカタログの更新→Ports Collectionカタログを元に現行インストール済みのアプリケーションの更新版のみソースコードを取得→pkgコマンドにてアップグレード利用可能なアプリケーションがあれば更新用意(許可は自分で出す)
ぶっちゃけ、Ports Collectionカタログを使用したソースコードの取得は無くてもよいのだが、昔はソースコードから導入していたのでその名残。
 
2024/01/05 WI-U2-150M/N Buffalo

FreeBSD組み込みのドライバで動くはずだと思ったので買った。
802.11ac/802.11axはLinuxKPIを使ったLinuxドライバになるので、WiFi APにするには情報が少なすぎることから回避。
型番から推測できる通り、WiFi4(150M)程度のスピードが上限値。速さを求める人はもっと新しいのを買おう。
※無線は有限かつ色々な所で使っているので混信が見込まれる住宅地ではあまり使いたくない部分もある。
3つ買った。980円/個だった。
buffalo WI-U2-150M/N メーカーホームページ
# usbconfig
ugen3.3: <Realtek 802.11n NIC> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
# 
# usbconfig dump_device_desc
ugen3.3: <Realtek 802.11n NIC> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)

  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0200 
  bDeviceClass = 0x0000  <Probed by interface class>
  bDeviceSubClass = 0x0000 
  bDeviceProtocol = 0x0000 
  bMaxPacketSize0 = 0x0040 
  idVendor = 0x0411 
  idProduct = 0x037d 
  bcdDevice = 0x0000 
  iManufacturer = 0x0001  <Realtek>
  iProduct = 0x0002  <802.11n NIC>
  iSerialNumber = 0x0003  <ffffffffffff>
  bNumConfigurations = 0x0001 
ちなみに、Linuxでも動作報告なし。
ドライバーのinfファイルを見る限りRTL8188EUっぽいのでif_rtwn_usbかなあと思っていたのだが。ハズレの模様。
 
もう少し頑張ってみる。
# cd /usr/src/sys/dev/rtwn/usb
# cp rtwn_usb_attach.h rtwn_usb_attach.h_orig
# vi rtwn_usb_attach.h
diff rtwn_usb_attach.h rtwn_usb_attach.h_orig 
130d129
< 	RTWN_RTL8188EU_DEV(MELCO,		WIU2150MN),
# cd /usr/src/sys/dev/usb
# cp usbdevs usbdevs_orig
# vi usbdevs
# diff usbdevs usbdevs_orig
3232d3231
< product MELCO WIU2150MN		0x037d	WI-U2-150MN
# cd /usr/src/sys/modules/rtwn
# make install
# cd /usr/src/sys/modules/rtwn_usb
# make install
# cd /usr/src/sys/modules/rtw88
# make install
動かなかった。
一応書いておくが、rtwn_usbをmakeしてる際に次のメッセージがでてたが、当初rtwn_usb_attach.hにWIU2150MNではなくRTL8188EUと書いていたため。
その文字列はusbdevsと連動する。
error: use of undeclared identifier 'USB_PRODUCT_MELCO_RTL8188EU'
 
なお、調査する上で役立つコマンド集。
search-stringが含まれるファイルを/path/to/directoryから再帰的に検索して相対パスで表示する:# grep search-string -rl /path/to/directoryまたは# find /path/to/directory -type -f | xargs grep search-string
ファイル名にsearch-stringが含まれるファイルを/path/to/directoryから再帰的に検索して相対パスで表示する:# find /path/to/directory | grep search-stringまたはfind /path/to/directory -type f -name "*search-string*"
 
2024/01/05 凡人が天才に勝つ方法 つんく♂
個人的には"パワーソング"(曲名)に救いを得た人間なので、いちファンとしての購入。
書評は気が向いたら書く。といって素人が書いてもしょうもないことしか書けないんだが。
検索してみると彼もボンボコ本を出版しているみたいなので数撃ちゃ当たる戦法じゃね?感はある。
 
2024/01/03 ja-fcitx-mozc(japanese/fcitx-mozc)がなくなってた
日本語の変換能力が突然失われたので何事かと思ったが、入れたはずのpkgがなかったことになっていた。
どこで欠落したのか?わからない。
 
2024/01/03 FreeBSD 13.2-RELEASE virtual_ossとbluetoothオーディオ出力
過去記事では2回書いた気がするが、virtual_ossコマンドを理解するためにbluetooth接続→音声出力に至るコマンドパラメータのメモ。
virtual_oss -C 2 -c 2 -r 48000 -b 16 -s 768 -R /dev/null -P /dev/bluetooth/BTDEVICE -d dsp
コマンド/パラメータ メモ
virtual_oss コマンド。audio/virtual_oss。
-C 2 ミックスチャネルの最大値の設定。よく分からん。
-c 2 後続コマンドのミックスチャネルを設定。よく分からん。
-r 48000 後続コマンドのデフォルトサンプルレートを設定。よく分からん。
-b 16 後続コマンドのサンプル深度をビットに設定。有効値は8,16,24,32。よく分からん。
-s 768 デフォルトのバッファサイズ。msが接尾辞につく場合はmsec値で、それ以外はサンプル数として指定されたものとみなす。たぶん音声を溜め込んでから実際の音声デバイスに送り出すまでの余裕時間みたいなもの。
-R /dev/null 録音デバイスを指定(recoding device)。/dev/nullが指定される場合、録音デバイスは指定しなかった扱いとする。
-P /dev/bluetooth/BTDEVICE 再生デバイスを指定(playback device)。/dev/nullが指定される場合、再生デバイスは指定しなかった扱いとする。
-d dsp ここまでの設定を持つ、OSS dspデバイス名の設定。
ここまでで、例えばVLC Media Playerのオーディオ出力デバイスとして/dev/dspを指定すると、-Pオプションで指定されたBluetoothデバイスから音声が出力されるというイメージである。
以下は/etc/rc.confの設定例。(bluetoothデバイスとの接続設定済みかつ電源ON状態でないと音声は再生されない)
# vi /etc/rc.conf
virtual_oss_enable="YES"
virtual_oss_default_args="-T /dev/sndstat -C 2 -c 2 -S -i 0 -r 48000 -b 16 -s 8ms -R /dev/null -P /dev/bluetooth/BTDEVICE -d dsp -t dsp.ctl"
この設定により、# service virtual_oss startなどが有効になる。
個人的には音声の出力先を2つにしたいのだが、いずれも入力(録音)が2系統以上のものをミックスしたり7.1chにするなどの記述は見つかるものの、ミラーで出力(スピーカー)にするものは現在の知識では発見できなかった。
マニュアルを読んでモニターのところを出力に回すみたいな、そういう事をしないといけないかもしれない。
 
2024/01/03 業務スーパーで買った粒入りマスタード瓶
あんまり好みじゃなかった。
結果として残ったガラス瓶容器はシェイクするための容器として大事に使わせてもらおう。
 
2024/01/03 ブラックリスト入り単語
だいたいこれらを避けるだけで余計な時間を使わないで済みます。
また、何にとってそうなのかを脊髄反射的に解読することが重要です。
 
  • 行政や国家機関の指導に基づかない「緊急」「警報」「警告」、命や生活に直結しないし社会的事象でもない「速報」
  • 特に社会的影響のない人物や組織からの「結婚」「離婚」「引退」報告
  • 社会的影響のある事故や事件における当事者・その道の専門家・解説員が説明するニュースメディアでもない、ただの第三者が作成した「○○について解説します」「○○についてお話します」「○○について正直に△△」「○○について全部△△」
  • 危機感や価値観を引きつけるために使われるワード。「第3位は□□、第2位は△△、第1位はあの○○」「緊迫」「瞬間」「悲鳴」「突如」「重大」「深刻」
  • それがあたかも一般的であるような表現の多用。「普通は○○」「○○が常識」「当たり前○○」「国民的○○」
 
3流ニュースメディアでは、雰囲気づくりのためにバックミュージックを入れたり、センセーショナルな言葉で飾ったり、映画風に仕立て上げ引き込んで時間を取らせることが常なので、無心で見て何が起きてどうなったという事実だけを取り出せるように日頃から訓練しておきたい。
 
2024/01/03 色々なものの処分
ひたすら使いまくって、容器が空になったら処分。
入れ替えを繰り返して洗い物の溶剤を統一化し持ち物をさらに削る。
また、衣類も不要であればガンガン捨てていく。
使用予定のないものを持ちすぎても良くない。
 
2024/01/03 洗車と風呂洗い
どことなく似てるね。
汚れを剥がしてコーティングし新たな汚れを呼ばないようにする、か。
 
2024/01/03 2024年01月02日に起きた羽田空港RJTT/HNDにおけるJAL516便と海上保安庁JA722Aが衝突した航空機事故の件
おおよそ17:47頃発生。
JAL516(AirBus A350-900/Airbus A350-941,機体番号JA13XJ)
JA722A(Bombardier DHC-8-300/Bombardier DHC-8-315 Dash 8,機体番号JA722A,MA722みずなぎ1号)
東京国際空港羽田C滑走路34R上。
 
誰が悪い、どういう行為が悪いは話し合う意味がない。
結果を早く知りたいか、何でもいいから叩きたい人間の戯言だ。
色々なニュースメディア記事をみることになるだろう。
そこにどのようなタイトルが付けられていても部外者は感情的になってはいけない。(*1)
評論家や専門家の発言を切り取って記事にしていることがよくある。
あくまでも書いてる側は物書き商売であることを忘れてはならない。
ご意見番やら報道各社の原因分析はあくまでも参考意見。
色々な憶測や噂が飛び交うだろうがこれもただの参考意見である。
つまり、プロフェッショナルの調査報告を待つべきだ。この場合は運輸安全委員会(JTSB)の航空部門。
羽田空港に設置されているNHKの定点カメラ(NHK NEWS WEB)
 
*1: 他、世の中では弱者とされている人間(特に女性・子供)の叫び声や悲鳴などは当時の本人の感情に基づくものなので「何が起こったのか」を知るには役に立ちません。こうしたことをまともに受けてお気持ち表明してしまうと方針決定者は誤った判断を下すことになります。YouTubeなどのニュースメディアの動画ではこうした編集をされていますが、見ている人間を煽っているだけで害しかありません。
 
2024/01/02 FreeBSDのアップデートメモ(石橋を叩いて渡るバージョン)
条件はTier-1アーキテクチャ。2024年01月期現在ではamd64、aarch64が該当。→現行バージョンのサポートアーキテクチャ
今回は13.2-RELEASEから14.0-RELEASEへアップグレードというモデルで書く。
実行時は再起動しても構わない状態にしておく。つまり、不要なアプリは全て落としておくか保存しておくと良い。
 
ポイントは3つ。
・freebsd-updateコマンドは基本3度使用する。更新順はカーネル→ユーザーランド→Ports Collection/サードパーティアプリケーション
・最低2回再起動する。
・実行前に追加の設定をしなくてもインターネットに接続できる環境にしておく。
以下、コマンドごとに記述する。基本rootユーザーで作業する。必要に応じてdoasコマンドやsudoコマンドを叩く。
# freebsd-update fetch install
現在運転中のシステムに対して、リリースパッチをすべて当てる。
# reboot
再起動する。次のコマンドはログインしてから実行する。
# cp -Rp /etc /etc_bup
現在の設定をバックアップ。
# less /etc/fstab
バージョンのアップグレードによってデバイス名が変更されることは度々ある。
UFSで運用している場合は、少なくとも次の点は気にしたほうが良い。
  ・システムディスクのデバイス名(RAIDコントローラ含む)
  ・イーサネットのデバイス名
一部でUFSやSWAPなどを使用しており、/etc/fstabにてデバイス名で各種パーティション管理を行っている場合は、リリースアナウンスを読むなどして変更が発生していないか確認したほうが良い。
イーサネットデバイス名の変更はほぼないと見てよいが、メジャーバージョンアップではデバイス名の変更や削除があるかもしれない。対象のデバイスが使われている場合は気にしておいて、USBイーサネットなどを用意しておくと心強い。
ZFSで運用している場合は、一つEFIブートパーティションが起動してしまえば、loader.efiが全デバイスをスキャンする動きっぽいので基本気にしなくても良い。
その他のデバイスは起動して最低限キーボード、モニタ、記憶領域、イーサネットのIOデバイスが動いてしまえば対処のしようがあるので、その時考えるしかない。
# freebsd-update -r 14.0-RELEASE upgrade
アップグレードしたいバージョンのバイナリファイルをフェッチする。(ダウンロードする)
なお腹をくくるのはこのタイミングまで。次回以降は基本的にfreebsd-update rollback以外の復旧方法がない。(ここでは解説しない)
# freebsd-update install
freebsd-updateコマンド1度め。カーネルやシステム起動に必要な/boot、/rescue、/etcを更新する。
たびたびmoreコマンドかlessコマンドでの更新内容確認が表示されたり、更新についてy/nなどの判断が求められる。
/etcディレクトリの中身が更新に合わせて書き換わるので、自前で追記した内容が消去されないようにしておく。
メモ:この時点では実行中のFreeBSDは旧版カーネルで動作している。シャットダウン/リブートするまでは旧版カーネルが有効。
# mount -t msdosfs /dev/ada0p2 /mnt
# mv /mnt/boot/efi/freebsd.efi /mnt/boot/efi/freebsd.efi_13_2
# cp -a /boot/loader.efi /mnt/boot/efi/freebsd.efi
# umount /mnt
注意:EFIブートパーティション(efi)がある場合だけこの工程を実行する。
EFIブートパーティションがディスクデバイスada0の2番めの場合は上記コマンド。gpart show ada0で確認可能。
コピー先のfreebsd.efiは例。環境やインストール時の設定によってはBOOTx64.efiやloader.efiの可能性がある。
複数ある場合はloader.efi_oldなどにリネームすると良い。
# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 /dev/ada0
注意:MBRブートパーティション(freebsd-boot)がある場合だけこの工程を実行する。
ZFSのバージョンがアップグレードされていると見込まれる場合、システム単体では起動できなくなることがある。
USBメモリなどで14.0-RELEASEインストーラを作り、復旧用の起動ディスクを作って対応する必要がある。
更新しておいたほうが安全。
# reboot
1度目の再起動。
祈る。だいたい通じる。
/boot/modulesに格納されているカーネルモジュールがバージョンアンマッチなどで読み込み失敗となることがあるが、以降にあるpkgコマンドなどで解決できるはず。(FreeBSD公式Ports Collectionに依らず、ユーザー独自でソースコードなどからコンパイルしたモジュールは別)
カーネル組み込みのもので起動できなかった場合は/rescueディレクトリ内のボーンシェルが起動するか、mountroot>プロンプトになる。そうしたらloader時にkernel.oldで起動し直し、freebsd-update rollback。アップグレードは中止し、できない原因を探る。
login:プロンプトまでたどり着けたらとりあえずOK。
次回のコマンドはrootユーザーでログインしてから。
# freebsd-update install
2度めのfreebsd-update install。
ユーザーランド関係を更新。一応書いておくが、このコマンドが完了しても手順は半ば。
# pkg-static bootstrap -f
# pkg update -f
# pkg upgrade -fa
実は一番下のコマンドだけを2度繰り返すでも良いのだが、1度だけではほぼpkgコマンドの更新だけしか行われないので、他は更新されない。
なので、1行目でpkg-staticコマンドで強制的に初期化処理、2行目でpkgカタログ(のようなもの)を更新、3行目でpkgコマンド含めたすべてのアプリを更新を行う。
1行目のコマンド(pkg-static)と2〜3行目(pkg)のコマンドの違いはリリースビルドで確実に動作するpkgコマンドと現行最新版のpkgコマンドであるかの違い。
freebsd-update installコマンド1度めでは、リリースビルド(14.0-RELEASE)と現行最新版pkg(13.2-RELEASE用)なので確実に起動できるpkg-staticコマンドを使用する、ということ。←一応、石橋を叩くバージョンの記述。
行うのは更新だけなのでアプリの再立ち上げなどは行わない。必要に応じてserviceコマンドなどでrestartを行うか、この後にあるrebootコマンド(3回め)でシステムごと起動し直す。ダウンタイムから見ればおそらくシステムから起動し直すほうが安全。
# reboot
2度めの再起動。
ここまで異常がなければカーネルが動くので、基本祈らなくても動いてくれるはず。
メジャーアプリケーションのアップグレードで設定内容が変わった場合だけは要注意。
次回のコマンドはrootユーザーログイン後から。
# freebsd-update install
3度めのfreebsd-updateコマンド。
不要になったライブラリ群やコマンドなどを自律で削除する。
この削除はアップグレード前のシステムでは必要だがアップグレード後のシステムでは不要になった物を指す。
この後は通常運転できるか確かめる。
 
身も蓋もない話をすれば、# freebsd-update -r 14.0-RELEASE upgrade# 腹をくくる# freebsd-update install# freebsd-update install ; reboot# pkg upgrade -fa; pkg upgrade -fa# 通常運転へという手抜きもできるが、個人的に回しているシステムだけにしておこう。[6敗]
 
2024/01/02 インスタントに使えないとあんまり意味のない乗り物
電気自動車。EVともいう。
いくらトルクや環境性能が良いとはいえ、連続使用可能性におけるタイムコストが現行より高すぎるのであれば使うに値しない。
要はいくら電気スタンドが普及しようがチャージのために20分その場に待機せよと言われるより、燃料注いですぐ出発できる内燃機関車のほうが優れているということ。
スポーツ仕様車や貨物車などの走る目的が偏らないクルマであれば、燃費最悪の運転方法で300km以上確保できるだけの航続距離とある程度の居住性が確保されていれば他は割とどうでもよく、その車両がいくら高性能(ただしチャージまで20分以上必要)だろうが売れたりはしない。
現状でこれを補うには電池切れになる前に最低限バッテリー機能部を回復させなければならないが、チャージが20分かかる前提化では、方法としてバッテリーセルを取替えていくか、電池切れ前にひたすら乗り換えていくか、またはトレーラーヘッドみたいなクルマ(運転者以外は荷車に乗る)になる。(*1)
また、現行における商用発電の方法が限定的で環境面の都合から発電能力はあまり高くないことから消費者が支払う電気料金にコスト転嫁されている。(*2)
電気自動車メーカーがいくら頑張ろうが現状売れないのはそういうことなので諦めたほうが良さそうだ。(*3)
 
同様の代物に、2010年代ごろミュージックプレイヤーに電話機能を付けたものが大ヒットしたが、あれそのものもバージョン4以降の話で、バッテリー持ち時間は4〜6時間と次の充電時間に至るまで使う側が疲れるには十分な時間があった。つまり、人が降りるまでずっと動き続けるようなクルマであれば電気自動車でも勝ち目はある。ところが今後クルマ業界は自動運転に向かっていくため、少なくとも人間の運転疲労が軽減されてしまう環境下では難しい課題となってくる。
 
ところで、電気自動車が20分も充電することにどんな問題があるかって?
例えば20%程度の内燃機関車をEV車に置き換えられたとしたら、どこかの白犬社長、三太郎、脳味噌がない茸がやってるような無料引き換えクーポン企画とは比較にならない規模で電気スタンドの待ち行列ができる。それも路上に。事は目の前にある電気自動車一台だけの話ではないのだ。
これでは毎日夜だけ自宅で充電して間に合うような運用でなければ解決しない。出先で一泊、なんていうのは夢のまた夢である。
 
*1: 聴くところによれば韓国では市バス相当をワイアレス給電システムの一種であるQiと同じ仕組みで充電する方式を試験しているとのこと。仕組みがわかっていれば高速充電するにしても客や物を載せて行う事は難しいのは理解できるはず。
*2: かつて電気がじゃぶじゃぶに使えたのは原発が稼働していたため。2011年03月11日に発生した東日本大震災では福島に存在した2か所の核分裂型の原子力発電所が地震起因の大津波で被災、使用不能となった。その結果、原発が電力供給する関東圏内では一般消費者を相手に計画停電が発生した。核分裂による発電について安全性の観点から2024年01月現在、日本ではいくつかの電力会社を除いて運転を停止している。
*3: 一応実用化案としては、バッテリーの高速充電は技術的なハードルが高すぎるため、バッテリー長寿命化のための徹底的な軽量化を行う他ない。要はバッテリー消費に対して効率的に走るということ。CFRPCarbon Fiber Reinforced Plasticsをモリモリにして仮に80km/h巡航を保証するとしたら車両価格は目も当てられないことになる。なお、軽量化には乗員の体重も含まれる。
 
2024/01/02 抱負とは言わないけど
支出削減と収入増加はがんばらないと、な。
 
2024/01/02 刺身醤油に漬け込んだ刺身を食べた
これ、非加熱で食べて大丈夫なものなのか。
 
2024/01/01 賞味期限直前の牛バラと刺身を漬け込む
めんつゆと刺身醤油に。
 
2024/01/01 その先にあるのは地獄だと思うが・・・
これから進む2人の行路に幸有らんことを。
一人では乗り越えられない路も二人であれば進める路もあるだろう。
やはりあなたはまともな人だった。
おめでとう。
 
2024/01/01 A HAPPY NEW YEAR
あけましておめでとうございます。
 

未分類

群馬テレビだけじゃない!「ローカル局」の窮状
TOYOKEIZAI ONLINE - 2024/01/27 05:50
 
充電不要スマホ実現へ。中国、50年間発電し続ける民生向け「原子力電池」を開発
Impress PC Watch - 2024/01/12 13:42
 
NTT会長が激白!「NTT法廃止が変革のトリガーに」
東洋経済ONLINE 2023/12/25 05:30
 
NTT法を巡る議論の中でNTTは通信インフラを支える責任と説明を果たしているのか?
@DIME 2023/12/25 xx:xx
 
Federal officials order grounding of some Boeing 737 Max 9 jetliners after plane suffers a blowout
AP News 2024/01/07 07:28 - アラスカ航空の旅客機で側面に大穴を開ける爆発。B737MAX9の検査命令。 全世界で171機を対象。
 
脳の疲労 「何もしない」より脳に別の活動させて回復
日本経済新聞 2023/09/25 5:00 - リンク先記事は有料。
 
「家族全員、死ぬかも…」衝突炎上したJAL機 恐怖と混乱の5時間…乗り合わせた本紙社員が振り返る
日刊ゲンダイDIGITAL 2024/01/04 06:50 - この記事は2024/01/04 17:26に更新が行われている。NHK News Web以外の記事ではまともなレポート。
 
JAL516便、羽田空港で着陸許可後に衝突-航空管制の音声記録示す
Bloomberg 2024/01/03 12:03 JST
 
Major Tsunami Warning Issued In Japan After Powerful Earthquake (大規模な地震の後、日本で大津波警報が発令されました)
ZeroHedge(英語) 2024/01/01 21:00 EST(UTC-5)
 
“石川県「輪島」で約1.3m西に動く大きな地殻変動 電子基準点のデータ解析 国土地理院
テレ朝News 2024/01/02 03:07
 
楽天「急がない便」、セール期間中の導入検討…「即日」「最短」回避でポイント付与
読売新聞オンライン(YOL) 2024/01/01 13:42
 
令和6年能登半島地震による被害状況等について
内閣府防災情報のページ www.bousai.go.jp 2024/01/xx xx:xx JST - 令和6年能登半島沖地震関連
 
令和6年能登半島地震における被害と対応について
国土交通省 www.mlit.go.jp 2024/01/xx xx:xx JST - 令和6年能登半島沖地震関連
 
令和6年報道発表資料
気象庁 www.jma.go.jp 2024/01/01 16:10 JST - 令和6年能登半島沖地震関連
 
冷凍ケーキの件
Hatelabo::AnonymousDiary anond:20231228152249 2023/12/28 15:22 - 高島屋のクリスマスケーキが崩れていた件の分析妄想。
 
FreeBSD リリース関係のメモ
FreeBSD 14.0 Release Announcement
2023/11/21 JSTにリリースアナウンスあり。
 
FreeBSD 13.3 Release Process
2024/03/19 リリース予定とのこと。
 
FreeBSD 12.4 Release Process
2023/12/31 を持ってSTABLE、RELEASEサポート完了。早めのアップグレードを。
 
empty
 
 
empty
 
 

ご注意

このページの更新は完了しました。
記事リンクの位置は移動あり。確認したタイミングでは移動していたり、また様々な都合により削除されていることがあります。
時々挟まれるコメントはリンク先記事のメモであり、リンク先記事作成者さんが意図する内容を示すものではありません。必ずリンク先記事をご確認ください。
走り書きの正確性は保証しません。鵜呑みにせず必ず自身で裏とりを行ってください。
時刻は24時間表記、タイムゾーンはわかる場合に記載しています。正確な日時が必要な場合はリンク先記事を確認ください。
先月2023年12月期分のリンク
来月2024年02月期分のリンク

コメント