2013-03-01から1ヶ月間の記事一覧

構造体のメンバのオフセットを取得する offsetof

Android のソースツリー内に頻繁に見かけられる offsetof というマクロ。構造体のメンバのオフセットを取得するマクロなんだけど、よく考えられてるなと感心した。 #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) もっとも、構造体のオフ…

Prolog の紹介

IT

フィボナッチで各種言語をベンチマーク - satosystemsの日記 で Prolog のフィボナッチを以下のように実装しました。 fib(0, 0). fib(1, 1). fib(N, NF) :- A is N - 2, B is N - 1, fib(A, AF), fib(B, BF), NF is AF + BF. goal :- fib(38, NF), write([NF…

プログラミング言語の後付け仕様による微妙な制約

IT

JavaScript は、当初正規表現を扱えなかったのですが、やっぱり正規表現は使いたいよね〜、ということで Perl から正規表現リテラルをインポートしました。その結果、以下のような微妙な制約が生まれてしまいました。 /* 正規表現リテラルがコメントの終わり…

SSL を推奨しない国、中国

妻が義父のために、中国の「Yahoo! メッセンジャー」こと「QQ」のアカウントを作成した。目的は、孫の写真を簡単に共有することだ。QQ は当初はメッセンジャーだったんだけど、SNS 機能がついて、Facebook のようなウォールを持てる。なお、QQ というのは、…

モバイル OS 第三極

IT

新興・マイナー系モバイル OS の僕なりの感想。 Firefox OS 「独占的モバイルプラットフォームからの解放」をうたった OS。そのわりには Firefox Marketplace というものの準備が進められていて、なんだか自己矛盾のように感じる。マーケットはプラットフォ…

【絶対】PC の時計を 2099 年 12 月 31 日にしてはいけない【ダメ】

IT

下手すると PC が起動しなくなります。コンピュータには 2036 年問題というのがあって、簡単に言うと、2036 年のある時刻以降、内部時計が 1900 年に戻ってしまうというもの。まあこれぐらいならかわいらしい現象です。僕は実際に 2099 年 12 月 31 日 23 時…

Lua が組み込まれているアプリ

Lua

Lua が組み込まれているアプリはどんなものがあるか。 ゲーム World of Worcraft: Diablo を世に送り出した Blizzard Entertainment の看板 MMORPG。コア API が Lua でラップされていて、UI なんかはすべて Lua で書かれているらしい。カスタマイズ(という…