2013年1月アーカイブ

例の、OpenGL(C言語)の課題を教えてくれと言ってきた学生さんですが、その後の話……ていうかついさっきの話です。

課題の〆切が過ぎたようなので、参考にこちらのソースコードを送ってあげたのですが、
「最後にお願いがあります。
プログラムの
・プログラムの概略
・プログラムの操作説明書
・プログラムの実行過程に関するできるだけ詳細な解説書
を書いてください。何度もすみません。」

どうやら、自力では課題をクリアできずに、期限延長で提出しないといけないようで、私のプログラムをそのまま提出しようとしているようです(しかも、提出用のドキュメントまで私に作らせようという……)。

おまい、俺が言った説教を忘れたのか、と。
あれだけ自力でやるのが大事だと言ったのに、何を言っているのか、と。
そんな不正を平気でする子に育てた覚えは無いっ!(違

ちょっと、真面目に叱ろうと思います。

ホント、どこの大学か割り出して担当の先生に通報してやろうかしら……?(笑)

前回の書き込みしかり、最近、メールで知人や知らない人からプログラムの質問を受けることがよくあります。

ちょっと面白かったのが、Web開発初心者の方で、「ネットに公開しているWebアプリなんですが、プログラムミスにより、パスワードのハッシュが外部から見れる状態になってしまっていました。」
「でも、ハッシュだから、パスワードそのものでないし、大丈夫ですよね?」

思わずのけぞってしまいました。まぁ、初心者さんだとセキュリティの勉強まであまり手が回らないのかもしれませんが。

当然のことながら、パスワードハッシュが漏れるのは、かなり危険です。

ハッシュ化につかった関数が何かバレてしまえば、パスワードの総当たり式で次々にハッシュを作成して、漏れたハッシュと一致するものが見つかれば、それがユーザーが使っているパスワードということになります。

また、総当たり式にしなくても、レインボーテーブルと呼ばれるものを利用することで、もっと高速にパスワードを特定することも可能です。

まぁようするに、ハッシュを見た人間が悪意をもっていて多少の知識があれば、簡単にパスワードがバレてしまうのです。

ということで、その人にはパスワードを再設定するよう、伝えておきました。

実は、かくいう私も、
セキュリティの勉強、まだまだ不十分です。
大々的に宣伝をしていないとはいえ、私もあるWebノベルツールをはじめとしたWebサービスを開発・運用しているので、こうしたことに関しては常に勉強を続けなければなりません。

まー、あまりやってて楽しい分野ではないんですけどねw

なんか、mixiで知らない学生さんからこんな頼み事をされた。
「OpenGL(C言語)の課題を出されたんですけど、わかりません! 教えてください!」
しかも、「今週の水曜日までにお願いします!」という期限付きw

普通の人なら怒るか無視するけど、私はお人好しなのでちょっとアドバイスしてあげた。
ちなみに、その課題とは以下のようなもの。
・適当に直方体の領域を作る
・その内部で適当に跳ねまわる球体を複数個配置する
・初期位置は領域内、初速は適当に設定してよい。重力方向、重力加速度も適当でいい。
・球体と外壁、球体間の接触判定を行い、適切に跳ねかえるようなプログラムを作成する。
・球体の数を動的に増やせるようにする。同時接触が起こった時の挙動がちゃんと動くプログラムであること。

なんというか、OpenGLというより高校物理の問題ですなこれは。
運動量保存則と反発係数の式を使えば楽勝です。(ただ、ちょっと面倒なのはめり込んだボールを引き離す処理ですね)

で、ちょっと面白そうだったのでちゃちゃっと作ってキャプチャしてみました。
http://screencast.com/t/VLewd0EpM0i
(キャプチャソフトの仕様でカクカクしてますが、実際はもっとなめらかです)

この課題、学生用に球体に限定しているので簡単なんですが、これが一般形状だったら、本格的な剛体物理シミュレーションが必要になってきますね。

作ったソースコード、今すぐその学生さんにあげちゃうと勉強にならないので、課題の締め切りが過ぎた後に見せてあげる予定です。


まぁ、こういう学生さん、非常識ではあるけど、こういう無鉄砲さというか、なりふり構わず、という姿勢は実は嫌いじゃないです。
スティーブ・ジョブズとか、こういうなりふり構わず、身もふたもない行動で成功をつかみ取っていますからね。まぁ、周りにすごい迷惑はかけますけどw

プログラミングコーナー「Web Programming」にて、
heroku postgresのDBにローカルPCから遠隔アクセスする」を公開しました。

HerokuというPaaS(クラウドサービス)は、Web開発者の間ではかなり人気の開発プラットフォームなんですが、そのHerokuでメインで使われているDBはPostgreSQLです。
このHerokuサーバー上のPostgreSQLのDBに遠隔アクセスする方法を記事にしてみました。

以前は、この方法が分からずにDBデータをいったんローカルにダウンロードして、ローカルで編集して、サーバーにアップロードする。というやり方でしかメンテナンスできないでいました。
今回のこの方法で、ようやくHerokuサーバーのDBを直接メンテナンスできるようになり、いやー気分がスッキリしましたw

やっぱり、GUIのDBクライアントを使ってメンテナンスできるのは便利だよね。

って、はい。今回もほとんどの人にとっては意味不明な記事でしたねw

気にしないでください……orz

常連のえびさんとぴよさんが、また素晴らしいWebノベルツールの新作を作ってくれました。

・えびさん作「サキミとの日常③
 ハトのサキミちゃんとご主人様「浩人」さんの一夜の出来事。
 ガクブルしているサキミちゃんがカワイイ! 「何されてもイイ」とかいう素直さがもっとカワイイ!
 よーし、パパありがたくいただいちゃ……うわなにをするやめ(ry

・ぴよさん作「プール開き
 爆笑w
 立ち絵が不足している現状を、こうも上手くネタに利用するとはww
 夢カルの立ち絵、早く揃えたいですね^^;

さぁ、みんなもWebノベルツール、使ってみよう!

気になる、記になる…」さん経由。

なんと、あのAdobeがPhotoshop CS2などのCS2製品を無料配布しているようです。
ただし、Adobe IDが必要なので、登録する必要はありますが……実質、無料ですね。

いや、古い製品とはいえ、こんなことしちゃっていいんでしょうかw

みんな、Adobeさんの気が変わらないうちに早くダウンロードするんだ!!w

あ、ちなみにMacな方。CS2はPowerPC向けなので、最新のMacでは起動しません^^;


1:28 2013/1/8追記:今、ユーザーが殺到してつながりにくいみたいです。落ち着いた頃を見計らって再アクセスしてみましょう。
1:53 2013/1/8追記:Photoshop CS2の動作環境が以下のページに書いてあります。
http://helpx.adobe.com/jp/photoshop/kb/4799.html
あまり新しいOSだと、動作に不具合が生じたり、アンインストールがうまくできなかったりするかもしれません。
インストールはあくまで自己責任でお願いします。(←ライセンス持っていない人はインストールしないでください)
2:03 2013/1/8追記:どうやら、無料配布に至った理由はCS2製品のアクティベーションサーバーを停止したことによる、CS2製品ユーザーのための救済措置だったようです。CS2製品のライセンスを持っていない人が、今回のCS2製品をダウンロードして使用することが許されるのか、不明なため、しばらく状況を様子見した方が良さそうです。煽っておいて、申し訳ありません^^;

12:57 2013/1/8追記:気になるので、アドビサポートに電話して聞いてみました。やっぱり、CS2の製品ライセンスを持っている人しか使っちゃダメらしいです。現在のシリアルコードが不特定多数に表示されている状況も、いつまで続くかわからないとのこと。現在、誰でも使えるような状況になってしまっているが、「良識を持ってご判断ください」とのお話でした。うーん、最近、古い製品を無料配布する企業が増えてきたので、Adobeさんもついに!? とか思ったんですが、やっぱりそんなうまい話はないってことですね。皆様、大変お騒がせして申し訳ありませんでした^^; あとAdobeさん、ご迷惑おかけして申し訳ありませんでした。

注:ちなみに管理人はすでにAdobe Creative Cloud購入してます。最新版を使いたい方はぜひ購入しましょう。

プログラミングコーナー「Algorism & Computing」にて、
GCD(Grand Central Dispatch)をWindows、Mac、Linuxで利用する」を公開しました。

マルチスレッドプログラミングはスレッド管理や排他制御など、かなり面倒なプログラミングを強いられるのですが、GCDを使うことにより、
これをかなりの部分、低減することができます。
面倒くさい部分はOS、ライブラリが面倒をみてくれます。

このGCD、今まではMacでしか使えなかったのですが、Appleがオープンソース化した甲斐あって、
最近になってWindowsとLinuxに移植されました。
XDispatchというライブラリです。ちなみにApacheライセンス。

これで、Windows、Mac、Linuxで同一ソースでGCDが使えるようになります。

一度GCDを使うと、もうやみつきになりますよー。


って、はい。誰も見ないよねww

iPhone/iPad/AndroidでエマステのMIDI音楽が鳴るようになりました!

といっても、前回の記事で紹介した「Puffin Browser」で閲覧する必要があります。

このブラウザアプリが、FLASHを再生できるということは、以前、Mac環境でエマステを閲覧した場合に限り、FLASHでMIDIを再生するようにしたんですが、
(MacではOSX Mountain Lionから、embedタグで埋め込んだMIDIファイルの再生がサポートされなくなったため)

「このFLASH製MIDI再生プレーヤー、当然Puffin Browserで動くんじゃないの!?」という予想、当たりましたね。
バッチリ再生できました。

(ただ、CPUにかなり負荷がかかるようなので、古いスマホやタブレットだと音が変になるかもしれません^^; iPhone5とかでもまれにやや音がひっかかることがある感じ。でも、不快感なく聴ける範囲内です)

いやー、スマートフォン・タブレット環境でのMIDI音楽再生は今まで絶望的だったんだけど、ようやく道が開けてきた感じ。
これで、エマステのBGM付き小説ページも、スマートフォン・タブレットで十分に楽しめるようになりました!

素晴らしいiPhone/iPadアプリを見つけてしまいました。

その名も「Puffin Browser」。なんと、Flashサイトを閲覧できてしまうWebブラウザアプリです。
標準では、iPhone/iPadはFlashに対応していない(Appleの方針による)のですが、このアプリは独自にFlashプレイヤーを実装しているんでしょうか? 複雑なFlashゲームをのぞき、大抵のFlashサイトに対応しています。

で、試しにWebノベルツールが動くか試してみたんですよ。
そしたら、動いたよ!。ママン!

すばらしいw セーブ&ロードにも対応してます。残念ながら画面最大化ボタンは機能しないとか、若干動きが重たいとかはありますが、今までiPhone/iPadではうんともすんとも言わなかったWebノベルツールが動く姿が見れただけで感動w

皆さんも、iPhone/iPadお持ちの方は、ぜひ試してみてください。
「Puffin Browser」の価格は2013年1月現在、250円ですが、無料版の「Puffin Brouser Free」もあります(こちらは、Flashの再生機能が使用開始後2週間に制限されています)。

あ、ちなみにAndroid版もあるようです。
Androidについても、今後標準のFlashプレイヤーは提供されなくなるようなので、入れておいて損はないですね。


追記:
Webノベルツールのバージョン2では、ゲームプレーヤーの実装をFlashからJavaScriptに切り替える予定です。これにより、iPhone/iPad/Androidともに、標準のWebブラウザでWebノベルツールで遊べるようになります。
お楽しみに!

このアーカイブについて

このページには、2013年1月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2012年12月です。

次のアーカイブは2013年2月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。