江端智一のホームページ
昨日、アニメ「幼女戦記」を流しながら仕事をしていました。
Yesterday, I was working while playing the anime "Youjo Senki."
第8話「火の試練」では、街に潜伏したレジスタンス(民兵)を排除する為に、非戦闘員である一般市民を含む街で地上戦を可能する法的なロジックを組み立てて、それを法的根拠とした、街全体への殲滅作戦(虐殺)が描かれています。
Episode 8, "Trial by Fire," depicts a campaign of extermination (massacre) against an entire city, using as its legal basis the construction of a legal logic that allows ground warfare in the city, including non-combatant civilians, to eliminate the resistance (militia) that has hidden in the city.
(「幼女戦記」という名前に騙されてはなりません。あれは、戦争の戦略と戦術、政治、経済、法律、技術の観点から描かれた、極めて高度なポリティカルフィクションです)
「新しい資本主義」をエンジニア視点で考えてみるhttps://t.co/ADuLaaHQDM pic.twitter.com/xjebRBKTIl
— EE Times Japan編集部 (@eetimes_jp) October 31, 2022
(Don't be cheated by the name "Youjo Senki." That is highly sophisticated political fiction, written about war strategy and tactics, politics, economics, law, and technology.)
ちなみに、この話のベースが、米英連合国軍による「ドレスデン爆撃」であることには気づいていました。
Incidentally, I had noticed that the story was based on the "bombing of Dresden" by the U.S. and British Allied forces.
「ドレスデン爆撃」では、ドイツの都市ドレスデン(通称「エルベ川の真珠」)への大規模な空襲のことです。
The "Bombing of Dresden" refers to the massive air raid on the German city of Dresden (commonly known as the "Pearl of the Elbe").
この空襲により、ドレスデン市は壊滅的な被害を受け、多くの市民が犠牲になり、この出来事は戦争犯罪として議論の的となりました。
The raid devastated the city of Dresden, killing many of its citizens and making the event a controversial war crime.
ちなみにこの話(「火の試練」)は、イスラエル軍の、ガザ地区侵攻の話ではありません ―― が、同じ話です。
Incidentally, this story ("Trial by Fire") is not about the Israeli army's invasion of the Gaza Strip -- but it is the same story.
-----
『そんな法的抜け穴(一般市民を巻き添えに殺害してよい戦闘)があるのか?』と思い、ChatGPTに聞いてみました。
'Is there such a legal loophole (combat that allows civilians to be killed as collateral damage)?' I asked ChatGPT.
(中略)
(omitted)
と、このように、ChatGPTに叱られてしまいました。
And thus, I was scolded by ChatGPT.
一応、その続きとして、「市街戦で、非戦闘員(民間人)を巻き添えに殺害することを禁止する法律を具体例を教えて下さい」と聞いたところ、ChatGPTから、色々な情報を教えて貰いました。
As a follow-up, ChatGPT gave me a lot of information when I asked for specific examples of laws prohibiting the killing of non-combatants (civilians) as collateral damage in urban warfare.
これについては、後日、展開します。
This will be developed at a later date.
-----
それにしても、(1)数多くの国際法によって禁止されており、(2)生成AI(ChatGPT)からも叱られるような戦闘/戦争を、少なくとも、あの国とあの国は、現在進行形でやっているんだなぁ、と、思うと、
Still, to think that at least that and that country are engaged in an ongoing battle/war that (1) is prohibited by numerous international laws and (2) would be scolded by the generating AI (ChatGPT),
―― AIによる世界支配の方が、まだマシじゃね?
"Wouldn't world domination by AI still be better?"
と本気で思います。
I think it is a good idea.
「情報統制を行い、自由な言論を弾圧し、平和を唱えながら、他国を侵略する国家元首」 ―― っていうのは、あまり珍しくないのです。
It is not unusual for a head of state to "control information, suppress free speech, and invade other countries while advocating peace.
しかし、『非ナチ(ナチズム)化の阻止』を掲げている元首というのは、「新規性あり」と感じています。
However, I feel that a former head of state who has a 'stop non-Nazi (Nazism)' policy is a "novelty."
ロシアのプーチン大統領の唱えている「非ナチ化」が、具体的にウクライナの何を差して言っているのかを、ちょっと調べてみたのですが、これが良く分からないのです。
I've been doing some research on what exactly Russian President Vladimir Putin's advocacy of "de-Nazification" is referring to in Ukraine, and I'm not sure I understand it.
これが、『ウクライナ東部のドネツクとルハーンスク地域での対立に関連して、ロシア系住民を保護し、ウクライナ政府の攻撃から彼らを守る』、という、ロシア側の大義に端を発していることは、知っているのですが、なぜ、これが『ナチズム』なのかが、よく分かりません。
I know that this was motivated by the Russian cause of 'protecting the Russian population concerning the conflict in the Donetsk and Luhansk regions of eastern Ukraine and defending them from attacks by the Ukrainian government.' Still, I am not sure why this is 'Nazism.'
私の知っている、ナチズムの特徴と言えば、
What I know about the characteristics of Nazism is,
(1)人種主義と優越性
(1) Racism and Superiority
(2)独裁と専制
(2) Dictatorship and tyranny
(3)領土拡大と侵略
(3) Territorial expansion and invasion
(4)アンチセミティズム
(4) Anti-Semitism
(5)国家社会主義
(5) National Socialism
(6)強制労働と集中収容所
(6) Forced Labor and Concentration Camps
ってあたりだと思うのですが、これって「ウクライナ」ではなく「ロシア」のやっていることのように見えます。
around here, however, this looks like something "Russia" is doing, not "Ukraine."
『非ナチ(ナチズム)化』を掲げている元首自身が、ナチズムを実践しているのであれば、これは「新規性」どころか「進歩性」もある、と思います。
If the head of state himself, who is holding up "Non-Nazi (Nazism)," is practicing Nazism, this is not only "novel" but also "progressive," I think.
-----
忘年会の季節ですね。
It is the season for year-end parties.
お酒が入ると、普段では言わないことでも言ってしまうことがあります。
When alcohol is involved, people sometimes say things they do not usually speak.
■『楽しく仕事をやらなければならないぞ』(たとえ、上司が"必要ない仕事"を押しつけてきたとしても)
- You must enjoy your work (even if your boss forces you to do work you don't need to).
■『時間内に終わらせられてこそ、仕事なんだぞ』(たとえ、上司が上司の仕事を押しつけてきたとしても)
- 'It's only a job if you can finish it on time' (even if your boss pushes you to do your boss's work).
■『発想力が足りないんだよ』(たとえ、あなたの提案に一通りの批判をしても、自力で発明ネタを出したことがない上司だったとしても)
- 'You don't have enough imagination' (even if your boss has never come up with an invention story on his own, even if he criticizes your proposal in one way or another).
酔った勢いで、あなたの上司に『お前が"それ"言う?』とか言わないようにして下さいね。
Don't get drunk and say to your boss, "You say it?"
来年の大河ドラマが「光る君へ」と聞いてビックリしてしまいました。
I was surprised to hear that next year's Taiga Drama will be "To Hikaru Kimi."
NHKは、ついに『歴史ドラマ』の路線を捨てるのか、と。
I wondered if NHK would finally abandon the "historical drama" route.
源氏物語は、創作物であって、歴史物語ではありません。
The Tale of Genji is a creation, not a historical tale.
そして、源氏物語は、現時点の社会通念に当てはめれば、インモラルのオンパレードです。
The Tale of Genji is a parade of immorality if applied to current social conventions.
「寝とり/寝とられ」「ロリコン」「ジェントロフィア」「浮気」「不同意性交(強姦)」―― 権力者による性加害(性暴力)の物語です。
The story is about "cuckold/ cuckolded," "pedophile," "gerontophilia," "cheating," and "forced sexual intercourse (rape)" -- stories of sexual assault (sexual violence) by those in power.
とは言え、光源氏を『元ジャニーズのジャニー喜多川』のような性犯罪者のように曲解されては、さすがに原作者(紫式部)も激怒するでしょうが(ちなみに、光源氏による性加害対象は、すべて女性です)。
However, the original author (Murasaki Shikibu) must be furious if Hikaru Genji is misinterpreted as a sex offender like "former Johnny Kitagawa of Johnny's Johnny" (by the way, all of Hikaru Genji's victims were women).
まあ、上記は、源氏物語の一面を、(極端な悪意で)誇張した説明ですので、興味のある人は、ご一読下さい。それなりに面白い話ではあります。
The above is an exaggerated (with extreme malice) account of one aspect of the Tale of Genji, so if you are interested, please read on. It is an exciting story in its own way.
私は、映画or小説『十二単衣を着た悪魔』を、お勧めします(でも、原作の内容を知らないと、面白くないかな)
I recommend the movie or novel "The Devil Wears Twelve Clothes" (but if you don't know the original story, it may not be interesting).
一昨日、たまたま、Amazonプライムで「十二単衣を着た悪魔」という映画を、なにげなく視聴していたのですが、『これは、久々のヒットだ』と思いました。
―― 多分、この話(源氏物語のドラマ化)は、私の勘違いだろう
"Maybe I'm wrong about this story (the dramatization of The Tale of Genji)."
と思い調べてみたら、やっぱり主人公は「藤原道長」でした。
I looked it up and found that the main character was "Fujiwara no Michinaga."
「藤原道長」は、光源氏のモデルになっている、という話を聞いたことがあります。
I have heard that "Fujiwara no Michinaga" was the model for Hikaru Genji.
-----
少なくとも「信長」「秀吉」「家康」は、お腹いっぱいですので、その点では問題ありません。
At least "Nobunaga," "Hideyoshi," and "Ieyasu" are full of them, so that is not a problem.
でも、平安時代かぁ。しかも、この辺の話となれば、権力闘争の話になるんだろうなぁ。それも思いっきり陰湿なやつ。
But the Heian period, huh? And if they are talking about this area, it must be a story about power struggles. And it's a very insidious one at that.
平安時代については、私、相当な偏見と嫌悪感があるんですよ。
As for the Heian period, I have a considerable prejudice and dislike for it.
=====
Excerpted from "The Day a Researcher Who Hates Twitter Decided to
(エピソードその1)「逢ひみての 後の心にくらぶれば 昔はものを 思はざりけり ~権中納言敦忠~(あなたとお会いした後に比べると、昔は、なーんにも考えていなかったんだなーと思います--江端意訳」。
(Episode #1) "If I compare it to after meeting you, in the past, I didn't think about things - Gon Chunagon Atsutada - (Compared to after meeting you, in the past I didn't think about anything - Ebata's interpretation).
ご存じの通り、有名な百人一首の和歌です。私はこの和歌を初めて聞いた時、「お前、民衆をなめとんのか」とひとり突っ込んだものです。こんなひどい為政者(いせいしゃ)が、我が国の大臣を務めていたかと思うと、貧困や重税に苦しんでいただろう民衆が抱いていたであろう怒りがふつふつと湧いてきたものです。
This is a famous waka poem from the Hyakunin Isshu, a Japanese anthology of 100 poems. When I first heard this waka poem, I thought, "Do you think you are fooling the people? When I thought of such a terrible person serving as a minister of our country, I felt the anger that the people who must have been suffering from poverty and heavy taxation must have felt.
=====
ちなみに、権中納言敦忠(源敦忠)は、生年は964年で、没年は1039年です。
Incidentally, Gon Chunagon Atsutada (Minamoto Atsutada) was born in 964 and died in 1039.
でもって、藤原道長は、生年は966年で、没年は1028年です。
And Fujiwara no Michinaga was born in 966 and died in 1028.
ほら、やっぱり背景時代がオーバラップしているじゃないですか。
As I said, there is an overlap between the background periods.
こういう歌を平気で歌っていたようなヤツらが、為政者をやっていた時代の大河ドラマですよ。
This is a taiga drama from an era when people who sang songs like this were in power.
(というか、当時の政治は、『歌をうたって、神に祈る』という他力本願が、国家運営のメインの手法でした(腹が立ちます))
(I mean, the primary method of politics in those days was to "sing songs and pray to God," which was the primary method of statecraft (which makes me angry)).
私がこの大河ドラマを受け入れられるか否かは、現時点では分かりません。
I do not know whether I can accept or reject this great drama.
まあ、嫌なら見なければいいだけのことですが。
I don't have to watch it if I don't like it.
それはさておき。
Aside from that.
------
嫁さんも、別の懸念を表明しています。
The wife also expressed another concern.
"忠臣蔵"不作問題です。
The problem is the poor production of "Chushingura."
昔、年末年始になると、どっかの地上波のチャネルでは、"忠臣蔵"をやっていたものですが、ここ10年くらい、"忠臣蔵"は不作が続いています。
In the old days, during the year-end and New Year's holidays, some terrestrial TV channels used to show "Chushingura," but for the past ten years or so, "Chushingura" has been a poor production.
―― このままでは、日本人から"忠臣蔵"が忘れ去られてしまう
"If nothing is done, the Japanese people will forget " Chushingura "."
と嫁さんが危惧しております。
And my wife is concerned.
今回、私は、何もコメントしませんでした。
This time, I did not comment on anything.
かつて、私は、このテーマで『舌禍』を起こしていますので。
Since I once had a 'slip of the tongue' on this subject.
【新着記事】「江バ電」で人身事故をシミュレーションしてみた https://t.co/Qxr14X4COB pic.twitter.com/oJlAOsppaG
— EE Times Japan編集部 (@eetimes_jp) June 29, 2016
今、大学の先生の勧めで、この本を読んでいます。
I am currently reading this book at the recommendation of my college professor.
この本の中に、「スイッチャー」というものが登場します。
In this book, a "switcher" appears.
いじめとは、ある一人のターゲットに対する不満を"言語化"することによって、それが盛り上って、累積的に、怒りや憎悪に変貌して、さらに"正当化"されて、そして"具現化"する、というプロセスを経るらしいです。
Bullying is said to be a process of "verbalizing" one's dissatisfaction with a target, which builds up and cumulatively transforms into anger and hatred, which are then "justified" and "materialized."
『あいつ、調子に乗ってんじゃん』という発言から、スタートするそうです。
It starts from the opinion that "He/She is getting carried away."
ところが、ここに一人、「空気が読めない奴 = スイッチャー」が「空気の読めない発言をする」ことで、その機能を停止させることができる、らしいのです。
However, one of the "airheads=switchers" here can stop that function by "making an airhead remark."
-----
私、大学時代、友人との会話に上手く入り込めなくて、本当に苦労しました。
In college, I had difficulty getting into good conversations with my friends.
『私の発言で、場が止まる(白ける)』という場面に、何度も立合い、すっかり自信を失くした時もありました。
There were many times when I lost all confidence in myself because I was in situations where 'my comments made the place stop (or go blank).
しかし、私の「白ける発言」が、有効に働いていた場面があったかもしれないと知り、今日はちょっと元気が出ました。
However, I feel a little better today, knowing that there may have been occasions when my "lack of reading the air." was compelling.
少なくとも、自分自身が恐しいリスクを理解していながら、『仲間内でマスクを外して楽しげに会話する』などということを、やらずにすんでいられる ―― という幸せをかみしめています。
-----
でも、まあ、よく考えれば、私、これまで、「空気を読まないコラム」を山ほど量産してきました。
But, if I think about it, I have mass-produced many "columns that don't read the air.
それでも、私は「スイッチャー」とか呼ばれるような、かっこいい何かではない、とは自覚しています。
Still, I know I am not a "switcher" or something cool like they call me.
昨日から、「日本全国が雪害でパニックなる」というようなニュースが流れていて、慌てて、今日の昼にタイヤ交換しました。
Since yesterday, there have been news reports that "the whole country of Japan is panicking because of snow damage," so I panicked and changed my tires at noon today.
幸い、私の地域は天気がよくて助かりました。
Fortunately, the weather was good in my area.
お金の件だけでなく、「思い付いたときに、タイヤ交換ができる」という安心感は大きいです。
Not only for money but also for the peace of mind of knowing I can change a tire whenever I think of it.
-----
基本的に、雪が降っている、または、雪が残っている時には、私は自動車の運転をしません。
I do not drive my automobile when it is snowing or still snowing.
私、雪の運転には、トラウマが山積なんです。
I have a lot of trauma going in the snow.
- スキー場から帰宅の途中の衝突事故
- Collision on the way home from ski resort
- 高速道路のど真ん中でスリップ反転停止し、目の前に迫ってくるトラックに直撃されそうになったた事件
- An incident in which a truck almost hit a car coming right in front of the driver after he had a slip-flip stop in the middle of the highway.
- 長女をひとり残した車が、滑走して、自宅前で衝突して止った事件
- An incident in which a car that left the eldest daughter alone skidded, crashed, and stopped in front of a home.
これまで、何度、雪の運転で、死にかけたか分かりません。
I can't tell you how often I have almost died driving in the snow.
-----
雪が降っていれば、嫁さんや娘に頼まれても、車は出しません。
I will not take the car out if it is snowing, even if my wife or daughter asks me to.
家族には、『ラッセルしながら歩け』『駅を出る時に電話しろ』『GPSサービスをアクティベートしておけ』と言っています。
I tell my family, 'Walk while russelling,' 'Call when you leave the station,' and 'Activate your GPS service.
救助要請が来たら、防寒装備と食料と飲料水をリュックに背負って、家族の救助に向かう予定です。
If a rescue call comes in, I will carry my winter gear, food, and drinking water in my backpack and go to my family's rescue.
こういうことが、時々、冗談で済まないのが、東京都南多摩エリアという場所です。
These things are sometimes no joke in a place called the Minamitama area of Tokyo.
「エンジニアはサボらない」など言う気はありませんが、「エンジニアは真面目な人が多い」とは思います。
I don't mean to say things like "engineers don't slack off," but I think "many engineers are serious people."
ハッタリかましたり、キレイな言葉で人を踊らせたり、見栄えのよいプレゼンやポスターで、人を煙にまくようなことは、まあ、できるかもしれないけど、あまり得意ではありません。
I may be able to bluff people, make them dance with pretty words, or smoke them out with a good-looking presentation or poster, but I am not very good at it.
エンジニアは、「動かしてナンボ」という世界を生きていかなければならないから。
Because engineers have to live in a world where "moving things around is a must.
「納期内にできない」と言うエンジニアは、その理由を合理的に説明できるはずです。
Engineers who say, "I can't do it on time," should be able to rationalize why.
そして、エンジニアであれば、そのエンジニアの理由を理解できるはずです。
And if you are an engineer, you should understand why they do it.
-----
『ふん、幹部たちは、どうせ、金と時間の計算しかしないような、経済学部か法学部の出身のヤツ(偏見120%増量)だろう』、と思い、ちょっと調べてみたら
I thought, "Well, the executives must be economics or law school graduates who only calculate money and time (120% more prejudice)," and did some research.
ダイハツの社長さん、ガチの技術畑出身の人でした。
The president of Daihatsu was a man with a strong engineering background.
「立ち位置が変われば、見える風景も変わる」
"If you change your position, you see a different landscape."
そういうものかもしれませんし、あるいは、全く見当違いかもしれません。
It may be that way, or it may be misguided.
本日の段階では、私は何も断定せず、誰も批判しません。
Today, I will not assert anything or criticize anyone.
-----
ちなみに、私、プログラムであれ、特許明細書であれ、論文であれ、コラムであれ、手は早いです。
By the way, I am quick, whether it is a program, a patent specification, an article, or a column.
量産は、私の十八番です。
Mass production is my forte.
ご要望の通りに、なんぼでも作ってみせます ―― 品質(安全、安心、利便性)を無視していいのであれば、そんなもんは軽いもんです。
I will make whatever you request -- if quality (safety, security, convenience) can be ignored, such things are light.
今世紀に入って数年が経過したころ、『ITは終わった』と言われた時期がありました。
A few years into this century, there was a time when people said, 'IT is over.
当時の私は、ネットワークの研究をやっていて、私自身『もうITにはやることがない』と思っていました。
I was doing network research then and thought, 'There is nothing more to do in IT.
庭の水撒き用のホースくらいだったネットワークが、巨大トンネルのようなネットワークに置き代わったからです。しかも職場だけではなく、自宅までも。
The reason is that the network, which was little more than a garden watering hose, has been replaced by a network that looks like a giant tunnel. And not only at work but also at home.
それまで、苦労しながら「水争いの調停」(ネットワークのQoS制御)をしていたのが、本当にバカみたいでした。
Until then, I had been struggling to "mediate water disputes" (QoS control of the network); however, I felt foolish.
あの時の虚無感は、忘れられません。
I will never forget the feeling of emptiness I had at that time.
これからは、バイオ、クリーンエネルギーが主流になっていくのだろう、とボンヤリと考えていました。
I had a vague idea that bio- and clean energy would become the mainstream in the future.
まあ、私は、制御系の呪文言語(C/C++)を扱える数少ない魔法使いでしたので、前世代に残った機器のメンテ作業で、当面は喰っていけるだろう、とは思っていましたが。
Well, I was one of the few wizards who could handle the control system spell language (C/C++), so I thought I could make a living for the time being by doing maintenance work on the remaining equipment from the previous generation.
-----
で、今、IT全然終っていません ―― というか、再起動しています。
And now, it's not finished at all -- or rather, it's being rebooted.
変換点がどこにあったかを考えてみると、やはり「クラウド」でしょうか。
Thinking about where the conversion point was, I guess it would be the "cloud."
その後DXとか出てきて、エッジ側には「ラズパイ」のようなものが出現して。
Then came the DX, and other things like "Raspy" appeared on the edge side.
決め手は『生成AI』です ―― この衝撃は計り知れないものでした。
The deciding factor was the "Generative AI" -- the impact was immense.
「まだChatGPTを使ってない人は『人生を悔い改めた方がいい』」 ―― と言った、ソフトバンクの孫社長に申し上げます。『いらんこと言うな』と。
-----
先日の会合で、職業をたずねられたので、「ITのエンジニアです」と応えたのですが、『へえ、凄いですね』と言われました。
At a recent meeting, I was asked what I did for a living, to which I replied, "I'm an IT engineer," he replied, "Wow, that's great."
その瞬間、ちょっとした眩暈(めまい)を覚えました。
At that moment, I felt a little dizzy.
「パソコンを使っただけで不当に尊敬された時代」に、強制的にタイムリープさせられたような感じになりました。
It was like being forced back in time to "a time when people were unjustly respected just for using computers."
政治資金規制法では、個人が政党に寄付できる総額は年間2000万円まで、個人が同一の政治団体に対して行う寄付は年間150万円まで可能です。
Under the Political Funds Control Law, the total amount that an individual can donate to a political party is limited to 20 million yen per year. In comparison, donations made by an individual to the same political organization are limited to 1.5 million yen per year.
問題は、『1年で5万円以下の寄付者や20万円以下の政治資金パーティーの支払者などについては収支報告書に記載をしなくてよい』という点にあります。
The problem is that 'donors who donate 50,000 yen or less in a year and payers of political fund parties of 200,000 yen or less do not have to be listed in the income and expenditure report.
要するに、パーティ券は、(1)個人献金の記載を免れたい政治家と、(2)その既得権益者の双方にとって、誠に「美味しい」システムなのです。
In short, party tickets are truly a "delicious" system for both (1) politicians who want to avoid having their contributions listed and (2) their vested interests.
というか、「美味しく」作られた法律というのが実態ですね。
Or rather, the reality is that the law was "deliciously" designed.
特許明細書風に書くのであれば、『集金装置、またはその方法』というものになります。
If written in the style of a patent specification, it would be called "a device for producing a backing, or a method for producing a backing.
-----
ただ、このように決めつけるのも、ちょっと酷な面もあります。
However, it is also a bit harsh to assume this.
我が国の国民は、支持政党を他人明言したくないし、政治家の「距離」もバレたくないです。
The people of our country do not want to declare their support for a political party to others, nor do they want to be exposed to the "distance" of a politician.
『5万円以下の20万円以下』というのは、そのバッファと言えなくもないです。
The 'less than \50,000 and less than \200,000' is nothing less than a buffer to that.
それに、政治家と繋がることが「悪徳」のように見えるのは、我が国の国民性 ―― というか、ロッキード事件、佐川急便事件、リクルート事件をリアルタイムに見てきた私としては、「政治家 = 悪い人」と見えるのは仕方がないとも思えます。
And it is a national trait of our country that connecting with politicians is seen as a "vice" - or rather, having witnessed the Lockheed, Sagawa Express, and Recruiting scandals in real-time, I think it is inevitable that politicians are seen as "bad people."
これは、悪いループです。
This is a bad loop.
-----
このループを壊す方法は、比較的簡単でして「1円以上の献金について、全て記載・報告を義務化する」です。
Breaking this loop is relatively simple: make it mandatory to list and report all donations of one yen or more.
『小学生のお年玉から300円の献金があった』という事実までもクリアにして、個人情報については、個人情報保護法で守る(ここは匿名でもいい)と。
We even clarified that 'there was a donation of 300 yen from an elementary school student's annual allowance,' and personal information is protected by the Personal Information Protection Law (where it can be anonymous).
つまりお金の起点は不明のままで、入金側の情報は1円単位まで全部公開する、です。
In other words, the origin of the money remains unknown, but all information on the deposit side is disclosed down to the penny.
-----
ただ、今回のキックバックは、この上記の検討を、全部「ちゃぶだい返し」するようなものです。
However, the kickback problem is like a "table-flipping" to all these above considerations.
このキックバックは、政治資金規制法の理念である「政治活動の資金の流れは、全て可視化する」という理念を、ぶち壊すものです。
This kickback scheme destroys the Political Funding Regulation Law principle, which states that "the flow of funds for political activities should all be made visible.
『自由な政治活動をするために、監視されない金が欲しい』という政治家の皆さんの渇望は、理解できます。
I understand the politicians' thirst for 'unmonitored money for free political activity.
「夫に知られないヘソクリ」「妻に知られない副収入」という卑近な例で、理解できないわけではありません。
It's not hard to understand, with the lowly examples of "bellybutton money that the husband doesn't know about" and "side income that the wife doesn't know about."
ただ、政治活動は、国民の利益に関するものであるべきで、上記の私的利益の取扱と一緒のパラダイムで論じられるものではありません。
However, political activities should be related to the people's interests and not be discussed in the same paradigm as the above treatment of private interests.
-----
国会議員とは「ルールメーカ」、与党は「ルーリングパーティ」と言われることがあります。
Members of parliament are sometimes referred to as "rule makers" and the ruling party as the "ruling party."
ルール策定者がルール破りをしていては、国民(の一人である私)は、本当に『やってられない』のですよ。
The people (I, as one of them) can't be helped if the rule-makers are breaking the rules.
という訳で、「1円以上の献金について、全て記載・報告を義務化する」でいいじゃないですか?
So, why don't I "make it mandatory to list and report all donations of one yen or more"?
私は「政治献金のデジタル化」の旗を掲げて、今こそデジタル庁が動き出す時、という気がしています。
I feel that now is the time for the Digital Agency to move forward under the "Digitalization of Political Contributions."
サンプルファイル
F:\しゅらばしゅう\S05-a-10_SYUTO_GML
s05_xml2csv.zip (ダウンロードして解凍して下さい。sample1.xmlも入っています)
package main
import (
"encoding/csv"
"encoding/xml"
"fmt"
"os"
)
// XMLデータの構造体定義
type Dataset struct {
Items []OccurredConcentratedTrafficVolumeOfPersonTrip `xml:"Occurred_ConcentratedTrafficVolumeOfPersonTrip"`
}
type OccurredConcentratedTrafficVolumeOfPersonTrip struct {
ID string `xml:"id,attr"`
UrbanArea int `xml:"urbanArea"`
SurveyYear int `xml:"surveyYear"`
ConcentratedOccurrence int `xml:"concentratedOccurrence"`
ZoneCode int `xml:"zoneCode"`
Railroad_NumberOfTripsForGoingToWork int `xml:"railroad_NumberOfTripsForGoingToWork"`
Railroad_NumberOfTripsForGoingToSchool int `xml:"railroad_NumberOfTripsForGoingToSchool"`
Railroad_NumberOfFreeTrips int `xml:"railroad_NumberOfFreeTrips"`
Railroad_NumberOfBusinessTrips int `xml:"railroad_NumberOfBusinessTrips"`
Railroad_NumberOfTripsForGoingHome int `xml:"railroad_NumberOfTripsForGoingHome"`
Railroad_TotalNumberOfTrips int `xml:"railroad_TotalNumberOfTrips"`
Bus_NumberOfTripsForGoingToWork int `xml:"bus_NumberOfTripsForGoingToWork"`
Bus_NumberOfTripsForGoingToSchool int `xml:"bus_NumberOfTripsForGoingToSchool"`
Bus_NumberOfFreeTrips int `xml:"bus_NumberOfFreeTrips"`
Bus_NumberOfBusinessTrips int `xml:"bus_NumberOfBusinessTrips"`
Bus_NumberOfTripsForGoingHome int `xml:"bus_NumberOfTripsForGoingHome"`
Bus_TotalNumberOfTrips int `xml:"bus_TotalNumberOfTrips"`
Automobile_NumberOfTripsForGoingToWork int `xml:"automobile_NumberOfTripsForGoingToWork"`
Automobile_NumberOfTripsForGoingToSchool int `xml:"automobile_NumberOfTripsForGoingToSchool"`
Automobile_NumberOfFreeTrips int `xml:"automobile_NumberOfFreeTrips"`
Automobile_NumberOfBusinessTrips int `xml:"automobile_NumberOfBusinessTrips"`
Automobile_NumberOfTripsForGoingHome int `xml:"automobile_NumberOfTripsForGoingHome"`
Automobile_TotalNumberOfTrips int `xml:"automobile_TotalNumberOfTrips"`
Motorcycle_NumberOfTripsForGoingToWork int `xml:"motorcycle_NumberOfTripsForGoingToWork"`
Motorcycle_NumberOfTripsForGoingToSchool int `xml:"motorcycle_NumberOfTripsForGoingToSchool"`
Motorcycle_NumberOfFreeTrips int `xml:"motorcycle_NumberOfFreeTrips"`
Motorcycle_NumberOfBusinessTrips int `xml:"motorcycle_NumberOfBusinessTrips"`
Motorcycle_NumberOfTripsForGoingHome int `xml:"motorcycle_NumberOfTripsForGoingHome"`
Motorcycle_TotalNumberOfTrips int `xml:"motorcycle_TotalNumberOfTrips"`
Walk_NumberOfTripsForGoingToWork int `xml:"walk_NumberOfTripsForGoingToWork"`
Walk_NumberOfTripsForGoingToSchool int `xml:"walk_NumberOfTripsForGoingToSchool"`
Walk_NumberOfFreeTrips int `xml:"walk_NumberOfFreeTrips"`
Walk_NumberOfBusinessTrips int `xml:"walk_NumberOfBusinessTrips"`
Walk_NumberOfTripsForGoingHome int `xml:"walk_NumberOfTripsForGoingHome"`
Walk_TotalNumberOfTrips int `xml:"walk_TotalNumberOfTrips"`
TotalNumberOfTrips int `xml:"totalNumberOfTrips"`
}
func main() {
// XMLファイルを読み込む
xmlData, err := os.Open("sample1.xml")
if err != nil {
fmt.Println("Error opening XML file:", err)
return
}
defer xmlData.Close()
// XMLデータをデコード
var dataset Dataset
decoder := xml.NewDecoder(xmlData)
if err := decoder.Decode(&dataset); err != nil {
fmt.Println("Error decoding XML:", err)
return
}
// CSVファイルにデータを書き込み
csvFile, err := os.Create("output.csv")
if err != nil {
fmt.Println("Error creating CSV file:", err)
return
}
defer csvFile.Close()
csvWriter := csv.NewWriter(csvFile)
defer csvWriter.Flush()
// CSVヘッダを書き込み
headers := []string{
"ID", "UrbanArea", "SurveyYear", "ConcentratedOccurrence", "ZoneCode",
"Railroad_NumberOfTripsForGoingToWork", "Railroad_NumberOfTripsForGoingToSchool", "Railroad_NumberOfFreeTrips",
"Railroad_NumberOfBusinessTrips", "Railroad_NumberOfTripsForGoingHome", "Railroad_TotalNumberOfTrips",
"Bus_NumberOfTripsForGoingToWork", "Bus_NumberOfTripsForGoingToSchool", "Bus_NumberOfFreeTrips",
"Bus_NumberOfBusinessTrips", "Bus_NumberOfTripsForGoingHome", "Bus_TotalNumberOfTrips",
"Automobile_NumberOfTripsForGoingToWork", "Automobile_NumberOfTripsForGoingToSchool", "Automobile_NumberOfFreeTrips",
"Automobile_NumberOfBusinessTrips", "Automobile_NumberOfTripsForGoingHome", "Automobile_TotalNumberOfTrips",
"Motorcycle_NumberOfTripsForGoingToWork", "Motorcycle_NumberOfTripsForGoingToSchool", "Motorcycle_NumberOfFreeTrips",
"Motorcycle_NumberOfBusinessTrips", "Motorcycle_NumberOfTripsForGoingHome", "Motorcycle_TotalNumberOfTrips",
"Walk_NumberOfTripsForGoingToWork", "Walk_NumberOfTripsForGoingToSchool", "Walk_NumberOfFreeTrips",
"Walk_NumberOfBusinessTrips", "Walk_NumberOfTripsForGoingHome", "Walk_TotalNumberOfTrips",
"TotalNumberOfTrips",
}
if err := csvWriter.Write(headers); err != nil {
fmt.Println("Error writing CSV headers:", err)
return
}
// データをCSVに書き込み
//for _, person := range root.Persons {
for _, item := range dataset.Items {
// fmt.Println("pass1")
// fmt.Println(item)
//record := []string{item.ID, fmt.Sprintf("%d", item.UrbanArea), fmt.Sprintf("%d", item.SurveyYear), fmt.Sprintf("%d", item.ConcentratedOccurrence), fmt.Sprintf("%d", item.ZoneCode)}
record := []string{
item.ID,
fmt.Sprintf("%d", item.UrbanArea),
fmt.Sprintf("%d", item.SurveyYear),
fmt.Sprintf("%d", item.ConcentratedOccurrence),
fmt.Sprintf("%d", item.ZoneCode),
fmt.Sprintf("%d", item.Railroad_NumberOfTripsForGoingToWork),
fmt.Sprintf("%d", item.Railroad_NumberOfTripsForGoingToSchool),
fmt.Sprintf("%d", item.Railroad_NumberOfFreeTrips),
fmt.Sprintf("%d", item.Railroad_NumberOfBusinessTrips),
fmt.Sprintf("%d", item.Railroad_NumberOfTripsForGoingHome),
fmt.Sprintf("%d", item.Railroad_TotalNumberOfTrips),
fmt.Sprintf("%d", item.Bus_NumberOfTripsForGoingToWork),
fmt.Sprintf("%d", item.Bus_NumberOfTripsForGoingToSchool),
fmt.Sprintf("%d", item.Bus_NumberOfFreeTrips),
fmt.Sprintf("%d", item.Bus_NumberOfBusinessTrips),
fmt.Sprintf("%d", item.Bus_NumberOfTripsForGoingHome),
fmt.Sprintf("%d", item.Bus_TotalNumberOfTrips),
fmt.Sprintf("%d", item.Automobile_NumberOfTripsForGoingToWork),
fmt.Sprintf("%d", item.Automobile_NumberOfTripsForGoingToSchool),
fmt.Sprintf("%d", item.Automobile_NumberOfFreeTrips),
fmt.Sprintf("%d", item.Automobile_NumberOfBusinessTrips),
fmt.Sprintf("%d", item.Automobile_NumberOfTripsForGoingHome),
fmt.Sprintf("%d", item.Automobile_TotalNumberOfTrips),
fmt.Sprintf("%d", item.Motorcycle_NumberOfTripsForGoingToWork),
fmt.Sprintf("%d", item.Motorcycle_NumberOfTripsForGoingToSchool),
fmt.Sprintf("%d", item.Motorcycle_NumberOfFreeTrips),
fmt.Sprintf("%d", item.Motorcycle_NumberOfBusinessTrips),
fmt.Sprintf("%d", item.Motorcycle_NumberOfTripsForGoingHome),
fmt.Sprintf("%d", item.Motorcycle_TotalNumberOfTrips),
fmt.Sprintf("%d", item.Walk_NumberOfTripsForGoingToWork),
fmt.Sprintf("%d", item.Walk_NumberOfTripsForGoingToSchool),
fmt.Sprintf("%d", item.Walk_NumberOfFreeTrips),
fmt.Sprintf("%d", item.Walk_NumberOfBusinessTrips),
fmt.Sprintf("%d", item.Walk_NumberOfTripsForGoingHome),
fmt.Sprintf("%d", item.Walk_TotalNumberOfTrips),
fmt.Sprintf("%d", item.TotalNumberOfTrips),
}
if err := csvWriter.Write(record); err != nil {
fmt.Println("Error writing CSV record:", err)
return
}
}
fmt.Println("CSV file successfully created.")
}