✖
やる気のリハビリというの頑張ってやろうとしてもすぐ無駄にされるので、やる気なくなる悪いループにハマってる。
やる気のリハビリというの、どういうことかというと、大きなものを作ろうとすると大きなやる気が必要になるけど、それだけのやる気がないとき、小さなものを小さなやる気で作ってフィードバックを得て、小さいやる気をちょっとずつ増幅させていくということです。
これ、継続的に減衰させるような要素があると (例えば不安・不信とか) 全然次の段階に進まないし、永遠に小さいものを小さなやる気でつくるしかなくなる。あるいはやる気ってのは外敵に著しく弱いので、何かしらの刺激でゼロに戻ると、また最初から、つまり小さなものを作ることからやりなおしになる。
一旦育ててそれなりに大きいものを作れて、フィードバックを適切にうけられれば、さらに大きいものを作っていける一方、ゼロになると長い時間が必要になってしまう。
こういうこと、体内にやる気の永久機関を持っていて自己完結している人には理解されないのだろうなあと最近思った。
関連エントリー
- ✖ さきが想像できれば、必要なものが自動的に見えてくるけど、そういうことではないのかな。そういうことではないのかもしれない。もっと別の部分で負の...
- ✖ 外に出ないものを作る気ってのはむしろ全くといっていいほどないんですけど、これはこれの問題があって、表に見える形を想像できないと手をつけられな...
- ✖ 直列/並列共振回路の共振周波数 リアクタンスとの関係 インピーダンスの式 共振状態ではリアクタンス部(虚数部)はゼロになる (抵抗成分だけ)...
- 紅葉や桜のような細かいものの集合写真はなぜ綺麗に見えないか? モニタの解像度が足りないからというのはあるだろうな、と思いつつ、大きい画面で高い解像度のディスプレイを持っていなかったので、完全に実感できて...
- モバイルバッテリーのロードバランサ2 モバイルバッテリーのロードバランサ | tech - 氾濫原 の続き。5V 2A (10W) 出力のモバイルバッテリー複数使って、30W ぐ...
✖
強烈なやる気を持って何か作ってるときは非常に幸せなのだから、やる気は徹底的に保護したいと思っているけど、うまくいかないもんですね。
モチベーションを保つのってめちゃくちゃ難しいことだと思うし、特に人から「やれよ」といわれてやることに対してのモチベーションなんて、二日持てばいいほうなんじゃないのかなぁと個人的に思う。
なんかすんごい何度も書いてる気がするけど、モチベーションの維持が一番難しいのだ。だから自分はモチベーションがあるときは失わないように必死だし、モチベーションがないときはどうすればモチベーションがでるか考えている。
成長してなくて笑えないです。体内にやる気を生成する機関がうまく作られなかったのでもうどうしようもない感あります。
関連エントリー
- ✖ 僕は体内にモチベーションを創造する器官がないか、ないし殆ど活動をしやがらないので、たまにどっかからきたモチベーションを刈り盗られると何もでき...
- ✖ 前にも書いたけど、強烈な幸せを感じるのは強いモチベーション(これはいいから早く作って出したいという気持ち)でアウトプットの辛さ(バカにされる...
- ✖ 今週もモチベーションを回復するための試みを多少したが、思うような結果が得られない。毎日一定削がれる量が多すぎて何も追いつかないようになってる...
- ✖ もう少し先で踏ん張りどころだなーという感じのところだけど、モチベーションの火を燃やし続けるのはものすごく難しいので雨とか降らないで欲しい。
- ✖ ああやって人をバカにしてやる気を奪っておいて、一体なんなんでしょうか? 体調コントロールは最悪医者にいったらどうにかなるかもというのがありま...
✖
悔しいって気持ちあんまり感じないんだよなあ…… ないし、感じるけど、人に対してはあんまり感じなくて普通にすごいなぁとしか思わない。あるいは悔しいと思っても、別にそれが行動に繋ったりしない。「残念だったねぇ」としか思わないし、「悔しさ」自体はモチベーションには繋がらない。
一番悔しいって感じるときは、アイデアがあって、実装もしてあったのに、先に誰かに同じアイデアの何かを出されたときですよ。例え同時多発的なアイデアであっても、後発は永遠にパクりの嫌疑をかけられるんですから。
この場合、そのとき「悔しい思いをする想像」っていうのは、早く実装して早く出したいという気持ちになるけど、もちろんそれは「これはおもしろいし先をこされたくない」っていう強い感情に基いてる。
関連エントリー
- ✖ ミシンに少し慣れてきたので、今まで「自分で作る」ことを考えたこともなかったことについて、改めて「自分で作れるならどんなものを作るか?」と考え...
- ✖ そういえば分割キーボードの話で、左右共通の基板にするために切り取り先を入れて折れるようにするアイデアが面白いと思った。 キーボード基板はそれ...
- ✖ 前にも書いたけど、強烈な幸せを感じるのは強いモチベーション(これはいいから早く作って出したいという気持ち)でアウトプットの辛さ(バカにされる...
- ✖ さきが想像できれば、必要なものが自動的に見えてくるけど、そういうことではないのかな。そういうことではないのかもしれない。もっと別の部分で負の...
- 明治大学博物館 明治大学博物館 駿河台キャンパス(神田・お茶の水)の地下にある広い。2フロアある。企画展、大学史、常設展 考古学領域だと石器の種類が多いかも...
✖
Firefox、Mac OS X で2つ以上インスタンス化すると、-no-remote の有無に限らず最初に起動したほうが open http://.../ で使われるのはどうにかならないのか
バイナリもう1つ作って Contents/Info.plist のそれっぽいエントリを消したり、s/Firefox/XXXXX/g したりするとうまくいくようだ……
✖
メッセージキュー、何を使えばいいのかわからないお……
Q4M って DBI 使うとブロックしちゃうけど、非同期にするにはどうしたらいいんだろう。AnyEvent::Worker|AnyEvent::DBI (=fork) 使うのがいいのかな。スタンダードな方法がわからない
LDR Streaming API では自力で MQ 作ったというのを見たけど、これ使っとけ的なのはないのかなあ……
Memo
HTTP ベースで pub/sub なメッセージキュー
かなりざっくり書くと以下のような感じになる気がするけど、こういう HTTP ベースの内部用途の pub/sub サーバって既に良いのはあるのかな……
package Buspub;
use strict;
use warnings;
sub route ($$);
use Router::Simple;
use Tie::IxHash;
use AnyEvent::HTTP;
use HTTP::Request::Common;
use JSON::XS;
use POSIX ();
use MongoDB;
my $connection = MongoDB::Connection->new(host => 'localhost', port => 27017);
my $subscriptions = $connection->get_database('pubsub')->subscriptions;
$subscriptions->ensure_index(Tie::IxHash->new( key => 1, created => -1 ), { background => 1 });
route '/sub' => {
action => sub {
my ($r) = @_;
my $key = $r->req->param('key') or return $r->json({ error => "key required"});;
my $callback = $r->req->param('callback') or return $r->json({ error => "callback required"});;
my $id = $subscriptions->insert({
key => $key,
messages => [],
callback => $callback,
max => 25,
created => scalar time(),
});
LOG("SUB:: %s with callback: %s", $key, $callback);
$r->json({ id => "$id" });
}
};
route '/pub' => {
action => sub {
my ($r) = @_;
my $key = $r->req->param('key') or return $r->json({ error => "key required"});;
my $message = decode_json $r->req->param('message');
my $cursor = $subscriptions->query({ key => $key });
my %count;
while (my $obj = $cursor->next) {
$count{all}++;
my $id = $obj->{_id} . "";
my $uri = $obj->{callback};
my $messages = [ @{$obj->{messages}}, $message ];
my $req = POST $uri, [ id => $id, messages => encode_json($messages) ];
LOG("PUB:: => %s => %s with %d messages", $key, $req->uri, scalar @$messages);
http_request $req->method => $req->uri,
body => $req->content,
headers => {
map { $_ => $req->header($_), } $req->headers->header_field_names
},
timeout => 20,
sub {
my ($body, $headers) = @_;
LOG("PUB:: <= %s <= %s with status:%d", $key, $req->uri, $headers->{Status});
if ($headers->{Status} =~ /^2/) {
$subscriptions->update({ _id => $obj->{_id} }, { '$pullAll' => { messages => $obj->{messages} } });
} elsif ($headers->{Status} =~ /^4/) {
$subscriptions->remove({ _id => $obj->{_id} });
} elsif ($headers->{Status} =~ /^5/) {
if (@$messages > $obj->{max}) {
$subscriptions->remove({ _id => $obj->{_id} });
} else {
$subscriptions->update({ _id => $obj->{_id} }, { '$push' => { messages => $message } });
}
}
}
;
}
$r->json({ key => $key, delivered => \%count });
}
};
route '/test/callback' => {
action => sub {
my ($r) = @_;
use Data::Dumper;
warn Dumper $r->req->param('id') ;
warn Dumper decode_json $r->req->param('messages') ;
$r->res->status($r->req->param('code') || 404);
$r->res->content_type('application/json; charset=utf8');
$r->res->content('{}');
$r->res->finalize;
}
};
BEGIN {
my $router = Router::Simple->new;
sub route ($$) { $router->connect(@_) };
sub run {
my ($env) = @_;
if ( my $handler = $router->match($env) ) {
my $c = Buspub::Context->new($env);
$handler->{action}->($c);
} else {
[ 404, [ 'Content-Type' => 'text/html' ], ['Not Found'] ];
}
}
sub LOG {
my ($message, @args) = @_;
print sprintf("[%s] $message", POSIX::strftime("%Y-%m-%d %H:%M:%S", localtime), @args), "\n";
}
};
package Buspub::Request;
use parent qw(Plack::Request);
package Buspub::Response;
use parent qw(Plack::Response);
package Buspub::Context;
use JSON::XS;
sub new {
my ($class, $env) = @_;
bless {
req => Buspub::Request->new($env),
res => Buspub::Response->new(200),
}, $class;
}
sub req { $_[0]->{req} }
sub res { $_[0]->{res} }
sub json {
my ($self, $vars) = @_;
my $body = JSON::XS->new->ascii(1)->encode($vars);
$self->res->content_type('application/json; charset=utf8');
$self->res->content($body);
$self->res->finalize;
}
\&Buspub::run;





