JavaでStringBuffer作るときにchar値をぶちこんだら、あらぬことになりましたの。

 ・上手くいかなかった書き方
  char c = 'a';
  piyo = new StringBuffer(c);
  (piyoの中身:"")

 ・正しいの
  char c = 'a';
  piyo= new StringBuffer(Character.toString(c));
  (piyoの中身:"a")

 ダメな例も素知らぬ顔で動いちゃうんですけど! なぜに!
 Java6のAPI仕様書を見たら、StringBufferのコンストラクタの引数にcharなんて無いじゃないですか。びっくり。ええー、だったら例外の一つも出せですの。このやろぉぉー。

 有効な引数にintがあったので、たぶん、charを整数値として受け取ったんでしょうかしら。。

 文字を入れるためのcharが、裏技的に符合無しshortとして使えるのは有名な話ですが、こういう時に、まさかStringを差し置いてint側に倒れるとは予想外でしたの。。

 わらわですわー、お久しぶりですのー。
 放置してから久しいですの。まったくもう。

 お友達とごはん食べに行ってきたら奢ってもらってしまいましたの。出世払い。はわん無職。
 出世するぞー おー

 何をするにも、まずは勉強ですの。。そしてそして研究成果があどばんてーじとなり、おかねを生み出すがいいのですの。

 IT土方はいやなのですの。そうもっとうつくしくエレガントに。
 たとえ舞うような薄給も辞さず、されどうつくしく、らくに生きるのですの。

 とりあえず、いまのところ無事ですの。
 大きな余震が直撃どかーんするとか、原発爆発\(^o^)/しない限りは。

 どちらにせよ、パワーがケタ違い過ぎて、大事なデータを海の向こうに退避させておこう…なんて意欲も沸かないですの。
 データが消えるときは、たぶん私も消滅しているでしょうから。

 おなかすいたー、なんか食べてこよう(`・ω・´)

 銃や大砲のお話ですの。

 弾丸を真っ直ぐ発射するためには、砲身が必要ですよね。要するに筒の部分です。この砲身が長いほど弾丸は真っ直ぐ飛びます。拳銃は短く、狙撃銃は長いですよね。

 というわけで、わらわは、砲身っていうのは命中精度向上のためだけにあるんだと思い込んでいたのですが、実は威力や速度の向上にも一役買っていたらしいのですの。

 どういうことかというと、そもそも火薬で弾丸を発射するっていうのは、火薬の爆発で発生した高圧ガスが弾丸を押し出すことで実現してますの。
 一箇所しか無いガスの出口を弾丸が塞いでいるので、ガスが顔真っ赤にして弾丸を押すわけですね。

 ヽ(`Д´#)ノ ムキー!! ←高圧ガス

 つまり、砲身が長ければ、それだけ弾丸は長く加速を続けられるのですの。弾丸の威力は、速度×質量なので、威力向上にもつながりますの。

 OpenGL上でポリゴンを選択したいときは、セレクションなんとかを使いますの。
 (久しぶりの話題過ぎて細かい名前とか忘れましたの)

 ただ、これを使うためには、選択したい全オブジェクトを一度描き直す必要がありますの。そのため、テクスチャとかを除けばほぼ二度手間、つまり描画コストもほぼ二倍になりますの。。使いにくいですの。。。

 というのが、昨日までのわらわですの。

 これって、必ずしも見えてるものと同じものを描画する必要は無いのですねっ。と、さっき「全てをまじめに描き直す必要は無さそう」という話を見かけて思いましたの。

 つまり、厳密に”ポリゴン”を選択したいわけでなければ、まじめにどころか、座標を合わせてぽこぽこ立方体とか描いておけば十分だったのですね。ぽこぽこ。

 物体の形によっては判定を球体にしたいこともあると思いますが、その場合、楕円形で無くてもいいなら、さらに手を抜いてビルボード式に円を描画でもOKですね。球じゃなくて円で、さらにいうと円というかn角形的なやつ。あまりの描画コストの安さに胸キュンですね。

 背景を省略したり、ライトを消したりテクスチャや色を付けないとかしても、それでも描画コストは相当かかってしまうのですが、これならコストなんて無いも同然ですの。なんだか拍子抜けですの。。

 それにしてもそれにしても、これってやっぱりまさかもしかして普通に素でみんな知ってた方法です?
 まじはにゃにゃーんですの。

 お久方ぶりですの。わらわですわ。わあ、わがいっぱいだわ。

 さて、ブログをご覧の皆様も当然インターネットを使っていると思いますの。でもって、重たいファイルをダウンロードすることもあると思いますの。サーバやら回線やらのせいで、ファイルがなかなか落ちて来ないこともあると思いますの。それでねそれでね!

 そんなときに注意なのが、HDDへのアクセスの長時間化です。

 ちんたらダウンロード、書き込み、ちんたらダウンロード、書き込み、と繰り返していると、ずーっとだらだらHDDを使うことになります。これはHDDに大きな負担をかけます。熱も出ます。暑いです。

 HDDの使用時は読み書きの総量よりもむしろ、アクセスの総時間が負担要因になります。

 そこでお勧めなのが、ダウンロード時はHDD以外のドライブを使って、ダウンロードが完了したらファイルをHDDに移動する方法です。

 わらわは、以前書いたようにRAMディスクを活用しまくっていますが、これもRAMディスクに一時保存するようにしています。これだと、HDDにほとんど負担がかからず、無駄な発熱も起こしません。

 RAMディスクが用意出来なければ、USBメモリを使うのも有効です。
 (SSDでもいいですけど、ちょっともったいなくないかにゃん。)

 ただ、USBメモリの場合は書き換え回数に限りがあることと、USB2.0以上で繋がないとそこの転送速度がボトルネックになりかねないことに注意が必要です。

 ちなみに今日、USBメモリに関して面白いことを思いつきました。今度書きます。

2013.5.14 訂正 ごめんなさい。USBメモリやSSDは、こういう用途には向いてないみたいです。

 ふと見たら信号の強さが50%台。メーターの色も黄色になってた。
 なんだろうと思って調べてみたですの。

 結論からいくと、横の機器に干渉されていたのでした。
 最近よくある(?)USBメモリみたいな無線LANアダプタで接続していたのですが、試しにすぐ横にささってたUSBメモリを引っこ抜いてみたら、80%超で安定するようになりました。

 無線とは関係無いからと思って油断してましたの。よく考えたら超至近距離なので、影響しないわけが無いのです。最近、調子の良くない無線LAN親機のせいかと思っていたのですが、今回は濡れ衣だったようですね。

 しかし、ノイズが増えるんじゃなくて、信号強度が落ちるのねぇー。ちょっと予想外でしたの。