min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

perlでネイピア数の表示

立ち読みしたら結構面白くて。つまみ食い(つまみ読み)してきた。

f:id:min117:20201123171340j:plain

経済学と数学と統計学の話なので。最近の興味に合致。もやもやが少し晴れたような。

 

こういう天才学者たちの頭は理解できないけど、彼らの時代と決定的に違うのは「こちらは手の内にPCとオープンソースと環境がある」ってこと。

 

で、例えばネイピア数?何それ?ってなるので、bashで何かしてる人いないかな?とググる

f:id:min117:20201123171936p:plain

いた。これよさそう。

tutorial.perlzemi.com

 

さっそく写経で書く。perl使うのは初めて。

$ vim myPERL01.pl

f:id:min117:20201123172312p:plain

bashしか分からんけど「UNIX発祥からの言語だろうし、シェバン含めてほぼ同じだろ」って直感で書く。

 

改行は¥nで良いとして、ドットでオブジェクトを連結できるのか。PHPと同じ。というか、PHPperlを真似たんだろうな、と思って書く。文の末尾がセミコロンなのも同様か。

 

権限付与して走らせてみると

$ chmod 777 myPERL01.pl

$ perl myPERL01.pl

f:id:min117:20201123172533p:plain

おお。動いた。シェバンが全然意味ないような実行方法だけど、まあいいや。

 

ネイピア数の覚え方は。こうか。

f:id:min117:20201123172123p:plain

全く意味わからんが、金利で説明されるってところが興味をひく。

 

このサイトの説明は分かりやすかった。

atarimae.biz

 

f:id:min117:20201123172859p:plain

なるほど。単位を1年に固定して、刻むほど戻り(バックされるお金)が多いというところが面白い。

f:id:min117:20201123173245p:plain

nを増やすほど(n分の1になるから)刻まれる。けどn乗もされる減るんだか増えるんだか分かんない。不思議。なんとなくこの図も分かるような気がする。

f:id:min117:20201123173054p:plain

Wikiじゃ全く意味が掴めなかったけど、金利で説明されると、なぜか入ってくる。

 

この公式が素直な気もするけど、なんで階乗になるのか…うーんそうかという感じ。


f:id:min117:20201123173218p:plain

ja.wikipedia.org

 

さらにこれが「自然対数の底」だってのは、全く理解不能。今時点では。なんで?って感じ。

ja.wikipedia.org

まあそのうち分かるだろう。

 

去年の自分より1個でもいいから賢くなっていたい。座右の銘

 

 

 

dポイントに交換すると +15% のキャンペーン

dポイントに交換すると+15%になるキャンペーンをドコモがやっている。

dpoint.jp

 

各種ポイントサイトは元より電力会社や銀行のポイントまでもdポイントに交換できるうえ、プラス15%になるという。

f:id:min117:20201123093408p:plain f:id:min117:20201123093447p:plain

コロナの状況下にあってポイント事業だけが好調なドコモが自分のマーケット(dポイント経済圏)に人を取り込もうという思惑があるのだろう。「ポイント=金融事業」であって本業の通信(の改善)はどこへやら、経済圏の拡大ばかりに力を入れている。

 

国の政策の相似形。地道な経済の芽(下地になる産業や基礎研究)を育てず目先の「カネ」だけを優先してきた社会(新自由主義の蔓延した社会)にあっては、「カネ(らしきもの)」だけが優先される。

 

基礎や土台を疎かにしているから、コロナのような本当の危機において、しなやかに粘り強く耐える経済を作ることができない。危機に耐える本業が育ってないからとにかく目先の「カネ」「ポイント」が最優先される

 

結果として、GoToのような小手先の政策がまるでマトモな「経済対策」かのように報じられる。本当の「経済」対策は、あんなものではない。地べたの「生活」を下支えしてこその経済対策なはずで、GoToのような政府自民党ほか一部の人間のための税金の中抜きキャンペーンなどでは断じてないだろう。 

f:id:min117:20201123103853p:plain

 

しかし、この流れを止めることは容易ではない。そんな政策政党を国民が(選挙で)是としてきたから。目先のポイントさえ取れれば、全体として基礎が育たなくてもどうでもいい、というのが現在の社会だ。

 

で、そんな社会がどうなるかというと、強権的な集約が進む。そう思う。つまりは「カネのある一強」になっていく。

 

具体的にいえば、例えばマイナンバーカード(マイナポイント)の普及のために、国がNTTを国営企業に戻して、マイナポイントをdポイントに無理やり統合するようなことが起きると思う。

f:id:min117:20201123104332p:plain

www.tokyo-np.co.jp

 

富の生産の根源であるヒトが育ってないから、既に生まれた富をなんとか一ヶ所にかき集めて、それでやっていくしかない。ドコモのこのキャンペーンはその縮小版のようだ。

f:id:min117:20201123103436p:plain

数年後、国がこの方向に具体的に進むだろう。「一億総○○」を看板に集約と我慢を強いる。それに文句を言うやつは強権で吊るしあげる。玉砕(例えば円の暴落)はまだ先だろうが、そうなるまでは、この愚かな「目先カネ社会」は続いていく。

 

対応の方向性は2つ。

①「 基礎が大事だ。土台を育てよう。目先のカネに飛びつくな。GoToなど茶番だ」と反対の声を上げる。

②「基礎なんてどうでもいい。とにかく今はカネだ。自民党についていく」と今の政治に賛成の声を上げる。

 

①がマトモな社会だが日本では支持されない②ばかりが進む

 

②が現実として今後さまざまな「力の集約」進んだときに、生きる基礎を失わないように準備しおく必要がある。例えばこのくだらない「ポイント」制度にも慣れておく必要はある。

 

今回のドコモのキャンペーン(他社のポイントを全て自社のdポイントに集約させる動き)のような、「富を集約」させる動きがあったときに、そこにアンテナを立てておいて、集約させたがる側(ドコモ)がどんな動きをするのか見ていく。

 

ポイントは15%上乗せとなる。つまり、ドコモは自腹で15%分を上乗せしても「集約」にはそれに勝るだけの価値があると見ているわけだ。

f:id:min117:20201123093324p:plain

 付与されるのは期間限定dポイント。つまり利用期間の限られた交換価値であって、それがない現金より遥かに価値が劣る集約(力の集中)の代わりに与えるのは、期間の限られた僅かな利用価値に過ぎないというわけだ。

 

ただ、dポイントは期間限定であってもメルカリで使える

min117.hatenablog.com

 

アベノミクスのせいで実質給与が減ってみんな貧しくなっているから、メルカリのような中古で交換する市場はこれからもまだ伸びるだろう。その市場でdポイントを使えるようにしたのはドコモとしては「アタリ」の経営判断であって、dポイントが勢力を伸ばしている主因はここにあると思う。

 

逆にいうと「中古すら買えない」くらいに皆に貧しさ・苦しさが行き渡れば(コロナもあるしこの波は間違いなくくる)メルカリどころではない。その端緒は既にある。

f:id:min117:20201123102812p:plain

news.goo.ne.jp

 

そうなればdポイントも急速に価値を失う。つまりdポイントはドコモが作りだした架空の交換価値であって、持っていても生きる上ではほとんど意味がない

 

だから、dポイントを貯めることには全く意味がないが、dポイント(のような架空の交換価値)をどう扱うか、その扱いに慣れておくことには意味がある。 

 

今回は、電力会社や銀行のサイトで使わないまま期限切れになりそうなポイントを、dポインに集約して使い切るべくこのキャンペーンに乗ることにする。

f:id:min117:20201123093324p:plain f:id:min117:20201123093356p:plain

 

電力会社のポイントは全くと言っていいほど利用価値がないのでこの際dポイントに変えてしまうことにする。中国、東北、四国電力は交換対応するようだ。

f:id:min117:20201123093408p:plain f:id:min117:20201123093428p:plain

この交換をもってドコモ側に「自分が使っている電力会社」の情報が知られてしまうので、将来NTTが国営化されたときに、その情報が国に流れるマイナンバーと口座と電力会社が紐づけられる=国に逆らうと電気が止められる)おそれがある。だからいろいろと情報を噛ませて自己防衛する。そういう意味で扱いに「慣れる」必要があるのだ。

 

交換サイトに「ハピタス」がある。

 f:id:min117:20201123093447p:plainf:id:min117:20201123093530p:plain

ここは、ポイントサイトの中ではまだマトモ。

その買うを、もっとハッピーに。|ハピタス

 

今回は還元dポイントを増量(25%)しているようなので、この際交換してしまうことにする。
hapitas.jp

 

f:id:min117:20201123092719p:plain

f:id:min117:20201123092736p:plain f:id:min117:20201123092754p:plain

f:id:min117:20201123092811p:plain

 

 

楽天UN-LIMITのエリア拡大を追う(青森〜奈良)

楽天UN-LIMITを契約したので楽天エリア拡大情報が気になる

min117.hatenablog.com

 

だって楽天電波のエリアに入れば使い放題だから。来年3月には人口カバー率70%になるらしいし(ホントか?)

k-tai.watch.impress.co.jp

 

eSIM交換も無料だし。

min117.hatenablog.com 

今日の朝(2020/11/22)の記事では、新たに青森や奈良がエリアに入ったらしい。

f:id:min117:20201122090746p:plain

北の果てまでちゃんと整備を進めてるってことか。

k-tai.watch.impress.co.jp

 

11月1日には富山や福井(北陸地方)を拡大してた。

k-tai.watch.impress.co.jp

 

10月には拡大予定エリアを公開してたっけ。

f:id:min117:20201122091357p:plain

 

エリア拡大のサマが気になるのでしばらく追うことにする。5Gで使い放題って、本当にちゃんと続くのか?という気もするが、そういう契約をしたんだから期待する。

 

ネットワークの基盤が仮想だってところは個人的に気に入っている。

k-tai.watch.impress.co.jp

f:id:min117:20201122092343p:plain

どんな技術かは追々くわしく調べる。

japanese.engadget.com


 

PHP URLを開いてtitleをとってくるだけのWebスクレイピングコード(Webクローラ)

f:id:min117:20201122090440p:plain

 

目に留まった記事。

www.php.net

 

php.iniallow_url_fopenを有効にした場合、 ファイル名をパラメータとする関数の多くで HTTP および FTPのURL を使用することができます。

 

ほう。自前のサーバで見てみよう。

$ cat /etc/php.ini | grep allow_url

f:id:min117:20201122084701p:plain

お。有効だ。

 

コードは写経する。

f:id:min117:20201122084023p:plain

ただし、正規表現のところだけは str1 に切り出した。書き換えしやすいように。

f:id:min117:20201122083910p:plain

このブログのタイトルを取ってくるだけのお試しコード。

 

自宅サーバで動かす。こうなる。

f:id:min117:20201122084528p:plain

うむ。シンプルだけど良い。正規表現のところを書き換えればなんでも取ってこれる。WebスクレイピングないしWebクローラというやつだ。

 

サーバの環境はこれ。

$ uname -a

$ php -v

$ apachectl status

f:id:min117:20201122084348p:plain

※ ちなみにapachectl status には「php経由で走らせた動画圧縮(HandBrakeCLI)プロセス」が表示されるのか。今気づいた。面白い。

 

クローラ楽しいなやっぱ。Python3と比べてみる。後日。

 

techplay.jp

 

 

 

 

 

素数か判定するExcelプログラムを書く(VBA)

f:id:min117:20201115143747p:plain

入力された数字が素数かどうかを判定したい。関数とか公理公式を使わないで独自で実装する。

f:id:min117:20201115145634g:plain

 

素数とは…

1またはその数自身でしか割れない数。

 

例えば13。

1または13でしか割れない

素数です。

 

例えば19。

1または19でしか割れない

素数です。

 

じゃあ21は?

1または3または21で割れる

→ 1と21ではない数(=3で割れちゃう

素数じゃない。

 

ってことは、素数か確かめるにはどうコーディングするか?

 

例えば21が素数か?と言われたら?

21を、1から順番にその数(21)まで(1,2,3,4,5.....21と)割って行って

1と21ではない数で割れてしまったら、素数じゃない。

 

これを実装する。

 

できた。

f:id:min117:20201115145603g:plain

 

13は素数かな?

f:id:min117:20201115145634g:plain

もちろん素数です。

 

じゃあ103は?

f:id:min117:20201115145806g:plain

素数です!Prime Number!

 

なら287は?

f:id:min117:20201115145913g:plain

素数じゃないです!ぐあぁぁぁ(7で割れます)。

 

じゃあ997!

f:id:min117:20201115150042g:plain

素数です!

 

どんどんいきましょう。1025は?

f:id:min117:20201115150134g:plain

もちろん違う。素数じゃないです。5で割れます。

 

1027は?

f:id:min117:20201115150147g:plain

素数じゃないです!13で割れます。

 

じゃあポッキーの日(20201111)は素数か?

f:id:min117:20201115150207g:plain

素数じゃないです!7で割れます。

 

着想はこれだったり。

f:id:min117:20201115152945p:plain

 

今年の年末は?(20201231)

f:id:min117:20201115151219g:plain

時間かかりすぎぃ…

tools.m-bsys.com

 

内部の動作はこんな感じ。

f:id:min117:20201115151612g:plain

「入力されたセルの数字(C8)」を、

1から「入力されたセルの数字(C8)」まで順番に、1ずつ足していった数で割ればいいだけ。

 

コードはこれ。

f:id:min117:20201115152201p:plain

f:id:min117:20201115152236p:plain

メモ

・「割り切れるか?」は「割って余りがあるか?」なのでmodを使う。

素数を見つけた瞬間にループをブレイク(Exit For)しないと(大きい数を入れたときに)永遠に終わらない。

・C13:J22の表示領域に数字を見せるのが結構苦労する(画面のクリアとか)。

 

コピペ用

Sub prime()

'Debug.Print 123

Dim in_num As Long
Dim cnt As Long
Dim quo_num As Long 'quotient 商
Dim mod_num As Long
Dim NG_FLG As Integer '割り切れたらON(素数じゃなければON)
Dim roww As Long
Dim coll As Long

in_num = 0
NG_FLG = 0
Range("C9") = ""
Range("C10") = ""
roww = 0
coll = 0

'in_num = Cells(6, 3)
in_num = Range("C8")
Debug.Print in_num
roww = 13
coll = 1
Range(Range("A13"), Range("A" & Cells.Rows.Count)).EntireRow.Delete

'1から入力された数字まで繰り返す
For cnt = 1 To in_num
'Debug.Print cnt
Debug.Print in_num & "÷" & cnt
quo_num = in_num / cnt
Debug.Print "商:" & quo_num

mod_num = in_num Mod cnt
Debug.Print "余り:" & mod_num

If (mod_num = 0) And (cnt <> in_num) And (cnt <> 1) Then
'Debug.Print "余り0です/割り切れます/素数じゃないです"
Debug.Print cnt & "で割れます"
Range("C10") = cnt & "で割れます"
NG_FLG = 1
Exit For
End If

'表示用C13:J22
If cnt Mod 10 = 0 Then
roww = roww + 1
coll = 0
Debug.Print roww
End If

If cnt Mod 100 = 0 Then
roww = 13
coll = 0
Debug.Print roww
Range(Range("A12"), Range("A" & Cells.Rows.Count)).EntireRow.Delete
'Range(A13, A50).EntireRow.Clear
End If

coll = coll + 1

Cells(roww, coll) = cnt

Debug.Print "---------"
Next cnt

If NG_FLG = 1 Then
Debug.Print "素数じゃないです"
Range("C9") = "素数じゃないです ぐあぁぁぁ"
Cells(roww, coll + 1).Interior.Color = RGB(255, 255, 0)
Cells(roww, coll + 1) = cnt
Else
Debug.Print "素数です!Prime Number"
Range("C9") = "素数です!Prime Number"
Cells(roww, coll).Interior.Color = RGB(255, 255, 0)
End If

 

End Sub

 

qiita.com

 

電力使用量の監視 Powertopコマンドを fedora30サーバにもインストール → 300Wだとして電気代は1ヶ月6,691円

f:id:min117:20201114120719p:plain

で、前記事でRaspberryPi3に入れた電源管理コマンドPowerTop。

min117.hatenablog.com

fedoraにも入れる。が、その前に。消費電力量を概算してみる。

 

仮にサーバの消費電力が300Wだとして、24時間無停電、31日使って、1kWh単価が30円だとすると、月額で6,691円。たっか。

f:id:min117:20201114121854p:plain

www.denkikeisan.com

いや電力会社儲けすぎだろ。ふざけんなと。

 

例えばこの夏(コロナで出かけられなかった)電気代は1ヶ月16,153円。

f:id:min117:20201114122513j:plain

電気代1kWh単価を載せやがらない。マジでコズルいんだよ電力会社ども。

 

1kWhの単価を計算してみる。

昼間の利用代金合計=1,988円+4,218円+5,328円=11,534円

これを利用した電力量383kWhで割ってやればいいから、11534/383=30.11円が1kWhの単価

f:id:min117:20201114122831p:plain

1kWhの単価が30円オーバー。マジでくっそ高い。

 

さらに再エネ発電促進賦課金までとってやがる(こんなのいつ決まった?国会を報道しないから全く見えないんだけど)。いや、全く再生エネルギーに向かってないじゃん原発まで再稼働しやがったくせに。

 

安全な再生エネルギー (風力、火力)での発電にしたうえで、電力会社の中抜き止めれば1kWh10円以下になる。全くその気がないのは(それにたかるハイエナが)儲からないから。

このコロナ下でも電力会社の収入だけは全く影響を受けていない。役員報酬も青天井のまま。あとで株価と決算書で端数まで追ってやる。

 

で。powertopをインストールする。

www.xmisao.com

 

$ sudo yum -y install powertop

f:id:min117:20201114120125p:plain

てかRedHat謹製ならこっちが本家なわけだ。

access.redhat.com

 

f:id:min117:20201114120220p:plain

f:id:min117:20201114120230p:plain

f:id:min117:20201114120241p:plain

f:id:min117:20201114120310p:plain

 

キャリブレーションしてしばらく放っておく。

f:id:min117:20201114120353p:plain

 

出たね。

f:id:min117:20201114121252p:plain

 

サーバ全体で1.67W使っている。

f:id:min117:20201114130620p:plain


ほとんどが通信アダプタ(WiFiトングル)の電力っぽい。

f:id:min117:20201114130548p:plain

min117.hatenablog.com

 

f:id:min117:20201114121408p:plain

f:id:min117:20201114121450p:plain

f:id:min117:20201114121514p:plain

 

selectra.jp

 

 

 

 

RaspberryPi3 電力使用量の監視 Powertopコマンドをインストール

f:id:min117:20201114115628p:plain

 

自宅のサーバが増えてきたので電気代が気になる。モニタリングしたい。

ameblo.jp

PowerTopというコマンドがあるみたい。RedHat謹製か。

access.redhat.com

 

さっそく試す。

$ sudo apt-get -y intall powertop

f:id:min117:20201114114707p:plain

 

入った。

f:id:min117:20201114115333p:plain

 

Tabで情報を飛ぶらしい。

f:id:min117:20201114115013p:plain

 

しかし。肝心の電源使用量が分からないではないか。

f:id:min117:20201114115040p:plain

**W(ワット)とか出るんじゃないの?

f:id:min117:20201114115056p:plain

なんか「Bad」出てるし。よく分かんない。

f:id:min117:20201114115114p:plain

 

キャリブレーションが必要らしい。

f:id:min117:20201114115930p:plain

 

f:id:min117:20201114120004p:plain

しばらくいじり倒す。