コンピュータ

Objective-CとLISPの微妙な共通点

オブジェクト指向言語では、クラス内のインスタンス変数には直接的なアクセスができないようにし、クラスの再利用性をあげるのが基本とされています。そのためにJavaでは変数や関数にはpublicと明示しないかぎり、クラス外のオブジェクトからのアクセスが制…

買わなきゃいけない本

世の中には、いま買っておかないといけない本、というものが存在します。情報の速報性が重要だったり、その時代にしか合わない本(今だったらオバマ演説集とか)や、今しか手に入らないマニアックな本(FM音源の音色設定集とか)などです。今回買ったのは後…

A Little Ruby

A Little Rubyというサイトを見つけました。A Little Schemerのように、対話形式でRubyの入門が出来るようになっています。書かれたのは2001年だそうで、かなり昔のサイトですが、現在のRubyでも問題なく使えるのでしょうか。面白そうなので、できれば続きを…

tex記法

はてなダイアリーにLaTeXで書ける機能がありました。たとえばだったりといった数式がLaTeXの記法で書けるのです。これはすばらしい。以前に書いた残響の計算なんかもLaTeXがあればさくっと式を書けたのです。素敵すぎ。ただし、黒文字でしか作れないらしく、…

O'Reillyの無料本

O'Reillyではどんな版下作成システム(DocBook? LaTeX? InDesign?)を使って書籍を作っているのかを調べようと思っていたら、いつのまにかO'Reilly Open Books Projectなるものを発見していました。すでに販売をやめている書籍や、広く使ってほしい技術な…

Matlabソースの高速化のために

Matlabソースの高速化のためにできることのまず第一は、ループ(forやwhile)を少なくし、行列内の各々の要素にアクセスする頻度を少なくすることです。そのためにはコードのベクトル化(code vectorization)をしてやる必要があります。実はこの手法(code ve…

Erlangの変数名と関数名

Erlangでは変数名には大文字かアンダースコアで始まるものだけしか使えません。そうすると、関数名は自然と小文字で始まるものになってしまいます。僕がこれまでC/C++/Java/Matlabで使ってきたコンベンションと逆なので、戸惑ってしまいます。慣れの問題だけ…

(自分にとって)懐かしのソフトウェア

今はMac OS X上でEmacsとATOKなどを使っていますが、10年前〜5年前くらいに自分が以前常用していたソフトウェアを振り返ってみることにしました。その中でも「お金を出してまで使ったもの」ということで、特に有料ソフトウェアにしぼってみました。 メール A…

Poor Man's iPod touch

Apple純正のiPod touchエミュレータが有るのをご存じでしょうか。iPhone開発用にAppleが無料で配布しているテスト環境なのですが、普通にiPhone用のSafariが動くため、iPhone用のウェブアプリは全て楽しむことができます。iPhone購入を考えている人は、まず…

6軸センサーをMax/MSPから使う(前編)

まとまった時間がとれたので、去年秋月電子で買ったTDS01V評価キットをようやくMax/MSPと通信させることができました。このTDS01Vは加速度3軸+地磁気3軸+気圧の合計7つが最高10Hzで計測できるという7-in-1のセンサーキットです。今回Max/MSPから可能になっ…

自宅はMac Miniでもいいかも

Mac MiniをHDMI端子で液晶テレビにつなぐことができるらしいので、自宅のパソコンは今度出るらしいMac Miniにしちゃおうかなぁ。

SICPに相当するもの

id:higeponさんの「計算機プログラムの構造と解釈(SICP)」を読み終えてを読んで、僕の『計算機プログラムの構造と解釈』は本棚の肥やしになっているなぁ、と思い出したのでした。日本語版は翻訳が悪いだの何だの言われていたので、意気込んで英語版を買った…

iPhone Nano

昨日、表参道のソフトバンクでiPhone 3Gをじっくり説明してもらって、欲しい気持ちがむくむくと湧いてきました。ただ、iPhone Nanoの噂もあるので、即決はせずに様子を見ることに。よりコンパクトになるのであれば大歓迎です。でも、ウィルコムの電話も持っ…

Black Google

Black Googleは地球を救うのだそうです。賛同して、丸井綜研も黒くしてみました。アンダーグラウンドなサイトっぽく見えるのが難点ですが。

五度圏をExcelで

五度圏をExcelで学んでしまおう、という記事がありました(A Circle of Fifths: How I Learned Music Theory using Excel)。音楽と表計算という、まったく関係なさそうな二つを結びつけたオモシロ記事です。

2tch free

キター! 僕にとってのiPod touch用のキラーアプリ、2tch free! と思ったら、touch2chなんてのもあるのですね。両者を比較すると2tchは動作が遅いけどブックマーク機能があるので一本上手。

お手軽並列プログラミング特集

今月号の『情報処理』は「マルチコアを活かす、お手軽並列プログラミング特集」です。はじめにマルチコアの説明と基本的な並列化技法が紹介され、C++とJavaによる実装例が載り、Rubyでの並列実行の紹介もあります。このところ並列に興味がわいてきていたとこ…

Matlabが並列計算対応(Hi!Tech経由)

MatlabのMathworksがParallel Processing Toolboxなるものを発表し、並列計算に対応できるようになったそうです。しかも「for」を「parfor」に変えるだけだとか。一瞬、何のためにErlangを勉強しているのか、と思ってしまいました。

erlang-mode.el

erlang-mode.elを導入して、ようやく文化人らしいErlang生活になりました。EclipseにもErlang支援モードがあるみたいですが、僕は学部1年生の頃からemacsを使ってきたので、やっぱりemacsのほうが使いやすく感じてしまいます。RubyでもPythonでもCommon Lisp…

Thunderbird 3

Thunderbird 3.0b1が公開されました。最近はSafariもOperaも使うのをやめて、Firefox 3.0を使っているんですが、Mailも少しずつMozillaに移行したいと思っていました。Max OS XのApple MailからThunderbird 2への移行で問題になっていたのがアドレスブックと…

バッファとレイテンシーの関係

オーディオのリアルタイム処理に使うリングバッファの説明をどうしようか考えていたときに思いついたのが、居酒屋・ビールの仕入れ・宴会シーズンなどのキーワード。勘のいい人ならもう分かるはず。効果逓減法則の話をするときにも居酒屋の「とりあえずビー…

Googleの特殊検索

忘れないように、Googleの特殊検索機能へのリンクを置いておきます。乗換案内(北千住から上野)はよく使いますが、ヤマトの荷物検索までできるようになっていたとは、知りませんでした。

Python 3.0

出ました! Python 3.0! でも、2.6からどこが変わったのかよくわからないままです(でもArs TechnicaやSlashdot.jpに速報以上の記事が)。

電脳フィギュア

Augmented Realityの応用例として、電脳フィギュアというものがあるそうです。用意するものはウェブカメラが接続されたコンピュータ。ウェブカメラで自分の部屋なり机の上なりを撮影しておきます。電脳フィギュアの製品パッケージには、特殊な模様のついた立…

CGの女性

CGで描かれた女性のインタビューがありました。よく目を凝らして見ないとニセモノだと気づきません。これからのゲームにもこういうキャラがどんどん登場してくるんでしょうか。映画『ファイナルファンタジー』を見たときに「ここまで来たか!」と思ったもの…

MD5やSHA1のハッシュ作成

Mac OS X 10.5のターミナルから$ echo hoge | openssl dgst -md5 c59548c3c576228486a1f0037eb16a1bでOK。md5部分を変更すれば、別のアルゴリズムも選択できます。$ openssl dgst -md5 filename MD5(filename)= d666b7f0d1d9865a5664f12980d5f54fでファイル…

『プログラミングErlang』買った

いろいろなプログラミング言語をつまみ食いしてみたくなり、Python、LISP、Rubyなどとつまんでいますが、今度はErlangをちょこっと見てみることにしました。並列処理に関しては、学生時代にOccamを勉強したり、Concurrent Cを触ったり、Javaのマルチスレッド…

Arcはどうなった

Paul Grahamが開発中のArcですが、最近はどうなっているんでしょう。日々のプログラミングに耐えられるものを作ると言うことと、100年後にも使い続けられる言語にするという、一見相反する目標を立てているので、開発もなかなか進まないのでしょうか?

Firefoxの詳細設定

Firefoxの詳細設定を変更するときにはURLバーに「about:config」と入力します。ただし、どこをどういじるとどうなるのかがサッパリ分かりません。Google先生に聞いてみたら、いくつも解説ページが出てきました。同様に「about:plugins」と入力するとプラグイ…

実行できる擬似コード

情報処理学会の論文を読んでいたとき、擬似コードが出てきました。その擬似コードはPascal風のコードでしたが、そういえば実行できる擬似コードってないのかなと思い、グーグル先生に検索してもらいました。「実行できる擬似コード」で検索してみましたが、…