日記

6月 3日 (日)

1. AV

アキバ。MIDI音源モジュールの一つくらい欲しいなあ、と思い始めて早数年。今新品で手に入るのはごく一部の製品のみとなってしまった。どうせ再生専用装置と化すから、エントリーモデルで十分。俺にとってはYAMAHAのMU-2000なんぞ豚に真珠、RolandのSD-20でも手に余るだろうな。むしろTiMidity++(ソフトウェアMIDI)でいいじゃないかという気すらする。

結局今日は在庫があるのを確認しただけ。漫画を数冊買って、スピーカースタンドやAVラックなどを下見して終了。

6月 5日 (火)

1. セックス社長アーツビジョンのHPがやらかした

素で披露するところがすごい。ネタとしか思えん。いやこれこそが「IT(インチキテクノロジ)」だ、と見る向きもあるかもしれないが、インチキするならもう少し上手くやってくれ。

この三つは親会社、子会社、附属養成所の関係なのだが、同じ文面を出しているのがなんとも。

なんだかいろいろと稚拙だな。

6月 8日 (金)

1. SQLiteメモ

SQLite3でデータベースをopen()する際に、データベースファイル名の代わりに":memory:"(マジックナンバー)を指定すると、インメモリ・データベースをオープンすることになる。このデータベースは、コネクションを切断すると同時に消滅する。ファイルI/Oを介さない分高速に動作するので、一時的なデータベースとしては有用。

2. メモ

6月 10日 (日)

1. アキバ

死んだ某NAS。購入した店舗では「保証期間切れていても受け付ける」と言っていたくせに、いざサポートセンターに持ち込んでみたら「輸入品だから受付も取次もしない」と曰った。輸入品かどうかなんて客にとっては関係ないだろ。全く使えない店である。

つい先日発売された某フィギュアが、早速各地で完売状態でがっかり。再販を切に願う。

某店で定価五万円以上するAVラックが八割引だったので確保。展示品&傷有り&曰く付きなのでこのお値段。

帰宅後、再販を願っていた某フィギュアをネット通販で見つけたので即確保。願いが通じた!(違)

6月 12日 (火)

1. IPv4データベース

IPv4データベースを使って、CGI経由でIPアドレスを検索できるようにした。問題はSQL。どういったクエリーが効率がよいか悩んだが、結局23個のSELECT文をUNION ALLで繋いだものにした。え、23個も?と思われがちだが、実際、一つのSELECT文中で23個のOR結合するよりは遥かに速い。パフォーマンス的には、40個程度のIPアドレスであれば、CGIのやりとりを含めても1秒で完了する。

なお、なぜ「23個」かと言えば、CIDR /8〜/30 が23種類あるので23個。/30が妥当かどうかは知らない。これ以上長いビットマスクは意味がないだろうという独断から。適当。

6月 16日 (土)

1. AV

先日買ったAVラックが届いたので早速セッティング。両脇のスピーカースタンドは、昼間、余っていた木材を加工して作ったもの。手作り。中央の人形は…さあ、何ですかね。メイド凜なんて全然知らなーい。

スピーカーの調整。十円玉三枚を敷いた状態、ウレタンチップを三枚敷いた状態の二パターンで聞き比べてみた。ウレタンチップはスポンジ状のもので、何も敷かないよりはまし、という程度。低音がちょっと曖昧に聞こえるのが難か。十円玉だと音が硬くなるかと思ったが、存外そうでもなく、高音は切れるし低音も割とすっきりする。引っ越す前の環境では十円玉はいまいちだったが、今度の構成だといい感じ。暫くこれで様子を見る。

6月 17日 (日)

1. AV

昨日作ったスピーカースタンドがちょっとぐらついていたので、木ねじで留めて強化した。アンプ側の設定もおかしかったので調整。音がかなり落ち着き、安心して聞けるようになった。

ちなみに、最近はFOSTEXのスピーカー(よくアキバの店頭に置いてあるアレ)に見られる「抜けるような中音」に憧れているのだが、うちのスピーカーでは難しいかな。

6月 18日 (月)

1. IPv4データベース

某カラムのインデックスがユニークでないのは何だか悔しいので、assignedレコードを無視してallocatedレコードのみでインデックスを作成するようにした。実用上、assignedは見られなくてもいいかな、と。で、ユニークインデックスにしたのは良いものの、大して速くならなかったというオチ。

あと、プライベートアドレスも検索できるようにした。あんまり意味ないけど。

6月 22日 (金)

1. AV

ここ数日、アンプの設定やスピーカーの向き、リスニングポジションを変えたり、スピーカーの下に敷くものを変えたり、いろいろ試している。今のところ、スピーカーはやや内向き、リスニングポジションは距離1.7m、下敷きは十円玉三枚という構成で落ち着いている。ソースはCD。Alpha Processing搭載のCDプレイヤーよりも、Legato Link Conversion搭載のLD/DVDプレイヤーで再生した方が、俺好みの音に近い。ただ、「ドンシャリ」っぽくなるのが難点。Alpha〜は確かに綺麗だが、低音がいまいち。

2. StrikerS

なのはStrikerSが面白い。初代やA's以上ではないか。

話がややゆったりした展開で、1クールで終わるのか心配だったが、実は2クールものと判明したので問題なし。「19歳でも魔法少女」問題についても、俺の中では「合法」という結論が出ているのでこれもクリア。

俺的に今期最高傑作である。尤も、今期はStrikerS以外観ていないけどね。

6月 25日 (月)

1. どうしてプログラマに・・・プログラムが書けないのか?

何を今更と言った感じだが、以前話題になったアレ。セキュリティホール memoに再掲されていたのでやってみた。「短く書け」などとは言われていないけれど…

print((Fizz)[$_%3].(Buzz)[$_%5]||$_,"\n")for(1..100)

Perl/5.8で52文字。もうちょっと短くなるような気もするんだが、俺にとっては今のところこれが最短。

#include <stdio.h>
int main() {
	int i=0;
	while(i++<100)i%3&&i%5?printf("%d\n",i):printf("%s%s\n",i%3?"":"Fizz",i%5?"":"Buzz");
	return 0;
}

C90で134文字(改行やインデント除く)。main()の戻り値はintと決まっているので、return 0を省略するのはよろしくない。

for i in range(1,101):print 'Fizz'*(i%3==0)+'Buzz'*(i%5==0)or i

Python/2.3なら64文字。もうちょい縮まりそう。Pythonのシーケンスでは、大抵ラムダ式を使うよりはforの方が短い。

for(var i=1;i<101;i++)println(i%3&&i%5?i:(i%3?'':'Fizz')+(i%5?'':'Buzz'));

TJS2で74文字。JavaScriptでも似たようなものかと。printlnが実装されていないと駄目だけどね。吉里吉里には実装されていないからと言って、System.informなどとすると実行時に鬱陶しいことになるので止めた方がいい。

6月 28日 (木)

1. WORM_HARADONG.AL

今更その1。かがみが怒るウィルス。過去、ハルヒが出てくるウィルスがあったような。

2. どうしてプログラマに・・・プログラムが書けないのか?

今更その2。Perlで49文字になった。99 Bottles of Beer | Language Perl:(minimal version)をヒントに思いついた。出力にprintではなくdieを使う。

die map{(Fizz)[$_%3].(Buzz)[$_%5]||$_,"\n"}1..100

6月 29日 (金)

1. Windows API

タイトルの通り、どちらもHSP関係のコンテンツだが、Windows APIの情報や使用法が充実しているので、そっち関係のコンテンツとして重宝している。

ちなみに、HSPのことはよく知らない。

ちなみにちなみに、洋食のスープは飲むものではなく食べるものなので、カップから直接すするのはマナー違反。ただし、両側に取っ手の付いたカップの場合は、両手で持ち上げてカップから直接飲んでもいいらしい。