SewiGの日記
2007-04-03 [火] [長年日記]
■ [Other] 薬は使った方がいいのだろうか
ここ数年大きな病気もなく健康的に過ごしています。
しかし、周りはインフルエンザで大変です。で、タミフルが処方されているようでニュースで話題のタミフルを持っているらしくちょっと羨ましいです。
…タミフルを服用したいとかいう話ではなく、ただ話のネタとして持っているとおもしろいな、と。
タミフル自体で死ぬわけではなく、副作用で気分が高揚して異常行動に出るのが危険らしいです。私の場合、タミフルどころか薬なしに寝て治すことが多いのでどうも薬に依存する気持ちが分からないのです。お金も掛かりますしね。
ただ、日中に下痢や頭痛がきたときはさすがに薬も必要だなと感じますね。
2007-04-07 [土] [長年日記]
■ [Network] 放送終了後にHD画質で再配信
- 放送後にHD画質で無料配信 テレ東「Re:あにてれ情報局」 (ITmedia)
バックナンバーを見たいとかそもそも放送が受信できない環境にあるなど、需要はある分野ですよね。HD画質でストリーミングするとなるとメンテナンスが相当大変だと思うのですが、よくやってくれたという感じです。
あとは全ての放送で対応してくれれば。ブロードバンド回線で地上デジタル放送も様子見のユーザも多いでしょうし、CM付きでバンバン流せばけっこういいPVが得られそうですよね。
2007-04-09 [月] [長年日記]
■ [Network] DRMフリーは行きすぎ?
- 「DRMフリー」は行き過ぎ、複数デバイスで使えるDRMを〜ACCS久保田氏 (Internet Watch)
DRMフリーなどしなくても、複数デバイスを考慮したDRMを作ればいいという話。
「コンテンツID」「権利者ID」「利用者ID」など共通のID体系に加えて、コンテンツの再生回数や再生期間などを制限する「許諾条件」を組み合わせた「許諾コード」を導入することが必要と指摘。
現行のiTunesで十分だと思うのですが。iPod以外のオーディオ機器となると面倒なことになりますが、CD-R書き出し機能もありますし。
それでもいろいろ処理があるから面倒だし、できる限り劣化なしにほかのデバイスで聞けたほうが精神衛生上も良いだろうから、DRMフリーの方が当然良いです。それでも違法アップロードを検地するなら電子透かしでも入れればいい。もっとも音楽を不正に入手しようとする人が透かし挿入による音質劣化には気を止めないだろうから透かしはあってもなくても違いはない。
これだけ違法コピーや動画投稿サイトへのアップロードが続いても良い作品のCD/DVDは売れ続けていることに気付いて欲しいものです。
2007-04-12 [木] [長年日記]
■ [Game] 昼食は弁当
最近、健康面と経済的な事情を考慮して昼は弁当を食べることにしました。朝早く起きて作るのは面倒だけど、作ってみると意外と簡単にできるし、味も悪くないです。
こんなときに、「しゃべる!DSお料理ナビ」とかあると楽しいだろうなぁ。以前、兄が持っていたので見せてもらったらしゃべりまくり。でも、レシピとか写真もあるし、本格的に料理できそうだ。うーん。買うか?
2007-04-13 [金] [長年日記]
■ [Opinion] 著作権の業界ごとの考え
- 業界変われば著作権も変わる? 落語、同人誌、ソフトウェアの場合 (ITmedia)
落語、現代美術、同人誌、ソフトウェアに関しての著作権保護期間に関する記述があります。
落語では弟子にはネタは無償提供、師匠の死後は自由に使って欲しいという立場。現代芸術ではむしろ模倣によるおもしろおかしさが重要みたい。
ところが、同じ芸術でも同人誌の場合は著作権にややうるさい。そんな状況であっても同人誌は年を追うごとに活気を増しています。漫画に関しては落語のように尊敬する作家がいて影響を受けて新しい作家が生まれるという過程が今までにあったし、同人誌によってユーザや業界に盛り上げることで結果的に著作権者も潤うからという考えの下二次創作を許可しているところがあるからでしょう。同人誌が金になると考えた転売屋とかが出てくるからうるさくなった気がしないでもありません。
ソフトウェアについては、この記事ではいわゆる完成品のソフトウェアについてのみ言述されています。さらに、保護期間延長問題とは関係が無いとまで言い切っています。たしかに50年、70年も同じソフトウェアというのは例を聞かないです。しかし、あらゆるソフトウェアのベースになっている部分に著作権があったら、と考えてはどうだろうか。mp3、gifなどいろいろとロイヤリティーが問題になってきましたし、保護期間延長によってサブマリン特許とか出て既存のソフトウェアに影響を与えることもあるでしょう。オブジェクト指向はうちが起源ニダとか言われたら今の技術屋はあきれますよ。
2007-04-15 [日] [長年日記]
● Rochi [Holy shziint, this is so cool thank you.]
2007-04-16 [月] [長年日記]
■ [Opinion] 理系だけ授業料値上げ
- 国立大授業料、大学や学部で差…再生会議が提言素案 (YOMIURI ONLINE)
こんな決定では、なんか文系は価値がないみたいな印象を受けますね。国際的には学費を安く、むしろ無料化しようかという動きの中でこれはどうかと思います。
奨学金の受給も審査が厳しくなったと聞きますし、金持ちだけが教育を受けることができるという何年前の考え方に戻すつもりですか?
なんだったら、せっかく教育の機会を与えているのに単位を落としまくる生徒の学費を上げればいいじゃないですか。留学生ばかり補助しないで自分の国の学生を補助してあげてくださいな。
2007-04-19 [木] [長年日記]
■ [Mac][Programming] Macプログラミング(1)
今更ToolBoxを使ったプログラミング講座です。使うのはMPWのみ。CodeWarriorは必要ありません。
■ MPWのインストール
1. imgファイルのダウンロード
ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM_Images/ から MPW-GM.img.bin をダウンロードします。これに必要最低限のデータが含まれています。本当に最低限なので後で最新のヘッダやライブラリが必要になったらそのときに入れればいいです。
2. インストール
ダウンロードしたらStuffIt Expanderなどで解凍して、DiskCopyなどでイメージをマウントします。中身をフォルダ丸ごとMacintosh HDあたりにコピーします。Interfaces&LibrariesフォルダとMPWフォルダは同じ階層に。OS 7.6などをお遣いの場合は、Interfaces&LibrariesフォルダにあるStdCLibInitをシステムフォルダに入れるといいでしょう。
■ プロジェクトの作成
IDEでプロジェクトは管理してくれません… なので自分でフォルダを作ってソースファイルなどを作ります。とりあえず、「Hello」ってフォルダを作って、その中に「hello.c」を作ります。
#include <stdio.h> int main() { printf("Hello World\n"); return 0; }
■ makeとコンパイル
IDEの起動は(MPW_HOME):MPW:MPW Shellから。
メニューからDirectory -> Set Directory。ここで先ほど作成したプロジェクトのフォルダを選んでSelect Current Direcutoryで決定。
メニューからBuild -> Create Build Commandでmake用のファイルが作れます。Program Nameにアプリケーションの名前を、Source Filesでソースコードやりソースなどを選択します。とりあえず、先ほどのhello.cを選びましょう。残りの項目は見ての通りなのですが、とりあえずSIOW AppとFat Binaryを選びましょう。そして、CreareMakeをクリックして完了です。
あとは、メニューBuild -> Buildでコンパイル&リンクが行われて実行ファイル完成です。
2007-04-20 [金] [長年日記]
■ [Mac][Programming] Macプログラミング(2) - ToolBoxでHello World
MPWだけで作るので、必要なヘッダは適宜includeして、必要な変数は適宜宣言します。
#include <Dialogs.h> #include <Strings.h> #include <Fonts.h> #include <Sound.h> QDGlobals qd; void InitToolBox() { InitGraf(&qd.thePort); InitFonts(); InitWindows(); InitMenus(); TEInit(); InitDialogs(nil); InitCursor(); } int main(int argc, char **argv) { InitToolBox(); SysBeep(0); while(!Button()){}; return 0; }
今回はイベント処理などは使っていないので、今風のアプリケーションではありません。単純にAPIを利用しただけのプログラムです。
InitToolBox()はToolBoxやインタフェースを初期化します。ほかのプログラムでもほぼこの形で使う、いわゆるおまじないみたいなものですのでこのまま使ってください。
InitGraf()はQuickDraw、描画関連の初期化、InitFonts()はフォントマネージャの初期化、InitWindow()はウィンドウマネージャの初期化、InitMenu()はメニューマネージャの初期化、TEInit()はテキストエディットマネージャの初期化、InitDialogs()はダイアログマネージャの初期化、InitCursor()はカーソルの初期化。
SysBeep()はSoundManerを利用してビープ音を鳴らす関数です。
Button()はマウスが押されたかどうかを判定します。関数が呼び出されたときの状態を見るだけですから、イベントなんかは一切使っていません。
CodeWarriorを使った分かりやすい解説は参考文献*1でどうぞ。
*1 ねおだ如, “Macintoshでゲームを作ろう!”, Oh!X 2001春号
● Gilang [A ralley good answer, full of rationality!]
2007-04-21 [土] [長年日記]
■ [Mac][Programming] Macでプログラミング(3) - ResEditの使い方
ResEditはMacでリソースを編集するためのApple純正のソフトです。まず、ResEditをダウンロードします。
自己解凍形式なのでカンタンにインストールできます。
ResEditを起動するといきなりダイアログが表示されます。新規にファイルを作ろうとしているので今回は「hello.rsrc」という名前で保存します。
- リソースの追加
「Resource」メニューの「Create New Resource」で新しいリソースを作成します。ウィンドウの作成や画像、音声などあらゆるリソースはここで作成します。今回はリソースタイプを「WIND」とします。
これだけでウィンドウのリソースが作成されました。WINDリソースをダブルクリックすると、プロパティをいじれるので、サイズや見た目などを好きなように変更してかまいません。編集が終わったら開いたウィンドウを一旦閉じましょう。
- リソースIDの確認
リソースを作ったらあとでソースコードから呼び出すために、リソースIDを確認しておかなければなりません。WINDを選択して、「Resource」メニューから「Get Resource Info」を選びます。ここで表示されたIDをあとでプログラムで使用しますのでIDをメモするなり、分かりやすいIDを入力してください。
- MPWで使う
ソースコードを追加した手順と同様にして、window.rsrcを追加します。
2007-04-22 [日] [長年日記]
■ [Mac][Programming] Macでプログラミング(4) - リソースを使ったウィンドウ表示
Hello Worldのソースコードとほとんど変わっていません。defineでResEditでわかったリソースIDを示しています。GetNewCWindow()でWINDリソースの情報からウィンドウを作成します。とってもカンタンです。もしリソースがなかったり、IDが一致していなかったら、ExitToShell()で終了します。
#include <Dialogs.h> #include <Strings.h> #include <Fonts.h> #include <Sound.h> #define kWindow_ID 128 #define NIL 0L QDGlobals qd; void InitToolBox() { InitGraf(&qd.thePort); InitFonts(); InitWindows(); InitMenus(); TEInit(); InitDialogs(nil); InitCursor(); } int main(int argc, char **argv) { WindowPtr window; InitToolBox(); window = GetNewCWindow(kWindow_ID, NIL, (WindowPtr)-1); if (window == NIL) ExitToShell(); SysBeep(0); while(!Button()){}; return 0; }
2007-04-23 [月] [長年日記]
■ [Mac][Programming] Macでプログラミング(5) - リソースを使わないでウィンドウ表示
今度はリソースを使わないでソースコードでウィンドウを作ってみます。前回と違うのは、ウィンドウの作成に使う関数がNewCWindowになっていることです。戻り値はウィンドウへのポインタです。引数は左からウィンドウ作成のメモリへのポインタ、ウィンドウの大きさを表すRectのポインタ、ウィンドウの名前を表す文字列、初期状態でウィンドウを表示するかどうかを表す真偽値、ウィンドウのアピアランスを表す数値、ウィンドウの配置で最背面は0で最前面は-1、ズームボックスをつけるかどうかの真偽値、最後は何に使うのか良く分かりません…
ShowWindow()までがウィンドウ関連、この後2行が描画関連。MoveTo()で描画位置を指定してDrawString()で文字列を描画します。
今回は偉そうにEventLoop()でイベント処理をしていますが、マウスが押し下げられたらアプリケーションが終了するという点で前回と同じ動作を行っています。
#include <Dialogs.h> #include <Strings.h> #include <Fonts.h> #include <Sound.h> QDGlobals qd; void InitToolBox() { InitGraf(&qd.thePort); InitFonts(); InitWindows(); InitMenus(); TEInit(); InitDialogs(nil); FlushEvents(everyEvent, 0); InitCursor(); } void EventLoop() { EventRecord event; for (;;) { if (WaitNextEvent(everyEvent, &event, 0, 0L) == true) { switch(event.what) { case mouseDown: return; case autoKey: case keyDown: break; } } } } void main() { WindowPtr window; Rect rect = {50, 50, 360, 340}; InitToolBox(); window = NewCWindow(NULL, &rect, "Hello World", true, 0, (WindowPtr)-1, false, 0); if (window == NULL) ExitToShell(); SetPort(window); ShowWindow(window); MoveTo(30, 30); DrawString("Hello"); SysBeep(0); EventLoop(); DisposeWindow(window); ExitToShell(); }
2007-04-25 [水] [長年日記]
■ [Shopping] e-kara
- e-kara きら☆カラ スターターセット
ついに買いました。音源部に興味があって以前から買おうと思っていました。しかもこのセットはなら、きらりん☆レボリューション仕様になっててちょっと幸せ。
てか、2曲しか収録されてない。しかもショートバージョン… 別売りの専用メディアとリーダ/ライタを買えば無料で曲がダウンロードできるらしいが、高けぇ…
早速分解して遊ぼうかと思ったけど、買ったばかりで いきなり壊すのもアレなので、とりあえず普通に使ってみました。
静止画一枚で歌詞がハイライトするだけ。今どきSMF+WRDでもここまでしょぼくないよ。一応エコーあって、テンポとキーは変わる。
けどなぁ。音源が。音源が! 波形に何KB使ってるのかわからないけどなんとなくVSC-55をさらにしょぼくした感じの音だったなぁ。てか、処理落ちしてるよ、処理落ち。
それから仕様を調べてみた。XaviXとかいう統合チップが使われているみたい。
TVに直接接続して遊ぶ玩具向けのワンチッププロセッサ 6502互換8BitCPU 21MHz NTSC/PAL出力 PCM音源 RAM 容量不明
むー。
2007-04-27 [金] [長年日記]
■ [Other] ATMにでも使うのかな
- ワンタイムパスワードを生成する電子ペーパーカードを公開、トッパンフォームズ (ITmedia)
このサイズでワンタイムパスワードが生成できるのは便利かも。
ただ、どうだろう。暗証番号と別にキーが増えるわけだから安全性は高まるけど、この記事でいう利点である“通信なしで”ワンタイムパスワードの部分があるために、カード自身で生成系をつくることにる。このカードが盗まれてしまうと、結局、暗証番号だけの認証になるから安全性の向上はそれほどでもないかもしれません。
むしろ手順が面倒になることを考えると利便性低下でデメリットが大きいとも言えそう。どうだろ。
● Doc [Home run! Great slugging with that asnewr!]