SVX日記

2004|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|12|
2025|01|02|03|04|05|06|07|

2004-08-21(Sat) 失意の中、ルアーで釣りの巻

  今日は早朝から友人Nと成田空港方面に釣りに向かう。友人には横須賀から車で来てもらい、ウチでSVXに乗り換え、成田に向かう予定である。せっかくなので、外しておいたLCDディスプレイをコンソールにセット、PCの電源をONにしカーナビを……って、なぬ!? 画面が落ち着かない!! たぶんディスプレイの故障であろう。垂直同期がズレているような画面のままだ。

  ……って、そんなことしている間に、画面なんかどうでもよくなってしまった。というのも、私の目はエアコンの温度調整パネルに張り付き、心臓も凍りついてしまったのだ。

  SVXの持病の「エアコン32℃自動調整機能」が発動しているッ!!

  SVXという車、ネットでもトラブルが多い車として評判なのだが、そのなかでもやっかいなエアコンの制御基板に関するトラブルが私の車にも出てしまったようなのである。オートエアコンの電源を入れると、自動的に設定温度が「ピッピッ」という音と共に上がってゆき、最高設定の32℃になってしまうという症状。修理を頼むと10万円コース確実というものである。はぁ。

  比較的涼しい日だったし、早朝だったのでエアコンを切り、窓を開けそのまま成田に向かうことにしたが、もう心ここにあらず。久々に会った友人Nなのに、話すことは上の空……そこに熱風が「ゴゴゴゴー」……って、なにッ!! 熱風!?

  SVXの持病の「エアコン自動ON機能」も発動しているッ!!

  えー、もう、どーにでもなれである。エアコンの電源を切って状態から、勝手に電源が入り、設定温度は32℃なのだ。マンガのような事態なのである。有効な対策は電源が入ったら即座にOFF。それの繰り返し。今日は「SVX買ったぜ!!」と自慢するはずだったのに、とんだポンコツ自慢。美人の彼女を自慢しようとしたら、その日に限って鼻毛がチョロっと出てたような最悪の事態といえよう。そのうち、エアコン自動ON機能は、外気温表示の百烈連打モードに変り、さらに失笑を誘う状態に。精神の安定を大きく崩しつつ、どーにかこーにか釣り場へ到着。とりあえず、切り替わらない気持ちを強引に切り替えて釣りの開始。トホホ。

  さて、ここはルアー釣りでカエシのない釣り針を使うルールの釣り場。釣りなんて10年以上ぶりであるが、魚の気持ちになってルアーをひとつ選び、釣りを開始。この釣り場のなにが面白いって、水が透き通っていて魚が見える。こっちから見えるってコトは向こうからも見えてて警戒されているのかもしれんが、自分のルアーを魚が追っかけてくるのが見えるのは、かなり楽しい。途中で気づいたのか引き返す魚がいたり、あきらかに食いつけない小さな魚なのに必死で追いかけてきたり、ソッポ向いているところにルアーが当たって驚く魚がいたり、こりゃ面白いわ。

  画像の説明 画像の説明

  あっというまに5時間がすぎ、友人のYは2匹ゲット。おいらは……ゼロ。自分の選んだルアーで数度の引きがあったのは救いだ。まぁ、久々の釣りだし、周囲もガンガン釣れている雰囲気でもなかったし、そんなモンだろう。

  さて、帰りは午後2時頃。暑くなってきた頃であるし、憂鬱になりながらSVXに乗ったら、なんとエアコンが復活していた。まぁ、完全復旧でないことは覚悟しているが、帰りだけでも持ってくれるとはありがたい。無事に家に帰ることができた。

  画像の説明

  帰ってルアーの針を外し、ストラップに付けてみた。携帯電話関連のプログラマをしているが、携帯電話に興味の薄い私なので、久々に電話をカスタマイズした感じ……。

  ……SVXのエアコン、どーするかなぁ……。


2005-08-21(Sun) リアル、ジンジャーエール、アゲイン

  先日、家族で墓参りに行った帰りに、最近流行りの「ちょっとハイソなスーパー」にてショウガビールを再発見、思わず購入してしまった。いやなに、以前にオイラが味わった「ある意味の感動」を、少しでも家族に分け与え、共感したかったからである。

  画像の説明

  しかしながら、なんじゃー!! 冷蔵庫に名前も書かず入れているにもかかわらず、誰も手をつけない。誰かが飲もうと言い出してもいいだろうに、誰も飲もうとは言い出さない。あまり「カラいぜ!!」とオドし過ぎたか? ……にしても、ちょっくら、飲んでやろうという勇気くらいはないのか? あー、いーよ、オイラが飲むよ!! 飲みゃ、いーんだろ!! 飲むってばよー!! かーッ!!

  だが、感想はちょっと待て。ここでオイラが提唱する重要な定説を聞いてからにしてほしい。それは「なんでも、ニ度食ってから、文句を言え!!」である。言い方を替えるなら「二度食わずに、マズいと言うな!!」である。これはどういうことか?

  以前に聞いた話だが、ある所に非常にラーメン好きの男がいた。その男は、三度の飯よりラーメンが好きで(?)、ラーメンばかり食っていたそうだ。しかしながら、日清のカップヌードルだけは食ったことがなかった。だが、ある時にすぐ脇でカップヌードルを食っているニオイを嗅ぎ、そのすばらしくウマそうなニオイに感激し、一度食ってみたいと思い始めた。なにせ、あのニオイだ、さぞやウマいラーメンなのであろう……と。そして、ものスゴい期待とともに、口にした……

  「マズッ!!」

  ……あんなにウマそうなニオイなのに、なんだこの、ラーメンとはかけ離れた食い物は。なんだこの、妙にダラダラな麺は? なんだこの、妙な具は? こんなもの、どこのだれがウマというんだ!! 二度と食うかッ!!

  しかし、数年後、男はひょんな事から、もう一度、カップヌードルを食すことになった……

  「ウマッ!!」

  ……あれほどマズいと思っていたカップヌードルが、なぜかその時ウマく感じたのだ。それは、ナゼか? それはそのモノに事前に抱く印象で、味が変わるからなのである。つまり、最初「ラーメンだ」と思って食ったら、その印象を裏切られるのは当然で、二度目に「カップヌードルだ」と思って食えば、その印象の中で、正しくその味を評価できるのである。これはウソのようだが、ホントの話である。

  実はオイラも、そっくり同じような経験をしている。ひとつはポカリスエット。一時期ブームになっていたため、どれほどウマいジュースなのかと思って飲んだら、それは単なるすっぱい塩水であった。しばらくして、二度目に飲んだら、フツーに飲める。そんなもんである。食わず嫌いはもってのほか、一度だけ食っても、やっぱり食わず嫌いなのである。そのものをワカって食わなければ、食ったことにはならないのだから。タバコもそう。吸ったこともないのにマズいというな。まずは一箱吸って、それから批判すべきだ。嫌煙原理主義者のべらんめぇ。

  感覚だってそうだ。100度のサウナに初めて入れば、アホか!! という熱さだ。しかし、そういうモンだと思って入れば、さほどでもなくなり楽しめる。いつ到着するとも知れない道のりを目的地に向かうと思いのほか長い。しかし、ある程度の距離感をツカんだ後に帰る道は意外と短かく感じる。つまり、事前の印象なしで特攻した時は、不思議な感覚に包まれたまま、意味不明なうちに終わってしまうものなのである。だから、最低でも、二度食わなければ、それに対する評価は下せないのである。これは絶対である。絶対、二度食わなければならないのである!! あー、もう一回、食べたいッ!! 食べたいッったら、食べたいッ!! そんな気分が正しい冒険者の心なのである。

  ちゅーわけで、ジンジャーエールの感想を再び言おう。ウマい!! 決して、スゴく気に入って、ケースで買ったりはしないが、以前に全部飲めなかったのがウソのようであった。こんなに量が少なかったっけ? そんなコトを思ってしまったほどだ。そのカラさも、もう理解の中である。口の中より、ノド越しでカラさを愉しむ。そんな飲み物であるとの印象を、オイラは持った。

  この世にはウマいモノがたくさんある。マズいモノもたくさんある。マズいモノをマズいと知り、それ以上に、ウマいモノをウマいと死って生きていけることも、しあわせのひとつであろう……わかったら、二度食えッ!! 絶対ッ!!


2014-08-21(Thu) ワレ、ニセハーロック発見セリ、コレヨリ攻撃ニウツル

  先日、CG版の映画「キャプテンハーロック」を観た……が、こりゃ、いったい誰なんだッ!! 以下、ネタバレあり。

  しょっぱなから、アルカディア号に乗船を希望する人間を殺しまくってるんですが……な、なんで? アルカディア号って「気に入ったなら」乗っていいくらいなんじゃなかったっけ……少なくとも質問に対する答えを間違えたくらいで殺されるなんて聞いてないぞ。まぁ、海賊船への乗船を希望するなら、面接の対策くらいしておけよ、って気もせんでもないけども。

  その後も違和感のオンパレード。オイラの記憶が確かならば、ハーロックは、何が何でも地球を守るという信念の持ち主だったはずだが……え、自分で壊したの? ……で、いまは宇宙ごと壊そうとしてんの? ……えッ!? やっぱり守ることにしたって!? ちょっとナニ言ってるかわからないんですが……。

  途中の大立ち回りにも違和感あるし、拘束を解かれた後、ヘコんで乗組員に諭されてるし、生身で高々度から飛び降りてるし……んなことできるなら、飛び上がって戻ればいいじゃん……キミならできそうだよ。

  挙句の果てには「背中から撃つ」……おい、脚本書いたヤツ……「わが青春のアルカディア」観てないんか……ラストの展開を観ろよッ!! これって「鉄郎が機械の体もらって大団円」レベルの改変だろ。ダメすぎんだろ福井晴敏。いままで割と好きだったんだけどなぁ。

  「テメェの船になんかに頼まれても乗ってやんねぇっつーのッ!!」

  こりゃ、観て損したわ……いや、損したというレベルではないな。敬愛するハーロックを汚された気分だ。捨てすぎただけのデビルマンのがまだマシだ。まさか、アレを超える映画に出会うことがあろうとは……。

  で、結局、この作品のテーマは何だったんだろう。サッパリわからない。特にテーマがなかったなら、なんで改変したんだろう。ハーロックの根幹を変えてまで言いたいことがあった訳じゃないのか? アルカディア号のデザインをあれほどにダサく変えた意味もわからない。ハーロックだけに、ニセハーロックを演出したかったのか? ほらほら、いつも先生いってるでしょ、わからないものは、イジらない。約束でしょ。

  悔し紛れに、Wikipediaで松本零士の項を見たら、経歴のしょっぱな部分で泣きそうになった。ヲヤジむちゃカッコイイじゃん……そうなのだ、ハーロックはサムライなのだ。つまり、映画のスタッフは「サムライが理解できていない」ということなのだ。にしても、松本御大はなんでコレにクレームつけなかったんだろ。これまで、散々っぱら、自分の映像作品にクレームつけまくっていたじゃん。

  あー、目が腐った。これは、映画のデキ以前の……そう「信念」の問題だ。ゴミを食わされた気分だ。ペッペッペッ……わが青春のアルカディアでも観て口直しをしよっと。


2020-08-21(Fri) バースデイを機にまた生まれ変わる

  さて、一昨年の9月から、本格的にヴォーカルの練習を始めて、そろそろ2年になるわけだが、未だに飽きずに続いているばかりか、その延長で筋トレまで始めてしまった。何ヶ月後かに振り返ると成長が見えて楽しいので、現時点で感じていることを記しておきたい。

  その前に出会ったツイートを紹介。

  70歳のおじいさんに「プログラミング教えて笑」と言われたw。彼いわく『周りは70代になると何も挑戦しなくなる。ただ、90歳まで生きるとしたら、あと20年は人生楽しめるわけだ。誕生から成人するまでと同じ時間があるのに、新しいことやらんのはもったいないだろう』とのこと。かっこよすぎ。

  いいことをいう。とはいえ、既にある程度は自分が実践していることであり、誇らしく思う。改めて、何事を始めるにしても、遅いということはないのだな、と思える。そりゃ、早く始めるに越したことはないが、まだ、人生、半分弱もあるのだ。ヴォーカルも、2年で来るところまでは来れたな、と思えている。

  というのも、最近、シャウトに少し金属っぽさが交じるようになってきたのだ。ビブラートも割とキレイにかかるようになってきた。そして、その歌い方で息切れせずに「機械(筋肉少女帯)」が全力で歌い切れるようになりつつある。なんとなく、自分の中で初めて「可」を与えてもいいような気がしている。

  1年ちょっと前にも似たようなことを書いているが、改めてその時点の録音を聴くと、アタックが強い割に尻すぼみなので、単に怒鳴っている感じのシャウトで、明らかに現在よりも素人くさい。繰り返し歌っているだけで、こうも変わってくるとは。

  そして、今年の始めを振り返れば「君の知らない物語」をキー+5で歌っているが、今は-2で歌っている。つまり5つも上のキーに手がかかっている。1つ上げただけで、別世界になるのに、5つ。思えば遠くへ来たもんだ。

  最近は、意識しなくてもピッチが合うようになってきたので、その分の意識をリズムへ向けるように努めている。この先、意識しなくてもリズムが合うようになってくれば、もっと細かい情感を与えられるようになるのかもしれない、などと感じている。

  で、話は戻るが、歳を取って、逆にできるようになったことも多いと感じている。若い時のような性急な気持ちが減り、落ち着いてきた気がする。何に取り組むにしても、完璧を求めず、慌てずに、向上するのを待ちながら、継続できるようになった。若い時なら、ヴォーカルの練習なんて、何回かカラオケに行って、録音した自分の歌を聴き、向いてないと早々にあきらめてしまったかもしれない。だが、今なら、例え中断したって、また始めればいい、という気になれる気がする。

  また、発声練習、呼吸練習の効果なのか、姿勢が改善してきた。最初は、割と意識的に胸を張っていたのだが、最近はそれがクセになり、意識しないと猫背にならなくなった。いや、50歳を目前にしても治るモノなのだな、姿勢って。自分でも驚いた。

  併せて、テレワークな日常で体がナマらないように、なんとなく任天堂のリングフィットアドベンチャーが習慣化したのも功を奏している。というか、だんだん楽しくなってきて、本格的に筋トレまで始めてしまった。目標は腹筋を割ること。食事も改善する気になった。脂質って、そういうことだったのか。カロリーで考えることは、むしろ害悪なのだな。

  やはり、人生、ヒマこいているほど無駄なことはない。これまで、容姿にはあまりコダわりがなかったのだが、ちょっと前から、身につけるアイテムや、身だしなみを少し工夫しだしたせいか、ちょっと前に、手放しで容姿を褒められる機会があって、すごくテンションが上がるのを感じてしまい、意識が変わるのを感じた。というわけで、カッコいい50代に向かって、アレコレと挑戦を続けていきたい。


2023-08-21(Mon) MaveでOAuth2.0認証でGmailをPOP/SMTPする

  リフレッシュ機能を、前回作ったoauth2.rbに加える。

 *** oauth2.rb.1st   2023-08-18 22:02:21.385069207 +0900
 --- oauth2  2023-08-21 23:02:08.486091221 +0900
 ***************
 *** 9,17 ****
   if(ARGV.size == 0)
     warn <<USAGE
   Usage:
 !   $ ./oauth2.rb client_secret_xxxx.json > auth.html
     $ google-chrome auth.html
 !   $ ./oauth2.rb client_secret_xxxx.json 'http://localhost/?code=xxxx'
   USAGE
     exit(1)
   end
 --- 9,18 ----
   if(ARGV.size == 0)
     warn <<USAGE
   Usage:
 !   $ ./oauth2 client_secret_xxxx.json > auth.html
     $ google-chrome auth.html
 !   $ ./oauth2 client_secret_xxxx.json 'http://localhost/?code=xxxx' > refresh_token.json
 !   $ ./oauth2 client_secret_xxxx.json refresh_token.json > access_token.json
   USAGE
     exit(1)
   end
 ***************
 *** 21,26 ****
 --- 22,32 ----
         cs = JSON.parse(fh.read)
     }
   end
 + rt = nil; if((it = ARGV[1]) =~ /^refresh/)
 +   open(it) {|fh|
 +       rt = JSON.parse(fh.read)
 +   }
 + end
   
   if(ARGV.size == 1 and cs)
     auth_uri = 'https://accounts.google.com/o/oauth2/auth'
 ***************
 *** 45,50 ****
 --- 51,67 ----
     }
     auth_response = Net::HTTP.post_form(URI(auth_uri), auth_params)
     puts(auth_response.body)
 + 
 + elsif(ARGV.size == 2 and cs and rt)
 +   auth_uri = 'https://accounts.google.com/o/oauth2/token'
 +   auth_params = {
 +       client_id:      cs['installed']['client_id'],
 +       client_secret:  cs['installed']['client_secret'],
 +       refresh_token:  rt['refresh_token'],
 +       grant_type:     'refresh_token',
 +   }
 +   auth_response = Net::HTTP.post_form(URI(auth_uri), auth_params)
 +   puts(auth_response.body)
   
   else
     warn('Invalid.')

  要するにアクセストークンの期限が切れたら、以下を実行し、アクセストークンを更新すればいいということだ。

$ ./oauth2 client_secret_xxxx.json refresh_token.json > access_token.json

  そして、Maveへの修正は恐ろしいほどに小規模だった。ほぼconfigだけで済んだようなものだ。

 #---------------------------------------------------------------
 #
 #   メールアカウント「gmail」の設定
 #
 account = {}
 account[:NAME]              = 'Gmail'                           # アカウント名(必須)
 account[:ENABLE]            = false                             # 有効/無効(必須)
 
 account[:USER_ADDRESS]      = 'taro-yamada@gmail.com'           # メールアドレス(必須)
 
 account[:POP_SERVER]        = 'pop.gmail.com'                   # メール受信(POP)サーバ
 account[:POP_PORT]          = 995
 account[:POP_ACCOUNT]       = 'taro-yamada'                     #  受信アカウント
 account[:POP_PASSWORD]      = 'Bearer ' + `./get_access_token access_token.json`.chomp
 account[:POP_AUTHTYPE]      = :oauth2
 account[:POP_OVER_SSL]      = true                              #  SSL を使う
 account[:POP_SSL_VERIFY]    = OpenSSL::SSL::VERIFY_PEER         #  証明書を検証する
 account[:POP_SSL_CERTS]     = '/etc/pki/tls/certs/ca-bundle.crt'
 
 account[:SMTP_SERVER]       = 'smtp.gmail.com'                  # メール送信(SMTP)サーバ
 account[:SMTP_PORT]         = 587                               # 587(submission), 465(SMTP over SSL)
 account[:SMTP_ACCOUNT]      = account[:POP_ACCOUNT]
 account[:SMTP_PASSWORD]     = account[:POP_PASSWORD]
 account[:SMTP_AUTHTYPE]     = :oauth2
 account[:SMTP_STARTTLS]     = true                              #  STARTTLS を使う
 account[:SMTP_OVER_TLS]     = false                             #  TLS を使う
 account[:SMTP_TLS_VERIFY]   = OpenSSL::SSL::VERIFY_PEER         #  証明書を検証する
 account[:SMTP_TLS_CERTS]    = '/etc/pki/tls/certs/ca-bundle.crt'
 
 @configs[:ACCOUNTS] << account
 
 # 定期的にアクセストークンをリフレッシュする必要がある
 # ./oauth2 client_secret_xxxx.json refresh_token.json > access_token.json

  config内にファイルから読む処理が入っているので、cron等でaccess_token.jsonを更新してもMaveの起動中は更新されず、再起動する必要があるが、再起動は瞬時にできるので特段の対策はなし。そもそも、Maverickとして使う場合はmave_fetchからpopされるので問題ないし。

  あ、net/popライブラリへのOAuth2.0認証機能の追加は、後方互換のため、パラメータを増やすのでなく、既存のapopを指定するパラメータに押し込む形に変更した。

      def initialize(addr, port = nil, isapop = false)
        @address = addr
        @ssl_params = POP3.ssl_params
        @port = port
        @apop = isapop
 +      if(isapop == :oauth2)
 +        @apop = false
 +        @oauth2 = true
 +      end

  つうわけで、最初はダメモトで「OAuth2.0」を学んでみるか、くらいのつもりだったが、ほぼ実用に足る形で実装が完了してしまった。実に気分がいいなぁ。たぶん使わないんだけど。

  つうわけで、リポジトリにコミットして完了である。