私は、「自分の意志で目指す成功」であるならともかく、「他人の目に映る成功」なんぞの為に、自分が振り回されることなど、ゴメンです。
(Continuation from yesterday)
江端:「まあ、それはさておき、『一旗』って何だ?」
Ebata: "Well, aside from that, what's a 'the flag' ?"
嫁さん:「『故郷に錦を飾る』とも言うね」
Wife: "It's also called 'return to their hometown in glory'"
江端:「『一旗』から想起されるイメージって、ミュージシャン、アイドル、役者、くらいしか思い付かないんだけど」
Ebata: "The only images that 'the flag' reminds me of are musicians, idols and actors"
嫁さん「あるいは、政治家とか野球選手・・・いずれにしても、この程度が私達のイメージが限界かな」
Wife: "Or a politician or a baseball player... Anyway, I guess this is the limit of our image.
江端:「自分の望みのことが達成できれば、それは、『一旗上がった』ということにならないのかな? 自分なりの目標に対して、それを達成すれば、足るというような」
Ebata: "If they can achieve what they want, is that 'they could raise the flag' ? I suppose it's good enough for my own goals, if I achieve them."
嫁さん「・・・いや、それはちょっと違うかな」
Wife:"...no, that's not enough.
江端:「?」
Ebata:"?"
嫁さん:「『故郷に錦を飾る』と合わせて考えれば、それは、第三者にとって ―― 特に出身地の ―― 多くの人間が、共通して、"成功"と認識できる何かでなければ、成立しない」
Wife: "If they use the phrase of "return to their hometown in glory", the flag should be something that could be perceived as a "success." for many people, especially in their hometown."
江端:「・・・多くの人が共通して価値のあると認められるもの ―― つまり"金"か」
Ebata: "...what most people consider to be of common value -- 'money'"
嫁さん「あるいは、有名になること ―― "名声"も含まれるかな」
Wife: "Or to be famous -- I guess that includes 'fame'"
江端:「第三者から観測可能な"金"と"名声"というとになると ―― ああ、なるほど、『ミュージシャン』などは、分かりやすい」
Ebata: "When it comes to 'money' and 'fame' that can be observed by a third party - ah, I see, 'musicians' is easy to understand.
嫁さん「そうだねえ。そこに至るプロセスが、努力と能力だけでなく、運も必要であり、加えて"その可能性が恐しく小さい"という要件も必要だね」
Wife: "Yes, you're right. The process of getting there requires not only effort and ability, but also luck, and in addition, 'the possibility should be terribly small'.
-----
正直、私は、
Honestly, I thought that
―― 面倒くさいな
"It's troublesome"
と思いました。
私は、「自分の意志で目指す成功」であるならともかく、「他人の目に映る成功」なんぞの為に、自分が振り回されることなど、ゴメンです。
I don't want to be at the mercy of "success in the eyes of others", but "success of my own volition.
-----
最後にいらんことを書き残します。
Finally, I'll leave you with something unnecessary.
こういう、他人視点の"一旗"幻想を持っている方は、このページの一読をお勧めします。
If you have an illusion of the flag in the eyes of others, let you read this article.
文字を読むのが面倒であるなら
If you can't be bothered to read the words, it is O.K. to watch these figures.
参考くらいにはなると思います。
I think it's at least a reference.
golang の templateを使って、PrumeClusterと一回だけのJSON送信をやってみた
- 内容:位置情報をサーバからクアイアント(Webブラウザ)に1回のみ一回だけ送信して、その情報を、適当にランダムウォークさせるだけのプログラム
- 方針 できるだけ、プログラムは汚いまま残す
/*
// server7.go
// Copyright 2015 The Gorilla WebSocket Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// +build ignore
// 使い方
// go run server7.go (適当なシェルから)
// http://localhost:8080 (ブラウザ起動)
*/
package main
import (
"flag"
"html/template"
"log"
"net/http"
"github.com/gorilla/websocket"
)
// GetLoc GetLoc
type GetLoc struct {
ID int `json:"id"`
Lat float64 `json:"lat"`
Lng float64 `json:"lng"`
//Address string `json:"address"`
}
//var addr = flag.String("addr", "localhost:8080", "http service address")
var addr = flag.String("addr", "0.0.0.0:8080", "http service address") // テスト
var upgrader = websocket.Upgrader{} // use default options
func echo(w http.ResponseWriter, r *http.Request) {
c, err := upgrader.Upgrade(w, r, nil) // cはサーバのコネクション
if err != nil {
log.Print("upgrade:", err)
return
}
defer c.Close()
/*
for {
//mt, message, err := c.ReadMessage() // クライアントからのメッセージの受信(mtはクライアント識別子)
_, _, err := c.ReadMessage() // クライアントからのメッセージの受信(mtはクライアント識別子)
if err != nil {
log.Println("read:", err)
break
}
// JSON(位置情報)を無理やり入れてみた
gl := GetLoc{
ID: 1,
Lat: 35.653976,
Lng: 139.796842,
}
//log.Printf("recv_serv: %s", gl)
//err = c.WriteJSON(mt, gl)
err = c.WriteJSON(gl)
if err != nil {
log.Println("write:", err)
break
}
}
*/
gl := GetLoc{
ID: 1,
Lat: 35.653976,
Lng: 139.796842,
}
//log.Printf("recv_serv: %s", gl)
//err = c.WriteJSON(mt, gl)
err = c.WriteJSON(gl)
if err != nil {
log.Println("write:", err)
}
}
func home(w http.ResponseWriter, r *http.Request) {
homeTemplate.Execute(w, "ws://"+r.Host+"/echo")
}
func main() {
flag.Parse()
log.SetFlags(0)
http.HandleFunc("/echo", echo) // echo関数を登録 (サーバとして必要)
http.HandleFunc("/", home) // home関数を登録
log.Fatal(http.ListenAndServe(*addr, nil)) // localhost:8080で起動をセット
}
var homeTemplate = template.Must(template.New("").Parse(`
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>PruneCluster - Realworld 50k</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.0.0-beta.2.rc.2/leaflet.css"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.0.0-beta.2.rc.2/leaflet.js"></script>
<script src="http://kobore.net/PruneCluster.js"></script>
<link rel="stylesheet" href="http://kobore.net/examples.css"/>
</head>
<body>
<div id="map"></div>
<script>
ws = new WebSocket("{{.}}"); // websocketの確立
/*
var print = function(message) {
var d = document.createElement("div");
d.textContent = message;
output.appendChild(d);
};
*/
//引数にはミリ秒を指定。(例:5秒の場合は5000)
function sleep(a){
var dt1 = new Date().getTime();
var dt2 = new Date().getTime();
while (dt2 < dt1 + a){
dt2 = new Date().getTime();
}
return;
}
var map = L.map("map", {
attributionControl: false,
zoomControl: false
}).setView(new L.LatLng(35.654543, 139.795534), 18);
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
detectRetina: true,
maxNativeZoom: 18
}).addTo(map);
var leafletView = new PruneClusterForLeaflet(1,1); // (120,20)がデフォルト
/*
// 送信5発(3秒単位)を送信
ws.onopen = function (event) {
for (let i = 0; i < 1; i++){
ws.send("Ebata is great");
//print("send: Ebata is great");
//print("Start sleep");
sleep(1000);
//print("End sleep");
}
}
*/
var markers = [];
// 受信すると、勝手にここに飛んでくる
ws.onmessage = function (event) {
// データをJSON形式に変更
var obj = JSON.parse(event.data);
// データをマーカーとして登録
var marker = new PruneCluster.Marker(obj.lat, obj.lng);
markers.push(marker);
leafletView.RegisterMarker(marker);
// leafletView.ProcessView(); // 変更が行われたときに呼び出されなければなりません。
}
/*
// 100人分を登録する
var size = 1;
var markers = [];
for (var i = 0; i < size; ++i) {
var marker = new PruneCluster.Marker(35.654543 + (Math.random() - 0.5) * 0.00001 * size, 139.795534 + (Math.random() - 0.5) * 0.00002 * size);
markers.push(marker);
leafletView.RegisterMarker(marker);
}
*/
/*
ちなみにオブジェクトの削除は、以下の様らしい
// Remove all the markers
pruneCluster.RemoveMarkers();
// Remove a list of markers
pruneCluster.RemoveMarkers([markerA,markerB,...]); リスト単位で消去する、ことか → marker[0],maker[1] と指定して消していくのだと思われ
// こんなのがあった random.10000-delete.html
document.getElementById('delete').onclick = function () {
if (size >= 1000) {
var deleteList = markers.splice(0, 1000);
leafletView.RemoveMarkers(deleteList);
size -= 1000;
}
return false;
};
*/
// ランダムウォークさせる
window.setInterval(function () {
for (i = 0; i < 1; ++i) {
//var coef = i < size / 8 ? 10 : 1;
var coef = 10;
var ll = markers[i].position;
ll.lat += (Math.random() - 0.5) * 0.00001 * coef;
ll.lng += (Math.random() - 0.5) * 0.00002 * coef;
}
leafletView.ProcessView(); // 変更が行われたときに呼び出されれなければならない
}, 500);
// サーバを止めると、ここに飛んでくる
ws.onclose = function(event) {
//print("CLOSE");
ws = null;
}
map.addLayer(leafletView);
</script>
</body>
</html>
`))
WiMAX 2+ は、有線(USB)で使えないと思っていたけど、USBで表示されたドライブ(D:)をクリックしたら使えるようになった。
WiMAX 2+ は、有線(USB)で使えないと思っていたけど、USBで表示されたドライブ(D:)をクリックしたら使えるようになった。本体の方で特別な設定はしなかった。とりあえずメモで。
私が、アニメ「日本沈没2020」を、現時点で視聴できていない理由
娘(長女)によれば、アニメ「日本沈没2020」は大変良いアニメだそうです。
私は、3分ほど視聴しただけで、現在見ていません。
原作からの乖離が、とても大き過ぎるように思えて、ちょっと辛いのです。
もちろん、私は、「いかなる二次創作も肯定する」と明言していますし、そのような創作物を「きちんと視聴しないままでで批判する人間」を批判していますので、当然、自分にもそのルールを適用しています。
私の体は、故小松左京先生の原作「日本沈没」と「さよならジュピター」(を一部として)できているといっても過言でもありません。
特に原作「日本沈没」は、巨大な地球科学のシミュレーションと、科学の本質的概念が登場し、これは、私の基本的な思想として定着しています。
で、皆さんに質問です。
アニメ「日本沈没2020」の中には、原作に含まれる、いかのようなパラダイムは登場しますか?

もし、このような、考え方が、アニメ「日本沈没2020」に登場するのであれば、私、がんばって、このアニメを見たいと思っています。