2018年12月7日金曜日

『残酷すぎる成功法則』

エリック・バーカー, 橘玲, 竹中てる実 著)より


日本にも「幸福になれる」とか「人生うまくいく」とかの本はたくさんある。

じつはこれらの本には、ひとつの共通点がある。それは証拠(エビデンス)がないことだ。

「めそめそ泣いて(Whiny)、去勢された(Neutered)ヤギたちが(Goats)空を飛ぶ(Fly)」。このイメージを頭に描こう。あなたはたった今、面白いゲームすべてに共通する四文字を知った。頭文字を取って「WNGF」だ。なぜなら、面白いゲームに含まれる共通要素は、勝てること(Winnable)、斬新であること(Novel)、目標(Goals)、 フィードバック(Feedback)の四つだからだ。

ドラッカーは、時間が最も希少な資源だと考えていた。彼が人びとに薦めた第一の防衛策はスケジュール管理の向上ではなく、自分の目標を達成するうえで、その進捗に寄与しないすべてのものを断つことだった。

エッティンゲンは、これと同じシステムを、私たちが実践しやすいシンプルな形にまとめ、「WOOP」と名づけた(正式な用語では「心理対比」というが、ここでは「WOOP」と呼びたい)。WOOPとは、願い(Wish)、成果(Outcome)、障害(Obstacle)、計画(Plan)の頭文字を取ったもので、仕事や人間関係、運動、減量など、ありとあらゆる目標に適用できる法則である。

作家のチャールズ・デュヒッグはすぐれた著書『習慣の力』(講談社)のなかで、ハーバード大学が一九九四年に、劇的に人生を変えた人びとを対象に行った調査にふれている。多くの場合、彼らの人生を形づくったものはある重大な変化ではなく、自分があんな風になりたいと思った人びとから成るグループに参加したことだった

「ダニング=クルーガー効果」とは、経験が浅い者ほど、ものごとがどれほど困難なのかを評価する尺度を持たないので自信満々でいられる、という奇妙な現象のことをいう。きっと誰でも経験があるはずだ。たとえば、誰かがヨガのポーズを取っているのを見ると簡単そうに思えるが、いざやってみると思っていた以上に難しかったりする。絵画を見ながら、「私でも描けそう」とつぶやいたりするのも同じことだ

ここでくせ者なのは「仕事(Work)」という言葉だ。「仕事」は嫌なものだという響きがある。「この仕事を全部しなければならないなんてウンザリだ」とか。でも、仕事には「職務(Job)」という意味もある。自分の職務が充実していたら、ちっとも悪いものではなくなる。マーク・トウェインが『トム・ソーヤーの冒険』で書いているように、「仕事はしなければならないことでできているが、遊びはしなくてもよいことでできている」。  あなたが仕事を楽しめば、たとえストレスがあろうと、結局それは報われる。

スタンフォード大学の調査によれば、無に等しい。五五時間を超過すると生産性は急激に低下するので、「週に七〇時間働く者は、余分な一五時間で何も生産しないことになる」という。生みだされているのはストレスだけ。  社会科学と関連する経済的問題を扱う雑誌『ジャーナル・オブ・ソシオエコノミックス』に掲載された論文では、残業ストレスによる幸福感の減少は、残業代がもたらす幸福感の増加を上まわるとの調査結果が示された。お金では埋め合わせが利かない。

本当に管理すべきは時間ではなく、エネルギーなのだ。そこで量的な価値より質的な価値に焦点を合わせるレンズが必要となる。すべての時間は、質的に同等ではない。また、私たちは機械ではない。けれども、時間モデルは機械をモデルとしている。私たちの仕事は機械になることではない。あくまでも、機械にすぐれた仕事をさせることだ。

人類史で言えばつい最近まで、私たちはせいぜい一〇〇~二〇〇人規模の部族にいたので、これだけは誰にも負けないというものを持てた。特別で価値ある存在になれたのだ。しかし今、私たちは七〇億人という地球規模の種族に属している。自分よりすぐれた存在が際限なくいて、メディアはいつもそうした人びとを取りあげる。その結果、目標に近づくための基準もかぎりなく跳ねあがった。

ここに問題がある。私たちは選択権を持つことが好きだ。しかし選択をすることは嫌いだ。選択肢があることは、可能性を意味するが、選択することは、その可能性を失うことを意味する。そして選択肢が多いほど、後悔する機会も増えることになる。

格安SIM導入 Android 7.0 Update

Android をアップデートするとつながらなくなった。

APNを再設定するとつながるとのこと。

やってみた。

つながらない。

結果、FEP が変わり、英単語の後には自動でスペースが入ることが原因。。。

スペースはトリムしてよ。。。

2018年12月1日土曜日

mp3 に自動で歌詞を入れてみる 2

perl で mp3 の歌詞を自動で入れたい。改良。

動かし方:フォルダーに mp3 を入れて起動。
perl filegetlyricsJ.pl  "/mnt/d/music/mp3/test/"
mp3 の tag の曲名とアーティスト名から、歌詞をとってきます。
ただ、取りに行っているサイトの関係で、日本の歌ぐらいしか取れてません。

環境:windows10 に ubuntu を入れて実行してます。
$ sudo apt-get install libmp3-tag-perl
とかで、モジュールは追加。

習作ですがとりあえず公開。

------------------------------- filegetlyricsJ.pl の名前で以下を保存
#!/usr/bin/perl

# 日本語EUC-JP、LF

use strict;
use warnings;
use Data::Dumper;

use Jcode;
use Encode;
use URI::Escape;
use LWP::Simple;
use MP3::Tag;
use File::Basename;

die "Please specify folder" if ( $#ARGV < 0 );

while ( my $path = shift @ARGV ) {
chdir($path);
my @files = glob "*.mp3";

foreach my $f (@files){
print "try $f \n";
my $result = GetLyrics( $f )
}
}

sub GetLyrics {
my $file = shift @_;

my $lyr = GetInferedLyrics( $file )
or warn "32 Lyrics not found for " . basename( $file );
# 歌詞がないと戻る
return if ( !$lyr );

#歌詞を見るとき
#print "$lyr \n";

#text file 書き出し
# my $txtWrite = WriteWriteLyrics($file,$lyr);

#mp3 処理
my $mp3 = MP3::Tag->new( $file ) or return; # エラー
print "44 $file \n";
$mp3->select_id3v2_frame_by_descr("USLT(eng)", $lyr);     # 歌詞
$mp3->update_tags();
$mp3->close;

warn "All done ----- $file";

return $file
}
#text file 書き出し
sub WriteWriteLyrics {
my $file = shift @_;
my $lyr = shift @_;

my $txtFile = $file;
$txtFile =~ s/\.mp3$/.txt/i;
open( W, ">" . $txtFile ) or next;
binmode W;
print W $lyr;
close( W );
return $txtFile;
}

sub GetInferedLyrics {
my $file = shift @_;

# tag 取得
my( $title, $art ) = GetFuzzyID3Tags( $file ) or return; # エラー

# 歌詞取得
my @list = GetCandidates(
$art,
$title
);
print "77 $art\n";
print "78 $title\n";
# エラー
# Space を + にして実行
if ( $#list != 0 ){
$art =~ s/\s/\+/g;
@list = GetCandidates($art,$title);
}
if ( $#list != 0 ){
$title =~ s/\s/\+/g;
@list = GetCandidates($art,$title);
}
if ( $#list != 0 ){
$art =~ s/\s/\+/g;
$title =~ s/\s/\+/g;
@list = GetCandidates($art,$title);
}
# 全角 を 半角 にして実行
if ( $#list != 0 ){
$art = jcode($art)->tr('A-Za-z0-9@・','A-Za-z0-9@-');
$title = jcode($title)->tr('A-Za-z0-9@・','A-Za-z0-9@-');
@list = GetCandidates($art,$title);
}

# エラー
if ( $#list != 0 ){return;}

#歌詞取得
return $list[0]->{head} ;
}

sub GetFuzzyID3Tags {
my $file = shift @_;

my( $title, $art ) = GetID3Tags( $file ) or return; # エラー

$title =~ s/\(.*?\)//g;
$art =~ s/\(.*?\)//g;

return( $title, $art );
}

sub GetID3Tags {
my $file = shift @_;
my $mp3 = MP3::Tag->new( $file ) or return; # エラー
my( $title, $track, $art ) = $mp3->autoinfo() or return; # エラー

#歌詞がすでに入っているか取得
my $lyric = $mp3->select_id3v2_frame_by_descr("USLT(eng)");

$mp3->close;

#歌詞がすでに入っているときは飛ばす
if ($lyric){
$title = "Lyrics already exist"; #エラーにする
return;
}

$title =~ s/\t/ /g;
$art =~ s/\t/ /g;

my $str = "$title\t$art";

$str =~ s/-/-/g;

return( split( /\t/, $str ) );
}

sub GetCandidates {
my $art = shift @_;
my $title = shift @_;

my $baseurl = 'https://utaten.com/lyric/';
my $url = $baseurl . '%ART%/%TITLE%';
my $head = '%ART%:%TITLE%';

$title = uri_escape_utf8($title);

$url =~ s/\%ART\%/$art/;
$url =~ s/\%TITLE\%/$title/;

print "155 $url \n";

# LWP::Simpleの「get」関数を使用                                             
my $html = get($url) or die "Couldn't get it!";

my $kashi="";
while ($html =~ /(.*span.*)/mg) {
  $kashi = $kashi . $1;
}
# 歌詞だけに変換
$kashi  =~ s/\<br.\/\>/\n/mg;
$kashi  =~ s/rt.*?\<//mg;
$kashi  =~ s/\<.*?\>//mg;
$kashi  =~ s/.*UtaTen/\n/mg;
$kashi  =~ s/\s\s/\n/mg;
$kashi  =~ s/\n{3,20}/\n/g;

#歌詞なし
my $count = () = $kashi =~ m/New\!\!/g;
if ($count > 4) {return}

my $this;
$this->{url} = $baseurl;
$this->{title} = $title;
$this->{head} = "";
$count=1;
  my @lines = split m{\n}, $kashi;

my $frm = decode('euc-jp','の歌詞');

  foreach my $line ( @lines ) {
     # 一行ずつ処理
if ($count != 3){
if ($count <5 ){$line=~ s/$frm//;}
$this->{head} = $this->{head} . $line . "\n";
}
$count = $count + 1;
}

my @candidates;

push( @candidates, $this );

return @candidates;
}

2018年11月27日火曜日

mp3 に自動で歌詞を入れてみる

perl で mp3 の歌詞を自動で入れたい。と、思い作成。

下のファイルを名前を付けて保存。

動かし方:フォルダーに mp3 を入れて起動。
perl filegetlyrics.pl  "/mnt/d/music/mp3/test/"
mp3 の tag の曲名とアーティスト名から、歌詞をとってきます。
ただ、取りに行っているサイトの関係で、海外の歌ぐらいしか取れてません。

環境:windows10 に ubuntu を入れて実行してます。
$ sudo apt-get install libmp3-tag-perl
とかで、モジュールは追加。

習作ですがとりあえず公開。

------------------------------- filegetlyrics.pl の名前で以下を保存
#!/usr/bin/perl

# 日本語EUC-JP、LF

use strict;
use warnings;
use Data::Dumper;

use Jcode;
use URI::Escape;
use LWP::UserAgent;
use MP3::Tag;
use File::Basename;

die "Please specify folder" if ( $#ARGV < 0 );

while ( my $path = shift @ARGV ) {
chdir($path);
my @files = glob "*.mp3";

    foreach my $f (@files){
print "try $f \n";
        my $result = GetLyrics( $f )
    }
}

sub GetLyrics {
    my $file = shift @_;

    my $lyr = GetInferedLyrics( $file )
        or     warn "18 Lyrics not found for " . basename( $file );
# エラー

    return if ( !$lyr );

#歌詞を見るとき
##print "$lyr \n";

#text file に歌詞を書き出す場合
#    my $txtWrite = WriteWriteLyrics($file,$lyr);

#mp3 処理
    my $mp3 = MP3::Tag->new( $file ) or return; # エラー
print "56 $file \n";
    $mp3->select_id3v2_frame_by_descr("USLT(eng)", $lyr);     # 歌詞
    $mp3->update_tags();
    $mp3->close;

warn "All done ----- $file";

return $file
}
#text file 書き出し
sub WriteWriteLyrics {
    my $file = shift @_;
    my $lyr = shift @_;

    my $txtFile = $file;
    $txtFile =~ s/\.mp3$/.txt/i;
    open( W, ">" . $txtFile ) or next;
    binmode W;
    print W $lyr;
    close( W );
    return $txtFile;
}

sub GetInferedLyrics {
    my $file = shift @_;

#    tag 取得
    my( $title, $art ) = GetFuzzyID3Tags( $file ) or return; # エラー
#    歌詞取得
    my @list = GetCandidates(
        $art,
        $title
    ) or return; # エラー

    return if ( $#list != 0 ); # エラー

    return $list[0]->{head} ;
}

sub GetFuzzyID3Tags {
    my $file = shift @_;
        my( $title, $art ) = GetID3Tags( $file ) or return; # エラー
    $title =~ s/\(.*?\)//g;
    $art =~ s/\(.*?\)//g;

    return( $title, $art );
}

sub GetID3Tags {
    my $file = shift @_;
    my $mp3 = MP3::Tag->new( $file ) or return; # エラー
    my( $title, $track, $art ) = $mp3->autoinfo() or return; # エラー
    $mp3->close;
    # ID3タグがないときは勝手にファイル名が参照される

    $title =~ s/\t/ /g;
    $art =~ s/\t/ /g;

    my $from =
        '0123456789'
        . 'ABCDEFGHIJKLMNOPQRSTUZWXYZ'
        . 'abcdefghijklmnopqrstuzwxyz'
        . '()“”[]'
        . '=:;!?#'
        . ' ' #全角スペース
        ;
    my $to =
        '0123456789'
        . 'ABCDEFGHIJKLMNOPQRSTUZWXYZ'
        . 'abcdefghijklmnopqrstuzwxyz'
        . '()""[]'
        . '=:;!?#'
        . ' ' #半角スペース
        ;

    my $str = "$title\t$art";

    $str =~ s/-/-/g;

    return( split( /\t/, $str ) );
}

sub GetEucContent {
    my $url = shift @_;
    my $ua = LWP::UserAgent->new(
        agent =>        'Mozilla/4.0 (compatible; MSIE 6.0)',
        timeout =>        15,
        max_size =>        128 * 1024,
    );

    my $response = $ua->get( $url ) or return; # エラー

    return # エラー
        if ( !$response->is_success );

    my $eucContent;
    eval {
        $eucContent = jcode( $response->content )->h2z->euc;
    };
    return # エラー
        if ( $@ );

    return $eucContent;
}

sub GetCandidates {
    my $art = shift @_;
    my $title = shift @_;

    my $baseurl = 'http://lyrics.wikia.com/wiki/';
    my $url = $baseurl . '%ART%:%TITLE%';
    my $head = '%ART%:%TITLE%';

    $art = uri_escape_utf8($art);
    $title = uri_escape_utf8($title);

    $url =~ s/\%ART\%/$art/;
    $url =~ s/\%TITLE\%/$title/;
# 空白はアンダースコアに置き換え
    $url =~ s/\%20/_/g;
print "$url \n";
    my $eucContent = GetEucContent( $url ) or return; # エラー

    my $found = ( $eucContent);

    return    unless ( $found ); # エラー

    my @candidates;

    my $this;
    $this->{url} = $baseurl;
    $this->{title} = $title;

    if ($eucContent =~ /(.*\'lyricsbreak.*)/) {

        use HTML::Entities;
        my $decoded;

        $decoded=decode_entities($1);
        $decoded =~ s/\>/ \n/g;
        $decoded =~ s/\<.+\s?/\n/g;

        $this->{head} = $decoded;
    }

    push( @candidates, $this );

    return @candidates;
}

1;

2017年12月2日土曜日

11月の推しは「神様のカルテ0」

11月の読書
読んだ本の数:5
読んだページ数:1608
ハゲタカ2.5 ハーディ(上) (講談社文庫)ハゲタカ2.5 ハーディ(上) (講談社文庫)
スパイ登場。こうなると民間人は勝てないような。章立てがフィッシングなので符牒を考えながら読み進む。
読了日:11月23日 真山 仁,山田 章博
神様のカルテ0 (小学館文庫 な 13-4)神様のカルテ0 (小学館文庫 な 13-4)
本を読むと優しくなれる。しかし優しい人は苦労します。まさしく。
読了日:11月19日 夏川 草介

随想 春夏秋冬 (新潮文庫)随想 春夏秋冬 (新潮文庫)
文体がおもしろい。小説は人物の持つ明るさで照らされていることがわかる。
読了日:11月12日 宮城谷 昌光

ミレニアム4 蜘蛛の巣を払う女 (下) (ハヤカワ・ミステリ文庫 ラ 19-2)ミレニアム4 蜘蛛の巣を払う女 (下) (ハヤカワ・ミステリ文庫 ラ 19-2)
後半の疾走感と没入感がないなぁ。ダブル主人公が自分で走っている感じがしなかったからでしょうかね。
読了日:11月11日 ダヴィド ラーゲルクランツ
新装版 菜の花の沖 (5) (文春文庫)新装版 菜の花の沖 (5) (文春文庫)
国家間が緊張したとき、相手国への猜疑と過剰な自国防衛意識、次いで相手国に対する無用な先制行為、その反覆、さらには双方の国が国民を煽る敵愾心の宣伝。まさしく今。歴史から学ぼう。
読了日:11月10日 司馬 遼太郎


2017年11月11日土曜日

格安SIM導入 Android 6.0

格安SIMを導入。

iPhoneで利用していたのですが、
諸事情で Androidへ

APN の設定が必要とのことで無事完了。
(プリセットのない弱小で)

電話はできる。でも、ネットがつながらない。。。

設定が 5.0 までしか書いていない某社だからか?
デュアルSIMの2個目に入れたので設定がおかしいのか?

と思いつつもろもろいじる。

結局は、APNの設定はあっていて、
データ使用量のモバイルデータを ON にしないといけないとのオチ。

Android は分かりづらい。。。

2017年11月3日金曜日

10月の読書 今月はすべて推しレベル

10月の読書
読んだ本の数:4
読んだページ数:1756


ミレニアム 4 蜘蛛の巣を払う女 (上)ミレニアム 4 蜘蛛の巣を払う女 (上)
動き始めたミレニアム。ラーソンがなくなったのは残念。人工知能が自分で自分のコードを書き始めたらあっという間なんでしょうね。先では書くんでしょうね。愉しみ。
読了日:10月29日 ダヴィド ラーゲルクランツ

新装版 菜の花の沖 (4) (文春文庫)新装版 菜の花の沖 (4) (文春文庫)
貨幣―商品―経済は緩慢にやってくれば社会的な体力は順応できるのだが、急速だと住民を凄惨な状態にたたきおとしてしまう。かれらは田畑を抵当にして金を借り、やがて流してしまい、高利貸・地主の小作になってしまうのである。今もどこかで起きている。
読了日:10月19日 司馬 遼太郎
よしもと血風録: 吉本興業社長・大﨑洋物語 (新潮文庫)よしもと血風録: 吉本興業社長・大﨑洋物語 (新潮文庫)
おもしろい。知っている吉本の中の話。会社が時代に応じて変わっていく歴史としても面白い。昨日と同じことをやっていた会社は一度は落ち込んでいったなぁと思いつつ一気に読む。
読了日:10月09日 常松 裕明
まほろ駅前狂騒曲 (文春文庫)まほろ駅前狂騒曲 (文春文庫)
しょうがない。厄介ごとを抱えこみ、人々の暮らしのなかで生きていくのが便利屋だ。まほろもお仕事シリーズの一つなんですね。
読了日:10月01日 三浦 しをん