Noraworld Diary
出来事・やったこと
昨日は深夜メンテナンスで朝方まで仕事していたので、今日は 17 時くらいに退勤した
もちろん起きたのは 16 時とかだから全く仕事はしていないんだけどね
出退勤を報告するチャンネルで、打刻は手動でお願いしますという連絡が流れていた
これだけならまだ良いのだが、そのスレッドに、手動で打刻情報を編集したり、cron で実際の業務時間とは異なる時間帯に出退勤 したりするのはダメっていう話が上がっていた
ダメな例として、手動で打刻情報の編集はまあ誰でも思いつくから良いとして、cron をわざわざ言ってくるということは、もしかしてバレている……??
Attendance はプライベートリポジトリだし、ここに書いている内容もプライベート、それに cron の設定もこれに関してはプライベートに置いてある
考えられるのはこんなところ
出勤の時間帯が毎日似たような範囲内だから怪しまれている?
一応ランダムにはしているものの、1 時間のレンジだからこれはちょっとあり得るかも
ただ、今までずっと同じレンジで運用してきて、指摘された直後にいきなりレンジを変えるとそれはそれで認めたみたいになって余計に怪しまれそうなので、変更するにしてもこれはもうちょっと様子を見たほうが良さそう
昨日、朝方まで稼働していたのに、今日 10 時に出勤しているのが怪しまれている?
退勤したあとすぐに寝ましたっていう言い訳はできるかもしれないけど、ツイートとか GitHub のコミット履歴とかですぐに寝ていないことがバレている可能性もある
まあでもこれを指摘してきた上長本人も似たような出勤時刻だったからなあ……
余談だが、昨日が深夜稼働だったので今日は手動でも問題なかったのだが、昨日 Ubuntu のアップデートで正常に動かなかったので、今日は動くかどうかを確かめたかったっていうのが本音
会社の PC の稼働状況を監視されている?
これだったら結構ヤバいなあ
迂闊に会社の PC を個人用途としても使いづらくなるなあ
画面の内容をモニタリングとかされていたらもう何も隠し事とかできないじゃん
そこまでではないにしても、利用状況的なのを監視していたら寝ている時間と起きている時間の特定くらいはできちゃうか
GitHub の Organization 管理者は、そのメンバーの個人のプライベートリポジトリを閲覧できる権限がある?
これはありえない
調べてみたけどそんな記事はさすがになかった
もしこれがありえるなら世も末……
ユーザエージェントがヘッドレスブラウザ & Raspberry Pi になっている
今のところ可能性が一番高そうだと思っているのはこれ
実装時、ユーザエージェントはあまり気にしてなかったけど、これでバレるのは十分あり得る
調べてみたらやはりヘッドレスブラウザであることと、Raspberry Pi であることはバレそう
というわけで、Attendance にユーザエージェントを詐称する機能を夜中に実装した
Mac のユーザエージェントを丸ごとコピーして使うことにした
dry-run 環境下だけど動作確認もできたし、明日からはこれは大丈夫なはず
ただ、近々 Mac をリプレイスするかもしれなくて、そうなったら Intel とかいう部分で不審に思われるのでちゃんと変える必要がありそう
あとあんまり放置しているとブラウザのバージョンが古すぎてそれも怪しまれそうなので定期的に変える必要はありそう
なるべくバレないようにがんばっていたんだけど、詰めが甘かったかな
今後はもうちょっとスプーフィング能力を強化しよう
何を根拠にそう判断しているのかがわからないので、お互い探り合いの攻防戦みたいになりそう
もう radvd は使っていないのになぜか enabled になったままだったので disabled にした
今日もまた Raspberry Pi がフリーズというかクラッシュしていた
出勤はできていたので、10 時台には少なくとも動いていたことがわかる
でも 13 時にカーテンが開くはずが開かなかった (Wi-Fi が使えないので) ので、10 時台から 13 時までの間に死んだっぽい
一応モニターにエラーっぽいものは出てくるんだけど、調べても全然原因がわからない……
一つこれかなと思うのは、たまに電力不足の警告が出ていたので、これで解決できる可能性はあるかもしれない
というわけでこれを買った
Raspberry Pi 専用の電源で調べて上位に出てきた 2 つの記事ともに紹介されていて、なおかつスポンサー商品だったのでまあ大丈夫でしょう
19 日 (金) の 18:00 〜 20:00 に届く予定
Raspberry Pi フリーズのもう一つの対策として、Watchdog timer を有効にしてみた
こんな機能があるのかと思った
Raspberry Pi フリーズの対策でなんとなく調べていたら見つけた
設定をして、フォーク爆弾を投下してみたら、ちゃんと自動的に再起動されることを確認した
ちなみにフォーク爆弾は名前は知っていたけど実行するのは今回が初めて
なんか OS 側で対策されているんじゃないかと思ったけどふつうに効いた
ちなみに設定するとき、なかなか反映されなくて、シンボリックリンクとかハードリンクが悪いのかなと思っていたんだけど、そうではなくて、単純に [Manager]
というセクションが足りてなくて有効になっていなかっただけだった
エラーも何も出ないので気がつくのに時間がかかった
自動的に再起動されるのは便利だけど、いつ再起動されているのかは知っておく必要があるなと思ったので、cron の @reboot
で再起動時にログを残すようにした
ただし後述する日時おかしくなる問題がまだ不安なので、NTP サーバと同期できているかどうかをチェックして、同期できていたらそのままログを残す、できていなかったらスリープして再度チェックというのを 10 回くらい繰り返して、それでもダメなら同期されていないことを明記したログを残すようなスクリプトを書いてそれを実行するようにした
先日から Raspberry Pi の日時がおかしくなる問題、多分解決した
今になってこれが突然起きるようになった理由についてはわからないが、日本の NTP サーバを設定で明示することで再起動してもちゃんと正しい日時になるようになった
そしてこれは数日前に試してもダメだったんだけど、ダメだった理由は、実はさっきの [Manager]
というセクションが足りていないのと同様で、こっちは [Time]
というセクションが設定ファイルに抜けていたから機能しなかったことが判明した
それを追加して再起動したらちゃんと想定通りに動いた
NordVPN の再起動時自動接続とか、UFW の NTP ポート許可とかも一応関係はしているかもしれない
でも、日時がずれなくなったのはこれを設定してからだからこれは確実に必要ではあった
こっちもエラーが出なかったからわからなかった
で、再起動したときに (NTP サーバと同期できないと) 日時がおかしくなるのは、Raspberry Pi にはハードウェアクロックが搭載されていないことが理由らしい
ふつうの PC にはたいていハードウェアクロックが内蔵されいているので、しばらく電源オフにしていても、NTP サーバと同期できなくても (インターネットにつながっていなくても) 大幅にずれることがないのだが、Raspberry Pi はそれがないので、NTP サーバと同期できなくなった途端、思いっきり日時がずれてしまうっぽい
Raspberry Pi にハードウェアクロックを搭載することもできるようだが、それはハードウェア的な改造が必要らしいのでやめた
単純にめんどくさいし、仮にそれを今持っている Raspberry Pi にやったとしても、それが壊れて別のにするときにまた同じコストをかけてやらないといけないのが嫌だ
これが自分がハードウェアが嫌いな理由の一つ
Watchdog timer を導入してからさっそく 1 時間後くらいにクラッシュして自動再起動されたんだけど、もしかしたらシンプルに CPU ファンの回転数が問題なんじゃないかと思った
そのあとフル回転にしたらとりあえずクラッシュはしなくなった
打刻は絶対に成功させてほしいので、8 時にフル回転になるように cron に仕込んだ
あとリブート時にもフル回転になるようにしておいた
Watchdog timer によってリブートした場合は、そういう問題が絡んでいる可能性があるから
本当は寝るときに Siri に Good Night っていうと Shortcuts 経由でフル回転になるようにしてあるんだけど以下の理由で cron にも組み込んでおいたほうが良いと思った
最近ちょっと Good Night 言わずにそのまま寝ちゃうときがある
実は Ubuntu のアップグレードをしてから Shortcuts 経由で SSH ができなくなっている
これは原因はなんとなくもう目星ついていて、ssh-rsa がデフォルトで使えなくなったっぽい
これは直す予定だが、こういうことがあるから冗長化って意味で cron でも設定しておいたほうが良いなと思った
今日は 3 つも記事を公開した
思ったこと・気づき・学び
今日 (翌日) の夜中あたり、GitHub の調子が悪かった
最近なんか GitHub 調子悪いことめちゃくちゃ多いよなと思う
YouTube のおすすめに上がっていたこの動画の 826aska さんという人、めちゃくちゃ可愛いなと思った
ちょうどこの日記のファイルを新規作成するコミットで、この日記リポジトリも 1,000 コミット目に到達した
まあ更新ペースがこのリポジトリだけ異常だからね
性質上そうなるのは仕方ないけど
現時点で他に 1,000 コミット突破しているのは dotfiles だけど、dotfiles と比べてものすごいスピードで到達したと思う
dotfiles は 5 年以上経ってようやく 1,000 コミット突破しているからね
睡眠記録
項目
内容
寝たの
8 時半
起きたの
16 時過ぎ
スコア
53
夢日記
瞑想記録
項目
内容
時間
0 分
集中できたか
その後のパフォーマンスは上がったか
感想
今日は起きてから寝るまでずっと作業に集中していたのでやる暇がなかった
運動記録
Atsueigo School
今日やったこと
今日はどうしても Raspberry Pi のシステム周りをどうにかしたかった (する必要があった) のでおやすみ
明日やること
学習時間
感想
えらい!
今日はかなり収穫があったと思う
Watchdog timer
日時ズレ修正
打刻のユーザエージェント詐称
技術記事更新
気分レベル (10 段階)
8
今日の気分はどうだったか
今日は達成感はめちゃくちゃあったんだけど、ずっと集中しっぱなしでどんな気分だったかもよくわからない
アンガーログ
怒りとかは特になかったけど、出勤のやつバレてるかもなあと思ってちょっとだけヒヤヒヤした
ほんのちょっとだけだけどね
別にバレたところで、バレないようにさらに改造しようと思っているし、なんなら転職する口実にもなるかもしれないし
今日の挑戦
Raspberry Pi のシステム周り、いろいろやった
Watchdog timer
日時ズレ修正
打刻のユーザエージェント詐称
技術記事更新
明日やること
SSH が Shortcuts からできない問題を解消する
clock-observer
を完成させる
NordVPN 解約