プログラム

(テスト)

Blogger Data APIを使ってみるテスト。画像はどう扱うといいんだろう。画像は梅を撮りに行った時のもの。K10D + Sigma 18-50mm/F2.8。電線が邪魔。シグマ 18-50mm F2.8 EX DC MACRO デジタル専用 ペンタックス用出版社/メーカー: シグマ発売日: 2007/03/20メ…

mixiミュージックの再生履歴を消すスクリプト

mixiの規約改訂がアレだったのでデータを移動することにしました。 いろいろ整理するいい機会かもしれないと前向きに考えることに。 データ整理に多少時間がかかる予定です。日記やフォトアルバムは手動でもこなせる量だったのですが、mixiミュージックの再…

コルーチン(co-routine)

Microsoft.Netのアプリケーションにスクリプト機能を埋め込みたくなった。 ぐぐるとDLRとかIronPythonとかSilverLightとかキーワードが出てきた。SilverLightはアプリケーションに埋め込むにはライセンスの問題があるようだし、IronRubyはリリースがまだない…

Android SDK さらに続き

UIコンポーネントの基底クラスがコレなんだけど http://code.google.com/android/reference/android/view/View.html ほとんどのイベントがクラスの関数を直接呼ぶことで実行されてる。 まれにsetOnなんとかListener ってメソッドがあるけど、addじゃなくてse…

Android SDK 続き

javaクラスファイルを逆コンパイルしてソースを眺めた結果、 TextViewにappendする時にクリッカブルURLにできるようになった。 んでSDKへの感想の続き。 gPhoneならではのAPIがなかったら、ただの劣化PDAなわけです。 タッチパネルがない分、並みのPDAより下…

Android SDK

googleの携帯プラットホームのSDKが出てたので軽く使ってみた。 Javaに独自のUIをかぶせた感じ。 IRCクライアントかけるのかなーと検討してみた。 ・日本語入力機能がまだないw 表示はアプリケーション名も中身も問題なし。 ・アプリケーションのライフサイ…

QuickIRC2をマイナーなブラウザで動かしてみる

Firefox 3 アルファ版 (Gran Paradiso Alpha 8) ページ中のFlashオブジェクトの初期化タイミングとonloadの初期化タイミングが変わってる。setIntervalを使ってFlashオブジェクトの初期化完了を待つようにしたら動いた。 Opera/9.21 (Windows NT 5.1; U; ja)…

SoXで音声データのフェードアウト

なんで終端からの時間を指定できるようになってないんだろね… #!perl # usage: perl fadeout.pl in.wav out.wav 5 my($infile,$outfile,$fadeout_len)~@ARGV; my $a = `sox "$infile" -t wav NUL -V 2>&1 |grep Duration`; $a =~ /(\d+)\s*samples/ or die "…

QuickIRC2

http://tate.undef.jp/qi2j/qi2.html 未・受信したIRCメッセージのdispatch。種類多すぎ 未・再接続しなくても文字サイズ変更 未・インバイト承諾リンク 「〜〜さんに〜〜に招待されました。招待に応じる 」で、後半をリンクにしちゃう 未・参加/退出 ボタン…

スクリプトからscriptタグを生成してロードされるまで待つ

IEでdefer属性が必要なのを知らなかったのでメモ。 Firefox 2と IE6(XP SP2) ,Opera 9.21で確認。 test.html <html> <script src="A.js"></script> <body onload="A.test()">test</body> </html> A.js var A = { log:function(str){ var div = document.createElement("DIV"); div.innerHTML=str; document.body.appendChild(div); } ,…

IronRuby

http://www.iunknown.com/2007/07/a-first-look-at.html からPre alpha のソースを拾ってビルドしてみた。 call F:\app\msvs8\VC\vcvarsall.bat devenv IronRuby.sln /rebuild Release Hello Worldの起動に0.8秒かかる。CLRは重いなぁ。 IronPythonは複雑な…

2chIRCのflow統計ページ

http://mise.no-ip.info/2chIRC/flow/ Flow統計を復活させました。サーバ提供者に感謝。 10日くらいして最低限のデータが溜まったら動作確認しようっと

Linux の Flash9 のバグ

http://tate.undef.jp/qi2j/TestMultibyte/TestMultibyte.html Linuxだと カラの結果が返ってくるそうです。(´・ω・`)

JavaScriptでレイアウトマネージャ

知り合いに画面を見せたら遠まわしにヘボいと言われてるような気がしたので、ペイン奥に画像枠ペインを重ねられるようにしてみた。 http://tate.undef.jp/qi2j/qi2.html 下記のようなレイアウト指定を行うとviewportにあわせて各ペインのレイアウトを行って…

Flex2 SDKでFlashを書いてみる

5時間くらいで書けた。思ったより簡単? メモ http://tate.undef.jp/fswiki/index.pl?page=ActionScript3 IRCサーバと通信してみるテスト http://irc2.2ch.net/QuickIRC/QI2Flash.html 昨日のアレに組み込んでみる。 http://irc2.2ch.net/QuickIRC/listbox-t…

HTMLでListBoxウィジェットぽいもの

探しても見つからなかったのでとりあえず書いてみた。 http://tate.undef.jp/qi2j/listbox-test.html バッファ一覧を選ぶと参加者一覧が切り替わる。 複数選択はあきらめた。 テキスト選択の無効化も結局やらないことにした。 あとレイアウトマネージャもど…

今日はlistbotの整備

irc2.2ch.netのチャンネル一覧が動いてなかった。listbotプロセスが消えていたので起こしてみたら、localhost間でもexcess floodぽい現象が起きて死んでいた。仕方がないので以前IRCnet用に書いた一覧ロジックで書き直した。 whois のマスクのリストを作る a…

Web系プログラミングのリハビリ

http://tate.undef.jp/chat/chat.pl Web系のリハビリ代わりに簡単なWebチャットを作ってみた。 ModPerl::Registry,Template::Toolkit,DBD::SQLite,MochiKitを使ってるよ。逆にCGI.pmやCGI-Lite.pmはutf8の扱いが微妙で使い難かったなぁ… cssとhtmlを除いたコ…

GetExtendedTcpTable でソケットのプロセスIDを調べる

Windowsで netstat -ano のような、ソケット一覧にプロセスIDがついたものを出力するコード。 GetTcpTable() ではプロセスIDが出ないしAllocateAndGetTcpExTableFromStackはdeprecatedで、GetExtendedTcpTable はXP SP2とVistaで使える。はず。 using System…

Firefoxの機能拡張

を仕事でここ数週間書いてた。 JavaScriptだけでは色々不足してたので C++でXPCOMコンポーネントも書いたりした。 Gecko SDK 1.8 ベースだと関連文書に書いてある 関数やマクロが使えなかったりで困る。 文字列を扱うのだけでかなり苦労した。 まあ他の要件…

System.Data.SQLite の暗号化機能

System.Data.SQLite は .NET frameworkからSQLiteのデータベースファイルを扱うためのモジュールなんだけど、これに含まれる System.Data.SQLite.DLL は普通のネイティブなWindowsアプリケーションからでも利用できて、しかもMicrosoft Cryptography APIの暗…

SQLite3の拡張DLLをMinGWで作ってみる

SQLite はアプリケーション組み込み等の用途に使われているデータベースエンジン。2chビューアとかにも使われてるかな。version 3.3.9 から拡張DLLでユーザ定義のSQL関数等を定義できるようになって、直接バイナリに手を入れられない状況でも拡張性が高くな…

「〜」が 「潤オ」に化ける。

サーバにあるファイルをほぼそのまま表示するCGIを書いていたら、IEで表示した時に「〜」が 「潤オ」に化けていた。EUC-JPには「〜」のバイト表現が二つあって、ひとつは a1 c1、もうひとつは 8f a2 b7。後者はJIS補助漢字(JIS X 0212)で、Windowsのコードペ…

cuesplit.pl

mp3プレイヤーが変わったので手持ちのデータをエンコードしなおし。といっても最近買ったCDはほとんどWavPack+cueで保存してるのでトラックごとに分割してエンコードする作業は全部自動化できる。前はACDIRを使っていたんだけどファイル名の文字コードを意識…

File::GlobMS

unixのシェルは引数をワイルドカード展開してくれるけどWindowsにはそういう機能はなくて、呼ばれたプログラムの方で展開することになる。perlでワイルドカード展開を行う場合に標準で使えるのは CORE::glob(),File::Glob,File::DosGlob,perlglob.exe の4種…

GWは暇だったのでAjaxその他のお勉強

数年前に作ったQuickIRCというJava AppletをAjaxで書きなおせるか試してみた。QuickIRCはアプレットから直接IRCサーバに接続してチャットを行うプログラムなんだけど、Microsoft Java VMの制約でUIがかなり古臭い。JavaScriptからDOMを制御すればUIがリッチ…

Qgrey - S25R + qgreylist パッチ

S25Rで判定して怪しい場合はgreylistingで再送要求を送るSPAMフィルタ。 負荷ほとんどなし、検出率90〜95%、判断を間違っても相手が再送すれば通す、という感じで一次フィルタには有効ぽい。 pbs4qと相性が悪かったのでpbs4qの一部機能を取り込むよう軽く変…

qmail-remote のソースアドレスをbindするパッチ

既にあるような気もするけど、探すのが面倒だったし書いてみた。 http://juggler.jp/tateisu/qmail-remote-srcbind.patch

さくらむすびテキスト抽出スクリプト

http://tate.undef.jp/read-sakura-csx.zip ActivePerl 5.8.7 用。同じフォルダにsakura.csxを置いて、コマンドプロンプトから 「perl read-sakura-csx.txt」 1時間ほどで出力完了。(2chのスレに貼ったのと同じものです)

C++ name mangle の非互換を回避するには?

C++の関数名や変数名は型情報を含むシンボル名に変換されてからリンクされるんだけど、この変換規則がコンパイラによって異なるせいで、VC++でビルドされたDLLをminGWから利用できない場合があるみたいだ。IRCでネタにしたら「うまく隠蔽できるはずだ」と主…