一晩中悩んでたのに…

FireFoxのクッキー情報がperlから取得できない件で一晩中悩んでたんですが…
あっけなく解決しました…

(さらに…)

ubuntu 9.10かなり使いやすいお!

なんか巷では不具合続出で印象悪いubuntu 9.10ですが、私の環境では全然そんな素振りもなく快調ですお!
いなさんが公開されてる方法でubuntuからニコニコ生放送へ配信する環境も整ったし、まだまだ全然戦えるマシンに生まれ変わったね!(PenMだけど)
というわけで、プログラミング系放送は今後このマシンで行う比率はグッと上がるでしょう。
とりあえず現時点で不満が残ってるところは日本語変換周りだけですね(まぁ速度も不満だけどこれはしょうがない)。
デフォだとSCIM+Anthyがこの上無く残念(Flash上で変換途中の文字を表示できない)だったのですが、UIM+Anthyに変更してとりあえずの解決をみました(変換時は入力欄下に小窓が出るようになって若干うざいけど)。
速度の点では全然チューニングとかしていなくて、アイドル時CPU使用率20%超な子なのですが、この辺も時間があったらシェイプアップしていきたいと思います。

ニコ動リニューアル後

結構仕様変更や不具合出てますね><
Nwhoisでログインできなかったり、Chromeで放送が聴けなかったりしたようです。
それと、このブログのサイドバーに出してるニコ動のプロフ画像がまだ表示されてないです・・・
結構気付きにくいところなんだろうなあ。

ニコ動メンテ

9時から始まってますね。
無事9時半に終わるのかな?w
あ、ニコ生だけは11時までメンテなのね・・・
まぁマターリ待ちますか♪

(さらに…)

Perlgolfとか。

技術的な話題につき、興味ない人はヌルーしてね☆

最近よく視聴してるPerl放送の生主さんとこでGolf(ショートコーディング)なるものをやってたので、その場でリスナーとして勝手に参戦してみました。

お題:
引用元:(・3・)ぷぅログラミング

・ルール通ればなんでもおk。言語もなんでもおk。

・内容
入力:1以上の整数の数値
出力:入力された長さを1辺とする四角形で、外側は1、内側は0とする。

・例
入力:3
出力:
111
101
111

入力:5
出力:
11111
10001
10001
10001
11111

言語/バージョンはActivePerl 5.10.0で参戦。こういう変態的な事するにはやっぱりperl便利ねw

こんな感じになりました(51Bytes)。

$i=<>;print$_%$i<2?1x$i:(1,0 x($i-2),1),$/for 1..$i

さらにperl6対応にするとこんな感じに(48Bytes)。

$i=<>;say$_%$i<2??1x$i!!(1,0 x($i-2),1)for 1..$i

perl 5.10対応版の方で軽く説明すると、キモはprintの引数になっている3項演算子のこの部分:

$_%$i<2?1x$i:(1,0 x($i-2),1)

この部分がややこしいですが、見やすくなるように書き直すと

$_ % $i < 2
    ? 1 x $i
     : (1, 0 x ($i - 2), 1)

ってことですね。
$_ は後置forの一時変数なので、

「1行目から(入力)行目まで処理を繰り返す際、Nを処理中の行数としたとき、N÷(入力)の余りが0または1(つまり「<2」)のときは1を(入力)個出力し、それ以外の場合は先頭が1、続いて0を(入力-2)個、最後に1を出力する」

という事になります。
「余りが0または1(つまり「<2」)」とは一体なんぞや?については、例を挙げて説明するとわかりやすいと思うのですが、
例えば(入力)が5のとき:

1(行目)÷5(入力)の余り・・・1
2(行目)÷5(入力)の余り・・・2
3(行目)÷5(入力)の余り・・・3
4(行目)÷5(入力)の余り・・・4
5(行目)÷5(入力)の余り・・・0

となるので、この1行目と5行目の処理をまとめた論理式になるわけですね!
というわけで

1(行目)÷5(入力)の余り・・・1なので「11111」を出力
2(行目)÷5(入力)の余り・・・2なので「10001」を出力
3(行目)÷5(入力)の余り・・・3なので「10001」を出力
4(行目)÷5(入力)の余り・・・4なので「10001」を出力
5(行目)÷5(入力)の余り・・・0なので「11111」を出力

となるわけです。
・・・良くこんな発想できたな自分w

いやぁ、楽しませてもらいました。
感謝感謝です!

あれから2年…

ブログ放置しすぎだろwww
ていうかぴったり2年放置ですな…ここまでぴったりだとまた2年放置したく(ry
しかし、このブログの存続意義ってもうほとんど無いなwww
なんかやりたいこと見つけなければ…
やりたいこと…やりたいこと…?
…そういえば、3年前の暮れに買った「ef」「フォセット」まだやってねえや…。

近況

そろそろ例のパッチの新版リリースしたいな~
総合スレに凸したのもだいぶ前だからもう忘れ去られてるよな~(ドメイン変わったしwww
引っ越しも完了して、同居人も居るので、なかなか夜中に無邪気にkskしまくったりとかできない毎日です><
パッチの機能強化に向けて、友人のUDP(知る人ぞ知るw)にとあるブツをいただいたのでまた試さないと。
そういえばはやみんには「Sアプリ作れ」って言われるし。Opera Mini使いたいだけちゃうんかと。www
そういえば、去年暮れに買った「ef」「フォセット」まだやってねえや…。

断片化

メインマシンが異様に重い。
しかも先日までろくなヒートシンクつけてなかったのでプレスコットちゃんが悲鳴を(CPU温度68℃とか)あげ、ファンが掃除機のごとく泣き喚いていた始末。
HDD温度も50℃超えていたりと、まだまだエアフローに問題のある子なのですが良く頑張ってくれてる。
でも2週連続ノートン先生の定期健診(フルスキャン)サボりました。ごめんなさい><
そんな我がメインマシンですが、このたびサブ(鏡)マシンには入れてあったVMWare Serverをこっちにも入れてみようという事でインストールしてみたり。
でその間暇なので、ふと思い立ってWinXP付属の最適化ツールでCドライブを分析してみたんです
結果:
断片化:33%
     ( д)      ゚ ゚
もうぬるぽ

クロスドメインAJAX

先ほどのエントリでSHOUTcastServerのパッチを公開したわけなんですが、そこでちらっと書いた今後の野望であるところのAjaxについて。
実はAjax化に向けてはちょっと障害があって、例えば「http://hoge.org:8000/」で公開しているSHOUTcastServerと「http://hoge.org/shoutcast.js」のスキン化JSファイルの組み合わせの場合、ドメイン部分(というかポート部分)が異なるので、XMLHttpRequest()で外部データを取ってくることができないんですよね(IEではドメイン部分さえ合っていれば取得できちゃうようだけど)。そこで俗に言う「クロスドメインAjax」という技術を使うことをもくろんでいるわけです。
これにはいくつか手法があるんですが、中でも「JSONP」と呼ばれる技術が主流のようです。
次回バージョンではこの手法を用いてクロスドメインAjaxを実現してみようかと思ってます。

TCPpatch for SHOUTcast Server / win32

やっと公開にこぎつけることができました。
スキン化に向けての第一歩です。
version 1.0.0 (2007/04/21) ダウンロード
下記にREADME.txtの一部を載せときます。が、まぁ詳しくは内容物を確認してくれ!
スキン職人の光臨きぼんぬ!激しくきぼんぬ!

[説明]
「SHOUTcast Server / win32 v1.9.7 または 1.9.8」のWeb画面を外部JavaScript
や外部CSSファイルによってカスタマイズできるようにするパッチです。
Content-TypeのShift_JIS化、favicon設定、ロボット対策機能も付いています。
[同梱物]
・sc_patch.exe: パッチ本体
・sc_patch.ini: パッチ設定ファイル
・README.txt: READMEファイル(このファイルです)
・shoutcast.js: 本パッチ専用スキン化JSファイル
[必要なもの]
「SHOUTcast Server / win32」を公開しているものと同じドメイン名の80番ポート
で、HTTPサーバを動かす必要があります。
例えばあなたが公開しているURLが「http://hogehoge.org:8000/」だとしたら、
「http://hogehoge.org/shoutcast.js」
「http://hogehoge.org/shoutcast.css」
「http://hogehoge.org/shoutcast.ico」
などにアクセスできる環境を用意してください。
本パッチによって、上記ファイルが読み込まれるように設定できます。

次回野望としては、このパッチを使っていろいろAJAX化かな。
・管理画面のリスナー一覧のIPを逆引きしたり
・スキン設定ファイルを外部から取ってきたり
・本鯖とリレー(ミラー)鯖にこのパッチが導入されてたら、遅延秒数も自動で取得できたり
・リレー(ミラー)鯖一覧ページを自動的に作成して稼働状況が把握できたり
・Web上に公式ヘルプファイルを設置してAJAXでそれを表示させたり
考え始めるとキリがないYO。想像だけでイッちゃいそうです(*´Д`)

ページのトップへ