クリプキクローネ日記帳

ある種の音楽と数学とランニングはミニマルなところが似ていると思う。

-デザインパターンとともに学ぶ-オブジェクト指向のこころ[Alan Shalloway, James R. Trott(著), 村上雅章(訳)] (丸善出版)

原題は " DESIGN PATTERNS EXPLAINED SECOND EDITION" です。

原題がこのようにシンプルですっきりしたタイトルなのに
日本語版でいきなり「こころ」みたいなぼんやりとした単語が出てくるのはどうなのかなと思ってましたが、
実際読んでみると予想以上に「オブジェクト指向のこころ」の本でした。
日本語版タイトルが正しいです。

オブジェクト指向のこころの話は退屈なところもあれば納得するところもあり、でした。
「継承より集約」は実感としてあるし、今まで多くの残念な継承を作ってきました。
「直感を信じろ、胸騒ぎを感じたらやめろ」もまさにそうだなと思います。
オブジェクト指向の非論理性について開き直ってそう書いてあるのは好感がもてます。
OAOO(Once And Only One)は当たり前じゃんとなりがちですが、
どうしても厳しいときもあるので原理主義者にならないようにしないといけないです。

そしてメインとなるデザインパターンの説明もわかりやすくてよかったです。

[-デザインパターンとともに学ぶ-オブジェクト指向のこころ[Alan Shalloway, James R. Trott(著), 村上雅章(訳)] (丸善出版)]の続きを読む
  1. 2016/10/22(土) 03:25:46|
  2. | トラックバック:0
  3. | コメント:2

オブジェクト指向は芸術か

ソフトウェア設計の世界にオブジェクト指向という言葉があります。
これ、厄介ですよね。
こういう定義がはっきりしない言葉は怖いです。
単なるスキル不足もあると思いますが、使いづらい言葉です。

[オブジェクト指向は芸術か]の続きを読む
  1. 2016/10/22(土) 01:48:02|
  2. 無意味な話
  3. | トラックバック:0
  4. | コメント:0

信号処理とシステム制御 [有本卓(著)] (岩波書店)

なんと1982年の本です。
かなり黄ばんでいます。

この本で一番びっくりしたのは冒頭でした。
まず振幅、周期、周波数といった基本用語の説明から始まったかと思うと、
いきなり内積空間、距離空間、ヒルベルト空間、バナッハ空間を1つ1つ定義し始めて、
そのまま直交基底の話になって、
そして早くも14ページ目にフーリエ変換が導入されるという怒涛の展開です。
フーリエ級数はそのあとです。

最近の本でおなじみの、サインコサインの話からフーリエ級数を導入して
離散と連続のギャップをぼんやりぼかしてフーリエ変換に至る、という流れとは一線を画しています。
フーリエ変換というのは周波数成分に分解することですよ、などという説明は一切ありません。
フーリエ変換のために必要な最小の前提条件で話が進むのですごくおもしろかったけど、
事前に他の本を読んでいないと自分の力ではまず理解できないと思いました。

[信号処理とシステム制御 [有本卓(著)] (岩波書店)]の続きを読む
  1. 2016/10/10(月) 23:08:00|
  2. | トラックバック:0
  3. | コメント:0

離散数学パズルの冒険 - 3回カットでピザは何枚取れる? [T.S.マイケル(著) 佐藤かおり、佐藤宏樹(訳)] (青土社)

離散数学が好きなんですよね。解析とかよりも。

工学の分野では解析が圧倒的なパワーを発揮しているし、
その他の分野では確率や統計が日々世界をよりよくしていますが、
個人的に楽しく感じるものは離散数学に多い気がします。

ただ、離散数学の読み物っぽい感じの本を探すと、
大抵は整数論やパズル系のテクニカルな問題ばかりなので、
おもしろそうな本って意外と少ないんですよね。

この本もパズル的なんですが、章ごとに1つの話題をかなり掘り下げているのでおもしろかったです。

[離散数学パズルの冒険 - 3回カットでピザは何枚取れる? [T.S.マイケル(著) 佐藤かおり、佐藤宏樹(訳)] (青土社)]の続きを読む
  1. 2016/10/06(木) 00:38:25|
  2. | トラックバック:0
  3. | コメント:0

深層学習 [岡谷貴之(著)] (講談社)

はやりのディープラーニングについての本を読みました。
最近「ニューラルネットワークでこれができました」というニュースが多いですが、
結局それぞれのノードにどういう意味があって何をやっているのか分からないので、
いつももやもやした気持ちでいました。

そのもやもやがこの本でわずかにとけました。
というのも、畳み込みニューラルネットワークでライオンの写真を判定する例が出てくるんですが、
各層の各ノードのフィルタ情報とその出力がすべて画像化されて並んでいるページがあるのです。
数百個の画像と6つのヒストグラムが7ページにわたって並んでいてかなり見応えがあります。
壮観です。

正直そんな画像を見てもほとんど何も分からないんですが、迫力が違います。
生データに近い情報が持っている真実味というか、脚色されていないリアル感があります。

説明のために過度に簡略化して、
「これはライオンを、これは犬を判定するノードです」
とか、
「これはダイナミックレンジの情報を抽出しています」
とか、
分かりやすいけど嘘っぽい説明をされるより、
こういう画像の列挙の方が「なんだか分からないけどすごい」感があります。
分からないんじゃだめじゃないか、というのはさておき。

[深層学習 [岡谷貴之(著)] (講談社)]の続きを読む
  1. 2016/10/05(水) 23:40:38|
  2. | トラックバック:1
  3. | コメント:0

GPU並列図形処理入門 - CUDA・OpenGLの導入と活用 [乾正和(著)] (技術評論社)

けっこう前ですが、GPUの使い方の本を読みました。
OpenGLとCUDAの基本的なことが書いてあります。
分かりやすくてスムーズに読めました。

この本と関係ないですが、OpenGLには組込み向けのOpenGLESというのがあります。
なのでそれを使って、ランニングで走った軌跡を3次元で表示するAndroidアプリを作りました。
OpenGLは空間の座標変換がたくさんあって、仕組みを読む分にはすごくおもしろいんですが、
実際に実装するとちょっとしたことでもいろいろ定義しないといけないので面倒です。
そしてそのアプリのソースコードも今回のHDD故障で消えてしまいました。残念すぎる。
不完全なインストールパッケージだけサーバー上にあげていて生きているという皮肉。

[GPU並列図形処理入門 - CUDA・OpenGLの導入と活用 [乾正和(著)] (技術評論社)]の続きを読む
  1. 2016/10/04(火) 22:44:05|
  2. | トラックバック:0
  3. | コメント:0

Linuxデビュー

久しぶりに辞書シリーズをやったせいか、パソコンがぶっ壊れました。
ハードディスクが故障してWindowsが起動しなくなりました。
中のケーブルやメモリをひと通り抜き差ししてみたりBIOSに入っていたトラブルナビを起動してみたりしたものの、回復せず。

諦めて新しいHDDを購入しました。
そしてLinuxのUbuntuをいれました。
なぜならWindowsのインストールメディアを持っていないので。

前からLinux使ってみたいと思っていて、Windowsとのデュアルブートにしようかななどと思ってたんですが、
一緒にデュアルするはずだったWindowsがお亡くなりになったのでLinux一本で行くことになりました。

Linux使いたいとか言いつつUbuntuを選ぶっていうのは詳しい人に怒られそうですが、初心者なので許してください。
実家でUbuntuのインストールDVDを作って家に帰ってから入れてみたらすぐ入りました。あっさり。
最初から画面も映るし音も出るし、キーボードマウスもシャカシャカ動きます。
GUIが充実しているのでマウスだけでなんでもできます。
でもそれじゃあLinuxっぽくないというジレンマ。

ブラウザも最初から入ってるからいろいろ調べられるし便利です。
ネット接続は設定めんどくさそうだなと思ったら、なんと何もしてないのに接続されました。すごい。
ちなみにWimaxの端末をUSBで直接PCに繋いでいます。

音楽とか写真とか、2年前くらいに外付けHDDにバックアップをとってあったので、それもコピーしました。
Windowsから外付けHDDに入れたので、ファイルシステム違うけどどうなるのかなと思ったら、
何事もなかったかのように普通に開いてコピーできました。すごいですね。
2年以内のデータは一部を除いて断念です。
音楽はCD持ってるし、写真は一部オンラインアルバムにまとめてあるのでそのへんは問題なしです。
問題はいくつかの自作クソアプリのソースコードを紛失したことです。寂しい…。

今わかってる範囲でこれから問題になりそうなのは、スマホとGPSウォッチの接続です。
ドライバがからむのでかなり厳しそうです。いろいろ調べてみよう。

あと一部の音楽をソニーのATRACフォーマットで取り込んでいたので再生できませんでした。
なんと愚かなことを。CDから取り込み直しです。汎用フォーマットは重要です。

それからWindows組み込みのフォントを持っていないので、このページもちゃんと表示されません。
どうにかなるのかどうか調べます。

このWindows/Mac主流な世界だとLinuxでは何もできない感じになるかと思ってましたが、
全然そんなことなさそうな気配です。
いろんなことをブラウザでやる時代になってきていることも大きいと思います。
ですがそれよりも、各Linux開発チームやアプリ開発者の並々ならぬ意気込みの結果だと思います。本当にすごいです。
Windowsと比べるとUbuntuは起動とシャットダウンが異様に早いです。
電源入れて一旦どこか行こうとしたらすでに起動していました。

ちなみにこのPCはすでに8年目なので、いずれ買い換えると思います。
PCまるごと買うとだいたいWindowsが入っているので、そのままWindowsパソコンになりそうですが、
Linuxが楽しかったら今度こそデュアルしてもいいですね。

あと壊れたHDDからなんとかしてデータ吸出しできるかどうかやってみる必要があります。
感触的にはデータ破損とかではなくハード的に故障している雰囲気なので見込みは薄いです。
まぁそのうち。
  1. 2016/10/02(日) 23:28:39|
  2. 無意味な話
  3. | トラックバック:0
  4. | コメント:0