未分類

先ずは、オンラインシステムにて提出している政治団体(国会議員関係政治団体名)の一覧です。

衆議院議員篠原孝全国後援会
田城郁後援会
なたにや正義後援会
真政会(石田 真敏)
政策創造研究会
日本国家戦略フォーラム2025
新邦友会
室井邦彦後援会
大島理森政経会
日本維新の会参議院比例区第53支部
宮沢会
YMF経済研究会
鷹之政経フォーラム
島村大後援会
笑顔の日本
頑張れ!ふじすえの会
NHKから国民を守る党近畿支部
自由民主党兵庫県参議院比例区第四十六支部
石田まさひろ政策研究会
一番星
健政会(若林 健太)
新政経研究会
新流会
卓然会
武田良太政経研究会
原口一博後援会
ふるげん未来塾
牧樹会
穂高会
横浜政経懇話会

ーーーーー

さて、ここからは、オンライン提出しなかった団体を、政治家の名前と紐付けて纏める作業を始めてみよう。

ついでに政治家単位でスコアも付けてみよう (オンライン提出無視率 0~100%)。

 

 

2021/12,江端さんの技術メモ

これは、結構オーソドックスな手法で、いろいろなところに使われています。

/*
	お題: personが終了したらsubPerson1も subPerson2も強制的に終了させるには?
*/

package main

import (
	"fmt"
	"sync"
	"time"
)

func subPerson1(i int, wg *sync.WaitGroup, ch chan struct{}) {
	defer wg.Done()

	<-ch // close(ch)が発行されるまでロック (普通はselect待ちにする)
	fmt.Println("		End of sub_person1(", i, ")")

}

func subPerson2(i int, wg *sync.WaitGroup, ch chan struct{}) {
	defer wg.Done()
	<-ch // close(ch)が発行されるまでロック (普通はselect待ちにする)
	fmt.Println("		End of sub_person2(", i, ")")
}

func person(i int, wg *sync.WaitGroup) {
	fmt.Println("	Start... person(", i, ")")
	defer wg.Done()

	subWG := sync.WaitGroup{}

	subWG.Add(2)
	ch := make(chan struct{})
	go subPerson1(i, &subWG, ch)
	go subPerson2(i, &subWG, ch)

	time.Sleep(10 * time.Second)
	close(ch)

	subWG.Wait()

	fmt.Println("	End... person(", i, ")")
}

func main() {
	fmt.Println("start... main()")
	wg := sync.WaitGroup{}
	for i := 0; i < 5; i++ {
		wg.Add(1) // goルーチンを実行する関数分だけAddする

		go person(i, &wg)
	}

	wg.Wait()
	fmt.Println("end of ... main()")
}

出力結果はこんな感じです。
ちょっと変な感じがしますが、多分Printlnを記載している時間タイミングに因るものだろう、と思います。

$ go run main.go
start... main()
        Start... person( 4 )
        Start... person( 2 )
        Start... person( 3 )
        Start... person( 0 )
        Start... person( 1 )
                End of sub_person2( 2 )
                End of sub_person2( 0 )
                End of sub_person1( 0 )
        End... person( 0 )
                End of sub_person2( 4 )
                End of sub_person1( 4 )
        End... person( 4 )
                End of sub_person2( 3 )
                End of sub_person1( 3 )
        End... person( 3 )
                End of sub_person1( 2 )
        End... person( 2 )
                End of sub_person2( 1 )
                End of sub_person1( 1 )
        End... person( 1 )
end of ... main()

2021/12,江端さんの技術メモ

お題: subPerson1が終了したら subPerson2も巻き添えで強制的に終了させるには?
当初、一方が終了したら、他方も終了するように作りたかったのだけど、いいやり方が思いつかなかったので、subPerson1 → subPerson2 の順番で終わせるような実装にした。
まあ、subPerson1を送信専用、subPerson2を受信専用のgoroutineとすれば、まあ、いけるんじゃないかな、と
/*
	お題: subPerson1が終了したら subPerson2も巻き添えで強制的に終了させるには?
	当初、一方が終了したら、他方も終了するように作りたかったのだけど、分からなかったので、subPerson1 → subPerson2 の順番で終わせるような実装にした
*/

package main

import (
	"fmt"
	"sync"
	"time"
)

func subPerson1(i int, wg *sync.WaitGroup, ch chan struct{}) {
	defer wg.Done()
	time.Sleep(1 * time.Second)
	fmt.Println("		End of sub_person1(", i, ")")
	close(ch) // subPerson2に終了を通知する
}

func subPerson2(i int, wg *sync.WaitGroup, ch chan struct{}) {
	defer wg.Done()
	<-ch // subPerson1 のclose(ch)が発行されるまでロック (普通はselect待ちにする)
	fmt.Println("		End of sub_person2(", i, ")")
}

func person(i int, wg *sync.WaitGroup) {
	fmt.Println("	Start... person(", i, ")")
	defer wg.Done()

	subWG := sync.WaitGroup{}

	subWG.Add(2)
	ch := make(chan struct{})
	go subPerson1(i, &subWG, ch)
	go subPerson2(i, &subWG, ch)

	subWG.Wait()

	fmt.Println("	End... person(", i, ")")
}

func main() {
	fmt.Println("start... main()")
	wg := sync.WaitGroup{}
	for i := 0; i < 5; i++ {
		wg.Add(1) // goルーチンを実行する関数分だけAddする

		go person(i, &wg)
	}

	wg.Wait()
	fmt.Println("end of ... main()")
}
出力結果
ebata@DESKTOP-P6KREM0 MINGW64 ~/goga/0-2
$ go run main.go
start... main()
        Start... person( 4 )
        Start... person( 0 )
        Start... person( 1 )
        Start... person( 3 )
        Start... person( 2 )
                End of sub_person1( 3 )
                End of sub_person2( 3 )
        End... person( 3 )
                End of sub_person1( 0 )
                End of sub_person1( 4 )
                End of sub_person2( 4 )
        End... person( 4 )
                End of sub_person2( 0 )
        End... person( 0 )
                End of sub_person1( 1 )
                End of sub_person2( 1 )
        End... person( 1 )
                End of sub_person1( 2 )
                End of sub_person2( 2 )
        End... person( 2 )
end of ... main()

とまあこんな感じで、sub_person1 → sub_person2 → person という順番でgoroutineが終了していることが確認できました。

未分類

総務省からの手紙がきていました。

「ん・・・『取下げ』?」

ああ、そういうことか。電話で「オンライン不使用団体については、私が自分で纏めます」といったから、「取下げ」扱いになっている訳ですね。

でも、メールで、オンライン使用団体は教えて貰ったから、全然OKです。

疑問点が一つ。この収入印紙300円分は、再利用できるのだろうか? 一応残しておくか。

 

2021/12,江端さんの技術メモ

先程、情報開示請求先の、総務省の担当者の方から、『本日中に資料を送付して頂ける』旨の電話連絡を頂きました。

総務省の方からお電話頂き、調べ方について丁寧に御説明頂きました。まずは手順を忘れない内にメモを残しておきます。(政治資金収支報告書のオンライン提出を怠っている政治団体を全部開示する件 続報)

I received a phone call from the person in charge at the Ministry of Internal Affairs and Communications, to whom I made a request for information disclosure, stating that they would be able to send me the documents today.

そもそも、存在していなかった資料をわざわざ作って頂いているので、時間がかかるのは覚悟しているたのですが ――

I was prepared for it to take a long time, since they had to create a document that didn't exist in the first place, however...

それにしても、丁寧なフォローをして頂いて、恐縮してしまいます。

Nevertheless, I'm very grateful for their careful follow-up.

-----

親切が嬉しい反面、ちょっと心配になってきました。

While I'm glad for their kindness, I'm getting a little worried.

この対応の理由には、3つのケースが考えられると思うからです。

The reason for this response is that I think there are three possible cases.

(1)基本的に総務省の担当者の方が親切

(1) Basically, the person in charge at the Ministry of Internal Affairs and Communications is kind.

(2)情報開示請求をしてくるような民間人はやっかな奴が多い → その対応のノウハウがある

(2) Many private citizens who request disclosure of information are difficult, so they have the know-how to deal with them.

(3)こんなコラムを書いているような奴(江端)を怒らせると面倒

(3) A guy who writes a column like this (Ebata) can be a pain in the ass if they piss him off.

上記の(1)だといいけど、(3)だとちょっと悲しいなぁ、と思っています。

I hope it's (1) above, but if it's (3), I'm a little sad.

-----

あ、第4のケースもありそうです。

Oh, there may be the fourth case.

(4)「政治資金収支報告書のオンライン提出を怠っている政治団体」を、江端から思いっきりDisって欲しい

(4) They want Ebata to disrespect "political organizations that fail to submit their political fund balance reports online" with all his might.

うん、これありそうだな。

Yeah, that's a possibility.

『政府としては、政治団体に恥をかかせるのはマズいけど、民間人のライター(江端)がやってくれるなら、それに越したことはない』

"It's not good for the government to embarrass a political group, but if a civilian writer (Ebata) can do it, so much the better"

と。

これなら、政府と私が、Win-Winです。

This is a win-win situation for the government and me.

-----

まあ、こんな感じで、『アナログ かつ アナクロ な政治団体を見張っていくのは、私のようなシニアの義務だろう』てなことを思っています。

In this way, I think it is the duty of senior citizens like me to keep an eye on analog and analogous political organizations.

2021/12,江端さんの技術メモ

C/C++では、構造体を丸ごと送信するのに、文字列にキャストを被せて無理矢理送り込むということをやっていました。

Goの場合、チャネルに ch chan interface{}を使うと、何でも運んでくれるようなので、これで同じように「手を抜く」を考えていました。

で、色々試した結果、こういう風に使えるらしいので自分用のメモとして残しておきます

// 単一通信の構造体
type SingleCaster struct {
	//ch   chan int   // 単一通信路
	ch   chan interface{}
	lock sync.Mutex // 単一通信路のロック
}

でもって、

type locInfo struct {
	lon float64
	lat float64
}
でもって、
type PERSON struct {
    number      int     // 人間番号
    live        bool    // 存在フラグ 存在:true 消滅:false
    destination locInfo // 出発座標
    arrival     locInfo // 到着座標
    distance    float64 // 到着座標と出発座標の距離
    present     locInfo // 現在位置
}

を、こんな風に運びたい時、

sc_person.ch <- person.present

これで、元に戻ります。

case v_p := <-sc_person.ch:
			fmt.Println("catched from person send", v_p)
			//var ll locInfo
			ll := v_p.(locInfo)
			fmt.Println(ll.lon, ll.lat)

channelで構造体を送り込む方法

var ch1 chan interface{}

type PERSON struct {
	number      int     // 人間番号
	action      int     // 0:リクエスト 1:乗車 2:降車
}

func sub1(){
	 var person PERSON
	 person.number = 1
	 person.action= 2

	 ch1 <- person 
} 

func sub2(){

	 p := <-ch1

	 person := p.(PERSON)
	 fmt.Println(person) 
}

2021/12,江端さんの忘備録

私、「気が狂うほど勉強をし続けた10年間」がありました。

I had "ten years of crazy studying".

実際、気が狂って、電車のレールの上に落ちていきそうになった ―― という話は、こちらに書きました。

In fact, I almost went crazy and fell onto the train rails -- I wrote about it here.

夢は「持つ」より「捨てる」方がはるかに辛いです。

It is much harder to "throw away" a dream than to "have" one.

しかし、それを認識して、勇気を持って「捨てる」を実施しないと、命を落しかねません。

However, if we do not recognize this and courageously implement "discarding", we may lose our lives.

ですので、歌番組等で、『夢を持つことの素晴しさ』だの、『夢を諦めるな』てな若いミュージシャンの安直な歌詞を聞いていると、同世代の若者への『洗脳』が本気で心配になってきます。

Therefore, when I listen to young musicians on singing programs and hear their simple lyrics such as "It's wonderful to have a dream" or "Don't give up on your dream," I am seriously worried about brainwashing the youth of their generation.

加えて、

In addition,

―― いずれ売れなくなる(ことが運命づけられている)ミュージシャンである彼らの未来が、本気で心配です

"I'm seriously worried about their future as musicians who will eventually stop selling (and are destined to)"

この辺は、こちらの、「5年以上芸能界に残って活動ができている芸能人は、1万人に1人」の、私の計算結果をご覧下さい。

For more information on this, please see my calculation of "1 in 10,000 entertainers who remain active in the entertainment industry for more than 5 years" here.

それはさておき。

But that's beside the point.

-----

その「気が狂うほど勉強をし続けた10年間」で知ったのですが、社会人で勉強をしている人は、凄く多いです。

During the "ten years of crazy studying", I know there are many adults who are studying after their working.

私、ファストフード店で、コーヒーを頼んで、2~3時間、勉強に集中する日々を、10年間続けてきましたが、どんな店に入っても、必ず1~2人はいたものです。

For the ten years, I would order a cup of coffee at a fast food restaurant and concentrate on my studies for two to three hours. And no matter what kind of restaurant I entered, there would always be one or two people like me there.

しかし、私の場合、「スタバ」と「マック」にだけは行きませんでした。

However, in my case, I did not go to "Starbucks" and "Mac"

「スタバ」のコーヒーは高価すぎるし、座席の混在が酷い。

The coffee at Starbucks is too expensive and the seats are badly mixed.

「マック」のコーヒーは不味く、空調が酷い(寒いか暑い)。

The coffee in "Mac" is bad and the air conditioning is terrible (cold or hot).

私の場合、通勤途中の人の出入りの少ないローカル駅の近くにポツンと立っている「モスバーガ」か「KFC」を使っていました。

In my case, I used to use the "Mossberg" or "KFC" that stood poking around near the local train station with few people coming and going on the way to work.

もちろん、ハンバーガーなどは頼まず、ひたすらコーヒー1杯のみで粘りました。

Of course, I didn't order a hamburger, but just a cup of coffee.

夜9時以降はお客もいなくなり、心理的な抵抗も少なくて済みました。

After 9:00 p.m., there were no more customers, so there was less psychological resistance.

店員に迷惑がられた、という記憶もありません ―― まあ、暗黒オーラを出している時の私に、声をかけられる店員がいなかっただけかもしれませんが。

I don't remember any shopkeepers bothering me -- well, maybe there just weren't any shopkeepers who could talk to me when I was giving off a dark aura.

-----

ともあれ、結果として、私は、10年間の時間を失いました。

Anyway, as a result, I lost 10 years of my life.

『あの10年、全くの無駄だった』と思うと、やはり悔しい思いはあります。

I still feel frustrated when I think that those 10 years were a complete waste.

もっと、良い時間の使い方があったのではないかと思うし ―― 客観的に見て、私は数多くのチャンスを見逃してきたと思います。

I think I could have used my time better, and -- objectively speaking -- I think I've missed a lot of opportunities.

今、こうして日記を書いている時間も、同じように、無駄な時間を使っているのかもしれません。

The time I'm spending writing this diary may be wasted in the same way.

-----

しかし、未来の私に見えるかもしれない後悔は、今の私には見えない後悔です。

But the regret that I may see in the future is a regret that I cannot see in the present.

後悔はしたくないけど、これからも私は後悔し続けるのでしょう。

I don't want to regret anything, but I know I will continue to regret something.

そして、人生最期の時に、この『迷走しつづけている私の人生』を、『迷走しつづけた人生だった』と総括することになるんだろう、と思っています。

I think that at the end of my life, I will sum up this "life of mine that has been a constant wandering" as "a life that has been a constant wandering".

2021/12,江端さんの忘備録

「入門WebAssembly」と言う本が出版されるようです。

It seems that a book called "Introduction to WebAssembly" is being published.

もの凄く読みたいのですが ―― 高い。

I want to read it so badly, but -- it's expensive.

(WebAssemblyの日本語の本、まだ3冊くらいしかないみたいです)

(It seems that there are still only about three books on WebAssembly in Japanese)

私、技術書の値段は概ね適正だと思っていますが、問題は、技術書の提供してくる内容と、私が欲する知識の内容がマッチしないことがあるのです。

I believe that the price of technical books is generally fair, but the problem is that sometimes the content of the technical book does not match the content of the knowledge that I want.

(1)本の内容が「難しすぎる」か「簡単すぎる」、または

(1) The content of the book is "too difficult" or "too easy," or

(2)「本が提供する情報」と「私が知りたい情報」がマッチングしない

(2) "Information provided by the book" and "Information I want to know" do not match.

ということが多いからです。

are often the case.

そういえば、私、ビットコインについては、現時点で出版されている本のほとんどに目を通したと思うのですが ――

Speaking of which, I think I've read through most of the books published on Bitcoin at this point -- and I'm not sure I've ever read anything else.

私が知りかった「ビットコインの信用」について記載されている本は、1冊しかありませんでした。

There was only one book describing "Bitcoin trust" that I could find.

その1冊であっても、マッチングは15%程度だったかなぁ、と思います。

Even for that one book, I think the matching was about 15%.

まあ、それはさておき。

Well, that's beside the point.

-----

それにつけても、WebAssembly、勉強したいです。

I would like to learn WebAssembly.

師匠のSさんに教えてもらったこのデモを見てから、この技術をGISのビューアに転用したいとずっと考えています。

Ever since I saw this demo that my mentor, Mr. S, taught me, I have been thinking of converting this technology into a GIS viewer.

自分でも、色々やってきました。

I've done a lot of work on my own.

問題は、今は、これよりも優先してやらなければならばならないこととがあることと、その本が「当たり」か「はずれ」か、分からないことです。

The problem is that now I have to prioritize what I have to do over this, and I don't know if the book is a "hit" or a "miss".

うーん、どうしようかなぁ。

Hmm, I wonder what I should do.

2021/11,江端さんの忘備録

本日は、コラムがリリースされた日なので、日記はお休みです。

Today, new my column is released, so I take a day off.

踊るバズワード ~Behind the Buzzword(16)STEM教育(4)

GIGAスクール構想だけでは足りない、「IT×OT×リーガルマインド」のすすめ

Dancing Buzzword-Behind the Buzzword(16) STEM education(4)

The GIGA school concept is not enough, "IT x OT x Legal Mind" is recommended

 

-----

中国(大陸の方)では、高齢者がスマホを使い倒しているらしいです。

In China (the mainland), I heard that the elderly are using their smartphones to the fullest.

理由は単純で、

The reason is simple.

『政府は行政サービスをスマホで提供している。使う/使わないは、お前たちの勝手だ』

The government is providing government services through smartphones. It's up to you to use it or not."

と言い切って、スマホを使わない人をバッサリと切り捨てているそうです。

They seem to be cutting off people who don't use smartphones by saying the above.

スマホを使えなければ、生きていくことができない ―― そりゃ、だれだって、命懸けでスマホの操作を覚えるでしょう。

If they can't use a smartphone, they can't live -- anyone would risk their life to learn how to use a smartphone.

-----

この話、結構、残酷なこと言っていると思いますが ―― 私も会社の中では同じような目にあっています。

I think this story is pretty brutal -- however, I've been through the same thing in my company.

会社は、社員の意見など聞くことなく、勝手に業務システムを変更してしまいます。

Companies change their business systems at will, without listening to the opinions of their employees.

それまで、蓄積してきたオペレーションの知識は、その瞬間、ドブに捨てられます。

At that moment, all the operational knowledge I have accumulated will be thrown away.

また1から、いや、ゼロから、学び始めなければなりません。

I have to start learning again from even scratch.

そして、どんなに恥しくても、大声で『助けて下さい!』と叫べない奴は ―― (社内で)死にます。

And those who can't shout out loud, no matter how embarrassing, "Please help me! (within the company) " will die.

面子もプライドもあったもんじゃありません。

There is no honor, no pride.

『無様に泣き叫ぶシニアたち』―― これが、ITシステムを使わされている世界の現状です。

"Senior citizens crying out in vain." This is the state of the world in which we are forced to use IT systems.

-----

という訳で、(今回のコラム以外の方法では)「デジタル競争力世界第28位」から挽回する為には、

So, in order to recover from being "the 28th most digitally competitive in the world" (in ways other than this column), we need to make citizens who

■大声で『助けて下さい!』と叫べぶことができるようになり、

- are able to shout out, "Please help me! in a loud voice, and

■そこに手を差し延べることができるになる

- are able to reach out to the voice.

国民の育成だと思うのです。

だから ―― 私を含めて、高齢者の皆さんは諦めて下さい。

So -- please give up, all you elderly people, including me.

「『無様に泣き叫ぶシニア』になる勇気」 ―― これが、私たちに残された老後戦略なのです。

"To be a wailing old man". This is the only retirement strategy we have left.