宇多田ヒカル「花束を君に」

宇多田ヒカル「花束を君に」 自殺した母への歌詞。 母への思い、何かしら歪んだ母への思いを歌詞にして曲にする。 母に対する愛が感じられる。 愛と同時に、愛をここまで形にするのかという、、、一種の冷徹さに似た、 なんとういうのだろう、生きるための動作をルーティンにするような、 そういう論理性を感じる。 曲中に入る変音。 心の形を描き出す変音。 人の闇と言うのか、ドロドロとした部分を描き出すことはアーティストの仕事だろう。 アーティストに許される領域と言っても良い。 それを、こんなにも、分かるように、表現している。 表現としては素晴らしい。 でも、当人はそれで満足なのだろうか。いや、幸せなのだろうか。 そう思わせることも含めると、やはり、表現として素晴らしい。 でも、当人はそれで本当に腑に落ちただろうか。 こんな疑問形で終わらせたくないな。 「愛しい人、愛しい人」 こんな問いで終わる物語であってほしくない。 いや、そうあってはならない。 だから、これを愛の物語であると、美しき愛の物語であると、私はそう信じたい。

YEOMANを利用してベストプラクティスと規約に則る

YEOMAN - THE WEB’S SCAFFOLDING TOOL FOR MODERN WEBAPPS YEOMAN を利用すると各種Webアプリケーションフレームのベストプラクティスと規約に則った構成で開発スタートできます。 どういうことかと言うと、Webアプリケーションの開発を始めるときには選択すべきことが2つあります。(アプリケーション層に限定するとです) 一つ目が「どのWebアプリケーション開発フレームワークを使うか?」です。これは開発対象に大きく依存するため、個別に検討して選択する必要があります。 二つ目は「どういった構成でWebアプリケーションの実装を進めるか?」です。例えば MVC にするか MVVM にするか フロントコントローラ にするかですとか、O/Rマッパーにどのライブラリを使おうかですとか、DI どうするですとか、単体テストツールをどうするですとか、CI どうするかですとか、データマイグレーションどうするですとか、ディレクトリをどう配置しようかなどです。(つまりソフトウエアアーキテクチャとエコシステムですね。) ほとんどの場合、上記の構成は利用するWebアプリケーション開発フレームワーク毎に「ベストプラクティス」と「規約(Coc)」があります。その部分については検討をサボることができます。言い換えると楽ができます。もっと言い換えると「検討をしてはならない」ということです。それでも個別で検討してローカルルールを作ってしまうと、フレームワークやライブラリのバージョンアップができなくなるなど痛々しい未来がきてしまいます。 「ベストプラクティス」と「規約(Coc)」は最終的にはしっかりと理解する必要がありますが、とりあえずプロトタイプを動かしてみたいじゃないですか。その方が楽しいじゃないですか。そういう時に YEOMAN が使えます。(rails new や rails scaffold のイメージです。) 例えば ASP.NET Core でWebアプリケーションの開発を始める場合。 $ yo aspnet これだけです! これだけでベストプラクティスと規約に沿った構成が生成できます。それでもって、 $ dotnet restore $ dotnet run これだけでWebアプリケーションが動いてブラウザで見ることができます。その後は生成されたソースコードをカスタマイズしてどうなるか楽しく見ながら同時にベストプラクティスと規約を学べば良い、ということでございます。 開発は楽しい! 楽しくなければ嘘だ!

未来

私は何者になりたいのか。 私は何者なのか。 小さな子供、小さな命。 そんなのを目の当たりにすると抵抗できんのだ。 そんなとき、 自分は、自分が、何者になりたいのか、 そう思う自分がいなくなる。 この命があればいい。 この命のためにありたい。 自己犠牲じゃないと思うな。 自己満足だと思うな。 未来を託すことは、自己満足なんだと思うな。 未来に、満足を置きたい。 これで満足。 そう言いたい。

別れ

毎日聞いていた「The Blue Hearts」→解散。 お気に入りの「ペットボトルコーヒー」→販売終了。 大好きだったほっともっとの「チキン南蛮カレー」→販売終了。 通ってた「バル」→閉店。 ドミノピザでとうとう見つけた最強ピザ「ブルックリン・ガーリック&バジル」→販売終了。 ドミノピザでついに出会った最強ピザ「トラディッショナル」→HPから消える。 「家元・立川談志」→死去 生きてりゃ別れがある。 出会いに感謝。

成熟とは

自らが決めた悪の基準を世の中に適用し、その結果、悪に該当した奴を消えろと願う。 これをガキという。 言い換えよう。 食べたいと思ったお菓子を買ってもらえず、なぜ買ってくれないのか泣きわめく。 これをガキという。 ガキとはつまり未成熟なのである。 人は成熟しなければならない。 世の中を断定することはできない。 世の中は正しいことや、自分に都合の良いものばかりで構成されているわけではない。 それをさも知っているようで、知っていない。 これもやはりガキであり未成熟である。 自ら創造した悪が消えるよう願うこと。 思い通りにならず泣きわめくこと。 これらは自らの基準と目の前にある基準とのギャップを埋めようとする行為である。 ギャップは事実であり、泣きわめく理由にはならない。 リンゴを見て、赤い赤いと泣きわめく理由はないのである。 それが分からないのは、はっきり言おう、馬鹿である。 それをさも知っているようで、知っていない。 馬鹿である。 成熟とはなにか。これまでに述べた未成熟を裏返せば分かる。 成熟とは事実と真正面から向き合うことである。 やはり、現実は正解なのである。

Ubuntu-on-Windows10

Windows 10のLinux/Ubuntu互換環境でbashを使う 上記ページを見ながら有効にしてみました。 あっさりaptが使えるようになりました。 Ubuntu on Windows10 のポイント VMではなく、バイナリを実行できるようしたもの。(wineの逆) よってカーネルランドの機能は使えない。 よってネットワークはWindows側と同一。 開発者向けである。 CPU使用効率は良いがファイルI/Oが遅い。 日本語 ターミナルエミュレータが貧弱で日本語を扱うのは厳しいです。 SSHサーバを $ apt-get install dropbear で導入し、puttyなどでssh接続すると日本語も問題なく扱えます。 VMではないためネットワークはWindowsと同一です。つまり Windows 側から ssh localhost で接続できます。 ubuntu-desktopなどをインストールしWindowsからリモートデスクトップで接続する方法もありますが、安定していないそうです。どうもまだD-Busが安定稼働できていないそうです。 UbuntuをGUIで使いたいのであれば、残念ながら今は VirtualBox 等を使うべきです。 開発環境 git, rbenv, ruby, rails, perl あたり動きました。 ベンチマークは取っていませんが ruby のビルドが遅いように感じました。どうもファイルI/Oが遅いのだそうです。 Windows 10: How well does it run Ubuntu Bash? Windows側にアクセス /mnt/c にCドライブがマウントされています。 できないこと 先述の通り D-Bus 対応が不完全なため GUI は厳しいです。 Linux カーネルを移植している訳ではないため cron も動きません。 曰く「開発者が使用するLinux環境であり、サーバー機能は対象外」とのこと。cronが動くと /mnt/c のファイルを操作するスクリプトとか動かせて面白かったんですけどねえ。まあユーザランドで動く cron を作るか探せばOKだとは思います。 感想 いやあ、Windowsでaptが動く時代になりましたか。 もうWindowsのカーネル捨てたらいいのに。 OSSで公開したら面白そうじゃないですか?

monty-hall-problem

Wikipedia「モンティ・ホール問題」 モンティ・ホール問題の勝率を計算してみました。 プログラム ●実行結果 $ perl MontyHallProblem.pl win_count_not_reselect: win=334035, lose=665965, winning_percentage=33.4035% win_count_reselect: win=665966, lose=334034, winning_percentage=66.5966% 100万回実行し「選択し直す」方が勝率が2倍も高くなることが確認できました。 直感的には信じがたい。 どれも勝率1/3なんじゃないか? けれど、プログラムで書いてみるとなんとなく分かりました。 34行目で見えた真実! これってすごいですよね。 感覚的には理解できないことが、論理的にプログラムを書いていく内に理解できるようになる。 すごいっすね。 すごい、すごいすごい。

0 to 1

「現状の職業の一部はAIにとって代わるから、人間は0から1を生み出す職業を選択すべき」 的な話を今日聞いたんだけどね。 人間は0から1を生み出すという表現は間違ってると思うな。 人間は一度も0から1を生み出したことはない。 1と1を組み合わせた1を「これは2である」と定義したにすぎない。 全ては定義。 定義とは情報であり、人に価値があると定義される情報を定義し続けることで文明を創った(定義した)。 まあ「0から1を生み出す」をどう定義するかで解釈は変わる訳だけど。 ここで結論として言いたいのは、AIにできなくて、人間にしかできないことなんて、何一つもないということ。 善悪やあるべき論のことは言わない。 AIと人間に本質的な違いはない。 なぜなら、AIは定義をすることができる。 現状、AIが非力なだけだ。 AIと人間に違いがないなら、人間の魂は何なのかというと、それは「定義」したものです。 もっと言うなら「尊いものである」と定義したものです。 ダッツオール! AIに魂はあるのか? どう定義しましょうか?

DISQUS

ここのブログサイトに DISQUS を導入してみた。 これで記事にコメントできるようになりました。 このブログサイトはOctopressで生成している静的Webサイトなんだけど、コメントが付けれるとなるともはや動的。 DISQUSのようなマイクロサービス(又は古語でマッシュアップサービス)はやっぱり面白いね。 DISQUSそのものの実装はシンプルだろうけど、強みがあって、利用も簡単で、組み合わせでいろんな用途に使える。 マイクロサービス万歳。 確かTEGLETさんが作っていたと思うのだけど、あらゆるウェブサイトにメモが書けるツールを見たときはワクワクしたなあ。 それもあれ十何年前だ? 時代を先取りしすぎたのかもしれない。 やりようによってはものすごく、なんつうか、まあお金になったのではないか。

知覚とは何か

私は「情報工学科」という分野で大学に進学した。 私は数学が好きで、数学科に行きたかった。 けれども、高校時代は勉強をせず、テニスに明け暮れていたから、数学科に入るのは難しかった。 絵画の良さとは何なのか? ピカソの絵の良さとは何なのか? それを解明したいと思っていた。 その方法として、絵画を音楽に変換してみたいと思った。 我ながら驚くのだけれども、絵画を音楽に変換するには数学が必要だと思っていた。 今考えれば、これは驚異的に正しいと思う。 しかしながら、前述の通り、私は数学科へは進めない。 だから「情報工学科」を選んだのだ。 コンピュータに演算をさせれば、答えは出るだろうと。 しかしながら、私が大学に入学した1990年代、2000年代前半に置いて、機械学習は限界である、というのが定説であった。 それ以前に、私はUnixだとかプログラミングだとかに興味を持っていて、当初の目的は、まあそれはいいだろう、と、特に考えずにいた。 就職し、2016年を迎えると、巷ではディープラーニングのブームである。 あのころの限界を昨今のコンピュータはあっさり超えてしまった。 ここで、少し話は変わって、2000年代前半、私は「クオリア」という概念に出会った。 なぜだか説明はできないのだけれども、とても魅力的なものだと思った。 なぜだか。 そして今、ディープラーニングが実用的となり、改めて絵画の変換を考えはじめた。 絵画を音楽に変換する。 これはつまり、絵画から得る視覚を、それを、聴覚から得る音に変換することである。 絵を絵たらしめる感覚、メロディを音たらしめる感覚、これは「クオリア」に他ならない。 あの時、どうして私は「クオリア」に興味を持ったのか。 それが私の本当に興味のあることであると知っていたのだろう。 それは言葉では説明できない。 けれども、のんべんたらりんとそこにあるのだろう。 私達の思考は、脳みそは、私達のものではない。 自然の中で生まれたものだ。 だから、論理や言語で表現できない「何か」を常に持っているに違いない。 言い換えれば、論理や言語は後付である。 改めて私は「クオリア」と呼ばれるもの、絵画を見た時の感情、音楽を聞いた時の感情、それらを説明する「何か」を探したいと思う。