13:37:42.最近Twitterでfollowさせていただいている方が何名かUstreamで生放送をされていたのですが、このときにデスクトップのアプリケーションとかゲームのウインドウ(の一部)を動画として配信されていました。音声は入っていないで、何か反応するときはTwitterかChatに書き込むか、メモ帳などのテキストエディタを表示してそこに書く、というのが普通なのですが、テキストエディタだと表示しているウインドウが隠れてしまうという欠点があり、なかなか面倒くさそうだなあ、なんて思っていました。おりしもちょっと前のエントリーでIrcvを改造していて、良くできているな-なんて思っていたところに、そういえばこれを改造すればテキストエディタの代わりになるんじゃ?と思い、思いつきで作ってみたモノをご用意しました。設定していても、一つ目のメッセージがフェードインしなかった不具合を修正。(お約束ですが)注意事項:・アイコンがオリジナルのIrcvのままなのでわかりにくいですが、イチから作るセンスがないので...すいません。1.1以上が必要です。Antivirusにてウイルススキャン済みですが、ウイルスが含まれていないことを100%保証するものではないことにご留意ください。・ライセンスはオリジナルのIrcvに準拠しています。・この配布ファイルを使用したことで生じたいかなる問題にも、オリジナルの作者様および改変者は応じる義務のないものとします。不具合の報告などについては受付いたしますが、なにぶん飽きっぽいので^^;修正させていただくかどうかは微妙ではあります。何かのお役に立てれば幸いです。18:15:50.ご無沙汰のエントリーはたぶんあまり需要のないネタです。Sawatari氏作のIrcvを使用しているのですが、IrcvはircサーバーとのやりとりにJISコードのみが流れることを想定しており、freenodeなどのUTF-8だと文字化けしてしまうのを何とかしてみよう、というものです。※もっともtiarraを使用してUTF-8からJISに変換すればよいのですが、我が家ではこの機会にすべてUTF-8にしてしまったので(汗)とはいえIrcvはC#で書かれており、そもそも内部のエンコーディングにはUTF-8が使用されているので、単にJISコードへの変換部分を取っ払ってしまえばよい、ということになります。StreamWriter(_nstream);のようにしてしまえばよいわけです。これだと結局UTF-8決めうちで美しくないじゃん、という方もいらっしゃると思いますが、その場合はConfiguration.csやircv.csにも追加で書き加えて、環境設定ファイルから文字コード指定を読み込み、それをIRCClientのインスタンスに渡して設定させる...というコードにすればよいでしょう。21:52:26.たまには役に立つ話を。(有効範囲がちょっと狭いけど^^;)去年夏にauの端末に乗り換えて以来、今まで必ずサーバに取りに行ってきていたHTMLデータが、なぜかキャッシュから表示されるようになってしまいまして。最近までは再読み込みで何とかなるからいいかーと思っていたのですが、先日広告書き込み対策を一部サイトで実施した都合で、どうしても最新の情報を読んでくる必要がありました。いうことで早速公式ページを確認したところ、複数の方法で制御可能との記述が。content="max-age=0">と記述、無事に正常に表示されるようになりましたとさ。02:01:00.掲示板などに書き込む際、半角カタカナを入力したら化けてしまった、ということは良く聞く話。なんでこうなるのか、という原因を説明しているサイトもたくさんあるので、今回はそこもはしょって、実際にどうすればよいのかという話をちょこっとだけ説明します。Internet上で配布されているBBSスクリプトなどは、汎用性を持たせるためにどんな文字コードでも動作するようになっています。内部のデータ形式だけ文字コードを固定すれば、スクリプト自体の文字コードを変換(スクリプトによっては、出力に使用する文字コードを指定できるものもあります)してやるだけで、あとはShift_JISだろうとEUC-JPだろうと動作するためです。データファイルの文字コードは固定されていますので、別の文字コードで出力するスクリプトにもそのまま流用できます。ほとんどのスクリプトにおいて、これを実現するためにjcodeという日本語コード変換ライブラリを利用していますが、このjcodeのconvert関数に渡すとき、入力された文字コードがどれなのかが分からないため、自動判定で渡します。このとき、入力された文字が半角カタカナのみの文章(あるいは半角・全角が混ざった短い文章)の場合、jcodeは文字コードを正常に識別できなくなり、結果文字化けが発生する、ということです。これはjcodeの問題ではなく、半角カタカナの文字コードが原因で発生します。これを回避するには、jcodeに自動判別で渡さなければよい、つまり入力される文字コードも、出力される文字コードも固定すれば良いわけです。‘sjis’);と、出力文字コードは指定しているのに入力文字コードを指定していない場合、以下のように入力文字コードも固定してしまいます。‘sjis’);こうすることで、半角カタカナの文字化けを回避することができるようになります。ちなみにtackynoteの場合は322行目を(メール送信機能を使用する場合は1307行目、1310行目、1339行目も)、tackynotespの場合は496行目、519行目を(同じくメール送信機能を使用する場合は1953行目、1956行目、1985行目も)、それぞれ変更してあげてください。Sawatariさん製作のプレーヤであり、この記事を書いている僕とは一切関係ありません。Framework無しで作ってみたくて、久々にDelphiを弄っています。正方形でない(要するに普通の四角形のウィンドウではない)ウィンドウを表示するには、以前はRegionというマスク画像のようなものを作ってあげる必要がありました。2000/XPではLayeredWindowというものが使用できるようになりました。LayeredWindowでは、透過したい色を指定するだけで、正方形でないウィンドウを作ることができます。作ってみたサンプルが最初のスクリーンショットです。簡単に出来上がったのですが、文字の縁取りを半透明にするためには、SetLayeredWindowAttributesではなく、UpdateLayeredWindowを使わなければいけないことが分かりがっくり。00:48:52.じくうさんのページでポインタに混乱している様子が書かれていたので便乗触発されてポインタについて書いてみようとか思ったり思わなかったり。他人に対して説明するとき、「どこそこに書いておいたから見といてー」というような言い方をしたことがありませんか?ポインタとは、まさしくこのような使われ方をします。例によって大雑把にまとめてみました。