We are often misled by news of violent incidents and wars, but when viewed on the order of hundreds of years, humanity has continued to suppress its instinct for violence with the intelligence.
人類は、愚かな方向にのみ向いているように見えますが、案外そうでもないらしいです。
We apt to think that humanity seems to be oriented only in a foolish direction, but not so surprisingly
久々にホッする内容のドキュメンタリーでした。
It has been a long time since I was relieved by the content of this documentary.
ですが、やっぱり番組の題目は良くないと思う。
But I still think the title of the program is not proper.
Both the inside and outside of a human being are put together as "attributes" and then all of them are further passed through and the relationship between "that person" and "I" becomes a worldview governed only by the value of "is/is not worth it".
syntax = "proto3";
option go_package="./;main"; // 理由は分からないけど、この1行で、以下のエラーが消えた
//$ protoc --go_out=. *.proto
//protoc-gen-go: unable to determine Go import path for "person.proto"
//Please specify either:
// • a "go_package" option in the .proto source file, or
// • a "M" argument on the command line.
//See https://developers.google.com/protocol-buffers/docs/reference/go-generated#p
//ackage for more information.
//--go_out: protoc-gen-go: Plugin failed with status code 1.
package main;
message Person{
string name = 1;
int32 age = 2;
}
この結果、以下のようなperson.pb.goが生成されました。
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.26.0
// protoc v4.22.2
// source: person.proto
package main
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type Person struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Age int32 `protobuf:"varint,2,opt,name=age,proto3" json:"age,omitempty"`
}
func (x *Person) Reset() {
*x = Person{}
if protoimpl.UnsafeEnabled {
mi := &file_person_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Person) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Person) ProtoMessage() {}
func (x *Person) ProtoReflect() protoreflect.Message {
mi := &file_person_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Person.ProtoReflect.Descriptor instead.
func (*Person) Descriptor() ([]byte, []int) {
return file_person_proto_rawDescGZIP(), []int{0}
}
func (x *Person) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Person) GetAge() int32 {
if x != nil {
return x.Age
}
return 0
}
var File_person_proto protoreflect.FileDescriptor
var file_person_proto_rawDesc = []byte{
0x0a, 0x0c, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04,
0x6d, 0x61, 0x69, 0x6e, 0x22, 0x2e, 0x0a, 0x06, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x12,
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x03, 0x61, 0x67, 0x65, 0x42, 0x09, 0x5a, 0x07, 0x2e, 0x2f, 0x3b, 0x6d, 0x61, 0x69, 0x6e, 0x62,
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_person_proto_rawDescOnce sync.Once
file_person_proto_rawDescData = file_person_proto_rawDesc
)
func file_person_proto_rawDescGZIP() []byte {
file_person_proto_rawDescOnce.Do(func() {
file_person_proto_rawDescData = protoimpl.X.CompressGZIP(file_person_proto_rawDescData)
})
return file_person_proto_rawDescData
}
var file_person_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_person_proto_goTypes = []interface{}{
(*Person)(nil), // 0: main.Person
}
var file_person_proto_depIdxs = []int32{
0, // [0:0] is the sub-list for method output_type
0, // [0:0] is the sub-list for method input_type
0, // [0:0] is the sub-list for extension type_name
0, // [0:0] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name
}
func init() { file_person_proto_init() }
func file_person_proto_init() {
if File_person_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_person_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Person); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_person_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_person_proto_goTypes,
DependencyIndexes: file_person_proto_depIdxs,
MessageInfos: file_person_proto_msgTypes,
}.Build()
File_person_proto = out.File
file_person_proto_rawDesc = nil
file_person_proto_goTypes = nil
file_person_proto_depIdxs = nil
}
main.go:7:2: no required module provides package google.golang.org/protobuf/prot
o: go.mod file not found in current directory or any parent directory; see 'go h
elp modules'
person.pb.go:10:2: no required module provides package google.golang.org/protobu
f/reflect/protoreflect: go.mod file not found in current directory or any parent
directory; see 'go help modules'
person.pb.go:11:2: no required module provides package google.golang.org/protobu
f/runtime/protoimpl: go.mod file not found in current directory or any parent di
rectory; see 'go help modules'
というエラーがでてくるので、
$go mod init m
$ go get google.golang.org/protobuf/reflect/protoreflect
$ go get google.golang.org/protobuf/proto
$ go get google.golang.org/protobuf/runtime/protoimpl
$go mod init m
$ go get google.golang.org/protobuf/reflect/protoreflect
$ go get google.golang.org/protobuf/proto
$ go get google.golang.org/protobuf/runtime/protoimpl
で、
こちらの環境でも、上記と同じ手続で、gtfs-realtime.pb.goを作り、
$ go run main.go gtfs-realtime.pb.go
を実施してみましたところ、
main.go:11:2: no required module provides package github.com/MobilityData/gtfs-realtime-bindings/golang/gtfs; to
add it:
go get github.com/MobilityData/gtfs-realtime-bindings/golang/gtfs
main.go:12:2: missing go.sum entry for module providing package github.com/golang/protobuf/proto; to add:
go mod download github.com/golang/protobuf
(3) However, (2) above caused the reactor pressure to drop, resulting in water being pulled up from the water reservoir, which was completely unexpected, and consequently cooling the dissolved fuel.
It is said that the power companies and the universities to which they outsource the operation of nuclear power plants conduct every conceivable accident simulation.
As I have said in the past, control systems, whether for automobiles, airplanes, power plants, or rockets, gradually improve their safety and reliability through repeated failures.
The development of "An app that keeps monitoring the conversation on your phone during the course of a date, and at the appropriate time, your phone will automatically provide a topic of conversation" should be needed.
しかし、これは、現在の技術で十分スコープ内です。
However, this is well within scope with current technology.
-----
―― カップルの双方が、話題提供アプリと骨伝導イヤホンを装着してデートをする未来
-- A future where both couples date wearing a talking-head app and bone-conduction earbuds.
私、この未来が「同時通訳アプリよりも早く登場する」と思います。
Me, I think this future will appear "faster than simultaneous interpretation apps".
なぜなら、ユーザ数がケタ違いだからです。
This is because the number of users is off the charts.
-----
このアプリの登場によって『既存のデートの概念が、根底から覆(くつがえ)る』と思います。
I believe that this application will "overturn the existing concept of dating from the very foundation".
ただ、どういう風に覆るのかは、まだ分かりません。
However, I do not yet know how it will be overturned.
『陽キャの恋愛一極支配を崩す、恋愛機会均一を成しとげるか』
"Can we achieve an equal opportunity for love that will break the unipolar dominance of love in the extrovert?"
はたまた、
or,
『恋愛格差を、絶望的なまでに拡大させるか』
"Are we going to let the love gap widen to the point of hopelessness?"
When you get stuck on a topic, it is "routine" to fall back on topics such as the other person's age, whether or not he/she has a girlfriend, where he/she is from, and what he/she does for a living.
食料やエネルギの枯渇が戦争を引き起こすように、話題の枯渇はハラスメントを発生させるのです。
Just as the exhaustion of food and energy causes wars, the exhaustion of topics causes harassment.
In my case, I usually try to avoid going in that direction by practicing to come up with stories (like this blog), but I am not sure if I am controlling it well.
In order to do this, the topics of conversation must be of sufficient quantity and content that the other party can expand on them with new material -- which is quite difficult.
-----
このような状況を総括すると、
To sum up the situation,
「飲み会に出席しない」「デートをしない」、
"I don't attend drinking parties" or "I don't go on dates"
転じて、
in addition,
「仲間を作らない」「友人を持たない」「恋人を諦め、結婚を人生のスコープ外とする」
"I make and have no friends," "give up on lovers, and take marriage out of the scope of their lives"
というのは ―― これはこれで、なかなか理にかなった戦略ではないかなぁ、と思うことがあります。
Sometimes I think this is a strategy that makes a lot of sense.
On the other hand, the fact that information was extracted by the Chinese government has not yet been revealed in the previous case of Huawei's telecommunications equipment.
(Since at least the technical verification should have been completed, it is possible that it is being kept undisclosed to the public and is being used as a bargaining chip between governments.)
Anyway, the United States is a country that can assume that there are weapons of mass destruction, launch a war on its own without a UN resolution, completely collapse its system, and then say with impunity, "We searched but found no weapons of mass destruction.