argius note

プログラミング関連

プログラミング

MS932とか

ヰキペヂア:CP932*1 また文字コードチェックを考える必要が出てきたので復習。歴史的事情や国際化や独自仕様が複雑に絡みあい、不毛な世界である。世界の言語が英語だけになればたちまち解決だ、というのがコンピュータ的には最もありがたい答えだと思うが、…

♪ハープシコード風?波形

時間と共に振り幅が小さくなる波形を作ってみた。それと、波形をさらに変なかたちに。すると、おもちゃのキーボード(音楽用)のハープシコードのような音になりました。ちゃんと「ぽーん」て鳴った。ちょっとうれしい。 ついでに波形を表示するのをJavaに移…

♪サイン波の音

出せた。プログラム的にはきれいじゃないけど。特に、AudioPlayerとかは公開パッケージじゃないし。あと、AudioPlayerはスレッドなので、止め方が良く分からないので一定時間過ぎると強制終了とした。 private static final int LENGTH = 0x100000; public s…

♪複雑な波形を作ってみる

これから「ディジタルフィルタ」の練習をするにあたって、グラフ書くぞうくん(そんな名前じゃないが)をちょっと進化させた。ファイルの最後に式を書けるようになった。組み込み定数DATAを使ってみた。 で、ただのサイン波からちょっと複雑な波形を作ってみ…

♪はじめて学ぶディジタル・フィルタと高速フーリエ変換―基礎・原理からよく理解するための (ディジタル信号処理シリーズ)

こちらは理論。ソースコードはほどんど出てこない。「はじめて」とあるが、これは「入門」だと語呂が悪いからそうなってるだけのような。数式とグラフまみれでワケ分かりません。ま、「?十の手習い」のつもりで。

♪ディジタル・サウンド処理入門―音のプログラミングとMATLAB(Octave・Scilab)における実際 (ディジタル信号処理シリーズ)

サウンドをデジタルで加工する処理の基礎。基礎と言っても、数学の知識が必要なので、私は1から勉強。学んだことがあるかどうかすら忘れた。でも、フーリエ変換が何のためにあるのかなど、目的が見えてきたのでとっかかりにはなりそう。 ちなみに、この本は…

♪:事始め

今までは、主にプログラミングのためのプログラミングだったが、前からやりたいと思っていたサウンドプログラミングを始めることを宣言してみる。 目標、ソフトウェアシンセみたいなのを作る。趣味なので気長に。

Windowsサウンドプログラミング―音の知識×プログラミングの知識

タイトルの通り、Windowsでサウンド関連のプログラミングをする基本的な事項について、一通り説明している。サンプルプログラムが豊富なので、プログラミングをしなくてもそこそこ楽しい。

目指すべきは...

やりたいことはたくさんあるが、時間は限られてる。何かに絞りこまないといけない時期が来たのかな。

Cを知らなかったときの自分

かつて、自分がまだBASICしか知らなかった頃のこと。 何かのテレビ番組で、C言語のソースをちらっと見せていたのを見て、物凄い違和感を感じたことを思い出した。当時の自分にとってはプログラムに行番号があるのが当たり前だったので、カッコとセミコロンで…

ソフトウェア原則

理解しているつもりだけど、説明する自信はないな...。勉強し直し(予定)。

プログラミング自動化がなぜ難しいか

将来プログラミングがある程度自動化されたら、やはりプログラマーは職を追われることになるのだろうか、と最近ふと思った。でちょっと参考にさせてもらったJavaBlackさん(id:JavaBlack:20060331)のエントリからメモ。 国際コミュニケーションを見れば解ると…

Lisp処理系をJavaで作る (2)

前回(id:argius:20060329:1143641960)を実際に作ってみた。ただコーディングするのではなく、ちゃんと噛み砕いてから、自分なりにJavaの標準APIを使った形に再構成してみた。 そもそも、Lispをちゃんと理解していないのだが、これを作ってみて、Lispが如何…

手前味噌

http://argius.net/product/ 久々の更新。ドキュメントの整備が面倒なので、最も活発な活動だけを更新していく方針にしよう、ということで、自分で作ったものを公開するシンプルなページを作りました。

Java World (ジャバ・ワールド) 2006年 5月号

SOA特集。各社アプリケーションサーバもSOAサポートを強調し始めた。

C MAGAZINE 2006年4月号

最終号。「次号のお知らせ」がないところが涙を誘う。 私は5年近くお世話になりました。読み始めたきっかけは、結城浩さんのPerlの連載でした。当時の自分はかなり大きな影響を受けました。毎年春になると、プログラミング入門があって、誰かにプログラミン…

使用を避けてる専門用語

返り値 返り血 戻り値 置換(ちかん) 痴漢 置き換え 最初が対象、次が同音語、最後が代用語です。 同じ生息圏*1の同音語は、一方が淘汰されるという特徴がありますが、この例だと生息圏は異なるので普通は問題になりません。しかし、次の理由で使うのを避けて…

メッセージング?

Javaから入門した人には難しいんじゃないかと思われる概念。私もちゃんとわかってる訳じゃないですが。 Rubyの場合、メソッドコールはメッセージの送出であり、そのメソッドが実装されているかどうかに関わらず、オブジェクトに通知されます。ただ、オブジェ…

スペルミス - occur

occurの過去形は、正式には"occurred"と書くのが正しいみたいだけど、ずっと"occured"って書いてた。どれだけ埋め込んだか調べてみたら、Java標準ライブラリとかオープンソースのコードにも結構たくさん見つかった*1。...プログラムが動かないわけじゃないし…

C MAGAZINE 2006年3月号

ちょっと前にどなたかのサイトで発見して知っていたのですが、次回を最後に休刊となってしまいます。非常に残念です。

ストラテジパターンの喩え

CDとCDプレーヤの関係と説明した。プレーヤはCDの具体的な内容は知らないが、CDの規格に従って音を再生しようとする。例えばCD-ROMデータディスクだとしても、音を再生しようする。CDが何種類あろうと、CDプレーヤ側を全く変えることなく再生できる。CDの規…

問題解決

今朝、仕事場に向かうとき、ふと、思いついた。あの面倒な問題を解決する方法である。「面倒な問題」とは、具体的には言えないが、JDBCの接続先URLの一部(DB種類)がハードコーディングされているプログラムで、テストのために別のRDBMSを使って動かしたい…

拡張子を抽象化する

インタラクティブなWebページの拡張子とかは、バックエンドの実装が何であるかを判別しにくくしたほうがセキュリティ上良いといわれている。例えば、".cgi"はちょっと前ならほぼPerlであった*1と想像するが、いまでは一概にはそうと言い切れないかも。それで…

プログラミング作法

定番。意外と最近(5年くらい)出版されたのですね。 拾い読み状態で、まだ完全には読んでいませんが、パフォーマンスのところが興味深い内容でした。自分ではあまりプロファイルとか取ったことないから、この機会にやってみようと思いました。 ところで、こ…

C言語による最新アルゴリズム事典 (ソフトウェアテクノロジー)

だいぶ前に知人に読ませてもらった本でしたが、買ってから気が付きました。Javaのも出ているのでそっちにすれば良かったと思いましたが、Cの練習にもなるし、良いでしょう。 数学はあまり得意ではないので、内容はさっぱりですが、分かる範囲で、たとえばソ…

某データベースの空文字列 その2

ここで書いた。 さらに http://d.hatena.ne.jp/masanobuimai/20050914 にあります。これってトラックバックとかいうやつですか? セルフ以外は初です。 8にもなってこんな問題が解決されていないのって、どうなんでしょう。RDBMSで文字列を使わないことって…

2005.08.29これってのが無いところが良い。

Java World (ジャバ・ワールド) 2005年 10月号

2005.08.29表紙可愛い〜。DIコンテナとか、JBIとか。DIはちょっとやっておこうかな。

こんなLLはXXだ

http://www.trashbox.jp/~moriwaka/moin.cgi/LLXX swk's logさん経由。鉄拳のアレで良いんでしょうか? 実在するネタもあるのが面白い。例えば、放送禁止用語のプログラミング言語は、Brainf**k。おまけにこれ、モールス信号に近い。あと、イルカが出てくる…

言語つまみ食い ちょっとやる気に

プログラミングを再開*1してから続けていた、プログラミング言語つまみ食い。最近は飽食だったんだけど、急に食欲が出ました。 既存のは、 C (GNU GCC) C++ (Borland C++) Java (Sun JDK) Perl (ActivePerl) Ruby (cygwin) あたらしく追加するものは、 Small…