Cogito Ergo Sum.

我思う故に我あり

プログラミング

丸見えプロキシサーバー

あるアイデアを思いついた。 単なるWEBプロキシサーバーなんだけど、そのサーバーを経由してWEBページを見ると、キャッシュされているページが一覧となって表示されるという機能付き。 皆が(「誰が」まではわからないとしても)どんなページをみているのか…

ニューラルネットと家族的類似性判断

ニューラルネットの本を読んでいて、「あいまい検索」みたいなのはこれを使えばできそうだということがわかった。あいまい検索って要するに家族的類似性判断ということか? 定義的特徴を共有するかどうかによる類似性判断を仮にデジタル的と呼ぶとして、家族…

階段の電灯のスイッチから論理問題を考える。

小学生の頃住んでいた家は2階建てで、急な階段があった。天井に電灯が1つついていた。電灯のスイッチは、階段の両端、つまり、1階と2階に1つずつついていた。 スイッチは、上方向か下方向に切り替えるタイプのもので、必ず上か下かの値をとる。この家には7〜…

トポロジカル・マインド

先日「デジタル」という言葉から連想遊びを始めてみたら、思わぬところに辿り着いた。 digitalっていうのは僕に言わせると「離散的」ってことだ。反意語はanalogueで「連続的」。digitalは形容詞で、名詞としてはdigitがある。これの意味はケタ(桁)。ちな…

アナログ処理とデジタル処理の融合

深夜のNHK教育テレビを見ていて、面白い研究を知った。2枚の顔写真が同一人物かどうかを判定する方法の開発なのだが、従来の方法より1000倍も速いという。 まず、2枚の画像について、サイズとか角度とかあらかじめしかるべき処理を行う。次に、それぞれの画…

中国語・ヒンディー語プログラミング言語

「日本語プログラミング言語」というアイデアは常にある。はたして英単語の代わりに日本語を使うことによってプログラミングが楽になるのかどうかわからないが(ある人が叫んだ! 「私が配列でつまづくのはアルファベットが苦手なせいではない!」 ごもっと…

味わいたい

『プログラマの数学』(結城浩 ソフトバンクパブリッシング 2005年) 僕はこの本をとても面白く読んだのだけど、アマゾンのカスタマーレビューでの評価はそんなに高くない。「文系・素人向けで、理工系・プロには不要」といった評価が多いように思う。 何を…

含意

論理演算と言えば、否定、論理積、論理和、排他的論理和しか知らなかったが、含意という演算があることを最近知った。 「含意」とは「AならばBである」という演算で、真理値表で表すと、 A B A⇒B 真 真 真 真 偽 偽 偽 真 真 偽 偽 真 という演算である。 …

パズル遊びとしての数学

ある処理をどうやったら実現できるかなと考えるのは楽しい。もっと高速化できないかなとか、メモリの消費量を減らせないかなとか、一生懸命考えていると、自分でも驚くほどアイデアが出てくる。こうやって考えるのは楽しい。パズル遊びみたいなものだ。 この…

遊びとしてのプログラミング

「遊び」の本質がどこにあるかって考えてみると・・・、「遊ぶことそのものが楽しい」という点にあると思う。 これは定義みたいなもので、もともと「遊び」として行っていた行為でも、楽しくないのにいやいややらなくてはならなくなった時点で、それは「遊び」…

デバッガー組合の実例

世の中には既にデバッガー組合の実例がある。世界中に散在するLinux開発者の形成するコミュニティだ。皆、Linuxの開発が面白いから無償でエネルギーを費やす。難しい問題にこそ挑むプログラマがいる。Linuxの開発においては、本当に皆が好き勝手につくったプ…

デバッガー組合の構想

他人のプログラムのデバッグが一番楽しい(無責任に知的好奇心の追求を楽しめるから。つまり遊びだから)。 自分のプログラムのデバッグは苦しい(責任があるから)。 他人のプログラムのデバッグだけやってりゃ楽しいのに(遊んでるだけだから)。 本当にそ…

デバッグは楽しい

文系Sundayプログラマにとって最も楽しい作業は何か? 他人のプログラムのデバッグである。 デバッグ作業そのものは、その対象が自分のプログラムであっても楽しい。よくわからないがエラーが起こる。何故起こるのだろうか? エラーが起こる条件を探ってみる…

自己表現としてのプログラミング

知っている人の書いたコンピュータ・プログラムを読んでみると非常に面白い。その人の性格が見事に映し出されているからだ。 せっかちなあの人が書いたプログラム、几帳面なあの人が書いたプログラム、プラグマティックなあの人が書いたプログラム、臨機応変…

経験値向上装置としてのデバッギング

問題なく動くプログラムができあがった時点でコンピュータ・プログラミングは終わるわけだから、当然、できあがったプログラムには問題がない。非常に理路整然としていて無駄1つない。あるべきものがあるべきところにあるだけだ。できあがったプログラムを見…

試行錯誤の重要性

趣味でコンピュータ・プログラムを書いているような、独学系素人Sundayプログラマのプログラミング上達の近道は、自分なりに試行錯誤してみた後で、他人が書いた良いプログラムを見てみることではないかと思う。 自分なりに試行錯誤してみると、参考にしたプ…