息子と大学の話しをしていて荒木くん(仮名)のことを思い出した話し

高3になる受験生の息子と話している話題で、昔の大学時代の話しをたまにする。「大学は面白いぞ、絶対に行ったほうがいいぞ。」てなことを話している。

今回は、息子には実習、実験、レポートの話しをした。その話しの中で思い出したのは、大学同期の荒木くん(仮名)の話し。息子には、この話しはとてもウケた。

荒木くんは二浪で、見た目からおじさんと呼ばれていた。

彼は学科での成績は2番でとっても優秀と思いきや・・・。

みんなで実験レポートを書いていると、書き上げたおしまいの方で彼は突然やってくる。

「それ見せて。」

おもむろにみんなのレポートを持っていき、購買部でコピーしてくる。そして、自分のレポートとして仕上げていくという特技を持っているのである。

荒木くんと実験と実習の同じグループになると戦力マイナス1となる。誰も彼とは同じグループにはなりたがらないのある。同じグループになったときにはハズレとなる。

彼は試験のときは、みんながまとめたノートをコピーしていく。しかも試験のカンニングのためのカンペを完璧に用意する。おかげで試験の結果はつねに上位となる。

あるとき、これを見かねたいつも酔っ払っているような愉快な井戸くん(仮名)がとうとう頭に来て、「お前、もう許せないんだよ! そういうところが嫌いなんだよ!」と声を上げた。ほぼ荒木くんのことを諦めていた自分らの代弁をしてくれた。しかし、それでも荒木くんはそのままだった。それから荒木くんと井戸くんは疎遠になった。井戸くんは、荒木くんを避けるようになって、希望していた研究室もやめて、わざわざ違う研究室にしたくらいだった。

自分は荒木くんと同じ研究室に入ったけど、以上の理由で誰も同じ卒論のペアになりたくないのである 。結局は彼は成績順で研究室のメインの研究テーマに割り当てられたのである。だけど、運のよいことにメインのテーマなので人数は1人多い3人だった。おかげで他の2人が頑張って卒論を完成したのであった。

自分はいうと、大学4年のときに大学院を目指すようなる。研究室の担当教授からは、今の成績だったら大丈夫と太鼓判を押されていた。ある日大学院に行くための受験勉強をしていたら、それを見ていた荒木くんが

「何やっているの?」

と聞いてくるので

「修士に行きたいから勉強している。」

と答えると、それを聞いた荒木くんは

「就職したくないから、俺も修士に行ってみようかな。」

すると荒木くんが大学院を希望したために(担当教授が予想したよりも希望者が多かったせいもあった)、大学院の定員がぎりぎりで越えてしまった。私学だったので大学院の定員がとても厳しい。学部生の10%以下であった。結局は成績順で選んでようで、自分は大学始まって以来の不合格となってしまって。だけど、落ちたおかげで周りがとても気を使ってくれたようで、2ヶ月ほど全く誰も話しかけないでそっとしておいてくれた。私はその間は就活もせずに卒研に注力して、10月になってぎりぎりで教授のコネで就職を決めたのであった。

さて、大学院に進んだ荒木くんはどうなったというと、そもまま要領よくうまく行ったようで、某有名メーカーに就職できましたとさ。就職してからは荒木くんがどうなったかは知らないけど。

息子にはこのくらいの要領がよくなといけないと言っておいた。カンニングとかレポートまるコピペはダメだけどさ。

でも、考えてみると、そのまま大学院に行ったら、今の自分はなかったと思う。今は今の生活は満足している。これについては、大学院への進路を阻止してくれた荒木くんには感謝しなければいけないと思った。

QNAPにsudoをインストールした話し

QNAP(TS-673)にsudoをインストールしてみた。sudoをインストールしておけば、コンソールからadminで入らなくてもいろいろできる。最近、ようやくQNAPにDockerのコンテナで、サーバーを立てて、ずっと使っているさくらインターネットのVPSを移行している。

上の記事のようにあらかた移行できたけど、残りはWebのサイトの更新作業で使用するためのテストサーバーを移行するだけとなった。DockerのコンテナでApacheをインストールしただけで動いていることは動いているのだけど、更新をどうするか? ネットワークドラブで更新するのでもいいのだけど、外部からの更新もできるように、sshでscpでファイルを更新したい。しかし、QNAPで最初からサポートしているsshサーバーは、ポート番号の変更くらいしかできなそう。何とか公開キーでの認証をできるようにしたが、パスワード認証を禁止することができない。/etc/ssh/sshd_configをどうもQNAPが起動するたびに書き換えてしまうようである。SSHの設定は、この辺で中断して、先にsudoを使えるようにしておく。

ここから本題である。

QNAPにsudoをインストールする情報は、いろいろなサイトで書かれているが、QNAPのファームウェアのバージョン(ちなみに現在は4.4.2.1310 Build 20200519が入っている)によって方法が違うみたい。とりあえず、今使っているQNAPで動いた結果をメモとして残しておく。

  • QPKG Storeのアプリリポジトリを追加してEntware-stdをインストールする。
    参考:QNAPにEntware-stdをインストールする – Qiita
  • opkg install sudo でsudoをインストール。qpkgではないopkgコマンドであるのに注意。
  • 設定追加はvisudo をしてもダメ。/usr/etc/sudoers を直接編集すること。
    vi /usr/etc/sudoer

これでターミナルからの設定が捗りそう。

OCNサイトのおかしなUIに欺されるな

支払いのクレジットカードを変更することになって、OCNモバイルのサイトで手続をする。

OCNのサイトでは、認証が厳しくなっていて手続きの前に、SMSで認証番号を送って認証させる。

SMSで認証させることはいいことだと思うけど、ここからが問題である。認証番号の入力項目の下にあるボタンを押すと、再度SMSを送るようになる。

ボタンを見ると「再通知する」のボタンではないか!

よく見ればいいけど、ここの位置のボタンは「ログインする」とか「確認する」とかのボタンではないか?

正解は、もっと下のボタンである。画面サイズが狭いとスクロールしないと隠れてしまうところである。

つまり、詐欺サイトもこんな場所にボタンを置けば、何も考えずにボタンを押してくれるのね。

まあ、ボタンの内容をよく読まないのは問題だけど、これはあまりよろしくないUIの例だな。通知番号の再通知なんて、そうそうに行わないので、注意事項の中でのリンクでいいのに。

ちなみに、OCNモバイルは家族3人で別々の契約をしているので、実は3回も再通知のボタンを押した私でした。そんなことをやるのはお前だけだよ、って聞こえそうでした。

ケルヒャー高圧洗浄機の高圧ホースが接続できない問題

今日はいい天気だったのでクルマを洗う。クルマを洗うのは年に2回ほどになっている。

まずは汚れをケルヒャーの高圧洗浄機の洗ってしまう。洗剤はケルヒャー高圧洗浄機本体に入れることができるのだけど、自分のところではどうも上手く泡立たない。それで、新しく買ったのはこちら。

この洗剤だと気持ちよく泡立ってくれる。

さて、いつもケルヒャーの高圧洗浄機でトラブルのは、高圧ホースが本体に上手く接続してくれない。高圧洗浄機を動かすと高圧ホースが外れて水は飛び散ることがしばしば。

よく高圧ホースの接続部分を見ると、ゴムのカバーがコネクタの先端近くまで覆われてしまっていて、奥までキチンと本体のジョイントに差し込まれていなかった。コネクター部分をペンチで挟んで高圧ホースのコネクターを引き出してあげる。中途半端に引き出しても外れてしまうので、こんな感じに引き出してしまうと確実なことがわかった。

本当はこんなことをしていいのかわからないけど、ホースが外れるよりもましか。

でも、この高圧ホースの接続は何とかして欲しい。解決するまで、ずいぶん時間がかかった。

カシオの太陽電池の電卓の電池交換

ずいぶん昔にかったカシオの電卓を持っている。この電卓を使っていると、途中で表示が切れてしまう。太陽電池だからおかしいと思ったら、この電卓はT・W・P(太陽電池と補助電池の併用)という機能だから、補助電池がなくなっているのはないかと思う。

MV-220W | ツイン液晶電卓 | 一般電卓 | 電卓 | CASIO

早速分解してみる。予想通り予備電池らしいボタン電池が膨らんでいて粉が噴いていた。ボタン電池はLR44で、ごく普通のアルカリボタン電池だった。これなら手持ちがある。充電のボタン電池でなくて良かった。

液漏れして粉が出ていた電池ソケットのところを無水アルコールでよく拭いてから電池を交換をする。

これで元通り、電池交換完了。表示も切れることのなく使えるようになった・

iPhoneのSafariで画面が崩れるのは、CSSのデフォルト値を疑えという話し

お客さんからページの右上にある検索ボタンがとんでもないところに表示するという相談が来た。この部分は他の会社が作った部分だけど、安い早いと重宝されている自分のところに回ってきた。

検索入力項目と検索ボタンが横に並んでいるはずだけど、検索ボタンが入力項目の下に送られて表示されてしまうらしい。

どうも、特定のPCで発生するとのこと。自分のところのPCでChrome, Firefox, Edge, それと忘れていけないInternet Explorer(忘れたいけど・・・)で試してみたけど、すべて正常に検索ボタンが配置している。スマートフォンも試してみたけど、唯一おかしな動作をしたのはiPhoneのSafariだった。

とりあえず検索入力項目の幅を小さくしてみると、正常にiPhoneでも表示するようになった。だけど、これだとPCでは検索ボタンの横が空いてしまう。

そこで、iPhoneのCSSでどのような状態になっているかを調べるため、iPhoneの実機でデバッグできるようにする。参考にしたのは以下のサイトである。意外に簡単にiPhoneのSafariページをMacのSafariの開発ツールから見ることができた。

実機のiPhone Safariで発生した表示バグをMacに接続して検証する | Qookie Tech

MacとiPhoneをつなげて調べてみると、入力項目のpaddingの初期値が設定していないのが原因だった。iPhoneの場合、何もpaddingを設定しないと0.5emが初期値になってしまう。ちなみに、初期値は以下の通りになる。

iPhone SafariPC Chrome
padding0.5em1px
margin0em0em

どうも最初に作った人は、検索フォーム幅、入力項目幅を固定にして、marginやフォントサイズとかすべてのものをピクセル単位で指定していたけど、paddingだけを指定し忘れたのが原因だった。そもそも、CSSのリセットをしていなかったのが敗因だった。

特定のPCでどうして発生するかは、その実機を見に行けば原因解明は速いかもしれない。こちれは不明? 古いバージョンのブラウザがインストールされているから?

PlantUMLのアクティビティ図でrepeatのbackwardキーワードと動線が正常に出力されない話し

今やっている業務の作業フローがこんがらがってきたので、整理しようと思って図に書き出してみた。この際、きれいに出力しようと思った。

最初はInkSpaceで一から書いていこうとしたが、箱を3つ書いたみたところでめげた。次にやったのは、VS Codeの拡張機能で動くPlantUMLのアクティビティ図である。PlantUMLはInkSpaceやIllustrator、Visio、LibreOfficeのDrawのようなドローアプリケーションで図を描く必要もなく、テキストで描いていけば自動的にアクティビティ図(それ以外のUMLの図でも)を描いてくれる優れものである。

PlantUMLのアクティビティ図には動線の機能があるので、自分とお客さんの役割を分担した上での業務フロー図が描けそうなので早速描いてみた。動線とはこのような図である。PlantUMLのサイトからの抜粋である。

これをPlantUMLのアクティビティ図のコードではこんな感じである。

@startuml
|Swimlane1|
start
:foo1;
|#AntiqueWhite|Swimlane2|
:foo2;
:foo3;
|Swimlane1|
:foo4;
|Swimlane2|
:foo5;
stop
@enduml

これは簡単と、このまま進めていったら、問題が発生。フローを戻したりが自由にできないのでした。

PlantUMLではシーケンス(順序)、判断(IF)、前後判定の繰り返し(repeat)くらいの昔流行ったgoto文を廃止した構造化プログラミング(例外的にgoto文は残っているけど)のプログラム制御しか用意されていない。今回は、例えば、処理後に判定してNGだったら、何かしらの処理をしてから、また元の処理に戻すなんてことをやりたい。これを考えてみると、後判定の繰り返しで、判定でOKになるまで繰り返す。繰り返す前にNGのメール送信処理を実行したい。これは判定後の処理で書いてみるとこのような感じになる。

@startuml
start

repeat
  :何かの処理;
  backward:処理NGメール;
repeat while (処理判定?)
:処理OKメール;
stop;
@enduml

出力されたアクティビティ図はこのような図になる。

次に担当Aと担当Bに役割を振り分けるように動線で表現してみる。処理は担当Bが行って、その処理が正しく行われたかの判定とその結果のメール送信は担当Aとなる。担当BはNGメールが来たら再度何かの処理を行う。

@startuml
|A|
start
|B|
repeat
  :何かの処理;
  |A|
  backward:処理NGメール;
repeat while (処理判定?)
:処理OKメール;
stop;
@enduml

これを出力したアクティビティ図はぐちゃぐちゃになる。PlantUMLのサイトにあるライブプレビューでも同じ結果である。ライブラリは一緒なのかな?

まあ、このようはフローはアクティビティ図からいうと変則的な図だと思うからPlantUMLではサポート外である。何かいい書き方があるのかな?

仕方ないので、SVGファイルに一旦出力して、出力したSVGファイルをInkSpaceで開いて手で修正した。

でも、このような処理を通常のプログラミングでどうやっているか考えてみると、処理を無限ループで回して最後に判定し、OKならbreakで無限ループから抜け出している。PlantUMLではbreakが書けないしな。

そもそもPlantUMLのアクティビティ図の書き方は新しく変わったみたい。いまだベータ版となっている。昔と比べてだいぶメンテナンスしやすくなったみたい。ただし、いろいろと制約が増えてしまったようでもあるらしい。

追記

PlantUMLのフォーラムを覗いていたら、どうやらループでbreakができるらしい。ドキュメントに載っていない。こんなコードを書くと

@startuml
start

while()
  :何かの処理;
 
  if (処理OK?) then (yes)
    break
  else (no)
   :処理NGメール;
  endif

endwhile
:処理OKメール;

stop;
@enduml

こんなアクティビティ図が出力される。

これに動線をつけてみると、

@startuml
|a|
|b|

|a|
start

|b|
while()

  :何かの処理;
 
  |a|
  if (処理OK?) then (yes)
    break
  else (no)
    :処理NGメール;
  endif

endwhile

:処理OKメール;

stop;
@enduml

このような惜しい感じになる。もう一歩足りない。

やはり、動線はまだ上手く動いていないのか?

再度、二度と連絡しないよう電話する。

土地活用とか、35年家賃保証とか、CMをやっている大○建託の営業に、再度二度と連絡しないように電話しておいた。

一回目、知らない営業から手書きのお便りが来た。内容というと、この新型コロナウイルス騒ぎでどういう理由か理解できないけど、アパートの需要が高まるって訳のわからない内容だった。裏の裏を考えると、新型コロナウイルスの影響で今の住んでいるアパートでは家賃が払えない人が多くなるから、あんたのところのような古い物件は家賃が安いから需要が高くなるってことなのかな? これだったら、わかるかもさ。

わざわざお便りが送っていただいたので、こちらも誠意を持って電話をしておく。端的に言ってしまえば、「もう二度と電話してくるな」と丁寧に言うだけだけど。それと、こちらの個人情報も削除してくれと言うこと。

相手は新入社員ぼい若い男性だった。多分理解したようなことを言っていた。もしかしたら、新人研修の一環に付き合わされたのだろうか?

と思ったのは、2週間後にまたお便りが来た。また同じ人で、また手書きのお便りだった。

内容はというと、この前の謝罪ではなくて、今度は訪問したいという内容だった。全くこの前に言ったことは、わかってくれないようだった。

再度、二度と連絡しないよう電話をしておく。もし、今度また連絡したら、とんでもないことになるよ、と言っておいたけど、どういうふうにとんでもないことになるかは自分でもわからないけど。

特別定額給付金をマイナンバーカードで申請

住んでいる自治体でも特別定額給付金の申請が始まった。マイナンバーカードを使ってネットでも申請できるのでやってみた。ちなみに、まだ申請書は役所から郵送されていない。

必要なのは、

  • マイナンバーカード
  • ICカードリーダー
  • 振込先の通帳の表紙画像

マイナンバーカードは4桁の暗証番号とパスワードを思えていることが重要である。ニュースによると、パスワードを忘れて役所に再設定の申請をする人が続出してるそうな。私はしっかり覚えている。それと、マイナンバーカードの電子証明書の有効期限が切れていると手続きできないそうな。こちらも役所の窓口に行かないと延長の手続ができないらしい。こちらも注意。どうして、オンラインで手続きできないかはわからない。結局、オンラインではなくて窓口に行かないと何もできないという・・・・。

申請できるのは世帯主であること。我が家では自分が世帯主である。これまた聞いた話しだと、自分だけで給付金をもらいたいために、こちらも世帯から抜ける手続きで役所が混んでいるそうな。

PCで申請の場合はICカードリーダーが必要である。ICカードリーダーなんて持っている人なんで少ないのではないか? 我が家の場合、昔税金の申請で必要だったので10年前にICカードリーダーを購入しておいた。こんな古い製品でもWindows10になっても、ドライバを用意されている。

今のこのICカードリーダーの新しい機種はこちら。こちらのほうが安い。今月辺りから価格が上がっている。

同じICカードリーダーでもFeliCaのみ対応では読み込めないので注意。なぜかFeliCa対応のリーダーも持っている。最初このカードリーダーでマイナンバーカードが読み取れなくて焦った。こちらの後継機ならマイナンバーカードを読み込みできるらしいけど、間違えてこちらのソニーのカードリーダーを安いからって買ってはダメ。

プレミアム価格になっている後継機を買いましょう。後継機はこちら。こちらも今月ぐらいから高騰している。手に入れるのであれば、早いところ買っておこう。

ICカードリーダーがなくても、ICカード読み込み対応(NFC対応?)のスマートフォンでも申請がいけるみたい(対応機種は少ないけど、今使っているPixel4はOK)。おそらく、マイナンバーカードでの申請はPCではなくて、こちらのほうが主流なんだと思う。しかし、マイナンバーカードを持っていて、ICカードを読み込める環境を持っているなんてヤツは少ないのではないか?

途中で振込通帳の表紙画像のアップロードが必要。マイナンバーと口座の紐付けはやっていたのどうかはわからないが、おそらくその辺りは関係ないのかな?

以上、無事に申請は完了。今回の申請は、本人確認なんてされないから、誰でも代理でできると思う。ICカードリーダーを持っている人に代理で申請をお願いしてみたら。ただし、振込先の口座は本人の口座しか指定できないと思うけど。これはキチンとチェックしていないといけないはずである。他人の給付金を勝手に申請できないはずだよね。マイナンバーカードを勝手に使われない限りは大丈夫か・・・・。

以上の通り、オンラインでの特別定額給付金の申請にはいろいろなハードルが立ちはだかる。役所から申請書が送られてくるのを待って、郵送で申請する方が賢いみたい。だけど、役所の中では申請書からデータの入れ直しとか、人を介して手続きに手間がかかるけど、これがこの国の現状。

マイナンバーカードは危ないとか言うけど、今のようなとんでもない状況で人を介した手続きも危ないのではないかな?

追記(2020年5月25日)

最近の報道によると、マイナンバーカードを使った申請の方が、郵送による申請のほうが手間がかかるそうな。中にはマイナンバーカードによる申請を中止にした自治体もある。

マイナンバーカードのほうが手間がかからず役所のほうも楽できてメリットがあると思い込んでいたけど、そうでもないみたい。電子化されても結局は紙に印刷して目視でチェックしているというニュース映像があったけど、ほんとうにそんなことをしているのか?

これって、この申請システムを開発するときの最初の仕様通りなのだろうか?

学生の入社したいランキング連続1位のあのシステム開発会社の能力が高い人たちが開発しているはずだから、そんなことはないかと思うけど。

システムって、面倒をなくしてユーザーもハッピーになるのが当たり前だと思っていたけど違うのかな?

途中で「絶対にチェックは最後に目視だ!」という勢力に負けてしまったのではないか?

おかげで役所の人たちに大きな負担を強いることになってしまったのではないか?

なんだか、同じ業界の人間からしてみると、抵抗勢力に抵抗できなかったことに、申し訳ないことをしてしまったような。

これでマイナンバーカードの普及は遠のくな・・・。

むりやり入ってきた布団屋 #迷惑セールス

いきなり自宅の庭に入り込んできた男。たまたま庭先の部屋にいたので応対する。

「昔、布団を買っていただいたものです。布団の洗濯はいかがでしょうか?」

そんな布団を買った覚えがないので、もちろん断る。どこの布団屋と尋ねると、西○だそうだ。

そのまま、その人は隣の家へ。

そこでも。同じセリフを吐く。向かいの家でも同じセリフ。どんだけ近所で布団を売っているんだ?

確実に押し売りセールス。これで多くの高齢者が欺されるのだろうな・・・・。