[Atelier Blue アトリエブルー]Home雑記帳>2006年5月

雑記帳(2006年5月)

5月31日(水)

英単語

ちょっと気になったのでまとめてみる。

英語 日本語
Triangle 三角形
Square 四角形
Pentagon 五角形
Hexagon 六角形
Crescent 三日月形の
Ball
Cylinder 円柱
Cone 円錐
Box
Cube 立方体

5月30日(火)

最適化

某所で見つけた記述ですが「for、while、do~while で最も速いのを選ぶ」この記述には参りました。

こちらがILでswitchと分岐を迷っているのに、その下ではC言語で上のどれにするか迷っている。まあ、適切な書き方をした方がコンパイラにはやさしくなります。それだけ、最適化も効くでしょう。でも、そこで頑張るのか。

そういえば「brfalse」というCIL命令を見つけました。これは0との判定を行える分岐です。これならばいちいち0をプッシュすることなく比較が行えます。つまり、インクリメントfor文をデクリメントfor文に変えることで命令をけちれるのです(1バイトほど)。まあ、ネイティブに落とされたときにどう動くのかは分かりませんけどね。

5月29日(月)

国の借金

Q.借金時計をご存じでしょうか?

A.すごく嫌な時計です。

財部誠一 オフィシャルホームページ [借金時計]何ともまあ、素晴らしいJavaScriptの使い方でしょうか。にしても恐ろしいです。

ピタゴラスの定理

「句股弦の関係」とも表現するかも。どっかの本で読んだ記憶が・・・。

5月28日(日)

どんなに速くなっても

私は速いコンピューターが好きです。もしも、金と時間とスペースがあればスパコンを家に置きたいくらいです(そう思っている人たちは多いはず)。でも、私にとってはそれだけでは物足りないんですよね。

パソコンはプログラムしたとおりにしか動かない。プログラマにとってはまあ、嬉しいことですがいつまでたってもそれだけのパソコンってすごくつまらないんですよね。膨大な演算能力はあっても考えるパソコンの1つ作れないと。

私か言っている考えるパソコンというのはエキスパートシステムとか、認識だけとかじゃないですよ。この時点でも問題定義が難しくなってしまっているのは自分の力不足なのでしょうが、とにかくちゃんと話す人口無能くらいのことが出来て欲しいのです。パソコンが自ら考えプログラムを作ってゆく。こちらが枠を与えることなく適切な枠を設定し問題に対しての解を模索する。

やっぱりそれだけ難しいことなのかな。

画像フォーマット

マイクロソフトからの新しい画像フォーマット

Windows Media Photo Specificationそのうち実装するアプリが出るのかな?

タブの弱点

簡単だ。並べることが出来ないのだ。

私は先輩に教えてもらったSleipnirを愛用しているが、サイトを作っているときにどうしても複数のウィンドウを開いて比べたいときが出てくる。そんなときにはIEを使っている。好きなときにそのウィンドウだけをフローティングに出来るタブは便利かもしれない。

今思った。VS2005のテキスト編集ウィンドウもフローティング出来れば効率上がるかも。どなたかマイクロソフトに提案していただけませんか?あ、でも、それだと昔のMDIウィンドウと同じだね。だけど、あれはあれで良かった場合もあったよ。

パソコン甲子園2003本選

完成しました。2問ほど残していますが、内外判定はアルゴリズムが思い浮かばず、外接円は行列を使って解いた代物となっています。とりあえず無視です。どなたか良い解答があれば教えていただけるとありがたいです。

5月27日(土)

unorderedの所の訳仕方

が、分かりません。具体的には3.7 bge.un.<length>の所です。「unordered」の意味は「比較不能」という結論にいたっているのですが、そのように訳していくとどうもしっくりとくる訳にならない。掲示板でアドバイス待っています。ちなみにこちらに一応訳したものがあります。なんか変な気がするんですよ。

役に立ったボーカルキャンセラー

ステレオスピーカーの接続端子をちょっと引き抜いて、斜めに力をかける。イメージとしては右の信号と左の信号が混ざるような感じ。そうすると、私の環境ではボーカルキャンセラーになる。手っ取り早くていい。皆さんもやってみてはいかが?

今日、とある曲を聴いていてバックのメロディーが気になった。そこで、上の方法でキャンセルしてみたら良いメロディーだった。そこで、以前作ったボーカルキャンセラーを使ってエンドレス再生していたのだが、なんか微妙に足りない気がしてきた。

そこで、キャンセラーを改造。右にモノラル化した音を流し、左にキャンセルした音を流してみた。なんか不思議なことになったが、こんなに簡単に音アプリが出来るなんてちょっと驚いた。

やっぱり、人に見せるため(CodeZineに公開したアプリ)にちゃんとコードが整理されていたためだろう。うん。財産財産。

今気付いたのだが、今の状態に簡易ボーカルキャンセルをかけるとボーカル&メロディ抜き出しに成功。ちなみにセッティング所要時間1秒。やっぱ、プログラム組むより圧倒的に速いね。

一度にかけるブログの数

電算部でまた新たにブログが出来た。名前は「転電」。なにやら、電算XOOPS内では話しにくいような話をするらしい。一応自分も書くスペースがあるのでどうしようかなと悩んでいる。

うむ。話題がない。もしも、転電でブックレビューが出来ればそれをしたいと思っているのだが、上手くプラグインが動いてくれないらしい。頑張れ管理人さん。

というわけで、ネタがない私というネタでした。そうそう、「転電」は「WordPress」で運営しているのですが、「XOOPS」以上に役に立ちそうなものがないらしい。この部ではまともにPHPやPerlを扱う人がいない(扱える人はいるが、1から作る人がいない)。高専5年間のうちにそっち方でもまともなの一本作ってみたいなと。

追:このサイトを見ている関専電算部の方私が誰だか分かっていますか?

5月26日(金)

Vistaではアプリケーションごとに音量設定

これは嬉しい。でも、MIDIの音量設定はアプリケーションごとになっているのかが気になるところ。もっとも、今時ならmp3やoggの容量でも十分大丈夫な気はするけど。

それと、もう一つ気になる点として、浮動小数点形式のサウンドに対応するらしいところ。浮動小数点って、一体どの範囲の値を許容するのだろうか?ちょっと気になる。

Vistaの動作環境

もう一個Vistaネタ。動かすには800MHz、512MB、DirectX9対応が必要らしい。Aero等、フル機能のためには1Ghz、1GB、128MBのVRAMらしい。

思うのだが、この上で.Net製品が沢山動くんだろうな。どれだけメモリが必要になるのやら。恐ろしいですな。

using System.Windows.Forms;

class Program
{
    public static void Main()
    {
        Application.Run(new Form());
    }
}

ちなみに上の何もしないWindowアプリケーションを.Netで作ると、私の環境では「メモリ25.9MB、仮想メモリ10MB」という使用量になる(ちなみに、一度最小化すると「メモリ2.6MB、仮想メモリ10MB」になるが嘘くさい)。

VS2005は通常100MB以上メモリを食う。ちょっとしたことをするアプリではだいたい50MB。これは、Win32が起動時で総合15~20、通常30以下と比べると結構でかい。

まあ、OSがスワップを効率よくしてくれれば動作は高速なると思います(Vistaではメモリ圧縮をするという話も聞いたような)。

ちょっとした不平等

気付いていた方もいると思いますが、「ildasm /?」は日本語ですが、「ilasm /?」は英語です。一体何故でしょうか?

5月23日(火)

自由になる時間の量と質

本気で頑張りたいときには質はすごく良くなり、時間にはなりふり構わなくなる。でも、普通に何かやりたいときには時間の質がすごく落ちてしまうことがある。そんなときは大抵多くの時間(1日とか)を無駄にしてしまっている。

MSIL解析

その時々の気分で書き散らしているから、内容がまとまっていない。そのうちリファレンスが出来たらしっかりとした入門を書きたいです。

JAVA

標準で多倍長計算が出来るんですね。これ覚えておくと情報オリンピック有利だろうな。

5月22日(月)

スパコン

始まりました。予選問題、難しすぎ。

真っ白お化けが実体化率100%で出現しました。さてどうしましょうか?

IL

嬉しいです。私の他にも興味を持っている方がいたとは。今はちょっと忙しいですが、頑張って更新していきます。

今日CIL(MSIL) Opcodeを見つけて嬉しくなったのですが、ここ、トップからたどれない。あれ?

5月21日(日)

すごく訳が分からない

私はよく、[スタート]+[R]で出てくるウィンドウで、「notepad」や「calc」「mspaint」「explorer 」「mplayer2」を起動させています。この方法はいちいちマウスまで手を伸ばさずに行えるため非常に便利だ。それに他の場合にも使える。

今日、ふと思い立ってインターネットエクスプローラー(IE)を起動させたくなった。というわけで挑戦してみる。試しに「internetexplorer」と打つ。ダメだ。名前を調べると、「internet」は「i」に省略されているようだ。

よし、ワンモアチャレンジ。「ixplorer」と打ってエンター。?。………え、何でダメなの?

仕方ないのでもう一度名前を調べてみる。

「iexplore」。???あ、最後に「r」がない。

マイクロソフトさん。そんなところで名前ケチらないでください。この省略になんの意味があるんですか?と、いうわけでIEを起動させるときには「iexplore」と入力しましょう。


追。時々役に立つのは「explorer」です。XPで時々、壁紙だけで起動が止まることがあると思います。その時タスクマネージャーが起動できればそこから他のプログラムを起動できます。「ファイル」->「新しいタスクの実行」で行えます。まあ、使ってみてください。再起動しなくてすむかもしれません。

ものが見えなくなる

別に視力の低下とかを言いたのではなく、昔見えていたはずのものが最近見えなくなっているような気がする、という話です。そういうことを考えてしまう時ってありませんか?

ちょっと前までは今まで見ない物が見えてきて驚いていたのに(今もこれからもだけど)、いつの間にかその反対のことも起きてるような気がする。ちょっと寂しい気分です。

勘違いの訂正

パソコン甲子園2003本選9問目の解説に間違いがあったので訂正します。


C言語でバッファが22文字分なのは癖です(反射的にMAX+2にしてしまう)。まあ、普通は21文字で足ります。文字列+'\0'です。とりあえず気にしないで下さい。私の習慣ですから。

ちなみに「20文字+改行文字+'\0'」で22文字です。scanfでの%sは、「改行」や「空白記号」を読みとりません。勘違いをさせてしまった方。申し訳ありませんでした。


以前は、「22文字にしなければならない。それは改行があるからだ。」みたいな内容を書いていました。ごめんなさい。

5月20日(土)

かぜです

どこかでインフルエンザが流行っているとかいないとか。とりあえず、寮では風邪が流行っているようです。と言うわけで更新が停止していました。しっかりプロコン作らなければいけないし、運動会に顔出したいし、でちょっと忙しめです。まあ、のんびりやります。

.Net2.0のジェネリクス

ILコードが同じだ。いや、内部動作は拡張されているでしょうけど、ジェネリクス専用命令でジェネリクスを生成しているのではなく「newobj」で生成している。

すごく初歩的なこと

今日引っかかってしまった初歩的な事例を語らせて欲しい。

突然タブブラウザが固まった。タスクバーで右クリックも効かない。その時は強制終了をした。その際、メモリ使用量、CPU共に平常値だった。

その後、またブラウザが固まった。今度は試しにデスクトップを表示させた後、ブラウザをアクティブに。そうすると、ダイアログボックスが出ていたことを発見。まあ、初歩的ですね。

まあ、Sleipnirで、パワーポイントの文章を開いちゃったんですよ。PDFだと思ってね。要するに

Sleipnir -> IEコンポネート -> パワーポイント

という深い階層をたどっていたおかげで上手くダイアログボックスが表示できなかったのですね。注意しましょう。

しりとり

最も長いしりとりを作る。

専門家でない方のための 最長しりとりの作り方

こういう様な技術の使い方って好きかも。

天気は良いけど運動会は明日

昨日の雨のせいで運動会は延期です。でも、今日晴れているから明日は良好なグランド状態で運動会が出来そうです。ちなみに、運動会をするのは近所の中学校です。

5月16日(火)

通り雨

明日はレポート提出日。実験は好きだけどレポートは憂鬱かな。何で手書きなんだろうか?タイトルの理由は、外が霧がかかったみたいになっているから。通り雨で湿った空気が冷やされているようだ。

マウスジェスチャ

評価はまあまあだが、色んな人に見てもらえているようだ。是非ともマウスジェスチャを的確に実装したアプリケーションが増えて欲しい。

情報オリンピック

今年出てみようと思ったけど、時間が合わなくて予選すら受けていない大会。パソコン甲子園よりももっとプログラム能力と数学的センスを必要とする。来年は出てみようかな?

5月15日(月)

標準確保領域

.Netを始めてから、メモリの使用量が気になりはじめた。特にスタティックの領域はすごいサイズになる。確か.Netの上でのスタティック領域のためのメモリ確保はJITコンパイラが任意のタイミングで実行するような気がしたが、これがもし、C言語などの時などは使う使わないにかかわらず常に領域を確保していると思われる。とてつもなく恐ろしい話だ。何か対策はないものか………。

アクセスの失敗が五月蠅い

私のパソコン環境は訳あってCドライブが不在になっている。めんどくさくてそのまま使っているのだが、どうにもよろしくないらしい。アプリケーションや、検索機能が必死にCドライブにアクセスしてくれる。

皆様がアプリケーションを作るときにはそのような環境のことを少しは考えてあげてください。

5月14日(日)

パソコン甲子園

授業中に問題といているので、ソースコードはあるのであるのですがまとめる時間が無くて。それにしても、JavaやVB.Netでのソースコード書きは自分には地獄です。なれないせいかもしれませんがあれらの言語はパソコン甲子園向きで無い気がします。

閲覧者とページビュー数

このサイトはトータルで見ると、先月よりもページビュー数が減っている。しかし、よくよくデータを読み解くと、沢山読んでくる人が変わらないのに対し、数ページでさよならしてしまう人が増えている人がいるらしい。なんか非常に申し訳ない気持ちになる。せっかく来てもらいながらも、目的の物がないのは悲しいことだ。とりあえずは、Direct3Dを全面改訂したい気分だ。

  Sites KBytes Visits Pages Files Hits
May 2006 1773 86943 2181 6345 19371 26227
Apr 2006 2077 97743 2233 8601 17772 26836

文章の語尾

自分で書いた文章を見直していると、その日その日によって語尾がバラバラなことに気付いてしまいます。気分や、言いたいこと、情報の確実性によって変わってしまっているようです。すごく分かり易い指標ですね。

スリザーリンク

パズルジャパンの早解きチャレンジですが、めっちゃでかい。恐ろしいです。

問題はこちら

5月13日(土)

.Netアプリへアタック

何となく簡単そうに思えます。まだチャレンジした事がないので、何とも言えませんがそのうち挑戦してみたいです。私としては、どんなに難読化を施してもILでは情報を提供しすぎているような気がします。安全性確保のための前提条件が多すぎるような気がします。まあ、IL学んでじっくりといきたいと思います。

Direct3D

ごたごたしてきたので少し整理してみました。と言ってもあんまり変化しませんでした。誰か図を作ってくれれば楽なのになと。もっと精進です。

ここの解説をもっと詳しくして欲しい、これを解説してくれ。という要望があればお待ちしております。元々せっぱ詰まらないと頑張らないような人なので言って頂ければ頑張ります。

DirectDraw

なんかごたごたに巻き込まれて更新止まっています。もうちょっと頑張りたい。

説明への気合い

本を読むと説明への気合いの違いを感じます。負けてられないですが、そこまで私は頑張れない。どうせ私的なメモ帳なので、自分が分かればどうでも良いのですが。

5月12日(金)

更新状況

悪いですね。とりあえずやりたいことはたまっているのですが、土日に後回し状態です。約束できませんが、頑張ります。

物作り

技術がどうなのとかという問題ではない。いや、それもあるけど結局どれだけ頑張るかでしかない。やろうとする人は今やれることで精一杯工夫してやろうとしてくれるし、それでも出来ないことは調べてもくれる。

やっぱりそのくらいのパワーがあった方が、物作りを行うものとしては良いね。1年生頑張れ。

5月11日(木)

学校での活動

部活動の方でも色々なプロジェクトが動き始めました。多分DirectXも使うことになるので記事のネタが出来そうです。

現時点での参加予定は次の通り「プロコン競技」「プロコン課題(作成のみ)」「スパコン」「パソコン甲子園」「U20(チーム)」。後のは、少し整理してみないと分かりませんね。C++も使いそうな予感です。あれは読めるんですけど、書けないんですよね。なんか変で……。

C言語で出来ないこと

は、ないと思います。いや、確かに利用できない命令はないけど、ノイマン型コンピューターの上で動くプログラムを作るときにはやはりC言語だなと。結局抽象化とか、自動化の延長線でしかない。

5月10日(水)

質量の大きいものと小さいものだとどちらが早く落ちるか

なんか大きい方が早く落ちるそうな。まあ、そんなことが大事なわけではなくその過程や、結果の意味を知ることが重要みたいだ。とにかく、4年生あたりで応用物理をするらしいから、その時に自分で考えてみよう。

客足

ゴールデンウィーク中は客足が半減してしていましたが、終わったとたんに2倍になった。

CodeZine

おかげさまで記事採用して頂きました。内容は、Win32と.Netでのマウスジェスチャについてです。

5月9日(火)

こうやって日付を越える

なんか色々やっているうちに日付を越えてしまうんですよね。早く寝ないと。

5月8日(月)

[IL]もしかして

「envaluation stack」を実行スタックと訳していましたが、「プログラミング.NetFramework」の中で、「評価スタック」と訳されていたので訂正しておきます。まんま訳しても良かったようです。

機械が人に追いつく日

つい先日ケーキを作った。出来映えはともかくある事情で生クリームを使ってはいけなかった。その条件の中で何か良いレシピはないかと親に尋ねたら理由を聞かれた。

考えてみると、そこでの理由にあまり意味がない。もしかすると、乳製品全般がダメなのかを確かめたかったのかもしれない。この事をよく考えてみる。たとえば、ネットの検索の上では絶対にこのような質問はされない。その時点においては大きな意味を持たない質問だからだ。しかし、その情報を知っていれば後々何かに役に立つ可能性もある。

パソコンは事情を考慮しない。理由を尋ねない。こちらが与える情報だけを考慮して欲しい場合にはそれは楽である。

だが、情報の蓄積がないということは後々役に立つ色んな情報を切り捨てることになる。たとえば、再び私がケーキを作るときにちょっとした会話だけで生クリームを使っても良いのか悪いのかが特定できるようになる。

まあ、パソコンにはそれだけの情報があっても人間ほどの情報統合能力も推論能力もないだろうけど。だけど、そうだからこそ情報量で押し切ることも必要だったりして。

5月7日(日)

.Netでマウスキャプチャー

なんか、もっと良い方法があるらしかったので修正。「Control.Capture」というプロパティを利用すれば自前でAPI使わなくても良いということに。

5月6日(土)

本屋へ

2万円分本を買ってしまった。技術書1万、その他1万。技術書はDirect3Dが2冊5千円分、.Netの本が1冊5千円分。とりあえずこれではかどりそうです。

.Netでのマウスキャプチャー

今の方法であっているのか不安になってきた。

5月5日

なんとなく

変化すること。滅亡への前兆。

このサイトの意義

こういうサイトって誰に役に立たなくても自分に役立つんですよね。前にやったことを自分が思い出せる形で書き留めてあると作業がはかどるんですよ。それに、分からないことも少なくなりますから。まあ、そんなサイトが少しでも役に立ってくれるなら嬉しいですね。

もしも何か要望等あればメール・掲示板共にいつでも受け付けています。このサイトがみんなのメモ帳になってくれると嬉しいです。

パソコン甲子園攻略

Googleで検索していたら次のページがヒットした。

パソコン甲子園 攻略

すいません。触発されちゃいました。というわけで私もやってみようと思います。

まあ、出来た。…途中まで。

5月4日

CodeZine

記事書き終わりました。上級者向けのを作るつもりが、完璧初心者向け記事になってしまいました。一応、CとC#での二つの記事を出してみました。ゴールデンウィークあけにでも返事が来ると思います。まあ、こんなどうでも良い記事なので採用される自信ありませんけど。とりあえずメモに記事を載せておこうと思います。ああ、タグ付けるのめんどくさい。

5月3日

更新

この前一気に更新した影響で滞ってしまいました。ゴールデンウィークに入ったことですし何か頑張りたいです。

私は何かとても良いことがあるとその後2,3日ほどほどよいテンションで色々なことをこなせてしまうのですが、ちょうど今日良いことがありましたので明日あさって結構良い感じに仕事が進みそうです(しかも3,4日ほど後にはまた良いことがありそう)。

私はずいぶんと単純な人間のようです。

マウスジェスチャ

「WM_MOUSEMOVE」を使っていたが、もっと改良すべき点があり他の方法を使う必要がありそうです。たしか、「spy+」だったかが使っているのと同じ方法が有効だったような?明日調べてみます。

過去の雑記


ページの一番上へ
[Atelier Blue アトリエブルー]Home雑記帳>2006年5月