h_nari @ 熊本市のブログ。電子工作、プログラミング、ゲーム、TV、 政治、インターネットなどに日々の思い付きを、 うだうだ~と書いていきたい。
このブログにはコメント欄を設けておりません。 記事への御意見、ご質問はtwitter @h_nari宛に お願い致します。


アーカイブ


アマゾン・ベストセラー

メタ情報
RSS
Login

タグ「システム」が付いた記事

YAMAHA RTX830購入

YAMAHAの有線ルータ RTX830を購入した。 ルーターの不調に困っていた。 前からルーターが固まることはあったが、 IPv4 over IPv6導入後、ひどくなった。 ネットがつながらないのでルーターを見ると再起動している。 IPv6(Youtube)はつながるがIPv4(その他)がつながらない。 ルータを再起動すると復旧する。 これらの現象が1日に何回も起こるようになった。

どこだったか忘れたが YAMAHAのルーターが良いらしいという話を聞いた。 事務所や企業で使われているそうだ。 YAMAHAのルーターはVPN用というイメージで VPNは使っていないので関係ないと思っていた。 調べると Youtubeに たくさんの動画がある。 価格は4万円台で買えるものもある。 Raspverry Piでルーターを自作するよりは良いかもしれない。 ということで2月末に OCNオンラインショップ(旧 NTT-X)から RTX-830を 48,480円で購入した。

設置・運用

ブラウザ経由の画面で設定を行うが、うまくいかない。 CLIで この記事 の通り設定したところ、IPv4 oveer IPv6も 含めて接続することができた。 WiFiは前に使用していた Aterm WX3000HPをブリッジモードで使用している。

その後、2月末から1カ月近く使用しているが ネットがつながらなくなるという事態には遭遇していない。 通信速度は、特に速くなったということは無い。

感想

今回、ルーターを更新することで ネット接続が安定してハッピーである。

ここに至るまでの状況の変化として、 以前は安定していたネット接続が、どんどん切れやすくなってきたという 印象なのだが、なぜだろう? 動画等の普及でネット使用料が激増しネットの負荷に機器が 耐えられなくなったということなのだろうか。 負荷が増して機器を再起動するというのはルーターの仕様なのだろうか、 仕様だとしたら、もっと購入者に説明すべきなのではないのだろうか と思う。

RTX-830のダッシュボードにはリソース情報で CPUとメモリーの使用量のピーク値が表示されている。 私の環境では現在CPU、メモリともピークが30%程度なのだが これが100%近くになったら 上位機種にグレートアップの必要があるということだろうか。 そういう風に説明してくれると分かり易いと思う。



ルーター不調

ルーターを変えてからネットワークの接続が途絶えることが増えた。 急にインターネットに接続されなくなり、しばらくすると回復する。 不調になると自動で再起動しているようだ。 今のルーターは IPv4 over IPv6の導入の際に購入したもの。 導入前はネットの接続が遅いことがよくあり、 調べるとIPv4側が低速だったのでIPv4 over IPv6を導入し 通信速度は改善された。 ところが数分間インターネットに接続されないような状況が 良く発生するようになった。

ルーターを買い直して解決するなら買い直したい。 いろいろ調べるがアマゾンの評価の低い方を見ると どの製品もつながらなくなることは頻繁に起こるようだ。

ルーターの無線部分と有線部分を分離し、 有線部分の自作とかできないかと調べ Raspberry PiでIPv6ルータを自作した人の話にたどり着く。 頑張ればできるようだが、この記事の中に以下の記述がある。

どうやら利用しているルーターの負荷が高まると勝手に再起動し、その間に通信ができないということがわかった。

ムムムというか、本当か?というか、そんな感じ。 それを回避できるなら自作してみようかとも思うし、 メーカーが付加耐性の強いルーターとか売り出してくれれば...とかも思う。 ルーターを自作するにもわかってないこと多いしなぁ.. 勉強する良い機会か... とか色々考えつつ様子を見ている。

安定したルーターが欲しい。



PCの電源SW壊れる

朝、PCの電源を入れようとするがオカシイ。 電源SWが押された状態のままで戻らない。 電源が入らない。

洗面等を済ませた後、じっくり見てみる。 PCのケーブルを全て外し、フロントパネルを外す。 電源スイッチのキャップ(キートップ?)をパネルに 固定する部分が破断している。 そのため、キートップが戻らない。 キャップを外せば直接SWを押せるので 見た目は悪いが、これで使うことにする。

電源が入らない時は、ケースの買い替え、 最悪PCの買い替えも頭をよぎったが 大事に至らなくてよかった。 ケースを買った時期は不明だが, かなり前だ。 10年以上経っているように思う。 毎朝、電源SWを押しているので 良く持ったと言えるかもしれない。

PCはWindows10で使用中だが、 4年前にSSDに換装してから不満が無い。 買い直しても速くなる気がしないので、 その気が起きない。 どうしてもWindows11に移行する必要が出てくる 等の理由ができるまで粘ろうと思っている。 コアが増えるとメチャクチャ使用感が良くなる アプリとかゲームとか出ないかな?



日本語IME

ホロライブのマインクラフト配信を見ていて思うことがある。マインクラフト内でメンバー間のチャットが頻繁に行われるのだが、ローマ字だと速いが読むのに時間がかかる。日本語だと読み易いが入力に時間がかかる。キー入力がカチャカチャ煩く、明らかに多い。今どきのAI技術ならローマ字と同じキー入力で適切な日本語に変換することが可能だろう。

もしや、そんなIMEが既にあるのではないかと検索し、 Windowsの変換・無変換キーでIMEのOn/Offが切り替え可能なことを知る。設定を試すが上手くいかない。日本語Windows IMEの機能でGoogle日本語入力では使えない。IMEの切り替え機能がWindows + スペースキーであると知らず手間取るが変換・無変換で出来るようなった。

Windows IMEに切り替えたのだがユーザ辞書を移行したい。人名などが変換されないと面倒なのだ。Google IMEでユーザ辞書をテキストファイルにエキスポートし、Windows IMEの辞書ツールの「テキストからの登録」で読み込むがうまくいかない。エラーとなる。しばらく悩むがエラーメッセージをテキストファイルに出力して原因が判明した。文字コードが違うのだ。Google IMEの出力したutf-8のファイルをShift-JISに変換しユーザ辞書への登録が成功した。

AI機能を活用した次世代のIMEの登場が待たれる。



IPv4 over IPv6導入

最近ネットが遅いと感じるようになり、 測定したらIPv4のアップロードが非常に遅かったので IPv4 over IPv6を導入したところ 大幅に改善されたという話。

(2023/04/13追記あり)


ネットが遅い

iPadのアプリの画面表示で待たされることが多くなった。 スプラトゥーン3では金イクラを拾うのが遅いし、 ホコを持つのにさえ時間がかかることがある。

Switchの接続テストの結果を示す。 ダウンロードが 11.7Mbpsなのは、まぁ良いとして アップロードが 644.7Kbpsなのはマズイ気がする。 何度も測定するとアップロードが10Mbpsでることはあるが 1Mbpsを下回ることが多い。

みんなのネット回線速度で通信速度を計測すると IPv4の上りだけ 6.51Mbpsと極端に遅い。 IPv6の方は普通に速いのでIPv4 over IPv6の導入を検討する。

IPv4 over IPv6検討・導入

IPv4 over IPv6というのは IPv6の回線を途中まで使って IPv4の通信を行う技術。 現状、IPv4の回線の方が混雑しているので 高速化されると言われている。

使用しているプロバイダ・ ASAHIネットで IPv4 over IPv6の対応状況を調べると 説明のページがあった。 追加料金無しで利用できるようだ。 ただし使用中のルータ Aterm WX3000HPが対応ルータに含まれていない。 WX3000HP2が含まれているのが悔しい。 1年半前に購入したんだけどなぁ。

対応ルータを検討し、 Aterm WX1500HPを購入。 価格は 9,328円 午後4時にアマゾンに注文したら 翌日の10時前に届いた。

ルータを設置、プロバイダーにIPv4 over IPv6の利用を申請したところ 2時間ぐらいで使用できるようになった。

導入結果

IPv4 over IPv6開通後の通信速度を以下に示す。 多少ばらつくがIPv4上りで300Mbps程度はでるようになった。

Switchの接続テストでもダウンロード 42.5 Mbps アップロード 22.9Mbpsとなった。 接続テストは何度も試したが悪くてもアップロード10Mbpsぐらいは出るので 問題ないだろう。 サーモンランを試すが金イクラを取るのが遅いと感じることは無かった。 気のせいかマッチングも早くなった気がする。

最後に

先日のゲーミングモニター導入とあわせて スプラトゥーン3のプレイ環境はかなり改善された。 しかし、ウデマエはそれほど上がっていない。 気長に楽しんで行きたい。

追記(2023/04/23)

スプラトゥーン3のマッチングは本当に改善されたようだ。 これまでは60秒待たされるのが普通で 120秒以上かかることがあったが、 それが30秒以内に大体マッチングされるようなった。

ただし、問題が発生。 IPv4 over IPv6を有効にするとポートマップが使えないことが判明。 ポートマップというのは、ルータの特定のポートへのアクセスを 特定のホストに割り当てる機能。 お家サーバのホームページをインターネットに公開する時などに使う。わたしの主なHPは、外部のサーバーに移行済なのだが、 まだいくつか残っているものがあり、 それらが外部からアクセスできなくなった。 いまさらIPv4 over IPv6無しの世界には戻れない。 慌てて外部サーバに移行して解決。



TourBox NEO購入

TourBox NEOを購入した。 TourBoxは,いわゆる左手デバイスで アプリを使う際、右手のマウス操作を補助する入力を 行うための機器だ。 スイッチやダイアルなどに、 よく使うショートカットなどを登録して使用する。

購入の動機はIllustratorのショートカットが使いにくかったから。 入力モードをセレクト・モード、 ダイレクト・セレクト・モードに 切り替えるショートカット「V」や「A」をよく使うが IMEがONになっているとIMEに横取りされて ショートカットとしては動作しない。 私はIllustrotarで図表を描くことが多いので 文字入力を多用する。 このためIMEがONになっていることが多く ショートカットV,Aが使えないことが多くイライラしていた。

TourBoxの存在は以前から知っていたが、 必要ないと思っていた。 今回、ひさしぶりに図表を描く機会があり ショートカットにイライラしたので、 24,980円とちょっと高いが 購入することにした。 最新のTourBox Eliteにしなかった理由は価格。 bluetoothは、それほど必要ない。

TourBox Neoが届いたので開封する。 本体に適度な重さがあるのは良いが スイッチ類にあまり高級感はない。 ソフトはダウンロードしてインストールする形式だが、 インストーラーを起動すると「未登録のアプリ」みたいなエラーが出るし、 TourBox Consoleを起動するとwindows defenderが「firewallどうする」 みたいなことを聞いてきて、ちょっと、印象が悪い。

Illustrator用のプリセットをダウンロードする。 セレクト、ダイレクト・セレクトは十字キーに割り当てられている。 Illustatorを起動し、使ってみると IME-ONの状態ではキー入力と同じで使えない。 何かキー入力以外の方法でアプリケーションと 通信しているのかと思ったが、そんなものは無かった。

しかし、解決方法はあった。 TourBoxでは1つの操作で複数のキー入力を行うことができる。 autoHotKeyCtrl-JをIMEをOFFにするキーとして定義、 セレクトを Ctrl-J + V, ダイレクト・セレクトを Ctrl-J + A と 定義することにより、IMEの状態に関わらず、TourBoxの操作1つで モードを切り替えることができるようになった。

Illustratorでは、あと T(テキスト入力モード)ぐらいしか 割り当てて便利そうな操作を思いつかない。 Fushion360やEAGLEなら、まだ色々ありそうだ。 そのうち設定してみよう。



アマゾン・ベストセラー

このところ、ブログの広告をいじっている。 元々広告がないと収まりの悪いレイアウトだし、 Web広告の実際のところを知りたいなどの理由で広告を付けている。 ちなみに収益は微々たるもので20円/dayぐらい。 その見直しを最近やっている。 google Adsenseのサイズの違うCMをページに複数入れたのだが、 サイズ違いの同一のCMが表示されることが多くて面白くない。 そこで A8.netに加入し、別のCMを追加した。 が、まだ面白くない。

希望としては、情報源にもなるようなCMを追加したい。 具体的にはアマゾンのベストセラーリストで アマゾンのアフィリエイト付きのリンクが貼ってあるものを追加したい。 アマゾン・アフィリエイト提供のブログパーツとして あっても良さそうなものだが無い。 自作することにした。

最初、アマゾン提供の Amazon Product Advertising APIで ベストセラー情報を取得できると思っていたができない。 雰囲気的には、昔はできていたが、できなくなった感じ。 昔はアマゾンのRSSでベストセラー情報が提供されていたが 無くなったらしい。 アマゾンの ベストセラーのページをスクライピングして取得するものらしい。

スクライピング・プログラム

取得したベストセラー情報はデータベースに残したいので データベースの操作に慣れているperlで作る。 Web::Scraperを使うと簡単に作れる。 以下のプログラムを作成した。

#!/usr/bin/perl
use URI;
use Web::Scraper;
use Encode;
my $url = 'https://www.amazon.co.jp/bestsellers/books';
my $sc = scraper {
  process '#gridItemRoot', 'data[]' => scraper {
    process 'span.zg-bdg-text', 'rank' => 'TEXT';
    process 'div.a-section img', 'title' => '@alt';
  };
};
for (my $pg=1; $pg <=4; $pg++){
  my $s = URI->new("$url?pg=$pg");
  my $res = $sc->scrape($s);
  for my $d  (@{$res->{data}}) {
    print $d->{rank},' ',Encode::encode('utf8', $d->{title}),"\n";
  }
}

ちなみに、このプログラムはWebページのデザインに依存するので、 書籍のベストセラーページでしか動作しないし、 デザインが変更されると動作しなくなる可能性が高い。

現状、動かすと次のようになる

$ perl test1.pl
#1 【Amazon.co.jp 限定】急がばナナメ(特典:おんりーのサイン&...
#2 道をひらく
#3 コミックマーケット 101 企業ブースパンフレット - クーポン...
#4 バカでも英語がペラペラ! 超★勉強法 「偏差値38」からの英会...
#5 silent シナリオブック 完全版
...

一見正しく動作しているように見えるが問題がある。 このプログラムは$urlで指定された URLに&pg=1などのパラメータを追加し 4ページ分のデータを取得している。 1ページあたり50個のデータが掲載されるので 1位~200位のデータが取れるはずだが抜けがある。 31~50,81~100,131~150,181~200位のデータが抜けている。

原因がわからず色々調べたが perlの LWP::UserAgentを使用すると 各ページ30個のデータしか取得されない。 それだけなら、そんなものかと諦めるところだが、 Pythonのrequestsを使用すると 50個のデータが取得できる。

LWP::UserAgentと requestsの 各リクエストのヘッダーを比較し、 実験した結果 LWP::UserAgentでも agent名に'python-requests'を 指定してやると50個のデータが取得できることが判明した。

通常のブラウザでベストセラーのページにアクセスした時も 30位までのデータを取得後、scriptで31位~50位のデータを 表示している節があるのでrequestsに対する反応の方が 特別なような気がする。 pythonのrequestsを使用しているツールを アマゾン内部で使用しているということなのかもしれない。

最後に

そういうわけでアマゾンのベストセラー情報を取得し 表示することができるようになった。 書籍以外の物品のベストセラーや 画像を使った表示などもやってみたい。 デザインが変わり取得できなったら、 改めて対応したい。



ヒュンデ IONIQ5

第43回 2022-2023インポート・カー・オブ・ザ・イヤーに 韓国ヒュンデのIONIQ(アイオニック)5が選ばれた。 審査員の元TBSアナウンサ安東弘樹が10点入れたせいだ という人がネットにいたので調べてみた。

60人の審査員の投票結果が 公表されている。 すぐに消えてしまいそうなURLなので 魚拓も取っておく。 結果を集計するのに ExcelでWeb上の表を読み込む機能があると最近知ったので 試してみる。

Excelで審査結果を読み込む

  1. データ取得の「Webから」をクリック
  2. Excelで空白のブックを作成。 データタブのデータ取得の「Webから」をクリック。 現れたダイアログにURLを入力しOKをクリック

  3. Table0を選択
  4. 指定されたURLから複数のテーブルが認識されたようなので 目的のテーブル「Table 0」を選択し 「データの変換」をクリックする。

  5. コメント行を削除
  6. テーブルには1行ごとに審査員のコメント内容があるが集計の邪魔なので削除する。Column1のフィルタボタン(下向き三角形)をクリックする

  7. フィルターでnullの行を除外
  8. (null)のチェックを外し、「OK」をクリック。 これでコメントの行が削除される。

  9. 数値化
  10. 表の数字が文字になっているので、数値化する。 Column2からColum13までを選択し 「データ型:すべて」をクリックし「10進数」を選択する。

  11. Excelに読込完了
  12. これでExcelに表を読み込むことができた。 残念ながら各Columnの車種は読み込めないので 手入力する必要がある。

  13. 集計結果
  14. 各車種ごとに得点の合計を表示させた。 安東氏の得点を除いた合計値も表示させた

調査結果と感想

  • 安東氏の投票を抜くとヒュンデ/IONIQ5ではなくルノー/アルカナが インポート・カー・オブ・ザ・イヤーになる
  • しかし点数差は少ないので安東氏一人を買収すれば 工作完了、というわけではなさそうである
  • 48台のノミネート車から10台を審査員の投票で選ぶ1次審査の方が 怪しい気がするが、投票内容が見つからない(公表されていない?)
  • インポート・カー・オブ・ザ・イヤー自体は工作しやすそうだ
  • それでも選考結果を公表しているのは偉い
  • ExcelのWebからデータを取得できる機能は凄い



最低通信速度を保証する時代

ただの思いつき話で申し訳ないが、 記録に残したいので書いておく。 インターネット新時代が来るのではないかと思っている。 Web3うんぬんの話ではない。 Web3は良く知らないが詐欺っぽい話だと思っている。

今のフレッツ光が1Gbpsとか フレッツ光クロスが10Gbpsとか ベスト・エフォートの最高性能で宣伝しているわけだが、 ある程度の最低性能も保証する接続サービスに 需要があるのではないか。 要はスプラトゥーン3での回線落ちを減らしたい。 そういうサービスがあれば、切り替えたいという人も多いのではないか。

それに対応したルータと インターネット・プロバイダが必要だろう。 ルータの設定で特定の機器(Macアドレスで指定)との 通信に帯域を割り当てるというものが追加される感じ。 1Mbpsでもスプラトゥーンの回線落ちは回避可能ではなかろうか? 任天堂やSonyなどゲームメーカが インターネット・プロバイダなどと協力して研究して欲しい。

もうひとつ思うのが、配信者向けマンションとかどうだろう。 かなり高いレベルの通信帯域を保証するマンション。 ビルの低層にインターネット・プロバイダ等が 事務所を構え、その通信帯域の一部を ビルの上層階のマンションの各部屋に割り当てるという形なら 実現できそうに思う。 ホロライブのメンバーが通信環境を気にして よく引っ越すので思いついた。 昔、NTT改革の話の中で 電話局の上をマンションにして 強力な通信環境を提供すると良いんじゃね とかいう話を読んだ記憶がある。

クライアント側の通信環境を良くしていくと 今度はサーバー側の性能が追いつかなくなるというのは よくある話だが、そうやってネット環境が向上して いくのだろう。

ところで、switchがIPv6対応して NAT越え不要となる というようなことはないのだろうか? ゲーム機同士が自由に直接通信できるのがIPv6の提供する 世界ではなかったのか?



サーバー引越

このサイト(www.narimatsu.net)のホストを 自宅サーバから さくらインターネットのVPSに引っ越した。 前のBlog等、未だ引っ越しできていないコンテンツも あるが、おいおい移動する予定だ。

1年前の 自宅ネットワーク切断事故の頃から サーバ移動は考えてたがやっと出来た。 これで自宅ネットワーク接続の負荷が下る。 スプラトゥーン3 開始前にできてよかった。

これで自宅サーバの仕事が少なくなったので Raspberry Pi 4サーバーへの置き換え等も視野に入ってきた。 市中のRaspberry Pi4在庫が復活したら検討してみよう。



ubuntu20.04にperl5.8をインストール

同窓会のメーリングリストの管理をしているのだが、 gmail.comにメールが届かないとか いろいろ問題が出てきたので この機会に、対応と同時に 別のサーバに移動することにした。 使用しているメーリングリストのソフト fml4 は20年前ぐらいに更新が止まっている。 利用者は、まだ多いと思うのだが 皆どうしているのだろう。 最近のperlだとエラーが出る。 $* とか defined(@array)が使えないとかの 簡単なエラーなのだが、変更箇所が多くて大変だ。 perl5.8を使えばエラーが出ないということで、 インストールを試みたが、手こずったので やり方を報告する。

使用している環境は ubuntu20.04 である。

ソースの入手

適当な作業用ディレクトリにソースを ダウンロードし展開する。

$ wget https://www.cpan.org/src/5.0/perl-5.8.9.tar.gz
$ tar xzf perl-5.8.9.tar.gz

コンパイルする

$ cd perl-5.8.9
$ ./Configure -de -Dprefix=/usr/local/perl-5.8
$ make

以下のようなエラーが出る。

cc -L/usr/local/lib -o miniperl \
    `echo  gv.o toke.o perly.o op.o pad.o regcomp.o dump.o util.o mg.o reentr.o hv.o av.o perl.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o xsutils.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o  | sed 's/ op.o / /'` \
    miniperlmain.o opmini.o
/usr/bin/ld: pp.o: in function `Perl_pp_pow':
pp.c:(.text+0x2d10): undefined reference to `pow'
/usr/bin/ld: pp.o: in function `Perl_pp_modulo':
pp.c:(.text+0x3adb): undefined reference to `fmod'
/usr/bin/ld: pp.o: in function `Perl_pp_atan2':
pp.c:(.text+0x898c): undefined reference to `atan2'
/usr/bin/ld: pp.o: in function `Perl_pp_sin':
pp.c:(.text+0x8a8a): undefined reference to `exp'
/usr/bin/ld: pp.c:(.text+0x8b49): undefined reference to `sqrt'
/usr/bin/ld: pp.c:(.text+0x8bab): undefined reference to `cos'
/usr/bin/ld: pp.c:(.text+0x8bc3): undefined reference to `sin'
/usr/bin/ld: pp.c:(.text+0x8c23): undefined reference to `log'
collect2: error: ld returned 1 exit status
make: *** [makefile:314: miniperl] Error 1
$

"-lm"とか指定してやればよさそうだが、 どうすれば良いかわからない。 ネットで調べると古いperlのインストールに苦労している人は 多いらしく情報がいろいろある。

結論を言うと以下の方法でコンパイル&インストールできた。

$ make distclean
$ ./Configure -de -Dplibpth=/lib/x86_64-linux-gnu -Dprefix=/usr/local/perl-5.8
$ make
  ...
$ make test
  ...
$ sudo make install

調査方法

/lib/x86_64-linux-gnu などという謎のディレクトリを どう発見したかを説明する。

まず簡単なcのプログラムを用意し、 コンパイル&動作することを確認した。

$ cat hello.c
#include <stdio.h>
#include <math.h>
int main(){
  printf("Hello World\n");
  printf("root 2 = %f\n", sqrt(2));
  return 0;
}
$ cc hello.c
$ ./a.out
Hello World
root 2 = 1.414214
$

lddで使用しているライブラリを表示させる。

$ ldd a.out
        linux-vdso.so.1 (0x00007ffc193d1000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb2ce7f2000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fb2ce9f4000)
$

/lib/x86_64-linux-gnu という見慣れぬディレクトリがあり、 中には大量のライブラリがあった。

$ ls /lib/x86_64-linux-gnu/
Mcrt1.o                              liblber-2.4.so.2@
ModemManager/                        liblber-2.4.so.2.10.12
... 大量のライブラリ ...
libkyotocabinet.so.16.13.0           xtables/
$

ということで、Configureで、このディレクトリを指定すると perl-5.8をコンパイルできた。 使用しているシステムは ubuntu20.04だが、 debian 10.10にも同じようなディレクトリがあった。 ネットの情報を見ていると CentOSなどでは、 この問題は無いかもしれない。



ThinkPad トラックポイント・キーボード購入

PCのキーボードは ThinkPadトラックポイント・キーボードを 使用している。 キーボードにマウスカーソルを移動させる トラックポイントとマウスのボタンに対応する 3つのボタンが付いている。 トラックポイントは便利で 一度使うとやめられない。 私はThinkPad535以来なので 20年以上使用している。 ThinkPad自体はX200を最後に 使わなくなったが キーボードだけは幸い Renovoが供給を続けているおかげで 使用することが出来ている。

使用中のキーボードで、 キーが反応しないことが 起き始めた気がしたので 次のキーボードを注文。 前回購入は 2019年8月なので2年半ぐらいか。



モニターアーム導入

最近またモニタの1台が映らなくことがあった。 2日ほど2モニタで過ごし、どうしようか考えた。 3モニターに慣れると2モニタでもつらい。 モニターアームを導入し、もっとたくさんのモニタを 設置することを思いつく。 結局、原因はケーブルの緩みで刺し直しで治ったのだが モニターアームでモニタを立体的に設置するのは悪くない。 だいたい22インチモニタの横配置だと左右のモニタは 遠くて見づらい。モニタ横のスペースも遠くて使いづらい。 ということで買ってみることにした。

購入したのは EEX-LA018という ポールにモニタ2台を上下に設置できるもの。 価格は税込み 4,480円。 楽天カードで溜まった 楽天ポイント消化のため、楽天市場で購入。 楽天で買うのも面倒なので Amazonのクレジットカードに乗り換えようと思っている。

組み立て

モニターアームはコンパクトなダンボールで届いた。 部品は小さいダンボールに小分けされていて 丁寧が印象。組み立てに必要な6角レンチも3種類(6,4,3mm)付属。 ただし6mmはメチャ力が必要な場面が多いので 強力な6mmのレンチもあると安心だ。 幸い手持ちに長いレンチがあった。

組み立ては説明書の支持に従い順調に進んだが、 モニターの位置調整には苦労した。 モニターの上下角を軸のボルトの締込みだけで 固定するのには無理がある。 もっと工夫があって然るべきだが 安いのでしかたない。 モニターが下を向いてしまうので 支えを3Dプリンタで作成。非力気味だがなんとか維持出来ている。

感想

出来上がりには満足している。 モニタは見易くなったし、横のスペースも近くなり使いやすくなった。 上に配置したモニターは作業には向かないが、 ほぼMusic Playerで Youtube Musicか Rani Music専用なので問題ない。 マウスカーソルを見失いやすくなり Shake To Findの出番も増えた。

1920 x 1200のモニタの(現状3枚だが) 2x2構成なので 4K(3840x2160)のモニタ1枚に置き換え可能ではと思ってしまう。 それなら設置は楽だ。 しかし Dell 27インチ 4Kモニタだと細かくて見えそうな気がしない。 40インチクラスの4Kであれば今と同程度で使えそうだ。 価格も5万円前後のようだ。 しかし、これをやってしまうと、机に40インチTVを置いて プログラムする人になってしまう。 まぁ、現状でもそんなものではあるのだが...

これに移行してしまいたい衝動あるが、問題は既存モニターの廃棄。 使用可能なものを廃棄するのは気が引ける。 ヤフオク等で売るにしても梱包が面倒だ。 梱包・送料をカバーできるような値段がつくだろうか? そういえば、今回上段に設置した白枠のモニタは 中古で6,900円で購入したものだった。 世の中、廃棄待ちモニタで溢れているのではなかろうか?



無線ルーター購入

無線ルーターを買い替えた。 NEC Aterm WG1200HS を使用していたのだが WiFiの接続数が上限の16に達していたことと 5Gの通信速度が遅いことが理由。 そういうことなので 接続可能数が30程度あることが 最低条件となる。 NEC Atermだと PA-WX3000HP以上、 価格的に PA-WX3600HPぐらいまでが候補になる。

価格.comのレビューを見ると Atermの評判がいまいち良くない。 バッファローのAirStationの方が評価は 高そうなのだが、色々考えてAtermにすることにした。 NTT-XのサイトではPA-WX3000HPの方を推している印象だったので そちらにした。

届いたので設置する。 プロバイダには直ぐに接続でき、 有線接続の機器は普通に使えるようになった。 無線接続はssidとパスワードを前のものに 合わせれば、そのまま使えるのだが 工場出荷時のものを使用しているので 若干不安がある。 今回はパスワードを変更し WiFi接続機器の設定を全てやり直すことにした。

いろんな機器の設定をやり直すことになったのだが WiFiがつながっていないわけなので、なかなか大変。 スマホの専用アプリを使ってbluetoothで通信し 設定し直すものが多い。

自作の機器は、プログラムのソースを書き換え プログラムを書き直すことになった。 自作の温度センサーがたくさんあって これらがほとんどWiFi接続なのだが、 これらは今後 BluetoothのAdvertiseで データを送信するよう変更したい。 そうすれば消費電力も少ないし、 ルータの接続数を消費することもない。

なんとか一日で、ほとんどの機器の設定を終わらせることができた。 5Gの通信も普通にできているようだ。 ルータの管理画面の情報密度が低いのが不満。 WG1200HSで表示されていた接続数が表示されなくなった。 次にルータを交換する時は ssidとパスワードは変更しないようにしよう。



ネットで市民運動

例えば「レジ袋の有料化は許せない。撤回すべき。」 と考えている市民があるとする。 どのようにすれば、この市民は思いを実現することができるだろうか? あるいは実現するよう努力する方法があるだろうか?

市民の政治参加であれば、 まずは投票であろう。 しかし、レジ袋有料化廃止を公約に掲げる政党や候補者が いなければ投票のしようもない。 いたとしても、日本の有権者が1億人、投票率が60%として 1/6千万分の意見表明に過ぎず、 実現に努力できた感じはしない。

となると、次は市民運動団体を立ち上げ、 賛同者を募ることになるだろう。 と言っても、デモ行進や署名活動が 政治圧力になる気はしない。 投票行動で政治家に圧力をかける というのが真っ当なやり方。 100万票集められれば、 十分な影響力を行使できると思う。

これを現実に行うとすると 大変な事業だ。100万票レベルを目指すとなると、 全国の都道府県、市区町村レベルにまで支部を持つ 全国組織が必要となるだろう。

ネットで市民運動

しかし、これをネット上で行うとしたらどうだろう。 現状、そのようなことができるサービスやアプリが存在しているわけではないので、 将来、それらが整備された上での話だ。 どのようなサービスがあれば、市民運動をネット上で行い、 100万人の賛同者を集めることができるだろうか。

まず欲しいのは、議論を行う掲示板だ。 レジ袋有料義務廃止について議論を行い、 論点を整理する。そこである程度の賛同者を 得られるようであれば、運動の執行部を形成し、 運動を始めることになる。

次に欲しいのは、議論で得られた情報を整理し、 みんなに提示できるサービス。 Wikiをイメージしている。 ここにレジ袋有料義務廃止運動の具体的目標(省令廃止?)や 根拠、反対意見に対する反論などを書いておく。

twitterで賛同者数を調べる

最後に欲しいのは、賛同者の数を調べるツール。 例えば、毎週決まった曜日に執行部が レジ袋有料義務廃止の ツィートを行い、賛同者はそれを リツィートする。 リツィートはやりづらいという人はイイネを押す。 ツィートの2日後ぐらいで、リツィート数とイイネの数を記録し、 賛同者の数とする。

賛同者の数を得ることにはいくつものメリットがある。 まずは、活動の状況を表す数字を得ることで、 活動の状況を知ることができる。 この数字が増えていれば、活動は順調に拡大しているのだろうし、 減っていれば、うまく言っていないのだろう。 増やしていくためには、ツィートの内容も洗練されている必要があるし、 活動内容や目標も説得力のあるものである必要がある。

次に、賛同者に具体的な行動をお願いすることで、参加意識を高める効果がある。 賛同者は参加することにより、リツィートの数、イイネの数にも興味が湧くのではないか。 活動自体への興味もわき、より深く活動に関わってくれるのではないかと期待できる。

最後に、この数が大きくなれば、政治家、政府、社会にたいして影響力を発揮できる。 ただし、それには、相当大きな数、100万近い数が必要だし、 その数が選挙にどの程度影響するかは、選挙結果で答え合わせされることになる。

最後に

まだまだ足りないサービスはあると思うが、 ネットを利用することで市民活動が容易になり、 市民が政治に参加しやすい社会が実現可能であると考えている。 そのために 日本ネット会議という掲示板を始めた。

市民が政治に参加しやすい社会になったら良いねと思ってくれる人は、 是非、日本ネット会議にユーザ登録し、 雑談 練習でもいいので何か投稿して欲しい。 もし、問題(バグ?)があって投稿できないとか 投稿の仕方がわからないという場合は question@net-kaigi.jp まで連絡して欲しい。



日本ネット会議始めました

日本ネット会議という掲示板を始めた。 URLは https://www.net-kaigi.jp/bbs だ。 主に政治についての議論、 日本をよくするための議論をする場にしたいと思う。 それ以外の趣味系の話題・議論も歓迎する。

掲示板のシステムは新規に開発したもので NnsBbs(NetNews Style Bulletin Board System)と名付けた。 ソースは githubに公開しているが、 別の人が使う程には整っていない気がする。 この掲示板は参政党内部の議論用に開発したのだが 受け入れられなかったので 参政党を辞めたという経緯がある。 開発した掲示板を捨ててしまうのも嫌だし 政治を議論する掲示板も欲しいので 独立して運用することにした。 名前は「日本ネット会議」というのを思いつき、 検索するが使われていないようだし、 net-kaigi.jpというドメインも取れたので これで行くことにした。 日本会議と名前が似ているが関係は無い。

情報を集めたり、整理するための議論がしたい。 議論をして自分の意見の不備や、 違う意見の人の根拠、背景などを知りたい。 自分の意見に同意してくれる人、してくれない人がどれくらいいるのかを知りたい。 マウンティングや人を侮辱するための議論は要らない。 そんな議論の場が欲しい。

掲示板のシステムは開発途上で、 足りない機能やバグもあると思う。 修正や機能追加は今後も行う予定なので 一度使ってみて欲しい。 議論を政治活動に結びつける機能が必要であれば、それらの開発も検討したい。

掲示板への投稿にはユーザ登録が必要で、 ユーザ登録にはメールアドレスが必要となる。 匿名掲示板ではないが、メールアドレスが公開されることはない。

捨てメールアドレスでも良いので登録してもらって、 練習あるいは 雑談、あるいは それぞれの話題の掲示板に 何か書き込んでもらうとありがたい。



ネットワーク途絶、原因はセミ!?

先週の水曜日、7月28日夜7時頃スプラトゥーンプレイ中、ネットワークが切れる。 ルータの状態を調べると「インターネット未接続」と表示されている。 ルータ再起動、ONU電源入れ直しなど試すが復旧しない。 要因は3つ考えられる。ルータかプロバイダーかNTT(フレッツ光)。 ルータも古いし暑いのでルータの書い直しを考えたが 書い直し後もネットワークにつながらないとイヤなので 乏しいネット環境でいろいろ調べるとフレッツ光の故障などの ケースもあるらしい。翌朝113に電話し、指示に従いONUの状態を 確認すると「認証」のLEDが点灯してない。光が来ていないらしい。 フレッツ光側の故障と確定。 修理は混み合っているということで翌週の8月3日火曜日ということになった。

修理までに1週間近くあり、それまでネットが使えないのはつらい。 GMOのWiMAX2 Homeルータを申し込む。 20日以内なら解約手数料無料らしい。 届くのは2日後の7月31日土曜日。

ネットが使えないのはつらい

わかってはいたがネットが使えないのはつらい。 仕事をする気になれない。 ここ数年でネット依存が進んでいるので、 マンガも読めない、ラジオも聞けない、 ゲームもできない、リモコンも動かない...。 たまにスマホでtwitterを見ることぐらいしかできない。 仕方がないのでマインクラフトをやってたり、 kindleで前に買ったマンガを読んでたりする。

ホーム・ルータ届く

ネット途絶3日目にGMOからWiMAX HOME 02が届く。 装置は綺麗だが新品ではない。 使用感がある。SIMカードも挿入済み。 返却用の宅配便の伝票も同梱されていたので 短期使用の人が多いのだろうと思われる。

接続は簡単で直ぐにネットと接続できた。 有線ポートがあるのでパソコンやサーバもネットに接続できた。 通信速度もフレッツ光と違いを感じない。 通信量が3日で10GByteを超えると速度制限が かかるらしいが、自分の通常の通信量を把握していないので 普段どおり使ってみることにしたら 初日で10GByteを突破した。 速度制限がかかったのは2日目からで 1Mbpsぐらいに制限されているようだ。 これでも画質を下げれば動画1本ぐらいは見れる。

DNSの情報を更新し、外部に接続しているサーバも 繋がるようにしたかったが、DynamicDNSサイトの 設定がうまくいかない。 WiMAX HOME02でポートマップの設定はできたが、 外部への接続がGMOのサーバを経由しているようで WiMAXのWAN側のIPアドレスが伝わらない。 調べるとVPNを利用してやる方法があるらしいが 諦めてフレッツ光の復旧を待つことにする。

2日、3日とホームルータを使っていくと 速度制限が解除されたり掛かったりする。 速度制限の有無はルータのLEDの色で わかりやすいが、こうやって10Gbyte/3日という 感覚を覚えされられるのだろう。 調教されるみたいだ。

フレッツ光修理、原因はセミ!?

修理に高所作業車が来たので、ちょっと驚いた。 作業する人は二人で、ONUから光ファイバーを外し 測定器に接続、13m先ぐらいで切れているというのが わかるらしく、外を調べてきますということで出ていった。 その後、故障箇所がわかりにくかったり、 交通量がある道路での作業だったりで時間がかかり、 午前10時ごろに始まった作業が終わったのが午後5時頃。 故障の原因は、確定はできないが状況から想像するに セミではないかということだった。 セミがケーブルを刺し、中のファイバーが折れるということが よくあるらしい。 今のケーブルは対策がされているが、 古い2004年頃のケーブルだったので未対策だったようだ。 先週の水曜日の午後7時頃、道路沿いの電線に止まった セミがケーブルを刺し通信が途絶したわけだ。 なるほど...あの道にはセミが多いし、納得できる。

最後に

フレッツ光は2004年にb-flets開通以来、 長期間の故障は今回が初めて。 熊本地震でも故障しなかった。 今回の事故を含めても信頼性は高いと思う。 しかし、ネット依存は進む一方なので ネットが繋がらないのは本当に困る。

ネット社会を推進していく上で、 現状の各家庭に光ファイバーを引くというやりかたのままで 良いのか疑問である。トポロジー的に無駄がないか? 多重化し難いのではないか? 過剰に工事が必要ではないか?

今回、ホームルータが優秀なリリーフ手段であることはわかった。 将来は、5G対応等でより高速、低価格な広域WiFiのほうが 全体として負担も少なく、多重化等で対故障性、対災害性能も 高いシステムが提供可能ではないかと思ったりする。

あと、このブログも含め自宅サーバで提供している外部サービスを 外部のサーバに移設を検討すべきだと思った。 となると、その分の費用をどこからか捻出したい。 今の自宅サーバーの電気代は、サーバーの消費電力を400Wとして

0.4[kw]×24[h/日]×365.25[日/年] × 20[円/kwh] = 70,128[円/年]

となるので、これをラズパイに置き換えられれば外部サーバー代 ぐらいにはなる。問題はラズパイで pukiwikiを動かして 反応速度に満足できるかどうか... そのうち試してみよう。



SSL化しました

このブログのサイトをSSL化(https化)した。 それに伴いURLも http://blog3.narimatsu.net/ から https://www.narimatsu.net/blog3 に変更した。 古いURLにアクセスすると 新しい方にredirectされる。

SSL化した理由は、 chromeで「保護されていない通信」と表示される ようになったことと、 990円/年という安いSSL証明書を知ったこと。 この証明書はドメイン単位なので blog3.narimatsu.netを止めて www.narimatsu.netに統合した。

SSL化によって このサイトのアクセス傾向が変化するのか しないのか興味があるところだ。



ビデオボード購入

ビデオボード: ASUS NVIDIA GeForce GT 710 搭載 ファンレスモデル 2G GT710-4H-SL-2GD5を購入した。 HDMIポートが4つ、 PCI Express x16なので 通常のビデオボードがあっても追加できるボードだ。

購入した理由は、 度々 トラブルを起こしていたディスプレイが、 ついに電源再投入でも復帰できず、 システムが落ちるようになってしまったから。 問題のディスプレイの電源を落とし 2台体制で使っていたのだが、 贅沢とは恐ろしいもので 3台に慣れると2台では不満が出る。

Mojoliciousを使ったWebシステムを開発中、 中央のディスプレイにはVSCodeを開き、 右ではchromeにWeb画面+開発ツールを表示、 あと左のディスプレイにLinuxのコンソールを起き、 Mojoliciousのエラーメッセージを見たい。 そこで良さげなビデオボードを物色していたところ PCI Express x16でHDMI4ポートのボードが目についた。

ボードが届いたので 接続すべく状況を調べると、 3つのディスプレイは Display-Port + DVI + DSUBで HDMIが繋げないことが判明。 今のビデオポートの出力は Display-Port + DVI + HDMIで、 HDMIはDVI変換器を介して接続していた。

とりあえず HDMI-DVI変換ケーブルを注文したが、 接続も、いろいろ変えているうち 3台とも表示できるようになってしまった。 調子が悪いのはDisplay-Portなのだが、 ビデオボード側のコネクタが緩い気がする。

問題が発生するのは、サスペンドから回復し 画面が復帰するタイミングなので まだ発生していないだけのような気もするが、 HDMI-DVI変換ケーブルを待ちつつ様子をみることにする。

今回購入したビデオボードが使えたら、 あと4台ディスプレイが接続可能になる。 つなぐ予定は無いが、安い液晶タブレットとか試しても良いかもしれない。

しかし贅沢は怖い。もうディスプレイ1台とか ノートPCとかで仕事ができる気がしない。



postgresqlでトラブル

内製の業務管理システムでトラブルが発生。 調べると 業務ごとに1つづつしか無いはずのレコードが 複数ある。 Linuxのサーバを移行した際の データベース移動で間違えたのではないかと思われる。 一意制約をつけておくべきだったと反省する。

postgresqlを使ったシステムなので SQLでなんとかならないかと試行するが上手く行かない。 仕方がないのでperlでDBIを使い データを修正する簡単なプログラムを作成し、 希望のテーブルができた。

このテーブルをシステムに組み込めば完成だと思ったが エラーが発生。「Encode.pmで Wide文字列を decodeしようとした」というエラーメッセージをperlが吐く。 エンコーディングはutf8なので perlでutf8フラグが付いているとか付いていないとかの 話かと思い、いろいろ試すが解決しない。

前のテーブルに戻すとエラーは発生しない。 新しいテーブルのデータと比較するが 違いがない。試しに新しいテーブルのデータを 全て削除するがエラーがでる。 ここでデータの問題ではなくテーブルの属性の 問題だと考え、いろいろ調べるがわからない。

こうなったら古いテーブルをコピー、中身を 空にして、新しいデータを追加してやれば 属性は引き継がれるのではないかと考え、 postgresqlのテーブルのコピー方法を読むと テーブル作成後、所有者や権限も設定しろとある。

権限? ここで新しいテーブルに権限を付け忘れていた ことに気がつく。 GRANT文で権限をつけたところ システムは動くようになった。

GRANTつけ忘れで随分長いことハマってしまった。 Encode.pmのエラーの原因がGRANTだとは ちょっと思いつかない。

perlの encode/decodeはわかりにくい。 utf8フラグが何なのか未だ理解していない。 最近の言語だと binary stringとstringを 区別することでわかりやすくなっている。 perlも早くそうなってほしい。



VSCodeでTeX

ちょっとした文書を書く機会があり、 どのソフトを使うかちょっと悩む。 1枚ものならAdobe Ilustratorが最強。 打ち合わせ用の文書ではExcelを使うことも多いが 今回はどちらもふさわしくない気がする。 Wordは論外なので久しぶりにTeXを使うことにする。

折角なので VSCodeで TeXを使う環境を 調べてみる。 VSCode で最高の LaTeX 環境を作るという記事を参考に インストール。 使ってみると確かに使いやすい。 使いやすいと思った点を列挙する。

  • 自動でpdfを生成、プレビューとして表示
  • プレビューのpdf画面をCtrl+Clickすると、対応するソースにカーソルが移動
  • \section等の構造を理解し、アウトライン表示&ジャンプ
  • 各種補完とスニペット

tex上のエラー場所がわかりにくいという問題があるが VSCodeのターミナルで手動でTeXを動かせばすぐにわかる。

なかなか使いやすくて時代が進歩したと思うが、 まだTeXとか使っていて進歩したと言えるのかとも思う。 TeXの歴史 - TeX Wikiによると TeXが使われ始めたのは1980年代。 自分的には emacsがVSCodeに置き換わっただけでも進歩かもしれない。

人類の研究開発リソースが充分ではないので、ごく一部づつしか進歩していかないのか とも思ったりするが、TeXという巨大(?)ソフトに立ち向かおうとしても 個人にしても集団にしても、勝算が立たないということかもしれない。 VSCodeの場合、Chromiumという オープンソースのソフトウエアの高い可用性に、 まずNode.jsが気が付き、 それにElectronが続き VSCodeに到達した。 ある種のお得感が無いとオープンソース開発が進まないのかもしれない。



Linuxサーバ製作

新しくLinuxサーバを1台製作した。 webサーバ等に使用している現在のサーバが 何の間違いか160GbyteのHDDを使用しており 使用率が88%に達し心配になったのが理由。 性能面に不満は無いが、最近のCPUと SSDで性能がどう変わるのかを見てみたい という希望はある。

ネットで部品を調べ、売れ筋No.1あたりを選んでいく。 AmazonではCPUが品切れだったので ドスパラで選んでいったら 部品構成は、こんな感じになった。 HDD(8T)はバックアップ用。 LinuxサーバでWindowsOSを買わなくて済むので安い。 グラフィックボードも不要なのがありがたい。

品名 購入価格
(税込)
製品
CPU 18,780円 Core i5 10400 BOX
マザーボード 11,528円 ASRock H470M Pro4
メモリ 7,980円 GSK F4-2666C19D-16GNT(DDR4 8Gx2)
SSD 12,798円 WD Blue SN550(M.2 1TB)
HDD 14,078円 SEAGATE ST8000DM004(8T)
ケース 2,973円 Thermaltake CA-1J1-00S1NN-00
電源 6,083円 玄人志向 KRPW-BK650W
CPUファン 3,828円 虎徹MARKⅡ775-2011
合計 78,048円

金曜日に注文し日曜日午前中に到着。 PCを1台組むのは久しぶりなので 最近の部品に感心しつつ慎重に組み立てる。 ケースも安いのによく出来ていると思うのだが、 マザーボードへの結線で苦労した。 タダでさえ狭いのにCPUファンがバカでかい。 マザーボードを取り外したりしつつなんとか結線した。 次にケースを購入する際には、この辺にも考慮した製品を検討したい。

電源を投入すると無事BIOS画面にできたので、 USBメモリーにdebian10のイメージを書込み Linuxをインストール。 こちらは問題なく終了。 その後 キーボードのCapsLockをCtrlキーにする設定をしたり、 sshを使えるようにしたり、サーバーなのに 20分ぐらいでサスペンドする問題に対応したりして 普通にLinuxサーバとして使えるようになった。

性能だが、SSDの効果だと思うが起動は早い。 /proc/cpuinfoで bogomipsを比較すると 旧サーバ(Intel Pentium G6950@2.80GHz)は 5586.32で 新サーバ(Intel iCore5@2.90GHz)は5800と大差ない。 コア数は2→6で3倍だし、 なによりSSDなのでDatabaseとWebサーバの反応が早くなることを期待している。

今後は旧サーバの機能を新サーバに移行しなければならない。 かなり手間がかかるので、資料の整理等も試みつつ、 徐々に行っていきたい。

現在のload averageのグラフを下に示す。 完全移行後、どう変化するか楽しみだ。



PCの電源故障

夜、Youtubeを流しながら Fusion360をいじっていたら 突然PCがブラックアウト。 画面が消えてしまった。 またビデオ/オーディオまわりドライバーのバグ? 待てば再起動する?と考え待つが 再起動の気配がない。 見るとPCの電源が落ちている。 電源SWを押しても入る様子がない。 電源が壊れたようだ。 長いこと使っているので壊れても不思議は無い。

翌朝、電源SWを押すと電源が入り 何事もなかったようにWindowsが起動した。 いつ、またブラックアウトが起きるかわからないので、 そのまま使うわけには行かない。 近くのPC工房で電源を購入し交換した。

使っていたのは 玄人志向の400W、 PC工房で安価なものを探すと玄人志向のものしか なかったので、若干容量をあげて600Wのものを購入した。

電源の交換はスムーズに完了。 交換後、まだブラックアウトは起こっていない。



日々のデータとgrafana

から室温の計測に興味があって、 なんやかんやと計測してきた。 現在は15個の温度(室内13,屋外2)を計測し、 grafanaでグラフ化している。 grafanaは汎用のグラフ化ツール。 汎用ってどうよ、と思っていたが すぐにグラフ化できるのは便利だ。


グラフの説明をする。

居室の温度が9個ある。 180cmの棒に4個のセンサーが固定したもの が2本で8個、 あと netamoの室内モジュールがあるので9個となる。 この8つの室温センサーの値は、通常は余り差が出ないが、エアコンをつけると如実に差が出る。 この部屋の温度が常時高めなのは パソコンのせいだと思われる。

この冬、低温で3Dプリンタの調子が悪くなった時、 3Dプリンタ周りに温度センサーを4個設置。通常は人がいない部屋なので、温度低め。 3Dプリンタを動作させると、内部の温度が少し上昇する。

屋外の温度センサーは2つあって、 1つは netatmoの屋外モジュールで、 もう一つはESP32を使用した自作センサー。 netatmoには温度以外に湿度、気圧、CO2濃度の センサーもついているので、これらの値も表示している。データは、netamoのサーバ(netatom.com)から pythonのプログラムで取得している。

自作ESP32温度センサーは、 タカチの防水ボックスSPCMに 電池駆動のESP32基板を入れ、 防水のケーブルグランド経由で DS-18B20防水型温度センサー を引き出したもの。 単3電池2本で動作する。

防水性は完璧で気に入ったのだが、 実際に動作させると電池の寿命が1ヶ月も無い。 TPS61291昇圧コンバータの使用を止め、 電池の直接駆動に切り替えるが、 あまり変化は無く。 WiFi接続を止め、Bluetooth接続に 切り替えたら、3ヶ月程度持つようになったので、 そのまま運用している。 温度と一緒に電池電圧の変化も記録している。 グラフを以下に示す。

netatmo屋外モジュールは単4電池4本使用だが、 なかなか寿命が長い。1年以上持つのではなかろうか。 省電力運用には、まだまだ修行が必要そうだ。

とりあえずデータをdatabaseに放り込んでおけば grafanaでグラフ表示できるので、なかなか便利だ。 グラフ表示の機能を改善したいところもある。 grafanaの改造で対応できるのか、 自分で独自に作ったほうが楽なのか、 悩んでいる。



PC不調からの回復

Windows機が不調。 Youtube再生中、突然固まる現象が1日に数回発生。 サウンド・ドライバーで致命的なエラーが 発生したと表示されることもあるが、 表示されず再起動することもある。 SSDの不調を疑い、ケーブルの交換を してみるも症状は変わらず。

新しいPCの購入が頭をよぎるが とりあえずWindows10をupdateで 1909にし、 サウンド・ドライバーも削除し 再インストールしたところ その後現象は発生していない。 解決したのだろうか。

Windows機で問題が起こると SSDを疑ってしまうが、 よく考えると SSD導入以前から たまに問題は発生していた。 グラフィックのドライバー関連で 問題が生じていたように思う。 ということはSSDだけ疑うのは 間違いなのかもしれない。

このWindows機は、 マザーボードやら CPUやらグラボやら 中身の交換で更新しているので、 ケースが古い。 調べたら購入が2008年で 当時 Windows-XPを入れて使っていた。 そこで、ケース、マザーボードから 一新したいという欲望が 前々からあるのだが、 一新しても性能はあまり上がらない という気がして購入には至っていない。

性能自体は、昨年の 近代化改修以降 極めて満足が行く状態。 SSDの威力は抜群。未導入の方には導入を お勧めする。



ディスプレイその後

ディスプレイの調子が悪い、画面が突然、砂の嵐になることがあると 書いた。ある時、解決方法がわかり、今では3つのディスプレイで 安定して利用できている。

そもそも、どういう現象が起きるかというと、 PCをしばらく操作せず、ディスプレイがOFFになった状態から 復旧するときに、まれに表示がもどらないことが起こる。 調べるとディスプレイ自体が認識されていない。

それでディスプレイの故障を疑い、メーカに修理を依頼し 現象が再現しないと送り返されたり、 ケーブルやグラフィックボードの故障を疑ったのだが解決しなかった。

解決方法は偶然みつかった。ディスプレイの電源を入れ直すと復旧する。 ディスプレイ前面の電源SWで普及することが多いが、 それで駄目なら背面のロッカースイッチで電源を入れ直すと 100%普及する。

なんかディスプレイ側ではなくグラフィックボード側の不具合の 気がするが、グラフィックボードを入れ替える機会がないので 確かめられない。

そういうわけで、壊れたと思って買い足した中古のディスプレイと あわせて3台体制になってしまった。 正直、脇のディスプレイは遠くて見ずらい。 囲むように配置すれば良いのだろうが、 そうなると、よこの机とか棚とかが使いづらくなってしまう。 なかなか悩ましい。



Raspberry PiのUSBメモリのファイルを実行可能にする

Raspberry Piを業務で使用する時は fsprotectとaufsを使用し、 いつでも電源切断可能な状態で運用している。 情報を保存する必要がある場合には USBメモリに保存する。 今回、顧客からプログラムのアップデート機能を 追加して欲しいという要望があった。 プログラムをUSBメモリに置けば良いかと考え、 試すが動かない。

調べるとUSBメモリ上のファイルに 実行可能許可ビット(+x)が付いていない。 chmod +xしても付かない。 ちなみにファイルシステムは Windows機からも使用可能なようにvfatにしてある。 おなじくvfatでmountしてある /bootパーティションは すべてのファイルに +x がついている。 よく見る風景だ。

なんやかんや調べたところ、USBメモリは X-window動作→ファイルマネージャ(pcmanfm)が udisks2を使用してmount,この際 showexec という オプションを付けているため +xがつかないらしい。

+xをつけないのは、セキュリティの面から理解できる。 しかし、今回は何とかして+xをつけたい。 いろいろ調べて udisks2を止めて usbmountでマウントすると オプションを指定できるとか、 udisks2が使用する mountコマンド があるフォルダーを指定できるので、ここに偽のmountコマンドを 置いてオプションをいじる方法などみつけたが、いまいち 気が乗らない。

調査の途中、udisks2のソースで"showexec"かかれた場所は 特定していた。 udisksはパッケージで管理されているので、 ソース入手、コンパイル等はできるはず、ということで やってみたら無事 +x をつけることができるようになった。

くわしくは Qiitaに書いたので参照して欲しい。



SSD故障(2)

前回の記事のあと SSDからWindowsが起動しないことが再度発生した。 ケーブルを指し直すと直ったので、 シリアルATAのケーブルが原因のように思えたので、 ラッチ付きのシリアルATAケーブルを購入するが 現象が再発していないので未だ交換していない。

Windowsのバックアップソフトは、 検討した結果、 HD革命/BackUp Nextを購入中。 タイムセール中でprofessinal版が 3,879円。



SSD故障?

朝、PCでネットを見ていたら、システムが固まる。 しばらく待っても変化がないので、 リセットするとシステムが破壊されている的な表示。 電源を入れ直すとSDDではなくHDD側から起動されている様子、 10分ほど待つと、ディスクが修復されました的な表示がされた後、 HDD側のシステムが起動したようで、各種アップデート・プログラムが起動した。再起動するとSSDで起動した。

特に損傷をうけた感じは無いが、不安になり Windowsのシステムのバックアップを検討。 とりあえず、Windowsの機能でバックアップを行う。 定期的に自動でシステムのバックアップがような ソフトが欲しい。有料でも良い、探してみよう。

翌日、PCを起動すると同じ現象が再発。 「A disk read error occurred / Press Ctrl+Alt+Del」と表示される。 Ctrl+Alt+Delを押しても反応しない。 今回はリセットを押さず、電源を落とし、 SSDのコネクタを確認し、電源を投入したところ 無事起動。 その後、数日経っているが問題は 再発していないので、コネクタの接触不良だった ということだろうか。

Windowsのバックアップ体制は、この機会にちゃんと 作っておこうと思う。



PC近代化改修

Youtubeで 吉田製作所の動画を見るようになり、新しいPCを組みたくなった。 私のPCも古くなったので、新しいPCを導入しても良いのだが 構成を考え始めて悩む。 CPUやマザーボードなどに費用が掛かるのは 良いとして Windows10を買い直す費用が惜しい。

そもそもCPUやマザーボードを換えたからと言って 速くなりそうな気がしない。 効きそうなのはSSD化(今はHDD)とRAMの増設(現在8G)あたり。 SSDをM.2にしようとするとマザーボードを新しくする必要がある。 CPU・メモリも換えるのは良いとして、 やっぱりWindows10の費用が惜しい。

M.2を諦めて、普通の1TぐらいのSSDにして、 これとRAM増設なら2万円ぐらいで済みそうだ。 これでダメなら、その時 PCの新設を考えようと、 SSDとRAMを注文。 SSDは CFDの960GBのやつ。 使用中のHDDが2Tのやつで、 不要なファイルを削除すれば 1Tクラスに、まるごとコピーできそうなので これにした。 RAMは シリコンパワーのDDR3の8G2本セット。 もっと安いものもあるが、レビューをみたら、 やばそうなので、こちらに決定。

SSD到着後、設置を始めるが、 3.5インチサイズ変換ブラケットと SATAケーブルが足りない。 手持ちにあるかと思っていたが無い。 仕方が無いので近くのPC工房で購入。意外と高くついた。 システムの移行は、 EaseUS Todo BackupのFree版のシステム・クローンという機能で HDDをSSDにコピーすることで、すんなり完了。

使ってみると、めちゃくちゃ速い。 Windowsの起動も早くなったし、 これまで起動を待たされたソフト、 Fusion360, Adobe Illustrator の起動は数倍速くなった感じ。 AtomやElectronで動く自作のプログラムも早い。 そうか、みんなこんな環境でプログラム開発していたんだ、と納得。 いまごろSSDに移行して恥ずかしい。 確かに、これはもう戻れない。 LinuxのサーバーもSSD化してしまおうかとか考えてしまう。

参考までに CrystalDiskMarkの計測結果を下に示す。 左がHDD, 右がSSD.

1Gbyteのファイルの読出速度では数倍の差しか無いが、 4 Kbyteのファイルだと 60~300倍近い差がある。 HDDではヘッドのシーク待ち、回転待ちがあるわけだから 当然ではある。

PCの改修にあたって、いろいろベンチマークを取っているうち、 Core Tempも導入したところ、 CPU温度がやたらと高いことに気がつく。 ちょっと動かすと、すぐ上限の105℃に達してしまう。 CPUファンのホコリを取っても改善がみられないので、 よさげなCPUファンを購入。 取り替えたところ、CPUをぶん回しても 60℃ぐらいまでしか あがらなくなった。大したもんだ。 cinebenchの値も高くなった。



ディスプレイが壊れたと思ったら...

PCをデュアル・ディスプレイ使用しているのだが、 左のディスプレイの表示が突然、砂の嵐(古い?) になった。 ケーブルを繋ぎ変えたり、何日か様子を見ても 変わらないので、ディスプレイの故障と判断。 これが、 2年前の話。 その後、メーカー(EIZO)に修理に出すが、 問題が再現しないとのことで、 修理無しで返却されるも、 普通に表示されるようになったので、 接触不良が振動で解消されたのかと考え 使い続けていた。

先日、現象が再発。 いよいよ寿命だろうと ディスプレイの買い替えを考える。 デュアル・ディスプレイの片方の買い替えなので、 同じサイズ同じ解像度に合わせたい。 しかし22インチ1920x1200 というのはあまりない。 この機会に 安い1920x1080 に乗り換えるかとも 考えるが、安価な機種は安っぽいし、なかなか 好みに合うものがない。

そんななか、アマゾンで故障したディスプレイと 同じ機種 EIZO FlexScan S2243の中古品を発見。 価格はなんと 6,900円。 安すぎるので不安だったが、 映らなければ返品できるだろう考えて注文。 到着後、故障したディスプレイと 交換すると無事表示され、 デュアル・ディスプレイ環境が復活した。 めでたしめでたし。

と、思ったのだが、数時間後 ディスプレイが 砂の嵐。前のと同じ状況だ。 ここに至って、原因はディスプレイ以外にあるのではと 考え始める。となると怪しいのはビデオカード。 使っているのは NVIDIA GeForce GTX 1060。

片方のディスプレイ(SX2262W)は生きているので、 その配線に繋ぎ変えてみようとすると DVI-AとDVI-Dのコネクタ違いでつながらない。 映らない方のディスプレイにつながっていた DVIケーブルを生きている方のディスプレイに接続すると 表示される。 ディスプレイの入力端子(VGA,DVI-A,DVI-D,Dispaly Port)、 ビデオカードの出力端子(HDMI,DVI,Display Port) あと変換アダプタ( HDMI -> DVI-A)等いろいろあってややこしい。 Display Portで接続するとDVIと同じく砂の嵐となる。 さらに実験すべく HDMI -> DVI-Dのアダプタ、 Display-Port -> HDMI, DVI, VGA 変換アダプタ なども注文。

あとの実験はアダプタが届いてからだよねと、 Youtubeを眺めていたら、ネットが接続できなくなる。 PC自体がおかしいようなので再起動すると、 ネット接続だけでなくディスプレイまで復活。 砂の嵐は、出なくなった。 これはどうも、ビデオカードのドライバーが怪しい。 思えば砂の嵐も省電力モードでディスプレイが消えている 状態から復活する時に起こっていた。 とりあえず、ドライバーをダウンロードし更新した。 試しに、交換したディスプレイも 接続してみると表示できた。

ディスプレイの故障状態からは回復できたし、 6,900円で追加のディスプレイまで手に入れることができた。 しかし、この3台目のディスプレイどうしよう。 予備として保管するのも勿体無いし場所をとる。 3台設置するには机上のスペースが足りない。 悩ましい。 机周辺の整理は、どうせ必要なので、整理してみて考えることにしよう。



Blogシステム改良中

少しづつBlogの機能を増やしている。

左カラムのアーカイブで、月ごとの記事を見れるようにしたのと RSSを追加した。

このBlogは Mojoliciousを使って作成した 自前のシステムで動いている。 Mojoliciousは使い始めて何年か経つが、 最近やっと慣れて来て、開発が楽になってきた。

理解できていなかったのは、 開発用のサーバ morbo の必要性。

開発したmojoliciousのプログラムを apacheからcgiとして呼び出して デバッグ等も行っていた。

しかし、この方法だと、perlのエラーメッセージ を調べるのがとても面倒。 apacheのログで調べるのだが、 他にたくさんのプログラムがapache上で動いているので、 ログがどんどん埋もれてしまう。 しかし、そんなものだと思いつつ、面倒ながらも そうやって作業していた。

ある日、何の拍子か、morboで動かせば、 開発中のシステムのログだけが画面に表示される ことに気がついた。とてつもなく楽だ。

こんなことに気が付かなかったなんて恥ずかしいが、 過ぎたことはしょうがない。

railsではなく、mojoliciousを使っているのは、 未だに rubyをよく理解していないので perlの方が楽だから。

今後も少しづつ、このBlogのシステムを改良して行きたい。



新ブログ移行

新しいブログに移行した。

前のブログ の表示の遅さに我慢できなくなったのが移行の理由。 キャッシュが設定されているので、早い時は1秒も待たずに 表示されるが、遅い時は10秒以上待たされる。 記事数の多さ、サーバーのメモリ不足(4GB)が原因かもしれない。

前のシステムに移行したのは、2011年5月なので既に7年近く経って いるので、移っても良かろう。 はてなブログ等のサービスを使用することも検討したが、 自前のサーバー上で自前のシステムを動かすことにした。 mojolicious + hypnotoadで動かしている。

このところ投稿が滞っていた(汗)のは、 システムの開発に手間取っていたため。 今後は、いろいろ投稿していきながら、 このシステムもいじっていきたい。