Duck, Duck, Go!!

DuckDuckGoは、最近利用者が増えている検索エンジン。これ、結構使えるよ。

  1. 意外と(失礼!)サクサク動く
  2. 広告が少ない
  3. 個人情報を集めたり、共有したりしない
  4. 満足いく結果が得られない場合、必要な機能がDuckDuckGoに実装されていない場合も、簡単に他の検索エンジンで再検索できる(バング記法)
  5. 多義語検索がいい感じに組み込まれている

特に気に入ったのは下の2つ:バング表現と多義語検索。

バング記法は、バング、つまり「!」を利用した特殊なキーワード。「!」に続けた適当なキーワードを含めることによって、簡単に他の検索エンジンを利用できる。例えば、DuckDuckGoは画像検索機能を持っていない。でも、キーワードに「!gi」を含めるだけで、DuckDuckGoからGoogle画像検索を利用できる。

多義語検索は、複数の意味を持つキーワードを含めた場合に、どの意味で検索したのか、確認させてくれる機能。以下は「apple」で検索した結果

apple」が、「りんご」なのか「アップルコンピュータ」なのか「Fiona Apple」なのか多義語の候補を示して、検索を絞り込ませてくれる。実用的な検索エンジン上で初めてみた。

とりあえずChromeの標準検索エンジンDuckDuckGoにしてみた。すぐ飽きるかもしれないけど!

2012年の目標

また半年も更新をあけてしまった。遅ればせながら、今年の目標を:

  • 音声認識ソフトウェアを開発する。認識対象を自分の声に限定すれば、ある程度まともに使えるものが開発できると期待。関連する論文も読んでいく。
  • 関数型言語(Haskell)を使ったウェブサービスを開発する。参照透過性などの関数型言語の特性は、バグがより少ないシステムに役立つ。いつか工業用システムにも生かせると思うんだ。
  • 英語の上達のために、本を一冊書き取りする。歳を取るとこういう愚直なアプローチを取りにくくなるけれど、英語っぽい表現を体に染み込ませるには良い学習方法のはず。

直感

技術はできるだけ直感的であるべきだ。
技術が「適切な方法」を用いて「適切な条件」の基に利用されて初めて価値を持つことを考えれば、「適切な方法」と「適切な条件」の直感的な分かりやすさがその技術の価値を決めるといっても過言ではない。例えば、「不適切な方法」を用いた技術は機能しないかもしれないし、「不適切な条件」の基に利用された技術はその性能を発揮できないかもしれない。また、いくら「適切な方法」と「適切な条件」が詰め込まれてるといっても、大きく膨らんだマニュアルは読み手を圧倒して利用を諦めさせるかもしれない。乱暴に言えば、世界に使える人が100人しかいない技術は、同等の性能を持ち10000人が使える技術の1/100の価値しかない。

「その技術が直感的かどうか」は技術者が本気で取り組むべき問いだ。

失敗観

「何か」を成功させるには色々な要素が揃う必要があるだろう。

  1. 新しい「何か」を立ち上げる勇気、エネルギー
  2. 「何か」をうまく進めるための知恵
  3. 環境、時流、運

失敗した人は全てを持っていた訳ではなかった。勇気とエネルギーしかなかったのかもしれないし、運がなかっただけかもしれない。

一方で、失敗していない人もいる。彼らは勇気とエネルギーに溢れ、賢く、そして運を持っていたのか。多くの場合は違う。「失敗していないこと」と「成功していること」は一緒ではないから。失敗していない人は、そもそも「何か」を立ち上げる勇気もエネルギーも、「何か」をうまく進めるための知恵も、運も持っていないのかもしれない。

つまり、失敗した人は、少なくとも失敗していないだけの人より、先のステージに進んでいる。

実はカツマー

ふと気づくと勝間和代さんの著作(訳書)を結構読んでいる。
今まで読んだのは:

  • 効率が10倍アップする新・知的生産術―自分をグーグル化する方法
  • 断る力
  • 勝間式「利益の方程式」- 商売は粉もの屋に学べ! -
  • お金は銀行に預けるな 金融リテラシーの基本と実践
  • 史上最強の人生戦略マニュアル

ただ申し訳ないことに、勝間和代さんの本はブックオフで買ったり図書館で借りたりしていることがほとんど。数が出るせいか、出版後少し立つとブックオフそれも105円コーナーに並ぶことが多いため。

個人的なおすすめは以下の2冊。

お金は銀行に預けるな   金融リテラシーの基本と実践 (光文社新書)

お金は銀行に預けるな 金融リテラシーの基本と実践 (光文社新書)

この本で投資の基礎を学んだ。参考文献も多いので投資の勉強を始めるときに最適な本。

史上最強の人生戦略マニュアル

史上最強の人生戦略マニュアル

人生の真理をひたすら突きつけてくる本。ちょっとくどく感じることもあるが、確かに考えなければいけないポイントが浮かんでくる。一度挫折した。。

また片頭痛

7月5日に引き続いて片頭痛になってしまった。先日のメモが役に立つ(記憶が薄れる)前に再び襲われるとは思わなかった。

サンプルが少ないが、前回との共通点は前日(の夜)にランニングをしていること。やっぱり寝る前に激しい運動するのは良くないよね。これからは朝走ろう。

OSX10.6にmatplotlibをインストールする方法

for architecture ppc not installedなどと言われてOSX10.6にmatplotlibがインストールできないときの解決策。OSXのバージョンは10.6.8、Xcodeのバージョンは4.0.2。

$ sudo ARCHFLAGS="-arch i386 -arch x86_64" pip install matplotlib --upgrade -f http://downloads.sourceforge.net/project/matplotlib/matplotlib/matplotlib-1.0.1/matplotlib-1.0.1.tar.gz

複数の問題があった。

  • pipが最新のバージョンをダウンロードしてくれない問題
  • なぜかppc向けにコンパイルしようとする問題

1つ目の問題は-fオプションを指定して最新版ファイルのURLを直接指定して回避する。2つ目の問題はARCHFLAGSを設定して回避する。