マイブーム

Linux, perl,shellscript,DIYなどがマイブーム(不定期)

あなたの家にコッソリと設置しました?

2024-07-01 10:53:32 | プログラム
迷惑電話防止システム欲しいけど、NDA(ナンバーディスプレイアダプタ)はお高いんでしょ?、というそこのアナタ!

あなたの家には、既にNDAが設置済みです。
あなたの家に忍び込んで、勝手に設備した訳ではありません(笑

今や殆どのご家庭にあるだろう光通信のターミナル機器がソレ
電話の発着信履歴をブラウザ閲覧できますが、コマンド取得も可能

例)ソフトバンクの場合、BBユニットと呼ばれる白いやつがソレ。ちょっと長いですが、下記コマンドで、直近の電話番号(及び年月日時)を一個取得できる。
(PASSWORDは各自のログインパスワード、また、行末の;1qを外せば全件取得)

curl -s -u user:PASSWORD http://172.16.255.254/callslog.html | iconv -f SHIFT-JIS -t UTF-8 |sed -n -E '/0[0-9]{9,10}$/p' | sed -E 's/.*(202[4-9].*:[0-9]{2}).*(0[0-9]{9,10})$/\1 \2/;1q'

(株)日興電機製作所の回し者ではないが、NDAなら多機能なアロハNDシリーズがオススメ。
日本全国で固定電話への迷惑電話を撲滅しよう!

固定電話の迷惑電話対策3?

2024-06-30 19:03:04 | プログラム
世の中、騙される人が多すぎる。
日本全国の老人宅に、迷惑電話防止システムを装備してやりたい。
家に忍び込んで、勝手に設備する訳にもいかないし。
突然、迷惑電話警報が鳴ったらビックリするでしょうし(笑

対策は、過大なところから始めて緩めていくスタイルが良さそう。
(差し支えなければ)知り合いの電話番号など安全なホワイトリスト以外は警報を鳴らす
ブラックリスト(迷惑電話番号)だけ警報を鳴らすような方法だとイタチごっこ。
あれからも迷惑電話は続いているが、警報により完全にスルー。

アロハND(製造元(株)日興電機製作所)用の迷惑電話対策プログラムの方は、リファクタリング(ジャーゴン(専門用語)で「作り直し」の意味らしい)し、サブルーチンなどを使うと本体部分は僅か十数行に。こうしてみると全体の流れは単純。固定電話の迷惑電話対策すべし!

エスケープシーケンス

2024-06-11 15:04:03 | 日記
エスケープシーケンスとはなんぞや?

日本語に訳せば「逃走手順」。一体何から逃げるのか?

エスケープシーケンスで、タブは\t 改行は\n と表される。

tやnという文字の意味から逃げる(回避する)ようです。バックスラッシュ(\)の形状も後ろにどん引きしてる感じだし。

タブキーやエンターキーが無かった大昔は、エスケープキーを押して、tやnを押していたのかも?(そういう手順?)

ちょっと中止〜という時に、Ctrl+C とかよく使うように、現在ではCtrlキーやAltキーをよく使うから、コントロールシーケンスとかオルタナティヴシーケンスになってるような?。

Perl Old Documentation

2024-06-10 16:48:44 | 日記
[1] POD(パールオールドドキュメンテーション)とは
簡易なマークアップ言語
$cat hoge.pod
=pod
=head1 タイトル
こんな感じです。あちこちに空行が必要なようです。
=cut

[2] manページやHTMLページに変換
上のPOD形式の hoge.pod を
  $ sudo apt install perl-doc
  $ pod2man hoge.pod > hoge-man
  $ pod2html hoge.pod > hoge.html
で、manドキュメントHTMLページに変換できる。

[3] manページとしてみるには
  $ man -l hoge-man
で、manドキュメントとして見れる。
恒久的には、
  $ mkdir ~/man/man1
  $ mv hoge-man ~/man/man1/hoge-man.1
  $ man --manpath=~/man hoge-man
とすることで、以降は
  $man hoge-man
だけで見ることができるようになる。あまり使い勝手は良くないかも?


ASCIIコード備忘録

2024-06-09 16:54:18 | 日記
アスキーコード備忘録

アスキーコード表の0番から31番までは、見えない文字だったりする。
これらは、文字というより、ターミナルへの命令

例えば「ちょっと横にスペース開けろよ」という命令であるタブは9番。
逆スラッシュを使って、\011(8進数表示)、\x09(16進数表示)とコードネームで表せる。

タブキーが押されると、この命令コードを受信したターミナルが「はい分かりました」とタブの動作をする。


アスキーコードを3つの方法(in bash)で表示してみました。上図の左から

1) printf '\x09' | sed -n -e 'l'
2) printf '\x09'
3) printf '\x09' | cat -v -E

1)のsedだとタブは \t という逆スラッシュ表示(tはtabのt)に。逆スラッシュ(\)表示は、C言語での表示法が広まったものと言われている。

2)のprintfだけだと、タブは目には見えないが、^C、^D、など、キャレット(^)記法に。
(\003なら、3に64足した67番のアスキー文字Cを使って^C。\004なら4に64足した68番のアスキー文字Dを使って^D。)

3)のcatでもやや違いはあるもののキャレット記法に。

10番の改行は、表示されても$だったりと、ちょっと特殊な感じ。

※)ASCII(American Standard Code for information Interchange)